fuse is a dependency of ntfs-3g read and so it is needed in the core system.
Arne
Am 2021-01-13 15:59, schrieb Adolf Belka:
- Convert the fuse package from core to addon
- Modify lfs to include package version number
- Create initscript that loads the fuse module when fuse is
installed/started and unloads the module when fuse is uninstalled/stopped
- Create install/uninstall/update scripts for fuse
- Move the rootfile from common to packages
- Update the rootfile
- Split meson/ninja build statements into individual steps
Signed-off-by: Adolf Belka ahb.ipfire@gmail.com
config/rootfiles/common/fuse | 38 ------------------ config/rootfiles/packages/fuse | 21 ++++++++++ lfs/fuse | 25 ++++++++++-- src/initscripts/packages/fuse | 70 ++++++++++++++++++++++++++++++++++ src/paks/fuse/install.sh | 27 +++++++++++++ src/paks/fuse/uninstall.sh | 27 +++++++++++++ src/paks/fuse/update.sh | 27 +++++++++++++ 7 files changed, 194 insertions(+), 41 deletions(-) delete mode 100644 config/rootfiles/common/fuse create mode 100644 config/rootfiles/packages/fuse create mode 100644 src/initscripts/packages/fuse create mode 100644 src/paks/fuse/install.sh create mode 100644 src/paks/fuse/uninstall.sh create mode 100644 src/paks/fuse/update.sh
diff --git a/config/rootfiles/common/fuse b/config/rootfiles/common/fuse deleted file mode 100644 index bae55b321..000000000 --- a/config/rootfiles/common/fuse +++ /dev/null @@ -1,38 +0,0 @@ -#etc/rc.d/init.d/fuse3 -#lib/udev/rules.d/99-fuse3.rules -etc/udev/rules.d/99-fuse3.rules -sbin/mount.fuse3 -usr/bin/fusermount3 -#usr/local/bin/fusermount3 -#usr/local/etc -#usr/local/etc/fuse.conf -#usr/local/include/fuse3 -#usr/local/include/fuse3/cuse_lowlevel.h -#usr/local/include/fuse3/fuse.h -#usr/local/include/fuse3/fuse_common.h -#usr/local/include/fuse3/fuse_log.h -#usr/local/include/fuse3/fuse_lowlevel.h -#usr/local/include/fuse3/fuse_opt.h -#usr/local/lib/libfuse3.so -#usr/local/lib/libfuse3.so.3 -#usr/local/lib/libfuse3.so.3.10.1 -#usr/local/lib/pkgconfig -#usr/local/lib/pkgconfig/fuse3.pc -#usr/local/sbin/mount.fuse3 -#usr/local/share/man/man1/fusermount3.1 -#usr/local/share/man/man8/mount.fuse3.8 -#etc/fuse.conf -#usr/include/fuse3 -#usr/include/fuse3/cuse_lowlevel.h -#usr/include/fuse3/fuse.h -#usr/include/fuse3/fuse_common.h -#usr/include/fuse3/fuse_log.h -#usr/include/fuse3/fuse_lowlevel.h -#usr/include/fuse3/fuse_opt.h -#usr/lib/libfuse3.so -usr/lib/libfuse3.so.3 -usr/lib/libfuse3.so.3.10.1 -#usr/lib/pkgconfig/fuse3.pc -#usr/sbin/mount.fuse3 -#usr/share/man/man1/fusermount3.1 -#usr/share/man/man8/mount.fuse3.8 diff --git a/config/rootfiles/packages/fuse b/config/rootfiles/packages/fuse new file mode 100644 index 000000000..917520bdf --- /dev/null +++ b/config/rootfiles/packages/fuse @@ -0,0 +1,21 @@ +#etc/fuse.conf +etc/rc.d/init.d/fuse +etc/rc.d/rc0.d/K35fuse +etc/rc.d/rc3.d/S65fuse +etc/rc.d/rc6.d/K35fuse +etc/udev/rules.d/99-fuse3.rules +sbin/mount.fuse3 +usr/bin/fusermount3 +#usr/include/fuse3 +#usr/include/fuse3/cuse_lowlevel.h +#usr/include/fuse3/fuse.h +#usr/include/fuse3/fuse_common.h +#usr/include/fuse3/fuse_log.h +#usr/include/fuse3/fuse_lowlevel.h +#usr/include/fuse3/fuse_opt.h +#usr/lib/libfuse3.so +usr/lib/libfuse3.so.3 +usr/lib/libfuse3.so.3.10.1 +#usr/lib/pkgconfig/fuse3.pc +#usr/share/man/man1/fusermount3.1 +#usr/share/man/man8/mount.fuse3.8 diff --git a/lfs/fuse b/lfs/fuse index 167612f68..c976bb4cd 100644 --- a/lfs/fuse +++ b/lfs/fuse @@ -31,6 +31,10 @@ DL_FILE = $(THISAPP).tar.xz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) +PROG = fuse +PAK_VER = 1
+DEPS =
############################################################################### # Top-level Rules @@ -73,13 +77,28 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && meson --prefix=/usr builddir && cd builddir &&
ninja && ninja install
- cd $(DIR_APP) && meson --prefix=/usr builddir/
- cd $(DIR_APP) && ninja -C builddir/
- cd $(DIR_APP) && ninja -C builddir/ install
- # Move mount.fuse3 to same location as mount.fuse was in previous
version
- # Move mount.fuse3 to same location as mount.fuse was previously mv -v /usr/sbin/mount.fuse3 /sbin
- # Move 99-fuse3 rules to same udev location as in previous version of
fuse
# Move 99-fuse3 rules to same udev location as previously mv -v /lib/udev/rules.d/99-fuse3.rules /etc/udev/rules.d
# Remove initscript installed from source code as it loads the module
but
- # also defines and sets up the mount points that will be used by
fuse.
- rm /etc/init.d/fuse3
- # Module loading extracted from source code initscript and made into
an IPFire initscript
- #install initscripts
- $(call INSTALL_INITSCRIPT,fuse)
- # create startlinks
- ln -sf ../init.d/fuse /etc/rc.d/rc0.d/K35fuse
- ln -sf ../init.d/fuse /etc/rc.d/rc3.d/S65fuse
- ln -sf ../init.d/fuse /etc/rc.d/rc6.d/K35fuse
- @rm -rf $(DIR_APP) @$(POSTBUILD)
diff --git a/src/initscripts/packages/fuse b/src/initscripts/packages/fuse new file mode 100644 index 000000000..7127e1f87 --- /dev/null +++ b/src/initscripts/packages/fuse @@ -0,0 +1,70 @@ +#!/bin/sh +######################################################################## +# Begin $rc_base/init.d/fuse +# +# Description : Load and unload the fuse3 module +# +# Authors : Adolf Belka +# +# Version : 01.00 +# +# Notes : +# +########################################################################
+. /etc/sysconfig/rc +. ${rc_functions}
+case "${1}" in
- start)
boot_mesg "Loading fuse module."
if ! grep -qw fuse /proc/filesystems; then
echo -n "Loading fuse module"
if ! modprobe fuse >/dev/null 2>&1; then
echo " failed!"
exit 1
else
echo "."
fi
else
echo "fuse filesystem already available."
fi
;;
- stop)
boot_mesg "Unloading fuse module."
if grep -qw "^fuse" /proc/modules; then
echo -n "Unloading fuse module"
if ! rmmod fuse >/dev/null 2>&1; then
echo " failed!"
else
echo "."
fi
else
echo "fuse module not loaded."
fi
;;
- restart)
${0} stop
sleep 1
${0} start
;;
- status)
echo -n "Checking if fuse module loaded."
if ! grep -qw fuse /proc/filesystems; then
echo " fuse module not loaded."
exit 3
else
echo " ok."
fi
;;
- *)
echo "Usage: ${0} {start|stop|restart|status}"
exit 1
;;
+esac
+# End $rc_base/init.d/fuse diff --git a/src/paks/fuse/install.sh b/src/paks/fuse/install.sh new file mode 100644 index 000000000..e6a5af92b --- /dev/null +++ b/src/paks/fuse/install.sh @@ -0,0 +1,27 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire 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 of the License, or # +# (at your option) any later version. # +# # +# IPFire 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 IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +extract_files
+start_service --background ${NAME} diff --git a/src/paks/fuse/uninstall.sh b/src/paks/fuse/uninstall.sh new file mode 100644 index 000000000..dc37ea5b1 --- /dev/null +++ b/src/paks/fuse/uninstall.sh @@ -0,0 +1,27 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire 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 of the License, or # +# (at your option) any later version. # +# # +# IPFire 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 IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +stop_service ${NAME}
+remove_files diff --git a/src/paks/fuse/update.sh b/src/paks/fuse/update.sh new file mode 100644 index 000000000..99776659c --- /dev/null +++ b/src/paks/fuse/update.sh @@ -0,0 +1,27 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire 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 of the License, or # +# (at your option) any later version. # +# # +# IPFire 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 IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007-2020 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +extract_backup_includes +./uninstall.sh +./install.sh