diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest index 232b3d4..6902ae0 100644 --- a/net-fs/samba/Manifest +++ b/net-fs/samba/Manifest @@ -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 diff --git a/net-fs/samba/samba-4.0.0_alpha3.ebuild b/net-fs/samba/samba-4.0.0_alpha3.ebuild new file mode 100644 index 0000000..5596eb6 --- /dev/null +++ b/net-fs/samba/samba-4.0.0_alpha3.ebuild @@ -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} +}