Создание .deb: dpkg-genbuildinfo: .buildinfo не имеет смысла

Поэтому я тоже хочу создать файл.deb. Я сейчас блокирую эту ошибку:

dh_installdeb
 dpkg-genbuildinfo
dpkg-genbuildinfo: error: binary build with no binary artifacts found; .buildinfo is meaningless

Для чего мне трудно найти информацию.

Конечно, мои рецепты могут быть неправильными, поэтому я буду благодарен за любой отзыв!


Я строю.deb из источников.

в debian/ папка у меня есть:

  • Compat до 10
  • авторское право
  • изменения
  • контроль
  • правила

Мой контрольный файл:

Source: foo
Maintainer: foo developers
Section: Web Software
Priority: extra
Version: 1.3.1
Standards-Version: 1.3.1
Build-Depends: debhelper (>= 8.0.0)

Package: foo
Architecture: any
Priority: extra
Homepage: http://foo.com
Depends: sbcl (>= 1.3),
         ${shlibs:Depends},
         libwebkit2gtk-4.0-dev (>= 2.24),
         default-dbus-session-bus | dbus-session-bus,
         glib-networking,
         sqlite,
         gsettings-desktop-schemas,
         libfixposix,
         gstreamer,
         gst-plugins-base-1.0,
         xclip,
         ${misc:Depends}
Description: foo
  foo is foo.

Мой файл правил:

#!/usr/bin/make -f
DH_VERBOSE = 1

%:
    dh $@

NAME=foo
VERSION=1.3.1
DESTDIR=$(CURDIR)/debian/$(NAME)/


build:
    dh_testdir
    dh_testroot
    dh_prep
    make all

# I quickly tried this
# override_dh_auto_build:
    # dh_auto_build -- all
# with no apparent effect
# (I want to call `make all` of my Makefile).

binary:
    dh_testdir
    dh_testroot
    dh_installchangelogs
    dh_prep
    echo $(DESTDIR)
    make install DESTDIR=$(DESTDIR)

    dh_installdeb
    # dh_gencontrol
    # dh_md5sums
    # dh_builddeb  # only for binary packages ?

# override_dh_auto_binary:
    # make install

clean:
    dh_testdir
    dh_testroot
    # make clean DESTDIR=$(DESTDIR)
    # dh_clean

(обратите внимание, что я пытался использовать override_dh_auto_build без видимого успеха. Я хочу позвонить make all моего Makefile).


Я бегу все с

sudo debuild -us -uc

Я вижу шаги компиляции, пока не появится сообщение об ошибке.

Я вижу свой бинарный файл под debian/foo/usr/local/bin,

Есть каталог debian/foo/DEBIAN/, но пусто.

Обратите внимание, что когда я запускаю двоичную цель только с

sudo fakeroot debian/rules binary

это заканчивается хорошо:

for i in 16 32 128 256 512; do \
    mkdir -p "/home/vince/work/foo/debian/foo//usr/local/share/icons/hicolor/${i}x${i}/apps/" ; \
    cp -f assets/foo_${i}x${i}.png "/home/vince/work/foo/debian/foo//usr/local/share/icons/hicolor/${i}x${i}/apps/foo.png" ; \
    done
make[1]: Leaving directory '/home/vince/work/foo'
dh_installdeb
# dh_gencontrol
# dh_md5sums
# dh_builddeb  # only binary packages ?
# make install

Благодарность!


Документация, на которую я смотрю:

1 ответ

Я понял, определяя build цель с ее партией правил "dh_" - не тот путь.

Я переписал это с

override_dh_auto_build:
    $(MAKE) all

Я также добавил

override_dh_usrlocal:
    echo

чтобы избежать

рабочий стол не каталог

ошибка, которую я не понимаю, и мой.deb строит нормально.

У меня еще есть

dpkg-genbuildinfo: ошибка: неправильно сформированная строка в файле списка файлов, строка 2

в конце концов.

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