From 422ee452538f8925949f06e564e89a5dc1f82a1d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 9 Jun 2014 13:47:44 +0000 Subject: [PATCH] xfsprogs: fix compile errors with musl Signed-off-by: Felix Fietkau SVN-Revision: 41058 --- .../patches/110-uclibc_no_ustat.patch | 8 +-- .../patches/130-uclibc_no_xattr.patch | 8 +-- .../xfsprogs/patches/150-include_fixes.patch | 72 +++++++++++++++++++ 3 files changed, 78 insertions(+), 10 deletions(-) create mode 100644 package/utils/xfsprogs/patches/150-include_fixes.patch diff --git a/package/utils/xfsprogs/patches/110-uclibc_no_ustat.patch b/package/utils/xfsprogs/patches/110-uclibc_no_ustat.patch index c46e8025cd..071dfc1aa8 100644 --- a/package/utils/xfsprogs/patches/110-uclibc_no_ustat.patch +++ b/package/utils/xfsprogs/patches/110-uclibc_no_ustat.patch @@ -8,13 +8,11 @@ diff --git a/libxfs/linux.c b/libxfs/linux.c index 2e07d54..6a6c905 100644 --- a/libxfs/linux.c +++ b/libxfs/linux.c -@@ -21,7 +21,9 @@ +@@ -21,7 +21,6 @@ #include #include #undef ustat -+#ifndef __UCLIBC__ - #include -+#endif +-#include #include #include #include @@ -22,7 +20,7 @@ index 2e07d54..6a6c905 100644 int platform_check_ismounted(char *name, char *block, struct stat64 *s, int verbose) { -+#ifndef __UCLIBC__ ++#if 0 /* Pad ust; pre-2.6.28 linux copies out too much in 32bit compat mode */ struct ustat ust[2]; struct stat64 st; diff --git a/package/utils/xfsprogs/patches/130-uclibc_no_xattr.patch b/package/utils/xfsprogs/patches/130-uclibc_no_xattr.patch index b1ecda71e5..a9b5a6fe94 100644 --- a/package/utils/xfsprogs/patches/130-uclibc_no_xattr.patch +++ b/package/utils/xfsprogs/patches/130-uclibc_no_xattr.patch @@ -8,13 +8,11 @@ diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c index 40c2e6f..4f54059 100644 --- a/fsr/xfs_fsr.c +++ b/fsr/xfs_fsr.c -@@ -35,7 +35,9 @@ +@@ -35,7 +35,6 @@ #include #include #include -+#ifndef __UCLIBC__ - #include -+#endif +-#include #ifndef XFS_XFLAG_NODEFRAG @@ -22,7 +20,7 @@ index 40c2e6f..4f54059 100644 int tfd, xfs_bstat_t *bstatp) { -+#ifndef __UCLIBC__ ++#if 0 struct stat64 tstatbuf; int i; int last_forkoff = 0; diff --git a/package/utils/xfsprogs/patches/150-include_fixes.patch b/package/utils/xfsprogs/patches/150-include_fixes.patch new file mode 100644 index 0000000000..793622a160 --- /dev/null +++ b/package/utils/xfsprogs/patches/150-include_fixes.patch @@ -0,0 +1,72 @@ +--- a/libhandle/handle.c ++++ b/libhandle/handle.c +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + /* just pick a value we know is more than big enough */ + #define MAXHANSIZ 64 +--- a/libhandle/jdm.c ++++ b/libhandle/jdm.c +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + /* internal fshandle - typecast to a void for external use */ + #define FSHANDLE_SZ 8 +--- a/libdisk/evms.c ++++ b/libdisk/evms.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + #include + #include "evms.h" + +--- a/libdisk/evms.h ++++ b/libdisk/evms.h +@@ -16,6 +16,8 @@ + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + ++#include ++ + #define EVMS_MAJOR 117 + #define EVMS_GET_VOL_STRIPE_INFO \ + _IOR(EVMS_MAJOR, 0xF0, struct evms_vol_stripe_info_s) +--- a/libdisk/fstype.h ++++ b/libdisk/fstype.h +@@ -192,7 +192,7 @@ struct adfs_super_block { + char s_dummy2[62]; + char s_checksum[1]; + }; +-#define adfsblksize(s) ((uint) s.s_blksize[0]) ++#define adfsblksize(s) ((unsigned int) s.s_blksize[0]) + + /* found in first 4 bytes of block 1 */ + struct vxfs_super_block { +--- a/fsr/xfs_fsr.c ++++ b/fsr/xfs_fsr.c +@@ -25,6 +25,7 @@ + #include + #include + ++#include + #include + #include + #include +--- a/libdisk/xvm.c ++++ b/libdisk/xvm.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + #include + #include "xvm.h" + -- 2.30.2