Problema y entorno
Korora 23 (Fedora 23)
rpmbuild --versiónRPM version 4.13.0-rc1
Estoy intentando hacer un paquete local desincronización de archivos gratuitospara mí. El sitio ofrece una versión de openSUSE que estoy intentando empaquetar para Fedora.
Miarchivo de especificaciones.
El error
Processing files: freefilesync-8.2-1.fc23.x86_64
Provides: config(freefilesync) = 8.2-1.fc23 freefilesync = 8.2-1.fc23 freefilesync(x86-64) = 8.2-1.fc23
Requires(interp): /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh
Requires(postun): /bin/sh
Requires: libX11.so.6()(64bit) libXxf86vm.so.1()(64bit) libatk-1.0.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.10)(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.6)(64bit) libcairo.so.2()(64bit) libdl.so.2()(64bit) libdl.so.2(GLIBC_2.2.5)(64bit) libexpat.so.1()(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgdk-x11-2.0.so.0()(64bit) libgdk_pixbuf-2.0.so.0()(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgthread-2.0.so.0()(64bit) libgtk-x11-2.0.so.0()(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libpango-1.0.so.0()(64bit) libpangocairo-1.0.so.0()(64bit) libpangoft2-1.0.so.0()(64bit) libpng16.so.16()(64bit) libpng16.so.16(PNG16_0)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libpthread.so.0(GLIBC_2.3.2)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.2)(64bit) libstdc++.so.6(CXXABI_1.3.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.14)(64bit) libstdc++.so.6(GLIBCXX_3.4.15)(64bit) libstdc++.so.6(GLIBCXX_3.4.18)(64bit) libstdc++.so.6(GLIBCXX_3.4.19)(64bit) libstdc++.so.6(GLIBCXX_3.4.20)(64bit) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libz.so.1()(64bit) libz.so.1(ZLIB_1.2.0)(64bit)
Processing files: freefilesync-debuginfo-8.2-1.fc23.x86_64
error: Empty %files file /home/bgstack15-local/rpmbuild/BUILD/freefilesync-8.2/debugfiles.list
RPM build errors:
Empty %files file /home/bgstack15-local/rpmbuild/BUILD/freefilesync-8.2/debugfiles.list
Lo que ya he probado
Porhttps://lists.opensuse.org/opensuse-buildservice/2015-11/msg00016.htmlYa intenté agregar esta línea a mi especificación como puede ver, pero no ayudó:
%global debug_package %{nil}
Por alguna razón, esta página no me proporciona información útil. ¿Quizás lo estoy leyendo mal?https://fedoraproject.org/wiki/Packaging:Debuginfo
Información extra
En realidad no programo. Simplemente empaqueto archivos binarios que ya me proporciona la empresa y empaqueto cosas para mí para mis implementaciones domésticas de GNU/Linux.
Respuesta1
En RPM, el orden de las secciones y macros importa. Especialmente para las %define
-s y %global
-s ("definiciones globales").
Mover (o agregarlo si aún no lo tiene) las secciones y %global debug_package %{nil}
anteriores debería hacer el trabajo.%prep
%setup
Respuesta2
En caso de que no desee alterar el archivo de especificaciones, puede ejecutar el comando como:
rpmbuild -ba -D 'debug_package %{nil}' package_name.spec
Respuesta3
Mi problema se resolvió moviendo la directiva %global justo debajo de la directiva %description. No sé por qué es importante la ubicación.
Respuesta4
Basado en la respuesta de @MrTau, pero para reconstruir desde .src.rpm:
rpmbuild -D 'debug_package %{nil}' --rebuild <package>.src.rpm