zypperを使ってダウンロードした「hello」というプログラムを使っているとしましょう。問題は、このhelloパッケージに特定の.patchが含まれていることを確認する方法です。
デフォルトではrpmソースファイルが必要だと思います(しかしzypperを使ってどのように検索しますか?)、unrpm
* .patchファイルが含まれていることを確認してください。これは正しいですか、それとも別の方法がありますか?
答え1
zypper
のコマンドを使用してsrc.rpmをダウンロードできますsource-install
。
zypper si -D --download-only hello
.src.rpm がダウンロードされ、パッケージのビルドに必要な依存関係は無視されます。
/var/cache/zypp/packages/repo/src/hello-version.src.rpmで.src.rpmを見つけることができます。
その後、パッケージを解凍する一般的なプロセスを完了できます。
% rpm2cpio /var/cache/zypp/packages/Virtualization/src/qemu-2.1.0-260.12.src.rpm | cpio -idmv
0001-XXX-dont-dump-core-on-sigabort.patch
0002-XXX-work-around-SA_RESTART-race-wit.patch
0003-qemu-0.9.0.cvs-binfmt.patch
0004-qemu-cvs-alsa_bitfield.patch
<...>
答え2
# zypper patches | grep Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-1001 | security | | Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-1016 | security | | Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-1022 | security | | Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-1027 | security | | Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-1028 | bugfix | | Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-828 | bugfix | | Installed
qua-sles12-sp1-updates-x86_64 | CL-SUSE-SLE-SERVER-12-SP1-2015-846 | security | | Installed