summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/erofs-utils/erofs-utils/0001-configure-use-AC_SYS_LARGEFILE.patch43
-rw-r--r--meta/recipes-devtools/erofs-utils/erofs-utils/0002-erofs-replace-l-stat64-by-equivalent-l-stat.patch109
-rw-r--r--meta/recipes-devtools/erofs-utils/erofs-utils/0003-internal.h-Make-LFS-mandatory-for-all-usecases.patch41
-rw-r--r--meta/recipes-devtools/erofs-utils/erofs-utils_1.6.bb (renamed from meta/recipes-devtools/erofs-utils/erofs-utils_1.5.bb)10
4 files changed, 3 insertions, 200 deletions
diff --git a/meta/recipes-devtools/erofs-utils/erofs-utils/0001-configure-use-AC_SYS_LARGEFILE.patch b/meta/recipes-devtools/erofs-utils/erofs-utils/0001-configure-use-AC_SYS_LARGEFILE.patch
deleted file mode 100644
index 75c91f51a7..0000000000
--- a/meta/recipes-devtools/erofs-utils/erofs-utils/0001-configure-use-AC_SYS_LARGEFILE.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1From fef3b16dba2c5f6ad88951b80cdfbedd423e80a0 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 7 Dec 2022 20:16:52 -0800
4Subject: [PATCH v3 1/3] configure: use AC_SYS_LARGEFILE
5
6The autoconf macro AC_SYS_LARGEFILE defines _FILE_OFFSET_BITS=64
7where necessary to ensure that off_t and all interfaces using off_t
8are 64bit, even on 32bit systems.
9
10Pass -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=66 via CFLAGS
11
12Upstream-Status: Submitted [https://lore.kernel.org/linux-erofs/20221215064758.93821-1-raj.khem@gmail.com/T/#t]
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 configure.ac | 5 +++++
16 1 file changed, 5 insertions(+)
17
18diff --git a/configure.ac b/configure.ac
19index a736ff0..e8bb003 100644
20--- a/configure.ac
21+++ b/configure.ac
22@@ -13,6 +13,8 @@ AC_CONFIG_MACRO_DIR([m4])
23 AC_CONFIG_AUX_DIR(config)
24 AM_INIT_AUTOMAKE([foreign -Wall])
25
26+AC_SYS_LARGEFILE
27+
28 # Checks for programs.
29 AM_PROG_AR
30 AC_PROG_CC
31@@ -319,6 +321,9 @@ if test "x$enable_lzma" = "xyes"; then
32 CPPFLAGS="${saved_CPPFLAGS}"
33 fi
34
35+# Enable 64-bit off_t
36+CFLAGS+=" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
37+
38 # Set up needed symbols, conditionals and compiler/linker flags
39 AM_CONDITIONAL([ENABLE_LZ4], [test "x${have_lz4}" = "xyes"])
40 AM_CONDITIONAL([ENABLE_LZ4HC], [test "x${have_lz4hc}" = "xyes"])
41--
422.39.0
43
diff --git a/meta/recipes-devtools/erofs-utils/erofs-utils/0002-erofs-replace-l-stat64-by-equivalent-l-stat.patch b/meta/recipes-devtools/erofs-utils/erofs-utils/0002-erofs-replace-l-stat64-by-equivalent-l-stat.patch
deleted file mode 100644
index d12bebbf87..0000000000
--- a/meta/recipes-devtools/erofs-utils/erofs-utils/0002-erofs-replace-l-stat64-by-equivalent-l-stat.patch
+++ /dev/null
@@ -1,109 +0,0 @@
1From 856189c324834b838f0e9cfc0d2e05f12518f264 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 7 Dec 2022 22:17:35 -0800
4Subject: [PATCH v3 2/3] erofs: replace [l]stat64 by equivalent [l]stat
5
6Upstream-Status: Submitted [https://lore.kernel.org/linux-erofs/20221215064758.93821-2-raj.khem@gmail.com/T/#u]
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9 lib/inode.c | 10 +++++-----
10 lib/xattr.c | 4 ++--
11 mkfs/main.c | 4 ++--
12 3 files changed, 9 insertions(+), 9 deletions(-)
13
14diff --git a/lib/inode.c b/lib/inode.c
15index f192510..38003fc 100644
16--- a/lib/inode.c
17+++ b/lib/inode.c
18@@ -773,7 +773,7 @@ static u32 erofs_new_encode_dev(dev_t dev)
19
20 #ifdef WITH_ANDROID
21 int erofs_droid_inode_fsconfig(struct erofs_inode *inode,
22- struct stat64 *st,
23+ struct stat *st,
24 const char *path)
25 {
26 /* filesystem_config does not preserve file type bits */
27@@ -818,7 +818,7 @@ int erofs_droid_inode_fsconfig(struct erofs_inode *inode,
28 }
29 #else
30 static int erofs_droid_inode_fsconfig(struct erofs_inode *inode,
31- struct stat64 *st,
32+ struct stat *st,
33 const char *path)
34 {
35 return 0;
36@@ -826,7 +826,7 @@ static int erofs_droid_inode_fsconfig(struct erofs_inode *inode,
37 #endif
38
39 static int erofs_fill_inode(struct erofs_inode *inode,
40- struct stat64 *st,
41+ struct stat *st,
42 const char *path)
43 {
44 int err = erofs_droid_inode_fsconfig(inode, st, path);
45@@ -910,7 +910,7 @@ static struct erofs_inode *erofs_new_inode(void)
46 /* get the inode from the (source) path */
47 static struct erofs_inode *erofs_iget_from_path(const char *path, bool is_src)
48 {
49- struct stat64 st;
50+ struct stat st;
51 struct erofs_inode *inode;
52 int ret;
53
54@@ -918,7 +918,7 @@ static struct erofs_inode *erofs_iget_from_path(const char *path, bool is_src)
55 if (!is_src)
56 return ERR_PTR(-EINVAL);
57
58- ret = lstat64(path, &st);
59+ ret = lstat(path, &st);
60 if (ret)
61 return ERR_PTR(-errno);
62
63diff --git a/lib/xattr.c b/lib/xattr.c
64index 71ffe3e..fd0e728 100644
65--- a/lib/xattr.c
66+++ b/lib/xattr.c
67@@ -467,7 +467,7 @@ static int erofs_count_all_xattrs_from_path(const char *path)
68 {
69 int ret;
70 DIR *_dir;
71- struct stat64 st;
72+ struct stat st;
73
74 _dir = opendir(path);
75 if (!_dir) {
76@@ -502,7 +502,7 @@ static int erofs_count_all_xattrs_from_path(const char *path)
77 goto fail;
78 }
79
80- ret = lstat64(buf, &st);
81+ ret = lstat(buf, &st);
82 if (ret) {
83 ret = -errno;
84 goto fail;
85diff --git a/mkfs/main.c b/mkfs/main.c
86index d2c9830..5279805 100644
87--- a/mkfs/main.c
88+++ b/mkfs/main.c
89@@ -581,7 +581,7 @@ int main(int argc, char **argv)
90 struct erofs_buffer_head *sb_bh;
91 struct erofs_inode *root_inode;
92 erofs_nid_t root_nid;
93- struct stat64 st;
94+ struct stat st;
95 erofs_blk_t nblocks;
96 struct timeval t;
97 char uuid_str[37] = "not available";
98@@ -609,7 +609,7 @@ int main(int argc, char **argv)
99 return 1;
100 }
101
102- err = lstat64(cfg.c_src_path, &st);
103+ err = lstat(cfg.c_src_path, &st);
104 if (err)
105 return 1;
106 if (!S_ISDIR(st.st_mode)) {
107--
1082.39.0
109
diff --git a/meta/recipes-devtools/erofs-utils/erofs-utils/0003-internal.h-Make-LFS-mandatory-for-all-usecases.patch b/meta/recipes-devtools/erofs-utils/erofs-utils/0003-internal.h-Make-LFS-mandatory-for-all-usecases.patch
deleted file mode 100644
index 97faa5d673..0000000000
--- a/meta/recipes-devtools/erofs-utils/erofs-utils/0003-internal.h-Make-LFS-mandatory-for-all-usecases.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From 8f8cbc7b773da63bce8226249784ba6824635c9c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 7 Dec 2022 20:19:27 -0800
4Subject: [PATCH v3 3/3] internal.h: Make LFS mandatory for all usecases
5
6erosfs depend on the consistent use of a 64bit offset
7type, force downstreams to use transparent LFS (_FILE_OFFSET_BITS=64),
8so that it becomes impossible for them to use 32bit interfaces.
9
10Upstream-Status: Submitted [https://lore.kernel.org/linux-erofs/20221215064758.93821-3-raj.khem@gmail.com/T/#u]
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 include/erofs/internal.h | 5 +++++
14 1 file changed, 5 insertions(+)
15
16diff --git a/include/erofs/internal.h b/include/erofs/internal.h
17index 6a70f11..d3b2986 100644
18--- a/include/erofs/internal.h
19+++ b/include/erofs/internal.h
20@@ -21,6 +21,7 @@ typedef unsigned short umode_t;
21
22 #include "erofs_fs.h"
23 #include <fcntl.h>
24+#include <sys/types.h> /* for off_t definition */
25
26 #ifndef PATH_MAX
27 #define PATH_MAX 4096 /* # chars in a path name including nul */
28@@ -104,6 +105,10 @@ struct erofs_sb_info {
29 };
30 };
31
32+
33+/* make sure that any user of the erofs headers has atleast 64bit off_t type */
34+extern int erofs_assert_largefile[sizeof(off_t)-8];
35+
36 /* global sbi */
37 extern struct erofs_sb_info sbi;
38
39--
402.39.0
41
diff --git a/meta/recipes-devtools/erofs-utils/erofs-utils_1.5.bb b/meta/recipes-devtools/erofs-utils/erofs-utils_1.6.bb
index 2b5861882d..43643e07bb 100644
--- a/meta/recipes-devtools/erofs-utils/erofs-utils_1.5.bb
+++ b/meta/recipes-devtools/erofs-utils/erofs-utils_1.6.bb
@@ -5,12 +5,8 @@ SECTION = "base"
5LIC_FILES_CHKSUM = "file://COPYING;md5=73001d804ea1e3d84365f652242cca20" 5LIC_FILES_CHKSUM = "file://COPYING;md5=73001d804ea1e3d84365f652242cca20"
6HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/tree/README" 6HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/tree/README"
7 7
8SRCREV = "a2821a66b42aee5430bccee82c280e38d1e9ab29" 8SRCREV = "21710612d35cd952490959bfa6ea9fe87aaa52dd"
9SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git;branch=master;protocol=https \ 9SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git;branch=master;protocol=https"
10 file://0001-configure-use-AC_SYS_LARGEFILE.patch \
11 file://0002-erofs-replace-l-stat64-by-equivalent-l-stat.patch \
12 file://0003-internal.h-Make-LFS-mandatory-for-all-usecases.patch \
13 "
14 10
15UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(\d+(\.\d+)+))" 11UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>(\d+(\.\d+)+))"
16 12
@@ -23,7 +19,7 @@ inherit pkgconfig autotools
23PACKAGECONFIG ??= "lz4" 19PACKAGECONFIG ??= "lz4"
24PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4" 20PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4"
25 21
26EXTRA_OECONF = "${PACKAGECONFIG_CONFARGS} --disable-fuse --enable-largefile" 22EXTRA_OECONF = "${PACKAGECONFIG_CONFARGS} --disable-fuse"
27 23
28CFLAGS:append:powerpc64le = " -D__SANE_USERSPACE_TYPES__" 24CFLAGS:append:powerpc64le = " -D__SANE_USERSPACE_TYPES__"
29 25