我有一个现有的git repo,其中包含我要在.deb
中打包的文件。目前,我的源代码主要位于一个平面目录中,我有一个构建脚本,可以将相关文件复制到Debian软件包构建目录中。例如
myapp.conf
myexecutable
运行build.sh后我得到:
./build/etc/myapp.conf
./build/usr/bin/myexecutable
然后我将此目录构建到我的.deb
。
但是,我可以通过将所有源代码保存在镜像.deb
构建目录结构的目录结构中来删除此中间复制步骤吗?有什么缺点?
答案 0 :(得分:1)
我认为您是相关软件的主要内容。
您要做的是将debian/
目录添加到包的顶层,并在其中创建Debian包文件。有一个工具(dh_make
来自dh-make
包)。
使用dh_make
创建一个" Debian本机包"。 "本机"在这种情况下意味着软件的维护者和Debian软件包的维护者是同一个人(你),而不是你打包别人的软件。
转到您的源目录,然后运行dh_make -n
,然后在命令行上回答问题。然后,切换到已创建的debian/
目录并编辑各种文件。删除您不需要的示例文件(您很可能不会需要大部分文件)。
如果您的项目使用make
,并且您使用的是标准make
目标,那么您很可能在此之后还有很多工作要做。 Debian工具链非常适合为您解决问题。
如果您使用 Git 进行源代码管理,则应安装git-buildpackage
并将其用于构建软件包和发布版本。请参阅其文档。
您的包目录结构根本不需要更改 - 只会添加debian/
目录。 Debian软件包总是来自一个" Debian源软件包",它是软件的源代码树,加上debian/
目录(以及可能的补丁,自你控制以来不适用于你的情况)上游来源)。