diff options
author | Patrick Lauer <patrick@gentoo.org> | 2009-10-23 17:33:16 +0000 |
---|---|---|
committer | Patrick Lauer <patrick@gentoo.org> | 2009-10-23 17:33:16 +0000 |
commit | 2657bd8742d303d0a071cf7f22778532e81180e3 (patch) | |
tree | 462ba6a05bcc91f1b786a3f150e4bb737edacf0b /net-fs | |
parent | Unmask x11-libs/compizconfig-backend-kconfig wrt #289511. (diff) | |
download | historical-2657bd8742d303d0a071cf7f22778532e81180e3.tar.gz historical-2657bd8742d303d0a071cf7f22778532e81180e3.tar.bz2 historical-2657bd8742d303d0a071cf7f22778532e81180e3.zip |
Fixing autotools usage for #288536
Package-Manager: portage-2.2_rc46/cvs/Linux x86_64
Diffstat (limited to 'net-fs')
-rw-r--r-- | net-fs/samba-client/ChangeLog | 8 | ||||
-rw-r--r-- | net-fs/samba-client/samba-client-3.4.2-r1.ebuild | 205 | ||||
-rw-r--r-- | net-fs/samba-libs/ChangeLog | 8 | ||||
-rw-r--r-- | net-fs/samba-libs/samba-libs-3.4.2-r3.ebuild | 284 | ||||
-rw-r--r-- | net-fs/samba-server/ChangeLog | 8 | ||||
-rw-r--r-- | net-fs/samba-server/samba-server-3.4.2-r1.ebuild | 225 |
6 files changed, 735 insertions, 3 deletions
diff --git a/net-fs/samba-client/ChangeLog b/net-fs/samba-client/ChangeLog index 33dcbcd4e9f3..ae3db8f8b4a9 100644 --- a/net-fs/samba-client/ChangeLog +++ b/net-fs/samba-client/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-fs/samba-client # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-client/ChangeLog,v 1.14 2009/10/22 18:51:58 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-client/ChangeLog,v 1.15 2009/10/23 17:32:32 patrick Exp $ + +*samba-client-3.4.2-r1 (23 Oct 2009) + + 23 Oct 2009; Patrick Lauer <patrick@gentoo.org> + +samba-client-3.4.2-r1.ebuild: + Fixing autotools usage for #288536 *samba-client-3.3.9 (22 Oct 2009) diff --git a/net-fs/samba-client/samba-client-3.4.2-r1.ebuild b/net-fs/samba-client/samba-client-3.4.2-r1.ebuild new file mode 100644 index 000000000000..b163a76171c7 --- /dev/null +++ b/net-fs/samba-client/samba-client-3.4.2-r1.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-client/samba-client-3.4.2-r1.ebuild,v 1.1 2009/10/23 17:32:32 patrick Exp $ + +EAPI="2" + +inherit pam confutils versionator multilib eutils toolchain-funcs autotools + +MY_P="samba-${PV}" + +DESCRIPTION="Client bits of the samba network filesystem" +HOMEPAGE="http://www.samba.org/" +SRC_URI="mirror://samba/${MY_P}.tar.gz" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ppc64 ~x86" +IUSE="samba4 ads aio avahi caps cluster cups debug ldap minimal syslog winbind zeroconf" + +DEPEND="!<net-fs/samba-3.3 + !net-fs/mount-cifs + ads? ( virtual/krb5 sys-fs/e2fsprogs + net-fs/samba-libs[ads] sys-apps/keyutils ) + !minimal? ( + dev-libs/popt + dev-libs/iniparser + virtual/libiconv + zeroconf? ( || ( net-dns/avahi[mdnsresponder-compat] net-misc/mDNSResponder ) ) + caps? ( sys-libs/libcap ) + cups? ( net-print/cups ) + debug? ( dev-libs/dmalloc ) + ldap? ( net-nds/openldap ) + syslog? ( virtual/logger ) + sys-libs/tdb + sys-libs/talloc + ~net-fs/samba-libs-${PV}[caps?,cups?,ldap?,syslog?,winbind?,ads?,samba4?,netapi] )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}/source3" + +# TODO: +# - enable iPrint on Prefix/OSX and Darwin? +# - selftest-prefix? selftest? + +RESTRICT="test" + +CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" +BINPROGS="bin/smbclient bin/net bin/smbget bin/smbtree bin/nmblookup bin/smbpasswd bin/rpcclient bin/smbcacls bin/smbcquotas bin/ntlm_auth" + +pkg_setup() { + confutils_use_depend_all samba4 ads + confutils_use_depend_all ads ldap +} + +src_prepare() { + + cd ".." + + epatch \ + "${FILESDIR}/samba-3.4.2-add-zlib-linking.patch" \ + "${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 + if ! use minimal ; then + use caps && export ac_cv_header_sys_capability_h=yes + fi + + if ! use minimal || use ads; then + # 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 + # - current DNS/SD support in the client is via the mdnsresponder-compat api in avahi + econf ${myconf} \ + --sysconfdir=/etc/samba \ + --localstatedir=/var \ + $(use_enable debug developer) \ + --enable-largefile \ + --enable-socket-wrapper \ + --enable-nss-wrapper \ + --disable-swat \ + $(use_enable debug dmalloc) \ + $(use minimal && echo "--disable-cups" || echo "$(use_enable cups)") \ + --disable-iprint \ + --disable-fam \ + --enable-shared-libs \ + $(use minimal && echo "--disable-dnssd" || echo "$(use_enable avahi dnssd)") \ + --disable-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 minimal && echo "--without-ldap" || echo "$(use_with ldap)") \ + $(use minimal && echo "--without-ads" || echo "$(use_with ads)") \ + $(use minimal && echo "--without-krb5" || echo "$(use_with ads krb5 /usr)") \ + $(use minimal && echo "--without-dnsupdate" || echo "$(use_with ads dnsupdate)") \ + --without-automount \ + --without-cifsmount \ + --without-cifsupcall \ + --without-pam \ + --without-pam_smbpass \ + $(use minimal && echo "--without-syslog" || echo "$(use_with syslog)") \ + --without-quotas \ + --without-sys-quotas \ + --without-utmp \ + --without-lib{talloc,tdb,netapi,smbclient,smbsharemodes} \ + --without-libaddns \ + $(use minimal && echo "--without-ctdb" || echo "$(use_with cluster ctdb /usr)") \ + $(use minimal && echo "--without-cluster" || echo "$(use_with cluster cluster-support)") \ + --without-acl-support \ + $(use minimal && echo "--without-aio-support" || echo "$(use_with aio aio-support)") \ + --with-sendfile-support \ + $(use minimal && echo "--without-winbind" || echo "$(use_with winbind)") \ + --without-included-popt \ + --without-included-iniparser + fi +} + +src_compile() { + mkdir bin + $(tc-getCC) ${CFLAGS} ${LDFLAGS} -o bin/mount.cifs client/{mount.cifs,mtab}.c || die "building mount.cifs failed" + $(tc-getCC) ${CFLAGS} ${LDFLAGS} -o bin/umount.cifs client/{umount.cifs,mtab}.c || die "building umount.cifs failed" + + if use ads ; then + emake bin/cifs.upcall || die "emake cifs.upcall failed" + fi + + if ! use minimal ; then + emake ${BINPROGS} || die "emake binprogs failed" + if use cups ; then + emake bin/smbspool || die "emake smbspool failed" + fi + fi +} + +src_install() { + into / + dosbin bin/mount.cifs bin/umount.cifs || die "u/mount.cifs not around" + doman ../docs/manpages/{u,}mount.cifs.8 || die "can't create man pages" + dohtml ../docs/htmldocs/manpages/{u,}mount.cifs.8.html || die "dohtml failed" + + into /usr + if use ads ; then + dosbin bin/cifs.upcall || die "cifs.upcall not around" + doman ../docs/manpages/cifs.upcall.8 || die "doman failed" + dohtml ../docs/htmldocs/manpages/cifs.upcall.8.html || die "doman failed" + fi + + if ! use minimal ; then + dobin ${BINPROGS} || die "not all bins around" + for prog in ${BINPROGS} ; do + doman ../docs/manpages/${prog/bin\/}* || die "doman failed" + dohtml ../docs/htmldocs/manpages/${prog/bin\/}*.html || die "dohtml failed" + done + + if use cups ; then + dobin bin/smbspool || die "smbspool not around" + doman ../docs/manpages/smbspool.8 || die "doman failed" + dohtml ../docs/htmldocs/manpages/smbspool.8.html || die "dohtml failed" + dosym /usr/bin/smbspool $(cups-config --serverbin)/backend/smb + fi + fi +} diff --git a/net-fs/samba-libs/ChangeLog b/net-fs/samba-libs/ChangeLog index 7ee0170a1c32..d4d51699d61e 100644 --- a/net-fs/samba-libs/ChangeLog +++ b/net-fs/samba-libs/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-fs/samba-libs # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-libs/ChangeLog,v 1.17 2009/10/23 09:37:39 wired Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-libs/ChangeLog,v 1.18 2009/10/23 17:32:54 patrick Exp $ + +*samba-libs-3.4.2-r3 (23 Oct 2009) + + 23 Oct 2009; Patrick Lauer <patrick@gentoo.org> + +samba-libs-3.4.2-r3.ebuild: + Fixing autotools usage for #288536 23 Oct 2009; Alex Alexander <wired@gentoo.org> samba-libs-3.4.2-r2.ebuild: fixed +tools -samba4 install phase fail diff --git a/net-fs/samba-libs/samba-libs-3.4.2-r3.ebuild b/net-fs/samba-libs/samba-libs-3.4.2-r3.ebuild new file mode 100644 index 000000000000..8aba32ba03c8 --- /dev/null +++ b/net-fs/samba-libs/samba-libs-3.4.2-r3.ebuild @@ -0,0 +1,284 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-libs/samba-libs-3.4.2-r3.ebuild,v 1.1 2009/10/23 17:32:54 patrick Exp $ + +EAPI="2" + +inherit pam confutils versionator multilib autotools + +MY_P="samba-${PV}" + +DESCRIPTION="Library bits of the samba network filesystem" +HOMEPAGE="http://www.samba.org/" +SRC_URI="mirror://samba/${MY_P}.tar.gz" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ppc64 ~x86" +IUSE="samba4 ads aio caps cluster cups debug examples ldap pam syslog winbind + +netapi +smbclient smbsharemodes addns tools" + +DEPEND="dev-libs/popt + sys-libs/talloc + sys-libs/tdb + virtual/libiconv + ads? ( virtual/krb5 sys-fs/e2fsprogs ) + caps? ( sys-libs/libcap ) + cluster? ( dev-db/ctdb ) + cups? ( net-print/cups ) + debug? ( dev-libs/dmalloc ) + ldap? ( net-nds/openldap ) + pam? ( virtual/pam + winbind? ( dev-libs/iniparser ) ) + syslog? ( virtual/logger ) + !<net-fs/samba-3.3" +RDEPEND="${DEPEND}" + +# Disable tests since we don't want to build that much here +RESTRICT="test" + +BINPROGS="" + +if use tools ; then + if use samba4 ; then BINPROGS="${BINPROGS} bin/ldbedit bin/ldbsearch bin/ldbadd bin/ldbdel bin/ldbmodify bin/ldbrename"; fi +fi + +S="${WORKDIR}/${MY_P}/source3" + +# TODO: +# - enable iPrint on Prefix/OSX and Darwin? +# - selftest-prefix? selftest? + +CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" + +pkg_setup() { + confutils_use_depend_all samba4 ads + confutils_use_depend_all ads ldap +} + +src_prepare() { + + cd ".." + + epatch \ + "${FILESDIR}/samba-3.4.2-add-zlib-linking.patch" \ + "${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 + + # ensure that winbind has correct ldflags (QA notice) + sed -i \ + -e 's|LDSHFLAGS="|LDSHFLAGS="\\${LDFLAGS} |g' \ + configure || die "sed failed" +} + +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 + use caps && export ac_cv_header_sys_capability_h=yes || export ac_cv_header_sys_capability_h=no + + # 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} \ + --sysconfdir=/etc/samba \ + --localstatedir=/var \ + $(use_enable debug developer) \ + --enable-largefile \ + --enable-socket-wrapper \ + --enable-nss-wrapper \ + --disable-swat \ + $(use_enable debug dmalloc) \ + $(use_enable cups) \ + --disable-iprint \ + --disable-fam \ + --enable-shared-libs \ + --disable-dnssd \ + --disable-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) \ + --without-quotas \ + --without-sys-quotas \ + --without-utmp \ + --without-libtdb \ + $(use_with netapi libnetapi) \ + --without-libtalloc \ + $(use_with smbclient libsmbclient) \ + $(use_with smbsharemodes libsmbsharemodes) \ + $(use_with addns libaddns) \ + $(use_with cluster ctdb /usr) \ + $(use_with cluster cluster-support) \ + --without-acl-support \ + $(use_with aio aio-support) \ + --with-sendfile-support \ + $(use_with winbind) \ + --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 + if use pam ; then + einfo "make pam modules" + emake pam_modules || die "emake pam_modules failed"; + fi + if use winbind ; then + einfo "make nss modules" + emake nss_modules || die "emake nss_modules failed"; + fi + + # compile utilities + if use tools ; then + einfo "make utilities" + emake ${BINPROGS} || die "emake binprogs failed"; + fi + +} + +src_install() { + + # install libs + 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 + if use addns ; then + einfo "install addns library" + emake installlibaddns DESTDIR="${D}" || die "emake install libaddns failed" + fi + + # install modules + if use pam ; then + einfo "install pam modules" + emake installpammodules DESTDIR="${D}" || die "emake installpammodules failed" + fi + + # Remove empty installation directories + rmdir \ + "${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" + + # Nsswitch extensions. Make link for wins and winbind resolvers + if use winbind ; then + einfo "install lbwbclient" + 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 + fi + + if use pam ; then + if use winbind ; then + newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind + doman ../docs/manpages/pam_winbind.8 + dohtml ../docs/htmldocs/manpages/pam_winbind.8.html + + if use examples ; then + insinto /usr/share/doc/${PF}/examples + doins -r ../examples/pam_winbind + fi + fi + + newpamd "${CONFDIR}/samba.pam" samba + dodoc pam_smbpass/README + fi + + # install utilities + if use tools && [[ -n "${BINPROGS}" ]] ; then + einfo "install utilities" + dobin ${BINPROGS} || die "not all bins around" + for prog in ${BINPROGS} ; do + doman ../docs/manpages/${prog/bin\/}* || die "doman failed" + dohtml ../docs/htmldocs/manpages/${prog/bin\/}*.html || die "dohtml failed" + done + fi + + # install examples + if use examples ; then + einfo "install examples" + insinto /usr/share/doc/${PF}/examples + doins -r ../examples/libsmbclient + use winbind && doins -r ../examples/nss + fi + +} diff --git a/net-fs/samba-server/ChangeLog b/net-fs/samba-server/ChangeLog index 78d6cb88278a..a9e595721ae6 100644 --- a/net-fs/samba-server/ChangeLog +++ b/net-fs/samba-server/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-fs/samba-server # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-server/ChangeLog,v 1.18 2009/10/22 18:52:41 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-server/ChangeLog,v 1.19 2009/10/23 17:33:16 patrick Exp $ + +*samba-server-3.4.2-r1 (23 Oct 2009) + + 23 Oct 2009; Patrick Lauer <patrick@gentoo.org> + +samba-server-3.4.2-r1.ebuild: + Fixing autotools usage for #288536 *samba-server-3.3.9 (22 Oct 2009) diff --git a/net-fs/samba-server/samba-server-3.4.2-r1.ebuild b/net-fs/samba-server/samba-server-3.4.2-r1.ebuild new file mode 100644 index 000000000000..2ada1a995d8f --- /dev/null +++ b/net-fs/samba-server/samba-server-3.4.2-r1.ebuild @@ -0,0 +1,225 @@ +# Copyright 1999-2009 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.2-r1.ebuild,v 1.1 2009/10/23 17:33:16 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="~amd64 ~hppa ~ppc64 ~x86" +IUSE="samba4 acl ads aio avahi caps cluster cups debug doc examples fam ldap 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 ) + ldap? ( net-nds/openldap ) + 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-add-zlib-linking.patch" \ + "${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 \ + --without-pam \ + --without-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 + 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 +} |