linux:fedora:rpmbuild:repository_release_rpm

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
linux:fedora:rpmbuild:repository_release_rpm [2024/04/18 09:40] – 削除 - 外部編集 (Unknown date) 非ログインユーザーlinux:fedora:rpmbuild:repository_release_rpm [2024/04/18 09:40] (現在) – ↷ linux:rpmbuild:repository_release_rpm から linux:fedora:rpmbuild:repository_release_rpm へページを移動しました。 ともやん
行 1: 行 1:
 +====== リポジトリ リリース パッケージの作成 ======
 +
 +===== spec ファイルの作成 =====
 +<code>
 +$ vi ~/rpmbuild/SPECS/tomoyan-release.spec
 +</code>
 +<file ini ~/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
 +</file>
 +
 +===== 公開鍵のエクスポート =====
 +公開鍵をエクスポートする。
 +<WRAP prewrap 100%>
 +<code>
 +$ gpg2 --export -a "TomoYan (TomoYan's RPM repository) <tomoyan@tomoyan.net>" > ~/rpmbuild/SOURCES/RPM-GPG-KEY-tomoyan-30
 +</code>
 +</WRAP>
 +フィンガー・プリントを確認する。
 +<code>
 +$ 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]
 +</code>
 +===== リポジトリ設定ファイルの作成 =====
 +<code>
 +$ vi ~/rpmbuild/SOURCES/tomoyan.repo
 +</code>
 +<file ini ~/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
 +</file>
 +
 +===== ビルドとパッケージの署名 =====
 +<code>
 +$ rpmbuild --sign -ba ~/rpmbuild/SPECS/tomoyan-release.spec
 +</code>
 +<WRAP prewrap 100%>
 +<code>
 ++ 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:
 +</code>
 +</WRAP>
 +
 +===== リポジトリ リリース パッケージをサイトに配置 =====
 +<WRAP prewrap 100%>
 +<code>
 +$ 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/ 
 +</code>
 +</WRAP>
 +
 +===== リポジトリ リリース パッケージをインストール =====
 +<WRAP prewrap 100%>
 +<code>
 +$ sudo dnf install https://repos.tomoyan.net/pub/fedora/tomoyan-release-30-1.0-0.noarch.rpm
 +</code>
 +</WRAP>
 +
 +===== GPG 鍵のインポート確認 =====
 +リポジトリからパッケージをインストールしてみる。
 +<code>
 +$ sudo dnf install wxGTK31 wxGTK31-devel
 +</code>
 +パッケージのインストール時に GPG 鍵のインポート確認が表示される事を確認する。
 +<code>
 +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
 +</code>
 +
 +===== リポジトリ リリース パッケージの署名を確認 =====
 +パッケージの Signature を確認する。
 +<code>
 +$ 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.
 +</code>
 +
 +===== 参考文献 =====
 +[[https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/rpm_packaging_guide/index|RPM パッケージングガイド Red Hat Enterprise Linux 7 | Red Hat Customer Portal]]\\