gpt4 book ai didi

macros - 是否有任何语法或技巧可以创建多行 rpm 规范文件宏

转载 作者:行者123 更新时间:2023-12-02 00:04:38 24 4
gpt4 key购买 nike

背景。

$ rpmbuild --versionRPM version 4.3.3

我正在处理一个需要处理多个 scriptlet 中的文件列表的规范文件。 DRY(不要重复)让我将列表定义为一个宏,该宏将扩展为各种帮助程序脚本。维护列表很痛苦,因为我还没有找到避免将所有文件放在同一行的方法。

%define LIST \a \b 

报错

%define LIST a\b\

也报错

%define LIST a%define LIST %LIST b

由于递归错误而失败

最佳答案

您无法像在 ~/.rpmmacros 文件中那样在规范文件中真正创建多行宏。有点傻。

我创建了一个子目录 SPECS/inc/,其中包含规范文件,这些文件充当多行宏,为我的站点创建的所有包都使用这些宏。您可以直接执行%include inc/foo.spec,而不是将宏用作%foo。您还可以创建快捷方式以避免包含语法 %global foo %include inc/foo.spec。然后它就像多行宏一样工作。

这是一个完整的示例。

inc/env.spec

%global foo %include inc/foo.spec
%global bar %include inc/bar.spec
#Lots of other common things to all packages

inc/foo.spec

a
b
c
d

然后在我的包规范文件 mylib.spec 中:

%include inc/env.spec

Name: mylib
Version: X.Y
#etc...

%foo

关于macros - 是否有任何语法或技巧可以创建多行 rpm 规范文件宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4339417/

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