aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/backuppc/APKBUILD66
-rw-r--r--main/backuppc/backuppc.post-install7
-rw-r--r--main/backuppc/backuppc.pre-install4
-rw-r--r--main/backuppc/configure.pl.patch66
4 files changed, 143 insertions, 0 deletions
diff --git a/main/backuppc/APKBUILD b/main/backuppc/APKBUILD
new file mode 100644
index 0000000000..05de31bcbb
--- /dev/null
+++ b/main/backuppc/APKBUILD
@@ -0,0 +1,66 @@
+# Contributor:
+# Maintainer: Leonardo Arena <rnalrd@gmail.com>
+pkgname="backuppc"
+_realname="BackupPC"
+pkgver="3.2.0b1"
+_realver="3.2.0beta1"
+pkgrel=4
+pkgdesc="High-performance, enterprise-grade backup system"
+url="http://backuppc.sourceforge.net/"
+license="GPL"
+depends="perl busybox rsync perl-archive-zip perl-io-compress
+perl-libwww perl-file-rsync"
+makedepends=""
+install="$pkgname.pre-install $pkgname.post-install"
+subpackages=""
+source="http://downloads.sourceforge.net/project/$pkgname/$pkgname-beta/$_realver/$_realname-$_realver.tar.gz
+configure.pl.patch"
+
+_builddir="$srcdir/$_realname-$_realver"
+
+prepare () {
+ cd "$_builddir"
+ mkdir -p "$pkgdir"/etc/BackupPC
+ mkdir -p "$pkgdir"/var/www/cgi-bin
+ patch -p2 < ../../configure.pl.patch
+}
+
+build() {
+ cd "$_builddir"
+ perl configure.pl \
+ --batch \
+ --backuppc-user=backuppc \
+ --bin-path bzip2=/usr/bin/bzip2 \
+ --bin-path cat=/bin/cat \
+ --bin-path df=/bin/df \
+ --bin-path tar=/bin/tar \
+ --bin-path hostname=/bin/hostname \
+ --bin-path nmblookup=/usr/bin/nmblookup \
+ --bin-path perl=/usr/bin/perl \
+ --bin-path ping=/bin/ping \
+ --bin-path rsync=/usr/bin/rsync \
+ --bin-path sendmail=/usr/bin/sendmail \
+ --bin-path smbclient=/usr/bin/smbclient \
+ --bin-path split=/usr/bin/split \
+ --bin-path ssh=/usr/bin/ssh \
+ --compress-level=3 \
+ --dest-dir="$pkgdir" \
+ --config-dir /etc/BackupPC \
+ --cgi-dir /var/www/cgi-bin \
+ --data-dir /var/lib/BackupPC/data/BackupPC \
+ --hostname backuppc \
+ --html-dir /var/www/htdocs/BackupPC \
+ --html-dir-url /BackupPC \
+ --install-dir /usr/lib/BackupPC \
+ --log-dir /var/log/BackupPC \
+ --uid-ignore \
+ --no-set-perms || return 1
+}
+
+package() {
+ cd $_builddir
+ install -m755 configure.pl $pkgdir/usr/lib/BackupPC/bin/configure.pl
+}
+
+md5sums="34c85b43136954c81d543fa0a7b0b121 BackupPC-3.2.0beta1.tar.gz
+f57ad7fdcce804f20f2fe82bee91e813 configure.pl.patch"
diff --git a/main/backuppc/backuppc.post-install b/main/backuppc/backuppc.post-install
new file mode 100644
index 0000000000..0ba76f20f4
--- /dev/null
+++ b/main/backuppc/backuppc.post-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+for dir in /etc /var/log /var/lib
+do
+chown -R backuppc.backuppc ${dir}/BackupPC &>/dev/null
+done
+
+chmod 774 /usr/lib/BackupPC/bin/* &>/dev/null
diff --git a/main/backuppc/backuppc.pre-install b/main/backuppc/backuppc.pre-install
new file mode 100644
index 0000000000..415971d749
--- /dev/null
+++ b/main/backuppc/backuppc.pre-install
@@ -0,0 +1,4 @@
+#!/bin/sh
+addgroup -S backuppc &>/dev/null
+adduser -h /var/lib/backuppc -s /bin/sh -S -D -H -G backuppc -g "BackuPC user" backuppc &>/dev/null
+exit 0
diff --git a/main/backuppc/configure.pl.patch b/main/backuppc/configure.pl.patch
new file mode 100644
index 0000000000..24d5e3bb38
--- /dev/null
+++ b/main/backuppc/configure.pl.patch
@@ -0,0 +1,66 @@
+--- src/BackupPC-3.2.0beta1/configure.pl
++++ configure.pl
+@@ -327,25 +327,8 @@
+
+ EOF
+ my($name, $passwd, $Uid, $Gid);
+-while ( 1 ) {
+- $Conf{BackupPCUser} = prompt("--> BackupPC should run as user",
+- $Conf{BackupPCUser} || "backuppc",
+- "backuppc-user");
+- if ( $opts{"set-perms"} ) {
+ ($name, $passwd, $Uid, $Gid) = getpwnam($Conf{BackupPCUser});
+- last if ( $name ne "" );
+- print <<EOF;
+
+-getpwnam() says that user $Conf{BackupPCUser} doesn't exist. Please
+-check the name and verify that this user is in the passwd file.
+-
+-EOF
+- exit(1) if ( $opts{batch} );
+- } else {
+- last;
+- }
+-}
+-
+ print <<EOF;
+
+ Please specify an install directory for BackupPC. This is where the
+@@ -532,12 +515,6 @@
+ ) ) {
+ next if ( -d "$DestDir$Conf{InstallDir}/$dir" );
+ mkpath("$DestDir$Conf{InstallDir}/$dir", 0, 0755);
+- if ( !-d "$DestDir$Conf{InstallDir}/$dir"
+- || !my_chown($Uid, $Gid, "$DestDir$Conf{InstallDir}/$dir") ) {
+- die("Failed to create or chown $DestDir$Conf{InstallDir}/$dir\n");
+- } else {
+- print("Created $DestDir$Conf{InstallDir}/$dir\n");
+- }
+ }
+
+ #
+@@ -546,11 +523,6 @@
+ foreach my $dir ( ($Conf{CgiImageDir}) ) {
+ next if ( $dir eq "" || -d "$DestDir$dir" );
+ mkpath("$DestDir$dir", 0, 0755);
+- if ( !-d "$DestDir$dir" || !my_chown($Uid, $Gid, "$DestDir$dir") ) {
+- die("Failed to create or chown $DestDir$dir");
+- } else {
+- print("Created $DestDir$dir\n");
+- }
+ }
+
+ #
+@@ -566,12 +538,6 @@
+ "$Conf{LogDir}",
+ ) ) {
+ mkpath("$DestDir$dir", 0, 0750) if ( !-d "$DestDir$dir" );
+- if ( !-d "$DestDir$dir"
+- || !my_chown($Uid, $Gid, "$DestDir$dir") ) {
+- die("Failed to create or chown $DestDir$dir\n");
+- } else {
+- print("Created $DestDir$dir\n");
+- }
+ }
+
+ printf("Installing binaries in $DestDir$Conf{InstallDir}/bin\n");