diff options
Diffstat (limited to 'net-fs/cifs-utils/cifs-utils-6.2.ebuild')
-rw-r--r-- | net-fs/cifs-utils/cifs-utils-6.2.ebuild | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/net-fs/cifs-utils/cifs-utils-6.2.ebuild b/net-fs/cifs-utils/cifs-utils-6.2.ebuild new file mode 100644 index 000000000000..3853bedbbd54 --- /dev/null +++ b/net-fs/cifs-utils/cifs-utils-6.2.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-fs/cifs-utils/cifs-utils-6.2.ebuild,v 1.1 2013/10/07 07:59:09 polynomial-c Exp $ + +EAPI=5 + +inherit eutils linux-info multilib + +DESCRIPTION="Tools for Managing Linux CIFS Client Filesystems" +HOMEPAGE="http://wiki.samba.org/index.php/LinuxCIFS_utils" +SRC_URI="ftp://ftp.samba.org/pub/linux-cifs/${PN}/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~x86 ~arm-linux ~x86-linux" +IUSE="acl ads +caps +caps-ng creds upcall" + +DEPEND="!net-fs/mount-cifs + !<net-fs/samba-3.6_rc1 + acl? ( || ( + =net-fs/samba-3.6*[winbind] + >=net-fs/samba-4.0.0_alpha1 + ) ) + ads? ( + sys-libs/talloc + virtual/krb5 + sys-apps/keyutils + ) + caps? ( !caps-ng? ( sys-libs/libcap ) ) + caps? ( caps-ng? ( sys-libs/libcap-ng ) ) + creds? ( sys-apps/keyutils ) + upcall? ( + sys-apps/keyutils + sys-libs/talloc + virtual/krb5 + )" +RDEPEND="${DEPEND}" + +REQUIRED_USE="acl? ( upcall )" + +DOCS="doc/linux-cifs-client-guide.odt" + +pkg_setup() { + linux-info_pkg_setup + + if ! linux_config_exists || ! linux_chkconfig_present CIFS; then + ewarn "You must enable CIFS support in your kernel config, " + ewarn "to be able to mount samba shares. You can find it at" + ewarn + ewarn " File systems" + ewarn " Network File Systems" + ewarn " CIFS support" + ewarn + ewarn "and recompile your kernel ..." + fi +} + +src_configure() { + ROOTSBINDIR="${EPREFIX}"/sbin \ + econf \ + $(use_enable acl cifsacl cifsidmap) \ + $(use_enable ads cifsupcall) \ + $(use caps && use_with !caps-ng libcap || echo --without-libcap) \ + $(use caps && use_with caps-ng libcap-ng || echo --without-libcap-ng) \ + $(use_enable creds cifscreds) \ + $(use_enable upcall cifsupcall) +} + +src_install() { + default + + # remove empty directories + find "${ED}" -type d -print0 | xargs --null rmdir \ + --ignore-fail-on-non-empty &>/dev/null + + if use acl ; then + dodir /etc/cifs-utils + dosym /usr/$(get_libdir)/cifs-utils/idmapwb.so \ + /etc/cifs-utils/idmap-plugin + dodir /etc/request-key.d + echo 'create cifs.idmap * * /usr/sbin/cifs.idmap %k' \ + > "${ED}/etc/request-key.d/cifs.idmap.conf" + fi + + if use ads ; then + dodir /etc/request-key.d + echo 'create dns_resolver * * /usr/sbin/cifs.upcall %k' \ + > "${ED}/etc/request-key.d/cifs.upcall.conf" + fi +} + +pkg_postinst() { + # Inform about set-user-ID bit of mount.cifs + ewarn "setuid use flag was dropped due to multiple security implications" + ewarn "such as CVE-2009-2948, CVE-2011-3585 and CVE-2012-1586" + ewarn "You are free to set setuid flags by yourself" + + # Inform about upcall usage + if use acl ; then + einfo "The cifs.idmap utility has been enabled by creating the" + einfo "configuration file /etc/request-key.d/cifs.idmap.conf" + einfo "This enables you to get and set CIFS acls." + fi + + if use ads ; then + einfo "The cifs.upcall utility has been enabled by creating the" + einfo "configuration file /etc/request-key.d/cifs.upcall.conf" + einfo "This enables you to mount DFS shares." + fi +} |