added a patch so samba will link libresolv.so if using ldap w/o sasl support
authorJon Nall <nall@gentoo.org>
Sat, 26 Oct 2002 23:32:04 +0000 (23:32 +0000)
committerJon Nall <nall@gentoo.org>
Sat, 26 Oct 2002 23:32:04 +0000 (23:32 +0000)
net-fs/samba/ChangeLog
net-fs/samba/files/digest-samba-2.2.6-r1 [new file with mode: 0644]
net-fs/samba/files/samba-2.2.6-libresolv.patch [new file with mode: 0644]
net-fs/samba/samba-2.2.6-r1.ebuild [new file with mode: 0644]

index 3e78d396b4a532e21cbdc53a43eca519d91ab255..1b9b1d407b94e29b29083b50b5b4a489f9f994bd 100644 (file)
@@ -1,13 +1,20 @@
 # ChangeLog for net-fs/samba
 # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/ChangeLog,v 1.17 2002/10/26 18:22:46 woodchip Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/ChangeLog,v 1.18 2002/10/26 23:32:04 nall Exp $
 
-  26 Oct 2002; Donny Davies <woodchip@gentoo.org> : Fix openldap dependency :)
+*samba-2.2.6-r1 (Oct 26 2002)
+  26 Oct 2002; Jon Nall <nall@gentoo.org> :
+  samba expects ldap to depend on sasl in order for libresolv.so to
+  get linked in, but ldap need not be compiled with sasl support. in
+  this case samba needs to link in libresolv.so
 
-  25 Oct 2002; Donny Davies <woodchip@gentoo.org> : Fix openldap dependency from #9249.
 
 *samba-2.2.6 (Oct 24 2002)
 
+  26 Oct 2002; Donny Davies <woodchip@gentoo.org> : Fix openldap dependency :)
+
+  25 Oct 2002; Donny Davies <woodchip@gentoo.org> : Fix openldap dependency from #9249.
+
   24 Oct 2002; Donny Davies <woodchip@gentoo.org> :
   Chase latest release.  New local USE vscan flag for building the
   openantivirus project plugins.  Added several more ldap files
diff --git a/net-fs/samba/files/digest-samba-2.2.6-r1 b/net-fs/samba/files/digest-samba-2.2.6-r1
new file mode 100644 (file)
index 0000000..d8fd4d1
--- /dev/null
@@ -0,0 +1 @@
+MD5 147efc95ecd4ca69ec679c73f246e5de samba-2.2.6.tar.bz2 4390352
diff --git a/net-fs/samba/files/samba-2.2.6-libresolv.patch b/net-fs/samba/files/samba-2.2.6-libresolv.patch
new file mode 100644 (file)
index 0000000..68da949
--- /dev/null
@@ -0,0 +1,10 @@
+--- source/configure.in.orig   2002-10-26 15:49:04.000000000 -0500
++++ source/configure.in        2002-10-26 15:49:51.000000000 -0500
+@@ -2088,6 +2088,7 @@
+     AC_DEFINE(WITH_LDAP_SAM)
+     LDAPLIBS="-lldap"
+     AC_CHECK_LIB(lber, ber_bvfree, [LDAPLIBS="$LDAPLIBS -llber"])
++    AC_CHECK_LIB(resolv, __res_query, [LDAPLIBS="-lresolv $LDAPLIBS"])
+     ## remove -lresolv as this should be included by the -lsasl dependency 
+     ## in the OpenLDAP clients.  By not requiring it specifically, we avoid
+     ## issues on platforms that don't have it
diff --git a/net-fs/samba/samba-2.2.6-r1.ebuild b/net-fs/samba/samba-2.2.6-r1.ebuild
new file mode 100644 (file)
index 0000000..1df518c
--- /dev/null
@@ -0,0 +1,395 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-2.2.6-r1.ebuild,v 1.1 2002/10/26 23:32:04 nall Exp $
+
+IUSE="tcpd ldap cups ssl acl vscan"
+
+inherit perl-module
+
+# please test/report your experiences with these new VFS plugins.
+VSCAN_VER=0.2.5e
+VSCAN_MODS="fprot mks openantivirus" #kaspersky sophos symantec trend
+#need libs/headers/extra support for these ones^^
+
+DESCRIPTION="SAMBA is a suite of SMB and CIFS client/server programs for UNIX"
+HOMEPAGE="http://www.samba.org"
+
+S=${WORKDIR}/${P}
+SRC_URI="vscan? mirror://sourceforge/openantivirus/${PN}-vscan-${VSCAN_VER}.tar.gz
+       http://us2.samba.org/samba/ftp/${P}.tar.bz2"
+
+DEPEND=">=sys-libs/pam-0.72
+       acl? ( sys-apps/acl )
+       cups? ( net-print/cups )
+       ldap? ( =net-nds/openldap-2* )
+       ssl? ( >=dev-libs/openssl-0.9.6 )
+       tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+       vscan? ( >=dev-libs/popt-1.6.3 )"
+KEYWORDS="~x86 ~ppc ~sparc64"
+LICENSE="GPL-2"
+SLOT="0"
+
+src_unpack() {
+       local i
+       unpack ${A} || die
+       cd ${S} || die
+
+       patch -p0 < ${FILESDIR}/samba-2.2.2-smbmount.diff || die
+       patch -p1 < ${FILESDIR}/samba-2.2.5-gp-reloc-fix.patch || die
+       cd source/client; patch -p0 < ${FILESDIR}/samba-2.2.6-smbumount_lazy.patch || die
+
+       if use portldap; then
+               cd ${S}/source
+               patch -p0 < $FILESDIR/nonroot-bind.diff || die
+               cd ${S}
+       fi
+
+       if use ldap ; then
+               if ! use sasl ; then
+                       cd ${S}
+                       patch -p0 < ${FILESDIR}/samba-2.2.6-libresolv.patch || die
+               fi
+       fi
+
+       # fix kerberos include file collision..
+       cd ${S}/source/include
+       mv profile.h smbprofile.h
+       sed -e "s:profile\.h:smbprofile.h:" includes.h > includes.h.new
+       mv includes.h.new includes.h
+
+       # for clean docs packaging sake, make a copy..
+       cp -a ${S}/examples ${S}/examples.bin
+       if use vscan; then
+               # prep source for selected vscan plugin modules..
+               for i in ${VSCAN_MODS}
+               do
+                       cp -a ${WORKDIR}/${PN}-vscan-${VSCAN_VER}/$i \
+                               ${S}/examples.bin/VFS
+               done
+       fi
+
+       cd ${S}/source
+       autoconf || die
+}
+
+src_compile() {
+       local i myconf
+       use acl && myconf="${myconf} --with-acl-support" ||  myconf="${myconf} --without-acl-support"
+       use ssl && myconf="${myconf} --with-ssl" || myconf="${myconf} --without-ssl"
+       use cups && myconf="${myconf} --enable-cups" || myconf="${myconf} --disable-cups"
+       use ldap && myconf="${myconf} --with-ldapsam" || myconf="${myconf} --without-ldapsam"
+
+       cd ${S}/source
+       ./configure \
+               --prefix=/usr \
+               --bindir=/usr/sbin \
+               --libdir=/etc/samba \
+               --sbindir=/usr/sbin \
+               --sysconfdir=/etc/samba \
+               --localstatedir=/var/log \
+               --with-configdir=/etc/samba \
+               --with-mandir=/usr/share/man \
+               --with-piddir=/var/run/samba \
+               --with-lockdir=/var/run/samba \
+               --with-swatdir=/usr/share/swat \
+               --with-privatedir=/etc/samba/private \
+               --with-codepagedir=/var/lib/samba/codepages \
+               --with-pam --with-pam_smbpass \
+               --without-sambabook \
+               --without-automount \
+               --without-spinlocks \
+               --with-libsmbclient \
+               --with-smbwrapper \
+               --with-netatalk \
+               --with-smbmount \
+               --with-profile \
+               --with-quotas \
+               --with-syslog \
+               --with-msdfs \
+               --with-utmp \
+               --with-vfs \
+               --host=${CHOST} ${myconf} || die "bad ./configure"
+
+       # compile samba..
+       make all smbfilter smbwrapper smbcacls pam_smbpass \
+               nsswitch nsswitch/libnss_wins.so debug2html
+       assert "samba compile problem"
+
+       # compile the bundled vfs modules..
+       cd ${S}/examples.bin/VFS
+       ./configure \
+               --prefix=/usr \
+               --mandir=/usr/share/man || die "bad ./configure"
+       make || die "VFS modules compile problem"
+
+       # compile mkntpasswd in examples/LDAP/ for smbldaptools..
+       if use ldap; then
+               cd ${S}/examples.bin/LDAP/smbldap-tools/mkntpwd
+               make || die "mkntpwd compile problem"
+       fi
+
+       # compile the selected antivirus vfs plugins..
+       if use vscan; then
+               for i in ${VSCAN_MODS}
+               do
+                       cd ${S}/examples.bin/VFS/$i && make
+                       assert "problem building $i vscan module"
+               done
+       fi
+}
+
+src_install() {
+       local i
+
+       # we may as well do this all manually since it was starting
+       # to get out of control and samba _does_ have some rather
+       # silly installation quirks ;)  much of this was adapted
+       # from mandrake's .spec file..
+       #
+       # // woodchip - 5 May 2002
+
+
+       # install standard binary files..
+       for i in nmblookup smbclient smbpasswd smbstatus testparm testprns \
+               make_smbcodepage make_unicodemap make_printerdef rpcclient \
+               smbspool smbcacls smbclient smbmount smbumount smbsh wbinfo
+       do
+               exeinto /usr/bin
+               doexe source/bin/${i}
+       done
+       # make users lives easier..
+       fperms 4755 /usr/bin/smbumount
+
+
+       # libraries..
+       exeinto /usr/lib
+       doexe source/bin/smbwrapper.so
+       doexe source/bin/libsmbclient.so
+       insinto /usr/lib
+       doins source/bin/libsmbclient.a
+       exeinto /lib/security
+       doexe source/bin/pam_smbpass.so
+       doexe source/nsswitch/pam_winbind.so
+
+
+       # vfs modules..
+       exeinto /usr/lib/samba/vfs
+       doexe examples.bin/VFS/audit.so
+       doexe examples.bin/VFS/block/block.so
+       doexe examples.bin/VFS/recycle/recycle.so
+       use vscan && doexe examples.bin/VFS/*/vscan-*.so
+
+
+       # some utility scripts..
+       for i in mksmbpasswd.sh smbtar convert_smbpasswd
+       do
+               exeinto /usr/bin
+               doexe source/script/${i}
+       done
+       # and this handy one..
+       doexe packaging/Mandrake/findsmb
+
+
+       # secure binary files..
+       for i in smbd nmbd swat smbfilter debug2html smbmnt smbcontrol winbindd
+       do
+               exeinto /usr/sbin
+               doexe source/bin/${i}
+       done
+       # make users lives easier..
+       fperms 4755 /usr/sbin/smbmnt
+
+
+       # man pages..
+       doman docs/manpages/*
+
+
+       # codepage source files
+       for i in 437 737 775 850 852 857 861 862 866 932 936 949 950 1125 1251
+       do
+               insinto /var/lib/samba/codepages/src
+               doins source/codepages/codepage_def.${i}
+       done
+       for i in 437 737 775 850 852 857 861 862 866 932 936 949 950 1125 1251 \
+               ISO8859-1 ISO8859-2 ISO8859-5 ISO8859-7 \
+               ISO8859-9 ISO8859-13 ISO8859-15 KOI8-R KOI8-U
+       do
+               insinto /var/lib/samba/codepages/src
+               doins source/codepages/CP${i}.TXT
+       done
+
+
+       # build codepage load files..
+       for i in 437 737 775 850 852 857 861 862 866 932 936 949 950 1125 1251
+       do
+               ${D}/usr/bin/make_smbcodepage c ${i} \
+                       ${D}/var/lib/samba/codepages/src/codepage_def.${i} \
+                       ${D}/var/lib/samba/codepages/codepage.${i}
+       done
+
+
+       # build unicode load files..
+       for i in 437 737 775 850 852 857 861 862 866 932 936 949 950 1125 1251 \
+               ISO8859-1 ISO8859-2 ISO8859-5 ISO8859-7 \
+               ISO8859-9 ISO8859-13 ISO8859-15 KOI8-R KOI8-U
+       do
+               ${D}/usr/bin/make_unicodemap ${i} \
+                       ${D}/var/lib/samba/codepages/src/CP${i}.TXT \
+                       ${D}/var/lib/samba/codepages/unicode_map.${i}
+       done
+       rm -rf ${D}/var/lib/samba/codepages/src
+
+
+       # install the nsswitch library extension files..
+       for i in wins winbind
+       do
+               exeinto /lib
+               doexe source/nsswitch/libnss_${i}.so
+       done
+       # make link for wins and winbind resolvers..
+       ( cd ${D}/lib ; ln -s libnss_wins.so libnss_wins.so.2 )
+       ( cd ${D}/lib ; ln -s libnss_winbind.so libnss_winbind.so.2 )
+
+
+       # install SWAT helper files..
+       for i in swat/help/*.html docs/htmldocs/*.html
+       do
+               insinto /usr/share/swat/help
+               doins ${i}
+       done
+       for i in swat/images/*.gif
+       do
+               insinto /usr/share/swat/images
+               doins ${i}
+       done
+       for i in swat/include/*.html
+       do
+               insinto /usr/share/swat/include
+               doins ${i}
+       done
+
+
+       # install the O'Reilly "Using Samba" book..
+       for i in docs/htmldocs/using_samba/*.html
+       do
+               insinto /usr/share/swat/using_samba
+               doins ${i}
+       done
+       for i in docs/htmldocs/using_samba/gifs/*.gif
+       do
+               insinto /usr/share/swat/using_samba/gifs
+               doins ${i}
+       done
+       for i in docs/htmldocs/using_samba/figs/*.gif
+       do
+               insinto /usr/share/swat/using_samba/figs
+               doins ${i}
+       done
+
+
+       # install the utilities from LDAP/smbldap-tools
+       if use ldap; then
+               exeinto /usr/share/samba/smbldap-tools
+               doexe examples/LDAP/smbldap-tools/*.pl
+               doexe examples/LDAP/smbldap-tools/smbldap_tools.pm
+               doexe examples/LDAP/{import,export}_smbpasswd.pl
+               chmod 0700 ${D}/usr/share/samba/smbldap-tools/{import,export}_smbpasswd.pl
+               exeinto /usr/sbin
+               doexe examples.bin/LDAP/smbldap-tools/mkntpwd/mkntpwd
+               #dodir /usr/lib/perl5/site_perl/5.6.1
+               eval `perl '-V:installarchlib'`
+               dodir ${installarchlib}
+               dosym /etc/samba/smbldap_conf.pm ${installarchlib}
+               dosym /usr/share/samba/smbldap-tools/smbldap_tools.pm ${installarchlib}
+       fi
+
+
+       # we don't want two copies of the book or manpages
+       rm -rf docs/htmldocs/using_samba docs/manpages
+       # attempt to install all the docs as easily as possible :/
+       dodoc COPYING Manifest README Roadmap WHATSNEW.txt
+       docinto full_docs
+       cp -a docs/* ${D}/usr/share/doc/${PF}/full_docs
+       docinto examples
+       cp -a examples/* ${D}/usr/share/doc/${PF}/examples
+       prepalldocs
+       # keep this next line *after* prepalldocs!
+       dosym /usr/share/swat/using_samba /usr/share/doc/${PF}/using_samba
+       # and we should unzip the html docs..
+       gunzip ${D}/usr/share/doc/${PF}/full_docs/faq/*
+       gunzip ${D}/usr/share/doc/${PF}/full_docs/htmldocs/*
+       if use vscan; then
+               docinto vscan-modules
+               cd ${WORKDIR}/${PN}-vscan-${VSCAN_VER}
+               dodoc AUTHORS COPYING ChangeLog FAQ INSTALL NEWS README TODO
+               for i in ${VSCAN_MODS}
+               do
+                       docinto vscan-modules/$i
+                       dodoc $i/INSTALL
+               done
+       fi
+       cd ${S} # hyaah; thems a lotta docs!
+
+
+       # link /usr/bin/smbmount to /sbin/mount.smbfs which allows it
+       # to work transparently with the standard 'mount' command..
+       dodir /sbin
+       dosym /usr/bin/smbmount /sbin/mount.smbfs
+
+
+       # make the smb backend symlink for cups printing support..
+       if use cups; then
+               dodir /usr/lib/cups/backend
+               dosym /usr/bin/smbspool /usr/lib/cups/backend/smb
+       fi
+
+
+       # make a symlink on /usr/lib/smbwrapper.so in /usr/sbin
+       # to fix smbsh problem.  #6936
+       dosym /usr/lib/smbwrapper.so /usr/sbin/smbwrapper.so
+
+
+       # now the config files..
+       insinto /etc
+       doins ${FILESDIR}/nsswitch.conf-winbind
+       doins ${FILESDIR}/nsswitch.conf-wins
+
+       insinto /etc/samba
+       doins ${FILESDIR}/smbusers
+       doins ${FILESDIR}/smb.conf.example
+       doins ${FILESDIR}/lmhosts
+       doins ${FILESDIR}/recycle.conf
+       if use ldap; then
+               doins ${FILESDIR}/smbldap_conf.pm
+               doins ${FILESDIR}/samba-slapd-include.conf
+       fi
+
+       insinto /etc/pam.d
+       newins ${FILESDIR}/samba.pam samba
+       doins ${FILESDIR}/system-auth-winbind
+
+       exeinto /etc/init.d
+       newexe ${FILESDIR}/samba-init samba
+       newexe ${FILESDIR}/winbind-init winbind
+
+       insinto /etc/xinetd.d
+       newins ${FILESDIR}/swat.xinetd swat
+}
+
+pkg_postinst() {
+       # touch /etc/samba/smb.conf so that people installing samba just
+       # to mount smb shares don't get annoying warnings all the time..
+       if [ ! -e ${ROOT}/etc/samba/smb.conf ] ; then
+               touch ${ROOT}/etc/samba/smb.conf
+       fi
+
+
+       # empty dirs..
+       install -m0700 -o root -g root -d ${ROOT}/etc/samba/private
+       install -m1777 -o root -g root -d ${ROOT}/var/spool/samba
+       install -m0755 -o root -g root -d ${ROOT}/var/log/samba
+       install -m0755 -o root -g root -d ${ROOT}/var/run/samba
+       install -m0755 -o root -g root -d ${ROOT}/var/lib/samba/{netlogon,profiles}
+       install -m0755 -o root -g root -d \
+               ${ROOT}/var/lib/samba/printers/{W32X86,WIN40,W32ALPHA,W32MIPS,W32PPC}
+}