Bug#771265: root-system, FTBFS on derivatives where lsb-release -d returns anything other than debian ubuntu or mint
peter green
plugwash at p10link.net
Fri Nov 28 04:03:58 UTC 2014
Package: root-system
root-system failed to build on raspbian with the following error.
Checking for libX11 ... no
configure: libX11 MUST be installed
See http://root.cern.ch/drupal/content/build-prerequisites
make: *** [config.status] Error 1
Checking the configure script revealed that the multiarch logic in the
configure script is only enabled if lsb-release -d returns "debian"
"ubuntu" or "mint".
lsb-release is a poor tool for identifying distributions because it has
no concept of derivative distributions. i.e. you can't ask "is the
system i'm running on a derivative of Debian". It would be possible to
just add raspbian to the list but I don't think maintaining an ever
growing list of derivatives of Debian is a good soloution.
For a Debian package it would of course be possible to patch out the
check completely (make it always use the multiarch codepath) but where
possible I like to write patches in a way that they can be upstreamed.
The approach I took is to use "dpkg-vendor --derives-from debian" after
checking if dpkg-vendor exists. I later realised a downside of this
approach is it will fail with a misleading error on Debian based systems
if dpkg-dev isn't installed. Obviously this is not an issue for Debian
package builds but may be an issue if the fix is pushed upstream.
Another option may simply be to look for a file that is only likely to
exist on Debian and Debian-based systems.
Yet another option may be to simply enable the multiarch related logic
unconditionally if it doesn't break things on systems that are not based
on Debian.
This is probablly something that should be discussed with upstream.
Another option would be to use /etc/os-release which has the "|ID_LIKE|"
field for identifying derivatives but i'm not aware of any conviniant
tools for parsing that and it's a relatively recent introduction.
While working on the above issue I also ran into a few other issues as
the environment I was working in was not a minimal up to date chroot.
1: the package FTBFS if libqt4-private-dev is installed due to the
configure script getting confused about paths.
2: the package fails to build with old versions of libpythia8-dev due to
changed file locations (I guess somone updated the configure script to
only look in the new locations and forgot to version the build-dep at
the same time)
3: the package failed to build with unixodbc-dev installed instead of
libiodbc2-dev (which is allowed by a | in the build-depends)
The attatched debdiff alters the configure script to fix the main issue
and alters the build-depends/conflicts to fix the other issues.
No intent to NMU.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: root-system.debdiff
URL: <http://lists.alioth.debian.org/pipermail/debian-science-maintainers/attachments/20141128/0640f6ae/attachment-0001.ksh>
More information about the debian-science-maintainers
mailing list