Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PKG=/tmp/simplepackage-1.0-1.fc26.noarch.rpm
- cp ~/work/RPM-Sign/resource/simplepackage-1.0-1.fc26.noarch.rpm $PKG
- GPG_PATH=`mktemp -d`
- chmod 700 $GPG_PATH
- GPG="gpg --homedir $GPG_PATH"
- GPG2="gpg2 --homedir $GPG_PATH"
- GPG_KEYPARAMS=`mktemp`
- cat > $GPG_KEYPARAMS <<EOF
- Key-Type: DSA
- Key-Length: 2048
- Subkey-Type: ELG-E
- Subkey-Length: 2048
- Name-Real: Unit Test
- Name-Email: test@example.com
- Expire-Date: 0
- Passphrase: test passphrase
- %commit
- EOF
- pkill gpg-agent
- cat > $GPG_PATH/gpg-agent.conf <<EOFF
- allow-preset-passphrase
- EOFF
- $GPG --batch --lock-multiple --gen-key < $GPG_KEYPARAMS
- PUBFPRINT=`$GPG --list-keys | grep '^pub' | cut -f2 -d/ | cut -f1 -d' '`
- KEYGRIP=`$GPG2 --with-keygrip -K $PUBFPRINT | grep "Keygrip =" | head -1 | cut -c17-`
- echo "KEYGRIP: $KEYGRIP"
- # gpg-agent --homedir $GPG_PATH --daemon
- gpgconf --homedir $GPG_PATH --launch gpg-agent
- # gpg-agent --homedir $GPG_PATH --batch --debug-level basic --daemon /bin/sh
- /usr/libexec/gpg-preset-passphrase --passphrase 'test passphrase' --preset $KEYGRIP
- rpm --checksig $PKG
- rpm --addsign --define "_gpg_name Unit Test" \
- --define "__gpg_check_password_cmd /bin/true" \
- --define "__gpg_sign_cmd %{__gpg} gpg2 --homedir $GPG_PATH --batch --no-verbose --no-armor --use-agent -u 'Unit Test' -sbo %{__signature_filename} %{__plaintext_filename}" \
- $PKG
- rpm --checksig $PKG
- pkill gpg-agent
Add Comment
Please, Sign In to add comment