Package: dietlibc Version: 0.31-1 Severity: grave Tags: patch Justification: renders package unusable
Hi, As it turns out dietlibc-0.31 doesn't properly define the umount2 symbols on two architectures: alpha and ia64. This sadly results in a build regression for util-vserver, which used to build on these architectures, but is refusing to build now. This is holding back an important transition of the package into Lenny. In otherwords, if this package cannot be built on alpha/ia64, then it will not be usable for most cases in Lenny due to the previous version not functioning properly in two important respects. The buildlogs which demonstrate this problem are: alpha: http://buildd.debian.org/fetch.cgi?&pkg=util-vserver&ver=0.30.216%7Er2772-5&arch=alpha&stamp=1227907425&file=log ia64: http://buildd.debian.org/fetch.cgi?&pkg=util-vserver&ver=0.30.216%7Er2772-5&arch=ia64&stamp=1227907303&file=log both complain, rightly: diet -Os gcc -Wall -g -O2 -std=c99 -Wall -pedantic -W -funit-at-a-time -o src/exec-remount src/exec-remount.o lib/libvserver.a src/exec-remount.o: In function `main': /build/buildd/util-vserver-0.30.216~r2772/src/exec-remount.c:110: undefined reference to `umount2' collect2: ld returned 1 exit status The solution to this is the attached patch, I believe. micah -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.26-1-vserver-686 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash dietlibc depends on no packages. dietlibc recommends no packages. Versions of packages dietlibc suggests: ii dietlibc-dev 0.31-1 diet libc - a libc optimized for s pn dietlibc-doc <none> (no description available) -- no debconf information
--- a/syscalls.s/umount.S 9 Jan 2001 17:57:49 -0000 1.1 +++ b/syscalls.s/umount.S 10 Dec 2008 20:21:33 -0000 @@ -1,3 +1,7 @@ #include "syscalls.h" +#if defined(__NR_oldumount) && defined(__NR_umount) +syscall(oldumount,umount) +#else syscall(umount,umount) +#endif --- a/syscalls.s/umount2.S 4 Jan 2003 22:21:48 -0000 1.2 +++ b/syscalls.s/umount2.S 10 Dec 2008 20:21:33 -0000 @@ -1,5 +1,7 @@ #include "syscalls.h" -#ifdef __NR_umount2 +#if defined(__NR_umount2) syscall(umount2,umount2) +#elif defined(__NR_oldumount) && defined(__NR_umount) +syscall(umount,umount2) #endif