From cb653771c17522ab40f34c9e9a26356dc51b52ad Mon Sep 17 00:00:00 2001 From: Jon Nall Date: Sat, 26 Oct 2002 23:32:04 +0000 Subject: added a patch so samba will link libresolv.so if using ldap w/o sasl support --- net-fs/samba/ChangeLog | 13 +- net-fs/samba/files/digest-samba-2.2.6-r1 | 1 + net-fs/samba/files/samba-2.2.6-libresolv.patch | 10 + net-fs/samba/samba-2.2.6-r1.ebuild | 395 +++++++++++++++++++++++++ 4 files changed, 416 insertions(+), 3 deletions(-) create mode 100644 net-fs/samba/files/digest-samba-2.2.6-r1 create mode 100644 net-fs/samba/files/samba-2.2.6-libresolv.patch create mode 100644 net-fs/samba/samba-2.2.6-r1.ebuild (limited to 'net-fs') diff --git a/net-fs/samba/ChangeLog b/net-fs/samba/ChangeLog index 3e78d396b4a5..1b9b1d407b94 100644 --- a/net-fs/samba/ChangeLog +++ b/net-fs/samba/ChangeLog @@ -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 : Fix openldap dependency :) +*samba-2.2.6-r1 (Oct 26 2002) + 26 Oct 2002; Jon Nall : + 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 : Fix openldap dependency from #9249. *samba-2.2.6 (Oct 24 2002) + 26 Oct 2002; Donny Davies : Fix openldap dependency :) + + 25 Oct 2002; Donny Davies : Fix openldap dependency from #9249. + 24 Oct 2002; Donny Davies : 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 index 000000000000..d8fd4d11ca88 --- /dev/null +++ b/net-fs/samba/files/digest-samba-2.2.6-r1 @@ -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 index 000000000000..68da94962a64 --- /dev/null +++ b/net-fs/samba/files/samba-2.2.6-libresolv.patch @@ -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 index 000000000000..1df518c7c189 --- /dev/null +++ b/net-fs/samba/samba-2.2.6-r1.ebuild @@ -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} +} -- cgit v1.2.3-65-gdbad