Subject: pkg/26640: samba-3.0.5 fails to install on FreeBSD 5.x (and IRIX/AIX)
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <john.benninghoff@rbcdain.com>
List: pkgsrc-bugs
Date: 08/13/2004 16:19:21
>Number: 26640
>Category: pkg
>Synopsis: samba-3.0.5 fails to install on FreeBSD 5.x (and IRIX/AIX)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Aug 13 18:44:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: John Benninghoff
>Release: pkgsrc-current
>Organization:
>Environment:
FreeBSD 5.2.1-RELEASE-p9 i386 GENERIC
>Description:
The nss winbind and wins libraries have different names on FreeBSD 5, IRIX, and AIX:
from samba-3.0.5/source/configure:
-- SNIP --
case "$host_os" in
*linux*)
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_linux.o"
;;
*freebsd5*)
# FreeBSD winbind client is implemented as a wrapper around
# the Linux version.
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_freebsd.o \
nsswitch/winbind_nss_linux.o"
WINBIND_NSS="nsswitch/nss_winbind.$SHLIBEXT"
WINBIND_WINS_NSS="nsswitch/nss_wins.$SHLIBEXT"
;;
*irix*)
# IRIX has differently named shared libraries
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_irix.o"
WINBIND_NSS="nsswitch/libns_winbind.$SHLIBEXT"
WINBIND_WINS_NSS="nsswitch/libns_wins.$SHLIBEXT"
;;
*solaris*)
# Solaris winbind client is implemented as a wrapper around
# the Linux version.
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_solaris.o \
nsswitch/winbind_nss_linux.o"
WINBIND_NSS_EXTRA_LIBS="-lsocket"
;;
*hpux11*)
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_solaris.o"
;;
*aix*)
# AIX has even differently named shared libraries. No
# WINS support has been implemented yet.
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_aix.o"
WINBIND_NSS_LDSHFLAGS="-Wl,-bexpall,-bM:SRE,-ewb_aix_init"
WINBIND_NSS="nsswitch/WINBIND"
WINBIND_WINS_NSS=""
;;
*)
HAVE_WINBIND=no
winbind_no_reason=", unsupported on $host_os"
;;
esac
-- SNIP --
>How-To-Repeat:
"bmake install" on FreeBSD (IRIX, AIX)
>Fix:
Patch against -current (8/13/04):
Tested on FreeBSD; should fix problems on IRIX and AIX, but untested on those platforms.
-- CUT HERE --
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/net/samba/Makefile,v
retrieving revision 1.126
diff -u -r1.126 Makefile
--- Makefile 8 Aug 2004 06:13:02 -0000 1.126
+++ Makefile 13 Aug 2004 17:57:40 -0000
@@ -106,8 +106,10 @@
${RMDIR} ${SAMBA_LIBDIR}/${d}
.endfor
${INSTALL_DATA_DIR} ${DOCDIR}
- ${INSTALL_LIBRARY} ${WRKSRC}/nsswitch/libnss_winbind.so ${PREFIX}/lib
- ${INSTALL_LIBRARY} ${WRKSRC}/nsswitch/libnss_wins.so ${PREFIX}/lib
+ ${INSTALL_LIBRARY} ${WRKSRC}/nsswitch/${NSS_WINBIND} ${PREFIX}/lib
+.if !empty(NSS_WINS)
+ ${INSTALL_LIBRARY} ${WRKSRC}/nsswitch/${NSS_WINS} ${PREFIX}/lib
+.endif
cd ${WRKSRC}/../docs/registry; for file in *.reg; do \
${INSTALL_DATA} $$file ${DOCDIR}/$$file; \
done
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/net/samba/PLIST,v
retrieving revision 1.22
diff -u -r1.22 PLIST
--- PLIST 30 Jul 2004 21:05:41 -0000 1.22
+++ PLIST 13 Aug 2004 17:57:40 -0000
@@ -24,8 +24,8 @@
bin/testprns
bin/wbinfo
include/libsmbclient.h
-lib/libnss_winbind.so
-lib/libnss_wins.so
+${WINBIND}
+${WINS}
lib/libsmbclient.a
lib/libsmbclient.so
lib/libsmbclient.so.0
Index: options.mk
===================================================================
RCS file: /cvsroot/pkgsrc/net/samba/options.mk,v
retrieving revision 1.1
diff -u -r1.1 options.mk
--- options.mk 5 Aug 2004 03:04:34 -0000 1.1
+++ options.mk 13 Aug 2004 17:57:40 -0000
@@ -94,3 +94,28 @@
.else
PLIST_SUBST+= SMBMOUNT="@comment "
.endif
+
+###
+### Determine proper name for WINBIND and WINS libraries
+###
+.if ${OPSYS} == "FreeBSD" && ${LOWER_OPSYS_VERSUFFIX} == "5"
+NSS_WINBIND= nss_winbind.so
+NSS_WINS= nss_wins.so
+PLIST_SUBST+= WINBIND="lib/${NSS_WINBIND}"
+PLIST_SUBST+= WINS="lib/${NSS_WINS}"
+.elif ${OPSYS} == "IRIX"
+NSS_WINBIND= libns_winbind.so
+NSS_WINS= libns_wins.so
+PLIST_SUBST+= WINBIND="lib/${NSS_WINBIND}"
+PLIST_SUBST+= WINS="lib/${NSS_WINS}"
+.elif ${OPSYS} == "AIX"
+NSS_WINBIND= WINBIND
+NSS_WINS= ""
+PLIST_SUBST+= WINBIND="lib/${NSS_WINBIND}"
+PLIST_SUBST+= WINS="@comment no nss wins library"
+.else
+NSS_WINBIND= libnss_winbind.so
+NSS_WINS= libnss_wins.so
+PLIST_SUBST+= WINBIND="lib/${NSS_WINBIND}"
+PLIST_SUBST+= WINS="lib/${NSS_WINS}"
+.endif
-- CUT HERE --
>Release-Note:
>Audit-Trail:
>Unformatted: