]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commit
package_rpm: support signing of rpm packages
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Fri, 21 Aug 2015 14:21:57 +0000 (17:21 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 1 Sep 2015 20:57:48 +0000 (21:57 +0100)
commit75f5f11b19ba1bf8743caf9ee7c99a3c67f4b266
treea1ade42bd3947433a507b6abd3e3748f535d131a
parentc419c64c30736ecc7b496161b4f9d9f3cc88102f
package_rpm: support signing of rpm packages

This patch adds a new bbclass for generating rpm packages that are
signed with a user defined key. The packages are signed as part of the
"package_write_rpm" task.

In order to enable the feature you need to
1. 'INHERIT += " sign_rpm"' in bitbake config (e.g. local or
   distro)
2. Create a file that contains the passphrase to your gpg secret key
3. 'RPM_GPG_PASSPHRASE_FILE = "<path_to_file>" in bitbake config,
   pointing to the passphrase file created in 2.
4. Define GPG key name to use by either defining
   'RPM_GPG_NAME = "<key_id>" in bitbake config OR by defining
   %_gpg_name <key_id> in your ~/.oerpmmacros file
5. 'RPM_GPG_PUBKEY = "<path_to_pubkey>" in bitbake config pointing to
   the public key (in "armor" format)

The user may optionally define "GPG_BIN" variable in the bitbake
configuration in order to specify a specific gpg binary/wrapper to use.

The sign_rpm.bbclass implements a simple scenario of locally signing the
packages. It could be replaced by a more advanced class that would
utilize a separate signing server for signing the packages, for example.

[YOCTO #8134]

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/package_rpm.bbclass
meta/classes/sign_rpm.bbclass [new file with mode: 0644]
meta/lib/oe/package_manager.py