久しぶりに redhat 系に触れているのですが、インストール直後から、パッケージのビルドをするまでを簡単に纏めておきました。
# 現在指定しているレポジトリの一覧を表示 dnf repolist # 現在指定されていない無効なレポジトリの一覧 dnf repolist --disabled # レポジトリの有効化1 dnf config-manager --enable appstream-source baseos-source extras-common-source # レポジトリの有効化2 (centosで rhel の codeready-builderに該当するcrbレポジトリの有効化) dnf config-manager --enable crb crb-source # レポジトリの追加 dnf config-manager --add-repo # rpm-build パッケージのインストール dnf install rpm-build # rpmbuild に必要なビルドユーザ(mock/mockbuild)の追加 useradd -s /sbin/nologin mock useradd -s /sbin/nologin mockbuild # ソース、スペックファイルなどの展開先の確認 rpm --showrc | grep _topdir -13: _builddir %{_topdir}/BUILD -13: _buildrootdir %{_topdir}/BUILDROOT -13: _rpmdir %{_topdir}/RPMS -13: _sourcedir %{_topdir}/SOURCES -13: _specdir %{_topdir}/SPECS -13: _srcrpmdir %{_topdir}/SRPMS -13: _topdir %{getenv:HOME}/rpmbuild # 指定したファイルを含むパッケージ名のサーチ dnf provides tog-pegasus # 対象となるrpmパッケージのソース類のダウンロード dnf download --source tog-pegasus # 指定したパッケージのビルドに必要なパッケージのインストール(apt-get build-dep に相当) dnf builddep tog-pegasus # a. spec ファイルからsrpm/rpmパッケージをビルド cd ~/rpmbuild/SPECS rpmbuld -ba tog-pegasus.spec # b-1. specファイルからsource rpmを作成 cd ~/rpmbuild/SPEC rpmbuild -bs tog-pegasus.spec # 確認 ls ~/rpmbuild/SRPMS tog-pegasus-2.4.1-65.el9.src.rpm # b-2. src.rpmから パッケージをビルド cd ~/rpmbuild/SRPMS rpmbuild --rebuild tog-pegasus-2.4.1-65.el9.src.rpm # b-3. src.rpm の展開 cd ~/rpmbuild/SRPMS rpm -ivh tog-pegasus-2.14.1-65.el9.src.rpm覚えてしまえばソースのあるパッケージの場合、 Debian と同じようにできるかもしてませんね。今回は以上です。それでは。
コメント
コメントを投稿