# 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.1-r1.ebuild,v 1.1 2013/09/21 15:52:37 pacho 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-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_prepare() { # Do not rely on hardcoded path to systemd-ask-password, bug #478538 epatch "${FILESDIR}/${P}-hardcoded-path.patch" } 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 }