app-backup/flexbackup: EAPI=6 (bug 600140) and tar compatibility (bug 601368)
authorHans de Graaff <graaff@gentoo.org>
Sun, 11 Dec 2016 08:07:06 +0000 (09:07 +0100)
committerHans de Graaff <graaff@gentoo.org>
Sun, 11 Dec 2016 08:07:47 +0000 (09:07 +0100)
Convert ebuild to EAPI 6. Use eapply and proper phases.
Use einstalldocs and drop unneeded eutils class.

Add patch to ensure compatibility with tar 1.29 and later.
Thanks for John R. Graham in bug 601368 and Princess Nell
in the forums.

Package-Manager: portage-2.3.0

app-backup/flexbackup/files/flexbackup-1.2.1-perl-5.16-deprecation-warning.patch
app-backup/flexbackup/files/flexbackup-1.2.1-tar-1.29.patch [new file with mode: 0644]
app-backup/flexbackup/flexbackup-1.2.1-r13.ebuild [new file with mode: 0644]

index 72d3abd838a733bf5e1532970fa7230e35ace6fe..285cf26313f94a8d8f96eb7e4b2c92cd901ade8d 100644 (file)
@@ -1,4 +1,4 @@
---- /usr/bin/flexbackup        2010-12-30 08:09:10.000000000 +0100
+--- flexbackup 2010-12-30 08:09:10.000000000 +0100
 +++ flexbackup 2013-12-24 15:44:25.000000000 +0100
 @@ -2688,7 +2688,7 @@
      }
diff --git a/app-backup/flexbackup/files/flexbackup-1.2.1-tar-1.29.patch b/app-backup/flexbackup/files/flexbackup-1.2.1-tar-1.29.patch
new file mode 100644 (file)
index 0000000..211cf20
--- /dev/null
@@ -0,0 +1,15 @@
+diff -ubBr old/flexbackup new/flexbackup
+--- old/flexbackup     2016-12-01 10:52:59.088767278 -0500
++++ new/flexbackup     2016-12-01 10:54:18.006882216 -0500
+@@ -1408,10 +1408,10 @@
+     $cmd .= "$::path{tar} --create ";
+     $cmd .= "--null ";
++    $cmd .= "--no-recursion ";
+     $cmd .= "--files-from=- ";
+     $cmd .= "--ignore-failed-read ";
+     $cmd .= "--same-permissions ";
+-    $cmd .= "--no-recursion ";
+     $cmd .= "--totals ";
+     if ($cfg::label ne 'false') {
+       if (length($title) > $::tar_max_label) {
diff --git a/app-backup/flexbackup/flexbackup-1.2.1-r13.ebuild b/app-backup/flexbackup/flexbackup-1.2.1-r13.ebuild
new file mode 100644 (file)
index 0000000..a2af4c0
--- /dev/null
@@ -0,0 +1,91 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit versionator
+
+DESCRIPTION="Flexible backup script using perl"
+HOMEPAGE="http://flexbackup.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~x86"
+IUSE=""
+
+RDEPEND="app-arch/mt-st"
+DEPEND="${RDEPEND}"
+
+DOCS="CHANGES CREDITS README TODO"
+HTML_DOCS="faq.html"
+
+src_prepare() {
+       # Patch from upstream adds optional lzma compression mode.
+       eapply -p0 "${FILESDIR}"/${P}-lzma.patch
+
+       # Fix bug #116510: cannot back up remote machines after patch CAN-2005-2965
+       eapply "${FILESDIR}"/${P}-secure-tempfile.patch
+
+       # Fix bug #96334: incorrectly determines bash 3.x to be bash 1.x
+       eapply -p0 "${FILESDIR}"/${P}-bash.patch
+
+       # Fix bug #171205: specifies wrong command line option for mbuffer / other small enhancements
+       eapply "${FILESDIR}"/${P}-mbuffer-switch.patch
+
+       # Fix bug #173672: remote host buffer test is broken
+       eapply "${FILESDIR}"/${P}-remote-bufftest.patch
+
+       # Fix bug #178126: subtle subtree pruning issue / other small issues
+       eapply "${FILESDIR}"/${P}-prune.patch
+
+       # Fix bug #184560: fails to back up targets with spaces in their names in some modes
+       eapply -p0 "${FILESDIR}"/${P}-spaces-in-filenames.patch
+
+       # Fix bug #190357: fails on very large files with afio back end
+       eapply -p0 "${FILESDIR}"/${P}-afio-large-files.patch
+
+       # Fix bug #235416: prevent normal status message during conf file read from going to stderr
+       eapply -p0 "${FILESDIR}"/${P}-quieten.patch
+
+       # Fix bug #331673: perl 5.12 deprecation warnings.
+       eapply -p0 "${FILESDIR}"/${P}-perl-5.12-deprecation-warning.patch
+
+       # Fix bug #495232: perl 5.16 deprecation warnings.
+       eapply -p0 "${FILESDIR}"/${P}-perl-5.16-deprecation-warning.patch
+
+       # Fix bug #601368: app-backup/flexbackup breaks with >=app-arch/tar-1.29 when making tar-based backups
+       eapply "${FILESDIR}"/${P}-tar-1.29.patch
+
+       eapply_user
+
+       sed -i \
+               -e '/^\$type = /s:afio:tar:' \
+               -e "/^\$buffer = /s:'buffer':'false':" \
+               flexbackup.conf \
+               || die "Failed to set modified configuration defaults."
+
+       MY_PV=$(replace_all_version_separators '_')
+       sed -i \
+               -e "/^[[:blank:]]*my \$ver = /s:${MY_PV}:&-${PR}:" \
+               flexbackup \
+               || die "Failed to apply ebuild revision to internal version string."
+}
+
+src_install() {
+       dodir /etc /usr/bin /usr/share/man/man{1,5}
+       emake install \
+               PREFIX="${D}"/usr \
+               CONFFILE="${D}"/etc/flexbackup.conf \
+               || die "emake install failed"
+
+       einstalldocs
+}
+
+pkg_postinst() {
+       elog "Please edit your /etc/flexbackup.conf file to suit your"
+       elog "needs.  If you are using devfs, the tape device should"
+       elog "be set to /dev/tapes/tape0/mtn.  If you need to use any"
+       elog "archiver other than tar, please emerge it separately."
+}