From 2900d080569cb5dbf8444bd2f52782daa82c4c17 Mon Sep 17 00:00:00 2001 From: CyberLeo Date: Sun, 17 Jun 2012 20:05:26 -0500 Subject: [PATCH] sys-fs/zfs-fuse: fix glibc-2.14 compile issue --- sys-fs/zfs-fuse/Manifest | 4 ++ .../files/malloc_initialize_hook.patch | 14 ++++ sys-fs/zfs-fuse/zfs-fuse-0.7.0-r1.ebuild | 66 +++++++++++++++++++ sys-fs/zfs-fuse/zfs-fuse-0.7.0-r1.reason | 1 + 4 files changed, 85 insertions(+) create mode 100644 sys-fs/zfs-fuse/files/malloc_initialize_hook.patch create mode 100644 sys-fs/zfs-fuse/zfs-fuse-0.7.0-r1.ebuild create mode 100644 sys-fs/zfs-fuse/zfs-fuse-0.7.0-r1.reason diff --git a/sys-fs/zfs-fuse/Manifest b/sys-fs/zfs-fuse/Manifest index be82437..0cb246b 100644 --- a/sys-fs/zfs-fuse/Manifest +++ b/sys-fs/zfs-fuse/Manifest @@ -1,3 +1,7 @@ +AUX malloc_initialize_hook.patch 444 RMD160 64dd152effbfeb774923b8c4e5ba00e5191d6b47 SHA1 106a6c6dde336a6f1a22abef86d0cc9f017e2f40 SHA256 d204a5feaa912daaa8a833c4583963c87443b6b051a4862f68b44162bd05e581 AUX zfs-fuse 922 RMD160 3c4d4e073fc6de9b8543f557d8289135fc46a6ab SHA1 2df273b8e9c8b518f1a69362c8b6caf4e67717a7 SHA256 493b89af322c2f6dd081ead393e13d04ec7bdbb9d83faa0cfc24399190da6690 DIST zfs-fuse-0.7.0.tar.bz2 1362379 RMD160 98fe0cf0d384ff858407a221cf8b4c1fc06e4431 SHA1 2ed527a8421965d320d431346c501894f7edb388 SHA256 507361eb3d96ad4155e6e6d26437ecc0d371c749106500976085a72dc399f868 +EBUILD zfs-fuse-0.7.0-r1.ebuild 1369 RMD160 dd5949331f3882f690b77c8d3832bb0fc4dee9ab SHA1 a86c9b3b8834210e1a9eb0a7a3f7f18074704675 SHA256 f6963e74f217a881e1895bf38f2e2c6c8e29c88ecc5a3fb96117e711f6ae6177 EBUILD zfs-fuse-0.7.0.ebuild 1317 RMD160 9c6c6bb9a259146aa52b6a51c5fd2bd9f3e64efb SHA1 fb649469771718af324e7caa896b1bfb4cf444bf SHA256 108a9e6b1a828e2ae2d6f3c3ef6079a9db0714f7e887867e562bb562774ec231 +MISC zfs-fuse-0.7.0-r1.reason 43 RMD160 539500024348d407262830919f1f827c822fc7c7 SHA1 98e304427bcc730bca8efe04e435763cbaf7c5ca SHA256 71029db59102eba7066f6b8688a830e7160f2c61a258dfeb9f176d755c08f3c4 +MISC zfs-fuse-0.7.0.reason 24 RMD160 5a1fc3970cf9ad6155dd62b5bea547a2f2f195d2 SHA1 c6c8455725ba6c521a73e52fc600bb1f3b845d9b SHA256 ca238b3efe94b6e3a128e43d55dbe66cdeabab6ec89655cc9e9a1735dcbec7b8 diff --git a/sys-fs/zfs-fuse/files/malloc_initialize_hook.patch b/sys-fs/zfs-fuse/files/malloc_initialize_hook.patch new file mode 100644 index 0000000..5822ec0 --- /dev/null +++ b/sys-fs/zfs-fuse/files/malloc_initialize_hook.patch @@ -0,0 +1,14 @@ +diff --git a/src/lib/libumem/malloc.c b/src/lib/libumem/malloc.c +index 7eec207..5a4d763 100644 +--- src/lib/libumem/malloc.c ++++ src/lib/libumem/malloc.c +@@ -453,7 +453,7 @@ static void __attribute__((constructor)) umem_malloc_init_hook(void) + } + } + +-void (*__malloc_initialize_hook)(void) = umem_malloc_init_hook; ++void (* __volatile __malloc_initialize_hook)(void) = umem_malloc_init_hook; + + #else + void __attribute__((constructor)) + diff --git a/sys-fs/zfs-fuse/zfs-fuse-0.7.0-r1.ebuild b/sys-fs/zfs-fuse/zfs-fuse-0.7.0-r1.ebuild new file mode 100644 index 0000000..0100eef --- /dev/null +++ b/sys-fs/zfs-fuse/zfs-fuse-0.7.0-r1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs-fuse/zfs-fuse-0.6.9-r1.ebuild,v 1.4 2010/08/10 10:31:00 ssuominen Exp $ + +EAPI=2 +inherit bash-completion + +DESCRIPTION="An implementation of the ZFS filesystem for FUSE/Linux" +HOMEPAGE="http://zfs-fuse.net/" +SRC_URI="http://zfs-fuse.net/releases/${PV}/${P}.tar.bz2" + +LICENSE="CDDL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug" + +RDEPEND="dev-libs/libaio + dev-libs/openssl + sys-fs/fuse + sys-libs/zlib" +DEPEND="${RDEPEND} + dev-util/scons + sys-apps/acl + sys-apps/attr" + +S=${WORKDIR}/${P}/src + +src_prepare() { + epatch "${FILESDIR}/malloc_initialize_hook.patch" + + sed -i \ + -e '/LINKFLAGS/s:-s::' \ + -e '/CCFLAGS/s:-s -O2::' \ + SConstruct || die + + sed -i \ + -e 's:../zdb/zdb:/usr/sbin/zdb:' \ + cmd/ztest/ztest.c || die +} + +src_compile() { + local _debug=0 + use debug && _debug=2 + + scons debug=${_debug} || die +} + +src_install() { + scons \ + install_dir="${D}/usr/sbin" \ + man_dir="${D}/usr/share/man/man8" \ + cfg_dir="${D}/etc/zfs" \ + install || die + + insinto /etc/zfs + doins ../contrib/zfsrc || die + + keepdir /var/{lock,run}/zfs + fowners root.disk /var/{lock,run}/zfs + + doinitd "${FILESDIR}"/${PN} + + dodoc ../{BUGS,CHANGES,HACKING,README*,STATUS,TESTING,TODO} + + dobashcompletion ../contrib/zfs_completion.bash ${PN} +} diff --git a/sys-fs/zfs-fuse/zfs-fuse-0.7.0-r1.reason b/sys-fs/zfs-fuse/zfs-fuse-0.7.0-r1.reason new file mode 100644 index 0000000..48ad0fd --- /dev/null +++ b/sys-fs/zfs-fuse/zfs-fuse-0.7.0-r1.reason @@ -0,0 +1 @@ +zfs-fuse will not build against glibc-2.14 -- 2.45.0