diff options
author | 2009-08-17 18:31:18 +0000 | |
---|---|---|
committer | 2009-08-17 18:31:18 +0000 | |
commit | f2c0551e867b9a51220f10aedd2d0365593ef191 (patch) | |
tree | 0007c55487f5d24cafed11d98e0f6c4232fd88a8 /net-fs/samba | |
parent | 0.4: amd64 stable, 0.7: version bump (diff) | |
download | historical-f2c0551e867b9a51220f10aedd2d0365593ef191.tar.gz historical-f2c0551e867b9a51220f10aedd2d0365593ef191.tar.bz2 historical-f2c0551e867b9a51220f10aedd2d0365593ef191.zip |
Bump to 3.0.36 and 3.2.14
Package-Manager: portage-2.2_rc38/cvs/Linux x86_64
Diffstat (limited to 'net-fs/samba')
-rw-r--r-- | net-fs/samba/ChangeLog | 9 | ||||
-rw-r--r-- | net-fs/samba/Manifest | 6 | ||||
-rw-r--r-- | net-fs/samba/samba-3.0.36.ebuild | 351 | ||||
-rw-r--r-- | net-fs/samba/samba-3.2.14.ebuild | 288 |
4 files changed, 652 insertions, 2 deletions
diff --git a/net-fs/samba/ChangeLog b/net-fs/samba/ChangeLog index 1426bfa559f1..3fad3af73b27 100644 --- a/net-fs/samba/ChangeLog +++ b/net-fs/samba/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-fs/samba # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/ChangeLog,v 1.365 2009/08/17 17:34:01 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/ChangeLog,v 1.366 2009/08/17 18:31:18 patrick Exp $ + +*samba-3.2.14 (17 Aug 2009) +*samba-3.0.36 (17 Aug 2009) + + 17 Aug 2009; Patrick Lauer <patrick@gentoo.org> +samba-3.0.36.ebuild, + +samba-3.2.14.ebuild: + Bump to 3.0.36 and 3.2.14 *samba-3.3.7 (17 Aug 2009) diff --git a/net-fs/samba/Manifest b/net-fs/samba/Manifest index e39b7332472d..c4508aca2314 100644 --- a/net-fs/samba/Manifest +++ b/net-fs/samba/Manifest @@ -31,18 +31,22 @@ AUX samba-xinetd 286 RMD160 c90bd8518082eb4c182d5f7bd223a76f8e3c7fab SHA1 b250c5 DIST samba-3.0.33.tar.gz 49393320 RMD160 c396f9dbd052d9377ca7ff75550173855c9792e2 SHA1 235c15e796a49fcf80b154d608813af8e7ebb329 SHA256 285004bdfb452235ac8ac20d33c083ecb326a10f6ee819dab4032ab5c6563a16 DIST samba-3.0.34.tar.gz 24835363 RMD160 d79cd544b5ab2b4a7130b8c52c19edcfc89083ea SHA1 18104d1bf509cd3fd3107c09fa6205666e04ac16 SHA256 530793de9f4114f4b391d932e2833baf25a00498317471cd75a068f3378c299e DIST samba-3.0.35.tar.gz 24839204 RMD160 81c708aa6ab048f9fa24999650992a92a95f7da3 SHA1 c75e20890f893decfd4285480041b7e39d43ed3d SHA256 87b81c0cea653305e796013148d3c0c68d7f38cbd7ed3b5255ddace14fd37748 +DIST samba-3.0.36.tar.gz 23416298 RMD160 aa50924ed9634e90be5fa4082477d57b48b55313 SHA1 6465a574a02823ecd0973d1f0fc0e851f04900cc SHA256 08833af913937bdeeca118cff404d0f07b835501a4ab0e26f3aefd55e50c4d86 DIST samba-3.2.11.tar.gz 24399021 RMD160 08910e5640dcdb4a72d062d87a31a9f7fc2ebc71 SHA1 2b5d41547aae0267930addd60a1e84f3f3ee7071 SHA256 5db81a9bd2842e7bf5f2fe8eeb0533eb59e6bb75a7d5f79f9e04c13baec32ef5 DIST samba-3.2.13.tar.gz 24436090 RMD160 5d6cced04b3f20068cc02724021d6f6a893a201a SHA1 68c98900c258d64098d59879153abbb8202cc364 SHA256 91223a742183675cb3bb9ba1cc379948e8666e69735f348ea7d3794ce3bc778d +DIST samba-3.2.14.tar.gz 24436302 RMD160 2ada80cc29ee5337049515cb265b0a8b192ee229 SHA1 4ee9f988e204466efd6f243bec8cc00534fcd135 SHA256 acf7ed40d6e115f31679bcf8d43fbbfa0950ef69ac27118d1d5404c79f8cbd40 DIST samba-vscan-0.3.6c-beta5.tar.gz 248183 RMD160 6929c30b57e342c4bdf6a6b432fbe41c2ac70a74 SHA1 9e1b37225246ff2f19e37aceb97a680afc82cdda SHA256 bfe910d54add8dcb87d5babdf50127a6dcf079e0e90ad9947b4cbfdbe3e3037d EBUILD samba-3.0.33.ebuild 10154 RMD160 bef33d341d1681ac3b0427bb72fa7cc58b45933c SHA1 3fd7304c502c36f0a2774daa5d181fd81fef7be5 SHA256 339f4ac029d8c4357b59eb832457ee787b74830412c7a0557904f2863d3b987c EBUILD samba-3.0.34.ebuild 10116 RMD160 ee8f7ec7636a35df2d62f432e8b086e734d956b6 SHA1 74747c552b73c501dbf55b4afa3eb3a380aba3f8 SHA256 1c17b80cee7b28773bd78251d51fdb9771fbf6792b4b8ce03ad6e9d1438ee757 EBUILD samba-3.0.35.ebuild 10130 RMD160 c043ca786e73ed14c67f470134ad3a3733706687 SHA1 fbaf675402daac62ffcca16a29e9855540db2a78 SHA256 59d6038f55a9dfaca2ccad5fb4ef4b2b53ead8f073dba6f1e910dba36c5ddb65 +EBUILD samba-3.0.36.ebuild 10130 RMD160 b34d9e25f977ea97bdf7cf59cc943a19bfeff1e6 SHA1 e4e860a1ccd4e74a2e80d1603ff2e849c88c1d73 SHA256 bd9bf0c2061de9e745e2f5a236e7cdf6457adf2a9381c2953b3bdf0cd651bdfd EBUILD samba-3.2.11.ebuild 8291 RMD160 894aff8b443c73ab65c6a0bdbb9a602907c771af SHA1 292a791031267868a08b486cff05bca58ac70a8b SHA256 d85019e0b7dea53f78f0075aac0112d146a0b283e4f4b16ba6181e2db7a09ba2 EBUILD samba-3.2.13-r1.ebuild 8434 RMD160 79050ac1cf7aadcaf1199f8a0ea3acd63d5eb49d SHA1 26c993d3110488673d860b61258093067032cb97 SHA256 d3c14633f429115274bed0ea2ae6e262ed9a71ac88e3b7ce596192a87ff89a22 EBUILD samba-3.2.13-r2.ebuild 8535 RMD160 b47adac829b44f5c96a7b499de8cb73ab7ee4ae7 SHA1 e190ce79856f9f9eefb009cd4c0a5c9d2b6f4f79 SHA256 6ab8227763073a283158b45a29a3f05e277857427336c526ed77e1c727a3840c EBUILD samba-3.2.13-r3.ebuild 8589 RMD160 443c43005cf8425f449ac63bba71b51ac96db620 SHA1 462aee99d61545605206763264fd96b75ea453e8 SHA256 edeb845150d9be258025c0184a9f3551d874a7a4fe2ee210d4222c5cf1f5d03d EBUILD samba-3.2.13.ebuild 8289 RMD160 e46b181d7bfe407bba6c130e454a3e96dd17a916 SHA1 4cab6c1b57c3d07b54dffed8bf4e51a1a5045442 SHA256 c4d549b826b06f74219cfe9ead564f0d02230b3ca9997bb1527706c7d819b387 +EBUILD samba-3.2.14.ebuild 8586 RMD160 5dceaa5fd0e845751b3805231061ee18ed9cc3d3 SHA1 bd5ce5c8697d7452278251bb3b41b55668641cc2 SHA256 4fe868049ba970526595c6cb02c78c13236389c431dab8ee0c5e23747c002515 EBUILD samba-3.3.6.ebuild 513 RMD160 0296dd282a9293eb0d45005db8d6b5e1a4571149 SHA1 eb15639ff0e58b69dc6de90011b71732f5e965be SHA256 04ecb07302c468b3a8f0b47ee1d1526c8942f2e64f6e2d8b5d3050b4bf15d2f5 EBUILD samba-3.3.7.ebuild 513 RMD160 9c268d13b5d53113f96d45bc1a80ba15db04b6cb SHA1 c9aa7c8daefc7c4e6e14870c868aeb02be522876 SHA256 184db1429071c4a9e9f34f26e4319935ec87e27493dbf2249cae267d13f0550b -MISC ChangeLog 62065 RMD160 4339f6191fbc8cefc8d280087b000ff450634500 SHA1 5810f3fe3fae83c45523b67d18f2ee4c4e17fadb SHA256 dad280252735065ae70ebb0430815f491e039e7a35e69af3e63640f411fe6836 +MISC ChangeLog 62247 RMD160 5563ff145f007e20590a1bba61fd8031aa1e3d0c SHA1 e3ed179277a6b792a94054d3881e97b37b93d7d9 SHA256 3244f825d54bc79688cb4db7c19e3e5d3c5100326c8db8cb1923f757bf448ad5 MISC metadata.xml 1132 RMD160 388c951fd5c66a375a0fe08cec063ea0bdbda196 SHA1 145a8409682eb144ddd9aee0ffc5d0d8cb004483 SHA256 17aef1fbecececf19ade8632dbd66c00c145ed538dc8b01c3c691e9171b1300b diff --git a/net-fs/samba/samba-3.0.36.ebuild b/net-fs/samba/samba-3.0.36.ebuild new file mode 100644 index 000000000000..53a9de9d566e --- /dev/null +++ b/net-fs/samba/samba-3.0.36.ebuild @@ -0,0 +1,351 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-3.0.36.ebuild,v 1.1 2009/08/17 18:31:18 patrick Exp $ + +inherit autotools eutils pam python multilib versionator confutils + +VSCAN_P="samba-vscan-0.3.6c-beta5" +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/${MY_P}.tar.gz + mirror://samba/old-versions/${MY_P}.tar.gz + oav? ( http://www.openantivirus.org/download/${VSCAN_P}.tar.gz )" +LICENSE="GPL-3 oav? ( GPL-2 LGPL-2.1 )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" +IUSE="acl ads async automount caps cups debug doc examples ipv6 kernel_linux ldap fam + pam python quotas readline selinux swat syslog winbind oav" + +RDEPEND="dev-libs/popt + virtual/libiconv + acl? ( virtual/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}" + +# Tests are broken now :-( +RESTRICT="test" + +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" + + # lazyldflags.patch: adds "-Wl,-z,now" to smb{mnt,umount} + # invalid-free-fix.patch: Bug #196015 (upstream: #5021) + + epatch \ + "${FILESDIR}/3.0.26a-lazyldflags.patch" \ + "${FILESDIR}/3.0.26a-invalid-free-fix.patch" \ + "${FILESDIR}/3.0.28-fix_broken_readdir_detection.patch" \ + "${FILESDIR}/3.0.28a-wrong_python_ldflags.patch" + + eautoconf -I. -Ilib/replace + + # 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}" + + 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-pammodulesdir=$(getpam_mod_dir) \ + --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 \ + --enable-socket-wrapper \ + --with-cifsmount=no \ + $(use_with acl acl-support) \ + $(use_with async aio-support) \ + $(use_with automount) \ + $(use_enable cups) \ + $(use_enable debug) \ + $(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} + + emake -j1 proto || die "emake proto failed" + emake -j1 everything || die "emake everything failed" + + if use python ; then + emake -j1 python_ext || die "emake python_ext failed" + fi + + if use oav ; then + # maintainer-info: + # - there are no known releases of mks or kavdc, + # setting to builtin to disable auto-detection + cd "${WORKDIR}/${VSCAN_P}" + econf \ + --with-fhs \ + --with-samba-source="${S}/source" \ + --with-libmksd-builtin \ + --with-libkavdc-builtin \ + --without-symantec \ + --with-filetype \ + --with-fileregexp \ + $(use_enable debug) + emake -j1 || die "emake oav plugins failed" + fi +} + +src_test() { + cd "${S}/source" + emake test || die "tests failed" +} + +src_install() { + cd "${S}/source" + + emake DESTDIR="${D}" install-everything || die "emake install-everything 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 + + # Removing executable bits from header-files + fperms 644 /usr/include/lib{msrpc,smbclient}.h + + # 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 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 && dopamd "${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,X64,IA64,COLOR} + keepdir /usr/$(get_libdir)/samba/{rpc,idmap,auth} + + # docs + dodoc "${FILESDIR}/README.gentoo" + dodoc "${S}"/{MAINTAINERS,README,Roadmap,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 + else + cd "${S}/docs" + insinto /usr/share/doc/${PF} + doins *.pdf + doins -r registry + dohtml -r htmldocs/* + fi + + if use oav ; then + cd "${WORKDIR}/${VSCAN_P}" + emake DESTDIR="${D}" install || die "emake install oav plugins failed" + docinto samba-vscan + dodoc AUTHORS ChangeLog FAQ INSTALL NEWS README TODO + find . -iname "*.conf" -print0 | xargs -0 dodoc + 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 separately:" + 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." + + if use oav ; then + elog "The configure snippets for various antivirus plugins are available here:" + elog " /usr/share/doc/${PF}/samba-vscan" + fi + + ewarn "If you're upgrading from 3.0.24 or earlier, please make sure to" + ewarn "restart your clients to clear any cached information about the server." + ewarn "Otherwise they might not be able to connect to the volumes." +} + +pkg_postrm() { + if use python ; then + python_version + python_mod_cleanup /usr/$(get_libdir)/python${PYVER}/site-packages/samba + fi +} diff --git a/net-fs/samba/samba-3.2.14.ebuild b/net-fs/samba/samba-3.2.14.ebuild new file mode 100644 index 000000000000..d18642000e83 --- /dev/null +++ b/net-fs/samba/samba-3.2.14.ebuild @@ -0,0 +1,288 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-3.2.14.ebuild,v 1.1 2009/08/17 18:31:18 patrick Exp $ + +inherit eutils pam multilib versionator confutils + +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/${MY_P}.tar.gz" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" + +# disabled for now +#IUSE_LINGUAS="linguas_ja linguas_pl" + +IUSE="${IUSE_LINGUAS} acl ads async automount caps cifsupcall cups doc examples ipv6 kernel_linux ldap fam + pam quotas readline selinux swat syslog winbind" + +RDEPEND="dev-libs/popt + dev-libs/iniparser + virtual/libiconv + acl? ( virtual/acl ) + cifsupcall? ( sys-apps/keyutils ) + cups? ( net-print/cups ) + ipv6? ( sys-apps/xinetd ) + ads? ( virtual/krb5 sys-fs/e2fsprogs ) + 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-3.2" +PRIVATE_DST=/var/lib/samba/private + +# Tests are currently broken due to hardcoded paths (due to --with-fhs) +# The problem is that --without-fhs lets samba use lockdir (which can be changed in smb.conf) +# which is wrong as well. +RESTRICT="test" + +pkg_setup() { + confutils_use_depend_all ads ldap + confutils_use_depend_all cifsupcall ads +} + +src_unpack() { + unpack ${A} + cd "${S}/source" + + # 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 + + sed -i \ + -e 's|tdbsam|tdbsam:${PRIVATEDIR}/passdb.tdb|' \ + "${S}/source/script/tests/selftest.sh" || die "sed failed" +} + +src_compile() { + cd "${S}/source" + + local myconf + local mylangs + local mymod_shared + + # this doesn't seem to work ... + #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-pammodulesdir=$(getpam_mod_dir) \ + --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 \ + --enable-socket-wrapper \ + --enable-nss-wrapper \ + --with-cifsmount=no \ + --disable-dnssd \ + $(use_with acl acl-support) \ + $(use_with async aio-support) \ + $(use_with automount) \ + $(use_with cifsupcall) \ + $(use_enable cups) \ + $(use_enable fam) \ + $(use_with ads krb5) \ + $(use_with ads dnsupdate) \ + $(use_with ldap) \ + $(use_with pam) $(use_with pam pam_smbpass) \ + $(use_with quotas) $(use_with quotas sys-quotas) \ + $(use_with readline) \ + $(use_with syslog) \ + $(use_with winbind) \ + ${myconf} ${mylangs} ${mymod_shared} || die "econf failed" + + emake -j1 proto || die "emake proto failed" + emake -j1 everything || die "emake everything failed" + +} + +src_test() { + cd "${S}/source" + emake test || die "tests failed" +} + +src_install() { + cd "${S}/source" + + emake -j1 DESTDIR="${D}" install-everything || die "emake install-everything 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 + + # Removing executable bits from header-files + fperms 644 /usr/include/libsmbclient.h + + # 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 + + # 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 + dosym samba/libsmbclient.so.0 /usr/$(get_libdir)/libsmbclient.so.0 + dosym samba/libtalloc.so /usr/$(get_libdir)/libtalloc.so + dosym samba/libtalloc.so.1 /usr/$(get_libdir)/libtalloc.so.1 + dosym samba/libtdb.so /usr/$(get_libdir)/libtdb.so + dosym samba/libtdb.so.1 /usr/$(get_libdir)/libtdb.so.1 + dosym samba/libwbclient.so.0 /usr/$(get_libdir)/libwbclient.so.0 + dosym samba/libsmbsharemodes.so.0 /usr/$(get_libdir)/libsmbsharemodes.so.0 + + # 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 && dopamd "${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,X64,IA64,COLOR} + keepdir /usr/$(get_libdir)/samba/{rpc,idmap,auth} + + # docs + dodoc "${FILESDIR}/README.gentoo" + dodoc "${S}"/{MAINTAINERS,README,Roadmap,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 + 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 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 separately:" + 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." + + ewarn "If you're upgrading from 3.0.24 or earlier, please make sure to" + ewarn "restart your clients to clear any cached information about the server." + ewarn "Otherwise they might not be able to connect to the volumes." +} |