diff options
author | Tiziano Müller <dev-zero@gentoo.org> | 2007-04-09 08:17:46 +0000 |
---|---|---|
committer | Tiziano Müller <dev-zero@gentoo.org> | 2007-04-09 08:17:46 +0000 |
commit | cf61e0f43d49a5ad29cab14e41843d58e3ca5de5 (patch) | |
tree | d2f6c6c7bf0ef6678010d3db209c02a84190806f /net-fs | |
parent | Stable on amd64 wrt bug 173793 (diff) | |
download | gentoo-2-cf61e0f43d49a5ad29cab14e41843d58e3ca5de5.tar.gz gentoo-2-cf61e0f43d49a5ad29cab14e41843d58e3ca5de5.tar.bz2 gentoo-2-cf61e0f43d49a5ad29cab14e41843d58e3ca5de5.zip |
Removed obsolete patches. Moved conf.d/init.d files out of the tarball. Fixed bug #170072 (thanks to Roy Marples)
(Portage version: 2.1.2.2)
Diffstat (limited to 'net-fs')
-rw-r--r-- | net-fs/samba/ChangeLog | 9 | ||||
-rw-r--r-- | net-fs/samba/files/digest-samba-3.0.24-r1 | 9 | ||||
-rw-r--r-- | net-fs/samba/files/samba-conf | 28 | ||||
-rw-r--r-- | net-fs/samba/files/samba-init | 50 | ||||
-rw-r--r-- | net-fs/samba/samba-3.0.24-r1.ebuild | 299 |
5 files changed, 394 insertions, 1 deletions
diff --git a/net-fs/samba/ChangeLog b/net-fs/samba/ChangeLog index 2445e9e3d1bf..9843c9cb4fbe 100644 --- a/net-fs/samba/ChangeLog +++ b/net-fs/samba/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-fs/samba # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/ChangeLog,v 1.275 2007/03/01 11:53:00 dragonheart Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/ChangeLog,v 1.276 2007/04/09 08:17:46 dev-zero Exp $ + +*samba-3.0.24-r1 (09 Apr 2007) + + 09 Apr 2007; Tiziano Müller <dev-zero@gentoo.org> +files/samba-conf, + +files/samba-init, +samba-3.0.24-r1.ebuild: + Removed obsolete patches. Moved conf.d/init.d files out of the tarball. + Fixed bug #170072 (thanks to Roy Marples) 01 Mar 2007; Daniel Black <dragonheart@gentoo.org> Manifest: digest fix - bug #168842 diff --git a/net-fs/samba/files/digest-samba-3.0.24-r1 b/net-fs/samba/files/digest-samba-3.0.24-r1 new file mode 100644 index 000000000000..00360d37af2c --- /dev/null +++ b/net-fs/samba/files/digest-samba-3.0.24-r1 @@ -0,0 +1,9 @@ +MD5 ca3b7f83de0204ab79a9f0aea5a5051d samba-3-gentoo-0.3.16.tar.bz2 14291 +RMD160 c8388239352e981c03f7e99ff02dbaa13ad77e2a samba-3-gentoo-0.3.16.tar.bz2 14291 +SHA256 fe0ae6f8c2833cfdbab82a5ae2087045da4f27f6f07daba6fdc829a93b4e6508 samba-3-gentoo-0.3.16.tar.bz2 14291 +MD5 89273f67a6d8067cbbecefaa13747153 samba-3.0.24.tar.gz 17708128 +RMD160 f208dca645d07a195169e005a50fb4c4879254eb samba-3.0.24.tar.gz 17708128 +SHA256 c4e8de3426fbbcee7f338f5cf09052cbdf9a36ae638aeeeca10498ef8d5343e2 samba-3.0.24.tar.gz 17708128 +MD5 900502ba36b80620229b94e5129bc856 samba-vscan-0.3.6b.tar.bz2 164471 +RMD160 5cd81345b06f44b2febf3f24e62325322b1c6a3b samba-vscan-0.3.6b.tar.bz2 164471 +SHA256 14f78b624b047b90ddf4965998e7115d3b3ac97b3229154a302637d8e49adcd4 samba-vscan-0.3.6b.tar.bz2 164471 diff --git a/net-fs/samba/files/samba-conf b/net-fs/samba/files/samba-conf new file mode 100644 index 000000000000..b67595ade6cb --- /dev/null +++ b/net-fs/samba/files/samba-conf @@ -0,0 +1,28 @@ +#add "winbind" to the daemon_list if you also want winbind to start +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 --quiet --exec /usr/sbin/smbd -- ${smbd_start_options}" +smbd_stop="start-stop-daemon --stop --quiet --pidfile /var/run/samba/smbd.pid" +smbd_reload="killall -HUP smbd" + +nmbd_start_options="-D" +nmbd_start="start-stop-daemon --start --quiet --exec /usr/sbin/nmbd -- ${nmbd_start_options}" +nmbd_stop="start-stop-daemon --stop --quiet --pidfile /var/run/samba/nmbd.pid" +nmbd_reload="killall -HUP nmbd" + +winbind_start_options="" +winbind_start="start-stop-daemon --start --quiet --exec /usr/sbin/winbindd -- ${winbind_start_options}" +winbind_stop="start-stop-daemon --stop --quiet --oknodo --exec /usr/sbin/winbindd" +winbind_reload="killall -HUP winbindd" + diff --git a/net-fs/samba/files/samba-init b/net-fs/samba/files/samba-init new file mode 100644 index 000000000000..d1f17b882c00 --- /dev/null +++ b/net-fs/samba/files/samba-init @@ -0,0 +1,50 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/files/samba-init,v 1.13 2007/04/09 08:17:46 dev-zero Exp $ + +opts="reload" + +depend() { + after slapd + need net + use cupsd +} + +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} + 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 +} diff --git a/net-fs/samba/samba-3.0.24-r1.ebuild b/net-fs/samba/samba-3.0.24-r1.ebuild new file mode 100644 index 000000000000..f23ecef4325d --- /dev/null +++ b/net-fs/samba/samba-3.0.24-r1.ebuild @@ -0,0 +1,299 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/samba/samba-3.0.24-r1.ebuild,v 1.1 2007/04/09 08:17:46 dev-zero Exp $ + +WANT_AUTOCONF="latest" +WANT_AUTOMAKE="none" + +inherit eutils autotools versionator pam + +IUSE_LINGUAS="ja pl" +IUSE="acl async automount caps cups doc examples kerberos kernel_linux ldap fam + linguas_ja linguas_pl + oav pam python quotas readline selinux swat syslog winbind" + +VSCAN_VER="0.3.6b" +PATCH_VER="0.3.16" +MY_P=${PN}-${PV/_/} +MY_PP=${PN}-$(get_major_version)-gentoo-${PATCH_VER} +S2=${WORKDIR}/${MY_P} +S=${S2}/source +PFVSCAN=${PN}-vscan-${VSCAN_VER} + +DESCRIPTION="SAMBA is a suite of SMB and CIFS client/server programs for UNIX" +HOMEPAGE="http://www.samba.org/ http://www.openantivirus.org/projects.php" +SRC_URI="mirror://gentoo/${MY_PP}.tar.bz2 + mirror://samba/${MY_P}.tar.gz + mirror://samba/old-versions/${MY_P}.tar.gz + oav? ( mirror://sourceforge/openantivirus/${PFVSCAN}.tar.bz2 )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" + +RDEPEND="dev-libs/popt + virtual/libiconv + acl? ( kernel_linux? ( sys-apps/acl ) ) + cups? ( net-print/cups ) + ldap? ( kerberos? ( virtual/krb5 ) 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}" + +PRIVATE_DST=/var/lib/samba/private +PATCHDIR=${WORKDIR}/patches +CONFDIR=${WORKDIR}/configs + +src_unpack() { + unpack ${A} + cd "${S2}" + + export EPATCH_SUFFIX="patch" + epatch ${PATCHDIR}/general + if use oav ; then + cd ${WORKDIR} + if [[ -d ${PATCHDIR}/vscan ]] ; then + epatch ${PATCHDIR}/vscan + fi + cp -pPR ${WORKDIR}/${PFVSCAN} ${S2}/examples/VFS + fi + + # patches screw with autotool files + cd "${S}" + eautoconf +} + +src_compile() { + 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 kerberos ads)" + use winbind && mymod_shared="${mymod_shared},idmap_ad" + fi + + [[ ${CHOST} == *-*bsd* ]] && myconf="${myconf} --disable-pie" + use hppa && myconf="${myconf} --disable-pie" + + use fam && export ac_cv_header_fam_h=yes || export ac_cv_header_fam_h=no + use caps && export ac_cv_header_sys_capability_h=yes || export ac_cv_header_sys_capability_h=no + + 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 \ + $(use_with acl acl-support) \ + $(use_with async aio-support) \ + $(use_with automount) \ + $(use_enable cups) \ + $(use_with kerberos krb5) \ + $(use_with ldap) \ + $(use_with pam) $(use_with pam pam_smbpass) \ + $(use_with python) \ + $(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 + + emake proto || die "SAMBA make proto error" + emake everything || die "SAMBA make everything error" + + emake rpctorture >& rpctorture.log || ewarn "rpctorture didn't build [that's ok!]" + + if use python ; then + python python/setup.py build + fi + + # Build samba-vscan plugins + if use oav ; then + cd ${S2}/examples/VFS/${PFVSCAN} + econf \ + --with-fhs \ + --libdir=/usr/$(get_libdir)/samba \ + || die "${PFVSCAN} ./configure failed" + emake || die "Failed to make ${PFVSCAN}" + fi + +} + +src_install() { + local extra_bins="rpctorture" + + emake DESTDIR="${D}" install-everything || die + + # Extra rpctorture progs + 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 "${S}"/nsswitch/libnss_wins.so || die + dosym libnss_wins.so /usr/$(get_libdir)/libnss_wins.so.2 + dolib.so "${S}"/nsswitch/libnss_winbind.so || die + dosym libnss_winbind.so /usr/$(get_libdir)/libnss_winbind.so.2 + fi + + if use pam ; then + exeinto /$(get_libdir)/security + doexe "${S}"/bin/pam_smbpass.so || die + if use winbind ; then + exeinto /$(get_libdir)/security + doexe "${S}"/bin/pam_winbind.so || die + fi + fi + + if use kernel_linux ; then + # mount backend + dodir /sbin + dosym ../usr/bin/smbmount /sbin/mount.smbfs + dosym ../usr/bin/mount.cifs /sbin/mount.cifs + 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 + + # VFS plugin modules + if use oav ; then + cd ${S2}/examples/VFS/${PFVSCAN} + make install DESTDIR=${D} || die "VFS: vscan error" + insinto /etc/samba + doins ${S2}/examples/VFS/${PFVSCAN}/openantivirus/*conf + fi + + # Python extensions + if use python ; then + cd ${S} + python python/setup.py install --root=${D} || die + fi + + # General config files + insinto /etc/samba + doins ${CONFDIR}/smbusers + newins ${CONFDIR}/smb.conf.example-samba3 smb.conf.example + doins ${CONFDIR}/lmhosts + + 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 ${S2}/examples/LDAP/samba.schema + 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 ${S2}/{COPYING,Manifest,README,Roadmap,WHATSNEW.txt} + dodoc ${CONFDIR}/nsswitch.conf-wins + use winbind && dodoc ${CONFDIR}/nsswitch.conf-winbind + + if use oav ; then + docinto ${PFVSCAN} + cd ${WORKDIR}/${PFVSCAN} + dodoc AUTHORS COPYING ChangeLog FAQ INSTALL NEWS README TODO + dodoc */*.conf + fi + + if use examples ; then + docinto examples + cp -pPR ${S2}/examples/* "${D}"/usr/share/doc/${PF}/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 + + # Patch ChangeLog + docinto gentoo + dodoc ${PATCHDIR}/ChangeLog +} + +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 + einfo "Latest info: README.gentoo in documentation directory" +} + +pkg_postrm(){ + # 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/lib/${PN}/en.msg ]] && \ + rm -rf "${ROOT}"/usr/share/doc/${PF} +} |