Merge pull request #1307 from glevand/for-merge-fuse

coreos-overlay: Remove unused sys-fs/fuse package
This commit is contained in:
Geoff Levand 2015-06-24 14:25:15 -07:00
commit e241bd892d
15 changed files with 57 additions and 318 deletions

View File

@ -0,0 +1,53 @@
From aa50490f8dcb3111f49035bd8ed85bf47f304f31 Mon Sep 17 00:00:00 2001
From: Michael Marineau <mike@marineau.org>
Date: Sun, 30 Mar 2014 20:28:05 -0700
Subject: [PATCH 1/3] configure: Add options for fuse and hgfs
---
configure.ac | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/configure.ac b/configure.ac
index 549736f..4964364 100644
--- a/configure.ac
+++ b/configure.ac
@@ -355,6 +355,13 @@ fi
#
# Check for fuse.
#
+AC_ARG_WITH([fuse],
+ [AS_HELP_STRING([--without-fuse],
+ [compiles without fuse support.])],
+ [],
+ [with_fuse=yes])
+
+if test "$with_fuse" = "yes"; then
AC_VMW_CHECK_LIB([fuse],
[FUSE],
[fuse],
@@ -365,6 +372,7 @@ AC_VMW_CHECK_LIB([fuse],
[have_fuse=yes],
[have_fuse=no;
AC_MSG_WARN([Fuse is missing, vmblock-fuse will be disabled.])])
+fi
#
# Check for PAM.
@@ -1013,6 +1021,14 @@ if test "$os" = "solaris"; then
fi
fi
+if test "$buildHgfsmounter" = "yes"; then
+ AC_ARG_ENABLE([hgfs-mounter],
+ [AS_HELP_STRING([--disable-hgfs-mounter],
+ [disables mount.vmhgfs])],
+ [buildHgfsmounter="$enableval"],
+ [])
+fi
+
AM_CONDITIONAL(BUILD_HGFSMOUNTER, test "$buildHgfsmounter" = "yes")
AM_CONDITIONAL(LINUX, test "$os" = "linux")
AM_CONDITIONAL(SOLARIS, test "$os" = "solaris")
--
2.0.4

View File

@ -35,6 +35,10 @@ RDEPEND="dnet? ( dev-libs/libdnet )
S="${WORKDIR}/${PN}"
PATCHES=(
"${FILESDIR}/${P}-0001-configure-Add-options-for-fuse-and-hgfs.patch"
)
#pkg_setup() {
# enewgroup vmware
#}

View File

@ -44,9 +44,7 @@ RDEPEND="
sys-apps/which
sys-devel/gcc
sys-devel/gdb
sys-fs/fuse
sys-fs/lvm2
sys-fs/sshfs-fuse
sys-process/ktop
sys-process/procps
sys-process/psmisc

View File

@ -78,7 +78,6 @@ RDEPEND="${RDEPEND}
sys-apps/systemd
!sys-apps/nih-dbus-tool
=sys-devel/automake-1.10*
sys-fs/sshfs-fuse
sys-libs/libnih
sys-libs/nss-usrfiles
sys-power/iasl
@ -116,7 +115,6 @@ RDEPEND="${RDEPEND}
# Host dependencies that are needed to create and sign images
# TODO: sys-apps/mosys
RDEPEND="${RDEPEND}
sys-fs/libfat
sys-fs/squashfs-tools
"

View File

@ -1,12 +0,0 @@
DEFINED_PHASES=configure install prepare setup
DESCRIPTION=An interface for filesystems implemented in userspace.
EAPI=3
HOMEPAGE=http://fuse.sourceforge.net
IUSE=kernel_linux kernel_FreeBSD
KEYWORDS=alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd
LICENSE=GPL-2
PDEPEND=kernel_FreeBSD? ( sys-fs/fuse4bsd )
SLOT=0
SRC_URI=mirror://sourceforge/fuse/fuse-2.8.6.tar.gz
_eclasses_=eutils 9fb270e417e0e83d64ca52586c4a79de libtool 52d0e17251d04645ffaa61bfdd858944 linux-info 8cbc678e083c23e4ad546ca6509cf304 multilib 62927b3db3a589b0806255f3a002d5d3 toolchain-funcs 42408102d713fbad60ca21349865edb4 versionator cd0bcdb170807e4a1984115e9d53a26f
_md5_=d183f42b5be02d89f014faa3c6a7c252

View File

@ -9,7 +9,6 @@
=dev-python/ws4py-0.2.4 ~amd64
=dev-embedded/smdk-dltool-0.20-r3 ~amd64
=sys-fs/libfat-0.3a ~amd64
=dev-cpp/gflags-2.0 ~amd64
=sys-devel/smatch-1.57-r1 ~amd64
=dev-lang/closure-compiler-bin-20120305 ~amd64

View File

@ -1 +0,0 @@
DIST fuse-2.8.6.tar.gz 505334 RMD160 df66df0256a677c50f2fc94fef6f34b2d598386c SHA1 c2c0f9fff8bfee217da200888123e5abb5b498f2 SHA256 1ec1913e38f09b2a9ec1579e1800805b5e2c747d1dce515e316dbb665ca139d6

View File

@ -1,11 +0,0 @@
diff -pur fuse-1.4.orig/util/Makefile.in fuse-1.4/util/Makefile.in
--- fuse-1.4.orig/util/Makefile.in 2005-01-02 21:09:09.000000000 +0100
+++ fuse-1.4/util/Makefile.in 2005-01-03 08:49:25.333258992 +0100
@@ -36,6 +36,7 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
ACLOCAL = @ACLOCAL@
+AM_CFLAGS=-Wl,-z,now
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@

View File

@ -1,66 +0,0 @@
diff -purN fuse-2.8.5.orig/lib/fuse.c fuse-2.8.5/lib/fuse.c
--- fuse-2.8.5.orig/lib/fuse.c 2011-07-27 12:57:39.580516283 -0700
+++ fuse-2.8.5/lib/fuse.c 2011-07-27 13:00:12.920525842 -0700
@@ -3947,11 +3947,11 @@ struct fuse *fuse_new_compat1(int fd, in
11);
}
-FUSE_SYMVER(".symver fuse_exited,__fuse_exited@");
-FUSE_SYMVER(".symver fuse_process_cmd,__fuse_process_cmd@");
-FUSE_SYMVER(".symver fuse_read_cmd,__fuse_read_cmd@");
-FUSE_SYMVER(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@");
-FUSE_SYMVER(".symver fuse_new_compat2,fuse_new@");
+FUSE_SYMVER(".symver fuse_exited,__fuse_exited@FUSE_UNVERSIONED");
+FUSE_SYMVER(".symver fuse_process_cmd,__fuse_process_cmd@FUSE_UNVERSIONED");
+FUSE_SYMVER(".symver fuse_read_cmd,__fuse_read_cmd@FUSE_UNVERSIONED");
+FUSE_SYMVER(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@FUSE_UNVERSIONED");
+FUSE_SYMVER(".symver fuse_new_compat2,fuse_new@FUSE_UNVERSIONED");
FUSE_SYMVER(".symver fuse_new_compat22,fuse_new@FUSE_2.2");
#endif /* __FreeBSD__ */
diff -purN fuse-2.8.5.orig/lib/fuse_mt.c fuse-2.8.5/lib/fuse_mt.c
--- fuse-2.8.5.orig/lib/fuse_mt.c 2011-07-27 12:57:39.580516283 -0700
+++ fuse-2.8.5/lib/fuse_mt.c 2011-07-27 13:01:08.011292778 -0700
@@ -113,4 +113,4 @@ int fuse_loop_mt(struct fuse *f)
return fuse_session_loop_mt(fuse_get_session(f));
}
-FUSE_SYMVER(".symver fuse_loop_mt_proc,__fuse_loop_mt@");
+FUSE_SYMVER(".symver fuse_loop_mt_proc,__fuse_loop_mt@FUSE_UNVERSIONED");
diff -purN fuse-2.8.5.orig/lib/fuse_session.c fuse-2.8.5/lib/fuse_session.c
--- fuse-2.8.5.orig/lib/fuse_session.c 2011-07-27 12:57:39.580516283 -0700
+++ fuse-2.8.5/lib/fuse_session.c 2011-07-27 13:02:22.181708010 -0700
@@ -202,4 +202,6 @@ void fuse_chan_destroy(struct fuse_chan
#ifndef __FreeBSD__
FUSE_SYMVER(".symver fuse_chan_new_compat24,fuse_chan_new@FUSE_2.4");
+#else
+FUSE_SYMVER(".symver fuse_chan_new,fuse_chan_new@FUSE_2.4");
#endif
diff -purN fuse-2.8.5.orig/lib/fuse_versionscript fuse-2.8.5/lib/fuse_versionscript
--- fuse-2.8.5.orig/lib/fuse_versionscript 2011-07-27 12:57:39.580516283 -0700
+++ fuse-2.8.5/lib/fuse_versionscript 2011-07-27 13:05:21.620513909 -0700
@@ -1,3 +1,6 @@
+FUSE_UNVERSIONED {
+};
+
FUSE_2.2 {
global:
fuse_destroy;
diff -purN fuse-2.8.5.orig/lib/helper.c fuse-2.8.5/lib/helper.c
--- fuse-2.8.5.orig/lib/helper.c 2011-07-27 12:57:39.580516283 -0700
+++ fuse-2.8.5/lib/helper.c 2011-07-27 13:06:26.560513148 -0700
@@ -409,10 +409,10 @@ int fuse_mount_compat1(const char *mount
return fuse_mount_compat22(mountpoint, NULL);
}
-FUSE_SYMVER(".symver fuse_setup_compat2,__fuse_setup@");
+FUSE_SYMVER(".symver fuse_setup_compat2,__fuse_setup@FUSE_UNVERSIONED");
FUSE_SYMVER(".symver fuse_setup_compat22,fuse_setup@FUSE_2.2");
-FUSE_SYMVER(".symver fuse_teardown,__fuse_teardown@");
-FUSE_SYMVER(".symver fuse_main_compat2,fuse_main@");
+FUSE_SYMVER(".symver fuse_teardown,__fuse_teardown@FUSE_UNVERSIONED");
+FUSE_SYMVER(".symver fuse_main_compat2,fuse_main@FUSE_UNVERSIONED");
FUSE_SYMVER(".symver fuse_main_real_compat22,fuse_main_real@FUSE_2.2");
#endif /* __FreeBSD__ */

View File

@ -1,77 +0,0 @@
diff -rupN fuse-2.8.6/util/fusermount.c fuse-2.8.6.patched/util/fusermount.c
--- fuse-2.8.6/util/fusermount.c 2011-09-13 00:23:14.000000000 -0700
+++ fuse-2.8.6.patched/util/fusermount.c 2011-10-19 08:48:44.346535813 -0700
@@ -613,6 +613,21 @@ static int add_option(char **optsp, cons
return 0;
}
+static int add_user_option(char **mnt_optsp, const char *user)
+{
+ if (getuid() != 0) {
+ if (user == NULL)
+ user = get_user_name();
+ if (user == NULL)
+ return -1;
+
+ if (add_option(mnt_optsp, "user=", strlen(user)) == -1)
+ return -1;
+ strcat(*mnt_optsp, user);
+ }
+ return 0;
+}
+
static int get_mnt_opts(int flags, char *opts, char **mnt_optsp)
{
int i;
@@ -633,15 +648,6 @@ static int get_mnt_opts(int flags, char
l = strlen(*mnt_optsp);
if ((*mnt_optsp)[l-1] == ',')
(*mnt_optsp)[l-1] = '\0';
- if (getuid() != 0) {
- const char *user = get_user_name();
- if (user == NULL)
- return -1;
-
- if (add_option(mnt_optsp, "user=", strlen(user)) == -1)
- return -1;
- strcat(*mnt_optsp, user);
- }
return 0;
}
@@ -694,6 +700,7 @@ static int do_mount(const char *mnt, cha
char *subtype = NULL;
char *source = NULL;
char *type = NULL;
+ char *user = NULL;
int check_empty = 1;
int blkdev = 0;
@@ -707,6 +714,7 @@ static int do_mount(const char *mnt, cha
unsigned len;
const char *fsname_str = "fsname=";
const char *subtype_str = "subtype=";
+ const char *user_str = "user=";
for (len = 0; s[len]; len++) {
if (s[len] == '\\' && s[len + 1])
len++;
@@ -719,6 +727,9 @@ static int do_mount(const char *mnt, cha
} else if (begins_with(s, subtype_str)) {
if (!get_string_opt(s, len, subtype_str, &subtype))
goto err;
+ } else if (begins_with(s, user_str)) {
+ if (!get_string_opt(s, len, user_str, &user))
+ goto err;
} else if (opt_eq(s, len, "blkdev")) {
if (getuid() != 0) {
fprintf(stderr,
@@ -775,6 +786,9 @@ static int do_mount(const char *mnt, cha
res = get_mnt_opts(flags, optbuf, &mnt_opts);
if (res == -1)
goto err;
+ res = add_user_option(&mnt_opts, user);
+ if (res == -1)
+ goto err;
sprintf(d, "fd=%i,rootmode=%o,user_id=%i,group_id=%i",
fd, rootmode, getuid(), getgid());

View File

@ -1,23 +0,0 @@
#!/sbin/runscript
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
depend() {
need localmount
}
start() {
ebegin "Starting fuse"
if ! kldstat -q -m fuse; then
kldload fuse >/dev/null 2>&1 || eerror $? "Error loading fuse module"
fi
eend ${?}
}
stop() {
ebegin "Stopping fuse"
if kldstat -q -m fuse; then
kldunload fuse >/dev/null 2>&1 || eerror $? "Error unloading fuse module"
fi
eend ${?}
}

View File

@ -1,35 +0,0 @@
#!/sbin/runscript
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
MOUNTPOINT=/sys/fs/fuse/connections
depend() {
need localmount
}
start() {
ebegin "Starting fuse"
if ! grep -qw fuse /proc/filesystems; then
modprobe fuse >/dev/null 2>&1 || eerror $? "Error loading fuse module"
fi
if grep -qw fusectl /proc/filesystems && \
! grep -qw $MOUNTPOINT /proc/mounts; then
mount -t fusectl none $MOUNTPOINT >/dev/null 2>&1 || \
eerror $? "Error mounting control filesystem"
fi
eend ${?}
}
stop() {
ebegin "Stopping fuse"
if grep -qw $MOUNTPOINT /proc/mounts; then
umount $MOUNTPOINT >/dev/null 2>&1 || \
eerror $? "Error unmounting control filesystem"
fi
eend ${?}
}

View File

@ -1,88 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-fs/fuse/fuse-2.8.5.ebuild,v 1.11 2011/07/26 00:09:54 zmedico Exp $
EAPI=3
inherit eutils libtool linux-info
MY_P=${P/_/-}
DESCRIPTION="An interface for filesystems implemented in userspace."
HOMEPAGE="http://fuse.sourceforge.net"
SRC_URI="mirror://sourceforge/fuse/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
IUSE="kernel_linux kernel_FreeBSD"
S=${WORKDIR}/${MY_P}
PDEPEND="kernel_FreeBSD? ( sys-fs/fuse4bsd )"
pkg_setup() {
if use kernel_linux ; then
if kernel_is lt 2 6 9; then
die "Your kernel is too old."
fi
CONFIG_CHECK="~FUSE_FS"
FUSE_FS_WARNING="You need to have FUSE module built to use user-mode utils"
linux-info_pkg_setup
fi
}
src_prepare() {
epatch "${FILESDIR}"/fuse-2.8.5-fix-lazy-binding.patch
epatch "${FILESDIR}"/fuse-2.8.5-gold.patch
# This patch changes fusermount to avoid calling getpwuid(3)
# if '-o user=<username>' is provided in the command line.
# This prevents glibc's implementation of getpwuid from invoking
# socket/connect syscalls, which allows Chromium OS daemons to
# put more restrictive seccomp filters on fusermount.
epatch "${FILESDIR}"/fuse-2.8.6-user-option.patch
elibtoolize
}
src_configure() {
econf \
INIT_D_PATH="${EPREFIX}/etc/init.d" \
MOUNT_FUSE_PATH="${EPREFIX}/sbin" \
UDEV_RULES_PATH="${EPREFIX}/lib/udev/rules.d" \
--disable-example \
--disable-mtab
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
dodoc AUTHORS ChangeLog Filesystems README \
README.NFS NEWS doc/how-fuse-works \
doc/kernel.txt FAQ
docinto example
dodoc example/*
if use kernel_linux ; then
newinitd "${FILESDIR}"/fuse.init fuse
elif use kernel_FreeBSD ; then
insinto /usr/include/fuse
doins include/fuse_kernel.h
newinitd "${FILESDIR}"/fuse-fbsd.init fuse
else
die "We don't know what init code install for your kernel, please file a bug."
fi
rm -rf "${D}/dev"
# user_allow_other is enabled to allow Chromium OS to run FUSE-based
# file system daemons as a non-root and non-chronos user, while
# allowing chronos to access the mount file systems.
dodir /etc
cat >"${ED}"/etc/fuse.conf <<-EOF
# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
#mount_max = 1000
# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
user_allow_other
EOF
}