linux:rpmbuild:repository_release_rpm

リポジトリ リリース パッケージの作成

$ vi ~/rpmbuild/SPECS/tomoyan-release.spec
~/rpmbuild/SPECS/tomoyan-release.spec
Summary: Tomoyan's RPM Packages for Fedora
Name: tomoyan-release-30
Version: 1.01
Release: 0
License: GPLv2
URL: http://www.tomoyan.net/
Group: System Environment/Base
 
Source0: http://repos.tomoyan.net/pub/fedora/RPM-GPG-KEY-tomoyan-30
Source1: tomoyan.repo
 
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot-%(%{__id_u} -n)
BuildArch: noarch
 
%description
This package contains Tomoyan's repository GPG key and configuration files.
 
%package release
Summary: Tomoyan's RPM repository for Fedora
Requires: fedora-release
%description release
This package contains Tomoyan's repository GPG key and configuration files.
 
%prep
 
%build
 
%install
rm -rf rm -rf $RPM_BUILD_ROOT
 
#GPG Key
install -dm 755 install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg
install -pm 644 %{SOURCE0} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg
 
# dnf
install -dm 755 install -dm 755 $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d
install -pm 644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d
 
%clean
rm -rf $RPM_BUILD_ROOT
 
%post
#rpm --import %{SOURCE0}
 
%files
%defattr(-,root,root,-)
%config(noreplace) /etc/pki/rpm-gpg/*
/etc/yum.repos.d/*
 
%changelog
* Tue May 14 2019 tomoyan <tomoyan@tomoyan.net> - 1.01-0
- Update Package
* Tue Feb 12 2019 tomoyan <tomoyan@tomoyan.net> - 1.0-0
- Create Package

公開鍵をエクスポートする。

$ gpg2 --export -a "TomoYan (TomoYan's RPM repository) <tomoyan@tomoyan.net>" > ~/rpmbuild/SOURCES/RPM-GPG-KEY-tomoyan-30

フィンガー・プリントを確認する。

$ gpg2 --quiet --with-fingerprint ~/rpmbuild/SOURCES/RPM-GPG-KEY-tomoyan-30 
pub   rsa1024 2019-02-14 [SC]
uid           TomoYan (TomoYan's RPM repository) <tomoyan@tomoyan.net>
sub   rsa1024 2019-02-14 [E]
$ vi ~/rpmbuild/SOURCES/tomoyan.repo
~/rpmbuild/SOURCES/tomoyan.repo
[tomoyan]
name=Tomoyan's RPM repository - Fedora $releasever - $basearch
failovermethod=priority
baseurl=http://repos.tomoyan.net/pub/fedora/$releasever/$basearch/
enabled=1
gpgcheck=1
priority=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-tomoyan-$releasever
 
[tomoyan-source]
name=Fedora $releasever - $basearch Tomoyan's Source Repository
failovermethod=priority
baseurl=http://repos.tomoyan.net/pub/fedora/$releasever/SRPMS/
enabled=0
gpgcheck=1
priority=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-tomoyan-$releasever
$ rpmbuild --sign -ba ~/rpmbuild/SPECS/tomoyan-release.spec
+ umask 022
+ cd /home/tomoyan/rpmbuild/BUILD
+ exit 0
+ umask 022
+ cd /home/tomoyan/rpmbuild/BUILD
+ exit 0
+ umask 022
+ cd /home/tomoyan/rpmbuild/BUILD
+ '[' /home/tomoyan/rpmbuild/BUILDROOT/tomoyan-release-30-1.01-0.x86_64 '!=' / ']'
+ rm -rf /home/tomoyan/rpmbuild/BUILDROOT/tomoyan-release-30-1.01-0.x86_64
++ dirname /home/tomoyan/rpmbuild/BUILDROOT/tomoyan-release-30-1.01-0.x86_64
+ mkdir -p /home/tomoyan/rpmbuild/BUILDROOT
+ mkdir /home/tomoyan/rpmbuild/BUILDROOT/tomoyan-release-30-1.01-0.x86_64
+ rm -rf rm -rf /home/tomoyan/rpmbuild/BUILDROOT/tomoyan-release-30-1.01-0.x86_64
+ install -dm 755 install -dm 755 /home/tomoyan/rpmbuild/BUILDROOT/tomoyan-release-30-1.01-0.x86_64/etc/pki/rpm-gpg
+ install -pm 644 /home/tomoyan/rpmbuild/SOURCES/RPM-GPG-KEY-tomoyan-30 /home/tomoyan/rpmbuild/BUILDROOT/tomoyan-release-30-1.01-0.x86_64/etc/pki/rpm-gpg
+ install -dm 755 install -dm 755 /home/tomoyan/rpmbuild/BUILDROOT/tomoyan-release-30-1.01-0.x86_64/etc/yum.repos.d
+ install -pm 644 /home/tomoyan/rpmbuild/SOURCES/tomoyan.repo /home/tomoyan/rpmbuild/BUILDROOT/tomoyan-release-30-1.01-0.x86_64/etc/yum.repos.d
+ '[' noarch = noarch ']'
+ case "${QA_CHECK_RPATHS:-}" in
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-ldconfig
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip /usr/bin/strip
+ /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1 0
+ /usr/lib/rpm/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-mangle-shebangs
+ umask 022
+ cd /home/tomoyan/rpmbuild/BUILD
+ rm -rf /home/tomoyan/rpmbuild/BUILDROOT/tomoyan-release-30-1.01-0.x86_64
+ exit 0
/home/tomoyan/rpmbuild/SRPMS/tomoyan-release-30-1.01-0.src.rpm:
/home/tomoyan/rpmbuild/RPMS/noarch/tomoyan-release-30-1.01-0.noarch.rpm:
$ scp ~/rpmbuild/RPMS/noarch/tomoyan-release-30-1.01-0.noarch.rpm skv001:/var/www/vhosts/repos.tomoyan.net/pub/fedora/
$ scp ~/rpmbuild/RPMS/noarch/tomoyan-release-30-1.01-0.noarch.rpm skv001:/var/www/vhosts/repos.tomoyan.net/pub/fedora/30/x86_64/Packages/t/
$ scp ~/rpmbuild/SOURCES/RPM-GPG-KEY-tomoyan-30 skv001:/var/www/vhosts/repos.tomoyan.net/pub/fedora/ 
$ sudo dnf install https://repos.tomoyan.net/pub/fedora/tomoyan-release-30-1.0-0.noarch.rpm

リポジトリからパッケージをインストールしてみる。

$ sudo dnf install wxGTK31 wxGTK31-devel

パッケージのインストール時に GPG 鍵のインポート確認が表示される事を確認する。

Tomoyan's RPM repository - Fedora 30 - x86_64                      1.1 kB/s | 1.1 kB     00:01    
GPG 鍵 0xDC52FC64 をインポート中:
 Userid     : "TomoYan (TomoYan's RPM repository) <tomoyan@tomoyan.net>"
 Fingerprint: FAA4 6609 A58C D8A8 12E7 5B21 D738 2E77 DC52 FC64
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-tomoyan-30
これでよろしいですか? [y/N]: y

パッケージの Signature を確認する。

$ rpm -qi tomoyan-release-30
Name        : tomoyan-release-30
Version     : 1.01
Release     : 0
Architecture: noarch
Install Date: 2019年05月14日 20時09分20秒
Group       : System Environment/Base
Size        : 1604
License     : GPLv2
Signature   : RSA/SHA256, 2019年05月14日 20時01分14秒, Key ID d7382e77dc52fc64
Source RPM  : tomoyan-release-30-1.01-0.src.rpm
Build Date  : 2019年05月14日 20時01分14秒
Build Host  : Cmon.monsters-g.local
Relocations : (not relocatable)
Packager    : TomoYan <tomoyan@tomoyan.net>
URL         : http://www.tomoyan.net/
Summary     : Tomoyan's RPM Packages for Fedora
Description :
This package contains Tomoyan's repository GPG key and configuration files.
  • linux/rpmbuild/repository_release_rpm.txt
  • 最終更新: 2019/05/18 02:23
  • by 非ログインユーザー