バージョンによって rpm --addsign する GPG 鍵を切り替える
最近、VineSeed の vine-keyring に 4096R の GPG 鍵を登録されたので、.rpmmacros の設定を以下のように切り替えました。
#%_gpg_name 0x7637A1D1 %_gpg_name 0xC24B55FD
しかし、Vine Linux 5 向けの rpm に鍵署名をする場合、まだ vine-keyring に新しい鍵が登録されていないため、以前の鍵で署名しないといけません。
いちいち .rpmmacros を切り替えるのが面倒だったので、鍵署名をするための簡単なスクリプトを書いてみました。
#!/bin/bash TARGET_DIR="${HOME}/rpm/RPMS/ ${HOME}/rpm/SRPMS/ ${HOME}/rpm/vbuilder/" RPM_addsign(){ while read dest_release _gpg_name; do echo "Please enter passphrase of ${_gpg_name}" rpm -D "_gpg_name ${_gpg_name}" \ --addsign $(find ${TARGET_DIR} -type f -name "*${dest_release}*.rpm") done return 0 } ## prep sed -e "s/^%_gpg_name/#%_gpg_name/" ${HOME}/.rpmmacros cat<<EOF | RPM_addsign vl6 0xC24B55FD vl5 0x7637A1D1 EOF ## post sed -e "s/^#%_gpg_name/%_gpg_name/" ${HOME}/.rpmmacros exit
私はいつも rpm を投げる前にまとめて鍵署名をする人なので、しばらくこれで対応します。