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