diff options
author | Maxim Koltsov <maksbotan@gentoo.org> | 2011-08-04 18:52:26 +0000 |
---|---|---|
committer | Maxim Koltsov <maksbotan@gentoo.org> | 2011-08-04 18:52:26 +0000 |
commit | 0f0c96ae021593a8a311c34838c1834a11f629cc (patch) | |
tree | 39d439b1608db40af86cdb4d3b32b1ce4ba44216 /net-fs | |
parent | Switched herd to sci-astronomy (diff) | |
download | gentoo-2-0f0c96ae021593a8a311c34838c1834a11f629cc.tar.gz gentoo-2-0f0c96ae021593a8a311c34838c1834a11f629cc.tar.bz2 gentoo-2-0f0c96ae021593a8a311c34838c1834a11f629cc.zip |
Add dependency on sys-libs/ldb, bug #372747
(Portage version: 2.1.10.7/cvs/Linux i686)
Diffstat (limited to 'net-fs')
-rw-r--r-- | net-fs/samba/ChangeLog | 13 | ||||
-rw-r--r-- | net-fs/samba/samba-3.4.12-r1.ebuild | 412 | ||||
-rw-r--r-- | net-fs/samba/samba-3.4.13-r1.ebuild | 412 | ||||
-rw-r--r-- | net-fs/samba/samba-3.5.8-r2.ebuild | 445 | ||||
-rw-r--r-- | net-fs/samba/samba-3.5.9-r1.ebuild | 446 | ||||
-rw-r--r-- | net-fs/samba/samba-3.6.0_rc3-r1.ebuild | 420 |
6 files changed, 2147 insertions, 1 deletions
diff --git a/net-fs/samba/ChangeLog b/net-fs/samba/ChangeLog index 73656c64d9c6..d0a18a3530fd 100644 --- a/net-fs/samba/ChangeLog +++ b/net-fs/samba/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for net-fs/samba # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/ChangeLog,v 1.475 2011/07/27 11:51:12 dagger Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/ChangeLog,v 1.476 2011/08/04 18:52:26 maksbotan Exp $ + +*samba-3.6.0_rc3-r1 (04 Aug 2011) +*samba-3.5.9-r1 (04 Aug 2011) +*samba-3.5.8-r2 (04 Aug 2011) +*samba-3.4.13-r1 (04 Aug 2011) +*samba-3.4.12-r1 (04 Aug 2011) + + 04 Aug 2011; Maxim Koltsov (maksbotan) <maksbotan@gentoo.org> + +samba-3.4.12-r1.ebuild, +samba-3.4.13-r1.ebuild, +samba-3.5.8-r2.ebuild, + +samba-3.5.9-r1.ebuild, +samba-3.6.0_rc3-r1.ebuild: + Bumped revisions to add sys-libs/ldb dependency, bug #372747 *samba-3.6.0_rc3 (27 Jul 2011) diff --git a/net-fs/samba/samba-3.4.12-r1.ebuild b/net-fs/samba/samba-3.4.12-r1.ebuild new file mode 100644 index 000000000000..bd8c6ddbbb3e --- /dev/null +++ b/net-fs/samba/samba-3.4.12-r1.ebuild @@ -0,0 +1,412 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-3.4.12-r1.ebuild,v 1.1 2011/08/04 18:52:26 maksbotan Exp $ + +EAPI="2" + +inherit pam confutils versionator multilib + +MY_PV=${PV/_/} +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="Library bits of the samba network filesystem" +HOMEPAGE="http://www.samba.org/" +SRC_URI="mirror://samba/${P}.tar.gz" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="acl addns ads aio avahi caps +client cluster cups debug doc examples fam + ldap ldb +netapi pam quota +readline +server +smbclient smbsharemodes swat + syslog winbind " + +DEPEND="dev-libs/popt + !net-fs/samba-client + !net-fs/samba-libs + !net-fs/samba-server + !net-fs/cifs-utils + sys-libs/talloc + sys-libs/tdb + virtual/libiconv + ads? ( virtual/krb5 sys-fs/e2fsprogs + client? ( sys-apps/keyutils ) ) + avahi? ( net-dns/avahi[dbus] ) + caps? ( sys-libs/libcap ) + client? ( !net-fs/mount-cifs + dev-libs/iniparser ) + cluster? ( dev-db/ctdb ) + cups? ( net-print/cups ) + debug? ( dev-libs/dmalloc ) + fam? ( virtual/fam ) + ldap? ( net-nds/openldap ) + ldb? ( sys-libs/ldb ) + pam? ( virtual/pam + winbind? ( dev-libs/iniparser ) ) + readline? ( >=sys-libs/readline-5.2 ) + syslog? ( virtual/logger )" + +RDEPEND="${DEPEND}" + +# Disable tests since we don't want to build that much here +RESTRICT="test" + +SBINPROGS="" +BINPROGS="" + +if use server ; then + SBINPROGS="${SBINPROGS} bin/smbd bin/nmbd" + BINPROGS="${BINPROGS} bin/testparm bin/smbstatus bin/smbcontrol bin/pdbedit + bin/profiles bin/sharesec bin/eventlogadm" + + use swat && SBINPROGS="${SBINPROGS} bin/swat" + use winbind && SBINPROGS="${SBINPROGS} bin/winbindd" + use ads && use winbind && SBIN_PROGS="${SBINPROGS} bin/winbind_krb5_locator" +fi + +if use client ; then + BINPROGS="${BINPROGS} bin/smbclient bin/net bin/smbget bin/smbtree + bin/nmblookup bin/smbpasswd bin/rpcclient bin/smbcacls bin/smbcquotas + bin/ntlm_auth" + + use ads && SBINPROGS="${SBINPROGS} bin/cifs.upcall" +fi + +use cups && BINPROGS="${BINPROGS} bin/smbspool" +#use ldb && BINPROGS="${BINPROGS} bin/ldbedit bin/ldbsearch bin/ldbadd bin/ldbdel bin/ldbmodify bin/ldbrename"; + +if use winbind ; then + BINPROGS="${BINPROGS} bin/wbinfo" + mymod_shared="--with-shared-modules=idmap_rid,idmap_hash" + use ldap && mymod_shared="${mymod_shared},idmap_adex,idmap_ldap" + use ads && mymod_shared="${mymod_shared},idmap_ad" +fi + +S="${WORKDIR}/${MY_P}/source3" + +# TODO: +# - enable iPrint on Prefix/OSX and Darwin? +# - selftest-prefix? selftest? +# - AFS? + +CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" + +pkg_setup() { + if use winbind && + [[ $(tc-getCC)$ == *gcc* ]] && + [[ $(gcc-major-version)$(gcc-minor-version) -lt 43 ]] + then + eerror "It is a known issue that ${P} will not build with " + eerror "winbind use flag enabled when using gcc < 4.3 ." + eerror "Please use at least the latest stable gcc version." + die "Using sys-devel/gcc < 4.3 with winbind use flag." + fi + + confutils_use_depend_all ads ldap + confutils_use_depend_all swat server + confutils_use_depend_all client netapi +} + +src_prepare() { + cp "${FILESDIR}/samba-3.4.2-lib.tevent.python.mk" "../lib/tevent/python.mk" + + # ensure that winbind has correct ldflags (QA notice) + sed -i \ + -e 's|LDSHFLAGS="|LDSHFLAGS="\\${LDFLAGS} |g' \ + configure || die "sed failed" + + epatch "${CONFDIR}"/${PN}-3.4.9-kerberos-dummy.patch +} + +src_configure() { + local myconf + + # Filter out -fPIE + [[ ${CHOST} == *-*bsd* ]] && myconf="${myconf} --disable-pie" + + # Upstream refuses to make this configurable + use caps && export ac_cv_header_sys_capability_h=yes || export ac_cv_header_sys_capability_h=no + + # use_with doesn't accept 2 USE-flags + if use client && use ads ; then + myconf="${myconf} --with-cifsupcall" + else + myconf="${myconf} --without-cifsupcall" + fi + + # Notes: + # - automount is only needed in conjunction with NIS and we don't have that + # anymore => LDAP? + # - --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 \ + --disable-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 \ + $(use_with client cifsmount) \ + $(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} \ + $(use_with netapi libnetapi) \ + $(use_with smbclient libsmbclient) \ + $(use_with smbsharemodes libsmbsharemodes) \ + $(use_with addns 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) \ + ${mymod_shared} \ + --without-included-popt \ + --without-included-iniparser +} + +src_compile() { + # compile libs + if use addns ; then + einfo "make addns library" + emake libaddns || die "emake libaddns failed" + fi + if use netapi ; then + einfo "make netapi library" + emake libnetapi || die "emake libnetapi failed" + fi + if use smbclient ; then + einfo "make smbclient library" + emake libsmbclient || die "emake libsmbclient failed" + fi + if use smbsharemodes ; then + einfo "make smbsharemodes library" + emake libsmbsharemodes || die "emake libsmbsharemodes failed" + fi + + # compile modules + emake modules || die "building modules failed" + + # compile pam moudles + if use pam ; then + einfo "make pam modules" + emake pam_modules || die "emake pam_modules failed"; + fi + + # compile winbind nss modules + if use winbind ; then + einfo "make nss modules" + emake nss_modules || die "emake nss_modules failed"; + fi + + # compile utilities + if [ -n "${BINPROGS}" ] ; then + einfo "make binprogs" + emake ${BINPROGS} || die "emake binprogs failed"; + fi + if [ -n "${SBINPROGS}" ] ; then + einfo "make sbinprogs" + emake ${SBINPROGS} || die "emake sbinprogs failed"; + fi + + if use client ; then + einfo "make {,u}mount.cifs" + emake bin/{,u}mount.cifs || die "emake {,u}mount.cifs failed" + fi +} + +src_install() { + # install libs + if use addns ; then + einfo "install addns library" + emake installlibaddns DESTDIR="${D}" || die "emake install libaddns failed" + fi + if use netapi ; then + einfo "install netapi library" + emake installlibnetapi DESTDIR="${D}" || die "emake install libnetapi failed" + fi + if use smbclient ; then + einfo "install smbclient library" + emake installlibsmbclient DESTDIR="${D}" || die "emake install libsmbclient failed" + fi + if use smbsharemodes ; then + einfo "install smbsharemodes library" + emake installlibsmbsharemodes DESTDIR="${D}" || die "emake install libsmbsharemodes failed" + fi + + # install modules + emake installmodules DESTDIR="${D}" || die "installing modules failed" + + if use pam ; then + einfo "install pam modules" + emake installpammodules DESTDIR="${D}" || die "emake installpammodules failed" + + if use winbind ; then + newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind + doman ../docs/manpages/pam_winbind.8 + fi + + newpamd "${CONFDIR}/samba.pam" samba + dodoc pam_smbpass/README + fi + + # Nsswitch extensions. Make link for wins and winbind resolvers + if use winbind ; then + einfo "install libwbclient" + emake installlibwbclient DESTDIR="${D}" || die "emake installlibwbclient failed" + dolib.so ../nsswitch/libnss_wins.so + dosym libnss_wins.so /usr/$(get_libdir)/libnss_wins.so.2 + dolib.so ../nsswitch/libnss_winbind.so + dosym libnss_winbind.so /usr/$(get_libdir)/libnss_winbind.so.2 + einfo "install libwbclient related manpages" + doman ../docs/manpages/idmap_rid.8 + doman ../docs/manpages/idmap_hash.8 + if use ldap ; then + doman ../docs/manpages/idmap_adex.8 + doman ../docs/manpages/idmap_ldap.8 + fi + if use ads ; then + doman ../docs/manpages/idmap_ad.8 + fi + fi + + # install binaries + insinto /usr + for prog in ${SBINPROGS} ; do + dosbin ${prog} || die "installing ${prog} failed" + doman ../docs/manpages/${prog/bin\/}* || die "doman failed" + done + + for prog in ${BINPROGS} ; do + dobin ${prog} || die "installing ${prog} failed" + doman ../docs/manpages/${prog/bin\/}* || die "doman failed" + done + + # install server components + if use server ; then + doman ../docs/manpages/vfs* ../docs/manpages/samba.7 + + 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} + + 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 + fi + + # install client files ({u,}mount.cifs into /) + if use client ; then + into / + dosbin bin/{u,}mount.cifs || die "u/mount.cifs not around" + doman ../docs/manpages/{u,}mount.cifs.8 || die "can't create man pages" + fi + + # install the spooler to cups + use cups && dosym /usr/bin/smbspool $(cups-config --serverbin)/backend/smb + + # install misc files + insinto /etc/samba + doins "${CONFDIR}"/smb.conf.default + doman ../docs/manpages/smb.conf.5 + + insinto /usr/"$(get_libdir)"/samba + doins ../codepages/{valid.dat,upcase.dat,lowcase.dat} + + # install docs + if use doc ; then + dohtml -r ../docs/htmldocs/* + dodoc ../docs/*.pdf + fi + + # install examples + if use examples ; then + einfo "install examples" + insinto /usr/share/doc/${PF}/examples + + if use smbclient ; then + doins -r ../examples/libsmbclient + fi + + if use winbind ; then + doins -r ../examples/pam_winbind ../examples/nss + fi + + if use server ; then + doins -r \ + ../examples/{auth,autofs,dce-dfs,LDAP,logon,misc} \ + ../examples/{pdb,perfcounter,printer-accounting} \ + ../examples/{printing,scripts,tridge,validchars,VFS} + fi + fi + + # Remove empty installation directories + rmdir --ignore-fail-on-non-empty \ + "${D}/usr/$(get_libdir)/samba" \ + "${D}/usr"/{sbin,bin} \ + "${D}/usr/share"/{man,locale,} \ + "${D}/var"/{run,lib/samba/private,lib/samba,lib,cache/samba,cache,} \ + # || die "tried to remove non-empty dirs, this seems like a bug in the ebuild" +} + +pkg_postinst() { + elog "The default passdb backend has been changed to 'tdbsam' in samba 3.4!" + elog "That breaks existing setups using the 'smbpasswd' backend without" + elog "explicit declaration!" + elog "Please use 'passdb backend = smbpasswd' if you would like to stick to the" + elog "'smbpasswd' backend or convert your smbpasswd entries using e.g. " + elog "'pdbedit -i smbpasswd -e tdbsam'." + elog "For further information make sure to read the release notes at" + elog "http://samba.org/samba/history/${P}.html and " + elog "http://samba.org/samba/history/${PN}-3.4.0.html" +} diff --git a/net-fs/samba/samba-3.4.13-r1.ebuild b/net-fs/samba/samba-3.4.13-r1.ebuild new file mode 100644 index 000000000000..0d873beecb79 --- /dev/null +++ b/net-fs/samba/samba-3.4.13-r1.ebuild @@ -0,0 +1,412 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-3.4.13-r1.ebuild,v 1.1 2011/08/04 18:52:26 maksbotan Exp $ + +EAPI="2" + +inherit pam confutils versionator multilib + +MY_PV=${PV/_/} +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="Library bits of the samba network filesystem" +HOMEPAGE="http://www.samba.org/" +SRC_URI="mirror://samba/${P}.tar.gz" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="acl addns ads aio avahi caps +client cluster cups debug doc examples fam + ldap ldb +netapi pam quota +readline +server +smbclient smbsharemodes swat + syslog winbind " + +DEPEND="dev-libs/popt + !net-fs/samba-client + !net-fs/samba-libs + !net-fs/samba-server + !net-fs/cifs-utils + sys-libs/talloc + sys-libs/tdb + virtual/libiconv + ads? ( virtual/krb5 sys-fs/e2fsprogs + client? ( sys-apps/keyutils ) ) + avahi? ( net-dns/avahi[dbus] ) + caps? ( sys-libs/libcap ) + client? ( !net-fs/mount-cifs + dev-libs/iniparser ) + cluster? ( dev-db/ctdb ) + cups? ( net-print/cups ) + debug? ( dev-libs/dmalloc ) + fam? ( virtual/fam ) + ldap? ( net-nds/openldap ) + ldb? ( sys-libs/ldb ) + pam? ( virtual/pam + winbind? ( dev-libs/iniparser ) ) + readline? ( >=sys-libs/readline-5.2 ) + syslog? ( virtual/logger )" + +RDEPEND="${DEPEND}" + +# Disable tests since we don't want to build that much here +RESTRICT="test" + +SBINPROGS="" +BINPROGS="" + +if use server ; then + SBINPROGS="${SBINPROGS} bin/smbd bin/nmbd" + BINPROGS="${BINPROGS} bin/testparm bin/smbstatus bin/smbcontrol bin/pdbedit + bin/profiles bin/sharesec bin/eventlogadm" + + use swat && SBINPROGS="${SBINPROGS} bin/swat" + use winbind && SBINPROGS="${SBINPROGS} bin/winbindd" + use ads && use winbind && SBIN_PROGS="${SBINPROGS} bin/winbind_krb5_locator" +fi + +if use client ; then + BINPROGS="${BINPROGS} bin/smbclient bin/net bin/smbget bin/smbtree + bin/nmblookup bin/smbpasswd bin/rpcclient bin/smbcacls bin/smbcquotas + bin/ntlm_auth" + + use ads && SBINPROGS="${SBINPROGS} bin/cifs.upcall" +fi + +use cups && BINPROGS="${BINPROGS} bin/smbspool" +#use ldb && BINPROGS="${BINPROGS} bin/ldbedit bin/ldbsearch bin/ldbadd bin/ldbdel bin/ldbmodify bin/ldbrename"; + +if use winbind ; then + BINPROGS="${BINPROGS} bin/wbinfo" + mymod_shared="--with-shared-modules=idmap_rid,idmap_hash" + use ldap && mymod_shared="${mymod_shared},idmap_adex,idmap_ldap" + use ads && mymod_shared="${mymod_shared},idmap_ad" +fi + +S="${WORKDIR}/${MY_P}/source3" + +# TODO: +# - enable iPrint on Prefix/OSX and Darwin? +# - selftest-prefix? selftest? +# - AFS? + +CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" + +pkg_setup() { + if use winbind && + [[ $(tc-getCC)$ == *gcc* ]] && + [[ $(gcc-major-version)$(gcc-minor-version) -lt 43 ]] + then + eerror "It is a known issue that ${P} will not build with " + eerror "winbind use flag enabled when using gcc < 4.3 ." + eerror "Please use at least the latest stable gcc version." + die "Using sys-devel/gcc < 4.3 with winbind use flag." + fi + + confutils_use_depend_all ads ldap + confutils_use_depend_all swat server + confutils_use_depend_all client netapi +} + +src_prepare() { + cp "${FILESDIR}/samba-3.4.2-lib.tevent.python.mk" "../lib/tevent/python.mk" + + # ensure that winbind has correct ldflags (QA notice) + sed -i \ + -e 's|LDSHFLAGS="|LDSHFLAGS="\\${LDFLAGS} |g' \ + configure || die "sed failed" + + epatch "${CONFDIR}"/${PN}-3.4.9-kerberos-dummy.patch +} + +src_configure() { + local myconf + + # Filter out -fPIE + [[ ${CHOST} == *-*bsd* ]] && myconf="${myconf} --disable-pie" + + # Upstream refuses to make this configurable + use caps && export ac_cv_header_sys_capability_h=yes || export ac_cv_header_sys_capability_h=no + + # use_with doesn't accept 2 USE-flags + if use client && use ads ; then + myconf="${myconf} --with-cifsupcall" + else + myconf="${myconf} --without-cifsupcall" + fi + + # Notes: + # - automount is only needed in conjunction with NIS and we don't have that + # anymore => LDAP? + # - --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 \ + --disable-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 \ + $(use_with client cifsmount) \ + $(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} \ + $(use_with netapi libnetapi) \ + $(use_with smbclient libsmbclient) \ + $(use_with smbsharemodes libsmbsharemodes) \ + $(use_with addns 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) \ + ${mymod_shared} \ + --without-included-popt \ + --without-included-iniparser +} + +src_compile() { + # compile libs + if use addns ; then + einfo "make addns library" + emake libaddns || die "emake libaddns failed" + fi + if use netapi ; then + einfo "make netapi library" + emake libnetapi || die "emake libnetapi failed" + fi + if use smbclient ; then + einfo "make smbclient library" + emake libsmbclient || die "emake libsmbclient failed" + fi + if use smbsharemodes ; then + einfo "make smbsharemodes library" + emake libsmbsharemodes || die "emake libsmbsharemodes failed" + fi + + # compile modules + emake modules || die "building modules failed" + + # compile pam moudles + if use pam ; then + einfo "make pam modules" + emake pam_modules || die "emake pam_modules failed"; + fi + + # compile winbind nss modules + if use winbind ; then + einfo "make nss modules" + emake nss_modules || die "emake nss_modules failed"; + fi + + # compile utilities + if [ -n "${BINPROGS}" ] ; then + einfo "make binprogs" + emake ${BINPROGS} || die "emake binprogs failed"; + fi + if [ -n "${SBINPROGS}" ] ; then + einfo "make sbinprogs" + emake ${SBINPROGS} || die "emake sbinprogs failed"; + fi + + if use client ; then + einfo "make {,u}mount.cifs" + emake bin/{,u}mount.cifs || die "emake {,u}mount.cifs failed" + fi +} + +src_install() { + # install libs + if use addns ; then + einfo "install addns library" + emake installlibaddns DESTDIR="${D}" || die "emake install libaddns failed" + fi + if use netapi ; then + einfo "install netapi library" + emake installlibnetapi DESTDIR="${D}" || die "emake install libnetapi failed" + fi + if use smbclient ; then + einfo "install smbclient library" + emake installlibsmbclient DESTDIR="${D}" || die "emake install libsmbclient failed" + fi + if use smbsharemodes ; then + einfo "install smbsharemodes library" + emake installlibsmbsharemodes DESTDIR="${D}" || die "emake install libsmbsharemodes failed" + fi + + # install modules + emake installmodules DESTDIR="${D}" || die "installing modules failed" + + if use pam ; then + einfo "install pam modules" + emake installpammodules DESTDIR="${D}" || die "emake installpammodules failed" + + if use winbind ; then + newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind + doman ../docs/manpages/pam_winbind.8 + fi + + newpamd "${CONFDIR}/samba.pam" samba + dodoc pam_smbpass/README + fi + + # Nsswitch extensions. Make link for wins and winbind resolvers + if use winbind ; then + einfo "install libwbclient" + emake installlibwbclient DESTDIR="${D}" || die "emake installlibwbclient failed" + dolib.so ../nsswitch/libnss_wins.so + dosym libnss_wins.so /usr/$(get_libdir)/libnss_wins.so.2 + dolib.so ../nsswitch/libnss_winbind.so + dosym libnss_winbind.so /usr/$(get_libdir)/libnss_winbind.so.2 + einfo "install libwbclient related manpages" + doman ../docs/manpages/idmap_rid.8 + doman ../docs/manpages/idmap_hash.8 + if use ldap ; then + doman ../docs/manpages/idmap_adex.8 + doman ../docs/manpages/idmap_ldap.8 + fi + if use ads ; then + doman ../docs/manpages/idmap_ad.8 + fi + fi + + # install binaries + insinto /usr + for prog in ${SBINPROGS} ; do + dosbin ${prog} || die "installing ${prog} failed" + doman ../docs/manpages/${prog/bin\/}* || die "doman failed" + done + + for prog in ${BINPROGS} ; do + dobin ${prog} || die "installing ${prog} failed" + doman ../docs/manpages/${prog/bin\/}* || die "doman failed" + done + + # install server components + if use server ; then + doman ../docs/manpages/vfs* ../docs/manpages/samba.7 + + 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} + + 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 + fi + + # install client files ({u,}mount.cifs into /) + if use client ; then + into / + dosbin bin/{u,}mount.cifs || die "u/mount.cifs not around" + doman ../docs/manpages/{u,}mount.cifs.8 || die "can't create man pages" + fi + + # install the spooler to cups + use cups && dosym /usr/bin/smbspool $(cups-config --serverbin)/backend/smb + + # install misc files + insinto /etc/samba + doins "${CONFDIR}"/smb.conf.default + doman ../docs/manpages/smb.conf.5 + + insinto /usr/"$(get_libdir)"/samba + doins ../codepages/{valid.dat,upcase.dat,lowcase.dat} + + # install docs + if use doc ; then + dohtml -r ../docs/htmldocs/* + dodoc ../docs/*.pdf + fi + + # install examples + if use examples ; then + einfo "install examples" + insinto /usr/share/doc/${PF}/examples + + if use smbclient ; then + doins -r ../examples/libsmbclient + fi + + if use winbind ; then + doins -r ../examples/pam_winbind ../examples/nss + fi + + if use server ; then + doins -r \ + ../examples/{auth,autofs,dce-dfs,LDAP,logon,misc} \ + ../examples/{pdb,perfcounter,printer-accounting} \ + ../examples/{printing,scripts,tridge,validchars,VFS} + fi + fi + + # Remove empty installation directories + rmdir --ignore-fail-on-non-empty \ + "${D}/usr/$(get_libdir)/samba" \ + "${D}/usr"/{sbin,bin} \ + "${D}/usr/share"/{man,locale,} \ + "${D}/var"/{run,lib/samba/private,lib/samba,lib,cache/samba,cache,} \ + # || die "tried to remove non-empty dirs, this seems like a bug in the ebuild" +} + +pkg_postinst() { + elog "The default passdb backend has been changed to 'tdbsam' in samba 3.4!" + elog "That breaks existing setups using the 'smbpasswd' backend without" + elog "explicit declaration!" + elog "Please use 'passdb backend = smbpasswd' if you would like to stick to the" + elog "'smbpasswd' backend or convert your smbpasswd entries using e.g. " + elog "'pdbedit -i smbpasswd -e tdbsam'." + elog "For further information make sure to read the release notes at" + elog "http://samba.org/samba/history/${P}.html and " + elog "http://samba.org/samba/history/${PN}-3.4.0.html" +} diff --git a/net-fs/samba/samba-3.5.8-r2.ebuild b/net-fs/samba/samba-3.5.8-r2.ebuild new file mode 100644 index 000000000000..fcceb77fb3fe --- /dev/null +++ b/net-fs/samba/samba-3.5.8-r2.ebuild @@ -0,0 +1,445 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-3.5.8-r2.ebuild,v 1.1 2011/08/04 18:52:26 maksbotan Exp $ + +EAPI=4 + +inherit pam versionator multilib eutils + +MY_PV=${PV/_/} +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="Library bits of the samba network filesystem" +HOMEPAGE="http://www.samba.org/" +SRC_URI="mirror://samba/${P}.tar.gz + http://dev.gentoo.org/~dagger/files/smb_traffic_analyzer_v2.diff.bz2" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="acl addns ads +aio avahi caps +client cluster cups debug doc examples fam + ldap ldb +netapi pam quota +readline +server +smbclient smbsharemodes smbtav2 + swat syslog winbind" + +DEPEND="dev-libs/popt + !net-fs/samba-client + !net-fs/samba-libs + !net-fs/samba-server + !net-fs/cifs-utils + sys-libs/talloc + sys-libs/tdb + virtual/libiconv + ads? ( virtual/krb5 sys-fs/e2fsprogs + client? ( sys-apps/keyutils ) ) + avahi? ( net-dns/avahi[dbus] ) + caps? ( sys-libs/libcap ) + client? ( !net-fs/mount-cifs + dev-libs/iniparser ) + cluster? ( >=dev-db/ctdb-1.0.114_p1 ) + cups? ( net-print/cups ) + debug? ( dev-libs/dmalloc ) + fam? ( virtual/fam ) + ldap? ( net-nds/openldap ) + ldb? ( sys-libs/ldb ) + pam? ( virtual/pam + winbind? ( dev-libs/iniparser ) + ) + readline? ( >=sys-libs/readline-5.2 ) + syslog? ( virtual/logger )" + +RDEPEND="${DEPEND}" + +# Disable tests since we don't want to build that much here +RESTRICT="test" + +SBINPROGS="" +BINPROGS="" +KRBPLUGIN="" +PLUGINEXT=".so" +SHAREDMODS="" + +S="${WORKDIR}/${MY_P}/source3" + +# TODO: +# - enable iPrint on Prefix/OSX and Darwin? +# - selftest-prefix? selftest? +# - AFS? + +CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" + +REQUIRED_USE=" + ads? ( ldap ) + swat? ( server ) +" + +pkg_setup() { + if use server ; then + SBINPROGS="${SBINPROGS} bin/smbd bin/nmbd" + BINPROGS="${BINPROGS} bin/testparm bin/smbstatus bin/smbcontrol bin/pdbedit + bin/profiles bin/sharesec bin/eventlogadm" + + use smbtav2 && BINPROGS="${BINPROGS} bin/smbta-util" + use swat && SBINPROGS="${SBINPROGS} bin/swat" + use winbind && SBINPROGS="${SBINPROGS} bin/winbindd" + use ads && use winbind && KRBPLUGIN="${KRBPLUGIN} bin/winbind_krb5_locator" + fi + + if use client ; then + BINPROGS="${BINPROGS} bin/smbclient bin/net bin/smbget bin/smbtree + bin/nmblookup bin/smbpasswd bin/rpcclient bin/smbcacls bin/smbcquotas + bin/ntlm_auth" + + use ads && SBINPROGS="${SBINPROGS} bin/cifs.upcall" + fi + + use cups && BINPROGS="${BINPROGS} bin/smbspool" +# use ldb && BINPROGS="${BINPROGS} bin/ldbedit bin/ldbsearch bin/ldbadd bin/ldbdel bin/ldbmodify bin/ldbrename"; + + if use winbind ; then + BINPROGS="${BINPROGS} bin/wbinfo" + SHAREDMODS="${SHAREDMODS}idmap_rid,idmap_hash" + use ads && SHAREDMODS="${SHAREDMODS},idmap_ad" + use ldap && SHAREDMODS="${SHAREDMODS},idmap_ldap,idmap_adex" + fi + + if use winbind && + [[ $(tc-getCC)$ == *gcc* ]] && + [[ $(gcc-major-version)$(gcc-minor-version) -lt 43 ]] + then + eerror "It is a known issue that ${P} will not build with " + eerror "winbind use flag enabled when using gcc < 4.3 ." + eerror "Please use at least the latest stable gcc version." + die "Using sys-devel/gcc < 4.3 with winbind use flag." + fi +} + +src_prepare() { + cp "${FILESDIR}/samba-3.4.2-lib.tevent.python.mk" "../lib/tevent/python.mk" + + # ensure that winbind has correct ldflags (QA notice) + sed -i \ + -e 's|LDSHFLAGS="|LDSHFLAGS="\\${LDFLAGS} |g' \ + configure || die "sed failed" + + epatch "${CONFDIR}"/${PN}-3.5.6-kerberos-dummy.patch + use smbtav2 && cd "${WORKDIR}/${P}" && epatch "${WORKDIR}"/smb_traffic_analyzer_v2.diff + cd "${WORKDIR}/${MY_P}" && epatch "${CONFDIR}"/${PN}-3.5.8-uclib-build.patch +} + +src_configure() { + local myconf + + # Filter out -fPIE + [[ ${CHOST} == *-*bsd* ]] && myconf+=" --disable-pie" + + # Upstream refuses to make this configurable + use caps && export ac_cv_header_sys_capability_h=yes || export ac_cv_header_sys_capability_h=no + + # use_with doesn't accept 2 USE-flags + if use client && use ads ; then + myconf+=" --with-cifsupcall" + else + myconf+=" --without-cifsupcall" + fi + + # Notes: + # - automount is only needed in conjunction with NIS and we don't have that + # anymore => LDAP? + # - --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 \ + --disable-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 \ + $(use_with client cifsmount) \ + $(use_with client cifsumount) \ + $(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} \ + $(use_with netapi libnetapi) \ + $(use_with smbclient libsmbclient) \ + $(use_with smbsharemodes libsmbsharemodes) \ + $(use_with addns 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) \ + --with-shared-modules=${SHAREDMODS} \ + --without-included-popt \ + --without-included-iniparser +} + +src_compile() { + # compile libs + if use addns ; then + einfo "make addns library" + emake libaddns + fi + if use netapi ; then + einfo "make netapi library" + emake libnetapi + fi + if use smbclient ; then + einfo "make smbclient library" + emake libsmbclient + fi + if use smbsharemodes ; then + einfo "make smbsharemodes library" + emake libsmbsharemodes + fi + + # compile modules + emake modules + + # compile pam moudles + if use pam ; then + einfo "make pam modules" + emake pam_modules + fi + + # compile winbind nss modules + if use winbind ; then + einfo "make nss modules" + emake nss_modules + fi + + # compile utilities + if [ -n "${BINPROGS}" ] ; then + einfo "make binprogs" + emake ${BINPROGS} + fi + if [ -n "${SBINPROGS}" ] ; then + einfo "make sbinprogs" + emake ${SBINPROGS} + fi + + if [ -n "${KRBPLUGIN}" ] ; then + einfo "make krbplugin" + emake ${KRBPLUGIN}${PLUGINEXT} + fi + + if use client ; then + einfo "make {,u}mount.cifs" + emake bin/{,u}mount.cifs + fi +} + +src_install() { + # install libs + if use addns ; then + einfo "install addns library" + emake installlibaddns DESTDIR="${D}" + fi + if use netapi ; then + einfo "install netapi library" + emake installlibnetapi DESTDIR="${D}" + fi + if use smbclient ; then + einfo "install smbclient library" + emake installlibsmbclient DESTDIR="${D}" + fi + if use smbsharemodes ; then + einfo "install smbsharemodes library" + emake installlibsmbsharemodes DESTDIR="${D}" + fi + + # install modules + emake installmodules DESTDIR="${D}" + + if use pam ; then + einfo "install pam modules" + emake installpammodules DESTDIR="${D}" + + if use winbind ; then + newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind + doman ../docs/manpages/pam_winbind.8 + fi + + newpamd "${CONFDIR}/samba.pam" samba + dodoc pam_smbpass/README + fi + + # Nsswitch extensions. Make link for wins and winbind resolvers + if use winbind ; then + einfo "install libwbclient" + emake installlibwbclient DESTDIR="${D}" + dolib.so ../nsswitch/libnss_wins.so + dosym libnss_wins.so /usr/$(get_libdir)/libnss_wins.so.2 + dolib.so ../nsswitch/libnss_winbind.so + dosym libnss_winbind.so /usr/$(get_libdir)/libnss_winbind.so.2 + einfo "install libwbclient related manpages" + doman ../docs/manpages/idmap_rid.8 + doman ../docs/manpages/idmap_hash.8 + if use ldap ; then + doman ../docs/manpages/idmap_adex.8 + doman ../docs/manpages/idmap_ldap.8 + fi + if use ads ; then + doman ../docs/manpages/idmap_ad.8 + fi + fi + + # install binaries + insinto /usr + for prog in ${SBINPROGS} ; do + dosbin ${prog} + doman ../docs/manpages/${prog/bin\/}* + done + + for prog in ${BINPROGS} ; do + dobin ${prog} + doman ../docs/manpages/${prog/bin\/}* + done + + # install krbplugin + if [ -n "${KRBPLUGIN}" ] ; then + if has_version app-crypt/mit-krb5 ; then + insinto /usr/$(get_libdir)/krb5/plugins/libkrb5 + doins ${KRBPLUGIN}${PLUGINEXT} + elif has_version app-crypt/heimdal ; then + insinto /usr/$(get_libdir)/plugin/krb5 + doins ${KRBPLUGIN}${PLUGINEXT} + fi + insinto /usr + for prog in ${KRBPLUGIN} ; do + doman ../docs/manpages/${prog/bin\/}* + done + fi + + # install server components + if use server ; then + doman ../docs/manpages/vfs* ../docs/manpages/samba.7 + + 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} + + 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}" + fi + + dodoc ../MAINTAINERS ../README* ../Roadmap ../WHATSNEW.txt ../docs/THANKS + fi + + # install client files ({u,}mount.cifs into /) + if use client ; then + into / + dosbin bin/{u,}mount.cifs + doman ../docs/manpages/{u,}mount.cifs.8 + fi + + # install the spooler to cups + if use cups ; then + dosym /usr/bin/smbspool $(cups-config --serverbin)/backend/smb + fi + + # install misc files + insinto /etc/samba + doins "${CONFDIR}"/smb.conf.default + doman ../docs/manpages/smb.conf.5 + + insinto /usr/"$(get_libdir)"/samba + doins ../codepages/{valid.dat,upcase.dat,lowcase.dat} + + # install docs + if use doc ; then + dohtml -r ../docs/htmldocs/* + dodoc ../docs/*.pdf + fi + + # install examples + if use examples ; then + insinto /usr/share/doc/${PF}/examples + + if use smbclient ; then + doins -r ../examples/libsmbclient + fi + + if use winbind ; then + doins -r ../examples/pam_winbind ../examples/nss + fi + + if use server ; then + cd ../examples + doins -r auth autofs dce-dfs LDAP logon misc pdb \ + perfcounter printer-accounting printing scripts tridge \ + validchars VFS + fi + fi + + # Remove empty installation directories + rmdir --ignore-fail-on-non-empty \ + "${D}/usr/$(get_libdir)/samba" \ + "${D}/usr"/{sbin,bin} \ + "${D}/usr/share"/{man,locale,} \ + "${D}/var"/{run,lib/samba/private,lib/samba,lib,cache/samba,cache,} \ + # || die "tried to remove non-empty dirs, this seems like a bug in the ebuild" +} + +pkg_postinst() { + elog "The default value of 'wide links' has been changed to 'no' in samba 3.5" + elog "to avoid an insecure default configuration" + elog "('wide links = yes' and 'unix extensions = yes'). For more details," + elog "please see http://www.samba.org/samba/news/symlink_attack.html ." + elog "" + elog "An EXPERIMENTAL implementation of the SMB2 protocol has been added." + elog "SMB2 can be enabled by setting 'max protocol = smb2'. SMB2 is a new " + elog "implementation of the SMB protocol used by Windows Vista and higher" + elog "" + elog "For further information make sure to read the release notes at" + elog "http://samba.org/samba/history/${P}.html and " + elog "http://samba.org/samba/history/${PN}-3.5.0.html" +} diff --git a/net-fs/samba/samba-3.5.9-r1.ebuild b/net-fs/samba/samba-3.5.9-r1.ebuild new file mode 100644 index 000000000000..a0eddc35c4ec --- /dev/null +++ b/net-fs/samba/samba-3.5.9-r1.ebuild @@ -0,0 +1,446 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-3.5.9-r1.ebuild,v 1.1 2011/08/04 18:52:26 maksbotan Exp $ + +EAPI=4 + +inherit pam versionator multilib eutils + +MY_PV=${PV/_/} +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="Library bits of the samba network filesystem" +HOMEPAGE="http://www.samba.org/" +SRC_URI="mirror://samba/${P}.tar.gz + http://dev.gentoo.org/~dagger/files/smb_traffic_analyzer_v2.diff.bz2" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="acl addns ads +aio avahi caps +client cluster cups debug doc examples fam + ldap ldb +netapi pam quota +readline +server +smbclient smbsharemodes smbtav2 + swat syslog winbind" + +DEPEND="dev-libs/popt + !net-fs/samba-client + !net-fs/samba-libs + !net-fs/samba-server + !net-fs/cifs-utils + sys-libs/talloc + sys-libs/tdb + virtual/libiconv + ads? ( virtual/krb5 sys-fs/e2fsprogs + client? ( sys-apps/keyutils ) ) + avahi? ( net-dns/avahi[dbus] ) + caps? ( sys-libs/libcap ) + client? ( !net-fs/mount-cifs + dev-libs/iniparser ) + cluster? ( >=dev-db/ctdb-1.0.114_p1 ) + cups? ( net-print/cups ) + debug? ( dev-libs/dmalloc ) + fam? ( virtual/fam ) + ldap? ( net-nds/openldap ) + ldb? ( sys-libs/ldb ) + pam? ( virtual/pam + winbind? ( dev-libs/iniparser ) + ) + readline? ( >=sys-libs/readline-5.2 ) + syslog? ( virtual/logger )" + +RDEPEND="${DEPEND}" + +# Disable tests since we don't want to build that much here +RESTRICT="test" + +SBINPROGS="" +BINPROGS="" +KRBPLUGIN="" +PLUGINEXT=".so" +SHAREDMODS="" + +S="${WORKDIR}/${MY_P}/source3" + +# TODO: +# - enable iPrint on Prefix/OSX and Darwin? +# - selftest-prefix? selftest? +# - AFS? + +CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" + +REQUIRED_USE=" + ads? ( ldap ) + swat? ( server ) +" + +pkg_setup() { + if use server ; then + SBINPROGS="${SBINPROGS} bin/smbd bin/nmbd" + BINPROGS="${BINPROGS} bin/testparm bin/smbstatus bin/smbcontrol bin/pdbedit + bin/profiles bin/sharesec bin/eventlogadm" + + use smbtav2 && BINPROGS="${BINPROGS} bin/smbta-util" + use swat && SBINPROGS="${SBINPROGS} bin/swat" + use winbind && SBINPROGS="${SBINPROGS} bin/winbindd" + use ads && use winbind && KRBPLUGIN="${KRBPLUGIN} bin/winbind_krb5_locator" + fi + + if use client ; then + BINPROGS="${BINPROGS} bin/smbclient bin/net bin/smbget bin/smbtree + bin/nmblookup bin/smbpasswd bin/rpcclient bin/smbcacls bin/smbcquotas + bin/ntlm_auth" + + use ads && SBINPROGS="${SBINPROGS} bin/cifs.upcall" + fi + + use cups && BINPROGS="${BINPROGS} bin/smbspool" +# use ldb && BINPROGS="${BINPROGS} bin/ldbedit bin/ldbsearch bin/ldbadd bin/ldbdel bin/ldbmodify bin/ldbrename"; + + if use winbind ; then + BINPROGS="${BINPROGS} bin/wbinfo" + SHAREDMODS="${SHAREDMODS}idmap_rid,idmap_hash" + use ads && SHAREDMODS="${SHAREDMODS},idmap_ad" + use ldap && SHAREDMODS="${SHAREDMODS},idmap_ldap,idmap_adex" + fi + + if use winbind && + [[ $(tc-getCC)$ == *gcc* ]] && + [[ $(gcc-major-version)$(gcc-minor-version) -lt 43 ]] + then + eerror "It is a known issue that ${P} will not build with " + eerror "winbind use flag enabled when using gcc < 4.3 ." + eerror "Please use at least the latest stable gcc version." + die "Using sys-devel/gcc < 4.3 with winbind use flag." + fi +} + +src_prepare() { + cp "${FILESDIR}/samba-3.4.2-lib.tevent.python.mk" "../lib/tevent/python.mk" + + # ensure that winbind has correct ldflags (QA notice) + sed -i \ + -e 's|LDSHFLAGS="|LDSHFLAGS="\\${LDFLAGS} |g' \ + configure || die "sed failed" + + epatch "${CONFDIR}"/${PN}-3.5.6-kerberos-dummy.patch + use smbtav2 && cd "${WORKDIR}/${P}" && epatch "${WORKDIR}"/smb_traffic_analyzer_v2.diff + cd "${WORKDIR}/${MY_P}" && epatch "${CONFDIR}"/${PN}-3.5.8-uclib-build.patch + epatch "${CONFDIR}"/smb.conf.default.patch +} + +src_configure() { + local myconf + + # Filter out -fPIE + [[ ${CHOST} == *-*bsd* ]] && myconf+=" --disable-pie" + + # Upstream refuses to make this configurable + use caps && export ac_cv_header_sys_capability_h=yes || export ac_cv_header_sys_capability_h=no + + # use_with doesn't accept 2 USE-flags + if use client && use ads ; then + myconf+=" --with-cifsupcall" + else + myconf+=" --without-cifsupcall" + fi + + # Notes: + # - automount is only needed in conjunction with NIS and we don't have that + # anymore => LDAP? + # - --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 \ + --disable-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 \ + $(use_with client cifsmount) \ + $(use_with client cifsumount) \ + $(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} \ + $(use_with netapi libnetapi) \ + $(use_with smbclient libsmbclient) \ + $(use_with smbsharemodes libsmbsharemodes) \ + $(use_with addns 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) \ + --with-shared-modules=${SHAREDMODS} \ + --without-included-popt \ + --without-included-iniparser +} + +src_compile() { + # compile libs + if use addns ; then + einfo "make addns library" + emake libaddns + fi + if use netapi ; then + einfo "make netapi library" + emake libnetapi + fi + if use smbclient ; then + einfo "make smbclient library" + emake libsmbclient + fi + if use smbsharemodes ; then + einfo "make smbsharemodes library" + emake libsmbsharemodes + fi + + # compile modules + emake modules + + # compile pam moudles + if use pam ; then + einfo "make pam modules" + emake pam_modules + fi + + # compile winbind nss modules + if use winbind ; then + einfo "make nss modules" + emake nss_modules + fi + + # compile utilities + if [ -n "${BINPROGS}" ] ; then + einfo "make binprogs" + emake ${BINPROGS} + fi + if [ -n "${SBINPROGS}" ] ; then + einfo "make sbinprogs" + emake ${SBINPROGS} + fi + + if [ -n "${KRBPLUGIN}" ] ; then + einfo "make krbplugin" + emake ${KRBPLUGIN}${PLUGINEXT} + fi + + if use client ; then + einfo "make {,u}mount.cifs" + emake bin/{,u}mount.cifs + fi +} + +src_install() { + # install libs + if use addns ; then + einfo "install addns library" + emake installlibaddns DESTDIR="${D}" + fi + if use netapi ; then + einfo "install netapi library" + emake installlibnetapi DESTDIR="${D}" + fi + if use smbclient ; then + einfo "install smbclient library" + emake installlibsmbclient DESTDIR="${D}" + fi + if use smbsharemodes ; then + einfo "install smbsharemodes library" + emake installlibsmbsharemodes DESTDIR="${D}" + fi + + # install modules + emake installmodules DESTDIR="${D}" + + if use pam ; then + einfo "install pam modules" + emake installpammodules DESTDIR="${D}" + + if use winbind ; then + newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind + doman ../docs/manpages/pam_winbind.8 + fi + + newpamd "${CONFDIR}/samba.pam" samba + dodoc pam_smbpass/README + fi + + # Nsswitch extensions. Make link for wins and winbind resolvers + if use winbind ; then + einfo "install libwbclient" + emake installlibwbclient DESTDIR="${D}" + dolib.so ../nsswitch/libnss_wins.so + dosym libnss_wins.so /usr/$(get_libdir)/libnss_wins.so.2 + dolib.so ../nsswitch/libnss_winbind.so + dosym libnss_winbind.so /usr/$(get_libdir)/libnss_winbind.so.2 + einfo "install libwbclient related manpages" + doman ../docs/manpages/idmap_rid.8 + doman ../docs/manpages/idmap_hash.8 + if use ldap ; then + doman ../docs/manpages/idmap_adex.8 + doman ../docs/manpages/idmap_ldap.8 + fi + if use ads ; then + doman ../docs/manpages/idmap_ad.8 + fi + fi + + # install binaries + insinto /usr + for prog in ${SBINPROGS} ; do + dosbin ${prog} + doman ../docs/manpages/${prog/bin\/}* + done + + for prog in ${BINPROGS} ; do + dobin ${prog} + doman ../docs/manpages/${prog/bin\/}* + done + + # install krbplugin + if [ -n "${KRBPLUGIN}" ] ; then + if has_version app-crypt/mit-krb5 ; then + insinto /usr/$(get_libdir)/krb5/plugins/libkrb5 + doins ${KRBPLUGIN}${PLUGINEXT} + elif has_version app-crypt/heimdal ; then + insinto /usr/$(get_libdir)/plugin/krb5 + doins ${KRBPLUGIN}${PLUGINEXT} + fi + insinto /usr + for prog in ${KRBPLUGIN} ; do + doman ../docs/manpages/${prog/bin\/}* + done + fi + + # install server components + if use server ; then + doman ../docs/manpages/vfs* ../docs/manpages/samba.7 + + 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} + + 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}" + fi + + dodoc ../MAINTAINERS ../README* ../Roadmap ../WHATSNEW.txt ../docs/THANKS + fi + + # install client files ({u,}mount.cifs into /) + if use client ; then + into / + dosbin bin/{u,}mount.cifs + doman ../docs/manpages/{u,}mount.cifs.8 + fi + + # install the spooler to cups + if use cups ; then + dosym /usr/bin/smbspool $(cups-config --serverbin)/backend/smb + fi + + # install misc files + insinto /etc/samba + doins ../examples/smb.conf.default + doman ../docs/manpages/smb.conf.5 + + insinto /usr/"$(get_libdir)"/samba + doins ../codepages/{valid.dat,upcase.dat,lowcase.dat} + + # install docs + if use doc ; then + dohtml -r ../docs/htmldocs/* + dodoc ../docs/*.pdf + fi + + # install examples + if use examples ; then + insinto /usr/share/doc/${PF}/examples + + if use smbclient ; then + doins -r ../examples/libsmbclient + fi + + if use winbind ; then + doins -r ../examples/pam_winbind ../examples/nss + fi + + if use server ; then + cd ../examples + doins -r auth autofs dce-dfs LDAP logon misc pdb \ + perfcounter printer-accounting printing scripts tridge \ + validchars VFS + fi + fi + + # Remove empty installation directories + rmdir --ignore-fail-on-non-empty \ + "${D}/usr/$(get_libdir)/samba" \ + "${D}/usr"/{sbin,bin} \ + "${D}/usr/share"/{man,locale,} \ + "${D}/var"/{run,lib/samba/private,lib/samba,lib,cache/samba,cache,} \ + # || die "tried to remove non-empty dirs, this seems like a bug in the ebuild" +} + +pkg_postinst() { + elog "The default value of 'wide links' has been changed to 'no' in samba 3.5" + elog "to avoid an insecure default configuration" + elog "('wide links = yes' and 'unix extensions = yes'). For more details," + elog "please see http://www.samba.org/samba/news/symlink_attack.html ." + elog "" + elog "An EXPERIMENTAL implementation of the SMB2 protocol has been added." + elog "SMB2 can be enabled by setting 'max protocol = smb2'. SMB2 is a new " + elog "implementation of the SMB protocol used by Windows Vista and higher" + elog "" + elog "For further information make sure to read the release notes at" + elog "http://samba.org/samba/history/${P}.html and " + elog "http://samba.org/samba/history/${PN}-3.5.0.html" +} diff --git a/net-fs/samba/samba-3.6.0_rc3-r1.ebuild b/net-fs/samba/samba-3.6.0_rc3-r1.ebuild new file mode 100644 index 000000000000..7c701b67d9dc --- /dev/null +++ b/net-fs/samba/samba-3.6.0_rc3-r1.ebuild @@ -0,0 +1,420 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-3.6.0_rc3-r1.ebuild,v 1.1 2011/08/04 18:52:26 maksbotan Exp $ + +EAPI=4 + +inherit pam versionator multilib eutils + +MY_PV=${PV/_/} +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="Library bits of the samba network filesystem" +HOMEPAGE="http://www.samba.org/" +SRC_URI="mirror://samba/rc/${MY_P}.tar.gz" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="acl addns ads +aio avahi caps +client cluster cups debug doc examples fam + ldap ldb +netapi pam quota +readline +server +smbclient smbsharemodes + swat syslog winbind" + +DEPEND="dev-libs/popt + !net-fs/samba-client + !net-fs/samba-libs + !net-fs/samba-server + >=sys-libs/talloc-2.0.5 + >=sys-libs/tdb-1.2.9 + virtual/libiconv + ads? ( virtual/krb5 sys-fs/e2fsprogs + client? ( sys-apps/keyutils + net-fs/cifs-utils[ads] ) ) + avahi? ( net-dns/avahi[dbus] ) + caps? ( sys-libs/libcap ) + client? ( !net-fs/mount-cifs + dev-libs/iniparser + net-fs/cifs-utils ) + cluster? ( >=dev-db/ctdb-1.0.114_p1 ) + cups? ( net-print/cups ) + debug? ( dev-libs/dmalloc ) + fam? ( virtual/fam ) + ldap? ( net-nds/openldap ) + ldb? ( sys-libs/ldb ) + pam? ( virtual/pam + winbind? ( dev-libs/iniparser ) + ) + readline? ( >=sys-libs/readline-5.2 ) + syslog? ( virtual/logger )" + +RDEPEND="${DEPEND}" + +# Disable tests since we don't want to build that much here +RESTRICT="test" + +SBINPROGS="" +BINPROGS="" +KRBPLUGIN="" +PLUGINEXT=".so" +SHAREDMODS="" + +S="${WORKDIR}/${MY_P}/source3" + +# TODO: +# - enable iPrint on Prefix/OSX and Darwin? +# - selftest-prefix? selftest? +# - AFS? + +CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" + +REQUIRED_USE=" + ads? ( ldap ) + swat? ( server ) +" + +pkg_setup() { + if use server ; then + SBINPROGS="${SBINPROGS} bin/smbd bin/nmbd" + BINPROGS="${BINPROGS} bin/testparm bin/smbstatus bin/smbcontrol bin/pdbedit + bin/profiles bin/sharesec bin/eventlogadm bin/smbta-util" + + use swat && SBINPROGS="${SBINPROGS} bin/swat" + use winbind && SBINPROGS="${SBINPROGS} bin/winbindd" + use ads && use winbind && KRBPLUGIN="${KRBPLUGIN} bin/winbind_krb5_locator" + fi + + if use client ; then + BINPROGS="${BINPROGS} bin/smbclient bin/net bin/smbget bin/smbtree + bin/nmblookup bin/smbpasswd bin/rpcclient bin/smbcacls bin/smbcquotas + bin/ntlm_auth" + + fi + + use cups && BINPROGS="${BINPROGS} bin/smbspool" +# use ldb && BINPROGS="${BINPROGS} bin/ldbedit bin/ldbsearch bin/ldbadd bin/ldbdel bin/ldbmodify bin/ldbrename"; + + if use winbind ; then + BINPROGS="${BINPROGS} bin/wbinfo" + SHAREDMODS="${SHAREDMODS}idmap_rid,idmap_hash" + use ads && SHAREDMODS="${SHAREDMODS},idmap_ad" + use ldap && SHAREDMODS="${SHAREDMODS},idmap_ldap,idmap_adex" + fi + + if use winbind && + [[ $(tc-getCC)$ == *gcc* ]] && + [[ $(gcc-major-version)$(gcc-minor-version) -lt 43 ]] + then + eerror "It is a known issue that ${P} will not build with " + eerror "winbind use flag enabled when using gcc < 4.3 ." + eerror "Please use at least the latest stable gcc version." + die "Using sys-devel/gcc < 4.3 with winbind use flag." + fi +} + +src_prepare() { + cp "${FILESDIR}/samba-3.4.2-lib.tevent.python.mk" "../lib/tevent/python.mk" + + # ensure that winbind has correct ldflags (QA notice) + sed -i \ + -e 's|LDSHFLAGS="|LDSHFLAGS="\\${LDFLAGS} |g' \ + configure || die "sed failed" + cd "${WORKDIR}/${MY_P}" && epatch "${CONFDIR}"/smb.conf.default.patch +} + +src_configure() { + local myconf + + # Filter out -fPIE + [[ ${CHOST} == *-*bsd* ]] && myconf+=" --disable-pie" + + # Upstream refuses to make this configurable + use caps && export ac_cv_header_sys_capability_h=yes || export ac_cv_header_sys_capability_h=no + + # Notes: + # - automount is only needed in conjunction with NIS and we don't have that + # anymore => LDAP? + # - --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 \ + --disable-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 \ + $(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} \ + $(use_with netapi libnetapi) \ + $(use_with smbclient libsmbclient) \ + $(use_with smbsharemodes libsmbsharemodes) \ + $(use_with addns 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) \ + --with-shared-modules=${SHAREDMODS} \ + --without-included-popt \ + --without-included-iniparser +} + +src_compile() { + # compile libs + if use addns ; then + einfo "make addns library" + emake libaddns + fi + if use netapi ; then + einfo "make netapi library" + emake libnetapi + fi + if use smbclient ; then + einfo "make smbclient library" + emake libsmbclient + fi + if use smbsharemodes ; then + einfo "make smbsharemodes library" + emake libsmbsharemodes + fi + + # compile modules + emake modules + + # compile pam moudles + if use pam ; then + einfo "make pam modules" + emake pam_modules + fi + + # compile winbind nss modules + if use winbind ; then + einfo "make nss modules" + emake nss_modules + fi + + # compile utilities + if [ -n "${BINPROGS}" ] ; then + einfo "make binprogs" + emake ${BINPROGS} + fi + if [ -n "${SBINPROGS}" ] ; then + einfo "make sbinprogs" + emake ${SBINPROGS} + fi + + if [ -n "${KRBPLUGIN}" ] ; then + einfo "make krbplugin" + emake ${KRBPLUGIN}${PLUGINEXT} + fi + +} + +src_install() { + # install libs + if use addns ; then + einfo "install addns library" + emake installlibaddns DESTDIR="${D}" + fi + if use netapi ; then + einfo "install netapi library" + emake installlibnetapi DESTDIR="${D}" + fi + if use smbclient ; then + einfo "install smbclient library" + emake installlibsmbclient DESTDIR="${D}" + fi + if use smbsharemodes ; then + einfo "install smbsharemodes library" + emake installlibsmbsharemodes DESTDIR="${D}" + fi + + # install modules + emake installmodules DESTDIR="${D}" + + if use pam ; then + einfo "install pam modules" + emake installpammodules DESTDIR="${D}" + + if use winbind ; then + newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind + doman ../docs/manpages/pam_winbind.8 + fi + + newpamd "${CONFDIR}/samba.pam" samba + dodoc pam_smbpass/README + fi + + # Nsswitch extensions. Make link for wins and winbind resolvers + if use winbind ; then + einfo "install libwbclient" + emake installlibwbclient DESTDIR="${D}" + dolib.so ../nsswitch/libnss_wins.so + dosym libnss_wins.so /usr/$(get_libdir)/libnss_wins.so.2 + dolib.so ../nsswitch/libnss_winbind.so + dosym libnss_winbind.so /usr/$(get_libdir)/libnss_winbind.so.2 + einfo "install libwbclient related manpages" + doman ../docs/manpages/idmap_rid.8 + doman ../docs/manpages/idmap_hash.8 + if use ldap ; then + doman ../docs/manpages/idmap_adex.8 + doman ../docs/manpages/idmap_ldap.8 + fi + if use ads ; then + doman ../docs/manpages/idmap_ad.8 + fi + fi + + # install binaries + insinto /usr + for prog in ${SBINPROGS} ; do + dosbin ${prog} + doman ../docs/manpages/${prog/bin\/}* + done + + for prog in ${BINPROGS} ; do + dobin ${prog} + doman ../docs/manpages/${prog/bin\/}* + done + + # install krbplugin + if [ -n "${KRBPLUGIN}" ] ; then + if has_version app-crypt/mit-krb5 ; then + insinto /usr/$(get_libdir)/krb5/plugins/libkrb5 + doins ${KRBPLUGIN}${PLUGINEXT} + elif has_version app-crypt/heimdal ; then + insinto /usr/$(get_libdir)/plugin/krb5 + doins ${KRBPLUGIN}${PLUGINEXT} + fi + insinto /usr + for prog in ${KRBPLUGIN} ; do + doman ../docs/manpages/${prog/bin\/}* + done + fi + + # install server components + if use server ; then + doman ../docs/manpages/vfs* ../docs/manpages/samba.7 + + 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} + + 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}" + fi + + dodoc ../MAINTAINERS.txt ../README* ../Roadmap ../WHATSNEW.txt ../docs/THANKS + fi + + # install the spooler to cups + if use cups ; then + dosym /usr/bin/smbspool $(cups-config --serverbin)/backend/smb + fi + + # install misc files + insinto /etc/samba + doins ../examples/smb.conf.default + doman ../docs/manpages/smb.conf.5 + + insinto /usr/"$(get_libdir)"/samba + doins ../codepages/{valid.dat,upcase.dat,lowcase.dat} + + # install docs + if use doc ; then + dohtml -r ../docs/htmldocs/* + dodoc ../docs/*.pdf + fi + + # install examples + if use examples ; then + insinto /usr/share/doc/${PF}/examples + + if use smbclient ; then + doins -r ../examples/libsmbclient + fi + + if use winbind ; then + doins -r ../examples/pam_winbind ../examples/nss + fi + + if use server ; then + cd ../examples + doins -r auth autofs dce-dfs LDAP logon misc pdb \ + perfcounter printer-accounting printing scripts tridge \ + validchars VFS + fi + fi + + # Remove empty installation directories + rmdir --ignore-fail-on-non-empty \ + "${D}/usr/$(get_libdir)/samba" \ + "${D}/usr"/{sbin,bin} \ + "${D}/usr/share"/{man,locale,} \ + "${D}/var"/{run,lib/samba/private,lib/samba,lib,cache/samba,cache,} \ + # || die "tried to remove non-empty dirs, this seems like a bug in the ebuild" +} + +pkg_postinst() { + elog "The default value of 'wide links' has been changed to 'no' in samba 3.5" + elog "to avoid an insecure default configuration" + elog "('wide links = yes' and 'unix extensions = yes'). For more details," + elog "please see http://www.samba.org/samba/news/symlink_attack.html ." + elog "" + elog "An EXPERIMENTAL implementation of the SMB2 protocol has been added." + elog "SMB2 can be enabled by setting 'max protocol = smb2'. SMB2 is a new " + elog "implementation of the SMB protocol used by Windows Vista and higher" + elog "" + elog "For further information make sure to read the release notes at" + elog "http://samba.org/samba/history/${P}.html and " + elog "http://samba.org/samba/history/${PN}-3.5.0.html" +} |