Ошибка сборки RPM: пустой файл% файл debugfiles.list

3898
bgStack15

Проблема и окружающая среда

Корора 23 (Fedora 23)
rpmbuild - версияRPM version 4.13.0-rc1

Я пытаюсь сделать локальный пакет freefilesync для себя. Сайт предлагает версию openSUSE, которую я пытаюсь запаковать для Fedora.

Мой файл спецификаций .

Ошибка

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 % 

По какой-то причине эта страница не предоставляет мне полезной информации. Может я читаю это неправильно? https://fedoraproject.org/wiki/Packaging:Debuginfo

Дополнительная информация

Я на самом деле не программирую. Я просто упаковываю двоичные файлы, уже предоставленные фирмой, и упаковываю вещи для себя для своих домашних развертываний GNU / Linux.

5
У вашего spec-файла есть несколько проблем. Список изменений, безусловно, должен быть последним разделом, в вашем rpm отсутствует раздел сборки и так далее. Отладка была просто шумом, я думаю. С этим [spec] (http://pastebin.com/53MSVpSp) (и официальным источником) я могу перейти к сборке (которая не работает). Это все еще потребует некоторой заботы (зависимости, или соберите связанное вещество также) Jakuje 7 лет назад 0
Вау, в то же время Спасибо за информацию о спецификациях. Я изучал файлы спецификаций, читая справочные страницы. Так или иначе это никогда не подходило прежде! bgStack15 7 лет назад 0

2 ответа на вопрос

5
Jakuje

В RPM порядок разделов и макросов имеет значение. Особенно для %define-s и %global-s ("глобальные определения").

Перемещение %global debug_package %выше %prepи %setupсекций должен делать эту работу.

1
bgStack15

Моя проблема была решена путем перемещения директивы% global ниже директивы% description. Я не знаю, почему размещение имеет значение.