!1 Package init
From: @zhengyaohui Reviewed-by: @small_leek Signed-off-by: @small_leek
This commit is contained in:
commit
84062b69c5
25
backupninja-1.1.0-dayofweek.patch
Normal file
25
backupninja-1.1.0-dayofweek.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From a0f5063e8b31df18b397a91095f33d4efe39f58e Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Charaoui <jerome@riseup.net>
|
||||
Date: Fri, 13 Jul 2018 10:08:02 -0400
|
||||
Subject: [PATCH] Fix warning about malformed day component in 'when'
|
||||
|
||||
---
|
||||
src/backupninja.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/backupninja.in b/src/backupninja.in
|
||||
index 77afbfd..d6a1045 100755
|
||||
--- a/src/backupninja.in
|
||||
+++ b/src/backupninja.in
|
||||
@@ -226,7 +226,7 @@ function isnow() {
|
||||
if [ "$whendayofweek" != "$nowdayofweek" ]; then
|
||||
whendayofweek=${whendayofweek%s}
|
||||
if [ "$whendayofweek" != "$nowdayofweek" ]; then
|
||||
- if [ "$whendayofweek" != "mondays" -a "$whendayofweek" != "tuesdays" -a "$whendayofweek" != "wednesdays" -a "$whendayofweek" != "thursdays" -a "$whendayofweek" != "fridays" -a "$whendayofweek" != "saturdays" -a "$whendayofweek" != "sundays" ]; then
|
||||
+ if [ "$whendayofweek" != "monday" -a "$whendayofweek" != "tuesday" -a "$whendayofweek" != "wednesday" -a "$whendayofweek" != "thursday" -a "$whendayofweek" != "friday" -a "$whendayofweek" != "saturday" -a "$whendayofweek" != "sunday" ]; then
|
||||
warning "The day in the 'when' option in the configuration is malformed. Please read the README for examples."
|
||||
fi
|
||||
if [ "$at" != "at" ]; then
|
||||
--
|
||||
2.24.1
|
||||
|
||||
45
backupninja-1.1.0-padding.patch
Normal file
45
backupninja-1.1.0-padding.patch
Normal file
@ -0,0 +1,45 @@
|
||||
From f9529d1d3f3714c707f38b8e44ac72a69af5483b Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Charaoui <jerome@riseup.net>
|
||||
Date: Fri, 13 Jul 2018 21:49:06 -0400
|
||||
Subject: [PATCH] Remove zero-padding from nowday and whenday (fixes #9397)
|
||||
|
||||
This fixes cases where the day component of the when parameter resolved
|
||||
to a non-zero padded integer under 10, such as "when = 1st at 01"
|
||||
|
||||
The comparison against the nowday variable failed consistently since
|
||||
the date command format used always returned a zero-padded two digit
|
||||
integer.
|
||||
|
||||
The solution chosen is to avoid generating nowday with zero-padding and
|
||||
remove any zero-padding from whenday parameter using a more thorough
|
||||
sed pattern which now also removes any non-alphanumeric characters from
|
||||
the string.
|
||||
---
|
||||
src/backupninja.in | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/backupninja.in b/src/backupninja.in
|
||||
index d6a1045..6da7237 100755
|
||||
--- a/src/backupninja.in
|
||||
+++ b/src/backupninja.in
|
||||
@@ -186,7 +186,7 @@ function tolower() {
|
||||
|
||||
# simple to integer function
|
||||
function toint() {
|
||||
- echo "$1" | tr -d '[:alpha:]'
|
||||
+ echo "$1" | @SED@ 's/[^0-9]//g;s/^0\+//'
|
||||
}
|
||||
|
||||
#
|
||||
@@ -202,7 +202,7 @@ function toint() {
|
||||
# we grab the current time once, since processing
|
||||
# all the configs might take more than an hour.
|
||||
nowtime=`LC_ALL=C date +%H`
|
||||
-nowday=`LC_ALL=C date +%d`
|
||||
+nowday=`LC_ALL=C date +%-d`
|
||||
nowdayofweek=`LC_ALL=C date +%A`
|
||||
nowdayofweek=`tolower "$nowdayofweek"`
|
||||
|
||||
--
|
||||
2.24.1
|
||||
|
||||
56
backupninja-1.1.0-redhat.patch
Normal file
56
backupninja-1.1.0-redhat.patch
Normal file
@ -0,0 +1,56 @@
|
||||
--- a/handlers/dup.helper.in 2018-06-29 22:12:42.000000000 +0600
|
||||
+++ b/handlers/dup.helper.in 2018-12-30 04:27:40.251026730 +0600
|
||||
@@ -624,7 +624,7 @@
|
||||
|
||||
# Global variables whose '*' shall not be expanded
|
||||
set -o noglob
|
||||
- dup_default_includes="/var/spool/cron/crontabs /var/backups /etc /root /home /usr/local/*bin /var/lib/dpkg/status*"
|
||||
+ dup_default_includes="/var/spool/cron /var/backups /etc /root /home /usr/local/*bin"
|
||||
dup_default_excludes="/home/*/.gnupg /home/*/.local/share/Trash /home/*/.Trash /home/*/.thumbnails /home/*/.beagle /home/*/.aMule /home/*/gtk-gnutella-downloads /var/cache/backupninja/duplicity"
|
||||
set +o noglob
|
||||
|
||||
--- a/handlers/rdiff.helper.in 2018-06-29 22:12:42.000000000 +0600
|
||||
+++ b/handlers/rdiff.helper.in 2018-12-30 04:27:40.251026730 +0600
|
||||
@@ -243,7 +243,7 @@
|
||||
if [ "$rdiff_user" = "root" ]; then
|
||||
booleanBox "install rdiff-backup?" "It seems like the remote machine does not have rdiff-backup installed, I can attempt to install rdiff-backup on the remote machine.\n\n\nDo you want me to attempt this now?"
|
||||
if [ $? = 0 ]; then
|
||||
- ssh $rdiff_user@$rdiff_host 'apt-get install rdiff-backup'
|
||||
+ ssh $rdiff_user@$rdiff_host 'yum install rdiff-backup'
|
||||
result=$?
|
||||
echo "Hit return to continue."
|
||||
read
|
||||
@@ -437,7 +437,7 @@
|
||||
|
||||
# Global variables whose '*' shall not be expanded
|
||||
set -o noglob
|
||||
- rdiff_includes=(/var/spool/cron/crontabs /var/backups /etc /root /home /usr/local/*bin /var/lib/dpkg/status*)
|
||||
+ rdiff_includes=(/var/spool/cron /var/backups /etc /root /home /usr/local/*bin)
|
||||
rdiff_excludes=(/home/*/.gnupg /home/*/.local/share/Trash /home/*/.Trash /home/*/.thumbnails /home/*/.beagle /home/*/.aMule /home/*/gtk-gnutella-downloads /var/cache/backupninja/duplicity)
|
||||
rdiff_vsincludes=
|
||||
set +o noglob
|
||||
--- a/src/ninjahelper.in 2018-06-29 22:12:42.000000000 +0600
|
||||
+++ b/src/ninjahelper.in 2018-12-30 04:27:40.251026730 +0600
|
||||
@@ -27,11 +27,11 @@
|
||||
##
|
||||
require_packages() {
|
||||
for pkg in "$@"; do
|
||||
- installed=`dpkg -s $pkg | grep 'ok installed'`
|
||||
+ installed=`yum list installed $pkg 2>/dev/null | grep -i 'installed'`
|
||||
if [ -z "$installed" ]; then
|
||||
booleanBox "install $pkg?" "This backup action requires package $pkg. Do you want to install it now?"
|
||||
if [ $? = 0 ]; then
|
||||
- apt-get install $pkg
|
||||
+ yum install $pkg
|
||||
echo "hit return to continue...."
|
||||
read
|
||||
fi
|
||||
@@ -166,7 +166,7 @@
|
||||
echo -n "(yes/no): "
|
||||
read install
|
||||
if [ "$install" == "yes" ]; then
|
||||
- apt-get install dialog
|
||||
+ yum install dialog
|
||||
break
|
||||
elif [ "$install" == "no" ]; then
|
||||
exit
|
||||
32
backupninja-1.1.0-whitespaces.patch
Normal file
32
backupninja-1.1.0-whitespaces.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From 26521d0975affe45aa944621b6e6f32ee3a8cdde Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Charaoui <jerome@riseup.net>
|
||||
Date: Fri, 13 Jul 2018 10:07:10 -0400
|
||||
Subject: [PATCH] Whitespace fixes
|
||||
|
||||
---
|
||||
src/backupninja.in | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/backupninja.in b/src/backupninja.in
|
||||
index ef8fc2d..77afbfd 100755
|
||||
--- a/src/backupninja.in
|
||||
+++ b/src/backupninja.in
|
||||
@@ -234,13 +234,13 @@ function isnow() {
|
||||
fi
|
||||
if [[ "$whentimeoriginal" != @([0-9][0-9])?(:[0-9][0-9]) ]]; then
|
||||
warning "The time in the 'when' option in the configuration is malformed or does not exist. Please read the README for examples."
|
||||
- fi
|
||||
+ fi
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
elif [ "$whenday" != "$nowday" ]; then
|
||||
if [ "$whenday" -lt 1 -o "$whenday" -gt 31 ]; then
|
||||
- warning "The numeric value of the day in the 'when' option in the configuration does not match a day. Please read the README for examples."
|
||||
+ warning "The numeric value of the day in the 'when' option in the configuration does not match a day. Please read the README for examples."
|
||||
fi
|
||||
if [ -z "$whentime" ]; then
|
||||
warning "The 'when' variable in the configuration file is malformed. You either didn't specify the day or the time. Please read the README for eamples."
|
||||
--
|
||||
2.24.1
|
||||
|
||||
BIN
backupninja-1.1.0.tar.gz
Normal file
BIN
backupninja-1.1.0.tar.gz
Normal file
Binary file not shown.
11
backupninja-duplicity-version.patch
Normal file
11
backupninja-duplicity-version.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/handlers/dup.in 2018-06-29 22:12:42.000000000 +0600
|
||||
+++ b/handlers/dup.in 2018-12-30 04:27:43.251026730 +0600
|
||||
@@ -133,7 +133,7 @@
|
||||
fi
|
||||
|
||||
### duplicity version (ignore anything else than 0-9 and ".")
|
||||
-duplicity_version="`duplicity --version | @AWK@ '{print $2}' | @SED@ 's/[^.[:digit:]]//g'`"
|
||||
+duplicity_version="`duplicity --version | @AWK@ 'END{print $2}' | @SED@ 's/[^.[:digit:]]//g'`"
|
||||
|
||||
### ssh/scp/sftp options (duplicity < 0.4.3 is unsupported)
|
||||
## duplicity >= 0.6.17 : paramiko backend
|
||||
19
backupninja-extbackup-fix.patch
Normal file
19
backupninja-extbackup-fix.patch
Normal file
@ -0,0 +1,19 @@
|
||||
--- a/handlers/dup.in 2018-06-29 22:12:42.000000000 +0600
|
||||
+++ b/handlers/dup.in 2018-12-30 04:35:26.675079119 +0600
|
||||
@@ -53,13 +53,13 @@
|
||||
if [ -n "$signkey" -a -n "$encryptkey" -a "$signkey" != "$encryptkey" ]; then
|
||||
[ -n "$signpassword" ] || fatal "The signpassword option must be set because signkey is different from encryptkey."
|
||||
fi
|
||||
-if [ "`echo $desturl | @AWK@ -F ':' '{print $1}'`" == "s3+http" ]; then
|
||||
+if [[ "`echo $desturl | @AWK@ -F ':' '{print $1}'`" == "s3+http" ]]; then
|
||||
[ -n "$awsaccesskeyid" -a -n "$awssecretaccesskey" ] || fatal "AWS access keys must be set for S3 backups."
|
||||
fi
|
||||
-if [ "`echo $desturl | @AWK@ -F ':' '{print $1}'`" == "cf+http" ]; then
|
||||
+if [[ "`echo $desturl | @AWK@ -F ':' '{print $1}'`" == "cf+http" ]]; then
|
||||
[ -n "$cfusername" -a -n "$cfapikey" ] || fatal "Cloudfiles access keys must be set for S3 backups."
|
||||
fi
|
||||
-if [ "`echo $desturl | @AWK@ -F ':' '{print $1}'`" == "dpbx" ]; then
|
||||
+if [[ "`echo $desturl | @AWK@ -F ':' '{print $1}'`" == "dpbx" ]]; then
|
||||
[ -n "$dropboxappkey" -a -n "$dropboxappsecret" ] || fatal "Dropbox app ID and secret must be set for Dropbox backups."
|
||||
|
||||
if [ ! -n "$dropboxaccesstoken" ]; then
|
||||
61
backupninja.spec
Normal file
61
backupninja.spec
Normal file
@ -0,0 +1,61 @@
|
||||
Name: backupninja
|
||||
Version: 1.1.0
|
||||
Release: 1
|
||||
Summary: Lightweight, extensible backup system
|
||||
License: GPLv2
|
||||
URL: https://0xacab.org/riseuplabs/backupninja
|
||||
Source0: https://0xacab.org/riseuplabs/backupninja/-/archive/backupninja_upstream/%{version}/backupninja-backupninja_upstream-%{version}.tar.gz#/backupninja-%{version}.tar.gz
|
||||
Patch0: backupninja-1.1.0-redhat.patch
|
||||
Patch1: backupninja-duplicity-version.patch
|
||||
Patch2: backupninja-extbackup-fix.patch
|
||||
Patch3: backupninja-1.1.0-whitespaces.patch
|
||||
Patch4: backupninja-1.1.0-dayofweek.patch
|
||||
Patch5: backupninja-1.1.0-padding.patch
|
||||
BuildArch: noarch
|
||||
Requires: cronie gawk logrotate rdiff-backup
|
||||
%description
|
||||
Backupninja allows you to coordinate system backup by dropping a few simple
|
||||
configuration files into /etc/backup.d/. Most programs you might use for making
|
||||
backups don't have their own configuration file format. Backupninja provides
|
||||
a centralized way to configure and schedule many different backup utilities.
|
||||
It allows for secure, remote, incremental file system backup (via rdiff-backup),
|
||||
compressed incremental data, backup system and hardware info, encrypted remote
|
||||
backups (via duplicity), safe backup of MySQL/PostgreSQL databases, subversion
|
||||
or trac repositories, burn CD/DVDs or create ISOs, incremental rsync with
|
||||
hard-linking.
|
||||
|
||||
%prep
|
||||
%setup -q -n backupninja-backupninja_upstream-%{version}
|
||||
%patch0 -p1 -b .redhat
|
||||
%patch1 -p1 -b .dupver
|
||||
%patch2 -p1 -b .extbck
|
||||
%patch3 -p1 -b .wspace
|
||||
%patch4 -p1 -b .dayswk
|
||||
%patch5 -p1 -b .paddng
|
||||
|
||||
%build
|
||||
%configure --libdir=%{_libexecdir}
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
make install DESTDIR=%{buildroot}
|
||||
mkdir -p -m 0750 %{buildroot}/%{_sysconfdir}/backup.d
|
||||
|
||||
%files
|
||||
%{!?_licensedir:%global license %doc}
|
||||
%{_sbindir}/backupninja
|
||||
%{_sbindir}/ninjahelper
|
||||
%{_libexecdir}/backupninja
|
||||
%doc AUTHORS ChangeLog FAQ.md NEWS README.md TODO
|
||||
%license COPYING
|
||||
%config(noreplace) %{_sysconfdir}/backupninja.conf
|
||||
%config(noreplace) %{_sysconfdir}/cron.d/backupninja
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/backupninja
|
||||
%dir %attr(0750,root,root )%{_sysconfdir}/backup.d
|
||||
%{_datadir}/backupninja
|
||||
%{_mandir}/man1/*.1*
|
||||
%{_mandir}/man5/*.5*
|
||||
|
||||
%changelog
|
||||
* Tue Sep 7 2021 zhengyaohui <zhengyaohui1@huawei.com> - 1.1.0-1
|
||||
- package init
|
||||
Loading…
x
Reference in New Issue
Block a user