Correctly use the static use flag to build pvfs2-server and always build both static...
authorJustin Bronder <jsbronder@gentoo.org>
Mon, 10 Mar 2008 01:17:08 +0000 (01:17 +0000)
committerJustin Bronder <jsbronder@gentoo.org>
Mon, 10 Mar 2008 01:17:08 +0000 (01:17 +0000)
Package-Manager: portage-2.1.4.4

sys-cluster/pvfs2/ChangeLog
sys-cluster/pvfs2/Manifest
sys-cluster/pvfs2/files/2.7.0-configure-static-server.patch [new file with mode: 0644]
sys-cluster/pvfs2/pvfs2-2.7.0-r2.ebuild [new file with mode: 0644]

index cb52c86034dc7ee847b318d29dea7b2d9fe825cc..7a3ad61ce8cbee1b37b2e3c1175ee7f8f2c691e0 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for sys-cluster/pvfs2
 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/pvfs2/ChangeLog,v 1.10 2008/03/06 23:05:43 jsbronder Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/pvfs2/ChangeLog,v 1.11 2008/03/10 01:17:07 jsbronder Exp $
+
+*pvfs2-2.7.0-r2 (10 Mar 2008)
+
+  10 Mar 2008; Justin Bronder <jsbronder@gentoo.org>
+  +files/2.7.0-configure-static-server.patch, +pvfs2-2.7.0-r2.ebuild:
+  Correctly use the static use flag to build pvfs2-server and always build
+  both static and shared libraries.
 
 *pvfs2-2.7.0-r1 (06 Mar 2008)
 
index 244998f9688a7b1873ac9deb1b9fe71617ace9e2..9de7b075e4ab7a2bbcfc59db5b4b67fe96907c86 100644 (file)
@@ -4,6 +4,7 @@ AUX 2.6.3-link-librt-properly.patch 423 RMD160 603b286432b9f8dce5eb318070272e71b
 AUX 2.6.3-no-pointer-sign.patch 621 RMD160 ea21accad4f71d7cd64b582e0de71a252bf69d7d SHA1 3483c675ed807275aaf6f0d9978557732f5a0283 SHA256 6c93a5467dfb40fae22beaf43a03b222ed3a98327af7ca0265045a77bbad06d8
 AUX 2.6.3-register_sysctl_table.patch 368 RMD160 6c50500757240820eaa405312da6fea9d1d32dcc SHA1 d285ac5d240dad52fcaadaf6b302925507a21061 SHA256 f714a8483592dc8d2c317c790fc7ee7bc6dd2ce7f919463e9d621e992bd896c9
 AUX 2.6.3-soname.patch 406 RMD160 af22e2cf118d12c89e1dfcd455b9148bffd9221f SHA1 d742180e3edf3b433bc0f1e5f3c8e516d0a6a76a SHA256 7530c4ad04b7e3248d122f5b3151264690f03aba7a48620617d1cda297affa34
+AUX 2.7.0-configure-static-server.patch 469 RMD160 eab66ff3316c7114ad07d304ddefb38d5e00a395 SHA1 87ab288311cef2aa3b59a8052b9c496bdf3d6808 SHA256 e70694d82c711e901b8a9763db9d116ea9ef935678a645c93aaf5f4c41e7d210
 AUX 2.7.0-ctl_unnumbered.patch 6746 RMD160 f8041f1c971ce118a385925e52051064a6a80277 SHA1 4f29e9e6f40d533c3cc8ef0b806d7c8b6227d1de SHA256 5420e60d15f64172d47e908ae873da148ccacf69ab6d81f0c15d28bcd0af8eff
 AUX 2.7.0-gentoo-makefile.patch 7176 RMD160 8946851367c19d08c72a3fcb69e659bf4961ddef SHA1 42db7f04eadc8faee632889ef0a6ecf2d8f81095 SHA256 ddbfbc80f95f93477027459faf4633033e48a98f270b263419d63765f4c682c9
 AUX 2.7.0-kernel-rt.patch 2871 RMD160 0f8cd7ef899f69d056dde46c730dfee64b9e03dc SHA1 ee00fa223e0bbf4bd10024271665a2a84e273b8c SHA256 e4848f3c8d6b2179895114c4d9cb2f89f9712a7ac73c3658cdfda77f9e9e1df2
@@ -27,6 +28,7 @@ EBUILD pvfs2-1.5.1.ebuild 1468 RMD160 a7de71a915066f145ea65bad2aec48b293d817c5 S
 EBUILD pvfs2-2.6.3-r1.ebuild 4005 RMD160 3e45a20b3d0aabc2df1bb3a3b99a37cae57397aa SHA1 073f0da03cd690132f25615dcdefa04e181cb97a SHA256 df6d2c30336519fd8cf748b0f0325607222236ab6c05fcd24224f1cfdaab7f62
 EBUILD pvfs2-2.6.3.ebuild 3915 RMD160 26cb233eccf04755023fd4d04da3cc7640e1efd0 SHA1 903bc83e4034775e6d4431a7c35a063bb81ae3f4 SHA256 821b6a2dd2d47937762c5409c55478e80baca6f3f7cc5448193210ea26af0a3b
 EBUILD pvfs2-2.7.0-r1.ebuild 5302 RMD160 ff1585e3cafbd072fdfd18ef4942c2a2dd574847 SHA1 4df15b8f29abb2a4673fd076cf3672c2ce625bd3 SHA256 81d109034be63ac7cee7fbd53e6044f961a3c08c89ece45ee6734221b7a4d98c
+EBUILD pvfs2-2.7.0-r2.ebuild 5464 RMD160 18897f0867de912227729c3ccefb30933efead83 SHA1 072304cf8769075b0b29e6dd12b1da4bc9fd3324 SHA256 fb8b14c193169587703aad7b5ee334de8fdfeef4e089c6bf02f90add99c9236f
 EBUILD pvfs2-2.7.0.ebuild 6494 RMD160 08741f5f38e94dd0458022cec524044c8f9b55c1 SHA1 9a8bf1eea55ae5b0be6e2a317cbca5ab75b749c8 SHA256 444c130adb3c920c950dd83f970b89fc1c1fb327818ccc3e40d96f92bc799ecf
-MISC ChangeLog 3020 RMD160 1f7e88a0861db8278ac872f23fa79786cb6d4d97 SHA1 2c21da49aff0ad3a06bd36c4a4ccddd418fc4313 SHA256 9196161639bcabe004f4b3e9e3c65ce4dd647932a12a2d6db094166840103f96
+MISC ChangeLog 3286 RMD160 e4085ef3f02abb0dd67c95b0287107058d294191 SHA1 71ab145f7ae1fcbc17e6424898619220b95c32fd SHA256 94310efe8c1be4d2d88261ba2bec8c9d2257012f6e3a9a122b618f241d025bbb
 MISC metadata.xml 163 RMD160 ea1530cd45b9e04e8693261b9a94b5988e4b09a1 SHA1 443b7a3d8fb76c8d20647b165032ad358bfa3b6a SHA256 5a03bf3074b07158dffe793af69f7b0cd1e5c785537574713f9a7978032363a3
diff --git a/sys-cluster/pvfs2/files/2.7.0-configure-static-server.patch b/sys-cluster/pvfs2/files/2.7.0-configure-static-server.patch
new file mode 100644 (file)
index 0000000..dbb2b3e
--- /dev/null
@@ -0,0 +1,21 @@
+--- pvfs-2.7.0/configure.in    2007-11-13 17:41:52.000000000 -0500
++++ pvfs-2.7.0_patched/configure.in    2008-03-09 20:56:55.000000000 -0400
+@@ -933,12 +933,14 @@
+ 
+ AC_ARG_ENABLE(static-server,
+ [  --enable-static-server  Builds the server static],
+-[
++[ staticserver=$enableval ],
++[ staticserver="no" ] )
++
++if test "$staticserver" = "yes"; then
+       SERVER_LDFLAGS="$LDFLAGS -static"
+-],
+-[
++else
+       SERVER_LDFLAGS="$LDFLAGS -rdynamic"
+-])
++fi
+ 
+ AC_SUBST(SERVER_LDFLAGS)
+ 
diff --git a/sys-cluster/pvfs2/pvfs2-2.7.0-r2.ebuild b/sys-cluster/pvfs2/pvfs2-2.7.0-r2.ebuild
new file mode 100644 (file)
index 0000000..2654bd4
--- /dev/null
@@ -0,0 +1,169 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/pvfs2/pvfs2-2.7.0-r2.ebuild,v 1.1 2008/03/10 01:17:07 jsbronder Exp $
+
+inherit linux-mod autotools toolchain-funcs
+
+MY_PN="${PN%[0-9]*}"
+MY_P="${MY_PN}-${PV}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="Parallel Virtual File System version 2"
+HOMEPAGE="http://www.pvfs.org/"
+SRC_URI="ftp://ftp.parl.clemson.edu/pub/pvfs2/${MY_P}.tar.gz"
+IUSE="gtk server static doc ssl examples apidocs"
+RDEPEND="gtk? ( >=x11-libs/gtk+-2 )
+               ssl? ( dev-libs/openssl )
+               doc? ( dev-tex/latex2html )
+               apidocs? ( app-doc/doxygen )
+               sys-libs/db"
+DEPEND="${RDEPEND}
+               virtual/linux-sources"
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~x86 ~ppc64"
+
+pkg_setup() {
+       linux-mod_pkg_setup
+
+       if kernel_is 2 4; then
+               BUILD_TARGETS="just_kmod24"
+               ECONF_PARAMS="--with-kernel24=${KV_DIR}"
+               MODULE_NAMES="pvfs2(fs::src/kernel/linux-2.4)"
+       else
+               BUILD_TARGETS="just_kmod"
+               ECONF_PARAMS="--with-kernel=${KV_DIR} --enable-verbose-build"
+               MODULE_NAMES="pvfs2(fs::src/kernel/linux-2.6)"
+       fi
+
+       ECONF_PARAMS="${ECONF_PARAMS}
+               --enable-mmap-racache
+               --sysconfdir=/etc/pvfs2
+               --enable-shared
+               --enable-static
+               $(use_enable static static-server)
+               $(use_enable gtk karma)
+               $(use_enable server)
+               $(use_with ssl openssl /usr/$(get_libdir))"
+}
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+
+       # Upstream packed all of these by mistake.
+       # TODO:  Shouldn't be needed next release.
+       find "${S}" -name '*\.d' | xargs rm -rf
+
+       # All of these must be done in order and are required to fix the bug noted
+       # at: http://www.beowulf-underground.org/pipermail/pvfs2-developers/2008-January/003790.html
+       # TODO:  Shouldn't be needed next release.
+       epatch "${FILESDIR}"/${PV}-ctl_unnumbered.patch
+       epatch "${FILESDIR}"/${PV}-kernel-rt.patch
+       epatch "${FILESDIR}"/${PV}-verbose-checking.patch
+       epatch "${FILESDIR}"/${PV}-kmem_cache.patch
+
+       # Fixes destdir, separates the kernel module from the userland build,
+       # forces enabling of the shared threaded library.  Fixes so names and
+       # makes links.  as-needed fixes for the shared libs.  All to Makefile.in
+       epatch "${FILESDIR}"/2.7.0-gentoo-makefile.patch
+
+       # Fix --enable-static-server to correctly use AC_ARG_ENABLE
+       epatch "${FILESDIR}"/2.7.0-configure-static-server.patch
+
+       # as-needed patchs
+       sed -i \
+               -e "s:LIBS=\"\$LIBS.*:LIBS=\"\$LIBS -lcrypt -lcrypto -lssl\":g" \
+               maint/config/openssl.m4 || die
+       sed -i 's:LDFLAGS=.*-lrt.*:LIBS="\$LIBS -lrt":' maint/config/rt.m4 || die
+
+       # The following makes some builds die by actually spitting out more errors.
+       # See bug #210923.  If this breaks other things, it's my fault.
+       sed -i 's:-Wno-strict-aliasing=2::' maint/config/kernel.m4 || die
+
+       AT_M4DIR="maint/config" eautoreconf || die
+}
+
+src_compile() {
+       linux-mod_src_compile || die
+       emake kernapps || die
+       emake all || die
+       if use doc; then
+               emake docs || die
+               if use apidocs; then
+                       cd "${S}"/doc
+                       doxygen doxygen/pvfs2-doxygen.conf || die
+               fi
+       fi
+}
+
+src_install() {
+       linux-mod_src_install || die
+       emake DESTDIR="${D}" kernapps_install
+       emake DESTDIR="${D}" install
+
+       if use server; then
+               newinitd "${FILESDIR}"/pvfs2-server-init.d-2.7.0 pvfs2-server
+               newconfd "${FILESDIR}"/pvfs2-server-conf.d-2.7.0 pvfs2-server
+       fi
+
+       newinitd "${FILESDIR}"/pvfs2-client-init.d-2.7.0 pvfs2-client
+       newconfd "${FILESDIR}"/pvfs2-client-conf.d-2.7.0 pvfs2-client
+
+       dodoc AUTHORS CREDITS ChangeLog INSTALL README
+
+       # this is LARGE (~5mb)
+       if use doc; then
+               dodoc doc/multi-fs-doc.txt doc/add-server-req \
+                       doc/add-client-syscall doc/coding/valgrind \
+                       doc/coding/backtrace_analysis.txt
+               insinto /usr/share/doc/${PF}
+               doins doc/*.pdf doc/coding/developer-guidelines.pdf \
+                       doc/design/*.pdf doc/random/SystemInterfaceTesting.pdf
+               if use apidocs; then
+                       dohtml -A map -A md5 doc/doxygen/html/*
+               fi
+       fi
+       if use examples; then
+               docinto examples/heartbeat
+               dodoc examples/heartbeat/*
+               docinto examples
+               dodoc examples/fs.conf
+       fi
+}
+
+pkg_preinst() {
+       linux-mod_pkg_preinst
+}
+
+pkg_postinst() {
+       linux-mod_pkg_postinst
+       local f="$(source "${ROOT}"etc/conf.d/pvfs2-server; echo ${PVFS2_FS_CONF})"
+       elog "1.)  Pvfs2 uses a unified configuration file as of 2.7.0.  If you"
+       elog "  have configuration files from an earlier version, use the provided:"
+       elog "  ${ROOT}usr/bin/pvfs2-config-convert"
+       elog "to automatically update to the newer configuration scheme."
+       elog "2.)  Use emerge --config pvfs2 to create new configuration files."
+       elog "3.)  If the storage space has not been previously created, either set"
+       elog "  PVFS2_AUTO_MKFS=1 in ${ROOT}etc/conf.d/pvfs2-server or run:"
+       elog "  ${ROOT}usr/sbin/pvfs2-server --mkfs ${f}"
+}
+
+pkg_config() {
+       local s
+       local f="$(source "${ROOT}"etc/conf.d/pvfs2-server; echo ${PVFS2_FS_CONF})"
+       if [[ -f "${f}" ]]; then
+               ewarn "Previous install detected."
+               ewarn "We're about to wipe out ${f} and replace it with"
+               ewarn "the file generated by running pvfs2-genconfig.  If this is what"
+               ewarn "you want to do, hit any key to continue.  Otherwise hit ctrl+C"
+               ewarn "to abort."
+               read s
+       fi
+       einfo "Creating new unified configuration file"
+       ewarn "WARNING:  pvfs2 is picky about hostnames.  Make sure you use the"
+       ewarn "correct shortname for all nodes and have name resolution for these"
+       ewarn "shortnames correctly configured on all nodes."
+       [ ! -d "${ROOT}$(dirname "${f}")" ] && mkdir -p "${ROOT}$(dirname "${f}")"
+       "${ROOT}"usr/bin/pvfs2-genconfig "${f}"
+}