Skip to content

Commit

Permalink
net-fs/samba: commit samba-4.4rc2 with proper Manifest
Browse files Browse the repository at this point in the history
Recommit bedb32a but with proper Manifest

Package-Manager: portage-2.2.26
  • Loading branch information
axs-gentoo committed Feb 10, 2016
1 parent 64749b6 commit e005579
Show file tree
Hide file tree
Showing 5 changed files with 358 additions and 0 deletions.
2 changes: 2 additions & 0 deletions net-fs/samba/Manifest
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ DIST samba-3.6.25.tar.gz 34121828 SHA256 8f2c8a7f2bd89b0dfd228ed917815852f7c625b
DIST samba-4.2.7.tar.gz 20741971 SHA256 f586ab3166ce4c663360f15b1de24ef083816a5471856e3ad49bc26b35f0104a SHA512 74314083c04689696f0423bc990947bfafad679edcac97e6c137e99c17de1e262a4d8450b57de733a70c86c746300c7c5a1365b56c0e353ce79b05e0baf8eb9a WHIRLPOOL 84e7d2f3a60701ee929198caf86371c9e1694be6def47a4f0f12d4d221b995209505c23564c304fbdd95ab5ae528f941946bd361ec6e388f7ba4db08792ff3ba
DIST samba-4.2.8.tar.gz 20745527 SHA256 d2c0ca97ab415ede829d15ddad411d76e4f7b6a82e280bf7fbc9910c30fa4593 SHA512 cdee04ebc2303c1cadf2c0a45530909b6c97838e611378498faaaa6fcade8850746253d51ae71fd872c741f54ec2d3a9d452651291355e20001ca443fae9054a WHIRLPOOL 84b3f78b41da98eaa463f9b1c467e3c82268d31ac3d3e48d75b0a4dc04f479d12f2387c045281b0caa3a841c351587d0eabec403163ff479d8c700f0b638e5f4
DIST samba-4.3.4.tar.gz 20434434 SHA256 5d0eb52e842832af922f7d57716eacff23192906ec3bdf6727e18ca24f1419d9 SHA512 021351534a70cd351934d7f8bfc3c4e9ed9ea3f11f778f6f9d076b3368103f7f478ff1745cb257de0bf2ee38ae76ecba58e01a4db6cbcacbd8a4876e8e1b30f2 WHIRLPOOL 328721951ed932c5813d6157ca2933e22adb793d5cd6667577e40151bcdae8dcddf5ca4e053cd6494e0f82f5801ae480716520c625dd9c337557abc168e00dec
DIST samba-4.4.0rc2.tar.gz 20569387 SHA256 931c6241f239621244fc170f9a5b188c024fe578279c28494dc40e696e5572e3 SHA512 5258eb588f0e553e4d8742440ea9da1e91a4bbdc33fafd2c070e58a1b473bcf2d4a1c4db787856535b3404b08002a639f1de4c182f662284d0c441617ca74977 WHIRLPOOL d0ab40694bee7330fd06f9fd8f461b890ccac36e3366247d020cf9ae284ccd80dc5f1c98e029a5cd38bca65cd092cb4094c6d2c9644212d2e212f2a015c3b720
DIST samba-disable-python-patches-4.2.7.tar.xz 6296 SHA256 06a1b9aeb91b622d3c2a02a86edfc26e26f10303699c8b2badbd21ce68b10ec0 SHA512 ff746c2969b254d9ccad1440699fccd5958222eea8284a8e068b96df377d6cea8551ec3c6be7103cebf227b0b9038a5b06d3b06d9b247e181403e9fe1ad7eedf WHIRLPOOL 8ea9f34c5f011624b43c0f3f27601574c27e00c5a728d9af5b1cece090da362d51f93ef6cecd37f1204bbd4e608ed58027f52ef5c3d700a1cfdbbb0e5355c3b8
DIST samba-disable-python-patches-4.3.3.tar.xz 6016 SHA256 00debe6c5cc57b87150ded67db8dc54e5ec487f6ed610c96e8fa393743c47f66 SHA512 775abcee86690605e156f4c560f25d762f5cc2e72177a55003ad5124ed643322f2c84514342ed0eadad2c8e1ea97006bc6ce7d504ca8a29c27a201666ce4bdf6 WHIRLPOOL 86c40669e706f6c3b955e6fb892931532e241dd92cae2e7b5986e78f6b5fe50c42c019b97650942de81c8c4989568bcb93e49a7bcb2f9fd300d189da5fa08fe4
DIST samba-disable-python-patches-4.4.0.tar.xz 6188 SHA256 35f7aa4b01716d9dd3ed55db3dc2427f00e65cf3e6643b02118de07ecd97aca4 SHA512 d5b6a9e303368982f8d22027e6b497923f7e861d60cfdd286183d67fcbd5ff8055879c846d491fa13af46b36a9f795dd7a363f1b6bef93d7d92370fc92455126 WHIRLPOOL 55af9b0e307d2143a78a613c79465c6584dc81a59ebb9c07b8a0672e98dd2d9484ddb236318baefdcd553afb9e88a16ee61173a1587538799b30038eb7cc5e58
DIST smb_traffic_analyzer_v2.diff.bz2 12226 SHA256 1bae7eafbe8ac2382313d5ab9d43d73ba64b63a714f0f588516952d476fb868d SHA512 aa0e457a0dd282e61e6dfcd5705c29b319832dca9711b1b5baf8373e2f079991399c3537c050219ccb861a93f86353ebff677a5c625d2e3f1f3a13ee5c4087d0 WHIRLPOOL 85ee72a360f67ebe71be5cd400ecd635280a0d7c64ebb8b94656a5ef1a94f74a987de86408af00ce1b81cc8363b1b3cf14726860d29b72ee610d4bab73d6b139
38 changes: 38 additions & 0 deletions net-fs/samba/files/4.4/samba4.confd
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Add "winbind" to the daemon_list if you also want winbind to start.
# Replace "smbd nmbd" by "samba4" if you want the active directory domain controller part or the ntvfs
# file server part or the rpc proxy to start.
# Note that samba4 controls 'smbd' by itself, thus it can't be started manually. You can, however,
# tweak the behaviour of a samba4-controlled smbd by modifying your '/etc/samba/smb.conf' file
# accordingly.
daemon_list="smbd nmbd"

#----------------------------------------------------------------------------
# Daemons calls: <daemon_name>_<command_option>
#----------------------------------------------------------------------------
my_service_name="samba"
my_service_PRE="unset TMP TMPDIR"
my_service_POST=""

#----------------------------------------------------------------------------
# Daemons calls: <daemon_name>_<command_option>
#----------------------------------------------------------------------------
smbd_start_options="-D"
smbd_start="start-stop-daemon --start --exec /usr/sbin/smbd -- ${smbd_start_options}"
smbd_stop="start-stop-daemon --stop --exec /usr/sbin/smbd"
smbd_reload="killall -HUP smbd"

nmbd_start_options="-D"
nmbd_start="start-stop-daemon --start --exec /usr/sbin/nmbd -- ${nmbd_start_options}"
nmbd_stop="start-stop-daemon --stop --exec /usr/sbin/nmbd"
nmbd_reload="killall -HUP nmbd"

samba4_start_options=""
samba4_start="start-stop-daemon --start --exec /usr/sbin/samba -- ${samba4_start_options}"
samba4_stop="start-stop-daemon --stop --exec /usr/sbin/samba"
samba4_reload="killall -HUP samba"

winbind_start_options=""
winbind_start="start-stop-daemon --start --exec /usr/sbin/winbindd -- ${winbind_start_options}"
winbind_stop="start-stop-daemon --stop --exec /usr/sbin/winbindd"
winbind_reload="killall -HUP winbindd"

56 changes: 56 additions & 0 deletions net-fs/samba/files/4.4/samba4.initd-r1
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#!/sbin/runscript
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later
# $Id$

extra_started_commands="reload"
piddir="/var/run/samba"

depend() {
after slapd
need net
use cupsd
}

DAEMONNAME="${SVCNAME##samba.}"
[ "${DAEMONNAME}" != "samba" ] && daemon_list=${DAEMONNAME}

signal_do() {
local signal="$1"
[ -z "${signal}" ] && return 0

local result=0 last_result=0 daemon= cmd_exec=
for daemon in ${daemon_list} ; do
eval cmd_exec=\$${daemon}_${signal}
if [ -n "${cmd_exec}" ]; then
ebegin "${my_service_name} -> ${signal}: ${daemon}"
#echo ${cmd} '->' ${!cmd}
${cmd_exec} > /dev/null
last_result=$?
eend ${last_result}
fi
result=$(( ${result} + ${last_result} ))
done
return ${result}
}

start() {
${my_service_PRE}
[ -d "${piddir}" ] || mkdir -p "${piddir}"
signal_do start && return 0

eerror "Error: starting services (see system logs)"
signal_do stop
return 1
}
stop() {
${my_service_PRE}
if signal_do stop ; then
${my_service_POST}
return 0
fi
}
reload() {
${my_service_PRE}
signal_do reload
}
29 changes: 29 additions & 0 deletions net-fs/samba/files/samba-4.4.0-pam.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
--- a/samba-4.4.0rc2/source3/wscript 2016-01-26 15:25:54.000000000 -0500
+++ b/samba-4.4.0rc2/source3/wscript 2016-02-09 14:37:46.385279942 -0500
@@ -870,7 +870,7 @@
if conf.env.with_iconv:
conf.DEFINE('HAVE_ICONV', 1)

- if Options.options.with_pam:
+ if Options.options.with_pam != False:
use_pam=True
conf.CHECK_HEADERS('security/pam_appl.h pam/pam_appl.h')
if not conf.CONFIG_SET('HAVE_SECURITY_PAM_APPL_H') and not conf.CONFIG_SET('HAVE_PAM_PAM_APPL_H'):
@@ -943,6 +943,17 @@
conf.DEFINE('WITH_PAM', 1)
conf.DEFINE('WITH_PAM_MODULES', 1)

+ else:
+ Logs.warn("PAM disabled")
+ use_pam=False
+ conf.undefine('WITH_PAM')
+ conf.undefine('WITH_PAM_MODULES')
+ conf.undefine('HAVE_SECURITY_PAM_APPL_H')
+ conf.undefine('PAM_RHOST')
+ conf.undefine('PAM_TTY')
+ conf.undefine('HAVE_PAM_PAM_APPL_H')
+
+
seteuid = False

#
233 changes: 233 additions & 0 deletions net-fs/samba/samba-4.4.0_rc2.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5
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/~axs/distfiles/samba-disable-python-patches-4.4.0.tar.xz"
KEYWORDS="~amd64 ~hppa ~x86"
[[ ${PV} = *_rc* ]] && KEYWORDS="~hppa"

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

SLOT="0"

IUSE="acl addc addns ads avahi client cluster cups dmapi fam gnutls iprint
ldap pam quota selinux syslog +system-mitkrb5 systemd test winbind"

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="${PYTHON_DEPS}
>=app-arch/libarchive-3.1.2[${MULTILIB_USEDEP}]
dev-libs/libbsd[${MULTILIB_USEDEP}]
dev-libs/iniparser:0
dev-libs/popt[${MULTILIB_USEDEP}]
sys-libs/readline:=
virtual/libiconv
dev-python/subunit[${PYTHON_USEDEP},${MULTILIB_USEDEP}]
>=net-libs/socket_wrapper-1.1.3[${MULTILIB_USEDEP}]
sys-apps/attr[${MULTILIB_USEDEP}]
sys-libs/libcap
>=sys-libs/ldb-1.1.25[${MULTILIB_USEDEP}]
sys-libs/ncurses:0=[${MULTILIB_USEDEP}]
>=sys-libs/nss_wrapper-1.0.3[${MULTILIB_USEDEP}]
>=sys-libs/talloc-2.1.3[python,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
>=sys-libs/tdb-1.3.7[python,${PYTHON_USEDEP},${MULTILIB_USEDEP}]
>=sys-libs/tevent-0.9.25[${MULTILIB_USEDEP}]
>=sys-libs/uid_wrapper-1.1.0[${MULTILIB_USEDEP}]
sys-libs/zlib[${MULTILIB_USEDEP}]
virtual/pam
acl? ( virtual/acl )
addns? ( net-dns/bind-tools[gssapi] )
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 )
ldap? ( net-nds/openldap[${MULTILIB_USEDEP}] )
system-mitkrb5? ( app-crypt/mit-krb5[${MULTILIB_USEDEP}] )
!system-mitkrb5? ( >=app-crypt/heimdal-1.5[-ssl,${MULTILIB_USEDEP}] )
systemd? ( sys-apps/systemd:0= )"
DEPEND="${CDEPEND}
virtual/pkgconfig"
RDEPEND="${CDEPEND}
client? ( net-fs/cifs-utils[ads?] )
selinux? ( sec-policy/selinux-samba )
"

REQUIRED_USE="addc? ( gnutls !system-mitkrb5 )
ads? ( acl gnutls ldap )
${PYTHON_REQUIRED_USE}"

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

PATCHES=(
"${FILESDIR}/${PN}-4.2.3-heimdal_compilefix.patch"
"${FILESDIR}/${PN}-4.4.0-pam.patch"
)

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

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

SHAREDMODS=""

pkg_setup() {
python-single-r1_pkg_setup
if use cluster ; then
SHAREDMODS="${SHAREDMODS}idmap_rid,idmap_tdb2,idmap_ad"
fi
}

src_prepare() {
epatch ${PATCHES[@]}

# install the patches from tarball(s)
EPATCH_SUFFIX="patch" \
EPATCH_FORCE="yes" \
epatch "${WORKDIR}/patches"

# Allow user patches
epatch_user
multilib_copy_sources
}

multilib_src_configure() {
local myconf=()
myconf=(
--enable-fhs
--sysconfdir=/etc
--localstatedir=/var
--with-modulesdir=/usr/$(get_libdir)/samba
--with-piddir=/var/run/${PN}
--bundled-libraries=NONE
--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)
$(usex ads '--with-shared-modules=idmap_ad' '')
$(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)
$(use_with pam)
$(usex pam "--with-pammodulesdir=/$(get_libdir)/security" '')
$(use_with quota quotas)
$(use_with syslog)
$(use_with systemd)
$(usex system-mitkrb5 '--with-system-mitkrb5' '')
$(use_with winbind)
$(usex test '--enable-selftest' '')
--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
--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}/usr/include/et ${CPPFLAGS}" \
waf-utils_src_configure ${myconf[@]}
}

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

# install example config file
insinto /etc/samba
doins examples/smb.conf.default

# 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.2.0.html and"
elog "http://wiki.samba.org/index.php/Samba4/HOWTO "
}

0 comments on commit e005579

Please sign in to comment.