From 1552774b0d1db6fec4874df28db7dc17d419bd35 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 20 Nov 2019 23:07:23 +0000 Subject: net-fs/samba : version bump --- net-fs/samba/Manifest | 2 +- .../samba/files/samba-4.5.1-compile_et_fix.patch | 16 -- .../files/samba-4.7.3-krb-cross-compile.patch | 40 --- .../files/samba-4.8.6-no-pydsdb-when-no-addc.patch | 36 --- net-fs/samba/files/samba-glibc-2.26-no_rpc.patch | 14 - net-fs/samba/files/talloc-disable-python.patch | 34 --- net-fs/samba/samba-4.11.2-r314.ebuild | 313 +++++++++++++++++++++ net-fs/samba/samba-4.8.6-r1337.ebuild | 289 ------------------- 8 files changed, 314 insertions(+), 430 deletions(-) delete mode 100644 net-fs/samba/files/samba-4.5.1-compile_et_fix.patch delete mode 100644 net-fs/samba/files/samba-4.7.3-krb-cross-compile.patch delete mode 100644 net-fs/samba/files/samba-4.8.6-no-pydsdb-when-no-addc.patch delete mode 100644 net-fs/samba/files/samba-glibc-2.26-no_rpc.patch delete mode 100644 net-fs/samba/files/talloc-disable-python.patch create mode 100644 net-fs/samba/samba-4.11.2-r314.ebuild delete mode 100644 net-fs/samba/samba-4.8.6-r1337.ebuild diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest index 7c9274a7..00f1bfc8 100644 --- a/net-fs/samba/Manifest +++ b/net-fs/samba/Manifest @@ -1 +1 @@ -DIST samba-4.8.6.tar.gz 17723841 BLAKE2B 38da52e14b4417f26462eef2226c4498e54d2c276b4056e8c6d6c66079f33bcda24c1eab30b29bc7413280ec89a74a55e043e8274ac50f9a25bae7563717ff34 SHA512 f6afab5ca466bd8653a56c205b71ce94ecf0ad0c6e4c9d64cbba7b1e56f1987bc2022e6b629d87eb6078e3f6ba53833c19cfb41e40b6d589e4317ea9d85de273 +DIST samba-4.11.2.tar.gz 18516056 BLAKE2B 2b2a11e9b72deec54cf19830a402a5f2ae0dc2c3437116a636823d29e55c68842fce2434d196d567a8250b59e5bdffe9af367592c6949496f63caccbf4a5cb6f SHA512 f91053f019c9f979d7e29af00ea9b03a79c6f8efe91413ac2d6dca823f45ca9c30686264fdc0545dddabc687ad369a80c9ec78ebe75d1787dfc9b834233e12c1 diff --git a/net-fs/samba/files/samba-4.5.1-compile_et_fix.patch b/net-fs/samba/files/samba-4.5.1-compile_et_fix.patch deleted file mode 100644 index 463512f9..00000000 --- a/net-fs/samba/files/samba-4.5.1-compile_et_fix.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- samba-4.5.1/source4/heimdal_build/wscript_configure -+++ samba-4.5.1/source4/heimdal_build/wscript_configure -@@ -258,7 +258,11 @@ - - # With the proper checks in place we should be able to build against the system libtommath. - #if conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h'): - # conf.define('USING_SYSTEM_TOMMATH', 1) - --check_system_heimdal_binary("compile_et") --check_system_heimdal_binary("asn1_compile") -+# comment out next line to stop Gentoo Samba build from using the compile_et in e2fsprogs-libs -+# to compile the error tables. This produces a compile error later on. -+#check_system_heimdal_binary("compile_et") -+# -+# As a precaution do the same for asn1_compile -+#check_system_heimdal_binary("asn1_compile") diff --git a/net-fs/samba/files/samba-4.7.3-krb-cross-compile.patch b/net-fs/samba/files/samba-4.7.3-krb-cross-compile.patch deleted file mode 100644 index 9fad9fca..00000000 --- a/net-fs/samba/files/samba-4.7.3-krb-cross-compile.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://lists.samba.org/archive/samba-technical/2017-December/124344.html -https://git.samba.org/?p=samba.git;a=commit;h=70f92025ae504cda97ff3a130f19035450967836 - -From 70f92025ae504cda97ff3a130f19035450967836 Mon Sep 17 00:00:00 2001 -From: Zentaro Kavanagh -Date: Mon, 11 Dec 2017 12:41:16 -0800 -Subject: [PATCH] Remove unsupported colon from configure msg. - -- When cross-compiling an answers file must be supplied via - --cross-compile --cross-answers=. -- The lines in the answer file have the form; - Config Msg: Answer -- The colon is used to delimit the msg and the answer when reading - the answers file. -- WAF doesn't support the message containing a colon. -- It's not possible to override this variable so cross compile fails. - -Signed-off-by: Zentaro Kavanagh -Reviewed-by: Uri Simchoni -Reviewed-by: Andrew Bartlett ---- - wscript_configure_system_mitkrb5 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/wscript_configure_system_mitkrb5 b/wscript_configure_system_mitkrb5 -index 9c351131ad1a..803dad7ab63b 100644 ---- a/wscript_configure_system_mitkrb5 -+++ b/wscript_configure_system_mitkrb5 -@@ -282,7 +282,7 @@ conf.CHECK_CODE(''' - ''', - 'HAVE_WRFILE_KEYTAB', - headers='krb5.h', lib='krb5', execute=True, -- msg="Checking whether the WRFILE:-keytab is supported"); -+ msg="Checking whether the WRFILE -keytab is supported"); - # Check for KRB5_DEPRECATED handling - conf.CHECK_CODE('''#define KRB5_DEPRECATED 1 - #include ''', --- -2.15.1 - diff --git a/net-fs/samba/files/samba-4.8.6-no-pydsdb-when-no-addc.patch b/net-fs/samba/files/samba-4.8.6-no-pydsdb-when-no-addc.patch deleted file mode 100644 index 1093b1de..00000000 --- a/net-fs/samba/files/samba-4.8.6-no-pydsdb-when-no-addc.patch +++ /dev/null @@ -1,36 +0,0 @@ -Do not install the python DSDB modules when ADDC is disabled. -This is a change integrated upstream in 4.9.1 (or earlier). - -Without this, the python dsdb_dns.so module is installed, which -is linked to libdnsserver-common.so that is NOT installed, and so -potential breakage ensues. - ---- a/source4/dsdb/wscript_build 2018-01-17 03:08:39.000000000 -0500 -+++ b/source4/dsdb/wscript_build 2018-11-08 10:43:58.064486832 -0500 -@@ -63,10 +63,11 @@ - ) - - bld.SAMBA_PYTHON('python_dsdb', - source='pydsdb.c', - # the dependency on dcerpc here is because gensec - # depends on dcerpc but the waf circular dependency finder - # removes it so we end up with unresolved symbols. - deps='samdb pyldb-util dcerpc com_err pyrpc_util pyparam_util dsdb_garbage_collect_tombstones', -- realname='samba/dsdb.so' -+ realname='samba/dsdb.so', -+ enabled=bld.AD_DC_BUILD_IS_ENABLED() - ) ---- a/source4/dns_server/wscript_build 2018-11-08 11:49:03.450296286 -0500 -+++ b/source4/dns_server/wscript_build 2018-11-08 11:49:23.327864408 -0500 -@@ -64,9 +64,10 @@ - private_library=True, - deps='samba-hostconfig samdb-common gensec popt dnsserver_common', - enabled=bld.AD_DC_BUILD_IS_ENABLED()) - - - bld.SAMBA_PYTHON('python_dsdb_dns', - source='pydns.c', - deps='samdb pyldb-util pyrpc_util dnsserver_common pytalloc-util', -- realname='samba/dsdb_dns.so') -+ realname='samba/dsdb_dns.so', -+ enabled=bld.AD_DC_BUILD_IS_ENABLED()) diff --git a/net-fs/samba/files/samba-glibc-2.26-no_rpc.patch b/net-fs/samba/files/samba-glibc-2.26-no_rpc.patch deleted file mode 100644 index e6644684..00000000 --- a/net-fs/samba/files/samba-glibc-2.26-no_rpc.patch +++ /dev/null @@ -1,14 +0,0 @@ -https://attachments.samba.org/attachment.cgi?id=13172 -https://bugs.gentoo.org/637320 - ---- a/lib/replace/wscript -+++ b/lib/replace/wscript -@@ -71,7 +71,7 @@ - conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h') - conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h') - -- conf.CHECK_CODE('', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H') -+ conf.CHECK_CODE('ypstat s;', headers='rpc/rpc.h rpcsvc/yp_prot.h', define='HAVE_RPCSVC_YP_PROT_H') - - conf.CHECK_HEADERS('valgrind.h valgrind/valgrind.h valgrind/memcheck.h') - conf.CHECK_HEADERS('nss_common.h nsswitch.h ns_api.h') diff --git a/net-fs/samba/files/talloc-disable-python.patch b/net-fs/samba/files/talloc-disable-python.patch deleted file mode 100644 index 6ef45eb3..00000000 --- a/net-fs/samba/files/talloc-disable-python.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/lib/talloc/wscript 2017-04-28 04:57:26.000000000 -0400 -+++ b/lib/talloc/wscript 2017-07-05 14:30:42.700580464 -0400 -@@ -74,19 +74,22 @@ - implied_deps='replace'): - conf.define('USING_SYSTEM_TALLOC', 1) - -- using_system_pytalloc_util = True -- if not conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', minversion=VERSION, -- implied_deps='talloc replace'): -+ if conf.env.disable_python: - using_system_pytalloc_util = False -- -- # We need to get a pytalloc-util for all the python versions -- # we are building for -- if conf.env['EXTRA_PYTHON']: -- name = 'pytalloc-util' + conf.all_envs['extrapython']['PYTHON_SO_ABI_FLAG'] -- if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, minversion=VERSION, -+ else: -+ using_system_pytalloc_util = True -+ if not conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', minversion=VERSION, - implied_deps='talloc replace'): - using_system_pytalloc_util = False - -+ # We need to get a pytalloc-util for all the python versions -+ # we are building for -+ if conf.env['EXTRA_PYTHON']: -+ name = 'pytalloc-util' + conf.all_envs['extrapython']['PYTHON_SO_ABI_FLAG'] -+ if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, minversion=VERSION, -+ implied_deps='talloc replace'): -+ using_system_pytalloc_util = False -+ - if using_system_pytalloc_util: - conf.define('USING_SYSTEM_PYTALLOC_UTIL', 1) - diff --git a/net-fs/samba/samba-4.11.2-r314.ebuild b/net-fs/samba/samba-4.11.2-r314.ebuild new file mode 100644 index 00000000..aedf0eff --- /dev/null +++ b/net-fs/samba/samba-4.11.2-r314.ebuild @@ -0,0 +1,313 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python3_{5,6,7} ) +PYTHON_REQ_USE='threads(+),xml(+)' + +inherit python-single-r1 waf-utils multilib-minimal linux-info systemd pam + +MY_PV="${PV/_rc/rc}" +MY_P="${PN}-${MY_PV}" + +SRC_PATH="stable" +[[ ${PV} = *_rc* ]] && SRC_PATH="rc" + +SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz" +[[ ${PV} = *_rc* ]] || \ +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +DESCRIPTION="Samba Suite Version 4" +HOMEPAGE="https://www.samba.org/" +LICENSE="GPL-3" + +SLOT="0" + +IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gpg iprint +json ldap pam profiling-data python quota selinux syslog system-heimdal ++system-mitkrb5 systemd test winbind zeroconf" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/samba-4.0/policy.h + /usr/include/samba-4.0/dcerpc_server.h + /usr/include/samba-4.0/ctdb.h + /usr/include/samba-4.0/ctdb_client.h + /usr/include/samba-4.0/ctdb_protocol.h + /usr/include/samba-4.0/ctdb_private.h + /usr/include/samba-4.0/ctdb_typesafe_cb.h + /usr/include/samba-4.0/ctdb_version.h +) + +# sys-apps/attr is an automagic dependency (see bug #489748) +CDEPEND=" + >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}] + dev-lang/perl:= + dev-libs/libaio[${MULTILIB_USEDEP}] + dev-libs/libbsd[${MULTILIB_USEDEP}] + dev-libs/jansson[${MULTILIB_USEDEP}] + dev-libs/libgcrypt:0 + dev-libs/iniparser:0 + dev-libs/popt[${MULTILIB_USEDEP}] + dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}] + >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}] + >=net-libs/gnutls-3.2.0 + net-libs/libnsl:=[${MULTILIB_USEDEP}] + sys-apps/attr[${MULTILIB_USEDEP}] + >=sys-libs/ldb-2.0.7[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}] + =sys-libs/talloc-2.2.0[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}] + >=sys-libs/tdb-1.4.2[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}] + >=sys-libs/tevent-0.10.0[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}] + sys-libs/zlib[${MULTILIB_USEDEP}] + virtual/libiconv + pam? ( sys-libs/pam ) + acl? ( virtual/acl ) + addns? ( + net-dns/bind-tools[gssapi] + dev-python/dnspython:=[${PYTHON_USEDEP}] + ) + ceph? ( sys-cluster/ceph ) + cluster? ( + net-libs/rpcsvc-proto + !dev-db/ctdb + ) + cups? ( net-print/cups ) + debug? ( dev-util/lttng-ust ) + dmapi? ( sys-apps/dmapi ) + fam? ( virtual/fam ) + gpg? ( app-crypt/gpgme ) + json? ( dev-libs/jansson ) + ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) + system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] ) + system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] ) + systemd? ( sys-apps/systemd:0= ) + zeroconf? ( net-dns/avahi ) +" +DEPEND="${CDEPEND} + ${PYTHON_DEPS} + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + net-libs/libtirpc[${MULTILIB_USEDEP}] + virtual/pkgconfig + || ( + net-libs/rpcsvc-proto + =sys-libs/nss_wrapper-1.1.3 + >=net-dns/resolv_wrapper-1.1.4 + >=net-libs/socket_wrapper-1.1.9 + >=sys-libs/uid_wrapper-1.2.1 + ) + )" +RDEPEND="${CDEPEND} + python? ( ${PYTHON_DEPS} ) + client? ( net-fs/cifs-utils[ads?] ) + selinux? ( sec-policy/selinux-samba ) + !dev-perl/Parse-Yapp + net-fs/samba-config-redcore +" + +REQUIRED_USE=" + addc? ( python json winbind ) + addns? ( python ) + ads? ( acl ldap winbind ) + cluster? ( ads ) + gpg? ( addc ) + test? ( python ) + ?? ( system-heimdal system-mitkrb5 ) + ${PYTHON_REQUIRED_USE} +" + +# the test suite is messed, it uses system-installed samba +# bits instead of what was built, tests things disabled via use +# flags, and generally just fails to work in a way ebuilds could +# rely on in its current state +RESTRICT="test" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/${PN}-4.4.0-pam.patch" + "${FILESDIR}/${PN}-4.9.2-timespec.patch" +) + +#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" +CONFDIR="${FILESDIR}/4.4" + +WAF_BINARY="${S}/buildtools/bin/waf" + +SHAREDMODS="" + +pkg_setup() { + python-single-r1_pkg_setup + if use cluster ; then + SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad" + elif use ads ; then + SHAREDMODS="idmap_ad" + fi +} + +src_prepare() { + default + + # un-bundle dnspython + sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die + + # unbundle iso8601 unless tests are enabled + if ! use test ; then + sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die + fi + + # ugly hackaround for bug #592502 + cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die + + sed -e 's:::' \ + -i source4/dsdb/samdb/ldb_modules/password_hash.c \ + || die + + # Friggin' WAF shit + multilib_copy_sources +} + +multilib_src_configure() { + # when specifying libs for samba build you must append NONE to the end to + # stop it automatically including things + local bundled_libs="NONE" + if ! use system-heimdal && ! use system-mitkrb5 ; then + bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE" + fi + + local myconf=( + --enable-fhs + --sysconfdir="${EPREFIX}/etc" + --localstatedir="${EPREFIX}/var" + --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba" + --with-piddir="${EPREFIX}/run/${PN}" + --bundled-libraries="${bundled_libs}" + --builtin-libraries=NONE + --disable-rpath + --disable-rpath-install + --nopyc + --nopyo + $(multilib_native_use_with acl acl-support) + $(multilib_native_usex addc '' '--without-ad-dc') + $(multilib_native_use_with addns dnsupdate) + $(multilib_native_use_with ads) + $(multilib_native_use_enable ceph cephfs) + $(multilib_native_use_with cluster cluster-support) + $(multilib_native_use_enable cups) + $(multilib_native_use_with dmapi) + $(multilib_native_use_with fam) + $(multilib_native_use_with gpg gpgme) + $(multilib_native_use_with json) + $(multilib_native_use_enable iprint) + $(multilib_native_use_with pam) + $(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '') + $(multilib_native_use_with quota quotas) + $(multilib_native_use_with syslog) + $(multilib_native_use_with systemd) + $(multilib_native_use_with winbind) + $(multilib_native_usex python '' '--disable-python') + $(multilib_native_use_enable zeroconf avahi) + $(multilib_native_usex test '--enable-selftest' '') + $(usex system-mitkrb5 "--with-system-mitkrb5 $(multilib_native_usex addc --with-experimental-mit-ad-dc '')" '') + $(use_with debug lttng) + $(use_with ldap) + $(use_with profiling-data) + ) + + multilib_is_native_abi && myconf+=( --with-shared-modules=${SHAREDMODS} ) + + CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \ + waf-utils_src_configure ${myconf[@]} +} + +multilib_src_compile() { + waf-utils_src_compile +} + +multilib_src_install() { + waf-utils_src_install + + # Make all .so files executable + find "${ED}" -type f -name "*.so" -exec chmod +x {} + || die + + if multilib_is_native_abi ; then + # install ldap schema for server (bug #491002) + if use ldap ; then + insinto /etc/openldap/schema + doins examples/LDAP/samba.schema + fi + + # create symlink for cups (bug #552310) + if use cups ; then + dosym ../../../bin/smbspool /usr/libexec/cups/backend/smb + fi + + # install example config file + insinto /etc/samba + doins examples/smb.conf.default + + # Fix paths in example file (#603964) + sed \ + -e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \ + -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \ + -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \ + -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \ + -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \ + -i "${ED%/}"/etc/samba/smb.conf.default || die + + # 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 + fi + + if use pam && use winbind ; then + newpamd "${CONFDIR}/system-auth-winbind.pam" system-auth-winbind + # bugs #376853 and #590374 + insinto /etc/security + doins examples/pam_winbind/pam_winbind.conf || die + fi + + keepdir /var/cache/samba + keepdir /var/lib/ctdb + keepdir /var/lib/samba/{bind-dns,private} + keepdir /var/lock/samba + keepdir /var/log/samba + keepdir /var/run/{ctdb,samba} +} + +multilib_src_install_all() { + # Attempt to fix bug #673168 + find "${ED}" -type d -name "Yapp" -print0 \ + | xargs -0 --no-run-if-empty rm -r || die +} + +multilib_src_test() { + if multilib_is_native_abi ; then + "${WAF_BINARY}" test || die "test failed" + fi +} + +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 "https://samba.org/samba/history/${P}.html " + elog "https://wiki.samba.org/index.php/Samba4/HOWTO " +} diff --git a/net-fs/samba/samba-4.8.6-r1337.ebuild b/net-fs/samba/samba-4.8.6-r1337.ebuild deleted file mode 100644 index 4088d3c1..00000000 --- a/net-fs/samba/samba-4.8.6-r1337.ebuild +++ /dev/null @@ -1,289 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE='threads(+),xml(+)' - -inherit python-single-r1 waf-utils multilib-minimal linux-info systemd - -MY_PV="${PV/_rc/rc}" -MY_P="${PN}-${MY_PV}" - -SRC_PATH="stable" -[[ ${PV} = *_rc* ]] && SRC_PATH="rc" - -SRC_URI="mirror://samba/${SRC_PATH}/${MY_P}.tar.gz" -[[ ${PV} = *_rc* ]] || \ -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~sparc x86" - -DESCRIPTION="Samba Suite Version 4" -HOMEPAGE="https://www.samba.org/" -LICENSE="GPL-3" - -SLOT="0" - -IUSE="acl addc addns ads ceph client cluster cups debug dmapi fam gnutls gpg iprint ldap pam python -quota selinux syslog system-heimdal +system-mitkrb5 systemd test winbind zeroconf" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/samba-4.0/policy.h - /usr/include/samba-4.0/dcerpc_server.h - /usr/include/samba-4.0/ctdb.h - /usr/include/samba-4.0/ctdb_client.h - /usr/include/samba-4.0/ctdb_protocol.h - /usr/include/samba-4.0/ctdb_private.h - /usr/include/samba-4.0/ctdb_typesafe_cb.h - /usr/include/samba-4.0/ctdb_version.h -) - -# sys-apps/attr is an automagic dependency (see bug #489748) -CDEPEND=" - >=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}] - dev-lang/perl:= - dev-libs/jansson[${MULTILIB_USEDEP}] - dev-libs/libaio[${MULTILIB_USEDEP}] - dev-libs/libbsd[${MULTILIB_USEDEP}] - dev-libs/iniparser:0 - dev-libs/popt[${MULTILIB_USEDEP}] - dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}] - >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}] - net-libs/libnsl:=[${MULTILIB_USEDEP}] - sys-apps/attr[${MULTILIB_USEDEP}] - >=sys-libs/ldb-1.3.6[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}] - =sys-libs/talloc-2.1.11[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}] - >=sys-libs/tdb-1.3.15[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}] - >=sys-libs/tevent-0.9.36[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}] - sys-libs/zlib[${MULTILIB_USEDEP}] - virtual/libiconv - pam? ( sys-libs/pam ) - acl? ( virtual/acl ) - addns? ( - net-dns/bind-tools[gssapi] - dev-python/dnspython:=[${PYTHON_USEDEP}] - ) - ceph? ( sys-cluster/ceph ) - cluster? ( - net-libs/rpcsvc-proto - !dev-db/ctdb - ) - cups? ( net-print/cups ) - debug? ( dev-util/lttng-ust ) - dmapi? ( sys-apps/dmapi ) - fam? ( virtual/fam ) - gnutls? ( - dev-libs/libgcrypt:0 - >=net-libs/gnutls-1.4.0 - ) - gpg? ( app-crypt/gpgme ) - ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] ) - system-heimdal? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] ) - system-mitkrb5? ( >=app-crypt/mit-krb5-1.15.1[${MULTILIB_USEDEP}] ) - systemd? ( sys-apps/systemd:0= ) -" -DEPEND="${CDEPEND} - ${PYTHON_DEPS} - app-text/docbook-xsl-stylesheets - dev-libs/libxslt - net-libs/libtirpc[${MULTILIB_USEDEP}] - virtual/pkgconfig - || ( - net-libs/rpcsvc-proto - =sys-libs/nss_wrapper-1.1.3 - >=net-dns/resolv_wrapper-1.1.4 - >=net-libs/socket_wrapper-1.1.7 - >=sys-libs/uid_wrapper-1.2.1 - ) - )" -RDEPEND="${CDEPEND} - python? ( ${PYTHON_DEPS} ) - client? ( net-fs/cifs-utils[ads?] ) - selinux? ( sec-policy/selinux-samba ) - !dev-perl/Parse-Yapp - net-fs/samba-config-redcore -" - -REQUIRED_USE=" - addc? ( python gnutls winbind ) - addns? ( python ) - ads? ( acl gnutls ldap winbind ) - cluster? ( ads ) - gpg? ( addc ) - test? ( python ) - ?? ( system-heimdal system-mitkrb5 ) - ${PYTHON_REQUIRED_USE} -" - -# the test suite is messed, it uses system-installed samba -# bits instead of what was built, tests things disabled via use -# flags, and generally just fails to work in a way ebuilds could -# rely on in its current state -RESTRICT="test" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}/${PN}-4.4.0-pam.patch" - "${FILESDIR}/${PN}-4.5.1-compile_et_fix.patch" - "${FILESDIR}/${PN}-4.8.6-no-pydsdb-when-no-addc.patch" -) - -#CONFDIR="${FILESDIR}/$(get_version_component_range 1-2)" -CONFDIR="${FILESDIR}/4.4" - -WAF_BINARY="${S}/buildtools/bin/waf" - -SHAREDMODS="" - -pkg_setup() { - python-single-r1_pkg_setup - if use cluster ; then - SHAREDMODS="idmap_rid,idmap_tdb2,idmap_ad" - elif use ads ; then - SHAREDMODS="idmap_ad" - fi -} - -src_prepare() { - default - - # un-bundle dnspython - sed -i -e '/"dns.resolver":/d' "${S}"/third_party/wscript || die - - # unbundle iso8601 unless tests are enabled - use test || sed -i -e '/"iso8601":/d' "${S}"/third_party/wscript || die - - # ugly hackaround for bug #592502 - cp /usr/include/tevent_internal.h "${S}"/lib/tevent/ || die - - sed -e 's:::' \ - -i source4/dsdb/samdb/ldb_modules/password_hash.c \ - || die - - # Friggin' WAF shit - multilib_copy_sources -} - -multilib_src_configure() { - # when specifying libs for samba build you must append NONE to the end to - # stop it automatically including things - local bundled_libs="NONE" - if ! use system-heimdal && ! use system-mitkrb5 ; then - bundled_libs="heimbase,heimntlm,hdb,kdc,krb5,wind,gssapi,hcrypto,hx509,roken,asn1,com_err,NONE" - fi - - local myconf=( - --enable-fhs - --sysconfdir="${EPREFIX}/etc" - --localstatedir="${EPREFIX}/var" - --with-modulesdir="${EPREFIX}/usr/$(get_libdir)/samba" - --with-piddir="${EPREFIX}/run/${PN}" - --bundled-libraries="${bundled_libs}" - --builtin-libraries=NONE - --disable-rpath - --disable-rpath-install - --nopyc - --nopyo - $(multilib_native_use_with acl acl-support) - $(multilib_native_usex addc '' '--without-ad-dc') - $(multilib_native_use_with addns dnsupdate) - $(multilib_native_use_with ads) - $(multilib_native_use_enable ceph cephfs) - $(multilib_native_use_with cluster cluster-support) - $(multilib_native_use_enable cups) - $(multilib_native_use_with dmapi) - $(multilib_native_use_with fam) - $(multilib_native_use_with gpg gpgme) - $(multilib_native_use_enable iprint) - $(multilib_native_use_with pam) - $(multilib_native_usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '') - $(multilib_native_use_with quota quotas) - $(multilib_native_use_with syslog) - $(multilib_native_use_with systemd) - $(multilib_native_use_with winbind) - $(multilib_native_usex python '' '--disable-python') - $(multilib_native_use_enable zeroconf avahi) - $(multilib_native_usex test '--enable-selftest' '') - $(usex system-mitkrb5 '--with-system-mitkrb5' '') - $(use_enable gnutls) - $(use_with debug lttng) - $(use_with ldap) - ) - multilib_is_native_abi && myconf+=( --with-shared-modules=${SHAREDMODS} ) - - CPPFLAGS="-I${SYSROOT}${EPREFIX}/usr/include/et ${CPPFLAGS}" \ - waf-utils_src_configure ${myconf[@]} -} - -multilib_src_compile() { - waf-utils_src_compile -} - -multilib_src_install() { - waf-utils_src_install - - # Make all .so files executable - find "${ED}" -type f -name "*.so" -exec chmod +x {} + - - if multilib_is_native_abi ; then - # install ldap schema for server (bug #491002) - if use ldap ; then - insinto /etc/openldap/schema - doins examples/LDAP/samba.schema - fi - - # create symlink for cups (bug #552310) - if use cups ; then - dosym ../../../bin/smbspool /usr/libexec/cups/backend/smb - fi - - # install example config file - insinto /etc/samba - doins examples/smb.conf.default - - # Fix paths in example file (#603964) - sed \ - -e '/log file =/s@/usr/local/samba/var/@/var/log/samba/@' \ - -e '/include =/s@/usr/local/samba/lib/@/etc/samba/@' \ - -e '/path =/s@/usr/local/samba/lib/@/var/lib/samba/@' \ - -e '/path =/s@/usr/local/samba/@/var/lib/samba/@' \ - -e '/path =/s@/usr/spool/samba@/var/spool/samba@' \ - -i "${ED%/}"/etc/samba/smb.conf.default || die - - # 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 - fi -} - -multilib_src_test() { - if multilib_is_native_abi ; then - "${WAF_BINARY}" test || die "test failed" - fi -} - -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 "https://samba.org/samba/history/${P}.html " - elog "https://wiki.samba.org/index.php/Samba4/HOWTO " -} -- cgit v1.2.3