Fedora 15パッケージ(gnome-shell-extensions-alternative-status-menu
)を変更したいと思います。これは小さな変更です(このコミットを元に戻します)。使用してyumdownloader
、私は(SRPMをダウンロードすることができますよgnome-shell-extensions-3.0.2-1.g63dd27cgit.fc15.src.rpm
)。
この後、解凍して再構築するにはどうすればよいですか?
Fedora 15パッケージ(gnome-shell-extensions-alternative-status-menu
)を変更したいと思います。これは小さな変更です(このコミットを元に戻します)。使用してyumdownloader
、私は(SRPMをダウンロードすることができますよgnome-shell-extensions-3.0.2-1.g63dd27cgit.fc15.src.rpm
)。
この後、解凍して再構築するにはどうすればよいですか?
回答:
ROOTユーザーとしての私:
他のパッケージと同様にSRPMをインストールします(rpm --install [source-rpm-filename]
)
調べ/root/rpmbuild/SPECS
ディレクトリをし、あなたのパッケージにマッチするスペックファイルを見つけます
rpmbuild -bb /root/rpmbuild/SPECS/[found-filename]
結果のバイナリパッケージは、/root/rpmbuild/RPMS/
ディレクトリに配置され、標準rpm --install
コマンドを使用してインストールする準備が整います。
注:これは、標準のバイナリパッケージの内容をビルドするだけです。私はこれを投稿して、ソースに変更を加えて新しいパッケージを生成する方法ではなく、特定の質問に答えています。
修正を行うには、パッチを入力として提供してSPECSファイルを変更するか、またはにある標準を独自の標準*.tar.bz2
に置き換えて、/root/rpmbuild/SOURCES
上記のようにビルドを実行します。
SPECSパッケージを機能させるために変更する必要がある場合があることに注意してください(通常、パッチを抜き、SPECSファイルによってプログラムされているいくつかのファイル名を変更します)。
rootは悪い習慣(ソース)であるため、rpmをビルドしているようです。root以外のユーザーとしては問題なく動作します。
パッチを追加するための詳細な手順(ここから):
rpmbuild/SOURCES
。rpmbuild/SPECS/package.spec
を追加します。Patch0: mypatch.patch
Source0: ...
%setup ...
行の後に行を追加し%patch0 -p1
ますこれで正常にビルドされます。と:rpmbuild -ba SPECS/package.spec
sudo dnf install rpmdevtools
rpmbuildコマンドに必要です。%patch0 -p1
スペックファイルが1 %autosetup
行ではなく%setup
1 行を使用している場合は、その行を省略します(%autosetup
パッチを自動的に適用するため)。
sudo rpm -ivh --force your.rpm
OpenSSLパッケージの再構築CentOS 6.4は、SRPMパッケージの再構築の詳細な例です。
上記の例では、パッケージビルダーのJedi Light SabreであるMockを使用しています。
Mockは、chrootに確実にデータを入力し、そのchrootでパッケージを再構築するために作成されました。
詳細については、http://fedoraproject.org/wiki/Projects/Mockを参照してください
この例では、モックが3回使用されています。1回はパッケージを「アンパック」し、次に.src.rpmを再ビルドし、最後に.rpmを作成します。