Package: ifupdown
Version: 0.6.4-4.10
Severity: important
Tags: patch

Hello,

the following patch makes ifupdown installable on GNU/Hurd and
(supposedly) GNU/k*BSD. net-tools is not available for those arches (and
inetutils-tools is not quite there yet). Also, the test suite fails on
hurd-i386, so I added support to not run it if the 'nocheck' variable is
found in DEB_BUILD_OPTIONS. At least glibc uses this, and it will be
submitted to policy post-sarge, the gcc maintainer has also agreed to
use it.

We're currently using ifupdown during the bootstrap/installation process
(as netbase depends on it), so it would be nice if this patch could be
applied to save us from hacking ifupdown each time netbase depends on a
newer version of it (as has happened recently, breaking crosshurd).

I've attached an edited build log and a patch.


Thanks,

Michael
diff -u ifupdown-0.6.4/debian/changelog ifupdown-0.6.4/debian/changelog
--- ifupdown-0.6.4/debian/changelog
+++ ifupdown-0.6.4/debian/changelog
@@ -1,3 +1,15 @@
+ifupdown (0.6.4-4.10+gnu.1) unreleased; urgency=low
+
+  * Non-maintainer upload.
+  * debian/control (Depends): Replaced net-tools with ${net-tools}.
+  * debian/rules (DEB_BUILD_GNU_SYSTEM): New variable.
+  * debian/rules (binary-arch): Substitute ${net-tools} with `net-tools'
+    only when DEB_BUILD_GNU_SYSTEM is linux, leave it blank otherwise.
+  * debian/rules (test): Do not run tests if $DEB_BUILD_OPTIONS contains
+    `nocheck'.
+
+ -- Michael Banck <[EMAIL PROTECTED]>  Tue, 15 Feb 2005 16:41:47 +0100
+
 ifupdown (0.6.4-4.10) unstable; urgency=low
 
   * Non-maintainer upload. Fix critical bugs.
diff -u ifupdown-0.6.4/debian/control ifupdown-0.6.4/debian/control
--- ifupdown-0.6.4/debian/control
+++ ifupdown-0.6.4/debian/control
@@ -7,7 +7,7 @@
 
 Package: ifupdown
 Architecture: any
-Depends: net-tools, ${shlibs:Depends}, ${misc:Depends}, ${debconf-depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${net-tools}
 Suggests: iproute, dhcp3-client | dhcp-client, ppp
 Replaces: netbase (<< 4.00)
 Conflicts: dhcp-client (= 3.0.1betaRC4-1)
diff -u ifupdown-0.6.4/debian/rules ifupdown-0.6.4/debian/rules
--- ifupdown-0.6.4/debian/rules
+++ ifupdown-0.6.4/debian/rules
@@ -40,6 +40,8 @@
 # This is the debhelper compatability version to use.
 export DH_COMPAT=1
 
+DEB_BUILD_GNU_SYSTEM := $(shell dpkg-architecture -qDEB_BUILD_GNU_SYSTEM)
+
 # user/group of to-be-installed files
 ROOT_USER  := 0
 ROOT_GROUP := 0
@@ -73,6 +75,7 @@
        dh_testdir
 
        # Add here commands to test the package works.
+ifneq ($(DEB_BUILD_OPTIONS), nocheck)
        chmod a+rx debian/testbuild
        @echo running debian/testbuild
        @if ! debian/testbuild; then \
@@ -85,6 +88,7 @@
             echo '=================================================='; \
             exit 1; \
        fi
+endif
 
 clean:
        dh_testdir
@@ -163,8 +167,11 @@
 ifeq ($(PO2DEBCONF),yes)
        po2debconf -e utf8 debian/templates.master > debian/templates
 endif
+ifeq ($(DEB_BUILD_GNU_SYSTEM),linux)
+       dh_gencontrol -- -V'debconf-depends=debconf (>= $(MINDEBCONFVER))' 
-V'net-tools=net-tools' 
+else
        dh_gencontrol -- -V'debconf-depends=debconf (>= $(MINDEBCONFVER))'
-       dh_gencontrol
+endif
        dh_md5sums
        dh_builddeb
 
Automatic build of ifupdown_0.6.4-4.10 on beethoven by sbuild/hurd-i386 1.170.5
Build started at 20050215-1610
******************************************************************************
Checking available source versions...
Fetching source files...
Reading Package Lists...
Building Dependency Tree...
Need to get 108kB of source archives.
Get:1 http://ftp2.de.debian.org unstable/main ifupdown 0.6.4-4.10 (dsc) [587B]
Get:2 http://ftp2.de.debian.org unstable/main ifupdown 0.6.4-4.10 (tar) [51.2kB]
Get:3 http://ftp2.de.debian.org unstable/main ifupdown 0.6.4-4.10 (diff) 
[56.3kB]
Fetched 108kB in 0s (235kB/s)
Download complete and in download only mode
** Using build dependencies supplied by package:
Build-Depends: debhelper (>= 4.1.68), nowebm
Checking for already installed source dependencies...
debhelper: already installed (in sufficient version 4.2.30 >= 4.1.68)
nowebm: missing
Checking for source dependency conflicts...
  /usr/bin/sudo /usr/bin/apt-get --purge  -q -y install nowebm
Reading Package Lists...
Building Dependency Tree...
The following extra packages will be installed:
  iconx libx11-6 xlibs-data
The following NEW packages will be installed:
  iconx libx11-6 nowebm xlibs-data
0 upgraded, 4 newly installed, 0 to remove and 17 not upgraded.
Need to get 2277kB of archives.
[...]
Checking correctness of source dependencies...
Toolchain package versions: libc0.3-dev_2.3.2.ds1-20 gcc-3.3_1:3.3.5-2 
g++-3.3_1:3.3.5-2 binutils_2.15-5 libstdc++5-3.3-dev_1:3.3.5-2 
libstdc++5_1:3.3.5-2
------------------------------------------------------------------------------
dpkg-source: extracting ifupdown in ifupdown-0.6.4
dpkg-buildpackage: source package is ifupdown
dpkg-buildpackage: source version is 0.6.4-4.10
dpkg-buildpackage: host architecture is hurd-i386
[...]
touch build-stamp
dh_testdir
# Add here commands to test the package works.
chmod a+rx debian/testbuild
running debian/testbuild
debian/testbuild: line 113: 21019 Segmentation fault      ./ifup -nv --force -a 
-i tests/testcase.$test >tests/up-res-out.$test 2>tests/up-res-err.$test
Testcase 1:
--- tests/up.1  2005-02-15 16:14:10.000000000 +0100
+++ tests/up-res.1      2005-02-15 16:14:11.000000000 +0100
@@ -1,8 +1,3 @@
 ====stdout====
 ====stderr====
 Configuring interface eth0=eth0 (inet)
-run-parts /etc/network/if-pre-up.d
-
-ifconfig eth0 1.2.3.4 netmask 255.255.255.0     up
-
-run-parts /etc/network/if-up.d
(failed)
==========
debian/testbuild: line 113: 21025 Segmentation fault      ./ifup -nv --force -a 
-i tests/testcase.$test >tests/up-res-out.$test 2>tests/up-res-err.$test
Testcase 2:
--- tests/up.2  2005-02-15 16:14:10.000000000 +0100
+++ tests/up-res.2      2005-02-15 16:14:11.000000000 +0100
@@ -1,38 +1,3 @@
 ====stdout====
 ====stderr====
 Configuring interface eth0=eth0 (inet)
-run-parts /etc/network/if-pre-up.d
-
-ifconfig eth0 1.2.3.4 netmask 255.255.255.0     up
-
-run-parts /etc/network/if-up.d
-Configuring interface eth1=eth1 (inet)
-run-parts /etc/network/if-pre-up.d
-
-ifconfig eth1 1.3.4.5 netmask 255.255.255.0     up
-
-run-parts /etc/network/if-up.d
-Configuring interface eth2=eth2 (inet)
-run-parts /etc/network/if-pre-up.d
-
-ifconfig eth2 1.4.5.6 netmask 255.255.255.0     up
-
-run-parts /etc/network/if-up.d
-Configuring interface eth3=eth3 (inet)
-run-parts /etc/network/if-pre-up.d
-
-ifconfig eth3 1.5.6.7 netmask 255.255.255.0     up
-
-run-parts /etc/network/if-up.d
-Configuring interface eth4=eth4 (inet)
-run-parts /etc/network/if-pre-up.d
-
-ifconfig eth4 1.7.8.9 netmask 255.255.255.0     up
-
-run-parts /etc/network/if-up.d
-Configuring interface eth5=eth5 (inet)
-run-parts /etc/network/if-pre-up.d
-
-ifconfig eth5 1.8.9.10 netmask 255.255.255.0    up
-
-run-parts /etc/network/if-up.d
(failed)
==========
debian/testbuild: line 113: 21030 Segmentation fault      ./ifup -nv --force -a 
-i tests/testcase.$test >tests/up-res-out.$test 2>tests/up-res-err.$test
Testcase 3:
--- tests/up.3  2005-02-15 16:14:10.000000000 +0100
+++ tests/up-res.3      2005-02-15 16:14:11.000000000 +0100
@@ -1,14 +1,3 @@
 ====stdout====
 ====stderr====
 Configuring interface eth0=eth0 (inet)
-run-parts /etc/network/if-pre-up.d
-
-ifconfig eth0 1.2.3.4 netmask 255.255.255.0             up
-
-run-parts /etc/network/if-up.d
-Configuring interface eth0=eth0 (inet6)
-run-parts /etc/network/if-pre-up.d
-ifconfig eth0    up
-ifconfig eth0 add 3ffe:ffff:100:f101::1/64
-
-run-parts /etc/network/if-up.d
(failed)
==========
(failed overall)
==================================================
AUTOMATIC TESTS FAILED -- Something built wrong or
there is a bug in the code!!! Either way something
is completely screwed up!!! File a bug!

Aborting build.
==================================================
make: *** [test] Error 1
******************************************************************************
Build finished at 20050215-1614
FAILED [dpkg-buildpackage died]

Reply via email to