我目前正在使用具有多个分支的存储库.
当我创建一个标签时,该标签是否指向当时的分支?
换句话说:每当我创建一个标签时,我是否需要切换到该分支内的所需分支和标签,以便标签在该时间点引用该分支?
我目前有两个问题:
1) 是否可以在 rpm 规范文件中指定软件包的范围?就像是
package >= 1.0.0 且 package < 1.0.50 意味着它将选取接近 1.0.50 的最新包版本
2) 有人知道 yum 是否会更新到更高版本的包,即使在规范文件中指定的版本较低?或者有什么可以避免升级到更高版本?为了更清楚起见,这是我的例子:
我的仓库中有两个包: package-1.0.5-1 package-2.0.10-1
如果我的包的规格文件!具有以下要求 要求:package > 1.0.5
当我执行 yum 安装 packageA 时,这意味着它将安装 1.0.5 版本的更高版本,或者它会假设 2.0.10 更高并会安装它?我想要实现的是告诉我的包只安装 1.0.5 版本的版本,而不是跳到 2.x 版本。
我希望我已经表达清楚了。感谢您给我的任何提示或回复
如果该语句不正确,我试图获取 ifdef 语句上的退出代码,但我尝试使用 exit 1 和 $(call exit 1)
当在以下代码中使用第一个时,我得到“Makefile:11:*缺少分隔符。停止。”
...
ifdef PACKAGE
PACKAGEDIR = $(HOME)/$(PACKAGE)
else
exit 1
endif
Run Code Online (Sandbox Code Playgroud)
...
通过使用$(call exit 1),我没有得到任何错误,但 makefile 仍然继续执行。我想要完成的是在 else 上退出 Makefile,错误代码为 1
谢谢
我一直在使用Makefile并保留一些东西sepparate我决定包含一个新的常见makefile.我遇到的问题是我的第一个makefile看起来像这样:
文件名Makefile.test
include ./Makefile.a
all: a b c
b:
@echo "b"
c:
@echo "c"
Run Code Online (Sandbox Code Playgroud)
文件名Makefile.a
a:
@echo "a"
Run Code Online (Sandbox Code Playgroud)
当我执行我的makefile时:make -f Makefile.test我只打印出"a"并完成.
使其工作的唯一方法是将包含波纹管(任何地方)放在all:target中
这有什么原因让人觉得这样吗?
谢谢!