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!