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

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

$ tree ~/rpmbuild

/home/tomoyan/rpmbuild
├── BUILD
├── RPMS
├── SOURCES
├── SPECS
└── SRPMS

6 directories, 0 files

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

$ nano ~/.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 C3CE4841130D45F78878E28BD977F84F14067924
# gpg2 のパス
%_gpgbin /usr/bin/gpg2
# パッケージ作成者
%packager TomoYan <tomoyan@tomoyan.net>

パッケージソースのダウンロード

$ dnf download --source nvidia-390xx-kmod

fedora-source リポジトリーの有効化
updates-source リポジトリーの有効化
rpmfusion-free-source リポジトリーの有効化
rpmfusion-free-updates-source リポジトリーの有効化
rpmfusion-nonfree-source リポジトリーの有効化
rpmfusion-nonfree-nvidia-driver-source リポジトリーの有効化
rpmfusion-nonfree-steam-source リポジトリーの有効化
rpmfusion-nonfree-updates-source リポジトリーの有効化
メタデータの期限切れの最終確認: 0:14:49 前の 2024年04月14日 10時30分48秒 に実施しました。
nvidia-390xx-kmod-390.157-8.fc39.src.rpm                                       74 kB/s | 101 kB     00:01    

インストール

$ rpm -ivh nvidia-390xx-kmod-390.157-8.fc39.src.rpm

更新中 / インストール中...
   1:nvidia-390xx-kmod-3:390.157-8.fc3################################# [100%]

$ sudo dnf builddep -y ~/rpmbuild/SPECS/nvidia-390xx-kmod.spec

メタデータの期限切れの最終確認: 0:03:27 前の 2024年04月14日 10時47分36秒 に実施しました。
パッケージ kmodtool-1.1-8.fc39.noarch は既にインストールされています。
パッケージ elfutils-libelf-devel-0.191-2.fc39.x86_64 は既にインストールされています。
パッケージ gcc-13.2.1-7.fc39.x86_64 は既にインストールされています。
パッケージ xorg-x11-drv-nvidia-390xx-kmodsrc-3:390.157-3.fc39.x86_64 は既にインストールされています。
依存関係が解決しました。
==============================================================================================================
 パッケージ                         アーキテクチャー バージョン                リポジトリー             サイズ
==============================================================================================================
インストール:
 buildsys-build-rpmfusion           x86_64           11:39-0.1.fc39            rpmfusion-free            12 k

トランザクションの概要
==============================================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 12 k
インストール後のサイズ: 7.8 k
パッケージのダウンロード:
buildsys-build-rpmfusion-39-0.1.fc39.x86_64.rpm                                15 kB/s |  12 kB     00:00    
--------------------------------------------------------------------------------------------------------------
合計                                                                          5.2 kB/s |  12 kB     00:02     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                      1/1 
  インストール中   : buildsys-build-rpmfusion-11:39-0.1.fc39.x86_64                                       1/1 
  検証             : buildsys-build-rpmfusion-11:39-0.1.fc39.x86_64                                       1/1 

インストール済み:
  buildsys-build-rpmfusion-11:39-0.1.fc39.x86_64                                                              

完了しました!

$ rpmbuild -ba ~/rpmbuild/SPECS/nvidia-390xx-kmod.spec

setting SOURCE_DATE_EPOCH=1712361600
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.O00nre
+ umask 022
+ cd /home/tomoyan/rpmbuild/BUILD
+ kmodtool --target x86_64 --repo rpmfusion --kmodname nvidia-390xx-kmod --filterfile /home/tomoyan/rpmbuild/SOURCES/nvidia-390xx-kmodtool-excludekernel-filterfile --akmod

%{?rhel:%global with_rhel_kabi 1}

%if 0%{?rhel} || 0%{?fedora}
%global kmod_pkg_name kmod-nvidia-390xx
%global pkg_kmod_name nvidia-390xx-kmod
%{?obsolete_name:%global kmod_obsolete_name kmod-%{obsolete_name}}
%endif


%global akmod_install mkdir -p $RPM_BUILD_ROOT/%{_usrsrc}/akmods/; \rpmbuild --define "_sourcedir %{_sourcedir}" \--define "_srcrpmdir $RPM_BUILD_ROOT/%{_usrsrc}/akmods/" \%{?dist:--define 'dist %{dist}}' \-bs --nodeps %{_specdir}/%{name}.spec ; \ln -s $(ls $RPM_BUILD_ROOT/%{_usrsrc}/akmods/) $RPM_BUILD_ROOT/%{_usrsrc}/akmods/%{pkg_kmod_name}.latest

%package       -n akmod-nvidia-390xx
Summary:          Akmod package for nvidia-390xx kernel module(s)
Requires:         kmodtool
Requires:         akmods
%{?AkmodsBuildRequires:Requires: %{AkmodsBuildRequires}}
# same requires and provides as a kmods package would have
Requires:         %{pkg_kmod_name}-common >= %{?epoch:%{epoch}:}%{version}
Provides:         %{pkg_kmod_name} = %{?epoch:%{epoch}:}%{version}-%{release}

%description   -n akmod-nvidia-390xx
This package provides the akmod package for the nvidia-390xx kernel modules.

%posttrans     -n akmod-nvidia-390xx
nohup /usr/sbin/akmods --from-akmod-posttrans --akmod nvidia-390xx &> /dev/null &

%post     -n akmod-nvidia-390xx
[ -x /usr/sbin/akmods-ostree-post ] && /usr/sbin/akmods-ostree-post nvidia-390xx %{_usrsrc}/akmods/%{pkg_kmod_name}-%{version}-%{release}.src.rpm

%files         -n akmod-nvidia-390xx
%defattr(-,root,root,-)
%{_usrsrc}/akmods/*

%package       -n %{kmod_pkg_name}
Summary:          Metapackage which tracks in nvidia-390xx kernel module for newest kernel

Provides:         %{pkg_kmod_name} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides:         %{kmod_pkg_name}-xen = %{?epoch:%{epoch}:}%{version}-%{release}
Provides:         %{kmod_pkg_name}-smp = %{?epoch:%{epoch}:}%{version}-%{release}
Provides:         %{kmod_pkg_name}-PAE = %{?epoch:%{epoch}:}%{version}-%{release}
Requires:         akmod-nvidia-390xx = %{?epoch:%{epoch}:}%{version}-%{release}

%description   -n %{kmod_pkg_name}
This is a meta-package without payload which sole purpose is to require the
nvidia-390xx kernel module(s) for the newest kernel,
to make sure you get it together with a new kernel.

%files         -n %{kmod_pkg_name}
%defattr(644,root,root,755)
+ cd /home/tomoyan/rpmbuild/BUILD
+ rm -rf nvidia-390xx-kmod-390.157
+ /usr/bin/mkdir -p nvidia-390xx-kmod-390.157
+ cd nvidia-390xx-kmod-390.157
+ rm -rf /home/tomoyan/rpmbuild/BUILD/nvidia-390xx-kmod-390.157-SPECPARTS
+ /usr/bin/mkdir -p /home/tomoyan/rpmbuild/BUILD/nvidia-390xx-kmod-390.157-SPECPARTS
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ tar --use-compress-program xz -xf /usr/share/nvidia-390xx-kmod-390.157/nvidia-390xx-kmod-390.157-x86_64.tar.xz
+ echo 'Patch #12 (do-div-cast.patch):'
Patch #12 (do-div-cast.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 12 --fuzz=0 -d kernel
patching file nvidia-modeset/nvidia-modeset-linux.c
+ echo 'Patch #13 (0018-backport-nv_install_notifier-changes-from-418.30.patch):'
Patch #13 (0018-backport-nv_install_notifier-changes-from-418.30.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 13 --fuzz=0 -d kernel
patching file nvidia/nv-acpi.c
Hunk #1 succeeded at 502 (offset -1 lines).
Hunk #2 succeeded at 532 (offset -1 lines).
Hunk #3 succeeded at 560 (offset -1 lines).
Hunk #4 succeeded at 576 (offset -1 lines).
Hunk #5 succeeded at 608 (offset -1 lines).
Hunk #6 succeeded at 676 (offset -1 lines).
+ echo 'Patch #19 (kernel-4.16+-memory-encryption.patch):'
Patch #19 (kernel-4.16+-memory-encryption.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 19 --fuzz=0
patching file kernel/common/inc/nv-linux.h
patching file kernel/conftest.sh
Hunk #1 succeeded at 2074 (offset 18 lines).
+ echo 'Patch #20 (nvidia-390xx-kmod-0024-kernel-6.2-adaptation.patch):'
Patch #20 (nvidia-390xx-kmod-0024-kernel-6.2-adaptation.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 20 --fuzz=0
patching file kernel/nvidia-drm/nvidia-drm-connector.c
patching file kernel/nvidia-drm/nvidia-drm-drv.c
patching file kernel/nvidia-drm/nvidia-drm-fb.c
patching file kernel/nvidia/nv-acpi.c
+ echo 'Patch #21 (nvidia-390xx-kmod-0025-kernel-6.3-adaptation.patch):'
Patch #21 (nvidia-390xx-kmod-0025-kernel-6.3-adaptation.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 21 --fuzz=0
patching file kernel/nvidia-uvm/uvm8.c
patching file kernel/nvidia/nv-mmap.c
+ echo 'Patch #22 (nvidia-390xx-kmod-0026-kernel-6.4-adaptation.patch):'
Patch #22 (nvidia-390xx-kmod-0026-kernel-6.4-adaptation.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 22 --fuzz=0
patching file kernel/nvidia-drm/nvidia-drm-drv.c
+ echo 'Patch #23 (nvidia-390xx-kmod-0027-kernel-6.5-garbage-collect-all-references-to-get_user.patch):'
Patch #23 (nvidia-390xx-kmod-0027-kernel-6.5-garbage-collect-all-references-to-get_user.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 23 --fuzz=0 -d kernel
patching file common/inc/nv-mm.h
patching file conftest.sh
Hunk #1 succeeded at 3086 (offset 5 lines).
+ echo 'Patch #24 (nvidia-390xx-kmod-0028-kernel-6.5-handle-get_user_pages-vmas-argument-remova.patch):'
Patch #24 (nvidia-390xx-kmod-0028-kernel-6.5-handle-get_user_pages-vmas-argument-remova.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 24 --fuzz=0 -d kernel
patching file common/inc/nv-mm.h
patching file conftest.sh
Hunk #1 succeeded at 3056 (offset 5 lines).
Hunk #2 succeeded at 3079 (offset 5 lines).
patching file nvidia-drm/nvidia-drm-linux.c
patching file nvidia-uvm/uvm8_tools.c
patching file nvidia/os-mlock.c
+ echo 'Patch #25 (nvidia-390xx-kmod-0029-kernel-6.6-backport-drm_gem_prime_handle_to_fd-changes-from-470.patch):'
Patch #25 (nvidia-390xx-kmod-0029-kernel-6.6-backport-drm_gem_prime_handle_to_fd-changes-from-470.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 25 --fuzz=0 -d kernel
patching file nvidia-drm/nvidia-drm-drv.c
Hunk #1 succeeded at 705 (offset 8 lines).
patching file nvidia-drm/nvidia-drm.Kbuild
+ echo 'Patch #26 (nvidia-390xx-kmod-0030-kernel-6.6-refuse-to-load-legacy-module-if-IBT-is-enabled.patch):'
Patch #26 (nvidia-390xx-kmod-0030-kernel-6.6-refuse-to-load-legacy-module-if-IBT-is-enabled.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 26 --fuzz=0 -d kernel
patching file nvidia-modeset/nvidia-modeset-linux.c
patching file nvidia/nv.c
+ echo 'Patch #27 (nvidia-390xx-kmod-0031-kernel-6.8-adaptation.patch):'
Patch #27 (nvidia-390xx-kmod-0031-kernel-6.8-adaptation.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 27 --fuzz=0 -d kernel
patching file nvidia-drm/nvidia-drm-drv.c
+ echo 'Patch #30 (use-kbuild-compiler.patch):'
Patch #30 (use-kbuild-compiler.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 30 --fuzz=0 -d kernel
patching file Makefile
+ echo 'Patch #31 (conftest-verbose.patch):'
Patch #31 (conftest-verbose.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 31 --fuzz=0 -d kernel
patching file Kbuild
Hunk #1 succeeded at 114 (offset -1 lines).
Hunk #2 succeeded at 148 (offset -1 lines).
Hunk #3 succeeded at 169 (offset -1 lines).
+ echo 'Patch #32 (cc_version_check-gcc5.patch):'
Patch #32 (cc_version_check-gcc5.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 32 --fuzz=0 -d kernel
patching file conftest.sh
Hunk #1 succeeded at 4627 (offset 11 lines).
+ echo 'Patch #33 (bashisms.patch):'
Patch #33 (bashisms.patch):
+ /usr/bin/patch --no-backup-if-mismatch -f -p1 -b --suffix 33 --fuzz=0 -d kernel
patching file conftest.sh
Hunk #1 succeeded at 4869 (offset 11 lines).
+ RPM_EC=0
++ jobs -p
+ exit 0
実行中(%build): /bin/sh -e /var/tmp/rpm-tmp.RtiW10
+ umask 022
+ cd /home/tomoyan/rpmbuild/BUILD
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn'
+ export RUSTFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd nvidia-390xx-kmod-390.157
+ RPM_EC=0
++ jobs -p
+ exit 0
実行中(%install): /bin/sh -e /var/tmp/rpm-tmp.xb86B8
+ umask 022
+ cd /home/tomoyan/rpmbuild/BUILD
+ '[' /home/tomoyan/rpmbuild/BUILDROOT/nvidia-390xx-kmod-390.157-8.fc39.x86_64 '!=' / ']'
+ rm -rf /home/tomoyan/rpmbuild/BUILDROOT/nvidia-390xx-kmod-390.157-8.fc39.x86_64
++ dirname /home/tomoyan/rpmbuild/BUILDROOT/nvidia-390xx-kmod-390.157-8.fc39.x86_64
+ mkdir -p /home/tomoyan/rpmbuild/BUILDROOT
+ mkdir /home/tomoyan/rpmbuild/BUILDROOT/nvidia-390xx-kmod-390.157-8.fc39.x86_64
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules '
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn'
+ export RUSTFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes '
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd nvidia-390xx-kmod-390.157
+ mkdir -p /home/tomoyan/rpmbuild/BUILDROOT/nvidia-390xx-kmod-390.157-8.fc39.x86_64//usr/src/akmods/
+ rpmbuild --define '_sourcedir /home/tomoyan/rpmbuild/SOURCES' --define '_srcrpmdir /home/tomoyan/rpmbuild/BUILDROOT/nvidia-390xx-kmod-390.157-8.fc39.x86_64//usr/src/akmods/' --define 'dist .fc39' -bs --nodeps /home/tomoyan/rpmbuild/SPECS/nvidia-390xx-kmod.spec
Wrote: /home/tomoyan/rpmbuild/BUILDROOT/nvidia-390xx-kmod-390.157-8.fc39.x86_64/usr/src/akmods/nvidia-390xx-kmod-390.157-8.fc39.src.rpm
++ ls /home/tomoyan/rpmbuild/BUILDROOT/nvidia-390xx-kmod-390.157-8.fc39.x86_64//usr/src/akmods/
+ ln -s nvidia-390xx-kmod-390.157-8.fc39.src.rpm /home/tomoyan/rpmbuild/BUILDROOT/nvidia-390xx-kmod-390.157-8.fc39.x86_64//usr/src/akmods/nvidia-390xx-kmod.latest
+ '[' '%{buildarch}' = noarch ']'
+ QA_CHECK_RPATHS=1
+ case "${QA_CHECK_RPATHS:-}" in
+ /usr/lib/rpm/check-rpaths
+ /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/redhat/brp-strip-lto /usr/bin/strip
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/check-rpaths
+ /usr/lib/rpm/redhat/brp-mangle-shebangs
+ /usr/lib/rpm/brp-remove-la-files
+ env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j8
+ /usr/lib/rpm/redhat/brp-python-hardlink
ファイルの処理中: akmod-nvidia-390xx-390.157-8.fc39.x86_64
Provides: akmod-nvidia = 3:390.157 akmod-nvidia-390xx = 3:390.157-8.fc39 akmod-nvidia-390xx(x86-64) = 3:390.157-8.fc39 nvidia-390xx-kmod = 3:390.157-8.fc39
Requires(interp): /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh
Requires(posttrans): /bin/sh
Obsoletes: akmod-nvidia < 3:390.157
ファイルの処理中: kmod-nvidia-390xx-390.157-8.fc39.x86_64
パッケージに含まれないファイルの検査中: /usr/lib/rpm/check-files /home/tomoyan/rpmbuild/BUILDROOT/nvidia-390xx-kmod-390.157-8.fc39.x86_64
書き込みが完了しました: /home/tomoyan/rpmbuild/SRPMS/nvidia-390xx-kmod-390.157-8.fc39.src.rpm
書き込みが完了しました: /home/tomoyan/rpmbuild/RPMS/x86_64/kmod-nvidia-390xx-390.157-8.fc39.x86_64.rpm
書き込みが完了しました: /home/tomoyan/rpmbuild/RPMS/x86_64/akmod-nvidia-390xx-390.157-8.fc39.x86_64.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.9HIYWt
+ umask 022
+ cd /home/tomoyan/rpmbuild/BUILD
+ cd nvidia-390xx-kmod-390.157
+ /usr/bin/rm -rf /home/tomoyan/rpmbuild/BUILDROOT/nvidia-390xx-kmod-390.157-8.fc39.x86_64
+ RPM_EC=0
++ jobs -p
+ exit 0
実行中(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.DV2zxR
+ umask 022
+ cd /home/tomoyan/rpmbuild/BUILD
+ rm -rf /home/tomoyan/rpmbuild/BUILD/nvidia-390xx-kmod-390.157-SPECPARTS
+ rm -rf nvidia-390xx-kmod-390.157 nvidia-390xx-kmod-390.157.gemspec
+ RPM_EC=0
++ jobs -p
+ exit 0

$ rpmsign --addsign ~/rpmbuild/RPMS/x86_64/*

/home/tomoyan/rpmbuild/RPMS/x86_64/akmod-nvidia-390xx-390.157-8.fc39.x86_64.rpm:
/home/tomoyan/rpmbuild/RPMS/x86_64/kmod-nvidia-390xx-390.157-8.fc39.x86_64.rpm:

$ rpm --checksig ~/rpmbuild/RPMS/x86_64/kmod-nvidia-390xx-390.157-8.fc39.x86_64.rpm

/home/tomoyan/rpmbuild/RPMS/x86_64/kmod-nvidia-390xx-390.157-8.fc39.x86_64.rpm: ダイジェスト 署名 OK

$ rpm -qi ~/rpmbuild/RPMS/x86_64/kmod-nvidia-390xx-390.157-8.fc39.x86_64.rpm

Name        : kmod-nvidia-390xx
Epoch       : 3
Version     : 390.157
Release     : 8.fc39
Architecture: x86_64
Install Date: (not installed)
Group       : System Environment/Kernel
Size        : 0
License     : Redistributable, no modification permitted
Signature   : EdDSA/SHA512, 2024年04月14日 11時21分03秒, Key ID d977f84f14067924
Source RPM  : nvidia-390xx-kmod-390.157-8.fc39.src.rpm
Build Date  : 2024年04月14日 10時53分18秒
Build Host  : highway-x.fireball.local
URL         : http://www.nvidia.com/
Summary     : Metapackage which tracks in nvidia-390xx kernel module for newest kernel
Description :
This is a meta-package without payload which sole purpose is to require the
nvidia-390xx kernel module(s) for the newest kernel,
to make sure you get it together with a new kernel.

「ダイジェスト SIGNATURES OK ではありません」と言われる場合🤔

$ rpm --checksig ~/rpmbuild/RPMS/x86_64/kmod-nvidia-390xx-390.157-8.fc39.x86_64.rpm

/home/tomoyan/rpmbuild/RPMS/x86_64/kmod-nvidia-390xx-390.157-8.fc39.x86_64.rpm: ダイジェスト SIGNATURES OK ではありません

公開鍵のエクスポート - GnuPG - GNU Privacy Guard を行って、システムに RPM-GPG-KEY-xxx をインポートしてから再度署名を確認する😉

$ sudo rpm --import RPM-GPG-KEY-tomoyan-39

$ rpm --checksig ~/rpmbuild/RPMS/x86_64/kmod-nvidia-390xx-390.157-8.fc39.x86_64.rpm

/home/tomoyan/rpmbuild/RPMS/x86_64/kmod-nvidia-390xx-390.157-8.fc39.x86_64.rpm: ダイジェスト 署名 OK

  • linux/rpmbuild.txt
  • 最終更新: 2024/04/14 11:45
  • by ともやん