summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Lauer <patrick@gentoo.org>2010-01-07 20:37:38 +0000
committerPatrick Lauer <patrick@gentoo.org>2010-01-07 20:37:38 +0000
commitfbf986bbbb84e17b205f82b58dfa17e764232393 (patch)
tree3ffc0520eaa708745e41658e4e3262cff6234836 /net-fs/samba-server
parentSet empty HOMEPAGE and LICENSE (diff)
downloadgentoo-2-fbf986bbbb84e17b205f82b58dfa17e764232393.tar.gz
gentoo-2-fbf986bbbb84e17b205f82b58dfa17e764232393.tar.bz2
gentoo-2-fbf986bbbb84e17b205f82b58dfa17e764232393.zip
Adding pam support for #297284, fixing init scripts to kill multiple instances. Thanks to Lars Wendler and kerframil.
(Portage version: 2.2_rc61/cvs/Linux x86_64)
Diffstat (limited to 'net-fs/samba-server')
-rw-r--r--net-fs/samba-server/ChangeLog9
-rw-r--r--net-fs/samba-server/files/3.4/samba.confd4
-rw-r--r--net-fs/samba-server/samba-server-3.4.4-r1.ebuild228
3 files changed, 238 insertions, 3 deletions
diff --git a/net-fs/samba-server/ChangeLog b/net-fs/samba-server/ChangeLog
index 6db33e15e535..610bf409b945 100644
--- a/net-fs/samba-server/ChangeLog
+++ b/net-fs/samba-server/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-fs/samba-server
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-server/ChangeLog,v 1.29 2010/01/07 13:51:39 patrick Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-server/ChangeLog,v 1.30 2010/01/07 20:37:38 patrick Exp $
+
+*samba-server-3.4.4-r1 (07 Jan 2010)
+
+ 07 Jan 2010; Patrick Lauer <patrick@gentoo.org> files/3.4/samba.confd,
+ +samba-server-3.4.4-r1.ebuild:
+ Adding pam support for #297284, fixing init scripts to kill multiple
+ instances. Thanks to Lars Wendler and kerframil.
*samba-server-3.4.4 (07 Jan 2010)
diff --git a/net-fs/samba-server/files/3.4/samba.confd b/net-fs/samba-server/files/3.4/samba.confd
index 6c9567bc5800..8ef8d7351a27 100644
--- a/net-fs/samba-server/files/3.4/samba.confd
+++ b/net-fs/samba-server/files/3.4/samba.confd
@@ -13,12 +13,12 @@ my_service_POST=""
#----------------------------------------------------------------------------
smbd_start_options="-D"
smbd_start="start-stop-daemon --start --exec /usr/sbin/smbd -- ${smbd_start_options}"
-smbd_stop="start-stop-daemon --stop --pidfile /var/run/samba/smbd.pid"
+smbd_stop="start-stop-daemon --stop --exec /usr/sbin/smbd"
smbd_reload="killall -HUP smbd"
nmbd_start_options="-D"
nmbd_start="start-stop-daemon --start --exec /usr/sbin/nmbd -- ${nmbd_start_options}"
-nmbd_stop="start-stop-daemon --stop --pidfile /var/run/samba/nmbd.pid"
+nmbd_stop="start-stop-daemon --stop --exec /usr/sbin/nmbd"
nmbd_reload="killall -HUP nmbd"
winbind_start_options=""
diff --git a/net-fs/samba-server/samba-server-3.4.4-r1.ebuild b/net-fs/samba-server/samba-server-3.4.4-r1.ebuild
new file mode 100644
index 000000000000..aa96be5adb1c
--- /dev/null
+++ b/net-fs/samba-server/samba-server-3.4.4-r1.ebuild
@@ -0,0 +1,228 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-server/samba-server-3.4.4-r1.ebuild,v 1.1 2010/01/07 20:37:38 patrick Exp $
+
+EAPI="2"
+
+inherit pam confutils versionator multilib autotools
+
+MY_P="samba-${PV}"
+
+DESCRIPTION="Samba Server component"
+HOMEPAGE="http://www.samba.org/"
+SRC_URI="mirror://samba/${MY_P}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="samba4 acl ads aio avahi caps cluster cups debug doc examples fam ldap pam quota swat syslog winbind zeroconf"
+
+DEPEND="!<net-fs/samba-3.3
+ ads? ( virtual/krb5 sys-fs/e2fsprogs net-fs/samba-libs[ads] )
+ dev-libs/popt
+ virtual/libiconv
+ avahi? ( net-dns/avahi )
+ zeroconf? ( !avahi? ( || ( net-dns/avahi[mdnsresponder-compat] net-misc/mDNSResponder ) ) )
+ caps? ( sys-libs/libcap )
+ cups? ( net-print/cups )
+ debug? ( dev-libs/dmalloc )
+ fam? ( dev-libs/libgamin )
+ ldap? ( net-nds/openldap )
+ pam? ( sys-libs/pam )
+ syslog? ( virtual/logger )
+ sys-libs/tdb
+ sys-libs/talloc
+ ~net-fs/samba-libs-${PV}[caps?,cluster?,cups?,ldap?,syslog?,winbind?,ads?,samba4?]"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}/source3"
+
+RESTRICT="test"
+
+CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"
+SBINPROGS="bin/smbd bin/nmbd"
+BINPROGS="bin/testparm bin/smbstatus bin/smbcontrol bin/pdbedit
+ bin/profiles bin/sharesec bin/eventlogadm"
+#bin/ldbedit bin/ldbsearch bin/ldbadd bin/ldbdel bin/ldbmodify bin/ldbrename"
+
+pkg_setup() {
+ confutils_use_depend_all samba4 ads
+ confutils_use_depend_all ads ldap
+}
+
+src_prepare() {
+
+ cd ".."
+
+ epatch \
+ "${FILESDIR}/samba-3.4.2-missing_includes.patch" \
+ "${FILESDIR}/samba-3.4.2-fix-samba4-automake.patch" \
+ "${FILESDIR}/samba-3.4.2-insert-AC_LD_VERSIONSCRIPT.patch"
+# "${FILESDIR}/samba-3.4.2-upgrade-tevent-version.patch" \
+
+ cp "${FILESDIR}/samba-3.4.2-lib.tevent.python.mk" "lib/tevent/python.mk"
+
+ cd "source3"
+ eautoconf -Ilibreplace -Im4 -I../m4 -I../lib/replace -I../source4
+}
+
+src_configure() {
+ local myconf
+
+ # compile franky samba4 hybrid
+ # http://wiki.samba.org/index.php/Franky
+ if use samba4 ; then
+ myconf="${myconf} --enable-merged-build --enable-developer"
+ if has_version app-crypt/heimdal ; then
+ myconf="${myconf} --with-krb5=/usr/"
+ elif has_version app-crypt/mit-krb5 ; then
+ die "MIT Kerberos not supported by samba 4, use heimdal"
+ else
+ die "No supported kerberos provider detected"
+ fi
+ fi
+
+ # Filter out -fPIE
+ [[ ${CHOST} == *-*bsd* ]] && myconf="${myconf} --disable-pie"
+ use hppa && myconf="${myconf} --disable-pie"
+
+ # Upstream refuses to make this configurable
+ export ac_cv_header_sys_capability_h=no
+ use caps && export ac_cv_header_sys_capability_h=yes
+
+ local dnssd="--disable-dnssd"
+ use zeroconf && ! use avahi && dnssd="--enable-dnssd"
+
+ # Notes:
+ # - FAM is a plugin for the server
+ # - DNS-SD is only used in client/server code
+ # - AFS is a pw-auth-method and only used in client/server code
+ # - AFSACL is a server module
+ # - automount is only needed in conjunction with NIS and we don't have that
+ # anymore
+ # - quota-support is only needed in server-code
+ # - acl-support is only used in server-code
+ # - --without-dce-dfs and --without-nisplus-home can't be passed to configure but are disabled by default
+
+ econf ${myconf} \
+ --with-piddir=/var/run/samba \
+ --sysconfdir=/etc/samba \
+ --localstatedir=/var \
+ $(use_enable debug developer) \
+ --enable-largefile \
+ --enable-socket-wrapper \
+ --enable-nss-wrapper \
+ $(use_enable swat) \
+ $(use_enable debug dmalloc) \
+ $(use_enable cups) \
+ --disable-iprint \
+ $(use_enable fam) \
+ --enable-shared-libs \
+ ${dnssd} \
+ $(use_enable avahi) \
+ --with-fhs \
+ --with-privatedir=/var/lib/samba/private \
+ --with-rootsbindir=/var/cache/samba \
+ --with-lockdir=/var/cache/samba \
+ --with-swatdir=/usr/share/doc/${PF}/swat \
+ --with-configdir=/etc/samba \
+ --with-logfilebase=/var/log/samba \
+ --with-pammodulesdir=$(getpam_mod_dir) \
+ --without-afs \
+ --without-fake-kaserver \
+ --without-vfs-afsacl \
+ $(use_with ldap) \
+ $(use_with ads) \
+ $(use_with ads krb5 /usr) \
+ $(use_with ads dnsupdate) \
+ --without-automount \
+ --without-cifsmount \
+ --without-cifsupcall \
+ $(use_with pam ) \
+ $(use_with pam pam_smbpass ) \
+ $(use_with syslog) \
+ $(use_with quota quotas) \
+ $(use_with quota sys-quotas) \
+ --without-utmp \
+ --without-lib{talloc,tdb,netapi,smbclient,smbsharemodes} \
+ --without-libaddns \
+ $(use_with cluster ctdb /usr) \
+ $(use_with cluster cluster-support) \
+ $(use_with acl acl-support) \
+ $(use_with aio aio-support) \
+ --with-sendfile-support \
+ $(use_with winbind)
+
+ use swat && SBINPROGS="${SBINPROGS} bin/swat"
+ use winbind && SBINPROGS="${SBINPROGS} bin/winbindd"
+ use ads && use winbind && SBIN_PROGS="${SBINPROGS} bin/winbind_krb5_locator"
+
+ use winbind && BINPROGS="${BINPROGS} bin/wbinfo"
+}
+
+src_compile() {
+ emake ${SBINPROGS} || die "building server binaries failed"
+ emake modules || die "building modules failed"
+ emake ${BINPROGS} || die "building binaries failed"
+}
+
+src_install() {
+ dosbin ${SBINPROGS} || die "installing server binaries failed"
+
+ emake DESTDIR="${D}" installmodules || die "installing modules failed"
+
+ dobin ${BINPROGS} || die "installing binaries failed"
+
+ for prog in ${BINPROGS} ${SBINPROGS} ; do
+ doman ../docs/manpages/${prog/bin\/}*
+ done
+
+ doman ../docs/manpages/vfs* ../docs/manpages/samba.7 ../docs/manpages/smb.conf.5
+
+ diropts -m0700
+ keepdir /var/lib/samba/private
+
+ diropts -m1777
+ keepdir /var/spool/samba
+
+ diropts -m0755
+ keepdir /var/{cache,log}/samba
+ keepdir /var/lib/samba/{netlogon,profiles}
+ keepdir /var/lib/samba/printers/{W32X86,WIN40,W32ALPHA,W32MIPS,W32PPC,X64,IA64,COLOR}
+ keepdir /usr/$(get_libdir)/samba/{auth,pdb,rpc,idmap,nss_info,gpext}
+
+ newconfd "${CONFDIR}/samba.confd" samba
+ newinitd "${CONFDIR}/samba.initd" samba
+
+ insinto /etc/samba
+ doins "${CONFDIR}"/{smbusers,lmhosts,smb.conf.default}
+
+ insinto /usr/"$(get_libdir)"/samba
+ doins ../codepages/{valid.dat,upcase.dat,lowcase.dat}
+
+ if use ldap ; then
+ insinto /etc/openldap/schema
+ doins ../examples/LDAP/samba.schema
+ fi
+
+ if use swat ; then
+ insinto /etc/xinetd.d
+ newins "${CONFDIR}/swat.xinetd" swat
+ script/installswat.sh "${D}" "${ROOT}/usr/share/doc/${PF}/swat" "${S}" \
+ || die "installing swat failed"
+ fi
+
+ dodoc ../MAINTAINERS ../README* ../Roadmap ../WHATSNEW.txt ../docs/THANKS
+
+ if use doc ; then
+ dohtml -r ../docs/htmldocs/*
+ dodoc ../docs/*.pdf
+ fi
+
+ if use examples ; then
+ cd ../examples
+ insinto /usr/share/doc/${PF}/examples
+ doins -r \
+ auth autofs dce-dfs LDAP logon misc pdb perfcounter \
+ printer-accounting printing scripts tridge validchars VFS
+ fi
+}