我想使用 debhelper 和 dh_installsystemd 安装 systemd 单元。
我的控制文件:
Package: prometheus-wireguard-exporter
Version: 3.6.3-###CI_JOB_ID###
Maintainer: Ronny Forberger
Architecture: amd64
Build-Depends: debhelper, dh-systemd (>= 1.5)
Description: Prometheus Wireguard Exporter
我的规则文件:
#!/usr/bin/make -f
export DH_VERBOSE = 1
%:
dh $@ --with systemd
override_dh_installsystemd:
dh_installsystemd --name=prometheus-wireguard-exporter
目录树:
prometheus_wireguard_exporter_amd64
├── debian -> DEBIAN
└── DEBIAN
├── control
├── postinst
├── prometheus-wireguard-exporter.prometheus-wireguard-exporter.service -> prometheus-wireguard-exporter.service
├── prometheus-wireguard-exporter.service
└── rules
2 directories, 5 files
我的postinst脚本:
#!/bin/sh
set -e
# source debconf library
. /usr/share/debconf/confmodule
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
db_stop
exit 0
我用以下命令构建包dpkg-deb --build --root-owner-group -v prometheus_wireguard_exporter_amd64
postinst 脚本运行,但似乎没有调用 debhelper。
任何人都知道出了什么问题吗?
答案1
如果你想受益于debhelper
,你需要从源码包构建,而不是直接构建二进制包:
- 将
debian
符号链接拖放到DEBIAN
- 重命名
DEBIAN
为debian
- 重命名
prometheus_wireguard_exporter_amd64
为prometheus-wireguard-exporter
- 添加
debian/changelog
文件 (dch --create
) dpkg-buildpackage
使用(dpkg-buildpackage -us -uc
)构建你的包