polynomial-c    14/07/11 13:07:20

  Modified:             ChangeLog
  Added:                samba-4.0.19.ebuild samba-4.1.9.ebuild
                        samba-3.6.24.ebuild
  Removed:              samba-3.6.22.ebuild samba-4.1.7.ebuild
                        samba-4.0.17.ebuild
  Log:
  Version bump. Removed old. Fixed automagic dependency on libaio (bug #489764)
  
  (Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 
0x981CA6FC)

Revision  Changes    Path
1.674                net-fs/samba/ChangeLog

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/samba/ChangeLog?rev=1.674&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/samba/ChangeLog?rev=1.674&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/samba/ChangeLog?r1=1.673&r2=1.674

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/net-fs/samba/ChangeLog,v
retrieving revision 1.673
retrieving revision 1.674
diff -u -r1.673 -r1.674
--- ChangeLog   18 Jun 2014 20:35:22 -0000      1.673
+++ ChangeLog   11 Jul 2014 13:07:20 -0000      1.674
@@ -1,6 +1,17 @@
 # ChangeLog for net-fs/samba
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/ChangeLog,v 1.673 2014/06/18 
20:35:22 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/ChangeLog,v 1.674 2014/07/11 
13:07:20 polynomial-c Exp $
+
+*samba-4.1.9 (11 Jul 2014)
+*samba-4.0.19 (11 Jul 2014)
+*samba-3.6.24 (11 Jul 2014)
+
+  11 Jul 2014; Lars Wendler <polynomia...@gentoo.org> -samba-3.6.22.ebuild,
+  +samba-3.6.24.ebuild, -samba-4.0.17.ebuild, +samba-4.0.19.ebuild,
+  -samba-4.1.7.ebuild, +samba-4.1.9.ebuild,
+  +files/samba-4.0.19-automagic_aio_fix.patch:
+  Version bump. Removed old. Fixed automagic dependency on libaio (bug
+  #489764).
 
   18 Jun 2014; Michał Górny <mgo...@gentoo.org> samba-3.6.23-r1.ebuild:
   Update dependencies to require guaranteed EAPI=5 or multilib ebuilds, bug



1.1                  net-fs/samba/samba-4.0.19.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/samba/samba-4.0.19.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/samba/samba-4.0.19.ebuild?rev=1.1&content-type=text/plain

Index: samba-4.0.19.ebuild
===================================================================
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-4.0.19.ebuild,v 1.1 
2014/07/11 13:07:20 polynomial-c Exp $

EAPI=5
PYTHON_COMPAT=( python2_{6,7} )

inherit python-r1 waf-utils multilib linux-info systemd

MY_PV="${PV/_rc/rc}"
MY_P="${PN}-${MY_PV}"

if [ "${PV}" = "4.9999" ]; then
        EGIT_REPO_URI="git://git.samba.org/samba.git"
        KEYWORDS=""
        inherit git-2
else
        SRC_URI="mirror://samba/stable/${MY_P}.tar.gz"
        KEYWORDS="~amd64 ~hppa ~x86"
fi

DESCRIPTION="Samba Suite Version 4"
HOMEPAGE="http://www.samba.org/";
LICENSE="GPL-3"

SLOT="0"

IUSE="acl addns ads aio avahi client cluster cups dmapi fam gnutls iprint
ldap quota selinux swat syslog test winbind"

# sys-apps/attr is an automagic dependency (see bug #489748)
# sys-libs/pam is an automagic dependency (see bug #489770)
CDEPEND="${PYTHON_DEPS}
        >=app-crypt/heimdal-1.5[-ssl]
        dev-libs/iniparser
        dev-libs/popt
        sys-libs/readline
        virtual/libiconv
        dev-python/subunit
        sys-apps/attr
        sys-libs/libcap
        >=sys-libs/ldb-1.1.16
        >=sys-libs/tdb-1.2.11[python]
        >=sys-libs/talloc-2.0.8[python]
        >=sys-libs/tevent-0.9.18
        sys-libs/zlib
        virtual/pam
        acl? ( virtual/acl )
        addns? ( net-dns/bind-tools[gssapi] )
        aio? ( dev-libs/libaio )
        cluster? ( >=dev-db/ctdb-1.0.114_p1 )
        cups? ( net-print/cups )
        dmapi? ( sys-apps/dmapi )
        fam? ( virtual/fam )
        gnutls? ( dev-libs/libgcrypt:0
                >=net-libs/gnutls-1.4.0 )
        ldap? ( net-nds/openldap )
        selinux? ( sec-policy/selinux-samba )"
DEPEND="${CDEPEND}
        virtual/pkgconfig"
RDEPEND="${CDEPEND}
        client? ( net-fs/cifs-utils[ads?] )"

REQUIRED_USE="ads? ( acl ldap )"

RESTRICT="mirror"

S="${WORKDIR}/${MY_P}"

CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"

# sys-apps/dmapi is an automagic dependency (see bug #474492)
PATCHES=(
        "${FILESDIR}/${PN}-4.1.0-remove-dmapi-automagic.patch"
        "${FILESDIR}/named.conf.dlz.patch"
        "${FILESDIR}/${PN}-4.0.19-automagic_aio_fix.patch"
)

WAF_BINARY="${S}/buildtools/bin/waf"

pkg_setup() {
        python_export_best
        if use aio; then
                if ! linux_config_exists || ! linux_chkconfig_present AIO; then
                                ewarn "You must enable AIO support in your 
kernel config, "
                                ewarn "to be able to support asynchronous I/O. "
                                ewarn "You can find it at"
                                ewarn
                                ewarn "General Support"
                                ewarn " Enable AIO support "
                                ewarn
                                ewarn "and recompile your kernel..."
                fi
        fi
}

src_configure() {
        local myconf=''
        use "cluster" && myconf+=" --with-ctdb-dir=/usr"
        use "test" && myconf+=" --enable-selftest"
        myconf="${myconf} \
                --enable-fhs \
                --sysconfdir=/etc \
                --localstatedir=/var \
                --with-modulesdir=/usr/$(get_libdir)/samba \
                --with-pammodulesdir=/$(get_libdir)/security \
                --with-piddir=/var/run/${PN} \
                --disable-rpath \
                --disable-rpath-install \
                --nopyc \
                --nopyo \
                --disable-ntdb \
                --bundled-libraries=NONE \
                --builtin-libraries=NONE \
                $(use_with addns dnsupdate) \
                $(use_with acl acl-support) \
                $(use_with ads) \
                $(use_with aio aio-support) \
                $(use_enable avahi) \
                $(use_with cluster cluster-support) \
                $(use_enable cups) \
                $(use_with dmapi) \
                $(use_with fam) \
                $(use_enable gnutls) \
                $(use_enable iprint) \
                $(use_with ldap) \
                --with-pam \
                --with-pam_smbpass \
                $(use_with quota quotas) \
                $(use_with syslog) \
                $(use_with swat) \
                $(use_with winbind)
                "
        use "ads" && myconf+=" --with-shared-modules=idmap_ad"

        CPPFLAGS="-I/usr/include/et ${CPPFLAGS}" \
                waf-utils_src_configure ${myconf}
}

src_install() {
        waf-utils_src_install

        # install ldap schema for server (bug #491002)
        if use ldap ; then
                insinto /etc/openldap/schema
                doins examples/LDAP/samba.schema
        fi

        # Make all .so files executable
        find "${D}" -type f -name "*.so" -exec chmod +x {} +

        # Install init script and conf.d file
        newinitd "${CONFDIR}/samba4.initd-r1" samba
        newconfd "${CONFDIR}/samba4.confd" samba

        systemd_dotmpfilesd "${FILESDIR}"/samba.conf
        systemd_dounit "${FILESDIR}"/nmbd.service
        systemd_dounit "${FILESDIR}"/smbd.{service,socket}
        systemd_newunit "${FILESDIR}"/smbd_at.service 'smbd@.service'
        systemd_dounit "${FILESDIR}"/winbindd.service
}

src_test() {
        "${WAF_BINARY}" test || die "test failed"
}

pkg_postinst() {
        elog "This is is the first stable release of Samba 4.0"

        ewarn "Be aware the this release contains the best of all of Samba's"
        ewarn "technology parts, both a file server (that you can reasonably 
expect"
        ewarn "to upgrade existing Samba 3.x releases to) and the AD domain"
        ewarn "controller work previously known as 'samba4'."

        elog "For further information and migration steps make sure to read "
        elog "http://samba.org/samba/history/${P}.html "
        elog "http://samba.org/samba/history/${PN}-4.0.0.html and"
        elog "http://wiki.samba.org/index.php/Samba4/HOWTO "
}



1.1                  net-fs/samba/samba-4.1.9.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/samba/samba-4.1.9.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/samba/samba-4.1.9.ebuild?rev=1.1&content-type=text/plain

Index: samba-4.1.9.ebuild
===================================================================
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-4.1.9.ebuild,v 1.1 
2014/07/11 13:07:20 polynomial-c Exp $

EAPI=5
PYTHON_COMPAT=( python2_{6,7} )

inherit python-r1 waf-utils multilib linux-info systemd

MY_PV="${PV/_rc/rc}"
MY_P="${PN}-${MY_PV}"

SRC_URI="mirror://samba/stable/${MY_P}.tar.gz"
KEYWORDS="~amd64 ~hppa ~x86"

DESCRIPTION="Samba Suite Version 4"
HOMEPAGE="http://www.samba.org/";
LICENSE="GPL-3"

SLOT="0"

IUSE="acl addns ads aio avahi client cluster cups dmapi fam gnutls iprint
ldap quota selinux syslog test winbind"

# sys-apps/attr is an automagic dependency (see bug #489748)
# dev-libs/libaio is an automagic dependency (see bug #489764)
# sys-libs/pam is an automagic dependency (see bug #489770)
CDEPEND="${PYTHON_DEPS}
        >=app-crypt/heimdal-1.5[-ssl]
        dev-libs/iniparser
        dev-libs/popt
        sys-libs/readline
        virtual/libiconv
        dev-python/subunit
        sys-apps/attr
        sys-libs/libcap
        >=sys-libs/ntdb-1.0[python]
        >=sys-libs/ldb-1.1.16
        >=sys-libs/tdb-1.2.11[python]
        >=sys-libs/talloc-2.0.8[python]
        >=sys-libs/tevent-0.9.18
        sys-libs/zlib
        virtual/pam
        acl? ( virtual/acl )
        addns? ( net-dns/bind-tools[gssapi] )
        aio? ( dev-libs/libaio )
        cluster? ( >=dev-db/ctdb-1.0.114_p1 )
        cups? ( net-print/cups )
        dmapi? ( sys-apps/dmapi )
        fam? ( virtual/fam )
        gnutls? ( dev-libs/libgcrypt:0
                >=net-libs/gnutls-1.4.0 )
        ldap? ( net-nds/openldap )
        selinux? ( sec-policy/selinux-samba )"
DEPEND="${CDEPEND}
        virtual/pkgconfig"
RDEPEND="${CDEPEND}
        client? ( net-fs/cifs-utils[ads?] )"

REQUIRED_USE="ads? ( acl ldap )"

RESTRICT="mirror"

S="${WORKDIR}/${MY_P}"

CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)"

# sys-apps/dmapi is an automagic dependency (see bug #474492)
PATCHES=(
        "${FILESDIR}/${PN}-4.1.0-remove-dmapi-automagic.patch"
        "${FILESDIR}/named.conf.dlz.patch"
        "${FILESDIR}/${PN}-4.0.19-automagic_aio_fix.patch"
)

WAF_BINARY="${S}/buildtools/bin/waf"

pkg_setup() {
        python_export_best
        if use aio; then
                if ! linux_config_exists || ! linux_chkconfig_present AIO; then
                                ewarn "You must enable AIO support in your 
kernel config, "
                                ewarn "to be able to support asynchronous I/O. "
                                ewarn "You can find it at"
                                ewarn
                                ewarn "General Support"
                                ewarn " Enable AIO support "
                                ewarn
                                ewarn "and recompile your kernel..."
                fi
        fi
}

src_configure() {
        local myconf=''
        use "cluster" && myconf+=" --with-ctdb-dir=/usr"
        use "test" && myconf+=" --enable-selftest"
        myconf="${myconf} \
                --enable-fhs \
                --sysconfdir=/etc \
                --localstatedir=/var \
                --with-modulesdir=/usr/$(get_libdir)/samba \
                --with-pammodulesdir=/$(get_libdir)/security \
                --with-piddir=/var/run/${PN} \
                --disable-rpath \
                --disable-rpath-install \
                --nopyc \
                --nopyo \
                --bundled-libraries=NONE \
                --builtin-libraries=NONE \
                $(use_with addns dnsupdate) \
                $(use_with acl acl-support) \
                $(use_with ads) \
                $(use_with aio aio-support) \
                $(use_enable avahi) \
                $(use_with cluster cluster-support) \
                $(use_enable cups) \
                $(use_with dmapi) \
                $(use_with fam) \
                $(use_enable gnutls) \
                $(use_enable iprint) \
                $(use_with ldap) \
                --with-pam \
                --with-pam_smbpass \
                $(use_with quota quotas) \
                $(use_with syslog) \
                $(use_with winbind)
                "
        use "ads" && myconf+=" --with-shared-modules=idmap_ad"

        CPPFLAGS="-I/usr/include/et ${CPPFLAGS}" \
                waf-utils_src_configure ${myconf}
}

src_install() {
        waf-utils_src_install

        # install ldap schema for server (bug #491002)
        if use ldap ; then
                insinto /etc/openldap/schema
                doins examples/LDAP/samba.schema
        fi

        # Make all .so files executable
        find "${D}" -type f -name "*.so" -exec chmod +x {} +

        # Install init script and conf.d file
        newinitd "${CONFDIR}/samba4.initd-r1" samba
        newconfd "${CONFDIR}/samba4.confd" samba

        systemd_dotmpfilesd "${FILESDIR}"/samba.conf
        systemd_dounit "${FILESDIR}"/nmbd.service
        systemd_dounit "${FILESDIR}"/smbd.{service,socket}
        systemd_newunit "${FILESDIR}"/smbd_at.service 'smbd@.service'
        systemd_dounit "${FILESDIR}"/winbindd.service
        systemd_dounit "${FILESDIR}"/samba.service
}

src_test() {
        "${WAF_BINARY}" test || die "test failed"
}

pkg_postinst() {
        ewarn "Be aware the this release contains the best of all of Samba's"
        ewarn "technology parts, both a file server (that you can reasonably 
expect"
        ewarn "to upgrade existing Samba 3.x releases to) and the AD domain"
        ewarn "controller work previously known as 'samba4'."

        elog "For further information and migration steps make sure to read "
        elog "http://samba.org/samba/history/${P}.html "
        elog "http://samba.org/samba/history/${PN}-4.0.0.html and"
        elog "http://wiki.samba.org/index.php/Samba4/HOWTO "
}



1.1                  net-fs/samba/samba-3.6.24.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/samba/samba-3.6.24.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-fs/samba/samba-3.6.24.ebuild?rev=1.1&content-type=text/plain

Index: samba-3.6.24.ebuild
===================================================================
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-3.6.24.ebuild,v 1.1 
2014/07/11 13:07:20 polynomial-c Exp $

EAPI=5

inherit pam versionator multilib multilib-minimal eutils flag-o-matic systemd

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/stable/${MY_P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 
~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
IUSE="acl addns ads +aio avahi caps +client cluster cups debug dmapi doc 
examples fam
        ldap ldb +netapi pam quota +readline selinux +server +smbclient 
smbsharemodes
        swat syslog +winbind"

DEPEND="dev-libs/popt
        >=sys-libs/talloc-2.0.8-r1[${MULTILIB_USEDEP}]
        >=sys-libs/tdb-1.2.13[${MULTILIB_USEDEP}]
        >=sys-libs/tevent-0.9.19[${MULTILIB_USEDEP}]
        >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
        ads? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] sys-fs/e2fsprogs
                client? ( sys-apps/keyutils ) )
        avahi? ( net-dns/avahi[dbus] )
        caps? ( >=sys-libs/libcap-2.22-r2[${MULTILIB_USEDEP}] )
        client? ( !net-fs/mount-cifs
                >=dev-libs/iniparser-3.1-r1[${MULTILIB_USEDEP}] )
        cluster? ( >=dev-db/ctdb-1.13 )
        cups? ( net-print/cups )
        debug? ( dev-libs/dmalloc )
        dmapi? ( sys-apps/dmapi )
        fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
        ldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
        ldb? ( sys-libs/ldb )
        pam? ( >=virtual/pam-0-r1[${MULTILIB_USEDEP}]
                winbind? ( >=dev-libs/iniparser-3.1-r1[${MULTILIB_USEDEP}] )
        )
        readline? ( >=sys-libs/readline-5.2 )
        selinux? ( sec-policy/selinux-samba )
        syslog? ( virtual/logger )"

RDEPEND="${DEPEND}
        kernel_linux? ( ads? ( net-fs/cifs-utils[ads] )
                        client? ( net-fs/cifs-utils ) )"

# Disable tests since we don't want to build that much here
RESTRICT="test"

SBINPROGS=""
BINPROGS=""
KRBPLUGIN=""
PLUGINEXT=".so"
SHAREDMODS=""

S=${WORKDIR}/${MY_P}

# 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_pretend() {
        if [[ ${MERGE_TYPE} != binary ]]; then
                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
        fi
}

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
                        $(usex client "" "bin/smbclient")"

                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 cluster && SHAREDMODS="${SHAREDMODS},idmap_tdb2"
                use ldap && SHAREDMODS="${SHAREDMODS},idmap_ldap,idmap_adex"
        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' \
                source3/configure || die "sed failed"
        epatch "${CONFDIR}"/smb.conf.default.patch

        #bug #399141 wrap newer iniparser version
        has_version ">=dev-libs/iniparser-3.0.0" && \
                append-cppflags 
"-Diniparser_getstr\(d,i\)=iniparser_getstring\(d,i,NULL\)"

        multilib_copy_sources
}

multilib_src_configure() {
        local myconf=()

        # we can't alter S since build system writes to '../' and therefore
        # we need to duplicate the whole structure
        cd source3 || die

        # Filter out -fPIE
        [[ ${CHOST} == *-*bsd* ]] && myconf+=( --disable-pie )

        #Allowing alpha/s390/sh to build
        if use alpha || [[ ${ABI} == s390 ]] || use sh ; then
                local CFLAGS=${CFLAGS} CXXFLAGS=${CXXFLAGS}
                replace-flags -O? -O1
        fi

        # http://wiki.samba.org/index.php/CTDB_Setup
        use cluster && myconf+=( --disable-pie )

        # Upstream refuses to make this configurable
        myconf+=( ac_cv_header_sys_capability_h=$(usex caps) )

        # 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="${EPREFIX}"/var/run/samba \
                --sysconfdir="${EPREFIX}"/etc/samba \
                --localstatedir="${EPREFIX}"/var \
                $(multilib_native_use_enable debug developer) \
                --enable-largefile \
                --enable-socket-wrapper \
                --enable-nss-wrapper \
                $(multilib_native_use_enable swat) \
                $(multilib_native_use_enable debug dmalloc) \
                $(multilib_native_use_enable cups) \
                --disable-iprint \
                $(use_enable fam) \
                --enable-shared-libs \
                --disable-dnssd \
                $(multilib_native_use_enable avahi) \
                --with-fhs \
                --with-privatedir="${EPREFIX}"/var/lib/samba/private \
                --with-rootsbindir="${EPREFIX}"/var/cache/samba \
                --with-lockdir="${EPREFIX}"/var/cache/samba \
                --with-swatdir="${EPREFIX}"/usr/share/doc/${PF}/swat \
                --with-configdir="${EPREFIX}"/etc/samba \
                --with-logfilebase="${EPREFIX}"/var/log/samba \
                --with-pammodulesdir=$(getpam_mod_dir) \
                $(multilib_native_use_with dmapi) \
                --without-afs \
                --without-fake-kaserver \
                --without-vfs-afsacl \
                $(use_with ldap) \
                $(use_with ads) \
                $(use_with ads krb5 "${EPREFIX}"/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 "${EPREFIX}"/usr) \
                $(use_with cluster cluster-support) \
                $(multilib_native_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
}

multilib_src_compile() {
        cd source3 || die

        # 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 multilib_is_native_abi; then
                if [ -n "${BINPROGS}" ] ; then
                        einfo "make binprogs"
                        emake ${BINPROGS}
                fi
                if [ -n "${SBINPROGS}" ] ; then
                        einfo "make sbinprogs"
                        emake ${SBINPROGS}
                fi
        fi

        if [ -n "${KRBPLUGIN}" ] ; then
                einfo "make krbplugin"
                emake ${KRBPLUGIN}${PLUGINEXT}
        fi
}

multilib_src_install() {
        cd source3 || die

        # pkgconfig files installation needed, bug #464818
        local pkgconfigdir=/usr/$(get_libdir)/pkgconfig

        # 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}"
                insinto $pkgconfigdir
                doins pkgconfig/netapi.pc
        fi
        if use smbclient ; then
                einfo "install smbclient library"
                emake installlibsmbclient DESTDIR="${D}"
                insinto $pkgconfigdir
                doins pkgconfig/smbclient.pc
        fi
        if use smbsharemodes ; then
                einfo "install smbsharemodes library"
                emake installlibsmbsharemodes DESTDIR="${D}"
                insinto $pkgconfigdir
                doins pkgconfig/smbsharemodes.pc
        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
                        # bug #376853
                        insinto /etc/security
                        doins ../examples/pam_winbind/pam_winbind.conf || die
                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
                insinto $pkgconfigdir
                doins pkgconfig/wbclient.pc
                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
        if multilib_is_native_abi; then
                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 scripts
                if use client ; then
                        dobin script/findsmb
                        doman ../docs/manpages/findsmb.1
                fi
        fi

        # 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
}

multilib_src_install_all() {
        # 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 "${ED}" 
"${EROOT}/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 || die
                        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 \
                "${ED}/usr/$(get_libdir)/samba" \
                "${ED}/usr"/{sbin,bin} \
                "${ED}/usr/share"/{man,locale,} \
                
"${ED}/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"

        systemd_dotmpfilesd "${FILESDIR}"/samba.conf
        systemd_dounit "${FILESDIR}"/nmbd.service
        systemd_dounit "${FILESDIR}"/smbd.{service,socket}
        systemd_newunit "${FILESDIR}"/smbd_at.service 'smbd@.service'
        systemd_dounit "${FILESDIR}"/winbindd.service
}

pkg_postinst() {
        elog "Samba 3.6 has adopted a number of improved security defaults that"
        elog "will impact on existing users of Samba."
        elog "                  client ntlmv2 auth = yes"
        elog "                  client use spnego principal = no"
        elog "                  send spnego principal = no"
        elog ""
        elog "SMB2 protocol support in 3.6.0 is fully functional and can be "
        elog "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.6.0.html";
}




Reply via email to