linux:rpmbuild

rpmbuild

$ sudo dnf install rpm-build rpm-sign gcc-c++
$ sudo dnf groupinstall "Development Tools"
$ sudo dnf install fedora-packager

必ず root 以外で作業すること。

$ rpmdev-setuptree

ホームディレクトリに以下の構造が作成される。

rpmbuild
   +-- BUILD
   +-- BUILDROOT
   +-- RPMS
   +-- SOURCES
   +-- SPECS
   +-- SRPMS

gpg2 の準備については GnuPG - GNU Privacy Guard の「自分の鍵の作成」 を参照。

$ vi ~/.rpmmacros
~/.rpmmacros
%_topdir %(echo $HOME)/rpmbuild
 
%__arch_install_post \
    [ "%{buildarch}" = "noarch" ] || QA_CHECK_RPATHS=1 ; \
    case "${QA_CHECK_RPATHS:-}" in [1yY]*) /usr/lib/rpm/check-rpaths ;; esac \
    /usr/lib/rpm/check-buildroot
 
# gpg2 による署名
%_signature gpg
# 鍵の名前 or ID
%_gpg_name FAA46609A58CD8A812E75B21D7382E77DC52FC64
# gpg2 のパス
%_gpgbin /usr/bin/gpg2
# パッケージ作成者
%packager TomoYan <tomoyan@tomoyan.net>
$ rpmbuild --sign -ba ~/rpmbuild/SPECS/tomoyan-release.spec
$ rpm --addsign ruby*
ruby-2.6.1-112.fc29.x86_64.rpm:
ruby-debuginfo-2.6.1-112.fc29.x86_64.rpm:
ruby-debugsource-2.6.1-112.fc29.x86_64.rpm:
ruby-devel-2.6.1-112.fc29.x86_64.rpm:
ruby-libs-2.6.1-112.fc29.x86_64.rpm:
ruby-libs-debuginfo-2.6.1-112.fc29.x86_64.rpm:
rubygem-bigdecimal-1.4.1-112.fc29.x86_64.rpm:
rubygem-bigdecimal-debuginfo-1.4.1-112.fc29.x86_64.rpm:
rubygem-io-console-0.4.7-112.fc29.x86_64.rpm:
rubygem-io-console-debuginfo-0.4.7-112.fc29.x86_64.rpm:
rubygem-json-2.1.0-112.fc29.x86_64.rpm:
rubygem-json-debuginfo-2.1.0-112.fc29.x86_64.rpm:
rubygem-openssl-2.1.2-112.fc29.x86_64.rpm:
rubygem-openssl-debuginfo-2.1.2-112.fc29.x86_64.rpm:
rubygem-psych-3.1.0-112.fc29.x86_64.rpm:
rubygem-psych-debuginfo-3.1.0-112.fc29.x86_64.rpm:
$ rpm --checksig ruby-2.6.1-112.fc29.src.rpm
ruby-2.6.1-112.fc29.src.rpm: digests signatures OK
$ rpm -qi ruby-2.6.1-112.fc29.src.rpm
Name        : ruby
Version     : 2.6.1
Release     : 112.fc29
Architecture: x86_64
Install Date: (not installed)
Group       : Unspecified
Size        : 12057116
License     : (Ruby or BSD) and Public Domain and MIT and CC0 and zlib and UCD
Signature   : RSA/SHA256, 2019年02月16日 02時31分03秒, Key ID d7382e77dc52fc64
Source RPM  : (none)
Build Date  : 2019年02月08日 18時07分53秒
Build Host  : black-vps001.tomoyan.local
Relocations : (not relocatable)
URL         : http://ruby-lang.org/
Summary     : An interpreter of object-oriented scripting language
Description :
Ruby is the interpreted scripting language for quick and easy
object-oriented programming.  It has many features to process text
files and to do system management tasks (as in Perl).  It is simple,
straight-forward, and extensible.
  • linux/rpmbuild.txt
  • 最終更新: 2019/05/18 02:23
  • by 非ログインユーザー