summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2013-12-25 08:49:36 +0000
committerMike Frysinger <vapier@gentoo.org>2013-12-25 08:49:36 +0000
commit6dbd6486c2478296c959e57607c155bd7542b29e (patch)
treeda447ab1617384ebaeef93f3d8382fd2075b98cd /sys-fs/xfsprogs
parentCleanup. (diff)
downloadgentoo-2-6dbd6486c2478296c959e57607c155bd7542b29e.tar.gz
gentoo-2-6dbd6486c2478296c959e57607c155bd7542b29e.tar.bz2
gentoo-2-6dbd6486c2478296c959e57607c155bd7542b29e.zip
Install extra headers for libxfs #486514 by Stefan Reimer. Rewrite shared lib installs to only use libtool to avoid rpath issues.
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key FB7C4156)
Diffstat (limited to 'sys-fs/xfsprogs')
-rw-r--r--sys-fs/xfsprogs/ChangeLog9
-rw-r--r--sys-fs/xfsprogs/files/xfsprogs-3.1.11-sharedlibs.patch106
-rw-r--r--sys-fs/xfsprogs/xfsprogs-3.1.11-r1.ebuild96
3 files changed, 210 insertions, 1 deletions
diff --git a/sys-fs/xfsprogs/ChangeLog b/sys-fs/xfsprogs/ChangeLog
index a99e7c311b80..493c5cf87cf0 100644
--- a/sys-fs/xfsprogs/ChangeLog
+++ b/sys-fs/xfsprogs/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-fs/xfsprogs
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/xfsprogs/ChangeLog,v 1.166 2013/10/18 08:17:44 polynomial-c Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/xfsprogs/ChangeLog,v 1.167 2013/12/25 08:49:36 vapier Exp $
+
+*xfsprogs-3.1.11-r1 (25 Dec 2013)
+
+ 25 Dec 2013; Mike Frysinger <vapier@gentoo.org>
+ +files/xfsprogs-3.1.11-sharedlibs.patch, +xfsprogs-3.1.11-r1.ebuild:
+ Install extra headers for libxfs #486514 by Stefan Reimer. Rewrite shared lib
+ installs to only use libtool to avoid rpath issues.
*xfsprogs-3.1.11 (18 Oct 2013)
diff --git a/sys-fs/xfsprogs/files/xfsprogs-3.1.11-sharedlibs.patch b/sys-fs/xfsprogs/files/xfsprogs-3.1.11-sharedlibs.patch
new file mode 100644
index 000000000000..38599bd651fa
--- /dev/null
+++ b/sys-fs/xfsprogs/files/xfsprogs-3.1.11-sharedlibs.patch
@@ -0,0 +1,106 @@
+use libtool to do all installing. do not use the manual file install as
+that'll copy files directly from the .libs/ subdir which might have rpaths
+that we do not want.
+
+--- a/libdisk/Makefile
++++ b/libdisk/Makefile
+@@ -25,6 +25,7 @@
+ install: default
+
+ install-dev: default
++ $(INSTALL_LTLIB_DEV)
+
+ install-qa: install-dev
+
+--- a/libhandle/Makefile
++++ b/libhandle/Makefile
+@@ -20,7 +20,6 @@
+ include $(BUILDRULES)
+
+ install: default
+- $(INSTALL_LTLIB)
+
+ install-dev: default
+ $(INSTALL_LTLIB_DEV)
+--- a/libxcmd/Makefile
++++ b/libxcmd/Makefile
+@@ -32,6 +32,11 @@
+
+ include $(BUILDRULES)
+
+-install install-dev install-qa: default
++install: default
++
++install-dev: default
++ $(INSTALL_LTLIB_DEV)
++
++install-qa: default
+
+ -include .dep
+--- a/libxfs/Makefile
++++ b/libxfs/Makefile
+@@ -41,5 +41,6 @@
+ install: default
+
+ install-dev: default
++ $(INSTALL_LTLIB_DEV)
+
+ install-qa: default
+--- a/libxlog/Makefile
++++ b/libxlog/Makefile
+@@ -12,6 +12,8 @@
+
+ CFILES = xfs_log_recover.c util.c
+
++LTLIBS = $(LIBUUID) $(LIBXFS)
++
+ # don't want to link xfs_repair with a debug libxlog.
+ DEBUG = -DNDEBUG
+
+@@ -19,6 +21,11 @@
+
+ include $(BUILDRULES)
+
+-install install-dev install-qa: default
++install: default
++
++install-dev: default
++ $(INSTALL_LTLIB_DEV)
++
++install-qa: default
+
+ -include .dep
+--- a/Makefile
++++ b/Makefile
+@@ -66,6 +66,8 @@
+ mkfs: libxfs
+ quota: libxcmd
+ repair: libxfs libxlog
++libxlog: libxfs
++libxlog-install-dev: libxfs-install-dev
+
+ ifneq ($(ENABLE_BLKID), yes)
+ mkfs: libdisk
+--- a/include/buildmacros
++++ b/include/buildmacros
+@@ -71,17 +71,9 @@
+ # /usr/lib.
+ ifeq ($(ENABLE_SHARED),yes)
+ INSTALL_LTLIB_DEV = \
+- cd $(TOPDIR)/$(LIBNAME)/.libs; \
+- ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
+- ../$(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
++ set -e; cd $(TOPDIR)/$(LIBNAME); \
++ $(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
++ env -uDIST_ROOT $(LTINSTALL) $(TOPDIR)/$(LIBNAME)/$(LIBNAME).la $(DIST_ROOT)$(PKG_LIB_DIR)/$(LIBNAME).la
+ else
+ INSTALL_LTLIB_DEV = $(INSTALL_LTLIB_STATIC)
+ endif
diff --git a/sys-fs/xfsprogs/xfsprogs-3.1.11-r1.ebuild b/sys-fs/xfsprogs/xfsprogs-3.1.11-r1.ebuild
new file mode 100644
index 000000000000..ab4e2f5f9a64
--- /dev/null
+++ b/sys-fs/xfsprogs/xfsprogs-3.1.11-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/xfsprogs/xfsprogs-3.1.11-r1.ebuild,v 1.1 2013/12/25 08:49:36 vapier Exp $
+
+EAPI="4"
+
+inherit eutils toolchain-funcs multilib
+
+DESCRIPTION="xfs filesystem utilities"
+HOMEPAGE="http://oss.sgi.com/projects/xfs/"
+SRC_URI="ftp://oss.sgi.com/projects/xfs/cmd_tars/${P}.tar.gz
+ ftp://oss.sgi.com/projects/xfs/previous/cmd_tars/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="libedit nls readline static static-libs"
+REQUIRED_USE="static? ( static-libs )"
+
+LIB_DEPEND=">=sys-apps/util-linux-2.17.2[static-libs(+)]
+ readline? ( sys-libs/readline[static-libs(+)] )
+ !readline? ( libedit? ( dev-libs/libedit[static-libs(+)] ) )"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
+ !<sys-fs/xfsdump-3"
+DEPEND="${RDEPEND}
+ static? (
+ ${LIB_DEPEND}
+ readline? ( sys-libs/ncurses[static-libs] )
+ )
+ nls? ( sys-devel/gettext )"
+
+pkg_setup() {
+ if use readline && use libedit ; then
+ ewarn "You have USE='readline libedit' but these are exclusive."
+ ewarn "Defaulting to readline; please disable this USE flag if you want libedit."
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.1.11-sharedlibs.patch
+
+ sed -i \
+ -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \
+ include/builddefs.in || die
+ sed -i \
+ -e '1iLLDFLAGS = -static' \
+ {estimate,fsr}/Makefile || die
+ sed -i \
+ -e "/LLDFLAGS/s:-static:$(use static && echo -all-static):" \
+ $(find -name Makefile) || die
+
+ # libdisk has broken blkid conditional checking
+ sed -i \
+ -e '/LIB_SUBDIRS/s:libdisk::' \
+ Makefile || die
+
+ # TODO: write a patch for configure.in to use pkg-config for the uuid-part
+ if use static && use readline ; then
+ sed -i \
+ -e 's|-lreadline|\0 -lncurses|' \
+ -e 's|-lblkid|\0 -luuid|' \
+ configure || die
+ fi
+}
+
+src_configure() {
+ export DEBUG=-DNDEBUG
+ export OPTIMIZER=${CFLAGS}
+ unset PLATFORM # if set in user env, this breaks configure
+
+ local myconf
+ if use static || use static-libs ; then
+ myconf+=" --enable-static"
+ else
+ myconf+=" --disable-static"
+ fi
+
+ econf \
+ --bindir=/usr/bin \
+ --libexecdir=/usr/$(get_libdir) \
+ $(use_enable nls gettext) \
+ $(use_enable readline) \
+ $(usex readline --disable-editline $(use_enable libedit editline)) \
+ ${myconf}
+
+ MAKEOPTS+=" V=1"
+}
+
+src_install() {
+ emake DIST_ROOT="${ED}" install install-{dev,qa}
+
+ # handle is for xfsdump, the rest for xfsprogs
+ gen_usr_ldscript -a xfs xlog
+ # removing unnecessary .la files if not needed
+ use static-libs || find "${ED}" -name '*.la' -delete
+}