> Rolling your own Debian packages
> Debian New Maintainer’s Guide
> Debian Library Packaging Guide
> Debian Mentors FAQ
Debian“新维护者指南”似乎是最为apropos,特别是this chapter,但它的教学介绍对我来说是无效的;它读取更多作为重新学习参考,而不是不知情的指南.我发现的大部分信息同样适用于将软件包包含在我不需要的公共存储库中.为了使一些善良的民间可能显示出我的方式,我创建了一个小项目statrec,它说明了我需要创建的包的类型.它的源代码树如下所示:
statrec/ ├── LICENSE ├── README.md ├── share │ ├── gilgamesh.txt │ └── thoreau.txt └── VERSION
我需要但不能推断如何:
>将statrec / share安装到/usr/share / statrec / VERSION /,
>从/usr/share / statrec / current /创建或修改符号链接到/usr/share / statrec / VERSION /然后
>卸载以前版本的statrec.
我明白了如何完成一些这个,也许哪些工具可以使用,但感觉到surfeit of information相当平行.
解决方法
>创建一个makefile,这样就可以安装这些文件,就像你想要的那样,它们遵循DESTDIR设置,对默认目标不做任何事情.沿着以下方向的东西:
all: # nothing to build install: cp -r share/* $(DESTDIR)/usr/share/statrec/$(VERSION)
DESTDIR的事情很重要;它不会安装到系统,而是安装到一个临时目录,dpkg将不会打包.所有符号链接都必须指向最终目的地(不含$(DESTDIR)前缀).
>让dh_make – 做它的业务(它将创建另一个makefile debian /规则,将调用第一个makefile).
>看看debian下的文件.特别是debian / changelog可能需要编辑(这是debuild / dpkg-buildpackage从中获取版本号,所以必须填写).
我相信debuild会自动使用fakeroot,对于dpkg-buildpackage,您必须手动指定它.甚至没有想到把它作为真正的根本运行.
>使用debuild或dpkg-buildpackage -rfakeroot来构建它
不需要关心卸载,因为dpkg将要处理.
更新:我建议dh_make –native,因为我明白的问题是简单的安装少数几个debian系统上的数据文件.如果它应该分发,我建议您只需要在irc.debian.org#debian IRC频道上询问,并且可能会将其留给Debian开发人员(只有Debian开发人员可能会上传到Debian存档,他们通常希望处理包装本身) .
另外,如果它是软件的一部分,而不是独立的一堆数据文件,安装应该是使用一个常见makefile的软件的一般安装的一部分,应该只有一个Debian源码包,只有debian / control和debian / * .files应该指定哪些文件去应用程序包(这是“架构:任何”),哪些文件去数据包(这是“Architecure:all”,通常会得到后缀-data).