Як вирішити проблему джерела dpkg-джерела при складанні пакету?


16

Хтось тут мав певний досвід створення пакету 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 все ще не вирішує проблему. Чи є спосіб повністю очистити всі файли, що були створені в процесі збирання, або попросити декламувати ігнорувати будь-які відмінності у вихідних файлах?

Відповіді:


6

Це означає, що ви застосували зміни до розпакованого вихідного джерела, які не є частиною патча в debian/patches/каталозі, або перераховані у seriesфайлі там, якщо вони є; та / або є деяка невідповідність стану застосування ковдр пластирів.

Переглядаючи згаданий файл у / tmp, ви побачите відповідні зміни.


Дякую вам за швидку відповідь! Чи є швидкий спосіб відновити зміни, зроблені "make", замість того, щоб скасувати всі записи змін у файлі / tmp / * diff *?
ханкс

29

Уникайте бюрократії Debian, просто побудувавши двійкове: dpkg-buildpackage -b


1
Це не так корисно, якщо ви збираєтесь завантажувати в debian.
єремія

4
@jeremiah, але дуже корисно, якщо ви налаштовуєте пакет debian для особистого використання.
Wyatt8740

10

змінити формат в debian / source / format з 3.0 (ковдру) на 3.0 (рідний), якщо ви не хочете використовувати ковдру. Це все одно вирішило для мене проблему.


ЦЕ! Ковдра неможлива.
Jay _silly_evarlast_ Wren

1
Я наївно слідкував за цим коментарем, як є. Чистим ефектом буде те, що ваша збірка більше не буде використовувати патчі в debian / patches. Чи можете ви, будь ласка, розширити відповідь, пояснивши, як ви додаєте необхідну магію до debian / правил, щоб фактично застосувати виправлення?
Томас Вандер Стіхеле


1

Я бачив цю проблему, коли неправильно прошив коду, що я застосував патчі до своєї робочої копії (її поточний стан можна знайти в папці .pc). Виправлення в цьому випадку полягало в тому, щоб змусити ковдру вискакувати всі патчі quilt pop -a -f.


0

Це може статися, якщо ви виконали всі "документи" 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/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.