--- /dev/null
+boot/grub/grubenv
+etc/default/grub-btrfs
+etc/default/grub-btrfs/config
+etc/grub.d/41_snapshots-btrfs
+usr/bin/grub-btrfsd
+#usr/lib/systemd/system/grub-btrfsd.service
+#usr/share/doc/grub-btrfs
+#usr/share/doc/grub-btrfs/README.md
+#usr/share/doc/grub-btrfs/initramfs-overlayfs.md
+#usr/share/licenses
+#usr/share/licenses/grub-btrfs
+#usr/share/licenses/grub-btrfs/LICENSE
+#usr/share/man/man8/grub-btrfs.8.bz2
+#usr/share/man/man8/grub-btrfsd.8.bz2
etc/rc.d/init.d/firstsetup
etc/rc.d/init.d/fsresize
etc/rc.d/init.d/functions
+etc/rc.d/init.d/grub-btrfsd
etc/rc.d/init.d/halt
etc/rc.d/init.d/ipsec
etc/rc.d/init.d/leds
etc/rc.d/init.d/waitdrives
etc/rc.d/init.d/wlanclient
#etc/rc.d/rc0.d
+etc/rc.d/rc0.d/K01grub-btrfsd
#etc/rc.d/rc0.d/K01imspetor
#etc/rc.d/rc0.d/K01motion
#etc/rc.d/rc0.d/K01vdradmin
etc/rc.d/rc3.d/S40fcron
etc/rc.d/rc3.d/S98rc.local
#etc/rc.d/rc3.d/S98sslh
+etc/rc.d/rc3.d/S99grub-btrfsd
#etc/rc.d/rc3.d/S99imspetor
#etc/rc.d/rc3.d/S99motion
#etc/rc.d/rc3.d/S99vdradmin
#etc/rc.d/rc6.d
+etc/rc.d/rc6.d/K01grub-btrfsd
#etc/rc.d/rc6.d/K01imspetor
#etc/rc.d/rc6.d/K01motion
#etc/rc.d/rc6.d/K01vdradmin
--- /dev/null
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
+# #
+# 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 3 of the License, 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 this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 4.13
+
+THISAPP = grub-btrfs-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = e2f11a0a8282e3ec8ff8223e3bad70b5d5c5e81b4d740a1bf3554db412dbe48a8a0f216f4e6c65ae1d11c01a27b8b92bae9b470c60d2389505ce089511536e1a
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+ $(UPDATE_AUTOMAKE)
+ cd $(DIR_APP) && make install
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
install -v -m 755 $$i /etc/rc.d/helper/; \
done
+ ln -sf ../init.d/grub-btrfsd /etc/rc.d/rc0.d/K01grub-btrfsd
ln -sf ../init.d/imspetor /etc/rc.d/rc0.d/K01imspetor
ln -sf ../init.d/motion /etc/rc.d/rc0.d/K01motion
ln -sf ../init.d/vdradmin /etc/rc.d/rc0.d/K01vdradmin
ln -sf ../init.d/fcron /etc/rc.d/rc3.d/S40fcron
ln -sf ../../sysconfig/rc.local /etc/rc.d/rc3.d/S98rc.local
ln -sf ../init.d/sslh /etc/rc.d/rc3.d/S98sslh
+ ln -sf ../init.d/grub-btrfsd /etc/rc.d/rc3.d/S99grub-btrfsd
ln -sf ../init.d/imspetor /etc/rc.d/rc3.d/S99imspetor
ln -sf ../init.d/motion /etc/rc.d/rc3.d/S99motion
ln -sf ../init.d/vdradmin /etc/rc.d/rc3.d/S99vdradmin
+ ln -sf ../init.d/grub-btrfsd /etc/rc.d/rc6.d/K01grub-btrfsd
ln -sf ../init.d/imspetor /etc/rc.d/rc6.d/K01imspetor
ln -sf ../init.d/motion /etc/rc.d/rc6.d/K01motion
ln -sf ../init.d/vdradmin /etc/rc.d/rc6.d/K01vdradmin
lfsmake2 mympd
lfsmake2 btrfs-progs
lfsmake2 inotify-tools
+ lfsmake2 grub-btrfs
# Kernelbuild ... current we have no platform that need
# multi kernel builds so KCFG is empty
--- /dev/null
+#!/bin/sh
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2024 IPFire Team <info@ipfire.org> #
+# #
+# 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 3 of the License, 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 this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+. /etc/sysconfig/rc
+. ${rc_functions}
+
+SNAPSHOTDIR="/.snapshots"
+PIDFILE="/run/grub-btrfsd.pid"
+
+root_is_btrfs() {
+ [ "$(stat -f --format="%T" /)" == "btrfs" ] || return 1
+
+ return 0
+}
+
+case "$1" in
+ start)
+ root_is_btrfs || exit 0
+
+ boot_mesg "Starting grub-btrfsd..."
+ loadproc -b -p "$PIDFILE" /usr/bin/grub-btrfsd --syslog "$SNAPSHOTDIR"
+
+ # Store the gained PID to the defined pidfile
+ echo "$!" > "$PIDFILE"
+ ;;
+
+ stop)
+ boot_mesg "Stopping grub-btrfsd..."
+ killproc -p "$PIDFILE" /usr/bin/grub-btrfsd
+ sleep 1;
+ ;;
+
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+ ;;
+esac