Проблемы с упаковкой .deb из autotools. (checkinstall, debhelper,…)

Сначала я:

make defconfig

Затем добавляю изменения настроек в .config , а затем:

make olddefconfig

Это должно «исправить» любые несоответствия, внесенные в конфигурацию. YMMV, поскольку он может не исправить их так, как вы ожидаете.

2
18.03.2018, 01:33
2 ответа

Загрузка вещей из интернета - это то, что сборка пакета Debian не должна делать. Если вы используете какой-нибудь помощник 'build in clean chroot', он даже не сможет этого сделать. Однако обычный dpkg-buildpackage должен быть в состоянии сделать это. Если ваша система сборки autotools делает все правильно, то ничего не нужно; в противном случае вам придется добавить необходимые команды в команду override_dh_foo (см. об этом в 'man dh').

Для модулей Python вам нужно установить .py файлы из вашей системы сборки, соблюдая $DESTDIR. Если вы это сделаете, debhelper в режиме dh должен просто DTRT.

Если ничего из этого не сработало, пожалуйста, создайте минимальную версию вашего пакета, которая демонстрирует проблему; в противном случае это очень похоже на проблему хрустального шара.

3
27.01.2020, 22:10

Я переосмыслил свой Makefile.am благодаря вам. И в итоге кое-что удалось получить.

  • Получение geckodriver

Я запускаю сценарий, чтобы получить его на этапе ./ configure , и помещаю его как файловую зависимость в пакет .deb, предполагая, что он находится в системе упаковки следующим образом:

bindeptsdir = \
    $(prefix)/bin
bindepts_DATA = \
    /usr/local/bin/geckodriver
  • Установка модуля python

$ (DESTDIR) действительно была здесь решением, теперь мой модуль python установлен следующим образом:

$(PYTHON) setup.py install \
    --root $(DESTDIR)

И он отлично работает, судя по тому, что я должен поместить это в свой debian / rules: override_dh_usrlocal: иначе он орет на меня, потому что я устанавливаю файлы в / usr / local

Я бы предпочел этого не делать, но python выполняет установку сам по себе, и я не могу указать установку дорожка. Другое решение заключалось в том, чтобы указать - префикс $ (DESTDIR) $ (prefix) вместо - root ... , но он устанавливает файлы в / usr / lib / python2.7 / site-packages , которого нет в пути python.

---

Окончательный результат "Appart from python" отлично работает с dpkg-buildpackage.

0
27.01.2020, 22:10

Теги

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