summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYixun Lan <dlan@gentoo.org>2018-12-17 15:18:19 +0800
committerYixun Lan <dlan@gentoo.org>2018-12-17 15:38:48 +0800
commit50a4af11e412a75cdf3240970b836b4850c9896d (patch)
treebb28f2cfe1c4a5ca9c5d6612aa656b1ecc4262b2 /app-backup/snapper
parentapp-text/calibre: bump msgpack dep for build failure (bug 673192) (diff)
downloadgentoo-50a4af11e412a75cdf3240970b836b4850c9896d.tar.gz
gentoo-50a4af11e412a75cdf3240970b836b4850c9896d.tar.bz2
gentoo-50a4af11e412a75cdf3240970b836b4850c9896d.zip
app-backup/snapper: fix swap() err
workaround swap() err with btrfs-4.19 Closes: https://bugs.gentoo.org/670952 Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Yixun Lan <dlan@gentoo.org>
Diffstat (limited to 'app-backup/snapper')
-rw-r--r--app-backup/snapper/files/snapper-0.5.6-swap.patch36
-rw-r--r--app-backup/snapper/snapper-0.5.6-r1.ebuild78
2 files changed, 114 insertions, 0 deletions
diff --git a/app-backup/snapper/files/snapper-0.5.6-swap.patch b/app-backup/snapper/files/snapper-0.5.6-swap.patch
new file mode 100644
index 000000000000..aa24330d7304
--- /dev/null
+++ b/app-backup/snapper/files/snapper-0.5.6-swap.patch
@@ -0,0 +1,36 @@
+commit 22bc1d808ebb6c3958e8231a36b73cd45a7f2c30
+Author: Spencer Janssen <spencerjanssen@gmail.com>
+Date: Mon Dec 3 17:33:49 2018 -0600
+
+ Work around btrfs v4.19
+
+ Addresses #459
+
+diff --git a/snapper/Btrfs.cc b/snapper/Btrfs.cc
+index cb9f7b3..c05557b 100644
+--- a/snapper/Btrfs.cc
++++ b/snapper/Btrfs.cc
+@@ -41,6 +41,9 @@
+ #include <btrfs/send.h>
+ #include <btrfs/send-stream.h>
+ #include <btrfs/send-utils.h>
++#ifdef swap
++#undef swap
++#endif
+ #include <boost/version.hpp>
+ #include <boost/thread.hpp>
+ #endif
+diff --git a/snapper/BtrfsUtils.cc b/snapper/BtrfsUtils.cc
+index bada3f8..9edc325 100644
+--- a/snapper/BtrfsUtils.cc
++++ b/snapper/BtrfsUtils.cc
+@@ -34,6 +34,9 @@
+ #ifdef HAVE_LIBBTRFS
+ #include <btrfs/ioctl.h>
+ #include <btrfs/send-utils.h>
++#ifdef swap
++#undef swap
++#endif
+ #endif
+ #include <algorithm>
+ #include <functional>
diff --git a/app-backup/snapper/snapper-0.5.6-r1.ebuild b/app-backup/snapper/snapper-0.5.6-r1.ebuild
new file mode 100644
index 000000000000..27233b7377ee
--- /dev/null
+++ b/app-backup/snapper/snapper-0.5.6-r1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit systemd
+
+DESCRIPTION="Command-line program for btrfs and lvm snapshot management"
+HOMEPAGE="http://snapper.io/"
+SRC_URI="ftp://ftp.suse.com/pub/projects/snapper/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="lvm pam xattr"
+
+RDEPEND="dev-libs/boost:=[threads]
+ dev-libs/libxml2
+ dev-libs/icu:=
+ sys-apps/acl
+ sys-apps/dbus
+ sys-apps/util-linux
+ >=sys-fs/btrfs-progs-3.17.1
+ sys-libs/zlib
+ virtual/libintl
+ lvm? ( sys-fs/lvm2 )
+ pam? ( sys-libs/pam )
+ xattr? ( sys-apps/attr )"
+
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/cron-confd.patch
+ "${FILESDIR}"/${P}-swap.patch
+)
+
+src_prepare() {
+ default
+
+ sed -e "s,/usr/lib/systemd/system,$(systemd_get_systemunitdir),g" \
+ -i data/Makefile.* \
+ || die "Failed to fix systemd services and timers installation path"
+}
+
+src_configure() {
+ # ext4 code does not work anymore
+ # snapper does not build without btrfs
+ local myeconfargs=(
+ --with-conf="/etc/conf.d"
+ --docdir="/usr/share/doc/${PF}"
+ --disable-zypp
+ --enable-rollback
+ --disable-ext4
+ --enable-btrfs
+ $(use_enable lvm)
+ $(use_enable pam)
+ $(use_enable xattr xattrs)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ # Existing configuration file required to function
+ newconfd data/sysconfig.snapper snapper
+ find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ elog "In order to use Snapper, you need to set up"
+ elog "at least one config first. To do this, run:"
+ elog "snapper create-config <subvolume>"
+ elog "For more information, see man (8) snapper or"
+ elog "http://snapper.io/documentation.html"
+}