![](/img/trans.png)
[英]How to create debian package with CPack command (not from CMake's files)?
[英]How do I create a native Debian package for static files?
我需要为软件项目Debianize一些静态资源,但是对可用信息感到困惑,可以使用一些指导。 以下是我一直在阅读的资料:
Debian新维护者指南似乎是最合适的,特别是本章 ,但它的教学演示对我来说无效; 它更像是一个重新学习的参考而不是一个未知的指南。 我发现的大部分信息同样适用于将包裹包含在我不需要的公共存储库中。 为了让一些善良的人可以向我展示方式,我创建了一个小项目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/
然后 我理解如何完成其中的一些,可能使用哪些工具,但感觉过多的信息过度平行 。
我会说最简单的事情是:
创建一个makefile,它将根据您的需要安装文件,以遵守任何DESTDIR
设置,并且DESTDIR
默认目标执行任何操作。 有点像:
all: # nothing to build install: cp -r share/* $(DESTDIR)/usr/share/statrec/$(VERSION)
DESTDIR
很重要; 它不会安装到系统,而是安装到dpkg将打包的临时目录。 所有符号链接都必须指向最终目标(没有$(DESTDIR)
前缀)。
让dh_make --native
做它的业务(它将创建另一个将调用第一个makefile的makefile debian/rules
)。
看看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存档,他们通常希望自己处理包装) 。
另外,如果它是软件的一部分而不是独立的一堆数据文件,安装应该是使用一个通用makefile的软件的一般安装的一部分,应该只有一个 Debian源包,只有debian/control
和debian/*.files
应指定哪些文件转到应用程序包(即“Architecture:any”)以及哪些文件转到数据包(即“Architecure:all”,通常是后缀-data
)。
你应该阅读debian-handbook中的第15.2.2节。
我发现为我自己的项目创建一个.install文件并跳过Makefile部分是有帮助的
我发现saurik(cydia /越狱名声)“托管Cydia存储库”指南对创建自己的.deb文件很有用。 请看这里: http : //www.saurik.com/id/7
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.