xfsprogs: Upgrade to 4.12.0

Fix cross builds with hardening flags
Fix build with gold
Specify libtool tag
Add DISABLE_STATIC = ""

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Khem Raj 2017-09-08 19:15:50 -07:00 committed by Martin Jansa
parent e890ecb1d2
commit ba478fc6b2
7 changed files with 6020 additions and 144 deletions

View File

@ -1,58 +0,0 @@
From 2b4714123cdecb558babb76074d0ab945bf5b177 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 16 Jun 2017 18:59:10 -0700
Subject: [PATCH] define __ prefixed version of intXY_t types
This is required since musl does not define them
unlike glibc
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
include/linux.h | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/include/linux.h b/include/linux.h
index 6a676ca..6976d83 100644
--- a/include/linux.h
+++ b/include/linux.h
@@ -40,6 +40,35 @@
# undef fsxattr
#endif
+#ifndef loff_t
+#define loff_t off_t
+#endif
+#ifndef __uint8_t
+#define __uint8_t uint8_t
+#endif
+#ifndef __uint16_t
+#define __uint16_t uint16_t
+#endif
+#ifndef __uint32_t
+#define __uint32_t uint32_t
+#endif
+#ifndef __uint64_t
+#define __uint64_t uint64_t
+#endif
+
+#ifndef __int8_t
+#define __int8_t int8_t
+#endif
+#ifndef __int16_t
+#define __int16_t int16_t
+#endif
+#ifndef __int32_t
+#define __int32_t int32_t
+#endif
+#ifndef __int64_t
+#define __int64_t int64_t
+#endif
+
static __inline__ int xfsctl(const char *path, int fd, int cmd, void *p)
{
return ioctl(fd, cmd, p);
--
2.13.1

View File

@ -1,82 +0,0 @@
Index: xfsprogs-4.10.0/libxcmd/Makefile
===================================================================
--- xfsprogs-4.10.0.orig/libxcmd/Makefile
+++ xfsprogs-4.10.0/libxcmd/Makefile
@@ -30,10 +30,21 @@ LCFLAGS += -DENABLE_EDITLINE
LTLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
endif
+ifeq ($(ENABLE_BLKID),yes)
+LCFLAGS += -DENABLE_BLKID
+LTLIBS += $(LIBBLKID)
+endif
+
+LTLIBS += $(LIBXFS)
+
default: ltdepend $(LTLIBRARY)
include $(BUILDRULES)
-install install-dev: default
+install: default
+ $(INSTALL_LTLIB)
+
+install-dev: default
+ $(INSTALL_LTLIB_DEV)
-include .ltdep
Index: xfsprogs-4.10.0/libxfs/Makefile
===================================================================
--- xfsprogs-4.10.0.orig/libxfs/Makefile
+++ xfsprogs-4.10.0/libxfs/Makefile
@@ -137,6 +137,7 @@ include $(BUILDRULES)
install: default
$(INSTALL) -m 755 -d $(PKG_INC_DIR)
+ $(INSTALL_LTLIB)
install-headers: $(addsuffix -hdrs, $(PKGHFILES))
Index: xfsprogs-4.10.0/libxlog/Makefile
===================================================================
--- xfsprogs-4.10.0.orig/libxlog/Makefile
+++ xfsprogs-4.10.0/libxlog/Makefile
@@ -19,6 +19,10 @@ default: ltdepend $(LTLIBRARY)
include $(BUILDRULES)
-install install-dev: default
+install: default
+ $(INSTALL_LTLIB)
+
+install-dev: default
+ $(INSTALL_LTLIB_DEV)
-include .ltdep
Index: xfsprogs-4.10.0/io/Makefile
===================================================================
--- xfsprogs-4.10.0.orig/io/Makefile
+++ xfsprogs-4.10.0/io/Makefile
@@ -13,7 +13,7 @@
getrusage.c imap.c link.c mmap.c open.c parent.c pread.c prealloc.c \
pwrite.c reflink.c seek.c shutdown.c sync.c truncate.c utimes.c
-LLDLIBS = $(LIBXCMD) $(LIBHANDLE) $(LIBPTHREAD)
+LLDLIBS = $(LIBXCMD) $(LIBHANDLE) $(LIBUUID) $(LIBPTHREAD)
LTDEPENDENCIES = $(LIBXCMD) $(LIBHANDLE)
LLDFLAGS = -static-libtool-libs
Index: xfsprogs-4.10.0/quota/Makefile
===================================================================
--- xfsprogs-4.10.0.orig/quota/Makefile
+++ xfsprogs-4.10.0/quotq/Makefile
@@ -14,7 +14,7 @@
PCFILES = darwin.c freebsd.c irix.c linux.c
LSRCFILES = $(shell echo $(PCFILES) | sed -e "s/$(PKG_PLATFORM).c//g")
-LLDLIBS = $(LIBXCMD)
+LLDLIBS = $(LIBXCMD) $(LIBUUID)
LTDEPENDENCIES = $(LIBXCMD)
LLDFLAGS = -static

View File

@ -0,0 +1,13 @@
Index: xfsprogs-4.12.0/include/builddefs.in
===================================================================
--- xfsprogs-4.12.0.orig/include/builddefs.in
+++ xfsprogs-4.12.0/include/builddefs.in
@@ -164,7 +164,7 @@ ifeq ($(ENABLE_GETTEXT),yes)
GCFLAGS += -DENABLE_GETTEXT
endif
-BUILD_CFLAGS += $(GCFLAGS) $(PCFLAGS)
+BUILD_CFLAGS += $(GCFLAGS)
# First, Global, Platform, Local CFLAGS
CFLAGS += $(FCFLAGS) $(OPTIMIZER) $(GCFLAGS) $(PCFLAGS) $(LCFLAGS)

View File

@ -0,0 +1,117 @@
From 21253610f9ef87db8e2a75b863b7fcfbd0cdb421 Mon Sep 17 00:00:00 2001
From: "Darrick J. Wong" <darrick.wong@oracle.com>
Date: Tue, 25 Jul 2017 13:45:01 -0500
Subject: [PATCH] In patch 4944defad4 ("xfs_db: redirect printfs when
metadumping to stdout"), we solved the problem of xfs_db printfs ending up in
the metadump stream by reassigning stdout for the duration of a stdout
metadump. Unfortunately, musl doesn't allow stdout to be reassigned (in
their view "extern FILE *stdout" means "extern FILE * const stdout"), so we
abandon the old approach in favor of playing games with dup() to switch the
raw file descriptors.
While we're at it, fix a regression where an unconverted outf test
allows progress info to end up in the metadump stream.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
---
db/metadump.c | 47 ++++++++++++++++++++++++++++++++++++-----------
1 file changed, 36 insertions(+), 11 deletions(-)
diff --git a/db/metadump.c b/db/metadump.c
index 96641e0..4e2f648 100644
--- a/db/metadump.c
+++ b/db/metadump.c
@@ -78,6 +78,7 @@ static int obfuscate = 1;
static int zero_stale_data = 1;
static int show_warnings = 0;
static int progress_since_warning = 0;
+static bool stdout_metadump;
void
metadump_init(void)
@@ -137,7 +138,7 @@ print_progress(const char *fmt, ...)
va_end(ap);
buf[sizeof(buf)-1] = '\0';
- f = (outf == stdout) ? stderr : stdout;
+ f = stdout_metadump ? stderr : stdout;
fprintf(f, "\r%-59s", buf);
fflush(f);
progress_since_warning = 1;
@@ -2750,7 +2751,8 @@ metadump_f(
xfs_agnumber_t agno;
int c;
int start_iocur_sp;
- bool stdout_metadump = false;
+ int outfd = -1;
+ int ret;
char *p;
exitcode = 1;
@@ -2870,16 +2872,35 @@ metadump_f(
* metadump operation so that dbprintf and other messages
* are sent to the console instead of polluting the
* metadump stream.
+ *
+ * We get to do this the hard way because musl doesn't
+ * allow reassignment of stdout.
*/
- outf = stdout;
- stdout = stderr;
+ fflush(stdout);
+ outfd = dup(STDOUT_FILENO);
+ if (outfd < 0) {
+ perror("opening dump stream");
+ goto out;
+ }
+ ret = dup2(STDERR_FILENO, STDOUT_FILENO);
+ if (ret < 0) {
+ perror("redirecting stdout");
+ close(outfd);
+ goto out;
+ }
+ outf = fdopen(outfd, "a");
+ if (outf == NULL) {
+ fprintf(stderr, "cannot create dump stream\n");
+ dup2(outfd, 1);
+ close(outfd);
+ goto out;
+ }
stdout_metadump = true;
} else {
outf = fopen(argv[optind], "wb");
if (outf == NULL) {
print_warning("cannot create dump file");
- free(metablock);
- return 0;
+ goto out;
}
}
@@ -2907,15 +2928,19 @@ metadump_f(
if (progress_since_warning)
fputc('\n', stdout_metadump ? stderr : stdout);
- if (stdout_metadump)
- stdout = outf;
- else
- fclose(outf);
+ if (stdout_metadump) {
+ fflush(outf);
+ fflush(stdout);
+ ret = dup2(outfd, STDOUT_FILENO);
+ if (ret < 0)
+ perror("un-redirecting stdout");
+ }
+ fclose(outf);
/* cleanup iocur stack */
while (iocur_sp > start_iocur_sp)
pop_cur();
-
+out:
free(metablock);
return 0;
--
2.13.3

View File

@ -6,11 +6,13 @@ LICENSE_libhandle = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://doc/COPYING;md5=102f7fec3d53c7c8f0b7baf9bf9d76a8"
DEPENDS = "util-linux util-linux-native"
SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
file://link_needed_libs.patch \
file://0001-define-__-prefixed-version-of-intXY_t-types.patch \
file://0001-xfsprogs-remove-double-underscore-integer-types.patch \
file://0001-xfs-remove-double-underscore-integer-types.patch \
file://remove_flags_from_build_flags.patch \
file://xfsprogs-4.12.0-fix_musl.patch \
"
SRC_URI[md5sum] = "f1f9b8c752347eefdb56483dafa0cefb"
SRC_URI[sha256sum] = "c3a6d87b564d7738243c507df82276bed982265e345363a95f2c764e8a5f5bb2"
SRC_URI[md5sum] = "e348b0e1d7bd1cd82d64b91ff37e727e"
SRC_URI[sha256sum] = "b330ad8d737f4152ae511580102e2fc49212bb51dfb4b614084344abae46d0df"
inherit autotools-brokensep
@ -33,6 +35,7 @@ EXTRA_OECONF = "--enable-gettext=no \
ac_cv_lib_rt_lio_listio=yes \
"
DISABLE_STATIC = ""
EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
PACKAGECONFIG ??= "readline blkid"
@ -42,6 +45,7 @@ PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
export DEBUG="-DNDEBUG"
export BUILD_VERBOSE="1"
export tagname="CC"
EXTRA_OEMAKE = "DIST_ROOT='${D}'"