使用dh_installinit

时间:2019-03-10 21:10:25

标签: linux debian packaging systemd debhelper

我对Debian packaging system有疑问,特别是å为debhelperçš„dh_installinit,它将æœåŠ¡åˆå§‹åŒ–文件安装到软件包构建目录中。

我有一个项目å¯ä»¥ä»ŽC ++æºä»£ç ä¸­æž„建多个.deb软件包。一些创建的.deb软件包具有å•ä¸ª.service文件,该文件在软件包安装期间å¤åˆ¶åˆ°/lib/systemd/system。现在,我需è¦å†å°†ä¸€ä¸ª.service文件添加到一个.deb软件包中(我们将其称为package-11)。ä¸å¹¸çš„是,事实è¯æ˜Žæˆ‘认为not与easy一样。

我的问题类似于所æè¿°çš„here,hereå’Œhere,但实际上它ä¸æ˜¯é‡å¤çš„,因为在我的情况下建议的解决方案很麻烦(请继续阅读以了解我的æ„æ€ã€‚)

这是我项目的debian目录树:

debian
├── changelog
├── compat
├── control
├── copyright
├── docs
├── package-01.install
├── package-02.install
├── package-03.default
├── package-03.init
├── package-03.install
├── package-03.service
├── package-04.default
├── package-04.init
├── package-04.install
├── package-04.service
├── package-05.install
├── package-05.postinst
├── package-06.install
├── package-07.dirs
├── package-07.install
├── package-07.postinst
├── package-07.postrm
├── package-08.install
├── package-09.default
├── package-09.init
├── package-09.install
├── package-09.postinst
├── package-09.service
├── package-10.default
├── package-10.init
├── package-10.install
├── package-10.service
├── package-11.package-additional.service -> package-additional.service
├── package-11.default
├── package-11.init
├── package-11.install
├── package-11.postinst
├── package-11.service
├── package-additional.service
├── README
├── rules
├── rules-nosystemd
└── source
    ├── format
    └── package-12.install

package-11.serviceå’Œpackage-additional.service是我需è¦æ”¾å…¥service中的两个package-11_1.0.0_amd64.deb文件。

请注æ„,我ä¸å¸Œæœ›é‡å‘½åpackage-additional.service(因为该软件包也是为其他å‘行版构建的,而旧版代ç ä½¿ç”¨æ­¤æ–‡ä»¶å)。因此它被命å为package-additional.service,ä¸æ˜¯ package-11.package-additional.service,如建议的here一样,它必须ä¿æŒåŽŸæ ·ã€‚

为使事情正常进行(如here,hereå’Œhere所述),我添加了符å·é“¾æŽ¥package-11.package-additional.service -> package-additional.service,以便debhelper能够检测到其他{ {1}}文件。

我ä¸æƒ³ç”¨è¿™æ ·çš„虚拟符å·é“¾æŽ¥æ¥å¼„乱我的项目,所以这里出现了我的问题:有没有其他方法å¯ä»¥ä½¿å®ƒåœ¨ä¸åˆ›å»ºç¬¦å·é“¾æŽ¥çš„情况下起作用?

这是我的.service文件:

debian/rules

#!/usr/bin/make -f # -*- makefile -*- .PHONY: override_dh_auto_configure override_dh_strip override_dh_installinit override_dh_systemd_enable override_dh_systemd_start override_dh_auto_configure: ./configure --with-doc override_dh_strip: dh_strip --dbg-package=package-dbg override_dh_installinit: dh_installinit --no-start dh_installinit --no-start -ppackage-11 --name=package-additional override_dh_systemd_enable: dh_systemd_enable --no-enable override_dh_systemd_start: dh_systemd_start --no-start %: dh $@ --with systemd 为所有程åºåŒ…正确创建了程åºåŒ…,并且dpkg-buildpackage -uc -us -F包å«ä¸¤ä¸ªpackage-11_1.0.0_amd64.deb文件。

.service

Debian打包系统is quite complex beast,感谢您的帮助。

0 个答案:

没有答案