New Samba4 ebuild

git-svn-id: svn+ssh://svnintern.kmrc.de/projects/gentoo/iwm-overlay@6456 cbe59ace-07ea-0310-918e-868702b5370d
This commit is contained in:
Torsten Kurbad 2008-04-18 12:17:16 +00:00
parent 4052b0929e
commit 101a2267e4
2 changed files with 313 additions and 35 deletions

View File

@ -1,44 +1,11 @@
AUX config/lmhosts 130 RMD160 b2acc34f95a4f926528ae67861c3597204be0c41 SHA1 be21644d6b4645d0685b954071b4618faa1c6da2 SHA256 c1c0a520c6d4b4ce7df9bd30f835dd912942b05004fc24e3cc495fc1622d5d8c
MD5 17f92fe28ec69c903f38ec7aaa7193f6 files/config/lmhosts 130
RMD160 b2acc34f95a4f926528ae67861c3597204be0c41 files/config/lmhosts 130
SHA256 c1c0a520c6d4b4ce7df9bd30f835dd912942b05004fc24e3cc495fc1622d5d8c files/config/lmhosts 130
AUX config/nsswitch.conf-winbind 410 RMD160 02722819dfba2fb1425eadd0f63f96f598ecda69 SHA1 ede68472b5eae7d2efb805e138bd7f9ca8f7fefb SHA256 d1e61b5a152d05a3d8a9f8d18d574596acc1a594b311278d3ad9ea1b2c273a40
MD5 5a1db47f778ddd81af36d7dd77e1170f files/config/nsswitch.conf-winbind 410
RMD160 02722819dfba2fb1425eadd0f63f96f598ecda69 files/config/nsswitch.conf-winbind 410
SHA256 d1e61b5a152d05a3d8a9f8d18d574596acc1a594b311278d3ad9ea1b2c273a40 files/config/nsswitch.conf-winbind 410
AUX config/nsswitch.conf-wins 396 RMD160 61f7d80bfa06efb16e8e9344f2402fc88b1198e8 SHA1 8139e2034118b0fe64d40cf7dc811435ee151584 SHA256 1ab5c5711823af6a04fdaf4920826940b4b0d92822e6464bbf404ca03d24fd1b
MD5 64125d209aa1c61a1fd3a35e3715d1b5 files/config/nsswitch.conf-wins 396
RMD160 61f7d80bfa06efb16e8e9344f2402fc88b1198e8 files/config/nsswitch.conf-wins 396
SHA256 1ab5c5711823af6a04fdaf4920826940b4b0d92822e6464bbf404ca03d24fd1b files/config/nsswitch.conf-wins 396
AUX config/samba.pam 397 RMD160 8f64b09e17e0c458a8156db3cc92a0413513e4fc SHA1 f39d48e07be8069885b51253c5b891a856b7b41e SHA256 86634f2d541370518d0958a73c04776ed5df2a3716ef128ff384459acce9cd38
MD5 a8c9fa5bbf2393084ed9e7add6340f9c files/config/samba.pam 397
RMD160 8f64b09e17e0c458a8156db3cc92a0413513e4fc files/config/samba.pam 397
SHA256 86634f2d541370518d0958a73c04776ed5df2a3716ef128ff384459acce9cd38 files/config/samba.pam 397
AUX config/samba.schema 16044 RMD160 b28408c64524ea44a9b0ea877d614603456a18fa SHA1 523d8bcf6313fe8ce03a3fbe762ba90b88ca5643 SHA256 c011a2f2f4fcc2839e3609cf5477507d938083f48f15a05787337b352f3afec3
MD5 bf268fdddc8ef677b6fa78661a094eac files/config/samba.schema 16044
RMD160 b28408c64524ea44a9b0ea877d614603456a18fa files/config/samba.schema 16044
SHA256 c011a2f2f4fcc2839e3609cf5477507d938083f48f15a05787337b352f3afec3 files/config/samba.schema 16044
AUX config/smb.conf.example-samba3 19701 RMD160 1ce92cbedb15cf5ee4d66ee50fd7c996231facea SHA1 5c60002f23ac2a60fc27b58ea03659acb0db876a SHA256 83fd9407e71db606bb50677f9d8a557688b6eafacb32d30c7a0a6d1c666b694d
MD5 ab08f7651d0d0d59e648ed24c6b0c9c0 files/config/smb.conf.example-samba3 19701
RMD160 1ce92cbedb15cf5ee4d66ee50fd7c996231facea files/config/smb.conf.example-samba3 19701
SHA256 83fd9407e71db606bb50677f9d8a557688b6eafacb32d30c7a0a6d1c666b694d files/config/smb.conf.example-samba3 19701
AUX config/smbusers 208 RMD160 04d432806e3024543096da6e079820032a850436 SHA1 ef8344b94b3860d405f8663206be9d5cab6030a9 SHA256 845fbb6c93e4570fc40ca59e2471a9a72cb76fe20ce5bde5f75fec65b5471702
MD5 1dd1f851a164732c13fbe11a53591eb0 files/config/smbusers 208
RMD160 04d432806e3024543096da6e079820032a850436 files/config/smbusers 208
SHA256 845fbb6c93e4570fc40ca59e2471a9a72cb76fe20ce5bde5f75fec65b5471702 files/config/smbusers 208
AUX config/swat.xinetd 531 RMD160 76c6d999a77c356d1013ab2586762e034550aac3 SHA1 3c25ea5418a007c875959cf12416ef1cbc37952b SHA256 12c2e1a907d1751f2431fc2b1a4702ee6ddca228c81056333dd96a4f146ac1ab
MD5 4927fd313e588dceb0aed29f85856198 files/config/swat.xinetd 531
RMD160 76c6d999a77c356d1013ab2586762e034550aac3 files/config/swat.xinetd 531
SHA256 12c2e1a907d1751f2431fc2b1a4702ee6ddca228c81056333dd96a4f146ac1ab files/config/swat.xinetd 531
AUX config/system-auth-winbind 873 RMD160 7392d93abc16dd5e1caaebe8bbe3aa786b1122fb SHA1 5e1161d30926f6b9772645a61ad664d2d15b81ff SHA256 365843527fe3c6b0576d499646a36690558699ffc21e4ef089099c3e773accbe
MD5 048ac02182ebbca4e69a52a7ba65fc7d files/config/system-auth-winbind 873
RMD160 7392d93abc16dd5e1caaebe8bbe3aa786b1122fb files/config/system-auth-winbind 873
SHA256 365843527fe3c6b0576d499646a36690558699ffc21e4ef089099c3e773accbe files/config/system-auth-winbind 873
DIST samba-4.0.0alpha1.tar.gz 9501244 RMD160 fc0020bd334a073cd78d46486c0e9aad3947a9b9 SHA1 5c1141fd68804b0b8ede261c6d988fee5dbf0d94 SHA256 5f1673443c6b58b796c60579c89a84d838e030b92bb069f86581f6d6a351f713
EBUILD samba-4.0.0_alpha1.ebuild 8745 RMD160 e489002c1e91fa813eec085323807af57a333340 SHA1 21576b7e13568ac1240dba13ff70a6fc64524e8f SHA256 a09d2a2f8414f292c9eb78965562e5b1cc47901913dc4109bbd80447b49b98f3
MD5 6f52878d60d103685eb65b6edba29f96 samba-4.0.0_alpha1.ebuild 8745
RMD160 e489002c1e91fa813eec085323807af57a333340 samba-4.0.0_alpha1.ebuild 8745
SHA256 a09d2a2f8414f292c9eb78965562e5b1cc47901913dc4109bbd80447b49b98f3 samba-4.0.0_alpha1.ebuild 8745
MD5 beeecf2d4f601c38a581ba5fec844e1f files/digest-samba-4.0.0_alpha1 256
RMD160 158544c8367c3b6f6dccc996d4b1569675b99f66 files/digest-samba-4.0.0_alpha1 256
SHA256 98c064910a485c4531145dbf12f8cca0a6a16f2164b1fb36d7dd659af75a720e files/digest-samba-4.0.0_alpha1 256
DIST samba-4.0.0alpha3.tar.gz 9994864 RMD160 3cccc660b069a1ab68ab09b904b442c1d1d9c95a SHA1 82d7c4da077d73e3ba44187d380a9829d257cdac SHA256 9fefacec174c279da73bdaa08f61765bc49612cc99a7727fd7320e73335040e9
EBUILD samba-4.0.0_alpha3.ebuild 8745 RMD160 e489002c1e91fa813eec085323807af57a333340 SHA1 21576b7e13568ac1240dba13ff70a6fc64524e8f SHA256 a09d2a2f8414f292c9eb78965562e5b1cc47901913dc4109bbd80447b49b98f3

View File

@ -0,0 +1,311 @@
# 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}
}