summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConrad Kostecki <conikost@gentoo.org>2021-04-11 20:29:03 +0200
committerConrad Kostecki <conikost@gentoo.org>2021-04-11 21:23:46 +0200
commit3a38c0451e9f781371191490e80f76d4100a62e3 (patch)
tree6cbd24d8aa5ab2417d1bfb7607352ef0deca0621 /app-backup/backuppc
parentapp-admin/tenshi: migrate to GLEP 81 (diff)
downloadgentoo-3a38c0451e9f781371191490e80f76d4100a62e3.tar.gz
gentoo-3a38c0451e9f781371191490e80f76d4100a62e3.tar.bz2
gentoo-3a38c0451e9f781371191490e80f76d4100a62e3.zip
app-backup/backuppc: migrate to GLEP 81
Also updated to EAPI=7. Closes: https://bugs.gentoo.org/781209 Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'app-backup/backuppc')
-rw-r--r--app-backup/backuppc/backuppc-3.3.1-r6.ebuild196
-rw-r--r--app-backup/backuppc/files/3.2.0/04-add-docdir-marker.patch4
-rw-r--r--app-backup/backuppc/files/3.2.0/05-nicelevel.patch8
-rw-r--r--app-backup/backuppc/files/3.3.0/01-fix-configure.pl.patch4
-rw-r--r--app-backup/backuppc/files/3.3.0/02-fix-config.pl-formatting.patch4
-rw-r--r--app-backup/backuppc/files/3.3.0/03-reasonable-config.pl-defaults.patch4
-rw-r--r--app-backup/backuppc/files/backuppc-3.3.1-perl522.patch4
-rw-r--r--app-backup/backuppc/files/backuppc-3.3.1-perl526.patch4
8 files changed, 212 insertions, 16 deletions
diff --git a/app-backup/backuppc/backuppc-3.3.1-r6.ebuild b/app-backup/backuppc/backuppc-3.3.1-r6.ebuild
new file mode 100644
index 000000000000..a2b9c23aa1c1
--- /dev/null
+++ b/app-backup/backuppc/backuppc-3.3.1-r6.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_P="BackupPC-${PV}"
+
+inherit depend.apache systemd
+
+DESCRIPTION="High-performance backups to a server's disk"
+HOMEPAGE="http://backuppc.sourceforge.net/"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="rss samba"
+
+DEPEND="
+ acct-group/backuppc
+ acct-user/backuppc
+ app-admin/apache-tools
+ app-admin/makepasswd
+ dev-lang/perl
+"
+
+# The CGI modules are handled in $RDEPEND.
+APACHE_MODULES="apache2_modules_alias," # RedirectMatch
+APACHE_MODULES+="apache2_modules_authn_core," # AuthType
+APACHE_MODULES+="apache2_modules_authz_core," # Require
+APACHE_MODULES+="apache2_modules_authz_host," # Require host
+APACHE_MODULES+="apache2_modules_authz_user" # Require valid-user
+
+# Older versions of mod_perl think they're compatibile with apache-2.4,
+# so we require the new one explicitly.
+RDEPEND="
+ ${DEPEND}
+ app-arch/par2cmdline
+ dev-perl/Archive-Zip
+ dev-perl/CGI
+ dev-perl/File-RsyncP
+ dev-perl/libwww-perl
+ virtual/mta
+ virtual/perl-IO-Compress
+ www-apache/mod_perl
+ www-apache/mpm_itk
+ || (
+ >=www-servers/apache-2.4[${APACHE_MODULES},apache2_modules_cgi]
+ >=www-servers/apache-2.4[${APACHE_MODULES},apache2_modules_cgid]
+ >=www-servers/apache-2.4[${APACHE_MODULES},apache2_modules_fcgid]
+ )
+ rss? ( dev-perl/XML-RSS )
+ samba? ( net-fs/samba )"
+
+PATCHES=(
+ "${FILESDIR}/3.3.0/01-fix-configure.pl.patch"
+ "${FILESDIR}/3.3.0/02-fix-config.pl-formatting.patch"
+ "${FILESDIR}/3.3.0/03-reasonable-config.pl-defaults.patch"
+ "${FILESDIR}/3.2.0/04-add-docdir-marker.patch"
+ "${FILESDIR}/3.2.0/05-nicelevel.patch"
+ "${FILESDIR}"/${P}-perl522.patch #580254
+ "${FILESDIR}"/${P}-perl526.patch #594128
+)
+
+CGIDIR="/usr/lib/backuppc/htdocs"
+CONFDIR="/etc/BackupPC"
+DATADIR="/var/lib/backuppc"
+DOCDIR="/usr/share/doc/${PF}"
+LOGDIR="/var/log/BackupPC"
+need_apache2_4
+
+src_prepare() {
+ default
+
+ # Fix initscript
+ sed -e 's/runscript/openrc-run/g' -i init.d/src/gentoo-backuppc || die
+
+ # Fix docs location using the marker that we've patched in.
+ sed "s+__DOCDIR__+${DOCDIR}+" -i "lib/BackupPC/CGI/View.pm" || die
+}
+
+src_install() {
+ local myconf
+ myconf=""
+ if use samba ; then
+ myconf="--bin-path smbclient=$(type -p smbclient)"
+ myconf="${myconf} --bin-path nmblookup=$(type -p nmblookup)"
+ fi
+
+ /usr/bin/env perl ./configure.pl \
+ --batch \
+ --bin-path perl=$(type -p perl) \
+ --bin-path tar=$(type -p tar) \
+ --bin-path rsync=$(type -p rsync) \
+ --bin-path ping=$(type -p ping) \
+ --bin-path df=$(type -p df) \
+ --bin-path ssh=$(type -p ssh) \
+ --bin-path sendmail=$(type -p sendmail) \
+ --bin-path hostname=$(type -p hostname) \
+ --bin-path gzip=$(type -p gzip) \
+ --bin-path bzip2=$(type -p bzip2) \
+ --config-dir "${CONFDIR}" \
+ --install-dir /usr \
+ --data-dir "${DATADIR}" \
+ --hostname 127.0.0.1 \
+ --uid-ignore \
+ --dest-dir "${D}" \
+ --html-dir "${CGIDIR}"/image \
+ --html-dir-url /image \
+ --cgi-dir "${CGIDIR}" \
+ --fhs \
+ ${myconf} || die "failed the configure.pl script"
+
+ ebegin "Installing documentation"
+
+ pod2man \
+ -errors=none \
+ --section=8 \
+ --center="BackupPC manual" \
+ "${S}"/doc/BackupPC.pod backuppc.8 \
+ || die "failed to generate man page"
+
+ doman backuppc.8
+
+ # Place the documentation in the correct location
+ dodoc "${D}/usr/doc/BackupPC.html"
+ dodoc "${D}/usr/doc/BackupPC.pod"
+ rm -rf "${D}/usr/doc" || die
+
+ eend 0
+
+ # Setup directories
+ dodir "${CONFDIR}/pc"
+
+ keepdir "${CONFDIR}"
+ keepdir "${CONFDIR}/pc"
+ keepdir "${DATADIR}"/{trash,pool,pc,cpool}
+ keepdir "${LOGDIR}"
+
+ ebegin "Setting up init.d/conf.d/systemd scripts"
+ newinitd "${S}"/init.d/gentoo-backuppc backuppc
+ newconfd "${S}"/init.d/gentoo-backuppc.conf backuppc
+ systemd_dounit "${FILESDIR}/${PN}.service"
+
+ insinto "${APACHE_MODULES_CONFDIR}"
+ doins "${FILESDIR}"/99_backuppc.conf
+
+ # Make sure that the ownership is correct
+ chown -R backuppc:backuppc "${D}${CONFDIR}" || die
+ chown -R backuppc:backuppc "${D}${DATADIR}" || die
+ chown -R backuppc:backuppc "${D}${LOGDIR}" || die
+}
+
+pkg_postinst() {
+ elog "Installation finished, you may now start using BackupPC."
+ elog
+ elog "- Read the documentation in /usr/share/doc/${PF}/BackupPC.html"
+ elog " Please pay special attention to the security section."
+ elog
+ elog "- You can launch backuppc by running:"
+ elog
+ elog " # /etc/init.d/backuppc start"
+ elog
+ elog "- To enable the GUI, first edit ${ROOT}/etc/conf.d/apache2 and add,"
+ elog
+ elog " \"-D BACKUPPC -D PERL -D MPM_ITK\""
+ elog
+ elog " to the APACHE2_OPTS line."
+ elog
+ elog " Then you must edit ${ROOT}/etc/apache2/modules.d/00_mpm_itk.conf"
+ elog " and adjust the values of LimitUIDRange/LimitGIDRange to include"
+ elog " the UID and GID of the backuppc user."
+ elog
+ elog " Finally, start apache:"
+ elog
+ elog " # /etc/init.d/apache2 start"
+ elog
+ elog " The web interface should now be running on,"
+ elog
+ elog " http://127.0.0.1:8080/"
+ elog
+
+ # Generate a new password if there's no auth file
+ if [[ ! -f "${CONFDIR}/users.htpasswd" ]]; then
+ adminuser="backuppc"
+ adminpass=$( makepasswd --chars=12 )
+ htpasswd -bc "${CONFDIR}/users.htpasswd" $adminuser $adminpass
+
+ elog ""
+ elog "- Created admin user $adminuser with password $adminpass"
+ elog " To add new users, run: "
+ elog ""
+ elog " # htpasswd ${CONFDIR}/users.htpasswd newUser"
+ fi
+}
diff --git a/app-backup/backuppc/files/3.2.0/04-add-docdir-marker.patch b/app-backup/backuppc/files/3.2.0/04-add-docdir-marker.patch
index 0355aedf04b7..d6a5a1c42991 100644
--- a/app-backup/backuppc/files/3.2.0/04-add-docdir-marker.patch
+++ b/app-backup/backuppc/files/3.2.0/04-add-docdir-marker.patch
@@ -1,5 +1,5 @@
---- lib/BackupPC/CGI/View.pm.orig 2009-09-30 19:08:34.353577546 +0300
-+++ lib/BackupPC/CGI/View.pm 2009-09-30 19:16:01.982412712 +0300
+--- a/lib/BackupPC/CGI/View.pm.orig 2009-09-30 19:08:34.353577546 +0300
++++ b/lib/BackupPC/CGI/View.pm 2009-09-30 19:16:01.982412712 +0300
@@ -86,7 +86,7 @@
$file = $bpc->ConfDir() . "/hosts";
$linkHosts = 1;
diff --git a/app-backup/backuppc/files/3.2.0/05-nicelevel.patch b/app-backup/backuppc/files/3.2.0/05-nicelevel.patch
index 50938f60bcdc..f6ecce98a7a8 100644
--- a/app-backup/backuppc/files/3.2.0/05-nicelevel.patch
+++ b/app-backup/backuppc/files/3.2.0/05-nicelevel.patch
@@ -1,5 +1,5 @@
---- init.d/src/gentoo-backuppc.orig 2009-10-18 00:14:44.125346723 +0300
-+++ init.d/src/gentoo-backuppc 2009-10-18 00:15:37.101346981 +0300
+--- a/init.d/src/gentoo-backuppc.orig 2009-10-18 00:14:44.125346723 +0300
++++ b/init.d/src/gentoo-backuppc 2009-10-18 00:15:37.101346981 +0300
@@ -21,7 +21,7 @@
start() {
checkconfig || return 1
@@ -9,8 +9,8 @@
eend $?
}
---- init.d/src/gentoo-backuppc.conf.orig 2009-10-18 00:14:52.513347638 +0300
-+++ init.d/src/gentoo-backuppc.conf 2009-10-18 00:16:03.457346630 +0300
+--- a/init.d/src/gentoo-backuppc.conf.orig 2009-10-18 00:14:52.513347638 +0300
++++ b/init.d/src/gentoo-backuppc.conf 2009-10-18 00:16:03.457346630 +0300
@@ -3,3 +3,4 @@
PID_FILE=__LOGDIR__/BackupPC.pid
EXEC=__INSTALLDIR__/bin/BackupPC
diff --git a/app-backup/backuppc/files/3.3.0/01-fix-configure.pl.patch b/app-backup/backuppc/files/3.3.0/01-fix-configure.pl.patch
index c943fdce68b1..f27fccc154fe 100644
--- a/app-backup/backuppc/files/3.3.0/01-fix-configure.pl.patch
+++ b/app-backup/backuppc/files/3.3.0/01-fix-configure.pl.patch
@@ -1,5 +1,5 @@
---- configure.pl.dist 2013-09-23 23:01:19.524743747 +0300
-+++ configure.pl 2013-09-23 23:01:37.344567459 +0300
+--- a/configure.pl.dist 2013-09-23 23:01:19.524743747 +0300
++++ b/configure.pl 2013-09-23 23:01:37.344567459 +0300
@@ -158,7 +158,7 @@
# config file to get all the defaults.
#
diff --git a/app-backup/backuppc/files/3.3.0/02-fix-config.pl-formatting.patch b/app-backup/backuppc/files/3.3.0/02-fix-config.pl-formatting.patch
index 79ad6547fa6f..14a9600536d7 100644
--- a/app-backup/backuppc/files/3.3.0/02-fix-config.pl-formatting.patch
+++ b/app-backup/backuppc/files/3.3.0/02-fix-config.pl-formatting.patch
@@ -1,5 +1,5 @@
---- conf/config.pl.dist 2013-09-23 23:05:50.332064754 +0300
-+++ conf/config.pl 2013-09-23 23:07:44.110943607 +0300
+--- a/conf/config.pl.dist 2013-09-23 23:05:50.332064754 +0300
++++ b/conf/config.pl 2013-09-23 23:07:44.110943607 +0300
@@ -355,7 +355,7 @@
# needs to be a full path and you can't include shell syntax like
# redirection and pipes; put that in a script if you need it.
diff --git a/app-backup/backuppc/files/3.3.0/03-reasonable-config.pl-defaults.patch b/app-backup/backuppc/files/3.3.0/03-reasonable-config.pl-defaults.patch
index 8b54fc87b050..0dd85d3acad1 100644
--- a/app-backup/backuppc/files/3.3.0/03-reasonable-config.pl-defaults.patch
+++ b/app-backup/backuppc/files/3.3.0/03-reasonable-config.pl-defaults.patch
@@ -1,5 +1,5 @@
---- conf/config.pl.formatted 2013-09-23 23:12:30.708129365 +0300
-+++ conf/config.pl 2013-09-23 23:12:39.448043656 +0300
+--- a/conf/config.pl.formatted 2013-09-23 23:12:30.708129365 +0300
++++ b/conf/config.pl 2013-09-23 23:12:39.448043656 +0300
@@ -1305,7 +1305,7 @@
'--times',
'--block-size=2048',
diff --git a/app-backup/backuppc/files/backuppc-3.3.1-perl522.patch b/app-backup/backuppc/files/backuppc-3.3.1-perl522.patch
index fb7eeeef1e02..cb29e890d347 100644
--- a/app-backup/backuppc/files/backuppc-3.3.1-perl522.patch
+++ b/app-backup/backuppc/files/backuppc-3.3.1-perl522.patch
@@ -1,5 +1,5 @@
---- lib/BackupPC/CGI/Browse.pm 2016-11-22 20:52:03.622509160 +0100
-+++ lib/BackupPC/CGI/Browse.pm 2016-11-22 20:50:35.871018400 +0100
+--- a/lib/BackupPC/CGI/Browse.pm 2016-11-22 20:52:03.622509160 +0100
++++ b/lib/BackupPC/CGI/Browse.pm 2016-11-22 20:50:35.871018400 +0100
@@ -62,13 +62,13 @@ fix bug https://bugzilla.redhat.com/attachment.cgi?id=1104083
#
my @Backups = $bpc->BackupInfoRead($host);
diff --git a/app-backup/backuppc/files/backuppc-3.3.1-perl526.patch b/app-backup/backuppc/files/backuppc-3.3.1-perl526.patch
index 3a04f94835c3..ec7b9a63d06f 100644
--- a/app-backup/backuppc/files/backuppc-3.3.1-perl526.patch
+++ b/app-backup/backuppc/files/backuppc-3.3.1-perl526.patch
@@ -1,6 +1,6 @@
diff -ruN BackupPC-3.3.1.orig/lib/BackupPC/Lib.pm BackupPC-3.3.1/lib/BackupPC/Lib.pm
---- BackupPC-3.3.1.orig/lib/BackupPC/Lib.pm 2015-01-12 01:19:53.000000000 +0100
-+++ BackupPC-3.3.1/lib/BackupPC/Lib.pm 2017-07-08 00:31:52.100003197 +0200
+--- a/BackupPC-3.3.1.orig/lib/BackupPC/Lib.pm 2015-01-12 01:19:53.000000000 +0100
++++ b/BackupPC-3.3.1/lib/BackupPC/Lib.pm 2017-07-08 00:31:52.100003197 +0200
@@ -1261,7 +1261,7 @@
#
# Replace scalar variables first