Debianパッケージルールファイル:debhelperが期待どおりに呼び出されないようです。

Debianパッケージルールファイル:debhelperが期待どおりに呼び出されないようです。

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

おすすめ記事