Пересборка src.rpm:
rpmbuild --rebuild xxx.src.rpm
Распковка src.rpm:
rpm2cpio xxx.src.rpm | cpio --extract --make-directories --verbose
Частичная сборка:
rpmbuild --short-circuit -b<id> --target $(uname -m) ~/rpmbuild/SPECS/xxx.spec
Где id - идентификатор секции в spec-файле:
%prep - p ( -bp )
%build - c ( -bc )
%install - i ( -bi )
%files - l ( -bl )
Полная сборка:
Выполняется после того, как последовательно прошлись по всем шагам:
rpmbuild -ba --target $(uname -m) --clean ~/rpmbuild/SPECS/xxx.spec
Генерация gpg-ключа для подписывания пакетов:
gpg --gen-key
Добавление подписи к пакету:
rpm --add-sign xxx.rpm
Автоматическое добавление подписи к пакету:
Сначала необходимо посмотреть список сгенерённых ключей:
$ gpg --fingerprint
/home/grin/.gnupg/pubring.gpg
-----------------------------
pub 2048R/8EF3B046 2015-01-26
Key fingerprint = EBBC 7265 2A5E B117 E397 E63E FE30 9913 8EF3 B046
uid Rinat Gadelshin <rgadelsh@gmail.com>
sub 2048R/97A7AD93 2015-01-26
pub 2048R/52D7329A 2015-01-26
Key fingerprint = 565C 5622 BD66 F17B DDB0 0378 CBF8 F0C1 52D7 329A
uid Rinat Gadelshin (grin) <rgadelsh@gmail.com>
sub 2048R/A394DD73 2015-01-26
/home/grin/.gnupg/pubring.gpg
-----------------------------
pub 2048R/8EF3B046 2015-01-26
Key fingerprint = EBBC 7265 2A5E B117 E397 E63E FE30 9913 8EF3 B046
uid Rinat Gadelshin <rgadelsh@gmail.com>
sub 2048R/97A7AD93 2015-01-26
pub 2048R/52D7329A 2015-01-26
Key fingerprint = 565C 5622 BD66 F17B DDB0 0378 CBF8 F0C1 52D7 329A
uid Rinat Gadelshin (grin) <rgadelsh@gmail.com>
sub 2048R/A394DD73 2015-01-26
Далее в файл ~/.rpmmacros необходимо добавить следующие строки:
%_signature gpg
%_gpg_name Rinat Gadelshin (grin) <rgadelsh@gmail.com>
%_gpg_name Rinat Gadelshin (grin) <rgadelsh@gmail.com>
По
сути, мы прописываем строку uid, относящуюся к выбранному ключу (52D7329A
из вывода
команды gpg --fingerprint). Видно что для нашего ключа строка содержит комментарий (grin), а для другого ключа ( 8EF3B046 )
комментарий не содержится.