Bug#711872: as root, build succeeds but tests do not - no 'gdnsd' user

2013-06-10 Thread Alexander Clouter
Package: gdnsd
Version: 1.8.3-1
Severity: serious
Tags: upstream patch
Justification: fails to build from source


The tests fail to start as the 'gdnsd' user does not exist on a fresh system at 
build time (might be worth changing the tests to use the 'nobody' user?  patch 
enclosed):

root@dnsdev-1-t42:/usr/src# wget 
http://ftp.de.debian.org/debian/pool/main/g/gdnsd/gdnsd_1.8.3-1.dsc 
http://ftp.de.debian.org/debian/pool/main/g/gdnsd/gdnsd_1.8.3.orig.tar.xz 
http://ftp.de.debian.org/debian/pool/main/g/gdnsd/gdnsd_1.8.3-1.debian.tar.xz
root@dnsdev-1-t42:/usr/src# dpkg-source -x gdnsd_1.8.3-1.dsc
root@dnsdev-1-t42:/usr/src# cd gdnsd-1.8.3/
root@dnsdev-1-t42:/usr/src/gdnsd-1.8.3# dpkg-buildpackage -rfakeroot -us -uc -b
[snipped]
Making check in docs
make[3]: Entering directory `/usr/src/gdnsd-1.8.3/docs'
make[3]: Nothing to be done for `check'.
make[3]: Leaving directory `/usr/src/gdnsd-1.8.3/docs'
Making check in t
make[3]: Entering directory `/usr/src/gdnsd-1.8.3/t'
make  check-local
make[4]: Entering directory `/usr/src/gdnsd-1.8.3/t'
Test data/outputs will be stored at /usr/src/gdnsd-1.8.3/t/testout
if test x != x; then \
TOP_BUILDDIR=/usr/src/gdnsd-1.8.3 
TESTOUT_DIR=/usr/src/gdnsd-1.8.3/t/testout TESTPORT_START=12345 /usr/bin/perl 
-I. -MTest::Harness -e runtests(@ARGV) ./; \
else \
TOP_BUILDDIR=/usr/src/gdnsd-1.8.3 
TESTOUT_DIR=/usr/src/gdnsd-1.8.3/t/testout TESTPORT_START=12345 /usr/bin/perl 
-I. -MTest::Harness -e runtests(@ARGV) ./[0-9]*/*.t; \
fi
./001basic/001self.t  7/9 Bailout called.  Further testing 
stopped:  gdnsd failed to finish starting properly.  output (if any):

#   Failed test at ./001basic/001self.t line 23.
# Cannot spawn daemon: gdnsd failed to finish starting properly.  output (if 
any):
# Created directory [/usr/src/gdnsd-1.8.3/t/testout/001basic_001self]/etc/geoip
# Created directory [/usr/src/gdnsd-1.8.3/t/testout/001basic_001self]/run
# Loading configuration from 'etc/config'
# DNS listener configured for 127.0.0.1:12345
# DNS listener configured for [::1]:12345
# User 'gdnsd' does not exist
FAILED--Further testing stopped: gdnsd failed to finish starting properly.  
output (if any):
make[4]: *** [check-local] Error 255
make[4]: Leaving directory `/usr/src/gdnsd-1.8.3/t'
make[3]: *** [check-am] Error 2
make[3]: Leaving directory `/usr/src/gdnsd-1.8.3/t'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/usr/src/gdnsd-1.8.3'
make[1]: *** [check] Error 2
make[1]: Leaving directory `/usr/src/gdnsd-1.8.3'
dh_auto_test: make -j1 test returned exit code 2
make: *** [build] Error 29
dpkg-buildpackage: error: debian/rules build gave error exit status 2

diff -u -r gdnsd-1.8.3/t/001basic/gdnsd.conf gdnsd-1.8.3.orig/t/001basic/gdnsd.conf
--- gdnsd-1.8.3/t/001basic/gdnsd.conf	2013-06-10 12:45:21.0 +
+++ gdnsd-1.8.3.orig/t/001basic/gdnsd.conf	2013-02-04 23:12:22.0 +
@@ -3,6 +3,5 @@
   http_listen = @http_lspec@
   dns_port = @dns_port@
   http_port = @http_port@
-  username = nobody
   realtime_stats = true
 }
diff -u -r gdnsd-1.8.3/t/002simple/gdnsd.conf gdnsd-1.8.3.orig/t/002simple/gdnsd.conf
--- gdnsd-1.8.3/t/002simple/gdnsd.conf	2013-06-10 12:45:22.0 +
+++ gdnsd-1.8.3.orig/t/002simple/gdnsd.conf	2013-02-04 23:12:22.0 +
@@ -3,7 +3,6 @@
   http_listen = @http_lspec@
   dns_port = @dns_port@
   http_port = @http_port@
-  username = nobody
   include_optional_ns = true
   realtime_stats = true
   udp_recv_width = 1
diff -u -r gdnsd-1.8.3/t/003complex/gdnsd.conf gdnsd-1.8.3.orig/t/003complex/gdnsd.conf
--- gdnsd-1.8.3/t/003complex/gdnsd.conf	2013-06-10 12:44:52.0 +
+++ gdnsd-1.8.3.orig/t/003complex/gdnsd.conf	2013-02-04 23:12:22.0 +
@@ -3,7 +3,6 @@
   http_listen = @http_lspec@
   dns_port = @dns_port@
   http_port = @http_port@
-  username = nobody
   zones_default_ttl = 21600
   realtime_stats = true
   max_response = 62464
diff -u -r gdnsd-1.8.3/t/004misc/gdnsd.conf gdnsd-1.8.3.orig/t/004misc/gdnsd.conf
--- gdnsd-1.8.3/t/004misc/gdnsd.conf	2013-06-10 12:44:49.0 +
+++ gdnsd-1.8.3.orig/t/004misc/gdnsd.conf	2013-02-04 23:12:22.0 +
@@ -3,7 +3,6 @@
   http_listen = @http_lspec@
   dns_port = @dns_port@
   http_port = @http_port@
-  username = nobody
   include_optional_ns = true
   realtime_stats = true
   max_response = 62464
diff -u -r gdnsd-1.8.3/t/005tld/gdnsd.conf gdnsd-1.8.3.orig/t/005tld/gdnsd.conf
--- gdnsd-1.8.3/t/005tld/gdnsd.conf	2013-06-10 12:45:07.0 +
+++ gdnsd-1.8.3.orig/t/005tld/gdnsd.conf	2013-02-04 23:12:22.0 +
@@ -3,7 +3,6 @@
   http_listen = @http_lspec@
   dns_port = @dns_port@
   http_port = @http_port@
-  username = nobody
   zones_default_ttl = 43200
   realtime_stats = true
 }
diff -u -r gdnsd-1.8.3/t/006root/gdnsd.conf gdnsd-1.8.3.orig/t/006root/gdnsd.conf
--- gdnsd-1.8.3/t/006root/gdnsd.conf	2013-06-10 12:45:32.0 +
+++ 

Bug#711872: as root, build succeeds but tests do not - no 'gdnsd' user

2013-06-10 Thread Faidon Liambotis

severity 711872 minor
thanks

On Mon, Jun 10, 2013 at 03:43:37PM +0100, Alexander Clouter wrote:
The tests fail to start as the 'gdnsd' user does not exist on a fresh 
system at build time (might be worth changing the tests to use the 
'nobody' user?  patch enclosed):


This is actually the case only if you run the build as root. The package 
builds fine if you build it from an unprivileged users' environment, 
including nobody. That's also the case with Debian's autobuild network, 
which is why the package has built successfully on all releaseable 
architectures[1].


You should never build packages as root as this is dangerous for your 
system. Nevertheless, this is indeed a minor bug that should be fixed. 


Thanks,
Faidon

1: https://buildd.debian.org/status/package.php?p=gdnsd


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org