Como compilar o OpenSSL com o -DPURIFY de src.rpm

1

Estou tentando executar um programa que usa o OpenSSL em Valgrind, mas o OpenSSL faz algumas coisas engraçadas que resultam em muitos "falsos positivos", portanto, depois de pesquisar, descobri que preciso compilar o OpenSSL com a opção -DPURIFY.

Então eu baixei a mesma versão do OpenSSL dos servidores RedHat (openssl-1.0.0-10.el6.src.rpm) como o sistema está usando atualmente (um sistema antigo). Então eu tento os seguintes comandos:

rpm2cpio openssl-1.0.0-10.el6.src.rpm | cpio -idmv
tar -xvf openssl-1.0.0-usa.tar.bz2
cd openssl-1.0.0
./config
make

mas o make lança um error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token

Eu vi vários arquivos de patch quando extraí o arquivo src.rpm, suponho que preciso aplicá-los manualmente (como e em qual ordem?) ou estou fazendo algo errado?

Objetivo: Compilar esta versão (1.0.0-10.el6) do OpenSSL com -DPURIFY

    
por LinG 13.03.2018 / 11:47

1 resposta

1

Normalmente, prefiro construir e instalar meus próprios pacotes quando preciso de alterações, pois, dessa forma, você não possui arquivos / binários não contabilizados em seu (s) sistema (s).

Geralmente há etapas específicas para (re) construir pacotes a partir de pacotes fonte src.rpm.

O processo é basicamente automatizado e você não precisa compilar nem aplicar todos os patches manualmente.

De CentOS - reconstruir um RPM de origem

The advantage of unpacking the SRPM first and then using rpmbuild -ba to rebuild it from the specfile is that you can modify the specfile (and maybe add some patches or even upgrade the source tarball) to suit your needs. This is a more complex situation than just rebuilding the SRPM, though, and if you are going down this route you should probably read more on the subject, as explained below, but the process goes like this:

cd ~/rpmbuild/SPECS/

rpmbuild -bp mypackage.spec

cd ~/rpmbuild/BUILD/

cp existing_directory existing_directory.orig

cd existing_directory

find the file you wish to change, modify it.

cd ~/rpmbuild/BUILD/

diff -Npru existing_directory.orig existing_directory > name_of_your_patch_file.patch

cp name_of_your_patch_file.patch ~/rpmbuild/SOURCES/

cd ~/rpmbuild/SPECS/

edit the mypackage.spec file to add the definition of name_of_your_patch_file.patch and the application of your_patch_file -- please look in the file to see how that is done.

rpmbuild -ba mypackage.spec

Por fim, para instalar o pacote com suas alterações:

rpm -i mypackage

De acordo com os comentários do OP, se você já tiver o pacote instalado, poderá usar o seguinte comando para atualizar para sua versão:

rpm -Uvh --force mypackage
    
por 13.03.2018 / 11:59

Tags