Я создаю RPM с помощью sbt-native-packager на моем Mac который не может быть установлен на машинах RHEL 5, потому что он имеет подпись V4. Результат rpm -v --checksig
на моем Mac:
Header V4 RSA/SHA1 signature: OK, key ID f769fd38
Header SHA1 digest: OK (2ee9b411052b2aeadcb0efa5401f246af8ca6e68)
MD5 digest: OK (b78e1256caba2959428b1e5544d562a6)
И результат rpm -v --checksig
на машине RHEL 5:
Header V4 RSA/SHA1 signature: BAD, key ID f769fd38
Header SHA1 digest: OK (2ee9b411052b2aeadcb0efa5401f246af8ca6e68)
MD5 digest: OK (b78e1256caba2959428b1e5544d562a6)
Я видел этот ответ, который подразумевал, что он имел отношение к подписям GPG, но это не складывается.
Плагин RPM sbt-native-packager не подписывает, как утверждают его разработчики, о чем свидетельствует команда rpmbuild
, которую он испускает:
rpmbuild -bb --target noarch-PayPal-Linux --buildroot /Users/2rs2ts/src/my-app/my-app/target/rpm/buildroot --define _topdir /Users/2rs2ts/src/my-app/my-app/target/rpm --define _tmppath /var/folders/gp/l9gt6r791p1bdcgtf2b2dppw392tbp/T/sbt_8f0f0597 myapp.spec
Кроме того, на моем Mac не установлено gpg
, поэтому исправление в связанном ответе, похоже, не применимо ко мне. Я понимаю, что rpm
обычно поставляется с установкой gpg
, поэтому, возможно, он использует это для создания подписей, но я понятия не имею, какой ключ он использует или как заставить его подписать V3 или полностью прекратить подписание. Я не уверен, было ли это последнее утверждение хоть сколько-нибудь разумным, поскольку у меня очень ограниченный опыт работы с rpm
.
Тем не менее я попытался хотя бы изменить ~/.rpmmacros
, как предлагалось в этом руководстве, но безуспешно. У меня нет зацепок. Почему у моих пакетов RPM есть подписи, если я их не подписывал, и как я могу сделать так, чтобы эти подписи не были V4?
Edit для каждого запроса, вот результат sbt (я считаю, что строки «error» - это просто причуда реализации, а не фактические ошибки):
[debug] Executing rpmbuild with: rpmbuild -bb --target noarch-PayPal-Linux --buildroot /Users/2rs2ts/src/my-app/my-app/target/rpm/buildroot --define _topdir /Users/2rs2ts/src/my-app/my-app/target/rpm --define _tmppath /var/folders/gp/l9gt6r791p1bdcgtf2b2dppw392tbp/T/sbt_8f0f0597 myapp.spec
[info] Building target platforms: noarch-PayPal-Linux
[info] Executing(%install): /bin/sh -e /var/folders/gp/l9gt6r791p1bdcgtf2b2dppw392tbp/T/sbt_8f0f0597/rpm-tmp.67386
[error] + umask 022
[error] + cd /Users/2rs2ts/src/my-app/my-app/target/rpm/BUILD
[error] + /bin/rm -rf /Users/2rs2ts/src/my-app/my-app/target/rpm/buildroot
[error] + /bin/mkdir -p /Users/2rs2ts/src/my-app/my-app/target/rpm/buildroot
[error] + '[' -e /Users/2rs2ts/src/my-app/my-app/target/rpm/buildroot ']'
[error] + mv /Users/2rs2ts/src/my-app/my-app/target/rpm/tmp-buildroot/etc /Users/2rs2ts/src/my-app/my-app/target/rpm/tmp-buildroot/var /Users/2rs2ts/src/my-app/my-app/target/rpm/tmp-buildroot/x /Users/2rs2ts/src/my-app/my-app/target/rpm/buildroot
[error] + exit 0
[info] Processing files: myapp-VersionNotSet-ReleaseNotSet.noarch
[info] Provides: config(myapp) = 0:VersionNotSet-ReleaseNotSet
[info] Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh
[info] Requires(pre): /bin/sh
[info] Requires(post): /bin/sh
[info] Requires(preun): /bin/sh
[info] Requires(postun): /bin/sh
[info] Checking for unpackaged file(s): /usr/local/Cellar/rpm/5.4.15/lib/rpm/check-files /Users/2rs2ts/src/my-app/my-app/target/rpm/buildroot
[info] Wrote: /Users/2rs2ts/src/my-app/my-app/target/rpm/RPMS/noarch/myapp-VersionNotSet-ReleaseNotSet.noarch.rpm
V4 RSA/SHA1 signature: XXX, key ID xxxxxxx
,V3 DSA signature: NOKEY, key ID xxxxx
или аналогично. Так что я немного озадачен тем, что на самом деле там делается. Можете ли вы получить полную информацию о процессе сборки и о том, как он обрабатывает обороты после сборки? Что-нибудь еще влияет на скорость вращения между сборкой и тем местом, где вы на нее смотрите? - person Etan Reisner   schedule 01.07.2015rpm
? Не могу найти на PyPI. - person 2rs2ts   schedule 03.07.2015RPM_BASENAMES
не совпадал сRPMTAG_FILEINODES
и другими подобными значениями, но я все равно не думаю, что это были критические фрагменты информации. - person 2rs2ts   schedule 07.07.2015rpm
, предоставленный homebrew (brew install rpm
), который, похоже, имеет версию 5.4.15. Я не узнаю этот открытый ключ. - person 2rs2ts   schedule 08.07.2015rpm:package-bin
. Интересно, является ли это одноразовым ключом, созданнымrpmbuild
. - person 2rs2ts   schedule 09.07.2015