# HG changeset patch # User Hans-G?nter Theisgen # Date 1682832369 -3600 # Node ID 10f03f0226ade1b7fb9e364dc481d35c29788183 # Parent 9600878fc7583900d6aa91a69a170a64a58fe796 created recipe for ext4magic diff -r 9600878fc758 -r 10f03f0226ad ext4magic/receipt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ext4magic/receipt Sun Apr 30 06:26:09 2023 +0100 @@ -0,0 +1,36 @@ +# SliTaz package receipt. + +PACKAGE="ext4magic" +VERSION="0.3.2" +CATEGORY="system-tools" +TAGS="recover" +SHORT_DESC="Recover deleted or overwritten files on ext3 and ext4 filesystems." +MAINTAINER="maintainer@slitaz.org" +LICENSE="GPL2+" +WEB_SITE="https://sourceforge.net/projects/ext4magic" + +TARBALL="$PACKAGE-$VERSION.tar.gz" +WGET_URL="$SF_MIRROR/$PACKAGE/$TARBALL" + +DEPENDS="e2fsprogs file zlib" +BUILD_DEPENDS="e2fsprogs e2fsprogs-dev file libmagic-dev + util-linux-blkid-dev util-linux-uuid-dev zlib-dev" + +# Rules to configure and make the package. +compile_rules() +{ + patch --strip=1 \ + --input=$stuff/patches/ext4magic-$VERSION-i_dir_acl.patch + export LIBS="$LIBS /usr/lib/libext2fs.so.2" + + ./configure \ + --prefix=/usr && + make && + make install +} + +# Rules to gen a SliTaz package suitable for Tazpkg. +genpkg_rules() +{ + cook_copy_folders sbin +} diff -r 9600878fc758 -r 10f03f0226ad ext4magic/stuff/patches/ext4magic-0.3.2-i_dir_acl.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ext4magic/stuff/patches/ext4magic-0.3.2-i_dir_acl.patch Sun Apr 30 06:26:09 2023 +0100 @@ -0,0 +1,29 @@ +From: Gokturk Yuksek +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. + +[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,