diff options
author | Patrick Lauer <patrick@gentoo.org> | 2009-10-09 17:21:09 +0000 |
---|---|---|
committer | Patrick Lauer <patrick@gentoo.org> | 2009-10-09 17:21:09 +0000 |
commit | e79e1488d4cfb17f13b662b22ceacae577abd577 (patch) | |
tree | 4c12d330695c15a6cc1dc5688c89c5216a6bc6c5 /net-fs | |
parent | Bump to 3.4.2. Many new useflags and features. Ebuilds based on modifications... (diff) | |
download | gentoo-2-e79e1488d4cfb17f13b662b22ceacae577abd577.tar.gz gentoo-2-e79e1488d4cfb17f13b662b22ceacae577abd577.tar.bz2 gentoo-2-e79e1488d4cfb17f13b662b22ceacae577abd577.zip |
Bump to 3.4.2. Many new useflags and features. Ebuilds based on modifications by Marcel Greter, bug #231273
(Portage version: 2.2_rc44/cvs/Linux x86_64)
Diffstat (limited to 'net-fs')
-rw-r--r-- | net-fs/samba-libs/ChangeLog | 17 | ||||
-rw-r--r-- | net-fs/samba-libs/files/3.4/nsswitch.conf-winbind | 17 | ||||
-rw-r--r-- | net-fs/samba-libs/files/3.4/nsswitch.conf-wins | 17 | ||||
-rw-r--r-- | net-fs/samba-libs/files/3.4/samba.pam | 8 | ||||
-rw-r--r-- | net-fs/samba-libs/files/3.4/system-auth-winbind.pam | 18 | ||||
-rw-r--r-- | net-fs/samba-libs/files/samba-3.4.2-add-zlib-linking.patch | 11 | ||||
-rw-r--r-- | net-fs/samba-libs/files/samba-3.4.2-fix-samba4-automake.patch | 36 | ||||
-rw-r--r-- | net-fs/samba-libs/files/samba-3.4.2-insert-AC_LD_VERSIONSCRIPT.patch | 25 | ||||
-rw-r--r-- | net-fs/samba-libs/files/samba-3.4.2-lib.tevent.python.mk | 6 | ||||
-rw-r--r-- | net-fs/samba-libs/files/samba-3.4.2-missing_includes.patch | 10 | ||||
-rw-r--r-- | net-fs/samba-libs/files/samba-3.4.2-upgrade-tevent-version.patch | 8 | ||||
-rw-r--r-- | net-fs/samba-libs/metadata.xml | 9 | ||||
-rw-r--r-- | net-fs/samba-libs/samba-libs-3.3.8.ebuild | 4 | ||||
-rw-r--r-- | net-fs/samba-libs/samba-libs-3.4.2.ebuild | 338 |
14 files changed, 521 insertions, 3 deletions
diff --git a/net-fs/samba-libs/ChangeLog b/net-fs/samba-libs/ChangeLog index b80006be914e..0d151297d27c 100644 --- a/net-fs/samba-libs/ChangeLog +++ b/net-fs/samba-libs/ChangeLog @@ -1,6 +1,21 @@ # 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.8 2009/10/03 09:30:32 maekke Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-libs/ChangeLog,v 1.9 2009/10/09 17:21:09 patrick Exp $ + +*samba-libs-3.4.2 (09 Oct 2009) + + 09 Oct 2009; Patrick Lauer <patrick@gentoo.org> + +files/samba-3.4.2-add-zlib-linking.patch, + +files/samba-3.4.2-fix-samba4-automake.patch, + +files/samba-3.4.2-insert-AC_LD_VERSIONSCRIPT.patch, + +files/samba-3.4.2-lib.tevent.python.mk, + +files/samba-3.4.2-missing_includes.patch, + +files/samba-3.4.2-upgrade-tevent-version.patch, + +files/3.4/nsswitch.conf-winbind, +files/3.4/nsswitch.conf-wins, + +files/3.4/samba.pam, +files/3.4/system-auth-winbind.pam, + +samba-libs-3.4.2.ebuild, metadata.xml: + Bump to 3.4.2. Many new useflags and features. Ebuilds based on + modifications by Marcel Greter, bug #231273 03 Oct 2009; Markus Meier <maekke@gentoo.org> samba-libs-3.3.7.ebuild: add ~arm, bug #285952 diff --git a/net-fs/samba-libs/files/3.4/nsswitch.conf-winbind b/net-fs/samba-libs/files/3.4/nsswitch.conf-winbind new file mode 100644 index 000000000000..0f5db7b1bb98 --- /dev/null +++ b/net-fs/samba-libs/files/3.4/nsswitch.conf-winbind @@ -0,0 +1,17 @@ +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-libs/files/3.4/nsswitch.conf-winbind,v 1.1 2009/10/09 17:21:07 patrick Exp $ +passwd: files winbind +group: files winbind + +hosts: files dns +networks: files dns + +services: db files +protocols: db files +rpc: db files +ethers: db files +netmasks: files +netgroup: files +bootparams: files + +automount: files +aliases: files diff --git a/net-fs/samba-libs/files/3.4/nsswitch.conf-wins b/net-fs/samba-libs/files/3.4/nsswitch.conf-wins new file mode 100644 index 000000000000..b15df2813a60 --- /dev/null +++ b/net-fs/samba-libs/files/3.4/nsswitch.conf-wins @@ -0,0 +1,17 @@ +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-libs/files/3.4/nsswitch.conf-wins,v 1.1 2009/10/09 17:21:07 patrick Exp $ +passwd: files +group: files + +hosts: files dns wins +networks: files dns + +services: db files +protocols: db files +rpc: db files +ethers: db files +netmasks: files +netgroup: files +bootparams: files + +automount: files +aliases: files diff --git a/net-fs/samba-libs/files/3.4/samba.pam b/net-fs/samba-libs/files/3.4/samba.pam new file mode 100644 index 000000000000..91beadd478a4 --- /dev/null +++ b/net-fs/samba-libs/files/3.4/samba.pam @@ -0,0 +1,8 @@ +#%PAM-1.0 +# * pam_smbpass.so authenticates against the smbpasswd file +# * changed Redhat's 'pam_stack' with 'include' for *BSD compatibility +# (Diego "Flameeyes" Petteno'): enable with pam>=0.78 only +auth required pam_smbpass.so nodelay +account include system-auth +session include system-auth +password required pam_smbpass.so nodelay smbconf=/etc/samba/smb.conf diff --git a/net-fs/samba-libs/files/3.4/system-auth-winbind.pam b/net-fs/samba-libs/files/3.4/system-auth-winbind.pam new file mode 100644 index 000000000000..daf9151a8b6a --- /dev/null +++ b/net-fs/samba-libs/files/3.4/system-auth-winbind.pam @@ -0,0 +1,18 @@ +#%PAM-1.0 +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-libs/files/3.4/system-auth-winbind.pam,v 1.1 2009/10/09 17:21:07 patrick Exp $ + +auth required pam_env.so +auth sufficient pam_winbind.so +auth sufficient pam_unix.so likeauth nullok use_first_pass +auth required pam_deny.so + +account sufficient pam_winbind.so +account required pam_unix.so + +password required pam_cracklib.so retry=3 +password sufficient pam_unix.so nullok use_authtok md5 shadow +password required pam_deny.so + +session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 +session required pam_limits.so +session required pam_unix.so diff --git a/net-fs/samba-libs/files/samba-3.4.2-add-zlib-linking.patch b/net-fs/samba-libs/files/samba-3.4.2-add-zlib-linking.patch new file mode 100644 index 000000000000..f75f7f546de7 --- /dev/null +++ b/net-fs/samba-libs/files/samba-3.4.2-add-zlib-linking.patch @@ -0,0 +1,11 @@ +--- source3/Makefile.in.orig 2009-09-30 14:17:40.000000000 +0200 ++++ source3/Makefile.in 2009-10-07 10:11:56.090719799 +0200 +@@ -1470,7 +1470,7 @@ + @$(CC) -o $@ $(CIFS_UPCALL_OBJ) $(DYNEXP) $(LDFLAGS) \ + $(LIBSMBCLIENT_OBJ1) $(LIBS) -lkeyutils $(KRB5LIBS) \ + $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBWBCLIENT_LIBS) \ +- $(LIBTDB_LIBS) $(NSCD_LIBS) ++ $(LIBTDB_LIBS) $(NSCD_LIBS) $(ZLIB_LIBS) + + bin/testparm@EXEEXT@: $(BINARY_PREREQS) $(TESTPARM_OBJ) @BUILD_POPT@ @LIBTALLOC_TARGET@ @LIBTDB_TARGET@ + @echo Linking $@ diff --git a/net-fs/samba-libs/files/samba-3.4.2-fix-samba4-automake.patch b/net-fs/samba-libs/files/samba-3.4.2-fix-samba4-automake.patch new file mode 100644 index 000000000000..ade4da9820d6 --- /dev/null +++ b/net-fs/samba-libs/files/samba-3.4.2-fix-samba4-automake.patch @@ -0,0 +1,36 @@ +--- source4/build/m4/public.m4.org 2009-09-30 14:17:40.000000000 +0200 ++++ source4/build/m4/public.m4 2009-10-07 08:42:10.000000000 +0200 +@@ -86,10 +86,10 @@ + if $PKG_CONFIG --atleast-pkgconfig-version $SAMBA_PKG_CONFIG_MIN_VERSION; then + AC_MSG_CHECKING(for $2) + +- if $PKG_CONFIG --exists '$2' ; then ++ if $PKG_CONFIG --exists "$2" ; then + AC_MSG_RESULT(yes) + +- $1_CFLAGS="`$PKG_CONFIG --cflags '$2'`" ++ $1_CFLAGS="`$PKG_CONFIG --cflags \"$2\"`" + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $$1_CFLAGS" + AC_MSG_CHECKING([that the C compiler can use the $1_CFLAGS]) +@@ -101,15 +101,15 @@ + CFLAGS="$OLD_CFLAGS" + + SMB_EXT_LIB($1, +- [`$PKG_CONFIG --libs-only-l '$2'`], +- [`$PKG_CONFIG --cflags-only-other '$2'`], +- [`$PKG_CONFIG --cflags-only-I '$2'`], +- [`$PKG_CONFIG --libs-only-other '$2'` `$PKG_CONFIG --libs-only-L '$2'`]) ++ [`$PKG_CONFIG --libs-only-l "$2"`], ++ [`$PKG_CONFIG --cflags-only-other "$2"`], ++ [`$PKG_CONFIG --cflags-only-I "$2"`], ++ [`$PKG_CONFIG --libs-only-other "$2"` `$PKG_CONFIG --libs-only-L "$2"`]) + ac_cv_$1_found=yes + + else + AC_MSG_RESULT(no) +- $PKG_CONFIG --errors-to-stdout --print-errors '$2' ++ $PKG_CONFIG --errors-to-stdout --print-errors "$2" + ac_cv_$1_found=no + fi + else diff --git a/net-fs/samba-libs/files/samba-3.4.2-insert-AC_LD_VERSIONSCRIPT.patch b/net-fs/samba-libs/files/samba-3.4.2-insert-AC_LD_VERSIONSCRIPT.patch new file mode 100644 index 000000000000..8a849214a983 --- /dev/null +++ b/net-fs/samba-libs/files/samba-3.4.2-insert-AC_LD_VERSIONSCRIPT.patch @@ -0,0 +1,25 @@ +--- lib/replace/libreplace_ld.m4.orig 2009-09-30 14:17:40.000000000 +0200 ++++ lib/replace/libreplace_ld.m4 2009-10-07 02:07:26.000000000 +0200 +@@ -249,6 +249,22 @@ + esac + ]) + ++AC_DEFUN([AC_LD_VERSIONSCRIPT], ++[ ++ AC_SUBST(VERSIONSCRIPT) ++ VERSIONSCRIPT="" ++ case "$host_os" in ++ *linux*|*gnu*) ++ VERSIONSCRIPT="-Wl,--version-script" ++ ;; ++ *solaris*) ++ if test "${GCC}" = "yes"; then ++ VERSIONSCRIPT="-Wl,--version-script" ++ fi ++ ;; ++ esac ++]) ++ + AC_DEFUN([AC_LIBREPLACE_MDLD], + [ + AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_LINKER]) diff --git a/net-fs/samba-libs/files/samba-3.4.2-lib.tevent.python.mk b/net-fs/samba-libs/files/samba-3.4.2-lib.tevent.python.mk new file mode 100644 index 000000000000..3a0375580bea --- /dev/null +++ b/net-fs/samba-libs/files/samba-3.4.2-lib.tevent.python.mk @@ -0,0 +1,6 @@ +[PYTHON::pytevent] +LIBRARY_REALNAME = tevent.$(SHLIBEXT) +PRIVATE_DEPENDENCIES = LIBTEVENT PYTALLOC LIBSAMBA-UTIL LIBREPLACE + +pytevent_OBJ_FILES = $(libteventsrcdir)/pytevent.o + diff --git a/net-fs/samba-libs/files/samba-3.4.2-missing_includes.patch b/net-fs/samba-libs/files/samba-3.4.2-missing_includes.patch new file mode 100644 index 000000000000..be26fa068770 --- /dev/null +++ b/net-fs/samba-libs/files/samba-3.4.2-missing_includes.patch @@ -0,0 +1,10 @@ +--- source3/client/mtab.c.orig 2009-03-23 09:33:48.339895132 +0100 ++++ source3/client/mtab.c 2009-03-23 09:33:58.159797512 +0100 +@@ -32,6 +32,7 @@ + #include <errno.h> + #include <stdio.h> + #include <sys/time.h> ++#include <sys/stat.h> + #include <time.h> + #include <fcntl.h> + #include <mntent.h> diff --git a/net-fs/samba-libs/files/samba-3.4.2-upgrade-tevent-version.patch b/net-fs/samba-libs/files/samba-3.4.2-upgrade-tevent-version.patch new file mode 100644 index 000000000000..5a614c637996 --- /dev/null +++ b/net-fs/samba-libs/files/samba-3.4.2-upgrade-tevent-version.patch @@ -0,0 +1,8 @@ +--- source4/min_versions.m4.orig 2009-09-30 14:17:40.000000000 +0200 ++++ source4/min_versions.m4 2009-10-07 10:01:14.478984106 +0200 +@@ -3,4 +3,4 @@ + TDB_MIN_VERSION=1.1.3 + TALLOC_MIN_VERSION=1.3.0 + LDB_REQUIRED_VERSION=0.9.3 +-TEVENT_REQUIRED_VERSION=0.9.6 ++TEVENT_REQUIRED_VERSION=0.9.8 diff --git a/net-fs/samba-libs/metadata.xml b/net-fs/samba-libs/metadata.xml index b858ca25116c..a56428f9d2e5 100644 --- a/net-fs/samba-libs/metadata.xml +++ b/net-fs/samba-libs/metadata.xml @@ -14,5 +14,14 @@ Samba is an Open Source/Free Software suite that provides seamless file and prin <flag name="aio">Enable asynchronous IO support</flag> <flag name="cluster">Enable support for clustering</flag> <flag name="winbind">Enables support for the winbind auth daemon</flag> + <flag name="samba4">Enable experimental samba4 bits</flag> + <flag name="tdb">Enable building of tdb lib</flag> + <flag name="talloc">Enable building of talloc lib</flag> + <flag name="netapi">Enable building of netapi bits</flag> + <flag name="smbclient">Enable smbclient tool</flag> + <flag name="smbsharemodes">Enable special smb share modes (?) </flag> + <flag name="addns">Enable AD DNS integration</flag> + <flag name="tools">Enable extra tools</flag> + </use> </pkgmetadata> diff --git a/net-fs/samba-libs/samba-libs-3.3.8.ebuild b/net-fs/samba-libs/samba-libs-3.3.8.ebuild index 7c934010e3d6..fdf4eed86843 100644 --- a/net-fs/samba-libs/samba-libs-3.3.8.ebuild +++ b/net-fs/samba-libs/samba-libs-3.3.8.ebuild @@ -1,6 +1,6 @@ # 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.3.8.ebuild,v 1.1 2009/10/02 13:55:05 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba-libs/samba-libs-3.3.8.ebuild,v 1.2 2009/10/09 17:21:09 patrick Exp $ EAPI="2" @@ -13,7 +13,7 @@ HOMEPAGE="http://www.samba.org/" SRC_URI="mirror://samba/${MY_P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~hppa ~ppc64 ~x86" +KEYWORDS="~amd64 ~arm ~hppa ~ppc64 ~x86" IUSE="ads aio caps cluster cups debug examples ldap pam syslog winbind" DEPEND="dev-libs/popt diff --git a/net-fs/samba-libs/samba-libs-3.4.2.ebuild b/net-fs/samba-libs/samba-libs-3.4.2.ebuild new file mode 100644 index 000000000000..67b9058321a5 --- /dev/null +++ b/net-fs/samba-libs/samba-libs-3.4.2.ebuild @@ -0,0 +1,338 @@ +# 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.ebuild,v 1.1 2009/10/09 17:21:09 patrick Exp $ + +EAPI="2" + +inherit pam confutils versionator multilib + +MY_P="samba-${PV}" + +DESCRIPTION="samba-libs" +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 + +tdb +talloc +netapi smbclient smbsharemodes addns tools" + +DEPEND="dev-libs/popt + 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 ) ) + addns? ( !talloc? ( virtual/talloc ) ) + netapi? ( !tdb? ( virtual/tdb ) ) + netapi? ( !talloc? ( virtual/talloc ) ) + smbclient? ( !tdb? ( virtual/tdb ) ) + smbclient? ( !talloc? ( virtual/talloc ) ) + smbsharemodes? ( !tdb? ( virtual/tdb ) ) + smbsharemodes? ( !talloc? ( virtual/talloc ) ) + winbind? ( !tdb? ( virtual/tdb ) ) + winbind? ( !talloc? ( virtual/talloc ) ) + pam? ( !tdb? ( virtual/tdb ) ) + pam? ( !talloc? ( virtual/talloc ) ) + samba4? ( tools? ( !tdb? ( virtual/tdb ) ) ) + samba4? ( tools? ( !talloc? ( virtual/talloc ) ) ) + 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 tdb ; then BINPROGS="${BINPROGS} bin/tdbbackup bin/tdbdump bin/tdbtool"; fi + 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 + + if use tdb && has_version sys-libs/tdb ; then + die "sys-libs/tdb already installed, please disable tdb use flag" + fi + if use talloc && has_version sys-libs/talloc ; then + die "sys-libs/talloc already installed, please disable talloc use flag" + fi + +} + +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" + +# sed -i \ +# -e 's|@LIBTALLOC_SHARED@||g' \ +# -e 's|@LIBTDB_SHARED@||g' \ +# -e 's|@LIBWBCLIENT_SHARED@||g' \ +# -e 's|@LIBNETAPI_SHARED@||g' \ +# -e 's|$(REG_SMBCONF_OBJ) @LIBNETAPI_STATIC@ $(LIBNET_OBJ)|$(REG_SMBCONF_OBJ) @LIBNETAPI_LIBS@ $(LIBNET_OBJ)|' \ +# Makefile.in || die "sed failed" + + ./autogen.sh || die "autogen.sh failed" + + # ensure that winbind has correct ldflags (QA notice) + sed -i \ + -e 's|LDSHFLAGS="|LDSHFLAGS="\\${LDFLAGS} |g' \ + configure || die "sed failed" + +# sed -i \ +# -e 's|"lib32" ||' \ +# -e 's|if test -d "$i/$l" ;|if test -d "$i/$l" -o -L "$i/$l";|' \ +# configure || die "sed failed" + + # Upstream doesn't want us to link certain things dynamically, but those binaries here seem to work +# sed -i \ +# -e '/^LINK_LIBNETAPI/d' \ +# 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 \ + $(use_with tdb libtdb) \ + $(use_with netapi libnetapi) \ + $(use_with talloc 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 tdb ; then + einfo "make tdb library" + emake libtdb || die "emake libtdb failed" + fi + if use talloc ; then + einfo "make talloc library" + emake libtalloc || die "emake libtalloc failed" + fi + 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 tdb ; then + einfo "install tdb library" + emake installlibtdb DESTDIR="${D}" || die "emake install libtdb failed" + fi + if use talloc ; then + einfo "install talloc library" + emake installlibtalloc DESTDIR="${D}" || die "emake install libtalloc 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 + 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 + 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 ; 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 + +} |