2011-06-23 6 views
6

El archivo contiene la línea ldm.spec¿Por qué rpmbuild (1) ignora el archivo comprimido tar (1) nombrado por la etiqueta "Fuente:" en el archivo "spec" de RPM?

Source:   /web/ftp/pub/ldm/%{name}-%{version}.tar.gz 

en su primera sección. % {name} y% {version} están configurados correctamente. El archivo dado existe.

el comando rpmbuild --nobuild ldm.spec ERRORES salidas con el mensaje

error: File /home/steve/rpmbuild/SOURCES/ldm-6.9.8.tar.gz: No such file or directory 

Lo que hay que hacer para conseguir que esto funcione?

Información adicional:

$ uname -a 
Linux gilda.unidata.ucar.edu 2.6.27.41-170.2.117.fc10.x86_64 #1 SMP Thu Dec 10 10:36:29 EST 2009 x86_64 x86_64 x86_64 GNU/Linux 
$ rpmbuild --version 
RPM version 4.6.1 

Respuesta

6

Por defecto, el nombre base rpmbuild espera() del archivo de origen que existen en el directorio% _topdir/SOURCES, independientemente del lugar en que de lo contrario los estados. En los archivos de especificaciones en general se ven una dirección URL (wget.spec):

Source: ftp://ftp.gnu.org/gnu/wget/wget-%{version}.tar.bz2 

No se traiga en tiempo de compilación, aunque fuera en su propio sistema de archivos. El error "No existe ese archivo o directorio" proviene de la macro% setup que busca el archivo en la ubicación predeterminada y no lo ve.

La solución es copiar (o hacer un enlace simbólico) del archivo en su directorio rpmbuild/SOURCES.

Si, por cualquier razón, no desea tener que copiar ese archivo en el directorio SOURCES de su usuario, puede usar la opción --T en% mecro de configuración, le dice "No realizar archivo predeterminado" desembalaje ":

%setup -T 

Vas a tener que descomprimir el archivo a sí mismo en la sección% prep, si decide seguir este camino.

+1

Tu respuesta parece en desacuerdo con la documentación de RPM que estoy usando, 'http: // docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s04.html # id515031'. ¿Puedes sugerir una mejor documentación? –

+0

No veo dónde difiere mi respuesta. ¿Podría citar el texto con el que estoy en desacuerdo? –

+0

'Este comando cambia al directorio de compilación, generalmente/usr/src/redhat/BUILD, y luego extrae los archivos de origen.' 'La opción -T desactiva la extracción automática de archivos tar comprimidos. (No especifico el Opción '-T'; por lo tanto, el archivo tar comprimido debe extraerse automáticamente.) –

Cuestiones relacionadas