RPMs e patch

1

Eu tenho 3 arquivos (de aqui ) que me foi dado para instalar na tentativa de atualizar o compilador:

binutils-2.13.2.1-1.mipsel.rpm
binutils-2.13.2.1-1.src.rpm
binutils-2.13.2.1-r5900-7.diff.gz

Eu meio que tonto com isso.

O que eu fiz é:

rpm -i mipsel -vv
rpm -i src -vv

Eu não tenho ideia do que fazer com o .diff.gz . Eu entendo que é um patch, mas não sei como lidar com isso.

    
por PhilCK 25.07.2011 / 16:24

1 resposta

1

Mude para o diretório de origem de nível superior (aquele que contém os arquivos COPYING , bfd e assim por diante) e aplique o patch:

zcat ../binutils-2.13.2.1-r5900-7.diff.gz | patch -p1

Você quase sempre precisa transmitir -p0 ou -p1 ao aplicar um patch. O número é o número de componentes do caminho a serem removidos dos nomes de arquivos no patch. Verifique as primeiras linhas do patch. Aqui estão eles

diff -urN binutils-2.13.2.1.orig/ChangeLog.PS2 binutils-2.13.2.1/ChangeLog.PS2
--- binutils-2.13.2.1.orig/ChangeLog.PS2        1969-12-31 18:00:00.000000000 -0
+++ binutils-2.13.2.1/ChangeLog.PS2     2003-01-20 17:48:29.000000000 -0600

Como todos os caminhos têm um diretório principal, você precisa transmitir -p1 . Se a primeira linha fosse algo como diff -urN ../binutils-2.13.2.1.orig/ChangeLog.PS2 ChangeLog.PS2 ou diff -urN ChangeLog.PS2.orig ChangeLog.PS2 , você usaria -p0 .

Depois de aplicar o patch, execute rpmbuild -bb para criar um novo pacote binário.

    
por 25.07.2011 / 20:17

Tags