tro*_*ine 12 linux debian packaging apt
我需要为软件项目Debianize一些静态资源,但是对可用信息感到困惑,并且可以使用一些指导.以下是我一直在阅读的资料:
在Debian新维护者指南似乎是最中肯的,特别是这章,但它的说教演示是不是有效的我; 它更像是一个重新学习的参考而不是一个未知的指南.我发现的大部分信息同样适用于将包裹包含在我不需要的公共存储库中.为了让一些善良的人可以向我展示方式,我创建了一个小项目statrec,它举例说明了我需要创建的包类型.它的源代码树看起来像这样:
statrec/
??? LICENSE
??? README.md
??? share
? ??? gilgamesh.txt
? ??? thoreau.txt
??? VERSION
Run Code Online (Sandbox Code Playgroud)
我需要,但无法推断如何:
statrec/share
到/usr/share/statrec/VERSION/
,/usr/share/statrec/current/
到/usr/share/statrec/VERSION/
,然后我理解如何完成其中的一些,可能使用哪些工具,但感觉过多的信息过度平行.
我会说最简单的事情是:
创建一个makefile,它将按照您希望的方式安装文件以遵守任何DESTDIR
设置,并且不对默认目标执行任何操作.有点像:
all: # nothing to build
install:
cp -r share/* $(DESTDIR)/usr/share/statrec/$(VERSION)
Run Code Online (Sandbox Code Playgroud)
的DESTDIR
事情是很重要的; 它不会安装到系统,而是安装到dpkg将打包的临时目录.所有符号链接都必须指向最终目标(没有$(DESTDIR)
前缀).
让它dh_make --native
做生意(它将创建另一个debian/rules
将调用第一个makefile的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 Developer(只有Debian开发人员可以上传到Debian存档,他们通常希望自己处理包装) .
此外,如果它是软件的一部分,而不是数据文件的单机一堆,安装应使用一个共同的生成文件的软件一般安装的一部分,应该只有一个 Debian源代码包,只是在debian/control
和debian/*.files
应指定哪些文件去到应用程序包("架构:任何")以及哪些文件转到数据包("Architecure:all",通常是后缀-data
).
归档时间: |
|
查看次数: |
6832 次 |
最近记录: |