!1 Package init

From: @zhengyaohui
Reviewed-by: @small_leek
Signed-off-by: @small_leek
This commit is contained in:
openeuler-ci-bot 2021-09-13 03:14:51 +00:00 committed by Gitee
commit 84062b69c5
8 changed files with 249 additions and 0 deletions

View 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

View 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

View 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

View 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

Binary file not shown.

View 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

View 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
View 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