![是否可以从一个来源添加特定选项来创建具有不同名称的多个 Debian 软件包](https://linux22.com/image/1070674/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E4%BB%8E%E4%B8%80%E4%B8%AA%E6%9D%A5%E6%BA%90%E6%B7%BB%E5%8A%A0%E7%89%B9%E5%AE%9A%E9%80%89%E9%A1%B9%E6%9D%A5%E5%88%9B%E5%BB%BA%E5%85%B7%E6%9C%89%E4%B8%8D%E5%90%8C%E5%90%8D%E7%A7%B0%E7%9A%84%E5%A4%9A%E4%B8%AA%20Debian%20%E8%BD%AF%E4%BB%B6%E5%8C%85.png)
我使用 debuild 创建了 debian 包。
针对一个目标类型使用一个变量的命令:
debuild --set-envvar=TARGET=S_SS -b -us -uc -aarm64
另一个是另一个:
debuild --set-envvar=TARGET=S_TT -b -us -uc -aarm64
这个变量在 Makefile 中使用。
debuild 编译的结果是两种情况下具有相同软件包名称的 *.deb。是否可以设置特定的软件包名称或包含编译所需文件(我的意思是控制、更改日志等)的文件夹路径,不同于默认的“debian”?
答案1
嗯,debian/control
支持变量替换。
我能想到的最干净的选择:
(动态)更改二进制包名称包括你的
${variable}
,debian/control
然后设置为直接使用或通过将其添加到debian/rules
传递变量-V
debian/substvars
参考:Debian 政策4.10. 变量替换:debian/substvars&5.2. 源包控制文件 – debian/control
(静态)执行
debian/rules
多个配置/构建循环并生成拆分二进制包。在这种情况下,debian/control
将使用以下方法预先声明两个包并拆分构建文件:debian/<packagename>.install
参考:根据 debian/control 目标更改 debian/rules 中的环境变量(我对另一个相关案例的回答)