Кто-нибудь здесь имел опыт создания пакета 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 игнорировать любые различия в исходных файлах?
Это означает, что вы применили изменения к распакованному исходному источнику, которые не являются частью патча в каталоге debian/patches/
или перечислены там в файле series
, если они есть; и / или есть некоторая несогласованность в состоянии применения заплат лоскутным одеялом.
Если вы посмотрите на упомянутый файл в / tmp, то увидите изменения, о которых идет речь.
Избегайте бюрократии Debian, просто создав двоичный файл: dpkg-buildpackage -b
измените формат в debian / source / format с 3.0 (quilt) на 3.0 (native), если вы не хотите использовать quilt. Это решило проблему для меня в любом случае.
@Thomas Vander Stichele
Я нашел обходной путь, который использует сгенерированный временный файл в качестве патча: https://www.theo-andreou.org/?p=1112# ТОС применяют-пластыри-для-политики соответствия
Я видел эту проблему, когда quilt неправильно думал, что применил исправления к своей рабочей копии (текущий статус ее можно найти в папке .pc). Исправление в этом случае состояло в том, чтобы заставить лоскутное одеяло вытолкнуть все патчи с quilt pop -a -f
.
Это может произойти, если вы выполнили всю «бумажную работу» 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://manpages.debian.org/jessie/debhelper/dh_clean.1.en.html
Configure часто изменяет исходное дерево, вы можете перечислить эти файлы в
debian/clean
Пример debian/clean
src/auto/config.h
src/auto/config.mk