commit:     50a4af11e412a75cdf3240970b836b4850c9896d
Author:     Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 17 07:18:19 2018 +0000
Commit:     Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Mon Dec 17 07:38:48 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50a4af11

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 <AT> gentoo.org>

 app-backup/snapper/files/snapper-0.5.6-swap.patch | 36 +++++++++++
 app-backup/snapper/snapper-0.5.6-r1.ebuild        | 78 +++++++++++++++++++++++
 2 files changed, 114 insertions(+)

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 00000000000..aa24330d730
--- /dev/null
+++ b/app-backup/snapper/files/snapper-0.5.6-swap.patch
@@ -0,0 +1,36 @@
+commit 22bc1d808ebb6c3958e8231a36b73cd45a7f2c30
+Author: Spencer Janssen <spencerjans...@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 00000000000..27233b7377e
--- /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";
+}

Reply via email to