diff options
Diffstat (limited to 'backup/backuppc')
-rw-r--r-- | backup/backuppc/Manifest | 12 | ||||
-rw-r--r-- | backup/backuppc/backuppc-3.3.1-r5.ebuild | 197 | ||||
-rw-r--r-- | backup/backuppc/files/3.2.0/04-add-docdir-marker.patch | 11 | ||||
-rw-r--r-- | backup/backuppc/files/3.2.0/05-nicelevel.patch | 18 | ||||
-rw-r--r-- | backup/backuppc/files/3.3.0/01-fix-configure.pl.patch | 30 | ||||
-rw-r--r-- | backup/backuppc/files/3.3.0/02-fix-config.pl-formatting.patch | 137 | ||||
-rw-r--r-- | backup/backuppc/files/3.3.0/03-reasonable-config.pl-defaults.patch | 64 | ||||
-rw-r--r-- | backup/backuppc/files/99_backuppc.conf | 32 | ||||
-rw-r--r-- | backup/backuppc/files/backuppc-3.3.1-perl522.patch | 17 | ||||
-rw-r--r-- | backup/backuppc/files/backuppc-3.3.1-perl526.patch | 21 | ||||
-rw-r--r-- | backup/backuppc/files/backuppc.service | 13 | ||||
-rw-r--r-- | backup/backuppc/metadata.xml | 8 |
12 files changed, 560 insertions, 0 deletions
diff --git a/backup/backuppc/Manifest b/backup/backuppc/Manifest new file mode 100644 index 000000000000..c20220c71692 --- /dev/null +++ b/backup/backuppc/Manifest @@ -0,0 +1,12 @@ +AUX 3.2.0/04-add-docdir-marker.patch 470 BLAKE2B 29376a3f028411f3bb85f6f717de30c9dfe7efb6819ac7a513d1cf75dd0606f1a6fda3e1c262ee2dca1d9176428e4aa4a50732433cfe43c7babd43b09e9e4847 SHA512 82b3fbb9c86405f2d8ab12f0a8de21d4b793ec012bfb1cd0fb3a51b769c3d29cfda1adf1b701826fd3e36e0a8aaf10b84b75643620b6512bd2351bbe768fc636 +AUX 3.2.0/05-nicelevel.patch 756 BLAKE2B b689fd8ffd8ec7821f0922832f7ac06186d4d18a6bc55cbdb1bc6c339d0f962ac750b92aac3f93e96c454054c8e91129d14664cbdd332c3a3978f2540037d702 SHA512 b33fe04ba54c8d28c51a3c2d85b13e204db9a7f4f193d25888c168234f6fbe6f02a49403b7097f056d7ab8495cddaf457f1776d64bcc84188d2d67e8ea77c1f6 +AUX 3.3.0/01-fix-configure.pl.patch 1098 BLAKE2B 28ff909a8d2b002648912d97a02ba4a1d2b6fac58075c9c5f21f14e79a426d3f38a10a4c416f221d8aae20a4adc2bfdba0993f6064ac5eca67f1a6a4cfb0c579 SHA512 532b88689e50c0a399b42a3264975e1fc71a97b9edfd60faf5e94d0bfad972717c380b8925ca4d7df1e402b13f7104082a57bbecd3fbf74113c6f0e4d0990584 +AUX 3.3.0/02-fix-config.pl-formatting.patch 3900 BLAKE2B 7fdd0f12f9929bc7a54c04290f8f3bde73025a9108a2d0e1e887ceb1dd39502be4270e5a3a03b489211162f02b9bdd11e297e20afda53f1c9ea23254cdc02aa8 SHA512 e61e0bd445c57e1726411a5dec3a21f0d0f6ab6d394cc1882f0de467f9515d6299f3bf4955fbfaafd049097f0814665114e8453d750db19a063202af1378f394 +AUX 3.3.0/03-reasonable-config.pl-defaults.patch 1904 BLAKE2B 0a7ee19f20d4105a86ab612194f827a6da102512e5dcedd55ca1bf5d959ebd9797c281c8fe9b6d6cd6f4e8887d906a1d12024268bd3cb8070897a4961ed5e9ea SHA512 19033dfefa135cba82d7fef50e619916af710d40c46c214e508cd83cf9cbcf032b8fa54e960e5c685e428b3646777b1040c6d067e0d642d8ba9623ade0fb6d11 +AUX 99_backuppc.conf 718 BLAKE2B 3075731b3bd580e9e9f864391d8a65716f43826d801bdf95082dc2168120419346b09322292eecf9de0bac6708dcba606347142238a65f11676ec553ca278b75 SHA512 cb68dfbb635564740428850ea3f026ebc0b8e22b2bca52640b2f367e5487fa205b00ec82e4e192b311e2886686b81f9ea52de54886994c6cce1cd154937fa0ee +AUX backuppc-3.3.1-perl522.patch 607 BLAKE2B 98c35bbcbe76cd5f7bbc04722f9d8f840c61a8a713cf147db84934702ca754dbd3e0b88e83fa12ecfd45a2aa4974600d21f5cc8bd87fb0fb802f97b2a0c36ae0 SHA512 4d33fff4df53ee885676d58f78984616bb413fcbfd16fdacff0656d70a7c70c012c25f2fd685b360d878ebd407e76fab23103617f2bde0007ad9fc6bf34128c0 +AUX backuppc-3.3.1-perl526.patch 969 BLAKE2B 0b56c1535d8993a71ed2d3330db2cc1d22c42c3c9ed92bc00294c7d2769fc7277546c74844d592086d0b782a4cc482945a20f9ce9cec3daca174e297d80368cc SHA512 da626131a3253bbc6fe46a06f74462a2d356a71ae369e8de88acca2d85376be0d6ad16c8c566f7c80b93e794808f8b1c09a75707d5031dc64b93ab0f698faced +AUX backuppc.service 231 BLAKE2B 948543a9fc9accff40868e930680c4eb9c0ff89c291254091c8f48b788b1eacf6ba6aba317fd39d2958e8af2efd7194cbe26d3674ee055e8401c591ac27e2fa5 SHA512 9a7cb7ac7da2851cfaf90fafe082800fbac34a5a40a9f6aed1ea817b6f9aeb5be60cb3cfb35c263997c2ac1d22f3384752a23f44158572a9efc8f2c48e99c969 +DIST BackupPC-3.3.1.tar.gz 556461 BLAKE2B 91477196506291fb542a266aca4182ad727758ccf8379c135dcd5147d42b5f1f58d094473430fee64f67e0fc75e077fdf92bfcdaf2313dd53480737666746160 SHA512 b6bb9de3103c5062098d80755055b7461ae9133a4a46a66b3d0af89d081086571694db1898e7d85880defa15b030bad522812116ae5361c0fbde90b877d139c6 +EBUILD backuppc-3.3.1-r5.ebuild 5526 BLAKE2B 121793c6d0209b99a3104042181c3e85adec507aef4a69587c77329aa3d6822c6994b601b8b0c6302b33d3c0f1a84e4dd08f109b3b2f9a31f400d9da3bfac919 SHA512 c1c16a3cbb91dbd990165719591fd48fc6bdddc54c86e6d977f6e7cc3302b3e5e49ce1992f79b70e5c8edbde0b85919fcf4e8dcb2811af7dd725a5a1ab0d0ff6 +MISC metadata.xml 245 BLAKE2B 60b89e1b22df8b9bf236255a9563dea8017b658ba02811b0826ec33790245fbba9332bcfef37cfe1a0dfc5c15de494f7b6eab4b6fbc0f92c6b3c9bec34c2f5c3 SHA512 4129c00f4fd37b4c2e051df35c98105ee97b74bc2a8af78e97f2cbc4c97d14740456fc01ed2ab5c6df3bab10a17ce1728de9e4b83cfee393a8841e8933232877 diff --git a/backup/backuppc/backuppc-3.3.1-r5.ebuild b/backup/backuppc/backuppc-3.3.1-r5.ebuild new file mode 100644 index 000000000000..932f8a9640d5 --- /dev/null +++ b/backup/backuppc/backuppc-3.3.1-r5.ebuild @@ -0,0 +1,197 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +inherit depend.apache eutils user systemd + +MY_P="BackupPC-${PV}" + +DESCRIPTION="High-performance backups to a server's disk" +HOMEPAGE="http://backuppc.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="amd64 x86" + +IUSE="rss samba" + +# 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 + +DEPEND="dev-lang/perl + app-admin/apache-tools + app-admin/makepasswd" + +# Older versions of mod_perl think they're compatibile with apache-2.4, +# so we require the new one explicitly. +RDEPEND="${DEPEND} + virtual/perl-IO-Compress + dev-perl/Archive-Zip + dev-perl/CGI + dev-perl/libwww-perl + app-arch/tar + app-arch/par2cmdline + app-arch/gzip + app-arch/bzip2 + virtual/mta + >=www-apache/mod_perl-2.0.9 + 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] ) + net-misc/rsync + dev-perl/File-RsyncP + rss? ( dev-perl/XML-RSS ) + samba? ( net-fs/samba )" + +need_apache2_4 + +SLOT="0" + +S="${WORKDIR}/${MY_P}" + +CGIDIR="/usr/lib/backuppc/htdocs" +CONFDIR="/etc/BackupPC" +DATADIR="/var/lib/backuppc" +DOCDIR="/usr/share/doc/${PF}" +LOGDIR="/var/log/BackupPC" + +pkg_setup() { + enewgroup backuppc + enewuser backuppc -1 /bin/bash /var/lib/backuppc backuppc +} + +src_prepare() { + epatch "${FILESDIR}/3.3.0/01-fix-configure.pl.patch" + epatch "${FILESDIR}/3.3.0/02-fix-config.pl-formatting.patch" + epatch "${FILESDIR}/3.3.0/03-reasonable-config.pl-defaults.patch" + + epatch "${FILESDIR}/3.2.0/04-add-docdir-marker.patch" + epatch "${FILESDIR}/3.2.0/05-nicelevel.patch" + + epatch "${FILESDIR}"/${P}-perl522.patch #580254 + epatch "${FILESDIR}"/${P}-perl526.patch #594128 + + # Fix docs location using the marker that we've patched in. + sed -i "s+__DOCDIR__+${DOCDIR}+" "lib/BackupPC/CGI/View.pm" \ + || die "failed to sed the documentation location" +} + +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/backup/backuppc/files/3.2.0/04-add-docdir-marker.patch b/backup/backuppc/files/3.2.0/04-add-docdir-marker.patch new file mode 100644 index 000000000000..0355aedf04b7 --- /dev/null +++ b/backup/backuppc/files/3.2.0/04-add-docdir-marker.patch @@ -0,0 +1,11 @@ +--- 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 +@@ -86,7 +86,7 @@ + $file = $bpc->ConfDir() . "/hosts"; + $linkHosts = 1; + } elsif ( $type eq "docs" ) { +- $file = $bpc->InstallDir() . "/doc/BackupPC.html"; ++ $file = "__DOCDIR__/BackupPC.html"; + } elsif ( $host ne "" ) { + if ( !defined($In{num}) ) { + # get the latest LOG file diff --git a/backup/backuppc/files/3.2.0/05-nicelevel.patch b/backup/backuppc/files/3.2.0/05-nicelevel.patch new file mode 100644 index 000000000000..50938f60bcdc --- /dev/null +++ b/backup/backuppc/files/3.2.0/05-nicelevel.patch @@ -0,0 +1,18 @@ +--- 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 +@@ -21,7 +21,7 @@ + start() { + checkconfig || return 1 + ebegin "Starting BackupPC" +- start-stop-daemon --start --chuid ${USER} --user ${USER} --pidfile ${PID_FILE} --exec ${EXEC} -- ${EXEC_OPTIONS} ++ start-stop-daemon --start --chuid ${USER} --user ${USER} --nicelevel ${NICELEVEL} --pidfile ${PID_FILE} --exec ${EXEC} -- ${EXEC_OPTIONS} + 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 +@@ -3,3 +3,4 @@ + PID_FILE=__LOGDIR__/BackupPC.pid + EXEC=__INSTALLDIR__/bin/BackupPC + EXEC_OPTIONS=-d ++NICELEVEL=0 diff --git a/backup/backuppc/files/3.3.0/01-fix-configure.pl.patch b/backup/backuppc/files/3.3.0/01-fix-configure.pl.patch new file mode 100644 index 000000000000..c943fdce68b1 --- /dev/null +++ b/backup/backuppc/files/3.3.0/01-fix-configure.pl.patch @@ -0,0 +1,30 @@ +--- configure.pl.dist 2013-09-23 23:01:19.524743747 +0300 ++++ configure.pl 2013-09-23 23:01:37.344567459 +0300 +@@ -158,7 +158,7 @@ + # config file to get all the defaults. + # + my $ConfigPath = ""; +-my $ConfigFileOK = 1; ++my $ConfigFileOK = 0; + while ( 1 ) { + if ( $ConfigFileOK && -f "/etc/BackupPC/config.pl" ) { + $ConfigPath = "/etc/BackupPC/config.pl"; +@@ -213,7 +213,8 @@ + $bpc->{LogDir} = $Conf{LogDir} = "$Conf{TopDir}/log" + if ( $Conf{LogDir} eq '' ); + } +- $bpc->{ConfDir} = $Conf{ConfDir} = $confDir; ++ # Disable this as it's not really neccessary for this ebuild ++ # $bpc->{ConfDir} = $Conf{ConfDir} = $confDir; + my $err = $bpc->ServerConnect($Conf{ServerHost}, $Conf{ServerPort}, 1); + if ( $err eq "" ) { + print <<EOF; +@@ -729,7 +730,7 @@ + if ( $Conf{CgiDir} =~ m{cgi-bin(/.*)} ) { + $Conf{CgiURL} = "'http://$Conf{ServerHost}/cgi-bin$1/BackupPC_Admin'"; + } else { +- $Conf{CgiURL} = "'http://$Conf{ServerHost}/cgi-bin/BackupPC_Admin'"; ++ $Conf{CgiURL} = "'http://$Conf{ServerHost}/BackupPC_Admin'"; + } + } + diff --git a/backup/backuppc/files/3.3.0/02-fix-config.pl-formatting.patch b/backup/backuppc/files/3.3.0/02-fix-config.pl-formatting.patch new file mode 100644 index 000000000000..79ad6547fa6f --- /dev/null +++ b/backup/backuppc/files/3.3.0/02-fix-config.pl-formatting.patch @@ -0,0 +1,137 @@ +--- conf/config.pl.dist 2013-09-23 23:05:50.332064754 +0300 ++++ 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. + # +-$Conf{ServerInitdPath} = ''; ++$Conf{ServerInitdPath} = undef; + $Conf{ServerInitdStartCmd} = ''; + + +@@ -373,7 +373,7 @@ + # time taken for the backup, plus the granularity of $Conf{WakeupSchedule} + # will make the actual backup interval a bit longer. + # +-$Conf{FullPeriod} = 6.97; ++$Conf{FullPeriod} = '6.97'; + + # + # Minimum period in days between incremental backups (a user requested +@@ -383,7 +383,7 @@ + # time taken for the backup, plus the granularity of $Conf{WakeupSchedule} + # will make the actual backup interval a bit longer. + # +-$Conf{IncrPeriod} = 0.97; ++$Conf{IncrPeriod} = '0.97'; + + # + # Number of full backups to keep. Must be >= 1. +@@ -458,7 +458,7 @@ + # $Conf{FullKeepCnt} = 4; + # $Conf{FullKeepCnt} = [4]; + # +-$Conf{FullKeepCnt} = 1; ++$Conf{FullKeepCnt} = [1]; + + # + # Very old full backups are removed after $Conf{FullAgeMax} days. However, +@@ -688,7 +688,7 @@ + # '*' => ['/myFiles', '/important'], # these are other shares + # }; + # +-$Conf{BackupFilesOnly} = undef; ++$Conf{BackupFilesOnly} = {}; + + # + # List of directories or files to exclude from the backup. For Smb, +@@ -749,7 +749,7 @@ + # '*' => ['/junk', '/dont_back_this_up'], # these are for other shares + # }; + # +-$Conf{BackupFilesExclude} = undef; ++$Conf{BackupFilesExclude} = {}; + + # + # PCs that are always or often on the network can be backed up after +@@ -932,7 +932,7 @@ + # + # This setting only matters if $Conf{XferMethod} = 'smb'. + # +-$Conf{SmbShareName} = 'C$'; ++$Conf{SmbShareName} = ['C$']; + + # + # Smbclient share user name. This is passed to smbclient's -U argument. +@@ -1054,7 +1054,7 @@ + # + # This setting only matters if $Conf{XferMethod} = 'tar'. + # +-$Conf{TarShareName} = '/'; ++$Conf{TarShareName} = ['/']; + + # + # Command to run tar on the client. GNU tar is required. You will +@@ -1233,7 +1233,7 @@ + # + # $Conf{RsyncShareName} = ['/', '/var', '/data', '/boot']; + # +-$Conf{RsyncShareName} = '/'; ++$Conf{RsyncShareName} = ['/']; + + # + # Rsync daemon port on the client, for $Conf{XferMethod} = "rsyncd". +@@ -1285,7 +1285,7 @@ + # + # This setting has no effect unless checksum caching is turned on. + # +-$Conf{RsyncCsumCacheVerifyProb} = 0.01; ++$Conf{RsyncCsumCacheVerifyProb} = '0.01'; + + # + # Arguments to rsync for backup. Do not edit the first set unless you +@@ -1883,7 +1883,7 @@ + # rounded up (ie: 2.5 means a user will never receive email more + # than once every 3 days). + # +-$Conf{EMailNotifyMinDays} = 2.5; ++$Conf{EMailNotifyMinDays} = '2.5'; + + # + # Name to use as the "from" name for email. Depending upon your mail +@@ -1938,7 +1938,7 @@ + # When there have been no backups in this number of days the user + # is sent an email. + # +-$Conf{EMailNotifyOldBackupDays} = 7.0; ++$Conf{EMailNotifyOldBackupDays} = 7; + + # + # This subject and message is sent to a user if their PC has not recently +@@ -1965,7 +1965,7 @@ + # How old the most recent backup of Outlook files has to be before + # notifying user. + # +-$Conf{EMailNotifyOldOutlookDays} = 5.0; ++$Conf{EMailNotifyOldOutlookDays} = 5; + + # + # This subject and message is sent to a user if their Outlook files have +@@ -2102,14 +2102,17 @@ + { + link => "?action=view&type=docs", + lname => "Documentation", # actually displays $Lang->{Documentation} ++ name => undef, + }, + { + link => "http://backuppc.wiki.sourceforge.net", + name => "Wiki", # displays literal "Wiki" ++ lname => undef, + }, + { + link => "http://backuppc.sourceforge.net", + name => "SourceForge", # displays literal "SourceForge" ++ lname => undef, + }, + ]; + diff --git a/backup/backuppc/files/3.3.0/03-reasonable-config.pl-defaults.patch b/backup/backuppc/files/3.3.0/03-reasonable-config.pl-defaults.patch new file mode 100644 index 000000000000..8b54fc87b050 --- /dev/null +++ b/backup/backuppc/files/3.3.0/03-reasonable-config.pl-defaults.patch @@ -0,0 +1,64 @@ +--- conf/config.pl.formatted 2013-09-23 23:12:30.708129365 +0300 ++++ conf/config.pl 2013-09-23 23:12:39.448043656 +0300 +@@ -1305,7 +1305,7 @@ + '--times', + '--block-size=2048', + '--recursive', +- ++ '--specials', + # + # Rsync >= 2.6.3 supports the --checksum-seed option + # which allows rsync checksum caching on the server. +@@ -1313,7 +1313,7 @@ + # you have a recent client rsync version and you want + # to enable checksum caching. + # +- #'--checksum-seed=32761', ++ '--checksum-seed=32761', + ]; + + # +@@ -1383,6 +1383,7 @@ + '--relative', + '--ignore-times', + '--recursive', ++ '--specials', + + # + # Rsync >= 2.6.3 supports the --checksum-seed option +@@ -1391,7 +1392,7 @@ + # you have a recent client rsync version and you want + # to enable checksum caching. + # +- #'--checksum-seed=32761', ++ '--checksum-seed=32761', + + # + # Add additional arguments here +@@ -2029,7 +2030,7 @@ + # --> administrative users are only craig and celia'. + # + $Conf{CgiAdminUserGroup} = ''; +-$Conf{CgiAdminUsers} = ''; ++$Conf{CgiAdminUsers} = 'backuppc'; + + # + # URL of the BackupPC_Admin CGI script. Used for email messages. +@@ -2076,7 +2077,7 @@ + # dates (MM/DD), a value of 2 uses full YYYY-MM-DD format, and zero + # for international dates (DD/MM). + # +-$Conf{CgiDateFormatMMDD} = 1; ++$Conf{CgiDateFormatMMDD} = 2; + + # + # If set, the complete list of hosts appears in the left navigation +@@ -2262,7 +2263,7 @@ + ClientTimeout => 1, + MaxOldPerPCLogFiles => 1, + CompressLevel => 1, +- ClientNameAlias => 1, ++ ClientNameAlias => 0, + DumpPreUserCmd => 0, + DumpPostUserCmd => 0, + RestorePreUserCmd => 0, diff --git a/backup/backuppc/files/99_backuppc.conf b/backup/backuppc/files/99_backuppc.conf new file mode 100644 index 000000000000..eae766e4fa75 --- /dev/null +++ b/backup/backuppc/files/99_backuppc.conf @@ -0,0 +1,32 @@ +<IfDefine BACKUPPC> + + +Listen 8080 +<VirtualHost 127.0.0.1:8080> + AssignUserId backuppc backuppc + DocumentRoot "/usr/lib/backuppc/htdocs/" + RedirectMatch ^/$ /BackupPC_Admin + + <Directory "/usr/lib/backuppc/htdocs"> + AuthType Basic + AuthName "BackupPC Community Edition Administrative Interface" + AuthUserFile "/etc/BackupPC/users.htpasswd" + Options ExecCGI + Require valid-user + Require host 127.0.0.1 + </Directory> + + <Location "/BackupPC_Admin"> + SetHandler perl-script + PerlResponseHandler ModPerl::Registry + PerlOptions +ParseHeaders + </Location> + + <Directory "/usr/lib/backuppc/htdocs/image"> + Require all granted + Options -ExecCGI + </Directory> +</VirtualHost> + + +</IfDefine> diff --git a/backup/backuppc/files/backuppc-3.3.1-perl522.patch b/backup/backuppc/files/backuppc-3.3.1-perl522.patch new file mode 100644 index 000000000000..fb7eeeef1e02 --- /dev/null +++ b/backup/backuppc/files/backuppc-3.3.1-perl522.patch @@ -0,0 +1,17 @@ +--- 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 +@@ -62,13 +62,13 @@ fix bug https://bugzilla.redhat.com/attachment.cgi?id=1104083 + # + my @Backups = $bpc->BackupInfoRead($host); + + # + # default to the newest backup + # +- if ( !defined($In{num}) && defined(@Backups) && @Backups > 0 ) { ++ if ( !defined($In{num}) && @Backups > 0 ) { + $i = @Backups - 1; + $num = $Backups[$i]{num}; + } + + for ( $i = 0 ; $i < @Backups ; $i++ ) { + last if ( $Backups[$i]{num} == $num ); diff --git a/backup/backuppc/files/backuppc-3.3.1-perl526.patch b/backup/backuppc/files/backuppc-3.3.1-perl526.patch new file mode 100644 index 000000000000..3a04f94835c3 --- /dev/null +++ b/backup/backuppc/files/backuppc-3.3.1-perl526.patch @@ -0,0 +1,21 @@ +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 +@@ -1261,7 +1261,7 @@ + # + # Replace scalar variables first + # +- $arg =~ s[\${(\w+)}(\+?)]{ ++ $arg =~ s[\$\{(\w+)}(\+?)]{ + exists($vars->{$1}) && ref($vars->{$1}) ne "ARRAY" + ? ($2 eq "+" ? $bpc->shellEscape($vars->{$1}) : $vars->{$1}) + : "\${$1}$2" +@@ -1270,7 +1270,7 @@ + # Now replicate any array arguments; this just works for just one + # array var in each argument. + # +- if ( $arg =~ m[(.*)\${(\w+)}(\+?)(.*)] && ref($vars->{$2}) eq "ARRAY" ) { ++ if ( $arg =~ m[(.*)\$\{(\w+)}(\+?)(.*)] && ref($vars->{$2}) eq "ARRAY" ) { + my $pre = $1; + my $var = $2; + my $esc = $3; diff --git a/backup/backuppc/files/backuppc.service b/backup/backuppc/files/backuppc.service new file mode 100644 index 000000000000..7c4877a4ee24 --- /dev/null +++ b/backup/backuppc/files/backuppc.service @@ -0,0 +1,13 @@ +[Unit] +Description= BackupPC server +After=syslog.target local-fs.target remote-fs.target + +[Service] +Type=oneshot +User=backuppc +Group=backuppc +ExecStart=/usr/bin/BackupPC -d +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/backup/backuppc/metadata.xml b/backup/backuppc/metadata.xml new file mode 100644 index 000000000000..13724624fa85 --- /dev/null +++ b/backup/backuppc/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <upstream> + <remote-id type="sourceforge">backuppc</remote-id> + </upstream> +</pkgmetadata> |