addon rsnapshot

Message ID 20230319125027.1488265-1-gerd@hoerst.net
State Superseded
Headers
Series addon rsnapshot |

Commit Message

Gerd Hoerst March 19, 2023, 12:50 p.m. UTC
  Signed-off-by: Gerd Hoerst <gerd@hoerst.net>
---
 config/rootfiles/packages/rsnapshot |  6 ++
 lfs/rsnapshot                       | 86 +++++++++++++++++++++++++++++
 make.sh                             |  1 +
 src/paks/rsnapshot/install.sh       | 27 +++++++++
 src/paks/rsnapshot/uninstall.sh     | 26 +++++++++
 src/paks/rsnapshot/update.sh        | 26 +++++++++
 6 files changed, 172 insertions(+)
 create mode 100644 config/rootfiles/packages/rsnapshot
 create mode 100644 lfs/rsnapshot
 create mode 100644 src/paks/rsnapshot/install.sh
 create mode 100644 src/paks/rsnapshot/uninstall.sh
 create mode 100644 src/paks/rsnapshot/update.sh
  

Comments

Gerd Hoerst March 19, 2023, 12:57 p.m. UTC | #1
Hi !

Sorry.. it was the wrong one (/etc/rsnapshot.conf was missing) ... here 
is the right onwe

Ciao Gerd

Am 19.03.2023 um 13:50 schrieb Gerd Hoerst:
> Signed-off-by: Gerd Hoerst <gerd@hoerst.net>
> ---
>   config/rootfiles/packages/rsnapshot |  6 ++
>   lfs/rsnapshot                       | 86 +++++++++++++++++++++++++++++
>   make.sh                             |  1 +
>   src/paks/rsnapshot/install.sh       | 27 +++++++++
>   src/paks/rsnapshot/uninstall.sh     | 26 +++++++++
>   src/paks/rsnapshot/update.sh        | 26 +++++++++
>   6 files changed, 172 insertions(+)
>   create mode 100644 config/rootfiles/packages/rsnapshot
>   create mode 100644 lfs/rsnapshot
>   create mode 100644 src/paks/rsnapshot/install.sh
>   create mode 100644 src/paks/rsnapshot/uninstall.sh
>   create mode 100644 src/paks/rsnapshot/update.sh
>
> diff --git a/config/rootfiles/packages/rsnapshot b/config/rootfiles/packages/rsnapshot
> new file mode 100644
> index 000000000..023498e2c
> --- /dev/null
> +++ b/config/rootfiles/packages/rsnapshot
> @@ -0,0 +1,6 @@
> +usr/bin/rsnapshot
> +usr/bin/rsnapshot-diff
> +etc/rsnapshot.conf
> +#etc/rsnapshot.conf.default
> +#usr/share/man/man1/rsnapshot-diff.1
> +#usr/share/man/man1/rsnapshot.1
> diff --git a/lfs/rsnapshot b/lfs/rsnapshot
> new file mode 100644
> index 000000000..0445471be
> --- /dev/null
> +++ b/lfs/rsnapshot
> @@ -0,0 +1,86 @@
> +###############################################################################
> +#                                                                             #
> +# IPFire.org - A linux based firewall                                         #
> +# Copyright (C) 2007-2020  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        = 1.4.5
> +
> +THISAPP    = rsnapshot-$(VER)
> +DL_FILE    = $(THISAPP).tar.gz
> +DL_FROM    = https://github.com/rsnapshot/rsnapshot/releases/download/1.4.5
> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
> +TARGET     = $(DIR_INFO)/$(THISAPP)
> +PROG       = rsnapshot
> +PAK_VER    = 1
> +DEPS       = "rsync"
> +###############################################################################
> +# Top-level Rules
> +###############################################################################
> +
> +objects = $(DL_FILE)
> +
> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> +
> +$(DL_FILE)_BLAKE2 = 2a668aa16991b2b4e611c6204cdcd0e8c9593e5f0af5ea89e787a578e73b6f5987514cd7d0252bb78aea1b157ef85aea947686111ca9e3befdb2a8cef0aa9ecd
> +
> +install : $(TARGET)
> +
> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
> +
> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
> +b2 : $(subst %,%_BLAKE2,$(objects))
> +
> +dist:
> +	@$(PAK)
> +###############################################################################
> +# Downloading, checking, md5sum
> +###############################################################################
> +
> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
> +	@$(CHECK)
> +
> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
> +	@$(LOAD)
> +
> +$(subst %,%_MD5,$(objects)) :
> +	@$(MD5)
> +
> +###############################################################################
> +# Installation Details
> +###############################################################################
> +
> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> +	@$(PREBUILD)
> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
> +	cd $(DIR_APP) && \
> +		./configure \
> +		--prefix=/usr \
> +		--sysconfdir=/etc \
> +		--bindir=/usr/bin \
> +
> +	cd $(DIR_APP) && make $(MAKETUNING)
> +	cd $(DIR_APP) && make install
> +	cp -avfr $(DIR_CONF)/$(PROG)/* /
> +	@rm -rf $(DIR_APP)
> +	@$(POSTBUILD)
> diff --git a/make.sh b/make.sh
> index 3b7f9850c..59d2971da 100755
> --- a/make.sh
> +++ b/make.sh
> @@ -1478,6 +1478,7 @@ buildipfire() {
>     lfsmake2 libmpeg2
>     lfsmake2 gnump3d
>     lfsmake2 rsync
> +  lfsmake2 rsnapshot
>     lfsmake2 rpcbind
>     lfsmake2 keyutils
>     lfsmake2 nfs
> diff --git a/src/paks/rsnapshot/install.sh b/src/paks/rsnapshot/install.sh
> new file mode 100644
> index 000000000..9aafb0d56
> --- /dev/null
> +++ b/src/paks/rsnapshot/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
> +restore_backup ${NAME}
> diff --git a/src/paks/rsnapshot/uninstall.sh b/src/paks/rsnapshot/uninstall.sh
> new file mode 100644
> index 000000000..66f4344eb
> --- /dev/null
> +++ b/src/paks/rsnapshot/uninstall.sh
> @@ -0,0 +1,26 @@
> +#!/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
> +make_backup ${NAME}
> +remove_files
> diff --git a/src/paks/rsnapshot/update.sh b/src/paks/rsnapshot/update.sh
> new file mode 100644
> index 000000000..89c40d0d7
> --- /dev/null
> +++ b/src/paks/rsnapshot/update.sh
> @@ -0,0 +1,26 @@
> +#!/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
> +./uninstall.sh
> +./install.sh
From 5ac7c89d0c2e739bffd1d01decab507f2301acad Mon Sep 17 00:00:00 2001
From: Gerd Hoerst <gerd@hoerst.net>
Date: Sun, 19 Mar 2023 13:54:49 +0100
Subject: [PATCH] addon rsnapshot

Signed-off-by: Gerd Hoerst <gerd@hoerst.net>
---
 config/rootfiles/packages/rsnapshot |  6 ++
 config/rsnapshot/rsnapshot.conf     | 28 ++++++++++
 lfs/rsnapshot                       | 86 +++++++++++++++++++++++++++++
 make.sh                             |  1 +
 src/paks/rsnapshot/install.sh       | 27 +++++++++
 src/paks/rsnapshot/uninstall.sh     | 26 +++++++++
 src/paks/rsnapshot/update.sh        | 26 +++++++++
 7 files changed, 200 insertions(+)
 create mode 100644 config/rootfiles/packages/rsnapshot
 create mode 100644 config/rsnapshot/rsnapshot.conf
 create mode 100644 lfs/rsnapshot
 create mode 100644 src/paks/rsnapshot/install.sh
 create mode 100644 src/paks/rsnapshot/uninstall.sh
 create mode 100644 src/paks/rsnapshot/update.sh

diff --git a/config/rootfiles/packages/rsnapshot b/config/rootfiles/packages/rsnapshot
new file mode 100644
index 000000000..023498e2c
--- /dev/null
+++ b/config/rootfiles/packages/rsnapshot
@@ -0,0 +1,6 @@
+usr/bin/rsnapshot
+usr/bin/rsnapshot-diff
+etc/rsnapshot.conf
+#etc/rsnapshot.conf.default
+#usr/share/man/man1/rsnapshot-diff.1
+#usr/share/man/man1/rsnapshot.1
diff --git a/config/rsnapshot/rsnapshot.conf b/config/rsnapshot/rsnapshot.conf
new file mode 100644
index 000000000..9cf803bc7
--- /dev/null
+++ b/config/rsnapshot/rsnapshot.conf
@@ -0,0 +1,28 @@
+# All snapshots will be stored under this root directory.
+snapshot_root   /mnt/hdd/rsnapshot/
+
+# If no_create_root is enabled, rsnapshot will not automatically create the snapshot_root directory. 
+no_create_root  1
+
+# Location of commands
+cmd_cp      /bin/cp
+cmd_rm      /bin/rm
+cmd_rsync   /usr/bin/rsync
+cmd_logger  /usr/bin/logger
+cmd_du      /usr/bin/du
+cmd_rsnapshot_diff  /usr/bin/rsnapshot-diff
+
+#  BACKUP LEVELS / INTERVALS
+retain  hourly  24          #   24 times per day
+retain  daily   7           #   7 times per week
+retain  weekly  4           #   4 times per ~month
+retain  monthly 12          #   12 times per year
+retain  yearly  2           #   retain for 2 years total
+
+#  GLOBAL OPTIONS
+verbose     2
+loglevel    2
+logfile /var/log/rsnapshot.log
+lockfile    /run/rsnapshot.pid
+link_dest   1
+sync_first  1
diff --git a/lfs/rsnapshot b/lfs/rsnapshot
new file mode 100644
index 000000000..0445471be
--- /dev/null
+++ b/lfs/rsnapshot
@@ -0,0 +1,86 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2020  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        = 1.4.5
+
+THISAPP    = rsnapshot-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = https://github.com/rsnapshot/rsnapshot/releases/download/1.4.5
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = rsnapshot
+PAK_VER    = 1
+DEPS       = "rsync"
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 2a668aa16991b2b4e611c6204cdcd0e8c9593e5f0af5ea89e787a578e73b6f5987514cd7d0252bb78aea1b157ef85aea947686111ca9e3befdb2a8cef0aa9ecd
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist: 
+	@$(PAK)
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+	@$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+	@$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+	@$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+	@$(PREBUILD)
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+	cd $(DIR_APP) && \
+		./configure \
+		--prefix=/usr \
+		--sysconfdir=/etc \
+		--bindir=/usr/bin \
+
+	cd $(DIR_APP) && make $(MAKETUNING)
+	cd $(DIR_APP) && make install
+	cp -avfr $(DIR_CONF)/$(PROG)/* /
+	@rm -rf $(DIR_APP)
+	@$(POSTBUILD)
diff --git a/make.sh b/make.sh
index 3b7f9850c..59d2971da 100755
--- a/make.sh
+++ b/make.sh
@@ -1478,6 +1478,7 @@ buildipfire() {
   lfsmake2 libmpeg2
   lfsmake2 gnump3d
   lfsmake2 rsync
+  lfsmake2 rsnapshot
   lfsmake2 rpcbind
   lfsmake2 keyutils
   lfsmake2 nfs
diff --git a/src/paks/rsnapshot/install.sh b/src/paks/rsnapshot/install.sh
new file mode 100644
index 000000000..9aafb0d56
--- /dev/null
+++ b/src/paks/rsnapshot/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 
+restore_backup ${NAME}
diff --git a/src/paks/rsnapshot/uninstall.sh b/src/paks/rsnapshot/uninstall.sh
new file mode 100644
index 000000000..66f4344eb
--- /dev/null
+++ b/src/paks/rsnapshot/uninstall.sh
@@ -0,0 +1,26 @@
+#!/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
+make_backup ${NAME}
+remove_files
diff --git a/src/paks/rsnapshot/update.sh b/src/paks/rsnapshot/update.sh
new file mode 100644
index 000000000..89c40d0d7
--- /dev/null
+++ b/src/paks/rsnapshot/update.sh
@@ -0,0 +1,26 @@
+#!/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
+./uninstall.sh
+./install.sh
  
Michael Tremer March 22, 2023, 10:01 a.m. UTC | #2
Hello Gerd,

Thank you for your submission.

I would once again like to highlight that we have collected a large number of DOs and DONTs here:

  https://wiki.ipfire.org/devel/submit-patches

That process is needed because there are technical requirements for most steps, and secondly it explains that to work together with other developers.

In this instance, this is a patch that does not at all say what this is supposed to do, what the benefits are, why we should ship this at all, etc. There is no commit message and not even the subject includes any purpose. Just the name of the package.

It is very important to justify *any* patch as explained here:

  https://wiki.ipfire.org/devel/git/commit-messages

We need to know the “why”. Arguably this could be rather short when the patch fixes a typo, but adding a new package which will create maintenance work for the whole team should be justified.

> On 19 Mar 2023, at 12:50, Gerd Hoerst <gerd@hoerst.net> wrote:
> 
> Signed-off-by: Gerd Hoerst <gerd@hoerst.net>
> ---
> config/rootfiles/packages/rsnapshot |  6 ++
> lfs/rsnapshot                       | 86 +++++++++++++++++++++++++++++
> make.sh                             |  1 +
> src/paks/rsnapshot/install.sh       | 27 +++++++++
> src/paks/rsnapshot/uninstall.sh     | 26 +++++++++
> src/paks/rsnapshot/update.sh        | 26 +++++++++
> 6 files changed, 172 insertions(+)
> create mode 100644 config/rootfiles/packages/rsnapshot
> create mode 100644 lfs/rsnapshot
> create mode 100644 src/paks/rsnapshot/install.sh
> create mode 100644 src/paks/rsnapshot/uninstall.sh
> create mode 100644 src/paks/rsnapshot/update.sh
> 
> diff --git a/config/rootfiles/packages/rsnapshot b/config/rootfiles/packages/rsnapshot
> new file mode 100644
> index 000000000..023498e2c
> --- /dev/null
> +++ b/config/rootfiles/packages/rsnapshot
> @@ -0,0 +1,6 @@
> +usr/bin/rsnapshot
> +usr/bin/rsnapshot-diff
> +etc/rsnapshot.conf
> +#etc/rsnapshot.conf.default
> +#usr/share/man/man1/rsnapshot-diff.1
> +#usr/share/man/man1/rsnapshot.1

The rootfile is not in alphabetical order. That suggests that this was not generated from a clean build. Could you please verify that it includes all files that have been created?

> diff --git a/lfs/rsnapshot b/lfs/rsnapshot
> new file mode 100644
> index 000000000..0445471be
> --- /dev/null
> +++ b/lfs/rsnapshot
> @@ -0,0 +1,86 @@
> +###############################################################################
> +#                                                                             #
> +# IPFire.org - A linux based firewall                                         #
> +# Copyright (C) 2007-2020  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        = 1.4.5
> +
> +THISAPP    = rsnapshot-$(VER)
> +DL_FILE    = $(THISAPP).tar.gz
> +DL_FROM    = https://github.com/rsnapshot/rsnapshot/releases/download/1.4.5
> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
> +TARGET     = $(DIR_INFO)/$(THISAPP)
> +PROG       = rsnapshot
> +PAK_VER    = 1
> +DEPS       = "rsync"

DEPS should not be quoted.

> +###############################################################################
> +# Top-level Rules
> +###############################################################################
> +
> +objects = $(DL_FILE)
> +
> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> +
> +$(DL_FILE)_BLAKE2 = 2a668aa16991b2b4e611c6204cdcd0e8c9593e5f0af5ea89e787a578e73b6f5987514cd7d0252bb78aea1b157ef85aea947686111ca9e3befdb2a8cef0aa9ecd
> +
> +install : $(TARGET)
> +
> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
> +
> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
> +b2 : $(subst %,%_BLAKE2,$(objects))
> +
> +dist: 
> + @$(PAK)
> +###############################################################################
> +# Downloading, checking, md5sum
> +###############################################################################
> +
> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
> + @$(CHECK)
> +
> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
> + @$(LOAD)
> +
> +$(subst %,%_MD5,$(objects)) :
> + @$(MD5)
> +
> +###############################################################################
> +# Installation Details
> +###############################################################################
> +
> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> + @$(PREBUILD)
> + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
> + cd $(DIR_APP) && \
> + ./configure \
> + --prefix=/usr \
> + --sysconfdir=/etc \
> + --bindir=/usr/bin \
> +
> + cd $(DIR_APP) && make $(MAKETUNING)
> + cd $(DIR_APP) && make install
> + cp -avfr $(DIR_CONF)/$(PROG)/* /
> + @rm -rf $(DIR_APP)
> + @$(POSTBUILD)
> diff --git a/make.sh b/make.sh
> index 3b7f9850c..59d2971da 100755
> --- a/make.sh
> +++ b/make.sh
> @@ -1478,6 +1478,7 @@ buildipfire() {
>   lfsmake2 libmpeg2
>   lfsmake2 gnump3d
>   lfsmake2 rsync
> +  lfsmake2 rsnapshot
>   lfsmake2 rpcbind
>   lfsmake2 keyutils
>   lfsmake2 nfs
> diff --git a/src/paks/rsnapshot/install.sh b/src/paks/rsnapshot/install.sh
> new file mode 100644
> index 000000000..9aafb0d56
> --- /dev/null
> +++ b/src/paks/rsnapshot/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 
> +restore_backup ${NAME}
> diff --git a/src/paks/rsnapshot/uninstall.sh b/src/paks/rsnapshot/uninstall.sh
> new file mode 100644
> index 000000000..66f4344eb
> --- /dev/null
> +++ b/src/paks/rsnapshot/uninstall.sh
> @@ -0,0 +1,26 @@
> +#!/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
> +make_backup ${NAME}
> +remove_files
> diff --git a/src/paks/rsnapshot/update.sh b/src/paks/rsnapshot/update.sh
> new file mode 100644
> index 000000000..89c40d0d7
> --- /dev/null
> +++ b/src/paks/rsnapshot/update.sh
> @@ -0,0 +1,26 @@
> +#!/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
> +./uninstall.sh
> +./install.sh

There is no need to have any custom install/uninstall/update scripts when they are not doing anything the default set isn’t doing.

You are calling backup restore functions but there is no backup include file for the configuration file. So these can be removed even if you were to add a backup include file.

Best,
-Michael

> -- 
> 2.25.1
>
  
Gerd Hoerst March 22, 2023, 1:37 p.m. UTC | #3
Hi Michael !

I see your point.
But im not really familar with that git stuff.
My "intention" is more to show up possibilities..
You (with you i mean the comunity itself) can take my patch or leave 
it...
If someone of the dev team think its a good idea to implement => please 
you can do it...
if not also ok for me.
both submitted "patches" (chrony and rsnapshot) are running on my apu2c4 
ipfire since weeks.
e.g. i use chrony because i use it in my complete network (including 
time.hoerst.net which is a member of ntppool.org)
so for me ntp is a "ballast".
Also rsnapshot... all important machines are save on my NAS NFS share 
via rsnapshot so why to use another tool for ipfire.
As above mentioned im fine if you say "no we won't implement" but my 
target is to make my ipfire matching my requirements,
and if i send a patch here i only share with community. So if anyone use 
it => feel free to use it...
Im also sure guys (and girls) which want to use it have not problem with 
a missing webinterface.

I do it for me and share info with community

Ciao Gerd

Am 2023-03-22 11:01, schrieb Michael Tremer:
> Hello Gerd,
> 
> Thank you for your submission.
> 
> I would once again like to highlight that we have collected a large
> number of DOs and DONTs here:
> 
>   https://wiki.ipfire.org/devel/submit-patches
> 
> That process is needed because there are technical requirements for
> most steps, and secondly it explains that to work together with other
> developers.
> 
> In this instance, this is a patch that does not at all say what this
> is supposed to do, what the benefits are, why we should ship this at
> all, etc. There is no commit message and not even the subject includes
> any purpose. Just the name of the package.
> 
> It is very important to justify *any* patch as explained here:
> 
>   https://wiki.ipfire.org/devel/git/commit-messages
> 
> We need to know the “why”. Arguably this could be rather short when
> the patch fixes a typo, but adding a new package which will create
> maintenance work for the whole team should be justified.
> 
>> On 19 Mar 2023, at 12:50, Gerd Hoerst <gerd@hoerst.net> wrote:
>> 
>> Signed-off-by: Gerd Hoerst <gerd@hoerst.net>
>> ---
>> config/rootfiles/packages/rsnapshot |  6 ++
>> lfs/rsnapshot                       | 86 +++++++++++++++++++++++++++++
>> make.sh                             |  1 +
>> src/paks/rsnapshot/install.sh       | 27 +++++++++
>> src/paks/rsnapshot/uninstall.sh     | 26 +++++++++
>> src/paks/rsnapshot/update.sh        | 26 +++++++++
>> 6 files changed, 172 insertions(+)
>> create mode 100644 config/rootfiles/packages/rsnapshot
>> create mode 100644 lfs/rsnapshot
>> create mode 100644 src/paks/rsnapshot/install.sh
>> create mode 100644 src/paks/rsnapshot/uninstall.sh
>> create mode 100644 src/paks/rsnapshot/update.sh
>> 
>> diff --git a/config/rootfiles/packages/rsnapshot 
>> b/config/rootfiles/packages/rsnapshot
>> new file mode 100644
>> index 000000000..023498e2c
>> --- /dev/null
>> +++ b/config/rootfiles/packages/rsnapshot
>> @@ -0,0 +1,6 @@
>> +usr/bin/rsnapshot
>> +usr/bin/rsnapshot-diff
>> +etc/rsnapshot.conf
>> +#etc/rsnapshot.conf.default
>> +#usr/share/man/man1/rsnapshot-diff.1
>> +#usr/share/man/man1/rsnapshot.1
> 
> The rootfile is not in alphabetical order. That suggests that this was
> not generated from a clean build. Could you please verify that it
> includes all files that have been created?
> 
>> diff --git a/lfs/rsnapshot b/lfs/rsnapshot
>> new file mode 100644
>> index 000000000..0445471be
>> --- /dev/null
>> +++ b/lfs/rsnapshot
>> @@ -0,0 +1,86 @@
>> +###############################################################################
>> +#                                                                     
>>         #
>> +# IPFire.org - A linux based firewall                                 
>>         #
>> +# Copyright (C) 2007-2020  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        = 1.4.5
>> +
>> +THISAPP    = rsnapshot-$(VER)
>> +DL_FILE    = $(THISAPP).tar.gz
>> +DL_FROM    = 
>> https://github.com/rsnapshot/rsnapshot/releases/download/1.4.5
>> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
>> +TARGET     = $(DIR_INFO)/$(THISAPP)
>> +PROG       = rsnapshot
>> +PAK_VER    = 1
>> +DEPS       = "rsync"
> 
> DEPS should not be quoted.
> 
>> +###############################################################################
>> +# Top-level Rules
>> +###############################################################################
>> +
>> +objects = $(DL_FILE)
>> +
>> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>> +
>> +$(DL_FILE)_BLAKE2 = 
>> 2a668aa16991b2b4e611c6204cdcd0e8c9593e5f0af5ea89e787a578e73b6f5987514cd7d0252bb78aea1b157ef85aea947686111ca9e3befdb2a8cef0aa9ecd
>> +
>> +install : $(TARGET)
>> +
>> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
>> +
>> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
>> +b2 : $(subst %,%_BLAKE2,$(objects))
>> +
>> +dist:
>> + @$(PAK)
>> +###############################################################################
>> +# Downloading, checking, md5sum
>> +###############################################################################
>> +
>> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
>> + @$(CHECK)
>> +
>> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
>> + @$(LOAD)
>> +
>> +$(subst %,%_MD5,$(objects)) :
>> + @$(MD5)
>> +
>> +###############################################################################
>> +# Installation Details
>> +###############################################################################
>> +
>> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>> + @$(PREBUILD)
>> + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
>> + cd $(DIR_APP) && \
>> + ./configure \
>> + --prefix=/usr \
>> + --sysconfdir=/etc \
>> + --bindir=/usr/bin \
>> +
>> + cd $(DIR_APP) && make $(MAKETUNING)
>> + cd $(DIR_APP) && make install
>> + cp -avfr $(DIR_CONF)/$(PROG)/* /
>> + @rm -rf $(DIR_APP)
>> + @$(POSTBUILD)
>> diff --git a/make.sh b/make.sh
>> index 3b7f9850c..59d2971da 100755
>> --- a/make.sh
>> +++ b/make.sh
>> @@ -1478,6 +1478,7 @@ buildipfire() {
>>   lfsmake2 libmpeg2
>>   lfsmake2 gnump3d
>>   lfsmake2 rsync
>> +  lfsmake2 rsnapshot
>>   lfsmake2 rpcbind
>>   lfsmake2 keyutils
>>   lfsmake2 nfs
>> diff --git a/src/paks/rsnapshot/install.sh 
>> b/src/paks/rsnapshot/install.sh
>> new file mode 100644
>> index 000000000..9aafb0d56
>> --- /dev/null
>> +++ b/src/paks/rsnapshot/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
>> +restore_backup ${NAME}
>> diff --git a/src/paks/rsnapshot/uninstall.sh 
>> b/src/paks/rsnapshot/uninstall.sh
>> new file mode 100644
>> index 000000000..66f4344eb
>> --- /dev/null
>> +++ b/src/paks/rsnapshot/uninstall.sh
>> @@ -0,0 +1,26 @@
>> +#!/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
>> +make_backup ${NAME}
>> +remove_files
>> diff --git a/src/paks/rsnapshot/update.sh 
>> b/src/paks/rsnapshot/update.sh
>> new file mode 100644
>> index 000000000..89c40d0d7
>> --- /dev/null
>> +++ b/src/paks/rsnapshot/update.sh
>> @@ -0,0 +1,26 @@
>> +#!/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
>> +./uninstall.sh
>> +./install.sh
> 
> There is no need to have any custom install/uninstall/update scripts
> when they are not doing anything the default set isn’t doing.
> 
> You are calling backup restore functions but there is no backup
> include file for the configuration file. So these can be removed even
> if you were to add a backup include file.
> 
> Best,
> -Michael
> 
>> --
>> 2.25.1
>>
  
Michael Tremer March 22, 2023, 2:09 p.m. UTC | #4
Hello Gerd,

> On 22 Mar 2023, at 13:37, Gerd Hoerst <gerd@hoerst.net> wrote:
> 
> Hi Michael !
> 
> I see your point.
> But im not really familar with that git stuff.

That is not a problem. That is why we wrote all this documentation. If there are any questions not answered, this list is the place to ask.

> My "intention" is more to show up possibilities..

Of?

> You (with you i mean the comunity itself) can take my patch or leave it...
> If someone of the dev team think its a good idea to implement => please you can do it...

No, this is exactly *not* how this works.

You cannot just dump some patches here and hope that someone will take up the work. You are interested in having rsnapshot packaged for IPFire so you can use it - that means that you will have to maintain it. Or find people who are going to help you with it.

We are not free labour and will take anything (half baked or even flawless) and maintain it to the end of our days.

> if not also ok for me.
> both submitted "patches" (chrony and rsnapshot) are running on my apu2c4 ipfire since weeks.
> e.g. i use chrony because i use it in my complete network (including time.hoerst.net which is a member of ntppool.org)
> so for me ntp is a "ballast".

You are mixing conversations here.

> Also rsnapshot... all important machines are save on my NAS NFS share via rsnapshot so why to use another tool for ipfire.
> As above mentioned im fine if you say "no we won't implement" but my target is to make my ipfire matching my requirements,
> and if i send a patch here i only share with community. So if anyone use it => feel free to use it...
> Im also sure guys (and girls) which want to use it have not problem with a missing webinterface.
> 
> I do it for me and share info with community

Throwing patches on the list with no ambition to get them done so that they will work for everyone is not sharing work with the community. That is noise on the list. If you are not willing to put the effort into your projects, then you cannot expect somebody else to do that work for you.

-Michael

> Ciao Gerd
> 
> Am 2023-03-22 11:01, schrieb Michael Tremer:
>> Hello Gerd,
>> Thank you for your submission.
>> I would once again like to highlight that we have collected a large
>> number of DOs and DONTs here:
>>  https://wiki.ipfire.org/devel/submit-patches
>> That process is needed because there are technical requirements for
>> most steps, and secondly it explains that to work together with other
>> developers.
>> In this instance, this is a patch that does not at all say what this
>> is supposed to do, what the benefits are, why we should ship this at
>> all, etc. There is no commit message and not even the subject includes
>> any purpose. Just the name of the package.
>> It is very important to justify *any* patch as explained here:
>>  https://wiki.ipfire.org/devel/git/commit-messages
>> We need to know the “why”. Arguably this could be rather short when
>> the patch fixes a typo, but adding a new package which will create
>> maintenance work for the whole team should be justified.
>>> On 19 Mar 2023, at 12:50, Gerd Hoerst <gerd@hoerst.net> wrote:
>>> Signed-off-by: Gerd Hoerst <gerd@hoerst.net>
>>> ---
>>> config/rootfiles/packages/rsnapshot |  6 ++
>>> lfs/rsnapshot                       | 86 +++++++++++++++++++++++++++++
>>> make.sh                             |  1 +
>>> src/paks/rsnapshot/install.sh       | 27 +++++++++
>>> src/paks/rsnapshot/uninstall.sh     | 26 +++++++++
>>> src/paks/rsnapshot/update.sh        | 26 +++++++++
>>> 6 files changed, 172 insertions(+)
>>> create mode 100644 config/rootfiles/packages/rsnapshot
>>> create mode 100644 lfs/rsnapshot
>>> create mode 100644 src/paks/rsnapshot/install.sh
>>> create mode 100644 src/paks/rsnapshot/uninstall.sh
>>> create mode 100644 src/paks/rsnapshot/update.sh
>>> diff --git a/config/rootfiles/packages/rsnapshot b/config/rootfiles/packages/rsnapshot
>>> new file mode 100644
>>> index 000000000..023498e2c
>>> --- /dev/null
>>> +++ b/config/rootfiles/packages/rsnapshot
>>> @@ -0,0 +1,6 @@
>>> +usr/bin/rsnapshot
>>> +usr/bin/rsnapshot-diff
>>> +etc/rsnapshot.conf
>>> +#etc/rsnapshot.conf.default
>>> +#usr/share/man/man1/rsnapshot-diff.1
>>> +#usr/share/man/man1/rsnapshot.1
>> The rootfile is not in alphabetical order. That suggests that this was
>> not generated from a clean build. Could you please verify that it
>> includes all files that have been created?
>>> diff --git a/lfs/rsnapshot b/lfs/rsnapshot
>>> new file mode 100644
>>> index 000000000..0445471be
>>> --- /dev/null
>>> +++ b/lfs/rsnapshot
>>> @@ -0,0 +1,86 @@
>>> +###############################################################################
>>> +#                                                                             #
>>> +# IPFire.org - A linux based firewall                                         #
>>> +# Copyright (C) 2007-2020  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        = 1.4.5
>>> +
>>> +THISAPP    = rsnapshot-$(VER)
>>> +DL_FILE    = $(THISAPP).tar.gz
>>> +DL_FROM    = https://github.com/rsnapshot/rsnapshot/releases/download/1.4.5
>>> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
>>> +TARGET     = $(DIR_INFO)/$(THISAPP)
>>> +PROG       = rsnapshot
>>> +PAK_VER    = 1
>>> +DEPS       = "rsync"
>> DEPS should not be quoted.
>>> +###############################################################################
>>> +# Top-level Rules
>>> +###############################################################################
>>> +
>>> +objects = $(DL_FILE)
>>> +
>>> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>> +
>>> +$(DL_FILE)_BLAKE2 = 2a668aa16991b2b4e611c6204cdcd0e8c9593e5f0af5ea89e787a578e73b6f5987514cd7d0252bb78aea1b157ef85aea947686111ca9e3befdb2a8cef0aa9ecd
>>> +
>>> +install : $(TARGET)
>>> +
>>> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
>>> +
>>> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
>>> +b2 : $(subst %,%_BLAKE2,$(objects))
>>> +
>>> +dist:
>>> + @$(PAK)
>>> +###############################################################################
>>> +# Downloading, checking, md5sum
>>> +###############################################################################
>>> +
>>> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
>>> + @$(CHECK)
>>> +
>>> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
>>> + @$(LOAD)
>>> +
>>> +$(subst %,%_MD5,$(objects)) :
>>> + @$(MD5)
>>> +
>>> +###############################################################################
>>> +# Installation Details
>>> +###############################################################################
>>> +
>>> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>>> + @$(PREBUILD)
>>> + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
>>> + cd $(DIR_APP) && \
>>> + ./configure \
>>> + --prefix=/usr \
>>> + --sysconfdir=/etc \
>>> + --bindir=/usr/bin \
>>> +
>>> + cd $(DIR_APP) && make $(MAKETUNING)
>>> + cd $(DIR_APP) && make install
>>> + cp -avfr $(DIR_CONF)/$(PROG)/* /
>>> + @rm -rf $(DIR_APP)
>>> + @$(POSTBUILD)
>>> diff --git a/make.sh b/make.sh
>>> index 3b7f9850c..59d2971da 100755
>>> --- a/make.sh
>>> +++ b/make.sh
>>> @@ -1478,6 +1478,7 @@ buildipfire() {
>>>  lfsmake2 libmpeg2
>>>  lfsmake2 gnump3d
>>>  lfsmake2 rsync
>>> +  lfsmake2 rsnapshot
>>>  lfsmake2 rpcbind
>>>  lfsmake2 keyutils
>>>  lfsmake2 nfs
>>> diff --git a/src/paks/rsnapshot/install.sh b/src/paks/rsnapshot/install.sh
>>> new file mode 100644
>>> index 000000000..9aafb0d56
>>> --- /dev/null
>>> +++ b/src/paks/rsnapshot/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
>>> +restore_backup ${NAME}
>>> diff --git a/src/paks/rsnapshot/uninstall.sh b/src/paks/rsnapshot/uninstall.sh
>>> new file mode 100644
>>> index 000000000..66f4344eb
>>> --- /dev/null
>>> +++ b/src/paks/rsnapshot/uninstall.sh
>>> @@ -0,0 +1,26 @@
>>> +#!/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
>>> +make_backup ${NAME}
>>> +remove_files
>>> diff --git a/src/paks/rsnapshot/update.sh b/src/paks/rsnapshot/update.sh
>>> new file mode 100644
>>> index 000000000..89c40d0d7
>>> --- /dev/null
>>> +++ b/src/paks/rsnapshot/update.sh
>>> @@ -0,0 +1,26 @@
>>> +#!/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
>>> +./uninstall.sh
>>> +./install.sh
>> There is no need to have any custom install/uninstall/update scripts
>> when they are not doing anything the default set isn’t doing.
>> You are calling backup restore functions but there is no backup
>> include file for the configuration file. So these can be removed even
>> if you were to add a backup include file.
>> Best,
>> -Michael
>>> --
>>> 2.25.1
  
jon April 5, 2023, 7:08 p.m. UTC | #5
Gerd - my responses below.


> On Mar 22, 2023, at 9:09 AM, Michael Tremer <michael.tremer@ipfire.org> wrote:
> 
> Hello Gerd,
> 
>> On 22 Mar 2023, at 13:37, Gerd Hoerst <gerd@hoerst.net> wrote:
>> 
>> Hi Michael !
>> 
>> I see your point.
>> But im not really familar with that git stuff.
> 
> That is not a problem. That is why we wrote all this documentation. If there are any questions not answered, this list is the place to ask.
> 
>> My "intention" is more to show up possibilities..
> 
> Of?
> 
>> You (with you i mean the comunity itself) can take my patch or leave it...
>> If someone of the dev team think its a good idea to implement => please you can do it...
> 
> No, this is exactly *not* how this works.
> 
> You cannot just dump some patches here and hope that someone will take up the work. You are interested in having rsnapshot packaged for IPFire so you can use it - that means that you will have to maintain it. Or find people who are going to help you with it.

I can help maintain the IPFire side of rsnapshot (building rsnapshot, making changes, doing IPFire commits), if you don’t mind handling the rsnapshot questions from the Community.  I am just learning rsnapshot so I’d rather have you support.

I used your work as a template and I think I got everything built A-OK.  I’ve been testing rsnapshot on an apu4d4 device for the past two weeks.

Let me know.

> 
> We are not free labour and will take anything (half baked or even flawless) and maintain it to the end of our days.
> 
>> if not also ok for me.
>> both submitted "patches" (chrony and rsnapshot) are running on my apu2c4 ipfire since weeks.
>> e.g. i use chrony because i use it in my complete network (including time.hoerst.net which is a member of ntppool.org)
>> so for me ntp is a "ballast".
> 
> You are mixing conversations here.
> 
>> Also rsnapshot... all important machines are save on my NAS NFS share via rsnapshot so why to use another tool for ipfire.
>> As above mentioned im fine if you say "no we won't implement" but my target is to make my ipfire matching my requirements,
>> and if i send a patch here i only share with community. So if anyone use it => feel free to use it...
>> Im also sure guys (and girls) which want to use it have not problem with a missing webinterface.
>> 
>> I do it for me and share info with community
> 
> Throwing patches on the list with no ambition to get them done so that they will work for everyone is not sharing work with the community. That is noise on the list. If you are not willing to put the effort into your projects, then you cannot expect somebody else to do that work for you.
> 
> -Michael
> 
>> Ciao Gerd
>> 
>> Am 2023-03-22 11:01, schrieb Michael Tremer:
>>> Hello Gerd,
>>> Thank you for your submission.
>>> I would once again like to highlight that we have collected a large
>>> number of DOs and DONTs here:
>>> https://wiki.ipfire.org/devel/submit-patches
>>> That process is needed because there are technical requirements for
>>> most steps, and secondly it explains that to work together with other
>>> developers.
>>> In this instance, this is a patch that does not at all say what this
>>> is supposed to do, what the benefits are, why we should ship this at
>>> all, etc. There is no commit message and not even the subject includes
>>> any purpose. Just the name of the package.

I can help with this.

>>> It is very important to justify *any* patch as explained here:
>>> https://wiki.ipfire.org/devel/git/commit-messages
>>> We need to know the “why”. Arguably this could be rather short when
>>> the patch fixes a typo, but adding a new package which will create
>>> maintenance work for the whole team should be justified.
>>>> On 19 Mar 2023, at 12:50, Gerd Hoerst <gerd@hoerst.net> wrote:
>>>> Signed-off-by: Gerd Hoerst <gerd@hoerst.net>
>>>> ---
>>>> config/rootfiles/packages/rsnapshot |  6 ++
>>>> lfs/rsnapshot                       | 86 +++++++++++++++++++++++++++++
>>>> make.sh                             |  1 +
>>>> src/paks/rsnapshot/install.sh       | 27 +++++++++
>>>> src/paks/rsnapshot/uninstall.sh     | 26 +++++++++
>>>> src/paks/rsnapshot/update.sh        | 26 +++++++++
>>>> 6 files changed, 172 insertions(+)
>>>> create mode 100644 config/rootfiles/packages/rsnapshot
>>>> create mode 100644 lfs/rsnapshot
>>>> create mode 100644 src/paks/rsnapshot/install.sh
>>>> create mode 100644 src/paks/rsnapshot/uninstall.sh
>>>> create mode 100644 src/paks/rsnapshot/update.sh
>>>> diff --git a/config/rootfiles/packages/rsnapshot b/config/rootfiles/packages/rsnapshot
>>>> new file mode 100644
>>>> index 000000000..023498e2c
>>>> --- /dev/null
>>>> +++ b/config/rootfiles/packages/rsnapshot
>>>> @@ -0,0 +1,6 @@
>>>> +usr/bin/rsnapshot
>>>> +usr/bin/rsnapshot-diff
>>>> +etc/rsnapshot.conf
>>>> +#etc/rsnapshot.conf.default
>>>> +#usr/share/man/man1/rsnapshot-diff.1
>>>> +#usr/share/man/man1/rsnapshot.1
>>> The rootfile is not in alphabetical order. That suggests that this was
>>> not generated from a clean build. Could you please verify that it
>>> includes all files that have been created?
>>>> diff --git a/lfs/rsnapshot b/lfs/rsnapshot
>>>> new file mode 100644
>>>> index 000000000..0445471be
>>>> --- /dev/null
>>>> +++ b/lfs/rsnapshot
>>>> @@ -0,0 +1,86 @@
>>>> +###############################################################################
>>>> +#                                                                             #
>>>> +# IPFire.org - A linux based firewall                                         #
>>>> +# Copyright (C) 2007-2020  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        = 1.4.5
>>>> +
>>>> +THISAPP    = rsnapshot-$(VER)
>>>> +DL_FILE    = $(THISAPP).tar.gz
>>>> +DL_FROM    = https://github.com/rsnapshot/rsnapshot/releases/download/1.4.5
>>>> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
>>>> +TARGET     = $(DIR_INFO)/$(THISAPP)
>>>> +PROG       = rsnapshot
>>>> +PAK_VER    = 1
>>>> +DEPS       = "rsync"
>>> DEPS should not be quoted.
>>>> +###############################################################################
>>>> +# Top-level Rules
>>>> +###############################################################################
>>>> +
>>>> +objects = $(DL_FILE)
>>>> +
>>>> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>>> +
>>>> +$(DL_FILE)_BLAKE2 = 2a668aa16991b2b4e611c6204cdcd0e8c9593e5f0af5ea89e787a578e73b6f5987514cd7d0252bb78aea1b157ef85aea947686111ca9e3befdb2a8cef0aa9ecd
>>>> +
>>>> +install : $(TARGET)
>>>> +
>>>> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
>>>> +
>>>> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
>>>> +b2 : $(subst %,%_BLAKE2,$(objects))
>>>> +
>>>> +dist:
>>>> + @$(PAK)
>>>> +###############################################################################
>>>> +# Downloading, checking, md5sum
>>>> +###############################################################################
>>>> +
>>>> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
>>>> + @$(CHECK)
>>>> +
>>>> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
>>>> + @$(LOAD)
>>>> +
>>>> +$(subst %,%_MD5,$(objects)) :
>>>> + @$(MD5)
>>>> +
>>>> +###############################################################################
>>>> +# Installation Details
>>>> +###############################################################################
>>>> +
>>>> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
>>>> + @$(PREBUILD)
>>>> + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
>>>> + cd $(DIR_APP) && \
>>>> + ./configure \
>>>> + --prefix=/usr \
>>>> + --sysconfdir=/etc \
>>>> + --bindir=/usr/bin \
>>>> +
>>>> + cd $(DIR_APP) && make $(MAKETUNING)
>>>> + cd $(DIR_APP) && make install
>>>> + cp -avfr $(DIR_CONF)/$(PROG)/* /
>>>> + @rm -rf $(DIR_APP)
>>>> + @$(POSTBUILD)
>>>> diff --git a/make.sh b/make.sh
>>>> index 3b7f9850c..59d2971da 100755
>>>> --- a/make.sh
>>>> +++ b/make.sh
>>>> @@ -1478,6 +1478,7 @@ buildipfire() {
>>>> lfsmake2 libmpeg2
>>>> lfsmake2 gnump3d
>>>> lfsmake2 rsync
>>>> +  lfsmake2 rsnapshot
>>>> lfsmake2 rpcbind
>>>> lfsmake2 keyutils
>>>> lfsmake2 nfs
>>>> diff --git a/src/paks/rsnapshot/install.sh b/src/paks/rsnapshot/install.sh
>>>> new file mode 100644
>>>> index 000000000..9aafb0d56
>>>> --- /dev/null
>>>> +++ b/src/paks/rsnapshot/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
>>>> +restore_backup ${NAME}
>>>> diff --git a/src/paks/rsnapshot/uninstall.sh b/src/paks/rsnapshot/uninstall.sh
>>>> new file mode 100644
>>>> index 000000000..66f4344eb
>>>> --- /dev/null
>>>> +++ b/src/paks/rsnapshot/uninstall.sh
>>>> @@ -0,0 +1,26 @@
>>>> +#!/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
>>>> +make_backup ${NAME}
>>>> +remove_files
>>>> diff --git a/src/paks/rsnapshot/update.sh b/src/paks/rsnapshot/update.sh
>>>> new file mode 100644
>>>> index 000000000..89c40d0d7
>>>> --- /dev/null
>>>> +++ b/src/paks/rsnapshot/update.sh
>>>> @@ -0,0 +1,26 @@
>>>> +#!/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
>>>> +./uninstall.sh
>>>> +./install.sh
>>> There is no need to have any custom install/uninstall/update scripts
>>> when they are not doing anything the default set isn’t doing.
>>> You are calling backup restore functions but there is no backup
>>> include file for the configuration file. So these can be removed even
>>> if you were to add a backup include file.
>>> Best,
>>> -Michael
>>>> --
>>>> 2.25.1
>
  

Patch

diff --git a/config/rootfiles/packages/rsnapshot b/config/rootfiles/packages/rsnapshot
new file mode 100644
index 000000000..023498e2c
--- /dev/null
+++ b/config/rootfiles/packages/rsnapshot
@@ -0,0 +1,6 @@ 
+usr/bin/rsnapshot
+usr/bin/rsnapshot-diff
+etc/rsnapshot.conf
+#etc/rsnapshot.conf.default
+#usr/share/man/man1/rsnapshot-diff.1
+#usr/share/man/man1/rsnapshot.1
diff --git a/lfs/rsnapshot b/lfs/rsnapshot
new file mode 100644
index 000000000..0445471be
--- /dev/null
+++ b/lfs/rsnapshot
@@ -0,0 +1,86 @@ 
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2020  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        = 1.4.5
+
+THISAPP    = rsnapshot-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = https://github.com/rsnapshot/rsnapshot/releases/download/1.4.5
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = rsnapshot
+PAK_VER    = 1
+DEPS       = "rsync"
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 2a668aa16991b2b4e611c6204cdcd0e8c9593e5f0af5ea89e787a578e73b6f5987514cd7d0252bb78aea1b157ef85aea947686111ca9e3befdb2a8cef0aa9ecd
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist: 
+	@$(PAK)
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+	@$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+	@$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+	@$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+	@$(PREBUILD)
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+	cd $(DIR_APP) && \
+		./configure \
+		--prefix=/usr \
+		--sysconfdir=/etc \
+		--bindir=/usr/bin \
+
+	cd $(DIR_APP) && make $(MAKETUNING)
+	cd $(DIR_APP) && make install
+	cp -avfr $(DIR_CONF)/$(PROG)/* /
+	@rm -rf $(DIR_APP)
+	@$(POSTBUILD)
diff --git a/make.sh b/make.sh
index 3b7f9850c..59d2971da 100755
--- a/make.sh
+++ b/make.sh
@@ -1478,6 +1478,7 @@  buildipfire() {
   lfsmake2 libmpeg2
   lfsmake2 gnump3d
   lfsmake2 rsync
+  lfsmake2 rsnapshot
   lfsmake2 rpcbind
   lfsmake2 keyutils
   lfsmake2 nfs
diff --git a/src/paks/rsnapshot/install.sh b/src/paks/rsnapshot/install.sh
new file mode 100644
index 000000000..9aafb0d56
--- /dev/null
+++ b/src/paks/rsnapshot/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 
+restore_backup ${NAME}
diff --git a/src/paks/rsnapshot/uninstall.sh b/src/paks/rsnapshot/uninstall.sh
new file mode 100644
index 000000000..66f4344eb
--- /dev/null
+++ b/src/paks/rsnapshot/uninstall.sh
@@ -0,0 +1,26 @@ 
+#!/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
+make_backup ${NAME}
+remove_files
diff --git a/src/paks/rsnapshot/update.sh b/src/paks/rsnapshot/update.sh
new file mode 100644
index 000000000..89c40d0d7
--- /dev/null
+++ b/src/paks/rsnapshot/update.sh
@@ -0,0 +1,26 @@ 
+#!/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
+./uninstall.sh
+./install.sh