Hi Andreas!

I'm not sure if this really is FTBFS bug.  There is no official qmail binary
package in Debian, there's only qmail source package, from which qmail-src
package is built.  build-qmail script from qmail-src package should be used
to build qmail binary package.  Also note, that qmail-src does depend on
groff-base and also does create appropriate users/groups.  So no FTBFS when
building qmail package this (supported) way.  I guess autobuilders are not
trying to build qmail, just qmail-src.

Regarding your patch, no objections against Build-Depends, probably whole
Depends line of qmail-src should be used as Build-Depends for qmail:

dpkg-dev (>= 1.4.0.20), patch (>= 2.5-0bo1), gcc, make, fakeroot | sudo,
groff-base, debconf

However, part creating users/groups is bit bogus.  Qmail expects UIDs (not
user names!) of its users to be constant since compilation.  If you would
try to install such package on other machine with no qmail users, they will
be created by preinst script (see debian/preinst) with Debian default UIDs.
Qmail will not start on such machine and will complain about non-existent
users.

So users/groups should be created with appropriate UIDs/GIDs  OR  attached
patch can be applied.  It disables generation of auto_uids.c file
(specifies UIDs which are compiled into qmail binaries) at build time and
uses static file with Debian default UIDs.  It's just a copy of
debian/debian-default_uids.c.  I consider latter approach to be better (no
account creation/deletion needed on build machine), however maybe Jon is
aware of significant problems with this approach, because of which it is
not used (apart from problems in enviroment with existing qmail users with
different UIDs, which should IMHO be handled in preinst script).

But is it really RC FTBFS bug?

th.

diff -ruN qmail-1.03-orig/Makefile qmail-1.03/Makefile
--- qmail-1.03-orig/Makefile    2005-05-04 15:30:03.000000000 +0200
+++ qmail-1.03/Makefile 2005-05-04 14:09:48.000000000 +0200
@@ -110,19 +110,19 @@
 compile auto_split.c
        ./compile auto_split.c
 
-auto_uids.c: \
-auto-uid auto-gid conf-users conf-groups
-       ( ./auto-uid auto_uida `head -1 conf-users` \
-       &&./auto-uid auto_uidd `head -2 conf-users | tail -1` \
-       &&./auto-uid auto_uidl `head -3 conf-users | tail -1` \
-       &&./auto-uid auto_uido `head -4 conf-users | tail -1` \
-       &&./auto-uid auto_uidp `head -5 conf-users | tail -1` \
-       &&./auto-uid auto_uidq `head -6 conf-users | tail -1` \
-       &&./auto-uid auto_uidr `head -7 conf-users | tail -1` \
-       &&./auto-uid auto_uids `head -8 conf-users | tail -1` \
-       &&./auto-gid auto_gidq `head -1 conf-groups` \
-       &&./auto-gid auto_gidn `head -2 conf-groups | tail -1` \
-       ) > auto_uids.c.tmp && mv auto_uids.c.tmp auto_uids.c
+#auto_uids.c: \
+#auto-uid auto-gid conf-users conf-groups
+#      ( ./auto-uid auto_uida `head -1 conf-users` \
+#      &&./auto-uid auto_uidd `head -2 conf-users | tail -1` \
+#      &&./auto-uid auto_uidl `head -3 conf-users | tail -1` \
+#      &&./auto-uid auto_uido `head -4 conf-users | tail -1` \
+#      &&./auto-uid auto_uidp `head -5 conf-users | tail -1` \
+#      &&./auto-uid auto_uidq `head -6 conf-users | tail -1` \
+#      &&./auto-uid auto_uidr `head -7 conf-users | tail -1` \
+#      &&./auto-uid auto_uids `head -8 conf-users | tail -1` \
+#      &&./auto-gid auto_gidq `head -1 conf-groups` \
+#      &&./auto-gid auto_gidn `head -2 conf-groups | tail -1` \
+#      ) > auto_uids.c.tmp && mv auto_uids.c.tmp auto_uids.c
 
 auto_uids.o: \
 compile auto_uids.c
diff -ruN qmail-1.03-orig/TARGETS qmail-1.03/TARGETS
--- qmail-1.03-orig/TARGETS     2005-05-04 15:30:03.000000000 +0200
+++ qmail-1.03/TARGETS  2005-05-04 14:09:07.000000000 +0200
@@ -154,7 +154,6 @@
 auto-uid
 auto-gid.o
 auto-gid
-auto_uids.c
 auto_uids.o
 qmail-lspawn
 qmail-getpw.o
diff -ruN qmail-1.03-orig/auto_uids.c qmail-1.03/auto_uids.c
--- qmail-1.03-orig/auto_uids.c 1970-01-01 01:00:00.000000000 +0100
+++ qmail-1.03/auto_uids.c      2005-05-04 14:08:32.000000000 +0200
@@ -0,0 +1,10 @@
+int auto_uida = 64010;
+int auto_uidd = 64011;
+int auto_uidl = 64015;
+int auto_uido = 0;
+int auto_uidp = 64016;
+int auto_uidq = 64014;
+int auto_uidr = 64013;
+int auto_uids = 64012;
+int auto_gidq = 64010;
+int auto_gidn = 65534;

Reply via email to