xfs
[Top] [All Lists]

[PATCH] xfsdump: update configure defaults

To: xfs@xxxxxxxxxxx
Subject: [PATCH] xfsdump: update configure defaults
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Fri, 4 Dec 2009 11:10:47 -0500
User-agent: Mutt/1.5.19 (2009-01-05)
Currenly xfsdump has two different sets of defauls for it's installation
layout.  One is in set in the configure.in file and used when running
./configure directly, and the second one is passed by make to ./configure
when configuring through make.

The defaults in the makefile are a lot better, as they install xfsprogs
into the / vs /usr split used by most distributions and enable multi-libs
when detected.

This patch changes the build system to also use the same defaults when
running ./configure.  To do this we get rid of some of the hacky
autoconf abuse we had in the past in xfsprogs and just use the normal
default sbindir and libdir variables for /usr/sbin an /usr/lib respecticly
and define new root_sbindir and root_libdir variables for those few
binaries installed into /.  The installation to / is disabled if the
user chooses a non-default exec prefix.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Index: xfsdump-dev/Makefile
===================================================================
--- xfsdump-dev.orig/Makefile   2009-11-19 23:54:13.191025966 +0100
+++ xfsdump-dev/Makefile        2009-11-20 00:00:51.375317816 +0100
@@ -52,18 +52,7 @@ configure:
        autoconf
 
 include/builddefs: configure
-       ./configure \
-               --prefix=/ \
-               --exec-prefix=/ \
-               --sbindir=/sbin \
-               --bindir=/usr/sbin \
-               --libdir=/lib \
-               --libexecdir=/usr/lib \
-               --enable-lib64=yes \
-               --includedir=/usr/include \
-               --mandir=/usr/share/man \
-               --datadir=/usr/share \
-               $$LOCAL_CONFIGURE_OPTIONS
+       ./configure $$LOCAL_CONFIGURE_OPTIONS
        touch .census
 
 include/config.h: include/builddefs
Index: xfsdump-dev/configure.in
===================================================================
--- xfsdump-dev.orig/configure.in       2009-11-20 00:00:54.817003939 +0100
+++ xfsdump-dev/configure.in    2009-11-20 00:01:55.363285550 +0100
@@ -17,10 +17,36 @@ AC_ARG_ENABLE(gettext,
 AC_SUBST(enable_gettext)
 
 AC_ARG_ENABLE(lib64,
-[ --enable-lib64=[yes/no] Enable lib64 support [default=no]],,
-       enable_lib64=no)
+[ --enable-lib64=[yes/no] Enable lib64 support [default=yes]],,
+       enable_lib64=yes)
 AC_SUBST(enable_lib64)
 
+#
+# If the user specified a libdir ending in lib64 do not append another
+# 64 to the library names.
+#
+base_libdir=`basename "$libdir"`
+case $base_libdir in
+lib64)
+  enable_lib64=no
+esac
+
+#
+# Some important tools should be installed into the root partitions.
+#
+# Check whether exec_prefix=/usr: and install them to /sbin in that
+# case.  If the user choses a different prefix assume he just wants
+# a local install for testing and not a system install.
+#
+case $exec_prefix:$prefix in
+NONE:NONE | NONE:/usr | /usr:*)
+  root_sbindir='/sbin'
+  AC_SUBST([root_sbindir])
+
+  root_libdir="/${base_libdir}"
+  AC_SUBST([root_libdir])
+esac
+
 AC_PACKAGE_GLOBALS(xfsdump)
 AC_PACKAGE_UTILITIES(xfsdump)
 AC_MULTILIB($enable_lib64)
Index: xfsdump-dev/dump/Makefile
===================================================================
--- xfsdump-dev.orig/dump/Makefile      2009-11-19 23:56:06.456254116 +0100
+++ xfsdump-dev/dump/Makefile   2009-11-19 23:57:52.678006330 +0100
@@ -95,10 +95,11 @@ default: $(LTCOMMAND)
 include $(BUILDRULES)
 
 install: default
+       $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR)
+       $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_ROOT_SBIN_DIR)
        $(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
-       $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR)
-       $(INSTALL) -m 755 -d $(PKG_BIN_DIR)
-       $(INSTALL) -S $(PKG_SBIN_DIR)/$(LTCOMMAND) $(PKG_BIN_DIR)/$(LTCOMMAND)
+       $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) \
+                     $(PKG_SBIN_DIR)/$(LTCOMMAND)
 install-dev:
 
 $(COMMINCL) $(COMMON):
Index: xfsdump-dev/include/builddefs.in
===================================================================
--- xfsdump-dev.orig/include/builddefs.in       2009-11-19 23:58:17.818273979 
+0100
+++ xfsdump-dev/include/builddefs.in    2009-11-19 23:59:51.330006179 +0100
@@ -19,11 +19,6 @@ LIBUUID = @libuuid@
 LIBCURSES = @libcurses@
 LIBHANDLE = @libhdl@
 
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-top_builddir = @top_builddir@
-datarootdir = @datarootdir@
-
 PKG_NAME       = @pkg_name@
 PKG_USER       = @pkg_user@
 PKG_GROUP      = @pkg_group@
@@ -31,10 +26,16 @@ PKG_RELEASE = @pkg_release@
 PKG_VERSION    = @pkg_version@
 PKG_PLATFORM   = @pkg_platform@
 PKG_DISTRIBUTION= @pkg_distribution@
-PKG_BIN_DIR    = @bindir@
+
+prefix         = @prefix@
+exec_prefix    = @exec_prefix@
+datarootdir    = @datarootdir@
+top_builddir   = @top_builddir@
+
 PKG_SBIN_DIR   = @sbindir@
+PKG_ROOT_SBIN_DIR = @root_sbindir@
+PKG_ROOT_LIB_DIR= @root_libdir@@libdirsuffix@
 PKG_LIB_DIR    = @libdir@@libdirsuffix@
-PKG_DEVLIB_DIR = @libexecdir@@libdirsuffix@
 PKG_INC_DIR    = @includedir@
 PKG_MAN_DIR    = @mandir@
 PKG_DOC_DIR    = @datadir@/doc/@pkg_name@
Index: xfsdump-dev/include/buildmacros
===================================================================
--- xfsdump-dev.orig/include/buildmacros        2009-11-19 23:59:54.353274308 
+0100
+++ xfsdump-dev/include/buildmacros     2009-11-20 00:00:29.154286452 +0100
@@ -48,16 +48,16 @@ LTINSTALL = $(LIBTOOL) --mode=install $(
 LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CCF)
 
 ifeq ($(ENABLE_SHARED),yes)
-LTLDFLAGS += -rpath $(PKG_LIB_DIR)
+LTLDFLAGS += -rpath $(PKG_ROOT_LIB_DIR)
 LTLDFLAGS += -version-info $(LTVERSION)
 endif
 
 ifeq ($(ENABLE_SHARED),yes)
 INSTALL_LTLIB = \
        cd $(TOPDIR)/$(LIBNAME)/.libs; \
-       ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
-       ../$(INSTALL) -m 644 -T so_dot_version $(LIBNAME).lai $(PKG_LIB_DIR); \
-       ../$(INSTALL) -T so_dot_current $(LIBNAME).lai $(PKG_LIB_DIR)
+       ../$(INSTALL) -m 755 -d $(PKG_ROOT_LIB_DIR); \
+       ../$(INSTALL) -m 644 -T so_dot_version $(LIBNAME).lai 
$(PKG_ROOT_LIB_DIR); \
+       ../$(INSTALL) -T so_dot_current $(LIBNAME).lai $(PKG_ROOT_LIB_DIR)
 endif
 
 # Libtool thinks the static and shared libs should be in the same dir, so
@@ -69,15 +69,15 @@ endif
 ifeq ($(ENABLE_SHARED),yes)
 INSTALL_LTLIB_DEV = \
        cd $(TOPDIR)/$(LIBNAME)/.libs; \
-       ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \
-       ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).lai $(PKG_DEVLIB_DIR); \
-       ../$(INSTALL) -m 644 $(LIBNAME).lai $(PKG_DEVLIB_DIR)/$(LIBNAME).la ; \
        ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
-       ../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_LIB_DIR); \
-       if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \
-       ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a 
$(PKG_LIB_DIR)/$(LIBNAME).a; \
-       ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la 
$(PKG_LIB_DIR)/$(LIBNAME).la; \
-       ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).so 
$(PKG_DEVLIB_DIR)/$(LIBNAME).so; \
+       ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).lai $(PKG_LIB_DIR); \
+       ../$(INSTALL) -m 644 $(LIBNAME).lai $(PKG_LIB_DIR)/$(LIBNAME).la ; \
+       ../$(INSTALL) -m 755 -d $(PKG_ROOT_LIB_DIR); \
+       ../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_ROOT_LIB_DIR); \
+       if test "x$(PKG_LIB_DIR)" != "x$(PKG_ROOT_LIB_DIR)" ; then \
+       ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).a 
$(PKG_ROOT_LIB_DIR)/$(LIBNAME).a; \
+       ../$(INSTALL) -S $(PKG_LIB_DIR)/$(LIBNAME).la 
$(PKG_ROOT_LIB_DIR)/$(LIBNAME).la; \
+       ../$(INSTALL) -S $(PKG_ROOT_LIB_DIR)/$(LIBNAME).so 
$(PKG_LIB_DIR)/$(LIBNAME).so; \
        fi
 else
 INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC)
@@ -85,8 +85,8 @@ endif
 
 INSTALL_LTLIB_STATIC = \
        cd $(TOPDIR)/$(LIBNAME)/.libs; \
-       ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \
-       ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).lai $(PKG_DEVLIB_DIR)
+       ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
+       ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).lai $(PKG_LIB_DIR)
 
 INSTALL_MAN = \
        @for d in $(MAN_PAGES); do \
Index: xfsdump-dev/invutil/Makefile
===================================================================
--- xfsdump-dev.orig/invutil/Makefile   2009-11-19 23:57:46.371004008 +0100
+++ xfsdump-dev/invutil/Makefile        2009-11-19 23:58:05.543033631 +0100
@@ -62,8 +62,8 @@ default: $(LTCOMMAND)
 include $(BUILDRULES)
 
 install: default
-       $(INSTALL) -m 755 -d $(PKG_BIN_DIR)
-       $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_BIN_DIR)
+       $(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
+       $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR)
 install-dev:
 
 $(COMMINCL) $(COMMON):
Index: xfsdump-dev/restore/Makefile
===================================================================
--- xfsdump-dev.orig/restore/Makefile   2009-11-19 23:56:06.470253665 +0100
+++ xfsdump-dev/restore/Makefile        2009-11-19 23:57:58.579033141 +0100
@@ -107,10 +107,11 @@ default: $(LTCOMMAND)
 include $(BUILDRULES)
 
 install: default
+       $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR)
+       $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_ROOT_SBIN_DIR)
        $(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
-       $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR)
-       $(INSTALL) -m 755 -d $(PKG_BIN_DIR)
-       $(INSTALL) -S $(PKG_SBIN_DIR)/$(LTCOMMAND) $(PKG_BIN_DIR)/$(LTCOMMAND)
+       $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) \
+                     $(PKG_SBIN_DIR)/$(LTCOMMAND)
 install-dev:
 
 $(COMMINCL) $(COMMON):

<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH] xfsdump: update configure defaults, Christoph Hellwig <=