Patch for samba 2_2 for Stratus VOS
Paul Green
paulg at sw.stratus.com
Fri Jan 31 18:17:18 GMT 2003
Attached is a patch for the 2_2 branch of samba that makes changes similar to
the ones I recently submitted to the head and 3_0 branches.
I have tested it locally on VOS and it works as expected. I have also tested it
on Solaris 2.8 and it looks ok there too. I ran "configure" and then "make
everything; make wins". Now, for the first time in months, I can build the
stock Samba 2.2.x on VOS.
I tried to make absolutely the minimum changes to get this to work here. Most of
what I did was to back-port ideas from the 3_0 branch.
I had to make one change that will affect other platforms -- but only on the
build farm. Today, the samba_2_2 build farm hook ("make everything")
unconditionally builds "nsswitch/lib_wins.so". This screws us, because that's a
shared library and we don't do shared libraries. Oddly enough, "make
everything" on samba_3_0 does not try to unconditionally build shared libraries.
You have to say "make wins" in 3_0 to get this file built. So that is the way
I implemented it in 2_2. I'm willing to rework this if someone can explain a
better way to achieve the same goal. I'm hoping that since there are a lot of
shared libraries that aren't built by the build farm, adding one more to the
list isn't a big deal. Hmm. Perhaps the thing to do is to get the build farm
shell script to say "make everything;make wins", and then I can comment the
"make wins" out in my copy of the script? Anybody?
I also noticed that 2_2 lets the install script pick where to install shared
libraries, but 3_0 is explicit (see the installlibsmbclient rule). I applied
Occam's razor and stuck with the 2_2 scheme.
Thanks
PG
--
Paul Green, Senior Technical Consultant, Stratus Technologies.
Voice: +1 978-461-7557; FAX: +1 978-461-3610
Speaking from Stratus not for Stratus
-------------- next part --------------
diff -urp old/samba_2_2/source/Makefile.in new/samba_2_2/source/Makefile.in
--- old/samba_2_2/source/Makefile.in Thu Jan 30 12:29:50 2003
+++ new/samba_2_2/source/Makefile.in Thu Jan 30 23:03:29 2003
@@ -24,6 +24,8 @@ TERMLIBS=@TERMLIBS@
LINK=$(CC) $(FLAGS) $(LDFLAGS)
INSTALLCMD=@INSTALL@
+INSTALLCLIENTCMD_SH=@INSTALLCLIENTCMD_SH@
+INSTALLCLIENTCMD_A=@INSTALLCLIENTCMD_A@
VPATH=@srcdir@
srcdir=@srcdir@
@@ -101,7 +103,7 @@ MPROGS = @MPROGS@
LPROGS = $(WINBIND_PAM_PROGS) $(WINBIND_LPROGS)
PROGS = $(PROGS1) $(PROGS2) $(MPROGS) bin/nmblookup
TORTURE_PROGS = bin/smbtorture bin/msgtest bin/masktest bin/locktest bin/locktest2
-SHLIBS = libsmbclient
+SHLIBS = @LIBSMBCLIENT@
SCRIPTS = $(srcdir)/script/smbtar $(srcdir)/script/findsmb
@@ -426,13 +428,13 @@ TDBDUMP_OBJ = tdb/tdbdump.o $(TDBBASE_O
all : CHECK $(SPROGS) $(PROGS) $(WINBIND_PROGS) $(WINBIND_SPROGS) $(LPROGS)
# The following "everything" is NOT needed except by Samba developers - so do not use this!
-everything : CHECK $(SPROGS) $(PROGS) $(SHLIBS) nsswitch smbwrapper smbtorture debug2html smbfilter nsswitch/libnss_wins.so
+everything : CHECK $(SPROGS) $(PROGS) $(SHLIBS) nsswitch smbwrapper smbtorture debug2html smbfilter
pam_smbpass : CHECK bin/pam_smbpass. at SHLIBEXT@
smbwrapper : CHECK @WRAPPROG@ @WRAP@ @WRAP32@
-libsmbclient : CHECK bin/libsmbclient. at SHLIBEXT@ bin/libsmbclient.a
+libsmbclient : CHECK bin/libsmbclient.a @LIBSMBCLIENT_SHARED@
torture : CHECK $(TORTURE_PROGS)
@@ -460,6 +462,8 @@ smbfilter : CHECK bin/smbfilter
nsswitch : CHECK $(WINBIND_PROGS) $(WINBIND_SPROGS) $(LPROGS)
+wins : CHECK nsswitch/libnss_wins. at SHLIBEXT@
+
.SUFFIXES:
.SUFFIXES: .c .o .po .po32 .lo
@@ -723,7 +727,8 @@ installswat: installdirs
@$(SHELL) $(srcdir)/script/installswat.sh $(SWATDIR) $(srcdir)
installclientlib:
- -$(INSTALLCMD) bin/libsmbclient.so
+ -$(INSTALLCLIENTCMD_SH) bin/libsmbclient. at SHLIBEXT@
+ -$(INSTALLCLIENTCMD_A) bin/libsmbclient.a
-$(INSTALLCMD) -d ${prefix}/include
-$(INSTALLCMD) include/libsmbclient.h ${prefix}/include
diff -urp old/samba_2_2/source/configure.in new/samba_2_2/source/configure.in
--- old/samba_2_2/source/configure.in Thu Jan 30 15:03:26 2003
+++ new/samba_2_2/source/configure.in Thu Jan 30 23:08:51 2003
@@ -164,6 +164,8 @@ AC_SUBST(PICFLAG)
AC_SUBST(PICSUFFIX)
AC_SUBST(SHLIBEXT)
AC_SUBST(BLDSHARED)
+AC_SUBST(INSTALLCLIENTCMD_SH)
+AC_SUBST(INSTALLCLIENTCMD_A)
AC_SUBST(LIBSMBCLIENT_SHARED)
AC_SUBST(LIBSMBCLIENT)
@@ -315,6 +317,26 @@ case "$host_os" in
esac
;;
#
+# VOS may need to have POSIX support and System V compatibility enabled.
+#
+ *vos*)
+ case "$CPPFLAGS" in
+ *-D_POSIX_C_SOURCE*)
+ ;;
+ *)
+ CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=199506L"
+ AC_DEFINE(_POSIX_C_SOURCE, 199506L, [Whether to enable POSIX support])
+ ;;
+ esac
+ case "$CPPFLAGS" in
+ *-D_SYSV*|*-D_SVID_SOURCE*)
+ ;;
+ *)
+ CPPFLAGS="$CPPFLAGS -D_SYSV"
+ AC_DEFINE(_SYSV, 1, [Whether to enable System V compatibility])
+ esac
+ ;;
+#
# Tests needed for SINIX large file support.
#
*sysv4*)
@@ -982,6 +1004,10 @@ case "$host_os" in
LDSHFLAGS="-G"
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
;;
+ *vos*) AC_DEFINE(STAT_ST_BLOCKSIZE,4096)
+ BLDSHARED="false"
+ LDSHFLAGS=""
+ ;;
*)
AC_DEFINE(STAT_ST_BLOCKSIZE,512)
;;
@@ -2349,6 +2375,8 @@ AC_ARG_WITH(msdfs,
#################################################
# should we build libsmbclient?
+INSTALLCLIENTCMD_SH=:
+INSTALLCLIENTCMD_A=:
LIBSMBCLIENT_SHARED=
LIBSMBCLIENT=
AC_MSG_CHECKING(whether to build the libsmbclient shared library)
@@ -2357,11 +2385,14 @@ AC_ARG_WITH(libsmbclient,
[ case "$withval" in
yes)
if test $BLDSHARED = true; then
+ INSTALLCLIENTCMD_SH="\$(INSTALLCMD)"
LIBSMBCLIENT_SHARED=bin/libsmbclient.$SHLIBEXT
- LIBSMBCLIENT=libsmbclient
+ LIBSMBCLIENT=libsmbclient
AC_MSG_RESULT(yes)
else
- AC_MSG_RESULT(no shared library support)
+ INSTALLCLIENTCMD_A="\$(INSTALLCMD)"
+ LIBSMBCLIENT=libsmbclient
+ AC_MSG_RESULT(no shared library support -- will supply static library)
fi
;;
*)
More information about the samba-technical
mailing list