| # Copyright 1999-2015 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.15 2015/02/20 13:08:25 armin76 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="*" |
| 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_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) |
| } |
| |
| 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 |
| } |