xfsprogs: update to 5.5

Reworked Makefile for consistency between packages.

Removed librt dependency. clock_gettime does not need it anymore.

Updated URL.

Add MAP_SYNC workaround as musl undefines MAP_SYNC for MIPS and PPC.

Refreshed patches and removed upstream ones

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev 2020-05-22 16:12:44 -07:00
parent c9e678374a
commit 05ce920e12
No known key found for this signature in database
GPG Key ID: 36D31CFA845F0E3B
7 changed files with 49 additions and 103 deletions

View File

@ -8,15 +8,16 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=xfsprogs
PKG_CPE_ID:=cpe:/a:sgi:xfsprogs
PKG_RELEASE:=4
PKG_VERSION:=4.11.0
PKG_SOURCE_URL:=@KERNEL/linux/utils/fs/xfs/xfsprogs
PKG_HASH:=c3a6d87b564d7738243c507df82276bed982265e345363a95f2c764e8a5f5bb2
PKG_VERSION:=5.5.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/utils/fs/xfs/xfsprogs
PKG_HASH:=cfbb0b136799c48cb79435facd0969c5a60a587a458e2d16f9752771027efbec
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
PKG_CPE_ID:=cpe:/a:sgi:xfsprogs
include $(INCLUDE_DIR)/package.mk
@ -24,8 +25,8 @@ define Package/xfsprogs/default
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Filesystem
DEPENDS:=+libuuid +libpthread +librt
URL:=http://oss.sgi.com/projects/xfs
DEPENDS:=+libuuid +libpthread
URL:=https://xfs.org/
endef
define Package/xfs-admin
@ -49,46 +50,40 @@ $(call Package/xfsprogs/default)
endef
CONFIGURE_ARGS += \
--enable-gettext=no \
--enable-lib64=no \
--enable-blkid=no
--disable-gettext \
--disable-blkid \
--disable-readline \
--disable-editline \
--disable-termcap \
--disable-lib64 \
--disable-librt \
--disable-ubisan \
--disable-addrsan \
--disable-threadsan \
--disable-scrub \
--disable-libicu
TARGET_CFLAGS += \
-I$(STAGING_DIR)/usr/include \
-D_LARGEFILE64_SOURCE \
-D_FILE_OFFSET_BITS=64 \
-D_GNU_SOURCE
MAKE_FLAGS += \
DEBUG= Q= \
PCFLAGS="-Wall" \
PKG_PLATFORM=linux \
ENABLE_GETTEXT=no
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/libxfs crc32table.h CFLAGS="$(HOST_CFLAGS) -I$(PKG_BUILD_DIR)/include"
$(call Build/Compile/Default)
endef
TARGET_CFLAGS += -DHAVE_MAP_SYNC
define Package/xfs-admin/install
mkdir -p $(1)/sbin
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/xfs_db $(1)/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/xfs_admin $(1)/sbin
endef
define Package/xfs-mkfs/install
mkdir -p $(1)/usr/sbin
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/mkfs.xfs $(1)/usr/sbin
endef
define Package/xfs-fsck/install
mkdir -p $(1)/usr/sbin
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/xfs_repair $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/xfs_db $(1)/usr/sbin
endef
define Package/xfs-growfs/install
mkdir -p $(1)/usr/sbin
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/xfs_growfs $(1)/usr/sbin
endef

View File

@ -1,14 +0,0 @@
--- a/libxfs/Makefile
+++ b/libxfs/Makefile
@@ -118,9 +118,9 @@ LTLIBS = $(LIBPTHREAD) $(LIBRT)
# don't try linking xfs_repair with a debug libxfs.
DEBUG = -DNDEBUG
-LDIRT = gen_crc32table crc32table.h crc32selftest
+LDIRT = gen_crc32table crc32table.h
-default: crc32selftest ltdepend $(LTLIBRARY)
+default: ltdepend $(LTLIBRARY)
crc32table.h: gen_crc32table.c
@echo " [CC] gen_crc32table"

View File

@ -1,12 +1,12 @@
--- a/Makefile
+++ b/Makefile
@@ -46,8 +46,7 @@ HDR_SUBDIRS = include libxfs
@@ -62,8 +62,7 @@ HDR_SUBDIRS = include libxfs
LIBFROG_SUBDIR = libfrog
DLIB_SUBDIRS = libxlog libxcmd libhandle
LIB_SUBDIRS = libxfs $(DLIB_SUBDIRS)
-TOOL_SUBDIRS = copy db estimate fsck growfs io logprint mkfs quota \
- mdrestore repair rtcp m4 man doc debian
-TOOL_SUBDIRS = copy db estimate fsck fsr growfs io logprint mkfs quota \
- mdrestore repair rtcp m4 man doc debian spaceman
+TOOL_SUBDIRS = db fsck growfs io mkfs repair
ifneq ("$(PKG_PLATFORM)","darwin")
TOOL_SUBDIRS += fsr
ifeq ("$(ENABLE_SCRUB)","yes")
TOOL_SUBDIRS += scrub

View File

@ -1,12 +1,12 @@
--- a/libxfs/libxfs_priv.h
+++ b/libxfs/libxfs_priv.h
@@ -84,9 +84,6 @@ extern uint32_t crc32c_le(uint32_t crc,
@@ -85,9 +85,6 @@ struct iomap;
/* for all the support code that uses progname in error messages */
extern char *progname;
-#undef ASSERT
-#define ASSERT(ex) assert(ex)
-
#ifndef EWRONGFS
#define EWRONGFS EINVAL
#endif
/*
* We have no need for the "linux" dev_t in userspace, so these
* are no-ops, and an xfs_dev_t is stored in VFS_I(ip)->i_rdev

View File

@ -14,7 +14,7 @@ Signed-off-by: Rosen Penev <rosenp@gmail.com>
--- a/db/malloc.c
+++ b/db/malloc.c
@@ -56,8 +56,7 @@ xmalloc(
@@ -44,8 +44,7 @@ xmalloc(
{
void *ptr;

View File

@ -1,48 +0,0 @@
From 8041435de7ed028a27ecca64302945ad455c69a6 Mon Sep 17 00:00:00 2001
From: "Darrick J. Wong" <darrick.wong@oracle.com>
Date: Mon, 5 Feb 2018 14:38:02 -0600
Subject: [PATCH] xfs_io: fix copy_file_range symbol name collision
glibc 2.27 has a copy_file_range wrapper, so we need to change our
internal function out of the way to avoid compiler warnings.
Reported-by: fredrik@crux.nu
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
---
io/copy_file_range.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
--- a/io/copy_file_range.c
+++ b/io/copy_file_range.c
@@ -42,13 +42,18 @@ copy_range_help(void)
"));
}
+/*
+ * Issue a raw copy_file_range syscall; for our test program we don't want the
+ * glibc buffered copy fallback.
+ */
static loff_t
-copy_file_range(int fd, loff_t *src, loff_t *dst, size_t len)
+copy_file_range_cmd(int fd, loff_t *src, loff_t *dst, size_t len)
{
loff_t ret;
do {
- ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst, len, 0);
+ ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst,
+ len, 0);
if (ret == -1) {
perror("copy_range");
return errno;
@@ -130,7 +135,7 @@ copy_range_f(int argc, char **argv)
copy_dst_truncate();
}
- ret = copy_file_range(fd, &src, &dst, len);
+ ret = copy_file_range_cmd(fd, &src, &dst, len);
close(fd);
return ret;
}

View File

@ -0,0 +1,13 @@
--- a/io/mmap.c
+++ b/io/mmap.c
@@ -11,6 +11,10 @@
#include "init.h"
#include "io.h"
+#ifndef MAP_SYNC
+#define MAP_SYNC 0
+#endif
+
static cmdinfo_t mmap_cmd;
static cmdinfo_t mread_cmd;
static cmdinfo_t msync_cmd;