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