net-fs/samba: Security bump to versions 4.9.13 and 4.10.8

Bug: https://bugs.gentoo.org/693558
Package-Manager: Portage-2.3.75, Repoman-2.3.17
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
This commit is contained in:
Lars Wendler
2019-09-06 09:10:03 +02:00
parent 4f41841888
commit c17eeecbb7
3 changed files with 623 additions and 0 deletions

View File

@@ -1,9 +1,11 @@
DIST samba-4.10.2.tar.gz 18280710 BLAKE2B f15b117d1159dfa6cd279c5011629d688fcfba94a2ca8184a827d0787a31f76a38f46b355454b916f2e62c0a88109b86664f6bb16fc0e23d0f61d09908e587cd SHA512 3d146ea12567ebb02a7babcad779b82339ffbfb19f6f2be5cac33eb18af2c9b546dc1cd910072a5c9e152ba9c4a632ed6870c48a8f6ad9d04304b130f240a4bf
DIST samba-4.10.6.tar.gz 18306135 BLAKE2B 236598c26294e1b7b23e48eba7d6429eec01e65a4a73a45fea16ef0e0b7cf1c7b861d824e860bc178d358c298400e829577525b0438e0384fca7bf4409bd69f0 SHA512 6c06a55ac686210965cf52f79190700a3d3a5cba8ea54b32e5bdb4d6b6167f1fa9aef308c3d5fdc7078496aa78b46d5cea3c623438d3a049b11fc58d334f8d0f
DIST samba-4.10.7.tar.gz 18318281 BLAKE2B ccb97823e8e23e48141b2585b9f6d1f786460a8ee9077e6a0f71d2e2c797f79cb155f4d418f0d18d046307ba5e8bf0780f975707145d1c7f94bc5aa5a65e34b6 SHA512 3ef05754fc12343cf76c7981ca25e4898bd0bf133f394b9fbe9393e8447b18626977e80ddc76f1597921abc378ad058cc363f1f277856d6fa4d783c902514c88
DIST samba-4.10.8.tar.gz 18316560 BLAKE2B a1b89169a13eb96202e846e9e501b364235d61459a5d2f2e443af569d8a754df8546b5fb52e9e1b9629535d838a7fdfd9cd1fb631870880dad9981587c14be5f SHA512 14d463dfba36473f4a1d2b306ff2a18c664e1a01bc8077ef62afc6796cf4dd65461d72b519b8df3a777eaf322cb98653b416468d770541cd21fab2383c8dce66
DIST samba-4.11.0rc3.tar.gz 18490189 BLAKE2B 1bddf744bf33b501a67e14dfc6e935285c458d1362e9c403fdb4abbbcbd71aaa3ae87d225f270cfbd0a0f6221072db070d04a984dfbc85ba607b5326ebcf835f SHA512 0a8998977d746b6fd37f51f2615a4a91296579d17e9f19818635f2042e844a69b1669c6ee0386e6ef8068bf75a141a483d2cbce4ea75d65e254cfca12e94f428
DIST samba-4.5.11-disable-python-patches.tar.xz 6292 BLAKE2B c2a32a1059a02bc1c87ce5f604cbc5878c654b8f693c8486b5ba63b37513444915a7b6389fe82b7e31ab2f9577dd8462eddba60b4f4f756b4ed1145ce7bd90ae SHA512 f0e3076e3e1ecaae3f06b3ef30efc81719fb3f63a1041dcbdae4b62ca4cf693732f9eb16f047d046d4930136fed82194e82b455ea888e12cf845b3e6a122d57d
DIST samba-4.5.16.tar.gz 21024396 BLAKE2B e737559fb748044076608fa233700eb54c7e1c56bc234763f062b6341a179cc78a4a8cdf9f3d6f4d7f3cf8a79f846852ddd5cc753a468c3adb3a0451e1809ed9 SHA512 de8a41013cfb5ef3adcb290efd97a78a5de876d90ad05764d631f14e663a1849bb53e4ac394b46c906f1109be5748fee9316407a659c57007d36851ae8adcd7f
DIST samba-4.8.12.tar.gz 17764832 BLAKE2B d2c0c8b9090da7c94b9343fd3f416e9aafad64273abc9be0639b011f71072926a0b303cf53e63c4e470aeb168e8ec23003b5f4ed4258aac8d6b3d029f71fba6f SHA512 f29595f6390d01860cb6acd750d2e36b4d207dd1da16465c21c8d6d732ce27bd0582a0f34296081e2659638d839c8b12f28deccc31982afa94650da8bce8df8b
DIST samba-4.8.6.tar.gz 17723841 BLAKE2B 38da52e14b4417f26462eef2226c4498e54d2c276b4056e8c6d6c66079f33bcda24c1eab30b29bc7413280ec89a74a55e043e8274ac50f9a25bae7563717ff34 SHA512 f6afab5ca466bd8653a56c205b71ce94ecf0ad0c6e4c9d64cbba7b1e56f1987bc2022e6b629d87eb6078e3f6ba53833c19cfb41e40b6d589e4317ea9d85de273
DIST samba-4.9.11.tar.gz 18095745 BLAKE2B d06a15608f71e73e26dbb15ddfb3512a0cd6f6ce5cffe663451cdf1552473c28cc5a66fc5e28d0e3fbfc80be8524903bd42d75050b664e713efdb09855175bdf SHA512 3d1cd7e3f1ffbfa6bb44fe0cb12be47dd17c9b614b6509ecec20210ac734fa1ab90ea5d2d2180fe7c80bd4eb5bb9a73a09183edf70bdd28dde2d33e092c9e71a
DIST samba-4.9.13.tar.gz 18109481 BLAKE2B 948ef6b0e1a9796c70635119f5aea5887e9f1c1d2a5264d072f3f3d218dfae3b6a16c640233063c9df0670dc7835a92a8c97447f57518aa9d387bc5d04831675 SHA512 ce80486c9ab093d44ee68b0e2ab28f9af97c7ed00cca1b8a0c65de18254ae40759a1e9fcb9a0ba18006aa296c6a6fbadf53dcd730785a96ac0c167efdbe9d3ae

View File

@@ -0,0 +1,314 @@
# 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 gnutls 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/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.5.5[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
<sys-libs/ldb-1.6.0[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
sys-libs/libcap
sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
sys-libs/readline:0=
>=sys-libs/talloc-2.1.16[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
>=sys-libs/tdb-1.3.18[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
>=sys-libs/tevent-0.9.39[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}]
)
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 )
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= )
"
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/glibc-2.26[rpc(+)]
)
test? (
!system-mitkrb5? (
>=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
"
REQUIRED_USE="
addc? ( python gnutls json 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.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:<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=(
--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_enable gnutls)
$(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 "
}

View File

@@ -0,0 +1,307 @@
# 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 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 gnutls 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/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.4.7[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
<sys-libs/ldb-1.5.0[ldap(+)?,python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
sys-libs/libcap
sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
sys-libs/readline:0=
>=sys-libs/talloc-2.1.14[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
>=sys-libs/tdb-1.3.16[python?,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
>=sys-libs/tevent-0.9.37[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}]
)
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 )
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= )
"
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/glibc-2.26[rpc(+)]
)
test? (
!system-mitkrb5? (
>=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
"
REQUIRED_USE="
addc? ( python gnutls json 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.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:<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=(
--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 json-audit)
$(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_enable gnutls)
$(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_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 "
}