summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGöktürk Yüksek <gokturk@gentoo.org>2018-04-04 08:07:03 -0400
committerGöktürk Yüksek <gokturk@gentoo.org>2018-04-04 08:08:32 -0400
commit9d427990c39a9ab3cf97b6feb243e9f28620f79c (patch)
tree2f48549633ab3e2f10f0e70b15a77d46eed3f7b4
parentsys-libs/libomp: Drop old 3.9.0 (diff)
downloadgentoo-9d427990c39a9ab3cf97b6feb243e9f28620f79c.tar.gz
gentoo-9d427990c39a9ab3cf97b6feb243e9f28620f79c.tar.bz2
gentoo-9d427990c39a9ab3cf97b6feb243e9f28620f79c.zip
sys-fs/ext4magic: fix #650074
Also bump EAPI and enable USE=expert_mode by default. Bug: https://sourceforge.net/p/ext4magic/tickets/10/ Closes: https://bugs.gentoo.org/650074 Package-Manager: Portage-2.3.27, Repoman-2.3.9
-rw-r--r--sys-fs/ext4magic/ext4magic-0.3.2-r1.ebuild36
-rw-r--r--sys-fs/ext4magic/files/ext4magic-0.3.2-i_dir_acl.patch32
2 files changed, 68 insertions, 0 deletions
diff --git a/sys-fs/ext4magic/ext4magic-0.3.2-r1.ebuild b/sys-fs/ext4magic/ext4magic-0.3.2-r1.ebuild
new file mode 100644
index 000000000000..f26ce3b1d1d7
--- /dev/null
+++ b/sys-fs/ext4magic/ext4magic-0.3.2-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Tool for recovery of deleted or overwritten files on ext3/ext4 filesystems"
+HOMEPAGE="https://sourceforge.net/projects/ext4magic/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug +expert-mode file-attr"
+
+RDEPEND="app-arch/bzip2
+ >=sys-apps/file-5.04
+ sys-apps/util-linux
+ >=sys-fs/e2fsprogs-1.41.9
+ sys-libs/zlib"
+DEPEND="${RDEPEND}"
+
+DOCS="AUTHORS ChangeLog NEWS README TODO"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.3.2-sysmacros.patch
+ "${FILESDIR}"/${PN}-0.3.2-i_dir_acl.patch
+)
+
+src_configure() {
+ # build-system incorrectly recognizes '--disable-feature' options as enabled!
+ econf \
+ $(usex debug '--enable-debug' '') \
+ $(usex debug '--enable-debug-magic' '') \
+ $(usex expert-mode '--enable-expert-mode' '') \
+ $(usex file-attr '--enable-file-attr' '')
+}
diff --git a/sys-fs/ext4magic/files/ext4magic-0.3.2-i_dir_acl.patch b/sys-fs/ext4magic/files/ext4magic-0.3.2-i_dir_acl.patch
new file mode 100644
index 000000000000..9c7e86a2af15
--- /dev/null
+++ b/sys-fs/ext4magic/files/ext4magic-0.3.2-i_dir_acl.patch
@@ -0,0 +1,32 @@
+From: Gokturk Yuksek <gokturk@gentoo.org>
+Subject: [PATCH] src/inode: supersede i_dir_acl with i_size_high
+
+The upstream has removed the macro that defined i_dir_acl as
+i_size_high which causes a build failure with the later versions of
+e2fsprogs. Replace every reference to inode->i_dir_acl with
+inode->i_size_high.
+
+Bug: https://bugs.gentoo.org/650074
+Bug: https://sourceforge.net/p/ext4magic/tickets/10/
+
+[0] https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/commit/?id=578fcbfd2e61e0b13ce8c7b62804c941d6c1eb8e
+
+--- a/src/inode.c
++++ b/src/inode.c
+@@ -404,14 +404,14 @@
+ fprintf(out,
+ "%sFile ACL: %d Directory ACL: %d Translator: %d\n",
+ prefix,
+- inode->i_file_acl, LINUX_S_ISDIR(inode->i_mode) ? inode->i_dir_acl : 0,
++ inode->i_file_acl, LINUX_S_ISDIR(inode->i_mode) ? inode->i_size_high : 0,
+ inode->osd1.hurd1.h_i_translator);
+ else
+ fprintf(out, "%sFile ACL: %llu Directory ACL: %d\n",
+ prefix,
+ inode->i_file_acl | ((long long)
+ (inode->osd2.linux2.l_i_file_acl_high) << 32),
+- LINUX_S_ISDIR(inode->i_mode) ? inode->i_dir_acl : 0);
++ LINUX_S_ISDIR(inode->i_mode) ? inode->i_size_high : 0);
+ if (os == EXT2_OS_LINUX)
+ fprintf(out, "%sLinks: %d Blockcount: %llu\n",
+ prefix, inode->i_links_count,