Como posso listar os patches de um pacote instalado no SUSE?

Como posso listar os patches de um pacote instalado no SUSE?

Digamos que estou usando um programa chamado "hello" que baixei usando o zypper. A questão é como posso ver se um .patch específico está incluído neste pacote hello?

Basicamente, o que eu acho é que preciso do arquivo fonte rpm (mas como posso encontrá-lo usando zypper?) E então fazer unrpme verificar se o arquivo *.patch está incluído. Está correto ou há outra maneira?

Responder1

Você pode baixar um src.rpm com o comando zypper's source-install.

zypper si -D --download-only hellobaixaria o .src.rpm ignorando quaisquer dependências necessárias para construir o pacote.

Você pode encontrar o .src.rpm em /var/cache/zypp/packages/repo/src/hello-version.src.rpm.

Você pode então seguir o processo normal de extração do pacote.

% 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
<...>

Responder2

# 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

informação relacionada