クリーンアップ後にディレクトリを削除しない Debian パッケージの作成

クリーンアップ後にディレクトリを削除しない Debian パッケージの作成

クリーンアップ後に空のディレクトリを削除しないDebianパッケージを作成しようとしています。特に私は私が信頼するいくつかのCA証明書を含む独自のパッケージを作成しています。

私はDebianが提案した証明書のインストール方法に従います/usr/local/share/ca-certificates。私が経験している問題は、ca-certificatesパッケージがインストール時に作成され、/usr/local/share/ca-certificatesパッケージをクリアしたときにそのディレクトリを維持したいということです。

私の目標は信頼チェーンをインストールすることですが、/usr/local/share/ca-certificates/mychainDebianパッケージが削除されたらdpkgが次のことを行うことができるようにしたいと思います。いいえ/usr/local/share/ca-certificatesディレクトリが空の場合、パッケージはca-certificates明示的に作成されたため削除されます。

明確な答えを見つけるためにあちこちを見つけましたが、見つけたのは長いフォーラムの投稿と電子メールスレッドだけでした。

ベストアンサー1

スクリプトを追加postrm:

#!/bin/sh

set -e

case "$1" in
  purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
    # Recreate the /usr/local/share/ca-certificates directory, since we are
    # ignoring Debian Policy by intentionally installing here. Removal of
    # ca-certificates-local removes this directory if empty.
    if [ ! -e /usr/local/share/ca-certificates ]; then
        if mkdir /usr/local/share/ca-certificates 2>/dev/null; then
            chown root:staff /usr/local/share/ca-certificates
            chmod 2775 /usr/local/share/ca-certificates
        fi
    fi
;;

*)
    echo "postrm called with unknown argument \`$1'" >&2
    exit 1
;;
esac

#DEBHELPER#

exit 0

このコードは以下で提供されます。ca - 証明書 - ローカル:

これは、ローカル/ディレクトリに仮想CA証明書を含むサンプルスタブパッケージです。仮想証明書を削除し、信頼できるローカルルートCA(PEM形式、「.crt」で終わるファイル名)をlocal /ディレクトリにコピーし、必要に応じてdebian /ディレクトリのファイルを編集して、カスタムパッケージをビルドします。します。

バラより閲覧ファイルこの例に基づいてカスタムローカルルートCAパッケージをビルドするには

したがって、これらのパッケージを作成してインストールする簡単な方法は次のとおりです。

git clone git://anonscm.debian.org/collab-maint/ca-certificates.git ~/ca-certificates
cd ~/ca-certificates/examples/ca-certificates-local/
rm local/Local_Root_CA.crt
cp <path-to-your-cert> local/
# edit debian/control: change package-name, description, etc
# install build dependencies: http://unix.stackexchange.com/questions/177505/how-to-install-parse-build-dependencies-from-debian-control/211319#211319
dpkg-buildpackage
dpkg -i ../<package-name-version>.deb

おすすめ記事