Creating a .deb: dpkg-genbuildinfo: .buildinfo is meaningless

by Ehvince   Last Updated September 11, 2019 17:02 PM

So I want to create a .deb file too. I am now blocking at this error:

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

Which I have difficulties finding information for.

Of course, my recipes may be not correct so I'll appreciate any review!


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

(note that I tried to use override_dh_auto_build with no apparent success. I want to call make all of my Makefile).


I run everything with

sudo debuild -us -uc

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

I see my binary under debian/foo/usr/local/bin.

There is a directory debian/foo/DEBIAN/, but empty.

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/next/debian/next//usr/local/share/icons/hicolor/${i}x${i}/apps/" ; \
    cp -f assets/next_${i}x${i}.png "/home/vince/work/next/debian/next//usr/local/share/icons/hicolor/${i}x${i}/apps/next.png" ; \
    done
make[1]: Leaving directory '/home/vince/work/next'
dh_installdeb
# dh_gencontrol
# dh_md5sums
# dh_builddeb  # only binary packages ?
# make install

Thanks!



Related Questions


Updated March 07, 2019 15:02 PM

Updated June 22, 2019 01:02 AM

Updated December 01, 2015 14:01 PM

Updated April 03, 2018 06:02 AM

Updated September 25, 2018 14:02 PM