Skip to content

Commit

Permalink
net-fs/samba: Bump to version 4.6.3
Browse files Browse the repository at this point in the history
Package-Manager: Portage-2.3.5, Repoman-2.3.2
  • Loading branch information
Lars Wendler committed Apr 26, 2017
1 parent efad94f commit 1e07a2f
Show file tree
Hide file tree
Showing 2 changed files with 300 additions and 0 deletions.
1 change: 1 addition & 0 deletions net-fs/samba/Manifest
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ DIST samba-4.5.8.tar.gz 20979104 SHA256 f63b656d8823a280c50c9dbd6b692816cd7a88ad
DIST samba-4.6.0-disable-python-patches.tar.xz 7544 SHA256 508adeea65604ef8f4da006504de7c27bed56d7003db1166dc5d3b01f5a6be6e SHA512 07de2c0877aff31069ed0ab4fbe1c2272c854ae898ee5300a3b176ba31a218b05acff0b5120a5da0995592e7877c607865d2194c992df17b27c993836f58a654 WHIRLPOOL 12888f2ebf8d4ed5619860b2e6929599022b8ab1245970a5e1258f26e89aca1f87ab58fa54c7300dbd79a0c8fd6955e12c8aca6eeca246cdf06661d53ca3f6dd
DIST samba-4.6.1.tar.gz 21097666 SHA256 5d2751faa3cd33affd4f49681f700eff9f6c22d6b08e8858ae0d3cd8e51c535e SHA512 8c759bb6483f67d632f35d779bf1afb44907fd478e3e5919fc95f36dd198e393819ed419686235ba01b5ec0e15ea80cb11e7fa8f22f37a1742bf0e818a3c6c14 WHIRLPOOL a4ec6692a72979756acd2381f428c6f3f0f6dd909a4270d529ad5348cbdd4bbe9f19d37ff24977a8683c5b48323edb251d946b138f3ce44793c1fe03884435be
DIST samba-4.6.2.tar.gz 21097045 SHA256 927afcc16e444718985e3952de92d34e7b776b9ca0238179d866da18a6441c35 SHA512 d64129b7fc65bf30cc06e34a07ac5cf04b52bf6639950eff48ae0ec27b0de44614df6a7c44b62b1859553fc7051f493b2d8216739da2232ac1caeaea81d328df WHIRLPOOL fed65abc7eb2b996062db57d40ccc57b10e8519412e97c9dd9147cd462f80f0b401939c2f00522595eed3f66f879c88039239d1dcf6fdc73c38c3fb7d43cef3a
DIST samba-4.6.3.tar.gz 21107898 SHA256 2a38ef3da77809cba0583fc188e2a4b5420437aecaad0dffe9a06f732e4b1561 SHA512 5218e3bf4c837374fd7ca2b6ec19e665e61de64ca8acdbf9b15bb9669895db31986b753399c686b5fa43c3862b1da434afad7436cd148b66f1d02dbb9c176432 WHIRLPOOL d8f8a95385255c1067956c5a8d459d8dd2cdfc4f82e1b5b0cfa6240ad55eff694688a385b58e5906ab5b915a4a026baa778e8d2d4f809939755f270860c775af
DIST samba-disable-python-patches-4.2.12.tar.xz 6052 SHA256 8903eacbabdfaf7b64cbde03d7c367d1efdc92e54090f0f4b9ed5d2a462b1c18 SHA512 c527d0a052d3211e5b12c17bc94db56cc5e5545189ed65a760c0656c94c22e27a4b159e6439eb0370873e1619873a741f3b3bd10d3876b38eb3914a87eace372 WHIRLPOOL ad63db55d5dc96f56e6c9b30c2092e2f6e206b0ed5d13c249879d10753c8db2f475c5d4e651e2fc042ad992b648d3b4465f1b28c6b4bbf821cf503d27f741f7e
DIST samba-disable-python-patches-4.2.9.tar.xz 6016 SHA256 222d0153f03dddde28a0b906ee2b27076223ac88b84a998aaa285f658861edfa SHA512 02fc666a36f8e733e522663d80775d130fabee9d5fb4e1c261d28815e07be425ae8977213f9216c7af62dd8b2619e7e13d71f9a25780b058c8119901c2115a18 WHIRLPOOL ebba3a6d41a41844621759672aa8c984d26f44d12007c8e929405470c381bc262523ec68d3972e86cf675c45f092fa287496167e42940e70d704790753e47b03
DIST samba-disable-python-patches-4.5.0_rc1.tar.xz 6204 SHA256 fa0d776e04e3222c0dc4761e376717f4154937cdcb85f4117b8978dfb770a78e SHA512 920089ba3c6e8e7d913b1d7ef1017262a19d1af41215adb30cfc98a57556efc4b0116931d4ef774c01124149d8eca2be3a23814ce7e11daf0180d2c111799927 WHIRLPOOL 6d55710895435ad012e23f8c252e5276966241014710349ca7fa9cf037e8742030b8e053f7cb71309a0a45f48d2235d55393243bf4d19476a22dd39bb1b7748d
299 changes: 299 additions & 0 deletions net-fs/samba/samba-4.6.3.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,299 @@
# Copyright 1999-2017 Gentoo Foundation
# 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 eutils

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
https://dev.gentoo.org/~polynomial-c/samba-4.6.0-disable-python-patches.tar.xz"
[[ ${PV} = *_rc* ]] || \
KEYWORDS="~amd64 ~hppa ~x86"

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

SLOT="0"

IUSE="acl addc addns ads client cluster cups 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/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.0.0[${MULTILIB_USEDEP}]
sys-apps/attr[${MULTILIB_USEDEP}]
>=sys-libs/ldb-1.1.29[ldap(+)?,python(+)?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
sys-libs/libcap
sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
sys-libs/readline:0=
>=sys-libs/talloc-2.1.9[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
>=sys-libs/tdb-1.3.12[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
>=sys-libs/tevent-0.9.31-r1[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
sys-libs/zlib[${MULTILIB_USEDEP}]
virtual/libiconv
pam? ( virtual/pam )
acl? ( virtual/acl )
addns? (
net-dns/bind-tools[gssapi]
dev-python/dnspython:=[${PYTHON_USEDEP}]
)
cluster? ( !dev-db/ctdb )
cups? ( net-print/cups )
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[${MULTILIB_USEDEP}] )
systemd? ( sys-apps/systemd:0= )
test? (
!system-mitkrb5? (
>=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
)
)"
DEPEND="${CDEPEND}
${PYTHON_DEPS}
virtual/pkgconfig"
RDEPEND="${CDEPEND}
python? ( ${PYTHON_DEPS} )
client? ( net-fs/cifs-utils[ads?] )
selinux? ( sec-policy/selinux-samba )
!dev-perl/Parse-Yapp
"

REQUIRED_USE="addc? ( python gnutls !system-mitkrb5 )
test? ( python )
addns? ( python )
ads? ( acl gnutls ldap )
gpg? ( addc )
?? ( 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"
)

#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

# install the patches from tarball(s)
eapply "${WORKDIR}/patches"

# 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:<gpgme\.h>:<gpgme/gpgme.h>:' \
-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=()
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
)
if multilib_is_native_abi ; then
myconf+=(
$(use_with acl acl-support)
$(usex addc '' '--without-ad-dc')
$(use_with addns dnsupdate)
$(use_with ads)
$(use_with cluster cluster-support)
$(use_enable cups)
$(use_with dmapi)
$(use_with fam)
$(use_enable gnutls)
$(use_with gpg gpgme)
$(use_enable iprint)
$(use_with ldap)
$(use_with pam)
$(usex pam "--with-pammodulesdir=${EPREFIX}/$(get_libdir)/security" '')
$(use_with quota quotas)
$(use_with syslog)
$(use_with systemd)
$(usex system-mitkrb5 '--with-system-mitkrb5' '')
$(use_with winbind)
$(usex python '' '--disable-python')
$(usex test '--enable-selftest' '')
$(use_enable zeroconf avahi)
--with-shared-modules=${SHAREDMODS}
)
else
myconf+=(
--without-acl-support
--without-ad-dc
--without-dnsupdate
--without-ads
--disable-avahi
--without-cluster-support
--disable-cups
--without-dmapi
--without-fam
--disable-gnutls
--without-gpgme
--disable-iprint
$(use_with ldap)
--without-pam
--without-quotas
--without-syslog
--without-systemd
$(usex system-mitkrb5 '--with-system-mitkrb5' '')
--without-winbind
--disable-python
)
fi

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 "${D}" -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 /usr/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 '[email protected]'
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 "http://samba.org/samba/history/${P}.html "
elog "http://samba.org/samba/history/${PN}-4.5.0.html and"
elog "http://wiki.samba.org/index.php/Samba4/HOWTO "
}

0 comments on commit 1e07a2f

Please sign in to comment.