RPM 빌드 오류: 빈 %files 파일 debugfiles.list

RPM 빌드 오류: 빈 %files 파일 debugfiles.list

문제와 환경

코로라 23(페도라 23)
rpmbuild --versionRPM version 4.13.0-rc1

로컬 패키지를 만들려고합니다.freefilesync나 자신을 위해. 이 사이트는 Fedora용으로 패키징하려는 openSUSE 버전을 제공합니다.

나의사양 파일.

오류

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

내가 이미 시도한 것

https://lists.opensuse.org/opensuse-buildservice/2015-11/msg00016.html보시다시피 이미 내 사양에 다음 줄을 추가하려고 시도했지만 도움이 되지 않았습니다.

%global debug_package %{nil}

어떤 이유로 이 페이지에서는 유용한 정보를 제공하지 않습니다. 어쩌면 내가 잘못 읽고 있는 건 아닐까?https://fedoraproject.org/wiki/Packaging:Debuginfo

추가 정보

저는 실제로 프로그래밍을 하지 않습니다. 저는 회사에서 이미 제공한 바이너리를 패키지하고 GNU/Linux의 홈 배포를 위해 직접 패키지를 만듭니다.

답변1

RPM에서는 섹션과 매크로의 순서가 중요합니다. 특히 %define-s 및 %global-s("전역 정의")의 경우.

%global debug_package %{nil}위의 %prep및 섹션을 이동(또는 아직 없는 경우 추가)하면 %setup작업이 수행됩니다.

답변2

사양 파일을 조작하지 않으려는 경우 다음과 같이 명령을 실행할 수 있습니다.

rpmbuild -ba -D 'debug_package %{nil}' package_name.spec

답변3

내 문제는 %global 지시문을 %description 지시문 바로 아래로 이동하여 해결되었습니다. 배치가 왜 중요한지 모르겠습니다.

답변4

@MrTau의 답변을 기반으로 하지만 .src.rpm에서 다시 빌드하는 경우:

rpmbuild -D 'debug_package %{nil}' --rebuild <package>.src.rpm 

관련 정보