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
パッケージをビルドします。