Package: librpcsecgss
Version: 0.18-1
Severity: important
Tags: patch pending
User: glibc-bsd-de...@lists.alioth.debian.org
Usertags: kfreebsd

Hi,

please find attached a trivial patch to fix the FTBFS on GNU/kFreeBSD:
| /bin/sh ../libtool --tag=CC   --mode=link i486-kfreebsd-gnu-gcc  -g -O2 
-version-info 3:0:0 -Wl,-z,defs -o librpcsecgss.la -rpath /usr/lib 
librpcsecgss_la-auth_gss.lo librpcsecgss_la-authgss_prot.lo 
librpcsecgss_la-svc.lo librpcsecgss_la-svc_run.lo librpcsecgss_la-svc_auth.lo 
librpcsecgss_la-svc_auth_none.lo librpcsecgss_la-svc_auth_unix.lo 
librpcsecgss_la-svc_auth_gss.lo librpcsecgss_la-svc_raw.lo 
librpcsecgss_la-svc_simple.lo librpcsecgss_la-svc_tcp.lo 
librpcsecgss_la-svc_udp.lo librpcsecgss_la-rpc_commondata.lo 
librpcsecgss_la-clnt_generic.lo librpcsecgss_la-clnt_perror.lo 
librpcsecgss_la-clnt_raw.lo librpcsecgss_la-clnt_simple.lo 
librpcsecgss_la-clnt_tcp.lo librpcsecgss_la-clnt_udp.lo -lgssglue -ldl   
| i486-kfreebsd-gnu-gcc -shared  .libs/librpcsecgss_la-auth_gss.o 
.libs/librpcsecgss_la-authgss_prot.o .libs/librpcsecgss_la-svc.o 
.libs/librpcsecgss_la-svc_run.o .libs/librpcsecgss_la-svc_auth.o 
.libs/librpcsecgss_la-svc_auth_none.o .libs/librpcsecgss_la-svc_auth_unix.o 
.libs/librpcsecgss_la-svc_auth_gss.o .libs/librpcsecgss_la-svc_raw.o 
.libs/librpcsecgss_la-svc_simple.o .libs/librpcsecgss_la-svc_tcp.o 
.libs/librpcsecgss_la-svc_udp.o .libs/librpcsecgss_la-rpc_commondata.o 
.libs/librpcsecgss_la-clnt_generic.o .libs/librpcsecgss_la-clnt_perror.o 
.libs/librpcsecgss_la-clnt_raw.o .libs/librpcsecgss_la-clnt_simple.o 
.libs/librpcsecgss_la-clnt_tcp.o .libs/librpcsecgss_la-clnt_udp.o  -lgssglue 
-ldl  -Wl,-z -Wl,defs -Wl,-soname -Wl,librpcsecgss.so.3 -o 
.libs/librpcsecgss.so.3.0.0
| .libs/librpcsecgss_la-clnt_tcp.o: In function `rpcsecgss_clnttcp_create':
| 
/build/buildd-librpcsecgss_0.18-2-kfreebsd-i386-Una4UY/librpcsecgss-0.18/src/clnt_tcp.c:232:
 undefined reference to `arc4random'
| .libs/librpcsecgss_la-clnt_udp.o: In function `rpcsecgss_clntudp_bufcreate':
| 
/build/buildd-librpcsecgss_0.18-2-kfreebsd-i386-Una4UY/librpcsecgss-0.18/src/clnt_udp.c:160:
 undefined reference to `arc4random'
| collect2: ld returned 1 exit status


See e.g. 
https://buildd.debian.org/fetch.cgi?pkg=librpcsecgss&arch=kfreebsd-i386&ver=0.18-2&stamp=1246620313&file=log&as=raw

I'm going to upload to DELAYED/15 (so that the patch doesn't stay in the
BTS forever) once I've received the bug number, but feel free to do
another MU in the meanwhile (at least nfs-utils has a dep-wait on it,
although I'd bet it also needs some Linux-specific stuff). :)

I've noticed -2 FTBFS'd, but that also applies for -1.

Mraw,
KiBi.
diff -u librpcsecgss-0.18/debian/changelog librpcsecgss-0.18/debian/changelog
--- librpcsecgss-0.18/debian/changelog
+++ librpcsecgss-0.18/debian/changelog
@@ -1,3 +1,11 @@
+librpcsecgss (0.18-2.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Fix FTBFS on GNU/kFreeBSD by using getpid() (rather than arc4random())
+    not only if __linux__ is defined, but also if __GLIBC__ is defined.
+
+ -- Cyril Brulebois <k...@debian.org>  Fri, 03 Jul 2009 15:21:03 +0200
+
 librpcsecgss (0.18-2) unstable; urgency=low
 
    * DH compatibility level is 7
only in patch2:
unchanged:
--- librpcsecgss-0.18.orig/src/clnt_udp.c
+++ librpcsecgss-0.18/src/clnt_udp.c
@@ -154,7 +154,7 @@
 	cu->cu_total.tv_usec = -1;
 	cu->cu_sendsz = sendsz;
 	cu->cu_recvsz = recvsz;
-#ifdef __linux__
+#if defined (__linux__) || defined(__GLIBC__)
 	call_msg.rm_xid = getpid() ^ now.tv_sec ^ now.tv_usec;
 #else
 	call_msg.rm_xid = arc4random();
only in patch2:
unchanged:
--- librpcsecgss-0.18.orig/src/clnt_tcp.c
+++ librpcsecgss-0.18/src/clnt_tcp.c
@@ -226,7 +226,7 @@
 	 * Initialize call message
 	 */
 	(void)gettimeofday(&now, (struct timezone *)0);
-#ifdef __linux__
+#if defined (__linux__) || defined(__GLIBC__)
 	call_msg.rm_xid = getpid() ^ now.tv_sec ^ now.tv_usec;
 #else
 	call_msg.rm_xid = arc4random();

Reply via email to