Removed old samba4 ebuilds
git-svn-id: svn+ssh://svnintern.kmrc.de/projects/gentoo/iwm-overlay@8415 cbe59ace-07ea-0310-918e-868702b5370d
This commit is contained in:
parent
4b2835d3c7
commit
da278593c1
@ -1,311 +0,0 @@
|
|||||||
# Copyright 1999-2007 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Header: $
|
|
||||||
|
|
||||||
inherit eutils pam python multilib versionator confutils
|
|
||||||
|
|
||||||
RESTRICT="nomirror"
|
|
||||||
|
|
||||||
MY_P=${PN}-${PV/_/}
|
|
||||||
|
|
||||||
DESCRIPTION="A suite of SMB and CIFS client/server programs for UNIX"
|
|
||||||
HOMEPAGE="http://www.samba.org/"
|
|
||||||
SRC_URI="mirror://samba/samba4/${MY_P}.tar.gz"
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="**"
|
|
||||||
IUSE_LINGUAS="linguas_ja linguas_pl"
|
|
||||||
IUSE="${IUSE_LINGUAS} acl ads async automount caps cups doc ipv6 kernel_linux ldap fam
|
|
||||||
pam python quotas readline selinux swat syslog winbind"
|
|
||||||
|
|
||||||
RDEPEND="dev-libs/popt
|
|
||||||
virtual/libiconv
|
|
||||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
|
||||||
cups? ( net-print/cups )
|
|
||||||
ipv6? ( sys-apps/xinetd )
|
|
||||||
ads? ( virtual/krb5 )
|
|
||||||
ldap? ( net-nds/openldap )
|
|
||||||
pam? ( virtual/pam )
|
|
||||||
python? ( dev-lang/python )
|
|
||||||
readline? ( sys-libs/readline )
|
|
||||||
selinux? ( sec-policy/selinux-samba )
|
|
||||||
swat? ( sys-apps/xinetd )
|
|
||||||
syslog? ( virtual/logger )
|
|
||||||
fam? ( virtual/fam )
|
|
||||||
caps? ( sys-libs/libcap )"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
|
|
||||||
S=${WORKDIR}/${MY_P}
|
|
||||||
CONFDIR=${FILESDIR}/config
|
|
||||||
PRIVATE_DST=/var/lib/samba/private
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
confutils_use_depend_all ads ldap
|
|
||||||
}
|
|
||||||
|
|
||||||
src_unpack() {
|
|
||||||
unpack ${A}
|
|
||||||
cd "${S}/source"
|
|
||||||
|
|
||||||
# This patch adds "-Wl,-z,now" to smb{mnt,umount}
|
|
||||||
# Please read ... for further informations
|
|
||||||
# epatch "${FILESDIR}/${PV}-lazyldflags.patch"
|
|
||||||
|
|
||||||
# Ok, agreed, this is ugly. But it avoids a patch we
|
|
||||||
# need for every samba version and we don't need autotools
|
|
||||||
sed -i \
|
|
||||||
-e 's|"lib32" ||' \
|
|
||||||
-e 's|if test -d "$i/$l" ;|if test -d "$i/$l" -o -L "$i/$l";|' \
|
|
||||||
configure || die "sed failed"
|
|
||||||
|
|
||||||
# rm "${S}/docs/manpages"/{mount,umount}.cifs.8
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
cd "${S}/source"
|
|
||||||
|
|
||||||
local myconf
|
|
||||||
local mylangs
|
|
||||||
local mymod_shared
|
|
||||||
|
|
||||||
python_version
|
|
||||||
myconf="--with-python=no"
|
|
||||||
use python && myconf="--with-python=${python}"
|
|
||||||
|
|
||||||
mylangs="--with-manpages-langs=en"
|
|
||||||
use linguas_ja && mylangs="${mylangs},ja"
|
|
||||||
use linguas_pl && mylangs="${mylangs},pl"
|
|
||||||
|
|
||||||
use winbind && mymod_shared="--with-shared-modules=idmap_rid"
|
|
||||||
if use ldap ; then
|
|
||||||
myconf="${myconf} $(use_with ads)"
|
|
||||||
use winbind && mymod_shared="${mymod_shared},idmap_ad"
|
|
||||||
fi
|
|
||||||
|
|
||||||
[[ ${CHOST} == *-*bsd* ]] && myconf="${myconf} --disable-pie"
|
|
||||||
use hppa && myconf="${myconf} --disable-pie"
|
|
||||||
|
|
||||||
use caps && export ac_cv_header_sys_capability_h=yes || export ac_cv_header_sys_capability_h=no
|
|
||||||
|
|
||||||
# Otherwise we get the whole swat stuff installed
|
|
||||||
if ! use swat ; then
|
|
||||||
sed -i \
|
|
||||||
-e 's/^\(install:.*\)installswat \(.*\)/\1\2/' \
|
|
||||||
Makefile.in || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
econf \
|
|
||||||
--with-fhs \
|
|
||||||
--sysconfdir=/etc/samba \
|
|
||||||
--localstatedir=/var \
|
|
||||||
--with-configdir=/etc/samba \
|
|
||||||
--with-libdir=/usr/$(get_libdir)/samba \
|
|
||||||
--with-swatdir=/usr/share/doc/${PF}/swat \
|
|
||||||
--with-piddir=/var/run/samba \
|
|
||||||
--with-lockdir=/var/cache/samba \
|
|
||||||
--with-logfilebase=/var/log/samba \
|
|
||||||
--with-privatedir=${PRIVATE_DST} \
|
|
||||||
--with-libsmbclient \
|
|
||||||
--without-spinlocks \
|
|
||||||
--enable-socket-wrapper \
|
|
||||||
--with-cifsmount=no \
|
|
||||||
$(use_with acl acl-support) \
|
|
||||||
$(use_with async aio-support) \
|
|
||||||
$(use_with automount) \
|
|
||||||
$(use_enable cups) \
|
|
||||||
$(use_enable fam) \
|
|
||||||
$(use_with ads krb5) \
|
|
||||||
$(use_with ldap) \
|
|
||||||
$(use_with pam) $(use_with pam pam_smbpass) \
|
|
||||||
$(use_with quotas) $(use_with quotas sys-quotas) \
|
|
||||||
$(use_with readline) \
|
|
||||||
$(use_with kernel_linux smbmount) \
|
|
||||||
$(use_with syslog) \
|
|
||||||
$(use_with winbind) \
|
|
||||||
${myconf} ${mylangs} ${mymod_shared} || die "econf failed"
|
|
||||||
|
|
||||||
emake proto || die "emake proto failed"
|
|
||||||
emake everything || die "emake everything failed"
|
|
||||||
|
|
||||||
if use python ; then
|
|
||||||
emake python_ext || die "emake python_ext failed"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
cd "${S}/source"
|
|
||||||
emake test || die "tests failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
cd "${S}/source"
|
|
||||||
|
|
||||||
emake DESTDIR="${D}" install || die "emake install failed"
|
|
||||||
|
|
||||||
# Extra rpctorture progs
|
|
||||||
local extra_bins="rpctorture"
|
|
||||||
for i in ${extra_bins} ; do
|
|
||||||
[[ -x "${S}/bin/${i}" ]] && dobin "${S}/bin/${i}"
|
|
||||||
done
|
|
||||||
|
|
||||||
# remove .old stuff from /usr/bin:
|
|
||||||
rm -f "${D}"/usr/bin/*.old
|
|
||||||
|
|
||||||
# Nsswitch extensions. Make link for wins and winbind resolvers
|
|
||||||
if use winbind ; then
|
|
||||||
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
|
|
||||||
fi
|
|
||||||
|
|
||||||
# if use pam ; then
|
|
||||||
# dopammod bin/pam_smbpass.so
|
|
||||||
# use winbind && dopammod bin/pam_winbind.so
|
|
||||||
# fi
|
|
||||||
|
|
||||||
if use kernel_linux ; then
|
|
||||||
# Warning: this can byte you if /usr is
|
|
||||||
# on a separate volume and you have to mount
|
|
||||||
# a smb volume before the local mount
|
|
||||||
dosym ../usr/bin/smbmount /sbin/mount.smbfs
|
|
||||||
fperms 4755 /usr/bin/smbmnt
|
|
||||||
fperms 4755 /usr/bin/smbumount
|
|
||||||
fi
|
|
||||||
|
|
||||||
# bug #46389: samba doesn't create symlink anymore
|
|
||||||
# beaviour seems to be changed in 3.0.6, see bug #61046
|
|
||||||
dosym samba/libsmbclient.so /usr/$(get_libdir)/libsmbclient.so.0
|
|
||||||
dosym samba/libsmbclient.so /usr/$(get_libdir)/libsmbclient.so
|
|
||||||
|
|
||||||
# make the smb backend symlink for cups printing support (bug #133133)
|
|
||||||
if use cups ; then
|
|
||||||
dodir $(cups-config --serverbin)/backend
|
|
||||||
dosym /usr/bin/smbspool $(cups-config --serverbin)/backend/smb
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use python ; then
|
|
||||||
# emake DESTDIR="${D}" python_install || die "emake installpython failed"
|
|
||||||
# We're doing that manually
|
|
||||||
find "${D}/usr/$(get_libdir)/python${PYVER}/site-packages" -iname "*.pyc" -delete
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${S}/source"
|
|
||||||
|
|
||||||
# General config files
|
|
||||||
insinto /etc/samba
|
|
||||||
doins "${CONFDIR}"/{smbusers,lmhosts}
|
|
||||||
newins "${CONFDIR}/smb.conf.example-samba3" smb.conf.example
|
|
||||||
|
|
||||||
newpamd "${CONFDIR}/samba.pam" samba
|
|
||||||
use winbind && doins ${CONFDIR}/system-auth-winbind
|
|
||||||
if use swat ; then
|
|
||||||
insinto /etc/xinetd.d
|
|
||||||
newins "${CONFDIR}/swat.xinetd" swat
|
|
||||||
else
|
|
||||||
rm -f "${D}/usr/sbin/swat"
|
|
||||||
rm -f "${D}/usr/share/man/man8/swat.8"
|
|
||||||
fi
|
|
||||||
|
|
||||||
newinitd "${FILESDIR}/samba-init" samba
|
|
||||||
newconfd "${FILESDIR}/samba-conf" samba
|
|
||||||
|
|
||||||
# if use ldap ; then
|
|
||||||
# insinto /etc/openldap/schema
|
|
||||||
# doins "${S}/examples/LDAP/samba.schema"
|
|
||||||
# fi
|
|
||||||
|
|
||||||
if use ipv6 ; then
|
|
||||||
insinto /etc/xinetd.d
|
|
||||||
newins "${FILESDIR}/samba-xinetd" smb
|
|
||||||
fi
|
|
||||||
|
|
||||||
# dirs
|
|
||||||
diropts -m0700 ; keepdir ${PRIVATE_DST}
|
|
||||||
diropts -m1777 ; keepdir /var/spool/samba
|
|
||||||
|
|
||||||
diropts -m0755
|
|
||||||
keepdir /var/{log,run,cache}/samba
|
|
||||||
keepdir /var/lib/samba/{netlogon,profiles}
|
|
||||||
keepdir /var/lib/samba/printers/{W32X86,WIN40,W32ALPHA,W32MIPS,W32PPC}
|
|
||||||
keepdir /usr/$(get_libdir)/samba/{rpc,idmap,auth}
|
|
||||||
|
|
||||||
# docs
|
|
||||||
dodoc "${FILESDIR}/README.gentoo"
|
|
||||||
dodoc "${S}"/{BUGS.txt,COPYING,howto.txt,NEWS,prog_guide.txt,swat2.txt,TODO,WHATSNEW.txt}
|
|
||||||
dodoc "${CONFDIR}/nsswitch.conf-wins"
|
|
||||||
use winbind && dodoc "${CONFDIR}/nsswitch.conf-winbind"
|
|
||||||
|
|
||||||
# if use examples ; then
|
|
||||||
# insinto /usr/share/doc/${PF}
|
|
||||||
# doins -r "${S}/examples/"
|
|
||||||
# find "${D}/usr/share/doc/${PF}" -type d -print0 | xargs -0 chmod 755
|
|
||||||
# find "${D}/usr/share/doc/${PF}/examples" ! -type d -print0 | xargs -0 chmod 644
|
|
||||||
# if use python ; then
|
|
||||||
# insinto /usr/share/doc/${PF}/python
|
|
||||||
# doins -r "${S}/source/python/examples"
|
|
||||||
# fi
|
|
||||||
# fi
|
|
||||||
|
|
||||||
# if ! use doc ; then
|
|
||||||
# if ! use swat ; then
|
|
||||||
# rm -rf "${D}/usr/share/doc/${PF}/swat"
|
|
||||||
# else
|
|
||||||
# rm -rf "${D}/usr/share/doc/${PF}/swat/help"/{guide,howto,devel}
|
|
||||||
# rm -rf "${D}/usr/share/doc/${PF}/swat/using_samba"
|
|
||||||
# fi
|
|
||||||
# fi
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_preinst() {
|
|
||||||
local PRIVATE_SRC=/etc/samba/private
|
|
||||||
if [[ ! -r ${ROOT}/${PRIVATE_DST}/secrets.tdb \
|
|
||||||
&& -r ${ROOT}/${PRIVATE_SRC}/secrets.tdb ]] ; then
|
|
||||||
ebegin "Copying ${ROOT}/${PRIVATE_SRC}/* to ${ROOT}/${PRIVATE_DST}/"
|
|
||||||
mkdir -p "${D}"/${PRIVATE_DST}
|
|
||||||
cp -pPRf "${ROOT}"/${PRIVATE_SRC}/* "${D}"/${PRIVATE_DST}/
|
|
||||||
eend $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! -f "${ROOT}/etc/samba/smb.conf" ]] ; then
|
|
||||||
touch "${D}/etc/samba/smb.conf"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
if use python ; then
|
|
||||||
python_version
|
|
||||||
python_mod_optimize /usr/$(get_libdir)/python${PYVER}/site-packages/samba
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use swat ; then
|
|
||||||
einfo "swat must be enabled by xinetd:"
|
|
||||||
einfo " change the /etc/xinetd.d/swat configuration"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use ipv6 ; then
|
|
||||||
einfo "ipv6 support must be enabled by xinetd:"
|
|
||||||
einfo " change the /etc/xinetd.d/smb configuration"
|
|
||||||
fi
|
|
||||||
|
|
||||||
elog "It is possible to start/stop daemons seperately:"
|
|
||||||
elog " Create a symlink from /etc/init.d/samba.{smbd,nmbd,winbind} to"
|
|
||||||
elog " /etc/init.d/samba. Calling /etc/init.d/samba directly will start"
|
|
||||||
elog " the daemons configured in /etc/conf.d/samba"
|
|
||||||
|
|
||||||
elog "The mount/umount.cifs helper applications are not included anymore."
|
|
||||||
elog "Please install net-fs/mount-cifs instead."
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
if use python ; then
|
|
||||||
python_version
|
|
||||||
python_mod_cleanup /usr/$(get_libdir)/python${PYVER}/site-packages/samba
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If stale docs, and one isn't re-emerging the latest version, removes
|
|
||||||
# (this is actually a portage bug, though)
|
|
||||||
[[ -n ${PF} && ! -f ${ROOT}/usr/$(get_libdir)/${PN}/en.msg ]] && \
|
|
||||||
rm -rf "${ROOT}"/usr/share/doc/${PF}
|
|
||||||
}
|
|
@ -1,304 +0,0 @@
|
|||||||
# Copyright 1999-2007 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
# $Header: $
|
|
||||||
|
|
||||||
inherit eutils pam python multilib versionator confutils
|
|
||||||
|
|
||||||
RESTRICT="nomirror"
|
|
||||||
|
|
||||||
MY_P=${PN}-${PV/_/}
|
|
||||||
|
|
||||||
DESCRIPTION="A suite of SMB and CIFS client/server programs for UNIX"
|
|
||||||
HOMEPAGE="http://www.samba.org/"
|
|
||||||
SRC_URI="mirror://samba/samba4/${MY_P}.tar.gz"
|
|
||||||
LICENSE="GPL-2"
|
|
||||||
SLOT="0"
|
|
||||||
KEYWORDS="**"
|
|
||||||
IUSE_LINGUAS="linguas_ja linguas_pl"
|
|
||||||
IUSE="${IUSE_LINGUAS} acl ads async automount caps cups doc ipv6 kernel_linux ldap fam
|
|
||||||
pam quotas readline selinux swat syslog winbind"
|
|
||||||
|
|
||||||
RDEPEND="dev-libs/popt
|
|
||||||
>=dev-lang/python-2.4
|
|
||||||
virtual/libiconv
|
|
||||||
acl? ( kernel_linux? ( sys-apps/acl ) )
|
|
||||||
cups? ( net-print/cups )
|
|
||||||
ipv6? ( sys-apps/xinetd )
|
|
||||||
ads? ( virtual/krb5 )
|
|
||||||
ldap? ( net-nds/openldap )
|
|
||||||
pam? ( virtual/pam )
|
|
||||||
readline? ( sys-libs/readline )
|
|
||||||
selinux? ( sec-policy/selinux-samba )
|
|
||||||
swat? ( sys-apps/xinetd )
|
|
||||||
syslog? ( virtual/logger )
|
|
||||||
fam? ( virtual/fam )
|
|
||||||
caps? ( sys-libs/libcap )"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
|
|
||||||
S=${WORKDIR}/${MY_P}
|
|
||||||
CONFDIR=${FILESDIR}/config
|
|
||||||
PRIVATE_DST=/var/lib/samba/private
|
|
||||||
|
|
||||||
pkg_setup() {
|
|
||||||
confutils_use_depend_all ads ldap
|
|
||||||
}
|
|
||||||
|
|
||||||
src_unpack() {
|
|
||||||
unpack ${A}
|
|
||||||
cd "${S}/source"
|
|
||||||
|
|
||||||
# This patch adds "-Wl,-z,now" to smb{mnt,umount}
|
|
||||||
# Please read ... for further informations
|
|
||||||
# epatch "${FILESDIR}/${PV}-lazyldflags.patch"
|
|
||||||
|
|
||||||
# Ok, agreed, this is ugly. But it avoids a patch we
|
|
||||||
# need for every samba version and we don't need autotools
|
|
||||||
sed -i \
|
|
||||||
-e 's|"lib32" ||' \
|
|
||||||
-e 's|if test -d "$i/$l" ;|if test -d "$i/$l" -o -L "$i/$l";|' \
|
|
||||||
configure || die "sed failed"
|
|
||||||
|
|
||||||
# rm "${S}/docs/manpages"/{mount,umount}.cifs.8
|
|
||||||
}
|
|
||||||
|
|
||||||
src_compile() {
|
|
||||||
cd "${S}/source"
|
|
||||||
|
|
||||||
local myconf
|
|
||||||
local mylangs
|
|
||||||
local mymod_shared
|
|
||||||
|
|
||||||
mylangs="--with-manpages-langs=en"
|
|
||||||
use linguas_ja && mylangs="${mylangs},ja"
|
|
||||||
use linguas_pl && mylangs="${mylangs},pl"
|
|
||||||
|
|
||||||
use winbind && mymod_shared="--with-shared-modules=idmap_rid"
|
|
||||||
if use ldap ; then
|
|
||||||
myconf="${myconf} $(use_with ads)"
|
|
||||||
use winbind && mymod_shared="${mymod_shared},idmap_ad"
|
|
||||||
fi
|
|
||||||
|
|
||||||
[[ ${CHOST} == *-*bsd* ]] && myconf="${myconf} --disable-pie"
|
|
||||||
use hppa && myconf="${myconf} --disable-pie"
|
|
||||||
|
|
||||||
use caps && export ac_cv_header_sys_capability_h=yes || export ac_cv_header_sys_capability_h=no
|
|
||||||
|
|
||||||
# Otherwise we get the whole swat stuff installed
|
|
||||||
if ! use swat ; then
|
|
||||||
sed -i \
|
|
||||||
-e 's/^\(install:.*\)installswat \(.*\)/\1\2/' \
|
|
||||||
Makefile.in || die "sed failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
econf \
|
|
||||||
--with-fhs \
|
|
||||||
--sysconfdir=/etc/samba \
|
|
||||||
--localstatedir=/var \
|
|
||||||
--with-configdir=/etc/samba \
|
|
||||||
--with-libdir=/usr/$(get_libdir)/samba \
|
|
||||||
--with-swatdir=/usr/share/doc/${PF}/swat \
|
|
||||||
--with-piddir=/var/run/samba \
|
|
||||||
--with-lockdir=/var/cache/samba \
|
|
||||||
--with-logfilebase=/var/log/samba \
|
|
||||||
--with-privatedir=${PRIVATE_DST} \
|
|
||||||
--with-libsmbclient \
|
|
||||||
--without-spinlocks \
|
|
||||||
--enable-socket-wrapper \
|
|
||||||
--with-cifsmount=no \
|
|
||||||
--with-python \
|
|
||||||
$(use_with acl acl-support) \
|
|
||||||
$(use_with async aio-support) \
|
|
||||||
$(use_with automount) \
|
|
||||||
$(use_enable cups) \
|
|
||||||
$(use_enable fam) \
|
|
||||||
$(use_with ads krb5) \
|
|
||||||
$(use_with ldap) \
|
|
||||||
$(use_with pam) $(use_with pam pam_smbpass) \
|
|
||||||
$(use_with quotas) $(use_with quotas sys-quotas) \
|
|
||||||
$(use_with readline) \
|
|
||||||
$(use_with kernel_linux smbmount) \
|
|
||||||
$(use_with syslog) \
|
|
||||||
$(use_with winbind) \
|
|
||||||
${myconf} ${mylangs} ${mymod_shared} || die "econf failed"
|
|
||||||
|
|
||||||
emake proto || die "emake proto failed"
|
|
||||||
emake everything || die "emake everything failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_test() {
|
|
||||||
cd "${S}/source"
|
|
||||||
emake test || die "tests failed"
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
cd "${S}/source"
|
|
||||||
|
|
||||||
emake DESTDIR="${D}" install || die "emake install failed"
|
|
||||||
|
|
||||||
python_version
|
|
||||||
insinto /usr/$(get_libdir)/python${PYVER}/site-packages/samba
|
|
||||||
doins scripting/python/samba/*.py
|
|
||||||
insinto /usr/$(get_libdir)/python${PYVER}/site-packages/samba/tests
|
|
||||||
doins scripting/python/samba/tests/*.py
|
|
||||||
insinto /usr/$(get_libdir)/python${PYVER}/site-packages/samba/torture
|
|
||||||
doins scripting/python/samba/torture/*.py
|
|
||||||
|
|
||||||
# Extra rpctorture/python progs
|
|
||||||
local extra_bins="rpctorture smbpython"
|
|
||||||
for i in ${extra_bins} ; do
|
|
||||||
[[ -x "${S}/bin/${i}" ]] && dobin "${S}/bin/${i}"
|
|
||||||
done
|
|
||||||
|
|
||||||
# remove .old stuff from /usr/bin:
|
|
||||||
rm -f "${D}"/usr/bin/*.old
|
|
||||||
|
|
||||||
# Nsswitch extensions. Make link for wins and winbind resolvers
|
|
||||||
if use winbind ; then
|
|
||||||
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
|
|
||||||
fi
|
|
||||||
|
|
||||||
# if use pam ; then
|
|
||||||
# dopammod bin/pam_smbpass.so
|
|
||||||
# use winbind && dopammod bin/pam_winbind.so
|
|
||||||
# fi
|
|
||||||
|
|
||||||
if use kernel_linux ; then
|
|
||||||
# Warning: this can byte you if /usr is
|
|
||||||
# on a separate volume and you have to mount
|
|
||||||
# a smb volume before the local mount
|
|
||||||
dosym ../usr/bin/smbmount /sbin/mount.smbfs
|
|
||||||
fperms 4755 /usr/bin/smbmnt
|
|
||||||
fperms 4755 /usr/bin/smbumount
|
|
||||||
fi
|
|
||||||
|
|
||||||
# bug #46389: samba doesn't create symlink anymore
|
|
||||||
# beaviour seems to be changed in 3.0.6, see bug #61046
|
|
||||||
dosym samba/libsmbclient.so /usr/$(get_libdir)/libsmbclient.so.0
|
|
||||||
dosym samba/libsmbclient.so /usr/$(get_libdir)/libsmbclient.so
|
|
||||||
|
|
||||||
# make the smb backend symlink for cups printing support (bug #133133)
|
|
||||||
if use cups ; then
|
|
||||||
dodir $(cups-config --serverbin)/backend
|
|
||||||
dosym /usr/bin/smbspool $(cups-config --serverbin)/backend/smb
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${S}/source"
|
|
||||||
|
|
||||||
# General config files
|
|
||||||
insinto /etc/samba
|
|
||||||
doins "${CONFDIR}"/{smbusers,lmhosts}
|
|
||||||
newins "${CONFDIR}/smb.conf.example-samba3" smb.conf.example
|
|
||||||
|
|
||||||
newpamd "${CONFDIR}/samba.pam" samba
|
|
||||||
use winbind && doins ${CONFDIR}/system-auth-winbind
|
|
||||||
if use swat ; then
|
|
||||||
insinto /etc/xinetd.d
|
|
||||||
newins "${CONFDIR}/swat.xinetd" swat
|
|
||||||
else
|
|
||||||
rm -f "${D}/usr/sbin/swat"
|
|
||||||
rm -f "${D}/usr/share/man/man8/swat.8"
|
|
||||||
fi
|
|
||||||
|
|
||||||
newinitd "${FILESDIR}/samba-init" samba
|
|
||||||
newconfd "${FILESDIR}/samba-conf" samba
|
|
||||||
|
|
||||||
# if use ldap ; then
|
|
||||||
# insinto /etc/openldap/schema
|
|
||||||
# doins "${S}/examples/LDAP/samba.schema"
|
|
||||||
# fi
|
|
||||||
|
|
||||||
if use ipv6 ; then
|
|
||||||
insinto /etc/xinetd.d
|
|
||||||
newins "${FILESDIR}/samba-xinetd" smb
|
|
||||||
fi
|
|
||||||
|
|
||||||
# dirs
|
|
||||||
diropts -m0700 ; keepdir ${PRIVATE_DST}
|
|
||||||
diropts -m1777 ; keepdir /var/spool/samba
|
|
||||||
|
|
||||||
diropts -m0755
|
|
||||||
keepdir /var/{log,run,cache}/samba
|
|
||||||
keepdir /var/lib/samba/{netlogon,profiles}
|
|
||||||
keepdir /var/lib/samba/printers/{W32X86,WIN40,W32ALPHA,W32MIPS,W32PPC}
|
|
||||||
keepdir /usr/$(get_libdir)/samba/{rpc,idmap,auth}
|
|
||||||
|
|
||||||
# docs
|
|
||||||
dodoc "${FILESDIR}/README.gentoo"
|
|
||||||
dodoc "${S}"/{BUGS.txt,COPYING,howto.txt,NEWS,prog_guide.txt,swat2.txt,TODO,WHATSNEW.txt}
|
|
||||||
dodoc "${CONFDIR}/nsswitch.conf-wins"
|
|
||||||
use winbind && dodoc "${CONFDIR}/nsswitch.conf-winbind"
|
|
||||||
|
|
||||||
# if use examples ; then
|
|
||||||
# insinto /usr/share/doc/${PF}
|
|
||||||
# doins -r "${S}/examples/"
|
|
||||||
# find "${D}/usr/share/doc/${PF}" -type d -print0 | xargs -0 chmod 755
|
|
||||||
# find "${D}/usr/share/doc/${PF}/examples" ! -type d -print0 | xargs -0 chmod 644
|
|
||||||
# if use python ; then
|
|
||||||
# insinto /usr/share/doc/${PF}/python
|
|
||||||
# doins -r "${S}/source/python/examples"
|
|
||||||
# fi
|
|
||||||
# fi
|
|
||||||
|
|
||||||
# if ! use doc ; then
|
|
||||||
# if ! use swat ; then
|
|
||||||
# rm -rf "${D}/usr/share/doc/${PF}/swat"
|
|
||||||
# else
|
|
||||||
# rm -rf "${D}/usr/share/doc/${PF}/swat/help"/{guide,howto,devel}
|
|
||||||
# rm -rf "${D}/usr/share/doc/${PF}/swat/using_samba"
|
|
||||||
# fi
|
|
||||||
# fi
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_preinst() {
|
|
||||||
local PRIVATE_SRC=/etc/samba/private
|
|
||||||
if [[ ! -r ${ROOT}/${PRIVATE_DST}/secrets.tdb \
|
|
||||||
&& -r ${ROOT}/${PRIVATE_SRC}/secrets.tdb ]] ; then
|
|
||||||
ebegin "Copying ${ROOT}/${PRIVATE_SRC}/* to ${ROOT}/${PRIVATE_DST}/"
|
|
||||||
mkdir -p "${D}"/${PRIVATE_DST}
|
|
||||||
cp -pPRf "${ROOT}"/${PRIVATE_SRC}/* "${D}"/${PRIVATE_DST}/
|
|
||||||
eend $?
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! -f "${ROOT}/etc/samba/smb.conf" ]] ; then
|
|
||||||
touch "${D}/etc/samba/smb.conf"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
python_version
|
|
||||||
python_mod_optimize /usr/$(get_libdir)/python${PYVER}/site-packages/samba
|
|
||||||
|
|
||||||
if use swat ; then
|
|
||||||
einfo "swat must be enabled by xinetd:"
|
|
||||||
einfo " change the /etc/xinetd.d/swat configuration"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use ipv6 ; then
|
|
||||||
einfo "ipv6 support must be enabled by xinetd:"
|
|
||||||
einfo " change the /etc/xinetd.d/smb configuration"
|
|
||||||
fi
|
|
||||||
|
|
||||||
elog "It is possible to start/stop daemons seperately:"
|
|
||||||
elog " Create a symlink from /etc/init.d/samba.{smbd,nmbd,winbind} to"
|
|
||||||
elog " /etc/init.d/samba. Calling /etc/init.d/samba directly will start"
|
|
||||||
elog " the daemons configured in /etc/conf.d/samba"
|
|
||||||
|
|
||||||
elog "The mount/umount.cifs helper applications are not included anymore."
|
|
||||||
elog "Please install net-fs/mount-cifs instead."
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postrm() {
|
|
||||||
if use python ; then
|
|
||||||
python_version
|
|
||||||
python_mod_cleanup /usr/$(get_libdir)/python${PYVER}/site-packages/samba
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If stale docs, and one isn't re-emerging the latest version, removes
|
|
||||||
# (this is actually a portage bug, though)
|
|
||||||
[[ -n ${PF} && ! -f ${ROOT}/usr/$(get_libdir)/${PN}/en.msg ]] && \
|
|
||||||
rm -rf "${ROOT}"/usr/share/doc/${PF}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user