gpt4 book ai didi

git - 源代码存储库的布局是否应与 .deb 构建目录结构相匹配?

转载 作者:太空狗 更新时间:2023-10-29 14:19:24 24 4
gpt4 key购买 nike

我有一个现有的 git 存储库,其中包含我想打包到 .deb 中的文件。目前,我的源代码主要位于一个平面目录中,并且我有一个构建脚本可以将相关文件复制到 Debian 软件包构建目录中。例如

myapp.conf
myexecutable

运行 build.sh 后我得到:

./build/etc/myapp.conf
./build/usr/bin/myexecutable

然后我将这个目录构建到我的 .deb 中。

但是我是否可以通过将所有源代码保存在一个反射(reflect) .deb 构建目录结构的目录结构中来删除这个中间复制步骤?缺点是什么?

最佳答案

我假设您是相关软件的维护者。

您要做的是在您的包的顶层添加一个 debian/ 目录,并在其中创建 Debian 包文件。有一个工具(dh_make,来自 dh-make 包)。

使用dh_make 创建“Debian 本地包”。 “本地”在此上下文中意味着软件的维护者和 Debian 软件包的维护者是同一个人(您),而不是您打包其他人的软件。

切换到您的源目录,运行dh_make -n,然后回答命令行中的问题。之后,切换到已经创建的debian/目录,编辑各个文件。删除您不需要的示例文件(您很可能不需要其中的大部分文件)。

如果您的项目使用 make,并且您使用标准的 make 目标,那么之后您可能没有太多工作要做。 Debian 工具链非常聪明,可以为您解决问题。

如果您使用 Git 进行源代码管理,您应该安装 git-buildpackage 并将其用于构建包和发布。请参阅其文档。

您的包目录结构根本不需要更改 – 只会添加 debian/ 目录。 Debian 软件包总是从“Debian 源码包”构建,这是软件的源代码树,加上 debian/ 目录(可能还有补丁,这不适用于您的情况,因为您控制上游来源)。

关于git - 源代码存储库的布局是否应与 .deb 构建目录结构相匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23187018/

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