[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