diff options
Diffstat (limited to 'net-fs/cifs-utils/cifs-utils-6.6.ebuild')
-rw-r--r-- | net-fs/cifs-utils/cifs-utils-6.6.ebuild | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/net-fs/cifs-utils/cifs-utils-6.6.ebuild b/net-fs/cifs-utils/cifs-utils-6.6.ebuild new file mode 100644 index 000000000000..02edf08db2f5 --- /dev/null +++ b/net-fs/cifs-utils/cifs-utils-6.6.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit eutils linux-info multilib + +DESCRIPTION="Tools for Managing Linux CIFS Client Filesystems" +HOMEPAGE="http://wiki.samba.org/index.php/LinuxCIFS_utils" +SRC_URI="https://ftp.samba.org/pub/linux-cifs/${PN}/${P}.tar.bz2" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~arm-linux ~x86-linux" +IUSE="+acl +ads +caps +caps-ng creds" + +DEPEND="!net-fs/mount-cifs + !<net-fs/samba-3.6_rc1 + ads? ( + sys-apps/keyutils + sys-libs/talloc + virtual/krb5 + ) + caps? ( !caps-ng? ( sys-libs/libcap ) ) + caps? ( caps-ng? ( sys-libs/libcap-ng ) ) + creds? ( sys-apps/keyutils )" +PDEPEND="${DEPEND} + acl? ( || ( + =net-fs/samba-3.6*[winbind] + >=net-fs/samba-4.0.0_alpha1 + ) ) +" + +REQUIRED_USE="acl? ( ads )" + +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) +} + +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 +} |