[Buildroot] [PATCH 2/2] updated xfsprogs to 3.1.3 which depends on libuuid (either provided by e2fsprogs or util-linux-ng)
Marcus Osdoba
marcus.osdoba at googlemail.com
Sat Sep 11 08:54:39 UTC 2010
From: Marcus Osdoba <ossy1980 at gmx.net>
development notes:
- make sure not to use lib64 and
show way how to integrate gettext with BR2 dependencies;
- shared libs patch is not neccessary for usage on target (tested positive with armv5te)
- the libuuid of e2fsprogs runs fine with xfsprogs, too;
it is possible to run xfsprogs with libuuid from e2fsprogs xor util-linux-ng;
Signed-off-by: Marcus Osdoba <marcus.osdoba at googlemail.com>
---
package/util-linux-ng/Config.in | 3 +
package/util-linux-ng/util-linux-ng.mk | 7 +-
package/xfsprogs/Config.in | 8 ++-
package/xfsprogs/xfsprogs.mk | 118 ++++++++------------------------
4 files changed, 40 insertions(+), 96 deletions(-)
diff --git a/package/util-linux-ng/Config.in b/package/util-linux-ng/Config.in
index d516873..8a56151 100644
--- a/package/util-linux-ng/Config.in
+++ b/package/util-linux-ng/Config.in
@@ -13,6 +13,9 @@ comment "util-linux-ng requires a toolchain with PROGRAM_INVOCATION support"
comment "util-linux-ng requires a toolchain with LARGEFILE support"
depends on !BR2_LARGEFILE
+comment "UUID library support already activated outside util-linux-ng"
+ depends on ( BR2_PACKAGE_UTIL_LINUX_NG_LIBUUID && BR2_PACKAGE_E2FSPROGS_LIBUUID )
+
if BR2_PACKAGE_UTIL_LINUX_NG
comment "utils selection"
diff --git a/package/util-linux-ng/util-linux-ng.mk b/package/util-linux-ng/util-linux-ng.mk
index 4ea2bbe..7cb1b89 100644
--- a/package/util-linux-ng/util-linux-ng.mk
+++ b/package/util-linux-ng/util-linux-ng.mk
@@ -7,7 +7,6 @@ UTIL_LINUX_NG_VERSION=2.17.2
UTIL_LINUX_NG_MAJORVERSION=2.17
UTIL_LINUX_NG_SITE=$(BR2_KERNEL_MIRROR)/linux/utils/util-linux-ng/v$(UTIL_LINUX_NG_MAJORVERSION)
UTIL_LINUX_NG_SOURCE=util-linux-ng-$(UTIL_LINUX_NG_VERSION).tar.bz2
-#UTIL_LINUX_NG_INSTALL_STAGING = YES
UTIL_LINUX_NG_CONF_OPT=--disable-use-tty-group \
--enable-shared \
--without-libiconv-prefix \
@@ -16,10 +15,12 @@ UTIL_LINUX_NG_CONF_OPT=--disable-use-tty-group \
--disable-nls \
--disable-schedutils \
--disable-doc
-
-UTIL_LINUX_NG_DEPENDENCIES=e2fsprogs
UTIL_LINUX_NG_LIBTOOL_PATCH = NO
+ifeq ($(BR2_PACKAGE_E2FSPROGS),y)
+ UTIL_LINUX_NG_DEPENDENCIES=e2fsprogs
+endif
+
# make util-linux-ng win over links to busybox binary
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
UTIL_LINUX_NG_DEPENDENCIES+=busybox
diff --git a/package/xfsprogs/Config.in b/package/xfsprogs/Config.in
index 12bc69e..7233cf9 100644
--- a/package/xfsprogs/Config.in
+++ b/package/xfsprogs/Config.in
@@ -3,13 +3,15 @@ comment "Note that xfsprogs needs a toolchain with UCLIBC_SV4_DEPRECATED and UCL
depends on BR2_PACKAGE_XFSPROGS
comment "xfsprogs requires a toolchain with LARGEFILE support"
- depends on !BR2_LARGEFILE
+ depends on !BR2_LARGEFILE
+
+comment "xfsprogs requires at least on UUID library (from e2fsprogs or from util-linux-ng)"
+ depends on !( BR2_PACKAGE_UTIL_LINUX_NG_LIBUUID || BR2_PACKAGE_E2FSPROGS_LIBUUID )
config BR2_PACKAGE_XFSPROGS
bool "xfsprogs"
depends on BR2_LARGEFILE
- select BR2_PACKAGE_E2FSPROGS
- select BR2_PACKAGE_E2FSPROGS_LIBUUID
+ depends on ( BR2_PACKAGE_UTIL_LINUX_NG_LIBUUID || BR2_PACKAGE_E2FSPROGS_LIBUUID )
help
The XFS file system utilities and libraries
diff --git a/package/xfsprogs/xfsprogs.mk b/package/xfsprogs/xfsprogs.mk
index 866e9b2..f2a80dc 100644
--- a/package/xfsprogs/xfsprogs.mk
+++ b/package/xfsprogs/xfsprogs.mk
@@ -3,96 +3,34 @@
# xfsprogs
#
#############################################################
-XFSPROGS_VERSION:=3.0.3
-XFSPROGS_SOURCE=xfsprogs-$(XFSPROGS_VERSION).tar.gz
-XFSPROGS_SITE=ftp://oss.sgi.com/projects/xfs/cmd_tars
-XFSPROGS_DIR=$(BUILD_DIR)/xfsprogs-$(XFSPROGS_VERSION)
-XFSPROGS_CAT:=$(ZCAT)
-XFSPROGS_BINARY:=mkfs/mkfs.xfs
-XFSPROGS_TARGET_BINARY:=sbin/mkfs.xfs
-
-XFSPROGS_STRIP:= fsck/fsck.xfs mkfile/xfs_mkfile rtcp/xfs_rtcp
-XFSPROGS_STRIP_LIBDEP:= \
- copy/xfs_copy db/xfs_db growfs/xfs_growfs io/xfs_io \
- logprint/xfs_logprint mkfs/fstyp mkfs/mkfs.xfs \
- repair/xfs_repair quota/xfs_quota
-
-$(DL_DIR)/$(XFSPROGS_SOURCE):
- $(call DOWNLOAD,$(XFSPROGS_SITE),$(XFSPROGS_SOURCE))
-
-xfsprogs-source: $(DL_DIR)/$(XFSPROGS_SOURCE)
-
-$(XFSPROGS_DIR)/.unpacked: $(DL_DIR)/$(XFSPROGS_SOURCE)
- $(XFSPROGS_CAT) $(DL_DIR)/$(XFSPROGS_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(XFSPROGS_DIR) package/xfsprogs/ xfsprogs\*.patch
- touch $(XFSPROGS_DIR)/.unpacked
-
-#XFSPROGS_CONFIG_SHARED:=--disable-shared
-XFSPROGS_CONFIG_SHARED:=--enable-shared
-
-$(XFSPROGS_DIR)/.configured: $(XFSPROGS_DIR)/.unpacked
- (cd $(XFSPROGS_DIR); rm -rf config.cache; \
- ac_cv_header_aio_h=yes ac_cv_lib_rt_lio_listio=yes \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- CPPFLAGS="-I$(E2FSPROGS_DIR)/lib" \
- LDFLAGS="-L$(E2FSPROGS_DIR)/lib" \
- INSTALL_USER=$(shell whoami) \
- INSTALL_GROUP=$(shell groups | cut -d" " -f1) \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --exec-prefix=/ \
- --enable-gettext=no \
- $(XFSPROGS_CONFIG_SHARED) \
- )
- touch $(XFSPROGS_DIR)/.configured
-
-$(XFSPROGS_DIR)/$(XFSPROGS_BINARY): $(XFSPROGS_DIR)/.configured
- $(MAKE1) PATH=$(TARGET_PATH) CPPFLAGS="-I$(E2FSPROGS_DIR)/lib" \
- LDFLAGS="-L$(E2FSPROGS_DIR)/lib" -C $(XFSPROGS_DIR)
-ifeq ($(XFSPROGS_CONFIG_SHARED),--enable-shared)
- ( \
- cd $(XFSPROGS_DIR); \
- $(STRIPCMD) $(XFSPROGS_STRIP); \
- $(STRIPCMD) $(join $(dir $(XFSPROGS_STRIP_LIBDEP)), \
- $(addprefix .libs/,$(notdir $(XFSPROGS_STRIP_LIBDEP)))) \
- )
- $(STRIPCMD) $(XFSPROGS_DIR)/lib*/.libs/lib*.so.*.*
-else
- ( \
- cd $(XFSPROGS_DIR); \
- $(STRIPCMD) $(XFSPROGS_STRIP) $(XFSPROGS_STRIP_LIBDEP) \
- )
- $(STRIPCMD) $(XFSPROGS_DIR)/lib*/lib*.so.*.*
+XFSPROGS_VERSION = 3.1.3
+XFSPROGS_SOURCE = xfsprogs-$(XFSPROGS_VERSION).tar.gz
+XFSPROGS_SITE = ftp://oss.sgi.com/projects/xfs/cmd_tars
+XFSPROGS_LIBTOOL_PATCH = NO
+XFSPROGS_CONF_OPT = --enable-shared \
+ --enable-gettext=no \
+ --enable-lib64=no \
+ INSTALL_USER=default \
+ INSTALL_GROUP=default \
+ ac_cv_header_aio_h=yes ac_cv_lib_rt_lio_listio=yes
+XFSPROGS_INSTALL_STAGING = NO
+XFSPROGS_INSTALL_TARGET = YES
+XFSPROGS_INSTALL_TARGET_OPT = DIST_ROOT=$(TARGET_DIR) install
+
+# disable gettext by default, otherwise: "undefined reference to `libintl_gettext'"
+#ifeq ($(BR2_PACKAGE_GETTEXT),y)
+# XFSPROGS_DEPENDENCIES += gettext
+# XFSPROGS_CONF_OPT += --enable-gettext=yes
+#else
+# XFSPROGS_CONF_OPT += --enable-gettext=no
+#endif
+
+ifeq ($(BR2_PACKAGE_UTIL_LINUX_NG_LIBUUID),y)
+ XFSPROGS_DEPENDENCIES = util-linux-ng
+endif
+ifeq ($(BR2_PACKAGE_E2FSPROGS_LIBUUID),y)
+ XFSPROGS_DEPENDENCIES = e2fsprogs
endif
- touch -c $(XFSPROGS_DIR)/$(XFSPROGS_BINARY)
-
-$(TARGET_DIR)/$(XFSPROGS_TARGET_BINARY): $(XFSPROGS_DIR)/$(XFSPROGS_BINARY)
- $(MAKE1) PATH=$(TARGET_PATH) \
- DIST_ROOT=$(TARGET_DIR) \
- exec-prefix=/ \
- -C $(XFSPROGS_DIR) install
- rm -rf $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
- touch -c $(TARGET_DIR)/$(XFSPROGS_TARGET_BINARY)
-
-xfsprogs: e2fsprogs $(TARGET_DIR)/$(XFSPROGS_TARGET_BINARY)
-
-xfsprogs-clean:
- rm -f $(TARGET_DIR)/bin/xfs_* $(TARGET_DIR)/sbin/xfs_* $(TARGET_DIR)/sbin/*.xfs
- rm -f $(TARGET_DIR)/usr/lib/libhandle.so*
- rm -f $(TARGET_DIR)/usr/lib/libdisk.so* $(TARGET_DIR)/usr/lib/libxfs.so*
- -$(MAKE1) -C $(XFSPROGS_DIR) clean
-xfsprogs-dirclean:
- rm -rf $(XFSPROGS_DIR)
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_XFSPROGS),y)
-TARGETS+=xfsprogs
-endif
+$(eval $(call AUTOTARGETS,package,xfsprogs))
--
1.7.1
More information about the buildroot
mailing list