Как решить проблему с исходным кодом 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
задан 16.02.2020, 14:42

5 ответов

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

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

6
ответ дан 16.02.2020, 14:45
  • 1
    Большое спасибо за быстрый ответ! Есть ли быстрый способ восстановить изменения, сделанные ' make' вместо того, чтобы отменить все изменения записывают в/tmp / *diff* файл? – brandizzi 16.02.2020, 14:45

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

28
ответ дан 16.02.2020, 14:42
  • 1
    @jeremiah, но очень полезный, если you' ре, настраивающее debian пакет для персонального использования. – Dora 16.02.2020, 14:43
  • 2
    Это не настолько полезно, если Вы намереваетесь загрузить на debian. – wim 16.02.2020, 14:43

@Thomas Vander Stichele

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

2
ответ дан 16.02.2020, 14:43

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

10
ответ дан 16.02.2020, 14:44
  • 1
    ЭТО! Стеганое одеяло невозможно. – Alexey Romanov 16.02.2020, 14:44
  • 2
    Я наивно следовал этому комментарию, как. Результирующий эффект будет состоять в том, что Ваша сборка больше не будет использовать патчи в debian/patches. Вы могли подробно остановиться на ответе путем объяснения, как Вы добавляете необходимое волшебство к debian/rules для фактического применения патчей? – Martin 16.02.2020, 14:44

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

1
ответ дан 16.02.2020, 14:44

Теги

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