[debhelper-devel] error: binary build with no binary artifacts found; .buildinfo is meaningless

Niels Thykier niels at thykier.net
Sun Jul 16 19:38:00 UTC 2017


Gunter Königsmann:
> Dear all,
> 

Hi,

Thanks for using debhelper. :)

> I never found any place you could ask debhelper questions in so I tried
> joining this mailing list:
> 

For most parts, I think people use generic support channels for
packaging.  Admittedly, most of them are aimed at helping you make
packages for a given distribution rather support of debhelper for third
party packages.

> I currently try to setup a nightly build for
> https://maxima.sourceforge.net, a computer algebra system. My first try
> went relatively well, actually: I created a package that was installable
> and worked, but all other programs needed the package to be split into
> two packages:
>  - maxima
>  - maxima-doc (with version requirement => a "provides" isn't sufficient).

> Since I started trying the package in 2 halves I never again got a
> working build.

When you have a single package, dh_auto_install installs everything
directly into your only package.  As soon as you have two packages, it
uses debian/tmp and you have to use (e.g.) dh_install to choose which
files go into which package.

I am guessing this is the root of your issue, but it is a bit of a guess.

> My current version of debian/control and debian/rules is
> attached to this mail.

Often it is easier to review the situation with the entire packaging
directory.  There are a number of auxiliary files that influence various
helper tools.

Here are the things I can tell from what I got (but remember I am
shooting a bit in the dark):

 * There is no (standard) debhelper tool called dh_genbuildinfo, so
   those overrides probably does not make sense.
   - Further, "override_dh_genbuildinfo-any" should end with "-arch"
     rather than "-any" to work.
   - NB: You cannot override dpkg-genbuildinfo as it is not called by
     dh itself.

 * I would rewrite d/rules to [1] and let the build run to its end.
   - This will probably terminate with an error from dh_install (or
     dh_missing) saying there is a bunch of files you have not
     installed.

 * Review the list of files from the previous step and distribute them
   between debian/maxima.install and debian/maxima-doc.install as
   appropriate.
   - Remember you can list directories and use wildcards in these files,
     which will help you keep them at a reasonable size.
   - If there are files that you do not want to install, you can put
     them in "debian/not-installed".

 * For parallel/faster builds, please ensure that your build process
   invokes dpkg-buildpackage with -J<value> (if you have dpkg 1.18.2 or
   later) or sets DEB_BUILD_OPTIONS=parallel=<value> otherwise.
   - The latter also work with dpkg 1.18.2 and later in case you need to
     support builds with different versions of dpkg.

I hope this helps. :)  If this does not work, please provide a build log
and the debian directory you used.

Thanks,
~Niels


[1]  I am assuming ./configure is compatible with or is the autotools
configure script

"""
#!/usr/bin/make -f

# The standard rule.
%:
	dh $@ --parallel

# Tell configure to produce a build for two lisps.
override_dh_auto_configure:
	./bootstrap
	dh_auto_configure -- --enable-sbcl --enable-clisp

override_dh_install:
	dh_install --fail-missing

override_dh_missing:
	dh_missing --fail-missing

get-orig-source:
	uscan --force-download --repack --rename --destdir .

.PHONY: get-orig-source
"""



More information about the debhelper-devel mailing list