目次
リポジトリ リリース パッケージの作成
spec ファイルの作成
$ 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
GPG 鍵のインポート確認
リポジトリからパッケージをインストールしてみる。
$ 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.