[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Creating a .deb: .buildinfo is meaningless



Hello,

So I am creating my first Debian package from source and I am now stuck with

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

which I have difficulties finding information for.
But my recipe may be wrong so any input will be appreciated.

I gave more details here (https://askubuntu.com/questions/1173509/creating-a-deb-dpkg-genbuildinfo-buildinfo-is-meaningless) and here they are:

I am building a .deb from sources.

In the debian/ folder I have:

  • compat to 10
  • copyright
  • changelog
  • control
  • rules

My control file:


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.

My rules file:


#!/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

I run everything with

sudo debuild -us -uc

I can see the compilation steps, until the error message.

I see my binary (actually two binaries) under debian/foo/usr/local/bin.

There is a directory debian/foo/DEBIAN/, but empty. I understand that's OK, DEBIAN would be for binary packages.

Note that when I run the binary target only with

sudo fakeroot debian/rules binary

it finishes alright:

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

    

Thanks!


Reply to: