gpt4 book ai didi

linux - 如何在 %build、%install 和 %files 部分中创建 RPM 时执行循环?

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:27 25 4
gpt4 key购买 nike

我正在创建一个 RPM。但是RPM的内容需要安装在不同的地方。在 %build 中,我应该运行一个循环以从 XML 文件中获取所有位置。这是我的片段:

%build
for j in ${!files[*]}
do
mkdir -p ${fileLocations[j]}
done

%install
for i in ${!files[*]}
do
cp -rfR $SOURCE/${fileNames[i]} ${fileLocations[i]}
done

可变循环字符似乎设置为 1。如何实现这一目标?

最佳答案

files 似乎是一个 bash 变量,必须在每个不同阶段(%build%install 等)重新初始化。 ).其中每一个实际上都变成了被执行的临时脚本。

对于 %files 节,您不再处于 shell 中,但您可以将它们写入文件并使用 -f 选项读入。无论如何,这可能是让它们进入其他节的更好方法。

关于linux - 如何在 %build、%install 和 %files 部分中创建 RPM 时执行循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43184723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com