Package: qdbm
Version: 1.8.33-2
Severity: serious
Justification: FTBFS
Tags: patch

Hi Fumitoshi,

qdbm is failing to build on alpha and mips because the upstream software
believes it's appropriate to use -I$(HOME)/include as a default include
path, and if gcc is given an include path that it can't access, it will
fail:

[...]
# Add here commands to configure the package.
CFLAGS="-Wall -g -O2" CPPFLAGS="" JAVAC="gcj-wrapper" JAR="fastjar" ./configure 
--host=alpha-linux-gnu --build=alpha-linux-gnu -prefix=/usr 
--mandir=\${prefix}/share/man --infodir=\${prefix}/share/info 
--includedir=\${prefix}/include/qdbm --enable-pthread --enable-zlib 
--enable-iconv --enable-java --with-gcj
#================================================================
# Configuring QDBM version 1.8.74 (pthread) (zlib) (iconv).
#================================================================
checking for alpha-linux-gnu-gcc... alpha-linux-gnu-gcc
checking for C compiler default output file name... configure: error: C
compiler cannot create executables
See `config.log' for more details.
[...]

You can find a full build log at
<http://buildd.debian.org/fetch.cgi?pkg=qdbm&arch=alpha&ver=1.8.74-1&stamp=1162755342>.

It is wrong for a package build to assume anything about the contents or use
of the directory pointed to by $HOME.  In the case of autobuilders which use
sudo (e.g., the Debian autobuilders for alpha, mips, and mipsel), the $HOME
directory may exist and be unreadable as a result of other misbehaving
packages which create it as the root user.  In other cases, the directory
$HOME/include may exist, but it may contain headers that it's totally
inappropriate for a Debian package to use when building!

As a workaround, please find attached a patch which explicitly sets $HOME to
a local directory inside the build tree when building, to solve the problem
of build failures or contaminated builds.

This bug affects both the testing and unstable versions of qdbm, and it also
currently prevents the fix for bug #367374 in hyperestraier from reaching
testing, so your help in fixing this promptly would be appreciated.  I will
NMU this package directly to unstable in 2 days if I don't hear back from
you, because the hyperestraier bug has been stalled in unstable now for
quite some time.

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
[EMAIL PROTECTED]                                   http://www.debian.org/
diff -u qdbm-1.8.74/debian/changelog qdbm-1.8.74/debian/changelog
--- qdbm-1.8.74/debian/changelog
+++ qdbm-1.8.74/debian/changelog
@@ -1,3 +1,14 @@
+qdbm (1.8.74-1.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * High-urgency upload for RC bugfix.
+  * Set HOME=$(CURDIR)/junkhome when building, otherwise the package build
+    will incorrectly look for headers there -- and fail when the directory
+    exists and is unreadable, as happens sometimes on sudo-using
+    autobuilders!
+
+ -- Steve Langasek <[EMAIL PROTECTED]>  Sun, 12 Nov 2006 03:21:30 -0800
+
 qdbm (1.8.74-1) unstable; urgency=low
 
   * New upstream release
diff -u qdbm-1.8.74/debian/rules qdbm-1.8.74/debian/rules
--- qdbm-1.8.74/debian/rules
+++ qdbm-1.8.74/debian/rules
@@ -9,6 +9,10 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
+# work-around for upstream build that thinks $(HOME) belongs in the
+# include path for all builds!
+export HOME=$(CURDIR)/junkhome
+
 # shared library versions, option 1
 #version=11.0.0
 major=14

Reply via email to