diff --git a/packages/sysutils/fuse/build b/packages/sysutils/fuse/build new file mode 100755 index 0000000000..fce5a85a99 --- /dev/null +++ b/packages/sysutils/fuse/build @@ -0,0 +1,40 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +cd $PKG_BUILD +./configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr \ + --enable-shared \ + --disable-static \ + --with-libiconv-prefix="$SYSROOT_PREFIX/usr" \ + --enable-lib \ + --enable-util \ + --disable-example \ + --enable-mtab \ + --disable-rpath \ + --with-gnu-ld \ + +make +$MAKEINSTALL diff --git a/packages/sysutils/fuse/config/fuse.conf b/packages/sysutils/fuse/config/fuse.conf new file mode 100644 index 0000000000..cd4c6bdaf3 --- /dev/null +++ b/packages/sysutils/fuse/config/fuse.conf @@ -0,0 +1,2 @@ +# mount_max = 1000 +# user_allow_other diff --git a/packages/sysutils/fuse/init.d/15_fuse b/packages/sysutils/fuse/init.d/15_fuse new file mode 100644 index 0000000000..e03f43fa6f --- /dev/null +++ b/packages/sysutils/fuse/init.d/15_fuse @@ -0,0 +1,26 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ +# +# mounting fuse filesystem +# +# runlevels: openelec, textmode + +progress "Starting Fuse" + mount -t fusectl fusectl /sys/fs/fuse/connections >/dev/null 2>&1 \ No newline at end of file diff --git a/packages/sysutils/fuse/install b/packages/sysutils/fuse/install new file mode 100755 index 0000000000..6686442ffe --- /dev/null +++ b/packages/sysutils/fuse/install @@ -0,0 +1,40 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +mkdir -p $INSTALL/etc + cp $PKG_DIR/config/fuse.conf $INSTALL/etc + +mkdir -p $INSTALL/lib/udev/rules.d + cp $PKG_BUILD/util/udev.rules $INSTALL/lib/udev/rules.d/99-fuse.rules + +mkdir -p $INSTALL/sbin + cp $PKG_BUILD/util/mount.fuse $INSTALL/sbin + +mkdir -p $INSTALL/bin + cp $PKG_BUILD/util/fusermount $INSTALL/bin + cp $PKG_BUILD/util/ulockmgr_server $INSTALL/bin + +mkdir -p $INSTALL/lib + cp -P $PKG_BUILD/lib/.libs/*.so* $INSTALL/lib + diff --git a/packages/sysutils/fuse/meta b/packages/sysutils/fuse/meta new file mode 100644 index 0000000000..fcc16af4c0 --- /dev/null +++ b/packages/sysutils/fuse/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="fuse" +PKG_VERSION="2.9.0" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://sourceforge.net/projects/fuse/" +PKG_URL="$SOURCEFORGE_SRC/fuse/fuse-2.X/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS="$ICONV" +PKG_BUILD_DEPENDS="toolchain $ICONV" +PKG_PRIORITY="optional" +PKG_SECTION="system" +PKG_SHORTDESC="fuse: A simple user-space filesystem interface for Linux" +PKG_LONGDESC="FUSE provides a simple interface for userspace programs to export a virtual filesystem to the Linux kernel. FUSE also aims to provide a secure method for non privileged users to create and mount their own filesystem implementations." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="yes" diff --git a/packages/sysutils/fuse/patches/fuse-2.9.0-001-Fix-udev-rules-Fedora-specific.patch b/packages/sysutils/fuse/patches/fuse-2.9.0-001-Fix-udev-rules-Fedora-specific.patch new file mode 100644 index 0000000000..d4bb54481c --- /dev/null +++ b/packages/sysutils/fuse/patches/fuse-2.9.0-001-Fix-udev-rules-Fedora-specific.patch @@ -0,0 +1,20 @@ +From ba47031f3557b81e732d41593c95e7b984b54b78 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Mon, 9 Aug 2010 12:09:00 +0400 +Subject: [PATCH 1/3] Fix udev rules (Fedora-specific) + +Signed-off-by: Peter Lemenkov +--- + util/udev.rules | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/util/udev.rules b/util/udev.rules +index 9585111..bb8033f 100644 +--- a/util/udev.rules ++++ b/util/udev.rules +@@ -1 +1 @@ +-KERNEL=="fuse", MODE="0666" ++KERNEL=="fuse", MODE="0666",OWNER="root",GROUP="root" +-- +1.7.3.1 + diff --git a/packages/sysutils/fuse/patches/fuse-2.9.0-901-Fix_install_from_out-of-tree_build.patch b/packages/sysutils/fuse/patches/fuse-2.9.0-901-Fix_install_from_out-of-tree_build.patch new file mode 100644 index 0000000000..bfbf3c0169 --- /dev/null +++ b/packages/sysutils/fuse/patches/fuse-2.9.0-901-Fix_install_from_out-of-tree_build.patch @@ -0,0 +1,33 @@ +From fd4a816823133dd66de60b3a017e1f0442486d1f Mon Sep 17 00:00:00 2001 +From: Olivier Blin +Date: Mon, 2 Jul 2012 18:50:55 +0200 +Subject: [PATCH] Fix install from out-of-tree build +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +When building out-of-tree, install fails since it tries to copy +mount.fuse binary from source directory. + +Patch initially from Damien Thébault (SoftAtHome) +--- + ChangeLog | 5 +++++ + util/Makefile.am | 2 +- + 2 files changed, 6 insertions(+), 1 deletions(-) + +diff --git a/util/Makefile.am b/util/Makefile.am +index 927b98c..b036164 100644 +--- a/util/Makefile.am ++++ b/util/Makefile.am +@@ -36,7 +36,7 @@ INIT_D_PATH = @INIT_D_PATH@ + + install-exec-local: + $(mkdir_p) $(DESTDIR)$(MOUNT_FUSE_PATH) +- $(INSTALL_PROGRAM) $(srcdir)/mount.fuse $(DESTDIR)$(MOUNT_FUSE_PATH)/mount.fuse ++ $(INSTALL_PROGRAM) $(builddir)/mount.fuse $(DESTDIR)$(MOUNT_FUSE_PATH)/mount.fuse + $(mkdir_p) $(DESTDIR)$(INIT_D_PATH) + $(INSTALL_SCRIPT) $(srcdir)/init_script $(DESTDIR)$(INIT_D_PATH)/fuse + @if test -x /usr/sbin/update-rc.d; then \ +-- +1.7.4.1 + diff --git a/packages/sysutils/fuse/patches/fuse-2.9.0-902-automake.patch b/packages/sysutils/fuse/patches/fuse-2.9.0-902-automake.patch new file mode 100644 index 0000000000..6d122d715c --- /dev/null +++ b/packages/sysutils/fuse/patches/fuse-2.9.0-902-automake.patch @@ -0,0 +1,83 @@ +From a6a8bcbeefd6c9e9cf1c6c6f5e8224aff2beb51b Mon Sep 17 00:00:00 2001 +From: Olivier Blin +Date: Mon, 2 Jul 2012 18:50:56 +0200 +Subject: [PATCH] Fix build with automake >= 1.12.1 + +mkdir_p is deprecated since automake 1.12.1 (see automake commit +7a1eb9ff9027929687f12905e131f6fda3fa6d0c). + +MKDIR_P should be used instead of mkdir_p. +This is available since autoconf 2.59d (2006-06-05), by calling +AC_PROG_MKDIR_P. + +The mkdir_p workaround was not working anyway for out-of-tree builds, +since the ../mkinstalldirs path would be incorrect. +--- + ChangeLog | 2 ++ + configure.in | 8 ++------ + util/Makefile.am | 8 ++++---- + 3 files changed, 8 insertions(+), 10 deletions(-) + +diff --git a/configure.in b/configure.in +index a7448df..36171d1 100644 +--- a/configure.in ++++ b/configure.in +@@ -1,4 +1,5 @@ + AC_INIT(fuse, 2.9.0) ++AC_PREREQ(2.59d) + AC_CONFIG_MACRO_DIR([m4]) + AC_CANONICAL_TARGET + AM_INIT_AUTOMAKE +@@ -7,14 +8,9 @@ AM_CONFIG_HEADER(include/config.h) + + AC_PROG_LIBTOOL + AC_PROG_CC ++AC_PROG_MKDIR_P + AM_PROG_CC_C_O + +-# compatibility for automake < 1.8 +-if test -z "$mkdir_p"; then +- mkdir_p="../mkinstalldirs" +- AC_SUBST(mkdir_p) +-fi +- + case $target_os in + *linux*) arch=linux;; + *netbsd*) arch=netbsd;; +diff --git a/util/Makefile.am b/util/Makefile.am +index b036164..059d5fc 100644 +--- a/util/Makefile.am ++++ b/util/Makefile.am +@@ -23,7 +23,7 @@ ulockmgr_server_LDFLAGS = -pthread + install-exec-hook: + -chmod u+s $(DESTDIR)$(bindir)/fusermount + @if test ! -e $(DESTDIR)/dev/fuse; then \ +- $(mkdir_p) $(DESTDIR)/dev; \ ++ $(MKDIR_P) $(DESTDIR)/dev; \ + echo "mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229 || true"; \ + mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229 || true; \ + fi +@@ -35,9 +35,9 @@ UDEV_RULES_PATH = @UDEV_RULES_PATH@ + INIT_D_PATH = @INIT_D_PATH@ + + install-exec-local: +- $(mkdir_p) $(DESTDIR)$(MOUNT_FUSE_PATH) ++ $(MKDIR_P) $(DESTDIR)$(MOUNT_FUSE_PATH) + $(INSTALL_PROGRAM) $(builddir)/mount.fuse $(DESTDIR)$(MOUNT_FUSE_PATH)/mount.fuse +- $(mkdir_p) $(DESTDIR)$(INIT_D_PATH) ++ $(MKDIR_P) $(DESTDIR)$(INIT_D_PATH) + $(INSTALL_SCRIPT) $(srcdir)/init_script $(DESTDIR)$(INIT_D_PATH)/fuse + @if test -x /usr/sbin/update-rc.d; then \ + echo "/usr/sbin/update-rc.d fuse start 34 S . start 41 0 6 . || true"; \ +@@ -45,7 +45,7 @@ install-exec-local: + fi + + install-data-local: +- $(mkdir_p) $(DESTDIR)$(UDEV_RULES_PATH) ++ $(MKDIR_P) $(DESTDIR)$(UDEV_RULES_PATH) + $(INSTALL_DATA) $(srcdir)/udev.rules $(DESTDIR)$(UDEV_RULES_PATH)/99-fuse.rules + + uninstall-local: +-- +1.7.4.1 +