Debian的打包指南,根据我目前所阅读的内容,假设打包者不是维护者,因此需要有原始tarballs、补丁等。
如果我有一个使用"make"构建而不是autotools等的应用程序,我需要什么样的打包指南呢?
我不想制作无意义的tarballs和空白补丁。
我确实希望有源代码和二进制包。
如果我有一个使用"make"构建而不是autotools等的应用程序,我需要什么样的打包指南呢?
我不想制作无意义的tarballs和空白补丁。
我确实希望有源代码和二进制包。
根据你居住的地区和你交际程度的高低,有不同的方法开始学习如何打包。对于许多人来说,只是浏览
就足够了。其他人则会使用
还有一些人会查看
与大多数社交Debian开发者会面,以便在最陡峭的时刻得到指导。一旦您有了一些常规,从0到可安装的软件包只需要几分钟,基本上等待的主要是编译时间,因此在我看来并不是太过分的要求。然后大部分工作都涉及软件包描述或者像缺失的手册页面或者自动更新通知这样的上游没有关注足够的位点。祝好运。debian
文件夹是源代码树(源代码存档)的一部分。参考资料:
对于指南,有很多,但请尽量遵循Debian/Ubuntu官方指南。在开始之前,请始终验证其更新日期。我建议从这里开始:
Debian打包教程,它清楚地概述了发行版使用的上游工作流程。(许多教程都忽略了这一点)
创建debian文件夹
在文件夹中,按照需要创建以下文件(即不要创建不需要的文件):
changelog
compat
control
rules
shlibs.local
source/format
source/options
project-name.docs
project-name.install
project-name.preinst
project-name.postinst
project-name.prerm
project-name.postrm
project-name.service
project-name.logrotate
project-name.cron.daily
project-name.cron.monthly
...
然后使用以下命令构建软件包:
dpkg-buildpackage -us -uc
实际上,我使用了一个脚本。该命令会在源代码树中生成各种文件。因此,在我的环境中,我首先创建一个副本,然后在副本中运行该命令。然后我可以删除副本。
cd project-name
VERSION=`dpkg-parsechangelog --show-field Version`
cd ..
cp -r project-name project-name-${VERSION}
cd project-name-${VERSION}
dpkg-buildpackage -us -uc
debian/source/options
文件中,我有:tar-ignore = "tmp"
tar-ignore = ".git"
git-buildpackage
,它将为您简化tarball部分。https://wiki.debian.org/PackagingWithGit#Using_the_upstream_repo - muru