Как решить проблему с исходным кодом dpkg при сборке пакета?

Кто-нибудь здесь имел опыт создания пакета Debian / Ubuntu? Я пытаюсь перенести пакет с лампами ( http://packages.ubuntu.com/quantal/lammps ) из Ubuntu 12.10 (Quantal) в Ubuntu 12.04

Мне нужен только неофициально - просто для удобства нужен пакет .deb при создании пользовательских образов виртуальных машин для развертывания на платформе IaaS.

Следуя Руководству по пакетированию Ubuntu по адресу https://wiki.ubuntu.com/PackagingGuide , я могу строить успешно, кроме случаев, когда я пытаюсь восстановить с помощью debuild Обычно я получаю эту ошибку:

 dpkg-source: error: aborting due to unexpected upstream changes, see
 /tmp/lammps_0~20120615.gite442279-1.diff.aie32n dpkg-source: info: you
 can integrate the local changes with dpkg-source --commit
 dpkg-buildpackage: error: dpkg-source --include-binaries -i -b
 lammps-0~20120615.gite442279 gave error exit status 2

Запуск 'make clean-all' в каталоге src все еще не решает проблему. Есть ли способ полностью удалить все файлы, которые были сгенерированы в процессе сборки, или попросить debuild игнорировать любые различия в исходных файлах?

16
задан 7 December 2012 в 17:55

7 ответов

Это означает, что вы применили изменения к распакованному исходному источнику, которые не являются частью патча в каталоге debian/patches/ или перечислены там в файле series, если они есть; и / или есть некоторая несогласованность в состоянии применения заплат лоскутным одеялом.

Если вы посмотрите на упомянутый файл в / tmp, то увидите изменения, о которых идет речь.

0
ответ дан 7 December 2012 в 17:55

Избегайте бюрократии Debian, просто создав двоичный файл: dpkg-buildpackage -b

0
ответ дан 7 December 2012 в 17:55

измените формат в debian / source / format с 3.0 (quilt) на 3.0 (native), если вы не хотите использовать quilt. Это решило проблему для меня в любом случае.

0
ответ дан 7 December 2012 в 17:55

@Thomas Vander Stichele

Я нашел обходной путь, который использует сгенерированный временный файл в качестве патча: https://www.theo-andreou.org/?p=1112# ТОС применяют-пластыри-для-политики соответствия

0
ответ дан 7 December 2012 в 17:55

Я видел эту проблему, когда quilt неправильно думал, что применил исправления к своей рабочей копии (текущий статус ее можно найти в папке .pc). Исправление в этом случае состояло в том, чтобы заставить лоскутное одеяло вытолкнуть все патчи с quilt pop -a -f.

0
ответ дан 7 December 2012 в 17:55

Это может произойти, если вы выполнили всю «бумажную работу» Debian, но у вас остались артефакты от предыдущих попыток. В частности, автоматически сгенерированные изменения в «config.sub», «config.guess» и «Makefile».

Вы можете поместить это в debian / source / options:

# Don't store changes on autogenerated files
extend-diff-ignore = "(^|/)(config\.sub|config\.guess|Makefile)$"

Ссылка: https://raphaelhertzog.com/2011/01/28/3-ways-to-not-clutter-your-debian- source-package-with-autogenerated-files /

0
ответ дан 15 December 2019 в 23:29

https://manpages.debian.org/jessie/debhelper/dh_clean.1.en.html

Configure часто изменяет исходное дерево, вы можете перечислить эти файлы в

debian/clean

Пример debian/clean

src/auto/config.h
src/auto/config.mk
0
ответ дан 14 September 2020 в 16:45

Другие вопросы по тегам:

Похожие вопросы: