diff options
Diffstat (limited to 'sys-cluster')
666 files changed, 40354 insertions, 0 deletions
diff --git a/sys-cluster/ampi/Manifest b/sys-cluster/ampi/Manifest new file mode 100644 index 000000000000..bb060d5d935e --- /dev/null +++ b/sys-cluster/ampi/Manifest @@ -0,0 +1,5 @@ +DIST ampi-0_pre20140616.tar.gz 1127315 SHA256 9c02f957f8221c5a85450fe52cd164f8062f23dadf2ba59ec5c92b2c862dadca SHA512 b6a8790c1686a32546194fa6c3818aa9d2ba08911621d5251e85a4114dad75e350f18560cf0527811c487f804265bc09a4b80faeab5eafbd670e4dfa103fe078 WHIRLPOOL f36e9b0e2958d8ad9c5fcb0a1794c536729b0bf488a77e585a84b7819981d78154c2a6b68f35844b87e62751bed97e479a367bac4c5c60ee32d08f72bef50f7a +EBUILD ampi-0_pre20140616.ebuild 497 SHA256 75c1be0a8e136507bd2bedf11560fa61ce67bac7de6dee16dcf2ef0870e6f141 SHA512 9dc527dc582fa78a46bca59d816010e91de04714b732a49bc59d1c74439a437c01707f036991be003339463359b106b3401990dd9f6792fd706887e3e2ab7630 WHIRLPOOL df763b26d222d1acc919bead8c7c63b3acde371c3660a1c6182367c9dfb7cde134a5506e79c690a470016e69150576a0930a4b7d301fb6ed454cc982b75a1178 +MISC ChangeLog 2587 SHA256 9ac2e811f6ae4f95b9dd995dd81f28f32a69b8dab4d912be61090a0e007d482b SHA512 cbf7efd5678e1fe33c463c1a8b6be07215421fec94dff899f51e02d6ca3c28300c0a23a950b924545b93682cda1267ed7d5eac5985edc0e552c7faf865944391 WHIRLPOOL d1bf0003795592bcbb8c27607bc0783e37ba37738d5ec434d9a5ba6c8ecdcfdb70ed78ee1428f41ac91db62f9b0ba1524dfdd369c9216f95675d5c2cd1de8349 +MISC ChangeLog-2015 430 SHA256 17b26d95480081c595d24921795ae47c52d4eb50bab60f7fb198f3b58aa7cc2f SHA512 9b667fce5b4138393caf74d99fc9635a0201ee51b6d643173aeb7fe30a9e15757637246f01bd324244f3ab49f3bd9318dc24c802985c5c9d68c626437d37f009 WHIRLPOOL 62c0f447e9ddd6ad96c8dbda12e826c1bf9118045d2e55c0046c56bb591f7253eef6ffb06a03fa6604b434f931bfbcfaef54ffbfee55c0e1c7fd0cb3bc815052 +MISC metadata.xml 257 SHA256 1102724fc1859d83a98b06fcf57aa6718a09de9179aa14865ec7e03a954d9a42 SHA512 ac9b4b4f3ef6a190cf1465bfac8aaf69c9c7b91e2cf3876e19a0b39264accaae12e301a2059bacff7781d0fb1f40499cb2930be0cd3f7ef9cb1a40d266ad059f WHIRLPOOL 0cbe509c14941ad89363e948183a6888876909bcfbbdc257f6d8f4e125dab34b7d1fbeb634bb2aa76a60d37796d5cd4b903a2fd552b792003a9acd0e19e52fef diff --git a/sys-cluster/ampi/ampi-0_pre20140616.ebuild b/sys-cluster/ampi/ampi-0_pre20140616.ebuild new file mode 100644 index 000000000000..016c13dbca2d --- /dev/null +++ b/sys-cluster/ampi/ampi-0_pre20140616.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools + +DESCRIPTION="MPI library for algorithmic differentiation" +HOMEPAGE="http://www.mcs.anl.gov/~utke/AdjoinableMPI/AdjoinableMPIDox/index.html" +SRC_URI="https://dev.gentoo.org/~jauhien/distfiles/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86" + +RDEPEND="virtual/mpi" +DEPEND="${RDEPEND}" + +src_prepare() { + eautoreconf +} diff --git a/sys-cluster/ampi/metadata.xml b/sys-cluster/ampi/metadata.xml new file mode 100644 index 000000000000..9b3cd6685a18 --- /dev/null +++ b/sys-cluster/ampi/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/c3/Manifest b/sys-cluster/c3/Manifest new file mode 100644 index 000000000000..87a4e68deec4 --- /dev/null +++ b/sys-cluster/c3/Manifest @@ -0,0 +1,5 @@ +DIST c3-4.0.1.tar.gz 55142 SHA256 263db9a724a8a6595e110f61d60878897acde23c30a8d8e7ed4238261094cd06 SHA512 a8ace5605709dd713f1686f3e13cd635d0d38224c835b43d0a02f255ddbd77fb9bbd4bbc0a1fac2d08a84bea2e98215264681381d9e9113ae737cc3a23a8dc89 WHIRLPOOL a3c6cbf1782b1ecabb0fa455bab8219fdeba353000e2e871aaa0be92ee3f25370b350c36b4287c08441a35f8c5eeefe12188f0dba11f808b348539a777850de0 +EBUILD c3-4.0.1.ebuild 1395 SHA256 be355ea0f736c2b6306a87543d4cc7db2f6b432fc096e0ea7b765abc532095b7 SHA512 6612321f57e40692f17146fe5dabea18e9a52c3618e18c77e369860305e2bb0a66f498ef943748293b67c00c5e5df1aac5186f560c4b0e3b5dadb34d4eabdaf6 WHIRLPOOL 764cc522869c22117914f9221cdddada0830c99766ef40653f4fa4d1e72be5e482179ba6b4f6c68d5a5877ac6fcb84dde74755444a7df03706fbd916c4243a30 +MISC ChangeLog 2415 SHA256 c4e8c588ded68a3a5ece9118f44db0dc1910a0b25210a9615d852cae1efba913 SHA512 92b67dda23c93a264f91c164f10b06b451488eded7e1fd705ed71ff968089b122187cce9e6f83e5d40ef9b693f290e37693e7a85c86b060ce86ea69054f5ffea WHIRLPOOL 9b30ccf80d674409bc66feb4ee447ccc675b31484368ce68a6549f49392dac90982d243ef5a822e87f12661ce1a212b03c189a3a4047674070c473d87035ce13 +MISC ChangeLog-2015 819 SHA256 cda4ad664e224a25b3f1f45c0ed214cbd9bbcd72138467331d82b35fd3ad37f6 SHA512 6cda56fe81da4a61ccc263d6900e8f7f3896b725caeb44d89ac82e8b4cd32d0840518e0b5a16e1efa1d3d26bc46d1d3d486b56978616d1749942348884a7db1e WHIRLPOOL c04d99c7850595891171a85412f7b8b527d6afbe1c37858d583a0ccddbd51edf7ff849368588147332c4653f6f5a3130dc0e51d15b91aa9641abfa1296be2a1e +MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e diff --git a/sys-cluster/c3/c3-4.0.1.ebuild b/sys-cluster/c3/c3-4.0.1.ebuild new file mode 100644 index 000000000000..cb0a59ac791d --- /dev/null +++ b/sys-cluster/c3/c3-4.0.1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +DESCRIPTION="The Cluster Command and Control (C3) tool suite" +HOMEPAGE="http://www.csm.ornl.gov/torc/C3/" +SRC_URI="http://www.csm.ornl.gov/torc/C3/Software/${PV}/${P}.tar.gz" +LICENSE="C3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +# Everything it needs is in "system" (profiles/base/packages) +DEPEND="" + +src_compile() { + : +} + +src_install() { + # The Install-c3 script is a complete hack, so we do this ourselves. + # CHANGELOG says it's FHS-compliant to put stuff here, so we'll believe it. + local C3DIR="/opt/c3-4" + dodir ${C3DIR} + + # "libraries" + insinto ${C3DIR} + doins *.py + + # tools + exeinto ${C3DIR} + # Everything's in the same dir, so we need to weed out non-tool things + local TOOL + for TOOL in $(find ${S} -maxdepth 1 -type f -name 'c*' -not -name '*.*'); do + doexe ${TOOL} + done + # Get systemimager-using tool out of bin, since systemimager isn't in + # portage + dodoc ${D}/${C3DIR}/cpushimage + rm ${D}/${C3DIR}/cpushimage + + dodoc README README.scale CHANGELOG KNOWN_BUGS + docinto contrib + dodoc contrib/* + + doman man/man*/* + + # Create env.d file + echo "PATH=${C3DIR}" > ${T}/40${PN} + echo "ROOTPATH=${C3DIR}" >> ${T}/40${PN} + doenvd ${T}/40${PN} +} + +pkg_postinst() { + einfo "Because systemimager is not in Portage, cpushimage" + einfo "has been installed to /usr/share/doc/${P}/." +} diff --git a/sys-cluster/c3/metadata.xml b/sys-cluster/c3/metadata.xml new file mode 100644 index 000000000000..4a09d7ba8d61 --- /dev/null +++ b/sys-cluster/c3/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> +</maintainer> +</pkgmetadata> diff --git a/sys-cluster/ccs/Manifest b/sys-cluster/ccs/Manifest new file mode 100644 index 000000000000..440ea4d4076f --- /dev/null +++ b/sys-cluster/ccs/Manifest @@ -0,0 +1,6 @@ +AUX ccs-2.03.09-mkostemp.patch 477 SHA256 f66430b0a958911e60a4e7ebad7b511c946a8d26d80a4fa5fe3694ce890f3ec2 SHA512 5c90b896829457d17294e44eeb70418128b84c701908a78c74b5c2bae2eb45ba18c17412c9415671757070f77ed0607d8f6c8c21992b568552af9307ea515397 WHIRLPOOL ff538f5fd9f6570267d803013b381bd3d09b6dfb093a4222e7e6af3d603286c1506e4bf3b515f803185e9f19b7fb66f94706830dedcf73f05d09efc91d9a054e +DIST cluster-2.03.09.tar.gz 1784357 SHA256 b6d6f35f58b2f8628c369391e0fd01b1803af40029ec1e6ef88865dda38b855f SHA512 5dbcf978336a6b7998df0d3dfcff037e1e77e9e69b43d78eb573a65432445e572e69d7783e7874e9edf2632627f02426f428103831e10f5d1f338afa91a62c28 WHIRLPOOL 30158d495677d9cd0d8a8915dd062f75b60ca99a5d937fa10862d746608bab0e500565e94d14f6b2a4f6e8dc13674d342347aecd24546df6d3f578c0cf87113d +EBUILD ccs-2.03.09.ebuild 1381 SHA256 0ad5784877c7e7d22dccc1637bf32b60bda4c7320325972939486afa40001538 SHA512 01ba1bc9f77b3f41b00f3ab72e80014480f7df16c16b1645fb3ce8adcb4396aea3655a10295480293f08d1e48820f768d95fd388a158ef2fb79f4af8ea66cb9a WHIRLPOOL eda588ef2fc4d3551b15952f284104b1bf444bc57ee83eee8ff3eafc15e41fe2d25accc7c968f5d8bbfb643850205efd699616f0d8d4a9693ff6cff3967e2013 +MISC ChangeLog 3029 SHA256 b8418f9a69bd5e8d223ac2321d59bfc29b06046f118a9436c4883269f0c5d6ae SHA512 10c357c08fc0f37ed93ee5435b37cdb313d53de17530c1d5435b450573d1d80f4f319a552dadc645941038ead058f869cf165f4d4d4de9a68a1b641e90efe9a6 WHIRLPOOL 7a1f7feab5c1b7ee118653a21d9a008c565ef67fd10f333ed4f78ea80fa2702ec2efecec2edf9e24c2211d82133aeec7a17d5e267eb7c2dc1bffd8798006f57e +MISC ChangeLog-2015 5352 SHA256 2c377ac0f728683e6c896bc7040865d072a0d2158f6db882559ce2b16f0701ad SHA512 8efdeccc1c9d94dc793928ac387b89c40cf4d161a0e215545c0cbd778a24711cb0aef031934088b45f49600905191b8a26cabbf13d6171c40cbc4ab1fa4f03d9 WHIRLPOOL 9ee40db7b5af51623950e80728f2887e45b42c5c00c37c8e67e4c6bd2192f635681ffc76e917504ad2ec95d33a45be0a268de475e9d842252800dfc577bccec9 +MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e diff --git a/sys-cluster/ccs/ccs-2.03.09.ebuild b/sys-cluster/ccs/ccs-2.03.09.ebuild new file mode 100644 index 000000000000..2f2b1c7f1307 --- /dev/null +++ b/sys-cluster/ccs/ccs-2.03.09.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)" + +DESCRIPTION="cluster configuration system to manage the cluster config file" +HOMEPAGE="https://sourceware.org/cluster/wiki/" +SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +RDEPEND="=sys-cluster/cman-lib-${CLUSTER_RELEASE}*" +DEPEND="${RDEPEND} + dev-libs/libxml2 + sys-libs/zlib" + +S="${WORKDIR}/${MY_P}/${PN}" + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/ccs-2.03.09-mkostemp.patch || die +} + +src_compile() { + (cd "${WORKDIR}"/${MY_P}; + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --disable_kernel_check \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --cmanlibdir=/usr/lib \ + --cmanincdir=/usr/include \ + ) || die "configure problem" + + # fix the manual pages have executable bit + sed -i -e ' + /\tinstall -d/s/install/& -m 0755/; t + /\tinstall/s/install/& -m 0644/' \ + man/Makefile + + #rm -f "${S}"/lib/log.c || die + + emake clean || die "clean problem" + emake || die "compile problem" +} + +src_install() { + emake DESTDIR="${D}" install || die "install problem" +} diff --git a/sys-cluster/ccs/files/ccs-2.03.09-mkostemp.patch b/sys-cluster/ccs/files/ccs-2.03.09-mkostemp.patch new file mode 100644 index 000000000000..42e2de6ac4ff --- /dev/null +++ b/sys-cluster/ccs/files/ccs-2.03.09-mkostemp.patch @@ -0,0 +1,11 @@ +--- cluster-2.03.09/ccs/ccs_tool/upgrade.c.orig 2008-11-13 01:31:14.000000000 +0100 ++++ cluster-2.03.09/ccs/ccs_tool/upgrade.c 2008-11-13 01:31:34.000000000 +0100 +@@ -223,7 +223,7 @@ + memset(tmp_file, 0, 128); + sprintf(tmp_file, "/tmp/ccs_tool_tmp_XXXXXX"); + +- tmp_fd = mkostemp(tmp_file, O_RDWR | O_CREAT |O_TRUNC); ++ tmp_fd = mkstemp(tmp_file); + if(tmp_fd < 0){ + fprintf(stderr, "Unable to create temporary archive: %s\n", strerror(errno)); + error = -errno; diff --git a/sys-cluster/ccs/metadata.xml b/sys-cluster/ccs/metadata.xml new file mode 100644 index 000000000000..4a09d7ba8d61 --- /dev/null +++ b/sys-cluster/ccs/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> +</maintainer> +</pkgmetadata> diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest new file mode 100644 index 000000000000..66c8aeca5071 --- /dev/null +++ b/sys-cluster/ceph/Manifest @@ -0,0 +1,55 @@ +AUX README.gentoo 1085 SHA256 55d41aa4de356ecefcc50225b7e81999dc84eca3909600fe51fa35f767fed554 SHA512 cee1b5fb9823333eda0750c04db0c56d71cca1cbf6fed6887ac4ba68949114df74aace3861343bdacd2a1dc4fc38932de805cc03074f981d26891673e454f250 WHIRLPOOL 7c1604f2c884e89ab7a12e5527a162cbe76f8332ff8963bae537b2e6f26fc6b026fcbffad37bbb4109293042cd6283e6ba395bcff4847837d753d507a447ea72 +AUX ceph-10.2.0-dont-use-virtualenvs.patch 3253 SHA256 a1a4dd0a31ae69449ea0b3472a47715eebb95a62ba04179ec47e82dd1a7a9f77 SHA512 f6351c97ca6766aa5eb4ebb91bc013aaf8222029743c95f5c88b9bd8a6caca48908315e8850ffc83651573377b48e5feb170c310b42e2447fec739379169b500 WHIRLPOOL 1b2daf0e9bfd5c7c9607e06e2a2833ee0e8171234aa61a5514d600318b76e65df04d06176255d4b474b471cb4a6d06b4d29ff31f0e7089f1a9cc65e998976744 +AUX ceph-10.2.1-libzfs.patch 440 SHA256 e7397b9fc52646fc621f8fa4ce37b1de68862338f1f4fdc06bcc0c63c6c6c894 SHA512 5afe85113f310b86a13fb18ba57030d50ae5bd9afbf4d6f5aacd7cca415dd13544522c5d903eb58ec90cc0f6ae2cbb022941debe7036d1b7fa6c5af26af9b9db WHIRLPOOL e46fd9ab96ac30933a420130a73135423c458aec274cc2fef27b02169e3f876fbb4f00ed8fcb8f56ea873aa91f6f8288c95d8eaa329f2113cdce74dc4f065e80 +AUX ceph-10.2.1-unbundle-jerasure.patch 16190 SHA256 2532efdc625d317c4c127192d2e54697a0b39786fe6d2db69c928db60620f540 SHA512 8076a69bb81f89f8892576c4e2ceb03131cbd7ffee82a0d4d66016120f6c79b906172d1a1c30d7642a32ef7afd46d77d7311b65ca55d065995f305cb0e89485a WHIRLPOOL 49e76fe4180f575aba7af820e3d9aa32d05f917b379fd9d3942785b47fae4ff9e7e59bc17b1bbe97d0ed52b6ab54aad4a20230bf6ab97f4f6efd9d9c9ee9acc8 +AUX ceph-10.2.3-CVE-2016-8626.patch 1102 SHA256 97e97c840e72d8bcfafbec610fd6b605f14c9ce54bff01541254737ad2f806a0 SHA512 e924b4719f0c4a0aa27ed383c816d0d24d7a979b73fb2962193dbdc31cd23c02061904a696222d73e58e1892b2ca51e9c6df6674fec5c17f013c2f4664790fbd WHIRLPOOL 3daa3cc3c0ad44ebbf76de7cd80e413b3f27d0fcfc757f4858827a8eafefc3980ce917cebe305cda268ccf9d085e623887934ca77eb49f9adf68ec0e4dab65be +AUX ceph-10.2.3-build-without-openldap.patch 1209 SHA256 45027bcd80ce3cc7ec573f2ddedd956cd6b99a911ef7bbd96dbab3625b61ee10 SHA512 2b0476eeb78246f252bd294eabc66c6fe5724d753d0cc2dde56720aada2517e42df3387eb368a53fa553617d436d18393a4e856d6fe7395022b249d522d1ec88 WHIRLPOOL 3ef938b99ba70f8eb3e382ca4e2d184dca2c85faba5b6838b123efdd84a92dcfe35059bed1aeb6cbc70a49e987bb978d68f55c49cf79551ef755801d101fb8d0 +AUX ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch 794 SHA256 de155f38a6a0811a2c34a85d3b32a6ade3d31a471b8d6403ce28d997f8b63f89 SHA512 1261d3f088ffc4514069e73e49f627c6f87e89683cedc0048dba6d0e18f53f9a784f6c558478ebe72dff70669e5a453809a720cde77f5b89675d92840e6609b7 WHIRLPOOL 665aa5983ae52a9c92ef4eb0468a47cae67f39e8f489115b8aab92e4b030dc25e26ad327f6112b44c5e0f57634a335a3dcc4e12f0a6fe3eaa4ca27b0bf2838b6 +AUX ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch 2155 SHA256 7c3472383a49683fdb45483d54d9d8758c6415f635a2703aad837d84bef34507 SHA512 c64b4def2ee9cdc9109ff6c32391384980d5ac4e33d425454fe1ff59910ba622ecb458a6722a5ed0f988e021b83ace5d89cb3974a1cf65862e8766595d8cfb0e WHIRLPOOL 60d6ac98552962c752054dc9d2fc0511966419baa452833710f3aef3985b775b19087e7dccfd670191171b18a3bec10a2ec33adb3a1bf9d01b6302693b5877bd +AUX ceph-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch 2997 SHA256 e734fc435c58374d897e246a047f1e0b241393dfc3b6f70b6587ee5b83c0c674 SHA512 6450981ca274216ae6d394804911a2d7fc57902914a6ad6e9ff1d9db69e71a46f59b5e05d3b2d743d026952405b86ceb5d88134aafc5f95d69ae490c805898dd WHIRLPOOL 5fe2df64fd6eb1871dbc8deb67af55ca2a98236ac6ae3bb21add422d945ec29e8d86eb91f80cc39eb3cd32b0e5076eb4529326e6d03afee65dd3c75135b95b3d +AUX ceph-10.2.7-fix-compilation-with-zstd.patch 1782 SHA256 291664ca8c1fc51d560b58077eacdae10598aedfd38d73e73d2922053aa2df44 SHA512 5929217f64deb45fd803e33cd277443cbb5f5f956fc4be05490a07dae0b02467317426993c7fc44173a18955261e3a73e603775db12e788a93c851f992539ad6 WHIRLPOOL 06b4e7c8b44d11ed11f8645668bb35e9f25855c5f6e3d5777cdfcd3235584b897f73d40b6fbf50b8f6ed7784dfad6f0c622f2b150dd09215f63547100dad62a9 +AUX ceph-10.2.9-cflags.patch 449 SHA256 d848d0180728d2a79d58833795864eed7a0b8473763256166be21d11fce35881 SHA512 17a165710b0effacc34257daf077f70f55e27f0bddd4dd58bbc8638653ebd13eeabffbb4ead40ddc3a69586c65e01f911ee5f8e1bde94576d66928f0928fa510 WHIRLPOOL 323a1170d3ead0f2b7dcfe92170424b1fdbd29ab2edf2d77b43bf34515ae99ba17a4863b7287eed324f85a26f81e4d0cfae6e22c87c9370dfef41a59b6c0d312 +AUX ceph-10.2.9-dont-run-lsb_release.patch 2862 SHA256 6c3f0b1115f2731f33a02bb11d95d215520e743dcd2556e99c4258fc3cbfbc88 SHA512 e97a0c2a40c886029bbff12f8591147b88d5eae86dc79a63b267f10745a465da62786cf41c9fd0f01f51805907633c1fe954ebe09b0730660cf690f2c53a8252 WHIRLPOOL 601f58a0f764e1b7d97cfb70bb089eb79da1e8259951796571e1a39968333d67892c4232f17eaf2069d7991b26ed8a26208a8303e03a8c268fe741ba6a79be50 +AUX ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch 2970 SHA256 49d665e0a8b904614e75bc76aa581331faa637b514338eef548bcf3afa7d1928 SHA512 e0adf5b7c299a69393dcf0ff31def1ad7f39eb242f8d9e170c84ee5c1ea92442287575af1f64fd630ac6877500b9e2ccb34dee1286cf91b1d52094042dfdb0d8 WHIRLPOOL 91315101c268ac12be7903b66498321aaee4a77988ac1f6356b1d9d316314efe47d2082e106c709087030d31368d2a84d80ee6ef9570e34abb76d9034d00708f +AUX ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch 1412 SHA256 a4e7ecd7b676df4f4dc40fbf56934ccf8400a5c5f1edf77bb41fcbd26b936618 SHA512 23dd7651edb176419d62648e9d29957b9819129f1f50ac97608c16d658d21787ded5f162b6f4c3e6b404f2d5aee47514a84278692684f0d6f7506c84cc71f37a WHIRLPOOL 57b3e618541605bc1b7601194edf7cedc03634a2d98c97aad49cee09a2f2d9571a5c3b941e9225f3d705fc4444cad4c67055d948e395571827b06262ec73bee5 +AUX ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch 1017 SHA256 a3c9f0ba9c75266dab9e4a30fa6b2593f1b86224f8e5a89e782de862d05a3c04 SHA512 76a051a0fb2cf2f2b38655f7cc1866c745b6e59d999bc49666efc0e29d5e72aa26259241b9a9f4cc20a1863c3636a42a4d49d6d942d2d7456ce122b346a0f378 WHIRLPOOL e8f5ab2ccf67d8c340b18c85ad401a3c855c7c31d3085f7991d944dda09ed22e09b0cbfc60d5184ee3fb98062d8367237d763fdc24984beebd52b2344b0a910f +AUX ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch 1422 SHA256 2b19b9ae3c482d7bd705197b07a954ba38f6ec1b40406b86cad995084e033ae4 SHA512 62351c1ac682938e138cb1b6f668f9d9b841d3d57b84fbe6402ae9f7d7e2379c538c5d83335535d842da2870c3449bfcd39f66118f89422e7eb6fe8f04b0a52b WHIRLPOOL 2c2e599ca5fb0d0e53cc7f6bf54eae92164ab7159860d515d4721ad3fecde873f59f8502b33155e9ea968105265826427eadc7585006462c0b3bf9f7b60ca326 +AUX ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch 1358 SHA256 e5c06297569fbcb46e77e3277e38845e8fa5cf2603a93d666747e43046b8f26a SHA512 0c07702ca78195575a66efecb8e75393da8dc5706e08ffc1e598daab288f6678f6333085d929d69dc5828494c360a83bae3df2b96efb7ddaf782d43691eedba9 WHIRLPOOL 0aa5572d2c00039e89cb01d08936287ead5d149575241fa5d0bbf495ec9c33f4b3baad2edbc8c8b40040e599e83be47a68e2cdf7b0faaaae362e7696722dcbd2 +AUX ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch 1111 SHA256 7924d3e89cea9dcfb77ff858e5089e6921634c9eeae844d9795468cd782b9d5e SHA512 cf475d9de2ae0c4c41389458f9f256da0f584650ce8204779e7a537cf62195cb5017233b3dcdbe0a5aeed8d7512e4db964a43ac4856e779b6ebcb7a6f676e7bc WHIRLPOOL e4c1e793f2394bcec8176df0e709196b71c4474233465bddf7615a64ad830ecf7b7e5425ba334770b920f415b8a05f949aa8fa8d21df20875c6bd0cc39115e12 +AUX ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch 1353 SHA256 fe79a292354403ceea7216dbb9bd727033bda5f519a1c33eccc0ecd9ecdabb03 SHA512 050d4439fb66b8dcb3ec3fe010bc6193e287dae2a7d25e7a58c4ce733e32a596271f6a69667039abe3e21b66918396a65d579b5da5665fb6e1e292be4b78ffa1 WHIRLPOOL f5337f5af508a71b918022c162ffe54fdc1047a6b4445105e892c6218be9af40849998419d43379186a955f45b9304f2f1dcb0b6393eaa374ecfebcc8517d2be +AUX ceph-12.2.0-cflags.patch 536 SHA256 d6d1ccf53cc272c97da28ff5253ed2c78f4f4a0c2eb2ab6e5aed271c32e6da0a SHA512 9864da1a83c1145d143eedd73fd3ff142b354fd0bffa73a25f30eabd68d7eddee82208be7b7da74536ba4c996808aa77fc55bcf562a409240d69cbd249ef1d75 WHIRLPOOL 422f0df365fe6b6d284c3a6c45fd1bd104cdb80626f1decb0f3aeb1a5c73aa0ca3ab690409a0bf17e92759d0cd30b268bef9fbe6b1fc602d177d457c8f1ba241 +AUX ceph-12.2.0-use-provided-cpu-flag-values.patch 1590 SHA256 37a33221333559d86e3dbbd80767ba964e64d0b1581f3f78393696c28198457f SHA512 ecf4067776a146cf2aaf0b83298e508a6073147e555f4f9ba73cf2d9e0fe26d9ea72fff8af1c67eaa436e30d32ed260f75683c7d77b27a88fbb098b561d13f0d WHIRLPOOL c2930af3cf09bb6b18565b412c353ca8d2a27f56ddc2aecb0621c9b5cabf393b025847c7c4a7e529b17b4a9e0510e903a074e4aa38dfb62a3d5af56e1e26e618 +AUX ceph-12.2.1-systemd-unitdir.patch 345 SHA256 9ecea9307cc8831d14175127b10ed78d81dbfbfff0debbaf6d25b72daa147844 SHA512 a29373704f645f5b52597f5482fb4538f3d335bb1020c206a089ba58707f988cf42d335f17a36911f373936f8e769613c3d3fa98f55c1fd91d433d036b769bcc WHIRLPOOL b17902983baf2dde5a7e1ece73476be566d722e74a1651a2f130af1a5a195259a0b0556e5135df3640e3ccd888af8f2feda9a381f0b9bdeeea5b60bf291673f7 +AUX ceph-mds_at.service 282 SHA256 f4788a5ed5c9b2fff1eed094b76888b7cc7fc75efcf35cd4f8dda7d9e3c29eb2 SHA512 3a37e187f925e1a5fb672ac90937f544f3b98ed5a30b6a6b931a600f9d6a245373085ed61b40e0c64b30dbfac51dd99cbeaeb7538b5f23953bc0dde1df94742d WHIRLPOOL f274492e8a7239d99cc4fe2efc76e0abc6c55bf111598403ffc515866e731a13ff04329ca0b1711d9446664c8e7355634945f39b1062d63434a11df3445aa166 +AUX ceph-mds_at.service.conf 115 SHA256 d3303079beb2a5aa715016ab489279e142557877382fa8b066abea631189b835 SHA512 e0b51882ec864271a6468141fdd185e24cafcd677f312a7658880a30c00fd58d9043b2651548ab23bd01e54be248a1e8c03545a8fda0b699ca051de7ceb925d8 WHIRLPOOL dde434fc21857a36179f2681261a3b821cfa1be9cce66c83fed2faeaa0df6dc2c6b2613b795d12cbce4f31eab15767dd058d0c354b333a1b87cbbb01b93f4132 +AUX ceph-mon_at.service 508 SHA256 0804d32699777c981ebecc616999bec3c019cbf1379f8e308f1a8a1a6c306a7d SHA512 4e5846b10f2d7e1d2156eb35c96afb3cbb00f38ddd7dc4672a7f249f25142018d507cbccb747d2f552954834ee23c357d6d82b305b9fd30e78d92e5aaa3fc98e WHIRLPOOL d85a1fb22b7768217a40694b18861af29377839a1d843bc7f94e77d3b68233b304490ec4dfd238cf181ec579a01bc66284668905e6375feb6894c3a0d4edea66 +AUX ceph-osd_at.service 362 SHA256 c628755279d58a860d8a35c693d21d7b532c13880a181e46bdce30fd81de9052 SHA512 99c932fa99679a26b288ad57ca725a50847199915368a07ae1bb589ca777cd6e6a68e84f4d506a1097a06ace06eede176ea573e694bcbe43b434381116d63300 WHIRLPOOL 3a44c5a6c25e9e4543a9540420940ae683d014fd4d71d9fd3beefd669dd07a287a1363de6fe03e71906def9c555a27e9d02558dfb40954954d87d6ce7e65b372 +AUX ceph-osd_at.service.conf 115 SHA256 e3515ad3e002969ff3b06069ef8ccdad2fae5cd4aa35d9e982b59d386ae0e40e SHA512 8f169a73f21968f550c6fb21ca7b1efde522b7cccaae0e0c4e22c67ee9c7ccfec7845de3cf84af1075ac9f8840b044dc9440e7936fb9079899df06df350ff9f2 WHIRLPOOL b783cf96382d901b4203d12cd4be6278cdd2f9b53808fbf9194bde58a252d855343f802586925731abc97e2d8c605ef7b5d19fcf3a5e2e6fbf2695c0404c17aa +AUX ceph.confd-r1 69 SHA256 68d0b46b925fbc0e1571230c8bcc55f46beab4e575a3d964a3753534d751fe31 SHA512 b7f7ebb48b94398eaabb6df2cf3a5697d9a055ea4dd9b73c40d2bbf0e1445f418ed760b1f4ebb13cbb7315b2583847eb97b8649f67b6b7cf98081c0599c86aaa WHIRLPOOL 0e1989d813e7e8234112f656a4e017fae521aa5f09d344ddd1f685a6afbe3afdd51adcaf979a8395ab85ae30e6526a03d8c838d10e46f674eec7651d2df43abe +AUX ceph.confd-r2 171 SHA256 8c6d7e408165eaf95b2736b27d670a0c2c43b60c6458e4e33969140c3f3fb171 SHA512 f7170644341e6c8dcb71ca3a4325c8da3325ebe83898cbf11b47b41ea4f899781b9bc87fd21e006292de78fe9e905ac4703d10afcf91a4687002663469201ba9 WHIRLPOOL f64c2db5852675b88da0c8db64b0702f1282d27763453f6a8c7aa0c92fcf5295d6e02acde76bc4a1c374c7ceeb5754d81978fd6467000b8a3dc6ebf1a7b3aaaf +AUX ceph.confd-r3 1227 SHA256 ab73671e1b2972d888f3b20272be615baa5e8d936840e50c3ff14f7fa437f41e SHA512 821b86e196d17abaefa6b6c74f451cede62ca813ed0aeb5c497bd78e48bf55c19cc6af98c0d74ad63a4e359ec27af101dddeb88033cbf449333833a3a7fb8185 WHIRLPOOL fb395d4f5b589c83d20ed5cb7cf140edfe1ae63c0a1c93c3d1ebd205abdcd7cd76835b87480ec24b51aa61223ef857093c338d27d160036d52eabaa5d3fb0e0e +AUX ceph.initd-r1.1 908 SHA256 7ec4e82f8ed2b25accb929a6700e70078a64a7ecf5abc92f9a2c918b3dbbbcfc SHA512 a6860372f935d64a978f0b2584074791ed945af8172f57910b42a2d92f373711c655a566e6935ca4bba28d3d87aafecb3242d307631378481fd9d05207dd4809 WHIRLPOOL c110163ed12b9220d970b198c789435eff137b55f595aa31f3c2b765338d91e2d88343e6542509714f4ea694f3f6764213402e1f90238e719de09615361b8735 +AUX ceph.initd-r2 958 SHA256 49e69cb418f76a45dc933edca944d78630a8460153bf0a4c511b6d10223615f4 SHA512 6f42b8540797d3f55d64b9842e190ca2973c1779c720b7c9923b8bcc06dddf95672bee066275599e4feafeff38652235746433305dd4d7df8ad086a8deb960c0 WHIRLPOOL 3670c40a1ecd935667f1c8e5d3ebd25d0a41dcc18c3ac6a6e155e95a28682295858f2c06794beba7c7173c40ad403986541ebe8827370ee4aa9c922b40ae636c +AUX ceph.initd-r4 1189 SHA256 03a6fe825f5bdfe2a9e91b8dc2f1b1d16bb2f487f617bf35f58cfd8b514de5b8 SHA512 dbb69228ee566490bec93823040885e419bfbd7dc076c802cc97b47dde9fbb06a99f61498cc438c90fd0474b2ad7247d756b977fb415b0f1168442036a48bd97 WHIRLPOOL 11dfa061dfad1018f0f4feff279cc2d449bdb57c85bebc5160271a65752c1e9198be5cfcd55ad457b8649aa997a0cb61e41650c6c29cd2be0863d35a5febe9f1 +AUX ceph.initd-r5 2149 SHA256 6c148a328c3ac8082dd2e5d2eb1e3396f65feebd7711c411a715fa8d98f914d4 SHA512 e572d91f5fab3f77ef39759e1e145f0d73c5bde3515c8b3c6185f58fb28592da38e13201972b61c7071daa338a997e78e051a4f2adac912d7e8d1ddd3809345c WHIRLPOOL d2be9e89e5bb408da4a8aab1477c8f0182bd768a39a77fb98d743c1804983a1fc08fb87882dd28ff2232e44090cda68acd34bc5202b96e247230c4791e9b566f +AUX ceph.logrotate 427 SHA256 f893364080dfaf5fb3b250e4811be7f1880ea937c7a6b70f913ad560fb14381d SHA512 6edace611f46683ca3b8d2154b86ec77cc241909704e0362b728a5f51c2a809c22e83d69df0d58ec6b3a6b8dc8ef2518c220cac920f51e63fe668cdfe1b48bae WHIRLPOOL f9e3643177805202a0c07b04cc38e7a3e8bdce76f59bbdd4aca050527ceab04ddcfb293e13632c2fd25eeff725f3bc532e90e223b4f003ecfc5bab377e8669cb +AUX ceph.target 128 SHA256 2dc38c2aff560067604d4ee0a3b569ed0032928223bf865198c500560bd8ea0e SHA512 f667a92e9d8dfcd52dab8ce8bcdeb4c7da1fc65f5b11df96340df3b6362a06b3ba71bbc6677aef278514b856a85a65ddfd9e7b96b48a9684256ccf4825e98dd5 WHIRLPOOL 0bd67c47391ad21853f3a859b8cfa53d740f41a06f024526bba29c69c98a5bffb871ba45581a3fbfaf8b3fff9ac2c04a8e4e042e364926ccbfd0c01f52a1ebd9 +AUX envd-tcmalloc 48 SHA256 b24741f787828fa45844af0a5ed36ac89e2e4139244990bf044268e28f0d7e15 SHA512 d180b1a888ec6d870ff523a3b10fd00eca479ee2586a236458af5ffaba21c84e7b8098da6d4bc08fb86c82c61a861dd3c3596a01063d734c329a92808682fc8c WHIRLPOOL 73468450e14c4e55dcfef10c8cf17ca1f2471a54752d4c0ae110dccf43bae47db5641d62f16ac331b0fb78e0b0a52edcae370a18c7870dcc1501c3d288cf791a +AUX rbdmap.initd 2373 SHA256 7e1c5507f015eb42d274af165492d8ca495bdf9467e77c276b962605fe8080a8 SHA512 bbd48d6987e52eaf6d02bccf3aecd06596465af4d3ac93063f9a814106de162a27bf1a33ae1646e669efb3c754f3ba57f395523293ad643b0d81ee588252216b WHIRLPOOL 5605cb10e847492c5e73353ce2f41f8d9f2d2e5fb17fe41266b6d0f3e045a328b9e1dffe547c2ef24e4ed916ff9f2fd52b137678d6c532ad5dba459470ed1610 +AUX sysctld 57 SHA256 de2d90c6a49e8703565858a912e0806edd3b96322ccfbb8454751ecfe33dc373 SHA512 410f5d721c6cfcc5d7ddaff4f348345140d4b8e1b8fddccb537118bfc59f573ecad63db448598423c9a58fcfdb4cef90e6af27b838e6b77955dfd47673f0f52a WHIRLPOOL fe714df1d7b42f2767ebbb4d365534b2ed6dcee3a90589150ead40cd3b911e06431c6c94465ba3ab97321d43b6d3a0b67f83210cc6506d40a8e2f36b4698b7b8 +DIST ceph-10.2.10.tar.gz 14573701 SHA256 41210ac8cb71d9c9d6504b57adce496d3272ee8f79089537d262898747d68e75 SHA512 883d1b8340aaefc7a1eee4bbfb5b1d1cc15bffed8f35fb1e8fb86b1208a4d0d16753eb6c688ea0e661c4877d3d148b2b6c2b41620c4e8a61e47c69f46f98e537 WHIRLPOOL 4a2c7b9c7ff2f7f7bf5b36314f2da5630cf948b1558e4b6d33669ffd76836d7fdb6104f3bddcf7209ead2a31209fcc59fe86020763303be10db52729d5e5b648 +DIST ceph-10.2.3.tar.gz 11596171 SHA256 dca933aa14db67b404d836ef510bd418091978edc2f0c74dfc530ba0aa5e8994 SHA512 9de1e6851fc343d2c52c72cec3f7887d998d5b588f1251ee3a1fda14427badfa10408e6691fb03a374a10f4ec9844868423fee70fbbe2c0d962af98481412f19 WHIRLPOOL 981ebca66113a07a5cc6e5934272a72b29a2c19e03398f7b622c11df6ea0a05339558dfc2f11504403cbbd0efe0b090ad59f4b86206b46db57587744091aa26a +DIST ceph-10.2.7.tar.gz 14518491 SHA256 2cdfeaa9a08e94c2d35f540b450bbf64b2a694bd537679834185e98fc59d8ba2 SHA512 7e0686e9efa4ddd9d548f4145b448f8232f1ca29b08428daa5cd60a74ce26f1176a1f2ebbf2ac1761d9e6c1d364a5ffa194d2b3a18a8111f59b7c27f7a1d7734 WHIRLPOOL b6b6902230401b5f4c6f27801f315678bdc7b99aab4e50b54d941fc3a425b4f0fa9390484f2e12d6b4f962253fb8772fb706dad35d490b4542b06db166fab59b +DIST ceph-10.2.9.tar.gz 14550219 SHA256 3d93f4fc4a66b1d9f9ce43f65868dc18287cea32fbb2c7421faca6aed2b52a80 SHA512 1d59146614aa87ca551b05b795a684071a3cfb4ce6013e978ba650403c6732b2aa13f3c3cc191e6a1ea34b4631c82e97700593c24e200c41ec2f2b43b3ef5547 WHIRLPOOL 42215d33c4f617087e1b0ef81cd41b42330c3605acf625b0668d44eba9e982239683b466a1cc1a6f926fc1d439dfd6be4ce220f783da7d2214d36a2a6cc9181f +DIST ceph-12.2.1.tar.gz 148738778 SHA256 512666ee88610640d66b261f9307c96ccd70eb25cd3349acd083fb1220c8a32e SHA512 ec2623c1f6ab563c6fd0bb5fd046c78528fdbedca7cde347c92a9b15005d2ab2b1a46d7294e93f56933386462f1066750285109aafb6bf94f7d5bcdb7214d8a8 WHIRLPOOL 6a22bc7080483b3fe161bfc441b9fdf1a85d2bd9a394e89db2005a229397d206614d3e7a0d84cf7521822688faf4b92ca75ad4ce586de0d262fdda5c94b4f904 +EBUILD ceph-10.2.10.ebuild 7617 SHA256 4a423268303778d75a0e52c75e3d3a129f790ce0db95d53bf5fdae0ab87664e2 SHA512 afac8da7c498001c6fc3efdce6f0ae253cbaeeddc16076ba39a4b34bf824c61d2b90208a5943785974554b6c8e60e5a10e53ffd8c7171007df31e552a27fc4d7 WHIRLPOOL 771b2762eab61564c73823ad89d0f6759dbce3ac7832ccc4513a0b59c1dc806418d7ec8d50e9e7cb510129df713bf59363251206bd16f326426399ca5ce580d5 +EBUILD ceph-10.2.3-r2.ebuild 6106 SHA256 3424b622c7cd0b2edaae05b14d4f5197e9c337748abb5c74cdea4beba53bdf3b SHA512 817064150d5a36d16b899a9d4be37a746a5f0108d73d5fb136e3faee1624763033376087488e30bed9ceb45d1e64f8cebeeadef7b53bd2055e067f271cee328f WHIRLPOOL 1358f6f1f266b6f7cab6aff8fe481b36684544f1f5d6cce8db410609c2fadb0ee9cc52d83667816a7a908d69c9b511064dec72eece62107ef0135022936d8b0a +EBUILD ceph-10.2.7-r1.ebuild 7150 SHA256 cb440d6aff0bb038675626e45663330ce526412877388e0b5b98dc2267f19e15 SHA512 52dddba20a114a6baf3fe6149bfafb14a94ab2656924b99b83aef59c6046bdff69f6f12095040e85d2328060167aa7fa43539043d724c5b5b6133546b0453dd5 WHIRLPOOL 36f86be44041f8a99d3d0c88dabdeff0ad1f9854a36b35fe0aa4e934c288dfd0e3e1cff186b831b1a8b6ad517f7f27813b200c888de1088534d301feccbd2909 +EBUILD ceph-10.2.9-r1.ebuild 7382 SHA256 42be2b5e22848ba166201b99874cea6aa2e8643afdfa323f14d9f94c401e9430 SHA512 aa178faac0bb130b85fafc6fa50b96d093f8162d2c64bd1a4d92663e86bb41e8ae1f728c6d62470cc5b9fc22abedfb8378be5c0ff616da8d5c262e22144a9477 WHIRLPOOL 6cd3e0af704f2d2a5708138bfd03f586a7d0104d96900730084b6bfcc22b8a3772737b24f15103088a2a2bd9db2caaed737dee5919cc3707dd5ebe8a37df133e +EBUILD ceph-10.2.9-r2.ebuild 7467 SHA256 eea7612e3093e76d144f3924b134a00da1fae1ae598b799f74ad220c4a57e8d6 SHA512 91a5fa648a7a57ec5fbf32c5aecabdde7d2d2211bd0453673e8db364de4869899add700b191bf38e37237cb35133bdbc2415b92c766c9c5e25f467854a4eb6a3 WHIRLPOOL ae6db5b9ef5ef9513f6c2de3888db9efd2883aead0ee8b7fd878ce6c1c77c86d69c0c637b0d1e89f56f981d441bf4c7f41eb9ee519b57ae4a9338d0d6c9972d3 +EBUILD ceph-10.2.9-r3.ebuild 8252 SHA256 7eeb96bd482540ad7fe740ccdc441aaa8dd2d8f92ac08c7be8e4648987b2c96d SHA512 5025aeae8794d66a3bb67f15dad332a8f5c004d911d1ea3bac7fd1d7090f3fc6eccae46c4724690814a5350852914ff8cb91d06a6efb7307550291a6035f26bf WHIRLPOOL 946802440c3c979a19214fe92ea64ad21e86867fed0a76e1b4dc497623776cdea031635e40be7cae8b96e2eabe4394e22b37fdb7b08196e8d759d68307feba82 +EBUILD ceph-10.2.9.ebuild 7150 SHA256 c1743c6b955f60887f82aca88480f0619bbc40eb6a2f1f8fa25c559245c3c774 SHA512 9b9b506446f88961d26d3e06100cce48c8cdca51b5634aef0c5a85268c03f9ceea8bc84347589344f08093aa98627673a7cdd1c27abeba24674efb185b2e69c9 WHIRLPOOL 17515dfa6b7e39a9929e6f1d039760d65ed9bb8337dc221b5eb87b6e97f437258b89ed2c30b19ff56a0bee5916a766f5cc390a3434a9c99f443e358f6cb7eb2a +EBUILD ceph-12.2.1.ebuild 7345 SHA256 6cef166baef9b61fca9b5e7fd81bf55bfd7718a6221656cead077f3b7e15d857 SHA512 04baa2dea342f463b54bede0e7a1286ae70f7fe326d043753ab8c3b43816d41dd98238c18bb90f485492e7354f4bff702370706a2192027a16929e0e83456be0 WHIRLPOOL f9dd965a8678381e87b59a40554ffac8908b62a4fcbd1bb23b36210e9cb0bed216c50d24375681ff8829684e32fb9c3150364ec4f7ea52e717866fc33b2d9dec +MISC ChangeLog 13931 SHA256 d9090f48b7f1f483f77b9cdd0f8c3b2059187c1ac0cb003d34d2f35a51d27aa0 SHA512 27b4788a437f8599557c32018ff5c6e7a429ef21df1b37f0a2663b94d4aed540da6f9ad08edb64b752ec81565ec864c5cc8c57ab025f556aa3fdf1e010595ab5 WHIRLPOOL 52d36e0d10a3795dd912f1708deeee81b9d472a5c50ff3c97de9dd31d52926ebde1a3c6bd284824c64779cc3c42a2f170192d1be0963d68498a4e56f36906bd3 +MISC ChangeLog-2015 14588 SHA256 632846972e3ea39a1957c8b0d171e88516cd916cbd69a949213c8abe0e13e1c3 SHA512 3507c7b20f0f6a5678b259ad439ae6d93b0366dc08e44cb828420b811fde113436d800cea38537696df55230cb958398b82acd5031701e675a38bd91a4c0b790 WHIRLPOOL c07b058340e006371ab56d4e345f2708681b01d7002da2e67030987c8414377d1d2f2ed3555c5c9f74fa0c5cd5cdb0830e1e095b7a462431e0eedc4d3286a4ac +MISC metadata.xml 1618 SHA256 c1c93c63b460775f2d543091e5dda684afa22502ddda66ac11f1c1b0bd76ab6d SHA512 91f04007bd5164d525fe248251c9b41e5d3a16fe61a0b14c34af0e86b51a97cd8fe8927508f983e7e63d2f40318c4e0fbcbb15e305fb8f6b3d3148455a45896b WHIRLPOOL 35d98ff632010d5b01fcd252cac7be28fcce6979f0b47dae62155cf16461250d5e9c9179bd3db0b8008dd5483a8e41741856192b5883218c00caab5af6e4c113 diff --git a/sys-cluster/ceph/ceph-10.2.10.ebuild b/sys-cluster/ceph/ceph-10.2.10.ebuild new file mode 100644 index 000000000000..f142f0748198 --- /dev/null +++ b/sys-cluster/ceph/ceph-10.2.10.ebuild @@ -0,0 +1,305 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) + +inherit check-reqs autotools eutils python-r1 udev user \ + readme.gentoo-r1 systemd versionator flag-o-matic toolchain-funcs + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ceph/ceph.git" + SRC_URI="" +else + SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +DESCRIPTION="Ceph distributed filesystem" +HOMEPAGE="https://ceph.com/" + +LICENSE="LGPL-2.1" +SLOT="0" + +IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio" +IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs" + +# unbundling code commented out pending bugs 584056 and 584058 +#>=dev-libs/jerasure-2.0.0-r1 +#>=dev-libs/gf-complete-2.0.0 +COMMON_DEPEND=" + app-arch/snappy:= + sys-libs/zlib:= + app-arch/lz4:= + app-arch/bzip2:= + app-arch/zstd:= + dev-libs/boost:=[threads] + dev-libs/libaio:= + dev-libs/leveldb:=[snappy] + nss? ( dev-libs/nss:= ) + libatomic? ( dev-libs/libatomic_ops:= ) + cryptopp? ( dev-libs/crypto++:= ) + sys-apps/keyutils + sys-apps/util-linux + dev-libs/libxml2:= + radosgw? ( dev-libs/fcgi:= ) + ldap? ( net-nds/openldap:= ) + babeltrace? ( dev-util/babeltrace ) + fuse? ( sys-fs/fuse:0= ) + xfs? ( sys-fs/xfsprogs:= ) + zfs? ( sys-fs/zfs:= ) + gtk? ( + x11-libs/gtk+:2= + dev-cpp/gtkmm:2.4 + gnome-base/librsvg:= + ) + radosgw? ( + dev-libs/fcgi:= + dev-libs/expat:= + net-misc/curl:= + ) + jemalloc? ( dev-libs/jemalloc:= ) + !jemalloc? ( =dev-util/google-perftools-2.4*:= ) + lttng? ( dev-util/lttng-ust:= ) + ${PYTHON_DEPS} + " +DEPEND="${COMMON_DEPEND} + dev-python/cython[${PYTHON_USEDEP}] + app-arch/cpio + virtual/pkgconfig + dev-python/sphinx + test? ( + sys-fs/btrfs-progs + sys-apps/grep[pcre] + dev-python/tox[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + )" +RDEPEND="${COMMON_DEPEND} + sys-apps/hdparm + sys-block/parted + sys-fs/cryptsetup + sys-apps/gptfdisk + !<sys-apps/openrc-0.26.3 + dev-python/flask[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + " +REQUIRED_USE=" + $(python_gen_useflags 'python2*') + ${PYTHON_REQUIRED_USE} + ^^ ( nss cryptopp ) + ?? ( jemalloc tcmalloc ) + " + +# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup') +REQUIRED_USE+=" radosgw" + +#RESTRICT="test? ( userpriv )" + +# distribution tarball does not include everything needed for tests +RESTRICT+=" test" + +STRIP_MASK="/usr/lib*/rados-classes/*" + +UNBUNDLE_LIBS=( + src/erasure-code/jerasure/jerasure + src/erasure-code/jerasure/gf-complete +) + +PATCHES=( + "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch" + #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch" + "${FILESDIR}/${PN}-10.2.1-libzfs.patch" + "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch" + "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch" + "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch" + "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch" + "${FILESDIR}/${PN}-10.2.9-cflags.patch" + "${FILESDIR}/${PN}-10.2.9-dont-run-lsb_release.patch" +) + +check-reqs_export_vars() { + if use debug; then + CHECKREQS_DISK_BUILD="23G" + CHECKREQS_DISK_USR="7G" + elif use amd64; then + CHECKREQS_DISK_BUILD="12G" + CHECKREQS_DISK_USR="450M" + else + CHECKREQS_DISK_BUILD="1400M" + CHECKREQS_DISK_USR="450M" + fi + + export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR +} + +user_setup() { + enewgroup ceph ${CEPH_GID} + enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph +} + +emake_python_bindings() { + local action="${1}" params binding module + shift + params=("${@}") + + __emake_python_bindings_do_impl() { + ceph_run_econf "${EPYTHON}" + emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}" + + # these don't work and aren't needed on python3 + if [[ ${EBUILD_PHASE} == install ]]; then + for module in "${S}"/src/pybind/*.py; do + module_basename="$(basename "${module}")" + if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then + continue + elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then + python_domodule ${module} + fi + done + fi + } + + pushd "${S}/src" + for binding in rados rbd $(use cephfs && echo cephfs); do + python_foreach_impl __emake_python_bindings_do_impl + done + popd + + unset __emake_python_bindings_do_impl +} + +pkg_pretend() { + check-reqs_export_vars + check-reqs_pkg_pretend +} + +pkg_setup() { + python_setup + check-reqs_export_vars + check-reqs_pkg_setup + user_setup +} + +src_prepare() { + default + + # remove tests that need root access + rm src/test/cli/ceph-authtool/cap*.t + + #rm -rf "${UNBUNDLE_LIBS[@]}" + + append-flags -fPIC + + if tc-is-gcc && [[ $(gcc-fullversion) == "7.2.0" ]] && is-flag "-g*"; then + ewarn "Filtering out -g* flags since gcc-7.2 tends to ICE with them and ceph" + filter-flags "-g*" + fi + eautoreconf +} + +src_configure() { + ECONFARGS=( + --without-hadoop + --includedir=/usr/include + $(use_with cephfs) + $(use_with debug) + $(use_with fuse) + $(use_with libaio) + $(use_with libatomic libatomic-ops) + $(use_with nss) + $(use_with cryptopp) + $(use_with radosgw) + $(use_with gtk gtk2) + $(use_enable static-libs static) + $(use_with jemalloc) + $(use_with xfs libxfs) + $(use_with zfs libzfs) + $(use_with lttng ) + $(use_with babeltrace) + $(use_with ldap openldap) + $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") + --with-mon + --with-eventfd + --with-cython + --without-kinetic + --without-librocksdb + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + + # we can only use python2.7 for building at the moment + ceph_run_econf "python2*" +} + +ceph_run_econf() { + [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset" + [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation" + + pushd "${S}" >/dev/null || die + # + # This generates a QA warning about running econf in src_compile + # and src_install. Unfortunately the only other way to do this would + # involve building all of for each python implementation times, which + # wastes a _lot_ of CPU time and disk space. This hack will no longer + # be needed with >=ceph-11.2. + # + python_setup "${1}" + econf "${ECONFARGS[@]}" + + popd >/dev/null || die +} + +src_compile() { + emake + emake_python_bindings all + + use test && emake check-local +} + +src_test() { + make check || die "make check failed" +} + +src_install() { + default + emake_python_bindings install-exec "DESTDIR=\"${D}\"" + + prune_libtool_files --all + + exeinto /usr/$(get_libdir)/ceph + newexe src/init-ceph ceph_init.sh + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/ceph.logrotate ${PN} + + keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat + + fowners -R ceph:ceph /var/lib/ceph /var/log/ceph + + newinitd "${FILESDIR}/rbdmap.initd" rbdmap + newinitd "${FILESDIR}/${PN}.initd-r5" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} + + insinto /etc/sysctl.d + newins "${FILESDIR}"/sysctld 90-${PN}.conf + + use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc + + systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service" + systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service" + + udev_dorules udev/*.rules + + readme.gentoo_create_doc + + python_setup 'python2*' + python_fix_shebang "${ED}"/usr/{,s}bin/ + + # python_fix_shebang apparently is not idempotent + sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \ + "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed" +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/sys-cluster/ceph/ceph-10.2.3-r2.ebuild b/sys-cluster/ceph/ceph-10.2.3-r2.ebuild new file mode 100644 index 000000000000..9453bf66abc5 --- /dev/null +++ b/sys-cluster/ceph/ceph-10.2.3-r2.ebuild @@ -0,0 +1,264 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5}} ) + +inherit check-reqs autotools eutils python-r1 udev user \ + readme.gentoo-r1 systemd versionator flag-o-matic + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ceph/ceph.git" + SRC_URI="" +else + SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" + KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86" +fi + +DESCRIPTION="Ceph distributed filesystem" +HOMEPAGE="https://ceph.com/" + +LICENSE="LGPL-2.1" +SLOT="0" + +IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio" +IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs" + +# unbundling code commented out pending bugs 584056 and 584058 +#>=dev-libs/jerasure-2.0.0-r1 +#>=dev-libs/gf-complete-2.0.0 +COMMON_DEPEND=" + app-arch/snappy + app-arch/lz4:= + app-arch/bzip2 + dev-libs/boost:=[threads] + dev-libs/libaio + dev-libs/leveldb[snappy] + nss? ( dev-libs/nss ) + libatomic? ( dev-libs/libatomic_ops ) + cryptopp? ( dev-libs/crypto++:= ) + sys-apps/keyutils + sys-apps/util-linux + dev-libs/libxml2 + radosgw? ( dev-libs/fcgi ) + ldap? ( net-nds/openldap ) + babeltrace? ( dev-util/babeltrace ) + fuse? ( sys-fs/fuse:0 ) + xfs? ( sys-fs/xfsprogs ) + zfs? ( sys-fs/zfs ) + gtk? ( + x11-libs/gtk+:2 + dev-cpp/gtkmm:2.4 + gnome-base/librsvg + ) + radosgw? ( + dev-libs/fcgi + dev-libs/expat + net-misc/curl + ) + jemalloc? ( dev-libs/jemalloc ) + !jemalloc? ( dev-util/google-perftools ) + lttng? ( dev-util/lttng-ust ) + ${PYTHON_DEPS} + " +DEPEND="${COMMON_DEPEND} + dev-python/cython[${PYTHON_USEDEP}] + app-arch/cpio + sys-apps/lsb-release + virtual/pkgconfig + dev-python/sphinx + test? ( + sys-fs/btrfs-progs + sys-apps/grep[pcre] + dev-python/tox[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + )" +RDEPEND="${COMMON_DEPEND} + sys-apps/hdparm + sys-block/parted + sys-fs/cryptsetup + sys-apps/gptfdisk + dev-python/flask[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + " +REQUIRED_USE=" + $(python_gen_useflags 'python2*') + ${PYTHON_REQUIRED_USE} + ^^ ( nss cryptopp ) + ?? ( jemalloc tcmalloc ) + " + +# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup') +REQUIRED_USE+=" radosgw" + +RESTRICT="test? ( userpriv )" + +# distribution tarball does not include everything needed for tests +RESTRICT+=" test" + +STRIP_MASK="/usr/lib*/rados-classes/*" + +UNBUNDLE_LIBS=( + src/erasure-code/jerasure/jerasure + src/erasure-code/jerasure/gf-complete +) + +PATCHES=( + "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch" + #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch" + "${FILESDIR}/${PN}-10.2.1-libzfs.patch" + "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch" + "${FILESDIR}/${PN}-10.2.3-CVE-2016-8626.patch" +) + +check-reqs_export_vars() { + if use debug; then + CHECKREQS_DISK_BUILD="23G" + CHECKREQS_DISK_USR="7G" + elif use amd64; then + CHECKREQS_DISK_BUILD="12G" + CHECKREQS_DISK_USR="450M" + else + CHECKREQS_DISK_BUILD="1400M" + CHECKREQS_DISK_USR="450M" + fi + + export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR +} + +user_setup() { + enewgroup ceph ${CEPH_GID} + enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph +} + +emake_python_bindings() { + local action="${1}" params binding + shift + params=("${@}") + + __emake_python_bindings_do_impl() { + emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}" + + # these don't work and aren't needed on python3 + if [[ ${EBUILD_PHASE} == install ]] && python_is_python3; then + rm -f "${ED}/$(python_get_sitedir)"/ceph_{argparse,volume_client}.py + fi + } + + pushd "${S}/src" + for binding in rados rbd $(use cephfs && echo cephfs); do + python_foreach_impl __emake_python_bindings_do_impl + done + popd + + unset __emake_python_bindings_do_impl +} + +pkg_pretend() { + check-reqs_export_vars + check-reqs_pkg_pretend +} + +pkg_setup() { + python_setup + check-reqs_export_vars + check-reqs_pkg_setup + user_setup +} + +src_prepare() { + default + + # remove tests that need root access + rm src/test/cli/ceph-authtool/cap*.t + + #rm -rf "${UNBUNDLE_LIBS[@]}" + + append-flags -fPIC + eautoreconf +} + +src_configure() { + local myeconfargs=( + --without-hadoop + --includedir=/usr/include + $(use_with cephfs) + $(use_with debug) + $(use_with fuse) + $(use_with libaio) + $(use_with libatomic libatomic-ops) + $(use_with nss) + $(use_with cryptopp) + $(use_with radosgw) + $(use_with gtk gtk2) + $(use_enable static-libs static) + $(use_with jemalloc) + $(use_with xfs libxfs) + $(use_with zfs libzfs) + $(use_with lttng ) + $(use_with babeltrace) + $(use_with ldap openldap) + $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") + --with-mon + --with-eventfd + --with-cython + --without-kinetic + --without-librocksdb + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + + # we can only use python2.7 for building at the moment + python_setup 'python2*' + econf "${myeconfargs[@]}" +} + +src_compile() { + emake + emake_python_bindings all + + use test && emake check-local +} + +src_test() { + make check || die "make check failed" +} + +src_install() { + default + emake_python_bindings install-exec "DESTDIR=\"${D}\"" + + prune_libtool_files --all + + exeinto /usr/$(get_libdir)/ceph + newexe src/init-ceph ceph_init.sh + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/ceph.logrotate ${PN} + + keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat + + fowners -R ceph:ceph /var/lib/ceph /var/log/ceph + + newinitd "${FILESDIR}/rbdmap.initd" rbdmap + newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r1" ${PN} + + systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service" + systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service" + + udev_dorules udev/*.rules + + readme.gentoo_create_doc + + python_setup 'python2*' + python_fix_shebang "${ED}"/usr/{,s}bin/ + + # python_fix_shebang apparently is not idempotent + sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \ + "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed" +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/sys-cluster/ceph/ceph-10.2.7-r1.ebuild b/sys-cluster/ceph/ceph-10.2.7-r1.ebuild new file mode 100644 index 000000000000..e77e546d7b3c --- /dev/null +++ b/sys-cluster/ceph/ceph-10.2.7-r1.ebuild @@ -0,0 +1,292 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) + +inherit check-reqs autotools eutils python-r1 udev user \ + readme.gentoo-r1 systemd versionator flag-o-matic + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ceph/ceph.git" + SRC_URI="" +else + SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +DESCRIPTION="Ceph distributed filesystem" +HOMEPAGE="https://ceph.com/" + +LICENSE="LGPL-2.1" +SLOT="0" + +IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio" +IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs" + +# unbundling code commented out pending bugs 584056 and 584058 +#>=dev-libs/jerasure-2.0.0-r1 +#>=dev-libs/gf-complete-2.0.0 +COMMON_DEPEND=" + app-arch/snappy:= + sys-libs/zlib:= + app-arch/lz4:= + app-arch/bzip2:= + app-arch/zstd:= + dev-libs/boost:=[threads] + dev-libs/libaio:= + dev-libs/leveldb:=[snappy] + nss? ( dev-libs/nss:= ) + libatomic? ( dev-libs/libatomic_ops:= ) + cryptopp? ( dev-libs/crypto++:= ) + sys-apps/keyutils + sys-apps/util-linux + dev-libs/libxml2:= + radosgw? ( dev-libs/fcgi:= ) + ldap? ( net-nds/openldap:= ) + babeltrace? ( dev-util/babeltrace ) + fuse? ( sys-fs/fuse:0= ) + xfs? ( sys-fs/xfsprogs:= ) + zfs? ( sys-fs/zfs:= ) + gtk? ( + x11-libs/gtk+:2= + dev-cpp/gtkmm:2.4 + gnome-base/librsvg:= + ) + radosgw? ( + dev-libs/fcgi:= + dev-libs/expat:= + net-misc/curl:= + ) + jemalloc? ( dev-libs/jemalloc:= ) + !jemalloc? ( dev-util/google-perftools ) + lttng? ( dev-util/lttng-ust:= ) + ${PYTHON_DEPS} + " +DEPEND="${COMMON_DEPEND} + dev-python/cython[${PYTHON_USEDEP}] + app-arch/cpio + virtual/pkgconfig + dev-python/sphinx + test? ( + sys-fs/btrfs-progs + sys-apps/grep[pcre] + dev-python/tox[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + )" +RDEPEND="${COMMON_DEPEND} + sys-apps/hdparm + sys-block/parted + sys-fs/cryptsetup + sys-apps/gptfdisk + dev-python/flask[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + " +REQUIRED_USE=" + $(python_gen_useflags 'python2*') + ${PYTHON_REQUIRED_USE} + ^^ ( nss cryptopp ) + ?? ( jemalloc tcmalloc ) + " + +# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup') +REQUIRED_USE+=" radosgw" + +#RESTRICT="test? ( userpriv )" + +# distribution tarball does not include everything needed for tests +RESTRICT+=" test" + +STRIP_MASK="/usr/lib*/rados-classes/*" + +UNBUNDLE_LIBS=( + src/erasure-code/jerasure/jerasure + src/erasure-code/jerasure/gf-complete +) + +PATCHES=( + "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch" + #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch" + "${FILESDIR}/${PN}-10.2.1-libzfs.patch" + "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch" + "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch" + "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch" + "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch" +) + +check-reqs_export_vars() { + if use debug; then + CHECKREQS_DISK_BUILD="23G" + CHECKREQS_DISK_USR="7G" + elif use amd64; then + CHECKREQS_DISK_BUILD="12G" + CHECKREQS_DISK_USR="450M" + else + CHECKREQS_DISK_BUILD="1400M" + CHECKREQS_DISK_USR="450M" + fi + + export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR +} + +user_setup() { + enewgroup ceph ${CEPH_GID} + enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph +} + +emake_python_bindings() { + local action="${1}" params binding module + shift + params=("${@}") + + __emake_python_bindings_do_impl() { + ceph_run_econf "${EPYTHON}" + emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}" + + # these don't work and aren't needed on python3 + if [[ ${EBUILD_PHASE} == install ]]; then + for module in "${S}"/src/pybind/*.py; do + module_basename="$(basename "${module}")" + if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then + continue + elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then + python_domodule ${module} + fi + done + fi + } + + pushd "${S}/src" + for binding in rados rbd $(use cephfs && echo cephfs); do + python_foreach_impl __emake_python_bindings_do_impl + done + popd + + unset __emake_python_bindings_do_impl +} + +pkg_pretend() { + check-reqs_export_vars + check-reqs_pkg_pretend +} + +pkg_setup() { + python_setup + check-reqs_export_vars + check-reqs_pkg_setup + user_setup +} + +src_prepare() { + default + + # remove tests that need root access + rm src/test/cli/ceph-authtool/cap*.t + + #rm -rf "${UNBUNDLE_LIBS[@]}" + + append-flags -fPIC + eautoreconf +} + +src_configure() { + ECONFARGS=( + --without-hadoop + --includedir=/usr/include + $(use_with cephfs) + $(use_with debug) + $(use_with fuse) + $(use_with libaio) + $(use_with libatomic libatomic-ops) + $(use_with nss) + $(use_with cryptopp) + $(use_with radosgw) + $(use_with gtk gtk2) + $(use_enable static-libs static) + $(use_with jemalloc) + $(use_with xfs libxfs) + $(use_with zfs libzfs) + $(use_with lttng ) + $(use_with babeltrace) + $(use_with ldap openldap) + $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") + --with-mon + --with-eventfd + --with-cython + --without-kinetic + --without-librocksdb + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + + # we can only use python2.7 for building at the moment + ceph_run_econf "python2*" +} + +ceph_run_econf() { + [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset" + [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation" + + pushd "${S}" >/dev/null || die + # + # This generates a QA warning about running econf in src_compile + # and src_install. Unfortunately the only other way to do this would + # involve building all of for each python implementation times, which + # wastes a _lot_ of CPU time and disk space. This hack will no longer + # be needed with >=ceph-11.2. + # + python_setup "${1}" + econf "${ECONFARGS[@]}" + + popd >/dev/null || die +} + +src_compile() { + emake + emake_python_bindings all + + use test && emake check-local +} + +src_test() { + make check || die "make check failed" +} + +src_install() { + default + emake_python_bindings install-exec "DESTDIR=\"${D}\"" + + prune_libtool_files --all + + exeinto /usr/$(get_libdir)/ceph + newexe src/init-ceph ceph_init.sh + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/ceph.logrotate ${PN} + + keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat + + fowners -R ceph:ceph /var/lib/ceph /var/log/ceph + + newinitd "${FILESDIR}/rbdmap.initd" rbdmap + newinitd "${FILESDIR}/${PN}.initd-r4" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} + + systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service" + systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service" + + udev_dorules udev/*.rules + + readme.gentoo_create_doc + + python_setup 'python2*' + python_fix_shebang "${ED}"/usr/{,s}bin/ + + # python_fix_shebang apparently is not idempotent + sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \ + "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed" +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/sys-cluster/ceph/ceph-10.2.9-r1.ebuild b/sys-cluster/ceph/ceph-10.2.9-r1.ebuild new file mode 100644 index 000000000000..7d477491a495 --- /dev/null +++ b/sys-cluster/ceph/ceph-10.2.9-r1.ebuild @@ -0,0 +1,298 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) + +inherit check-reqs autotools eutils python-r1 udev user \ + readme.gentoo-r1 systemd versionator flag-o-matic + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ceph/ceph.git" + SRC_URI="" +else + SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +DESCRIPTION="Ceph distributed filesystem" +HOMEPAGE="https://ceph.com/" + +LICENSE="LGPL-2.1" +SLOT="0" + +IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio" +IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs" + +# unbundling code commented out pending bugs 584056 and 584058 +#>=dev-libs/jerasure-2.0.0-r1 +#>=dev-libs/gf-complete-2.0.0 +COMMON_DEPEND=" + app-arch/snappy:= + sys-libs/zlib:= + app-arch/lz4:= + app-arch/bzip2:= + app-arch/zstd:= + dev-libs/boost:=[threads] + dev-libs/libaio:= + dev-libs/leveldb:=[snappy] + nss? ( dev-libs/nss:= ) + libatomic? ( dev-libs/libatomic_ops:= ) + cryptopp? ( dev-libs/crypto++:= ) + sys-apps/keyutils + sys-apps/util-linux + dev-libs/libxml2:= + radosgw? ( dev-libs/fcgi:= ) + ldap? ( net-nds/openldap:= ) + babeltrace? ( dev-util/babeltrace ) + fuse? ( sys-fs/fuse:0= ) + xfs? ( sys-fs/xfsprogs:= ) + zfs? ( sys-fs/zfs:= ) + gtk? ( + x11-libs/gtk+:2= + dev-cpp/gtkmm:2.4 + gnome-base/librsvg:= + ) + radosgw? ( + dev-libs/fcgi:= + dev-libs/expat:= + net-misc/curl:= + ) + jemalloc? ( dev-libs/jemalloc:= ) + !jemalloc? ( =dev-util/google-perftools-2.4*:= ) + lttng? ( dev-util/lttng-ust:= ) + ${PYTHON_DEPS} + " +DEPEND="${COMMON_DEPEND} + dev-python/cython[${PYTHON_USEDEP}] + app-arch/cpio + virtual/pkgconfig + dev-python/sphinx + test? ( + sys-fs/btrfs-progs + sys-apps/grep[pcre] + dev-python/tox[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + )" +RDEPEND="${COMMON_DEPEND} + sys-apps/hdparm + sys-block/parted + sys-fs/cryptsetup + sys-apps/gptfdisk + dev-python/flask[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + " +REQUIRED_USE=" + $(python_gen_useflags 'python2*') + ${PYTHON_REQUIRED_USE} + ^^ ( nss cryptopp ) + ?? ( jemalloc tcmalloc ) + " + +# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup') +REQUIRED_USE+=" radosgw" + +#RESTRICT="test? ( userpriv )" + +# distribution tarball does not include everything needed for tests +RESTRICT+=" test" + +STRIP_MASK="/usr/lib*/rados-classes/*" + +UNBUNDLE_LIBS=( + src/erasure-code/jerasure/jerasure + src/erasure-code/jerasure/gf-complete +) + +PATCHES=( + "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch" + #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch" + "${FILESDIR}/${PN}-10.2.1-libzfs.patch" + "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch" + "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch" + "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch" + "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch" + "${FILESDIR}/${PN}-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch" +) + +check-reqs_export_vars() { + if use debug; then + CHECKREQS_DISK_BUILD="23G" + CHECKREQS_DISK_USR="7G" + elif use amd64; then + CHECKREQS_DISK_BUILD="12G" + CHECKREQS_DISK_USR="450M" + else + CHECKREQS_DISK_BUILD="1400M" + CHECKREQS_DISK_USR="450M" + fi + + export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR +} + +user_setup() { + enewgroup ceph ${CEPH_GID} + enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph +} + +emake_python_bindings() { + local action="${1}" params binding module + shift + params=("${@}") + + __emake_python_bindings_do_impl() { + ceph_run_econf "${EPYTHON}" + emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}" + + # these don't work and aren't needed on python3 + if [[ ${EBUILD_PHASE} == install ]]; then + for module in "${S}"/src/pybind/*.py; do + module_basename="$(basename "${module}")" + if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then + continue + elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then + python_domodule ${module} + fi + done + fi + } + + pushd "${S}/src" + for binding in rados rbd $(use cephfs && echo cephfs); do + python_foreach_impl __emake_python_bindings_do_impl + done + popd + + unset __emake_python_bindings_do_impl +} + +pkg_pretend() { + check-reqs_export_vars + check-reqs_pkg_pretend +} + +pkg_setup() { + python_setup + check-reqs_export_vars + check-reqs_pkg_setup + user_setup +} + +src_prepare() { + default + + # remove tests that need root access + rm src/test/cli/ceph-authtool/cap*.t + + #rm -rf "${UNBUNDLE_LIBS[@]}" + + append-flags -fPIC + eautoreconf +} + +src_configure() { + ECONFARGS=( + --without-hadoop + --includedir=/usr/include + $(use_with cephfs) + $(use_with debug) + $(use_with fuse) + $(use_with libaio) + $(use_with libatomic libatomic-ops) + $(use_with nss) + $(use_with cryptopp) + $(use_with radosgw) + $(use_with gtk gtk2) + $(use_enable static-libs static) + $(use_with jemalloc) + $(use_with xfs libxfs) + $(use_with zfs libzfs) + $(use_with lttng ) + $(use_with babeltrace) + $(use_with ldap openldap) + $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") + --with-mon + --with-eventfd + --with-cython + --without-kinetic + --without-librocksdb + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + + # we can only use python2.7 for building at the moment + ceph_run_econf "python2*" +} + +ceph_run_econf() { + [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset" + [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation" + + pushd "${S}" >/dev/null || die + # + # This generates a QA warning about running econf in src_compile + # and src_install. Unfortunately the only other way to do this would + # involve building all of for each python implementation times, which + # wastes a _lot_ of CPU time and disk space. This hack will no longer + # be needed with >=ceph-11.2. + # + python_setup "${1}" + econf "${ECONFARGS[@]}" + + popd >/dev/null || die +} + +src_compile() { + emake + emake_python_bindings all + + use test && emake check-local +} + +src_test() { + make check || die "make check failed" +} + +src_install() { + default + emake_python_bindings install-exec "DESTDIR=\"${D}\"" + + prune_libtool_files --all + + exeinto /usr/$(get_libdir)/ceph + newexe src/init-ceph ceph_init.sh + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/ceph.logrotate ${PN} + + keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat + + fowners -R ceph:ceph /var/lib/ceph /var/log/ceph + + newinitd "${FILESDIR}/rbdmap.initd" rbdmap + newinitd "${FILESDIR}/${PN}.initd-r5" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} + + insinto /etc/sysctl.d + newins "${FILESDIR}"/sysctld 90-${PN}.conf + + use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc + + systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service" + systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service" + + udev_dorules udev/*.rules + + readme.gentoo_create_doc + + python_setup 'python2*' + python_fix_shebang "${ED}"/usr/{,s}bin/ + + # python_fix_shebang apparently is not idempotent + sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \ + "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed" +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/sys-cluster/ceph/ceph-10.2.9-r2.ebuild b/sys-cluster/ceph/ceph-10.2.9-r2.ebuild new file mode 100644 index 000000000000..a9d0eec50ea7 --- /dev/null +++ b/sys-cluster/ceph/ceph-10.2.9-r2.ebuild @@ -0,0 +1,299 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) + +inherit check-reqs autotools eutils python-r1 udev user \ + readme.gentoo-r1 systemd versionator flag-o-matic + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ceph/ceph.git" + SRC_URI="" +else + SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +DESCRIPTION="Ceph distributed filesystem" +HOMEPAGE="https://ceph.com/" + +LICENSE="LGPL-2.1" +SLOT="0" + +IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio" +IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs" + +# unbundling code commented out pending bugs 584056 and 584058 +#>=dev-libs/jerasure-2.0.0-r1 +#>=dev-libs/gf-complete-2.0.0 +COMMON_DEPEND=" + app-arch/snappy:= + sys-libs/zlib:= + app-arch/lz4:= + app-arch/bzip2:= + app-arch/zstd:= + dev-libs/boost:=[threads] + dev-libs/libaio:= + dev-libs/leveldb:=[snappy] + nss? ( dev-libs/nss:= ) + libatomic? ( dev-libs/libatomic_ops:= ) + cryptopp? ( dev-libs/crypto++:= ) + sys-apps/keyutils + sys-apps/util-linux + dev-libs/libxml2:= + radosgw? ( dev-libs/fcgi:= ) + ldap? ( net-nds/openldap:= ) + babeltrace? ( dev-util/babeltrace ) + fuse? ( sys-fs/fuse:0= ) + xfs? ( sys-fs/xfsprogs:= ) + zfs? ( sys-fs/zfs:= ) + gtk? ( + x11-libs/gtk+:2= + dev-cpp/gtkmm:2.4 + gnome-base/librsvg:= + ) + radosgw? ( + dev-libs/fcgi:= + dev-libs/expat:= + net-misc/curl:= + ) + jemalloc? ( dev-libs/jemalloc:= ) + !jemalloc? ( =dev-util/google-perftools-2.4*:= ) + lttng? ( dev-util/lttng-ust:= ) + ${PYTHON_DEPS} + " +DEPEND="${COMMON_DEPEND} + dev-python/cython[${PYTHON_USEDEP}] + app-arch/cpio + virtual/pkgconfig + dev-python/sphinx + test? ( + sys-fs/btrfs-progs + sys-apps/grep[pcre] + dev-python/tox[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + )" +RDEPEND="${COMMON_DEPEND} + sys-apps/hdparm + sys-block/parted + sys-fs/cryptsetup + sys-apps/gptfdisk + dev-python/flask[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + " +REQUIRED_USE=" + $(python_gen_useflags 'python2*') + ${PYTHON_REQUIRED_USE} + ^^ ( nss cryptopp ) + ?? ( jemalloc tcmalloc ) + " + +# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup') +REQUIRED_USE+=" radosgw" + +#RESTRICT="test? ( userpriv )" + +# distribution tarball does not include everything needed for tests +RESTRICT+=" test" + +STRIP_MASK="/usr/lib*/rados-classes/*" + +UNBUNDLE_LIBS=( + src/erasure-code/jerasure/jerasure + src/erasure-code/jerasure/gf-complete +) + +PATCHES=( + "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch" + #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch" + "${FILESDIR}/${PN}-10.2.1-libzfs.patch" + "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch" + "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch" + "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch" + "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch" + "${FILESDIR}/${PN}-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch" + "${FILESDIR}/${PN}-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch" +) + +check-reqs_export_vars() { + if use debug; then + CHECKREQS_DISK_BUILD="23G" + CHECKREQS_DISK_USR="7G" + elif use amd64; then + CHECKREQS_DISK_BUILD="12G" + CHECKREQS_DISK_USR="450M" + else + CHECKREQS_DISK_BUILD="1400M" + CHECKREQS_DISK_USR="450M" + fi + + export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR +} + +user_setup() { + enewgroup ceph ${CEPH_GID} + enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph +} + +emake_python_bindings() { + local action="${1}" params binding module + shift + params=("${@}") + + __emake_python_bindings_do_impl() { + ceph_run_econf "${EPYTHON}" + emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}" + + # these don't work and aren't needed on python3 + if [[ ${EBUILD_PHASE} == install ]]; then + for module in "${S}"/src/pybind/*.py; do + module_basename="$(basename "${module}")" + if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then + continue + elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then + python_domodule ${module} + fi + done + fi + } + + pushd "${S}/src" + for binding in rados rbd $(use cephfs && echo cephfs); do + python_foreach_impl __emake_python_bindings_do_impl + done + popd + + unset __emake_python_bindings_do_impl +} + +pkg_pretend() { + check-reqs_export_vars + check-reqs_pkg_pretend +} + +pkg_setup() { + python_setup + check-reqs_export_vars + check-reqs_pkg_setup + user_setup +} + +src_prepare() { + default + + # remove tests that need root access + rm src/test/cli/ceph-authtool/cap*.t + + #rm -rf "${UNBUNDLE_LIBS[@]}" + + append-flags -fPIC + eautoreconf +} + +src_configure() { + ECONFARGS=( + --without-hadoop + --includedir=/usr/include + $(use_with cephfs) + $(use_with debug) + $(use_with fuse) + $(use_with libaio) + $(use_with libatomic libatomic-ops) + $(use_with nss) + $(use_with cryptopp) + $(use_with radosgw) + $(use_with gtk gtk2) + $(use_enable static-libs static) + $(use_with jemalloc) + $(use_with xfs libxfs) + $(use_with zfs libzfs) + $(use_with lttng ) + $(use_with babeltrace) + $(use_with ldap openldap) + $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") + --with-mon + --with-eventfd + --with-cython + --without-kinetic + --without-librocksdb + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + + # we can only use python2.7 for building at the moment + ceph_run_econf "python2*" +} + +ceph_run_econf() { + [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset" + [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation" + + pushd "${S}" >/dev/null || die + # + # This generates a QA warning about running econf in src_compile + # and src_install. Unfortunately the only other way to do this would + # involve building all of for each python implementation times, which + # wastes a _lot_ of CPU time and disk space. This hack will no longer + # be needed with >=ceph-11.2. + # + python_setup "${1}" + econf "${ECONFARGS[@]}" + + popd >/dev/null || die +} + +src_compile() { + emake + emake_python_bindings all + + use test && emake check-local +} + +src_test() { + make check || die "make check failed" +} + +src_install() { + default + emake_python_bindings install-exec "DESTDIR=\"${D}\"" + + prune_libtool_files --all + + exeinto /usr/$(get_libdir)/ceph + newexe src/init-ceph ceph_init.sh + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/ceph.logrotate ${PN} + + keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat + + fowners -R ceph:ceph /var/lib/ceph /var/log/ceph + + newinitd "${FILESDIR}/rbdmap.initd" rbdmap + newinitd "${FILESDIR}/${PN}.initd-r5" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} + + insinto /etc/sysctl.d + newins "${FILESDIR}"/sysctld 90-${PN}.conf + + use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc + + systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service" + systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service" + + udev_dorules udev/*.rules + + readme.gentoo_create_doc + + python_setup 'python2*' + python_fix_shebang "${ED}"/usr/{,s}bin/ + + # python_fix_shebang apparently is not idempotent + sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \ + "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed" +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/sys-cluster/ceph/ceph-10.2.9-r3.ebuild b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild new file mode 100644 index 000000000000..73d8983868db --- /dev/null +++ b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild @@ -0,0 +1,313 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) + +inherit check-reqs autotools eutils python-r1 udev user \ + readme.gentoo-r1 systemd versionator flag-o-matic toolchain-funcs + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ceph/ceph.git" + SRC_URI="" +else + SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +DESCRIPTION="Ceph distributed filesystem" +HOMEPAGE="https://ceph.com/" + +LICENSE="LGPL-2.1" +SLOT="0" + +IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio" +IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs" + +# unbundling code commented out pending bugs 584056 and 584058 +#>=dev-libs/jerasure-2.0.0-r1 +#>=dev-libs/gf-complete-2.0.0 +COMMON_DEPEND=" + app-arch/snappy:= + sys-libs/zlib:= + app-arch/lz4:= + app-arch/bzip2:= + app-arch/zstd:= + dev-libs/boost:=[threads] + dev-libs/libaio:= + dev-libs/leveldb:=[snappy] + nss? ( dev-libs/nss:= ) + libatomic? ( dev-libs/libatomic_ops:= ) + cryptopp? ( dev-libs/crypto++:= ) + sys-apps/keyutils + sys-apps/util-linux + dev-libs/libxml2:= + radosgw? ( dev-libs/fcgi:= ) + ldap? ( net-nds/openldap:= ) + babeltrace? ( dev-util/babeltrace ) + fuse? ( sys-fs/fuse:0= ) + xfs? ( sys-fs/xfsprogs:= ) + zfs? ( sys-fs/zfs:= ) + gtk? ( + x11-libs/gtk+:2= + dev-cpp/gtkmm:2.4 + gnome-base/librsvg:= + ) + radosgw? ( + dev-libs/fcgi:= + dev-libs/expat:= + net-misc/curl:= + ) + jemalloc? ( dev-libs/jemalloc:= ) + !jemalloc? ( =dev-util/google-perftools-2.4*:= ) + lttng? ( dev-util/lttng-ust:= ) + ${PYTHON_DEPS} + " +DEPEND="${COMMON_DEPEND} + dev-python/cython[${PYTHON_USEDEP}] + app-arch/cpio + virtual/pkgconfig + dev-python/sphinx + test? ( + sys-fs/btrfs-progs + sys-apps/grep[pcre] + dev-python/tox[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + )" +RDEPEND="${COMMON_DEPEND} + sys-apps/hdparm + sys-block/parted + sys-fs/cryptsetup + sys-apps/gptfdisk + !<sys-apps/openrc-0.26.3 + dev-python/flask[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + " +REQUIRED_USE=" + $(python_gen_useflags 'python2*') + ${PYTHON_REQUIRED_USE} + ^^ ( nss cryptopp ) + ?? ( jemalloc tcmalloc ) + " + +# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup') +REQUIRED_USE+=" radosgw" + +#RESTRICT="test? ( userpriv )" + +# distribution tarball does not include everything needed for tests +RESTRICT+=" test" + +STRIP_MASK="/usr/lib*/rados-classes/*" + +UNBUNDLE_LIBS=( + src/erasure-code/jerasure/jerasure + src/erasure-code/jerasure/gf-complete +) + +PATCHES=( + "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch" + #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch" + "${FILESDIR}/${PN}-10.2.1-libzfs.patch" + "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch" + "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch" + "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch" + "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch" + "${FILESDIR}/${PN}-10.2.9-cflags.patch" + "${FILESDIR}/${PN}-10.2.9-dont-run-lsb_release.patch" + # pull in some bugfixes from upstream + "${FILESDIR}/${PN}-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch" + "${FILESDIR}/${PN}-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch" + "${FILESDIR}/${PN}-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch" + "${FILESDIR}/${PN}-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch" + "${FILESDIR}/${PN}-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch" + "${FILESDIR}/${PN}-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch" + "${FILESDIR}/${PN}-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch" +) + +check-reqs_export_vars() { + if use debug; then + CHECKREQS_DISK_BUILD="23G" + CHECKREQS_DISK_USR="7G" + elif use amd64; then + CHECKREQS_DISK_BUILD="12G" + CHECKREQS_DISK_USR="450M" + else + CHECKREQS_DISK_BUILD="1400M" + CHECKREQS_DISK_USR="450M" + fi + + export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR +} + +user_setup() { + enewgroup ceph ${CEPH_GID} + enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph +} + +emake_python_bindings() { + local action="${1}" params binding module + shift + params=("${@}") + + __emake_python_bindings_do_impl() { + ceph_run_econf "${EPYTHON}" + emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}" + + # these don't work and aren't needed on python3 + if [[ ${EBUILD_PHASE} == install ]]; then + for module in "${S}"/src/pybind/*.py; do + module_basename="$(basename "${module}")" + if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then + continue + elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then + python_domodule ${module} + fi + done + fi + } + + pushd "${S}/src" + for binding in rados rbd $(use cephfs && echo cephfs); do + python_foreach_impl __emake_python_bindings_do_impl + done + popd + + unset __emake_python_bindings_do_impl +} + +pkg_pretend() { + check-reqs_export_vars + check-reqs_pkg_pretend +} + +pkg_setup() { + python_setup + check-reqs_export_vars + check-reqs_pkg_setup + user_setup +} + +src_prepare() { + default + + # remove tests that need root access + rm src/test/cli/ceph-authtool/cap*.t + + #rm -rf "${UNBUNDLE_LIBS[@]}" + + append-flags -fPIC + + if tc-is-gcc && [[ $(gcc-fullversion) == "7.2.0" ]] && is-flag "-g*"; then + ewarn "Filtering out -g* flags since gcc-7.2 tends to ICE with them and ceph" + filter-flags "-g*" + fi + eautoreconf +} + +src_configure() { + ECONFARGS=( + --without-hadoop + --includedir=/usr/include + $(use_with cephfs) + $(use_with debug) + $(use_with fuse) + $(use_with libaio) + $(use_with libatomic libatomic-ops) + $(use_with nss) + $(use_with cryptopp) + $(use_with radosgw) + $(use_with gtk gtk2) + $(use_enable static-libs static) + $(use_with jemalloc) + $(use_with xfs libxfs) + $(use_with zfs libzfs) + $(use_with lttng ) + $(use_with babeltrace) + $(use_with ldap openldap) + $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") + --with-mon + --with-eventfd + --with-cython + --without-kinetic + --without-librocksdb + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + + # we can only use python2.7 for building at the moment + ceph_run_econf "python2*" +} + +ceph_run_econf() { + [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset" + [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation" + + pushd "${S}" >/dev/null || die + # + # This generates a QA warning about running econf in src_compile + # and src_install. Unfortunately the only other way to do this would + # involve building all of for each python implementation times, which + # wastes a _lot_ of CPU time and disk space. This hack will no longer + # be needed with >=ceph-11.2. + # + python_setup "${1}" + econf "${ECONFARGS[@]}" + + popd >/dev/null || die +} + +src_compile() { + emake + emake_python_bindings all + + use test && emake check-local +} + +src_test() { + make check || die "make check failed" +} + +src_install() { + default + emake_python_bindings install-exec "DESTDIR=\"${D}\"" + + prune_libtool_files --all + + exeinto /usr/$(get_libdir)/ceph + newexe src/init-ceph ceph_init.sh + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/ceph.logrotate ${PN} + + keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat + + fowners -R ceph:ceph /var/lib/ceph /var/log/ceph + + newinitd "${FILESDIR}/rbdmap.initd" rbdmap + newinitd "${FILESDIR}/${PN}.initd-r5" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} + + insinto /etc/sysctl.d + newins "${FILESDIR}"/sysctld 90-${PN}.conf + + use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc + + systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service" + systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service" + + udev_dorules udev/*.rules + + readme.gentoo_create_doc + + python_setup 'python2*' + python_fix_shebang "${ED}"/usr/{,s}bin/ + + # python_fix_shebang apparently is not idempotent + sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \ + "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed" +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/sys-cluster/ceph/ceph-10.2.9.ebuild b/sys-cluster/ceph/ceph-10.2.9.ebuild new file mode 100644 index 000000000000..90cd7f880ef3 --- /dev/null +++ b/sys-cluster/ceph/ceph-10.2.9.ebuild @@ -0,0 +1,292 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) + +inherit check-reqs autotools eutils python-r1 udev user \ + readme.gentoo-r1 systemd versionator flag-o-matic + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ceph/ceph.git" + SRC_URI="" +else + SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +DESCRIPTION="Ceph distributed filesystem" +HOMEPAGE="https://ceph.com/" + +LICENSE="LGPL-2.1" +SLOT="0" + +IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio" +IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs" + +# unbundling code commented out pending bugs 584056 and 584058 +#>=dev-libs/jerasure-2.0.0-r1 +#>=dev-libs/gf-complete-2.0.0 +COMMON_DEPEND=" + app-arch/snappy:= + sys-libs/zlib:= + app-arch/lz4:= + app-arch/bzip2:= + app-arch/zstd:= + dev-libs/boost:=[threads] + dev-libs/libaio:= + dev-libs/leveldb:=[snappy] + nss? ( dev-libs/nss:= ) + libatomic? ( dev-libs/libatomic_ops:= ) + cryptopp? ( dev-libs/crypto++:= ) + sys-apps/keyutils + sys-apps/util-linux + dev-libs/libxml2:= + radosgw? ( dev-libs/fcgi:= ) + ldap? ( net-nds/openldap:= ) + babeltrace? ( dev-util/babeltrace ) + fuse? ( sys-fs/fuse:0= ) + xfs? ( sys-fs/xfsprogs:= ) + zfs? ( sys-fs/zfs:= ) + gtk? ( + x11-libs/gtk+:2= + dev-cpp/gtkmm:2.4 + gnome-base/librsvg:= + ) + radosgw? ( + dev-libs/fcgi:= + dev-libs/expat:= + net-misc/curl:= + ) + jemalloc? ( dev-libs/jemalloc:= ) + !jemalloc? ( dev-util/google-perftools ) + lttng? ( dev-util/lttng-ust:= ) + ${PYTHON_DEPS} + " +DEPEND="${COMMON_DEPEND} + dev-python/cython[${PYTHON_USEDEP}] + app-arch/cpio + virtual/pkgconfig + dev-python/sphinx + test? ( + sys-fs/btrfs-progs + sys-apps/grep[pcre] + dev-python/tox[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + )" +RDEPEND="${COMMON_DEPEND} + sys-apps/hdparm + sys-block/parted + sys-fs/cryptsetup + sys-apps/gptfdisk + dev-python/flask[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + " +REQUIRED_USE=" + $(python_gen_useflags 'python2*') + ${PYTHON_REQUIRED_USE} + ^^ ( nss cryptopp ) + ?? ( jemalloc tcmalloc ) + " + +# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup') +REQUIRED_USE+=" radosgw" + +#RESTRICT="test? ( userpriv )" + +# distribution tarball does not include everything needed for tests +RESTRICT+=" test" + +STRIP_MASK="/usr/lib*/rados-classes/*" + +UNBUNDLE_LIBS=( + src/erasure-code/jerasure/jerasure + src/erasure-code/jerasure/gf-complete +) + +PATCHES=( + "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch" + #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch" + "${FILESDIR}/${PN}-10.2.1-libzfs.patch" + "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch" + "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch" + "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch" + "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch" +) + +check-reqs_export_vars() { + if use debug; then + CHECKREQS_DISK_BUILD="23G" + CHECKREQS_DISK_USR="7G" + elif use amd64; then + CHECKREQS_DISK_BUILD="12G" + CHECKREQS_DISK_USR="450M" + else + CHECKREQS_DISK_BUILD="1400M" + CHECKREQS_DISK_USR="450M" + fi + + export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR +} + +user_setup() { + enewgroup ceph ${CEPH_GID} + enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph +} + +emake_python_bindings() { + local action="${1}" params binding module + shift + params=("${@}") + + __emake_python_bindings_do_impl() { + ceph_run_econf "${EPYTHON}" + emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}" + + # these don't work and aren't needed on python3 + if [[ ${EBUILD_PHASE} == install ]]; then + for module in "${S}"/src/pybind/*.py; do + module_basename="$(basename "${module}")" + if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then + continue + elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then + python_domodule ${module} + fi + done + fi + } + + pushd "${S}/src" + for binding in rados rbd $(use cephfs && echo cephfs); do + python_foreach_impl __emake_python_bindings_do_impl + done + popd + + unset __emake_python_bindings_do_impl +} + +pkg_pretend() { + check-reqs_export_vars + check-reqs_pkg_pretend +} + +pkg_setup() { + python_setup + check-reqs_export_vars + check-reqs_pkg_setup + user_setup +} + +src_prepare() { + default + + # remove tests that need root access + rm src/test/cli/ceph-authtool/cap*.t + + #rm -rf "${UNBUNDLE_LIBS[@]}" + + append-flags -fPIC + eautoreconf +} + +src_configure() { + ECONFARGS=( + --without-hadoop + --includedir=/usr/include + $(use_with cephfs) + $(use_with debug) + $(use_with fuse) + $(use_with libaio) + $(use_with libatomic libatomic-ops) + $(use_with nss) + $(use_with cryptopp) + $(use_with radosgw) + $(use_with gtk gtk2) + $(use_enable static-libs static) + $(use_with jemalloc) + $(use_with xfs libxfs) + $(use_with zfs libzfs) + $(use_with lttng ) + $(use_with babeltrace) + $(use_with ldap openldap) + $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal") + --with-mon + --with-eventfd + --with-cython + --without-kinetic + --without-librocksdb + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + + # we can only use python2.7 for building at the moment + ceph_run_econf "python2*" +} + +ceph_run_econf() { + [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset" + [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation" + + pushd "${S}" >/dev/null || die + # + # This generates a QA warning about running econf in src_compile + # and src_install. Unfortunately the only other way to do this would + # involve building all of for each python implementation times, which + # wastes a _lot_ of CPU time and disk space. This hack will no longer + # be needed with >=ceph-11.2. + # + python_setup "${1}" + econf "${ECONFARGS[@]}" + + popd >/dev/null || die +} + +src_compile() { + emake + emake_python_bindings all + + use test && emake check-local +} + +src_test() { + make check || die "make check failed" +} + +src_install() { + default + emake_python_bindings install-exec "DESTDIR=\"${D}\"" + + prune_libtool_files --all + + exeinto /usr/$(get_libdir)/ceph + newexe src/init-ceph ceph_init.sh + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/ceph.logrotate ${PN} + + keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat + + fowners -R ceph:ceph /var/lib/ceph /var/log/ceph + + newinitd "${FILESDIR}/rbdmap.initd" rbdmap + newinitd "${FILESDIR}/${PN}.initd-r5" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} + + systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service" + systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service" + + udev_dorules udev/*.rules + + readme.gentoo_create_doc + + python_setup 'python2*' + python_fix_shebang "${ED}"/usr/{,s}bin/ + + # python_fix_shebang apparently is not idempotent + sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \ + "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed" +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/sys-cluster/ceph/ceph-12.2.1.ebuild b/sys-cluster/ceph/ceph-12.2.1.ebuild new file mode 100644 index 000000000000..9e8142ef5698 --- /dev/null +++ b/sys-cluster/ceph/ceph-12.2.1.ebuild @@ -0,0 +1,290 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) +DISTUTILS_OPTIONAL=1 + +inherit check-reqs cmake-utils distutils-r1 python-r1 udev user systemd \ + readme.gentoo-r1 flag-o-matic + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ceph/ceph.git" + SRC_URI="" +else + SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +DESCRIPTION="Ceph distributed filesystem" +HOMEPAGE="https://ceph.com/" + +LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT" +SLOT="0" + +CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3) + +IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl" +IUSE+=" static-libs systemd +tcmalloc test xfs zfs" +IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})" + +# unbundling code commented out pending bugs 584056 and 584058 +#>=dev-libs/jerasure-2.0.0-r1 +#>=dev-libs/gf-complete-2.0.0 +COMMON_DEPEND=" + virtual/libudev + app-arch/bzip2:=[static-libs?] + app-arch/lz4:=[static-libs?] + app-arch/snappy:=[static-libs?] + app-arch/zstd:=[static-libs?] + app-misc/jq:=[static-libs?] + dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}] + dev-libs/crypto++:=[static-libs?] + dev-libs/leveldb:=[snappy,static-libs?] + dev-libs/libaio:=[static-libs?] + dev-libs/libxml2:=[static-libs?] + sys-apps/keyutils:=[static-libs?] + sys-apps/util-linux:=[static-libs?] + sys-libs/zlib:=[static-libs?] + babeltrace? ( dev-util/babeltrace ) + ldap? ( net-nds/openldap:=[static-libs?] ) + lttng? ( dev-util/lttng-ust:= ) + nss? ( dev-libs/nss:= ) + fuse? ( sys-fs/fuse:0=[static-libs?] ) + ssl? ( dev-libs/openssl:=[static-libs?] ) + xfs? ( sys-fs/xfsprogs:=[static-libs?] ) + zfs? ( sys-fs/zfs:=[static-libs?] ) + radosgw? ( + dev-libs/expat:=[static-libs?] + dev-libs/openssl:=[static-libs?] + net-misc/curl:=[static-libs?] + ) + jemalloc? ( dev-libs/jemalloc:=[static-libs?] ) + !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] ) + ${PYTHON_DEPS} + " +DEPEND="${COMMON_DEPEND} + app-arch/cpio + dev-lang/yasm + dev-python/cython[${PYTHON_USEDEP}] + dev-python/sphinx + dev-util/gperf + dev-util/valgrind + sys-apps/which + sys-devel/bc + virtual/pkgconfig + test? ( + dev-python/tox[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + sys-apps/grep[pcre] + sys-fs/btrfs-progs + )" +RDEPEND="${COMMON_DEPEND} + net-misc/socat + sys-apps/gptfdisk + sys-block/parted + sys-fs/cryptsetup + !<sys-apps/openrc-0.26.3 + dev-python/cherrypy[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/pecan[${PYTHON_USEDEP}] + dev-python/prettytable[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/werkzeug[${PYTHON_USEDEP}] + " +REQUIRED_USE=" + $(python_gen_useflags 'python2*') + ${PYTHON_REQUIRED_USE} + ?? ( ssl nss ) + ?? ( jemalloc tcmalloc ) + " + +# radosgw seems to be required to actually build +REQUIRED_USE+=" radosgw" + +RESTRICT="test? ( userpriv )" + +# distribution tarball does not include everything needed for tests +RESTRICT+=" test" + +STRIP_MASK="/usr/lib*/rados-classes/*" + +UNBUNDLE_LIBS=( + src/erasure-code/jerasure/jerasure + src/erasure-code/jerasure/gf-complete +) + +PATCHES=( + "${FILESDIR}/${PN}-12.2.0-use-provided-cpu-flag-values.patch" + "${FILESDIR}/${PN}-12.2.0-cflags.patch" + "${FILESDIR}/${PN}-12.2.1-systemd-unitdir.patch" +) + +check-reqs_export_vars() { + if use amd64; then + CHECKREQS_DISK_BUILD="12G" + CHECKREQS_DISK_USR="460M" + else + CHECKREQS_DISK_BUILD="1400M" + CHECKREQS_DISK_USR="450M" + fi + + export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR +} + +user_setup() { + enewgroup ceph ${CEPH_GID} + enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph +} + +pkg_pretend() { + check-reqs_export_vars + check-reqs_pkg_pretend +} + +pkg_setup() { + python_setup 'python2*' + check-reqs_export_vars + check-reqs_pkg_setup + user_setup +} + +src_prepare() { + default + + # remove tests that need root access + rm src/test/cli/ceph-authtool/cap*.t + + #rm -rf "${UNBUNDLE_LIBS[@]}" +} + +ceph_src_configure() { + local flag + local mycmakeargs=( + -DWITH_BABELTRACE=$(usex babeltrace) + -DWITH_CEPHFS=$(usex cephfs) + -DWITH_FUSE=$(usex fuse) + -DWITH_LTTNG=$(usex lttng) + -DWITH_MGR=$(usex mgr) + -DWITH_NSS=$(usex nss) + -DWITH_OPENLDAP=$(usex ldap) + -DWITH_RADOSGW=$(usex radosgw) + -DWITH_SSL=$(usex ssl) + -DWITH_SYSTEMD=$(usex systemd) + -DWITH_TESTS=$(usex test) + -DWITH_XFS=$(usex xfs) + -DWITH_ZFS=$(usex zfs) + -DENABLE_SHARED=$(usex static-libs '' 'yes' 'no') + -DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '') + -DWITH_SYSTEM_BOOST=yes + -DWITH_RDMA=no + -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir) + ) + if use amd64 || use x86; then + for flag in ${CPU_FLAGS_X86[@]}; do + mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")") + done + fi + + rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" + cmake-utils_src_configure + + # bug #630232 + sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \ + "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \ + || die "sed failed" +} + +src_configure() { + ceph_src_configure +} + +python_compile() { + local CMAKE_USE_DIR="${S}" + + ceph_src_configure + pushd "${BUILD_DIR}/src/pybind" >/dev/null || die + emake VERBOSE=1 all + + # python modules are only compiled with "make install" so we need to do this to + # prevent doing a bunch of compilation in src_install + DESTDIR="${T}" emake VERBOSE=1 install + popd >/dev/null || die +} + +src_compile() { + cmake-utils_src_make all + + # we have to do this here to prevent from building everything multiple times + BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources + python_foreach_impl python_compile +} + +src_test() { + make check || die "make check failed" +} + +python_install() { + local CMAKE_USE_DIR="${S}" + pushd "${BUILD_DIR}/src/pybind" >/dev/null || die + DESTDIR="${D}" emake install + popd >/dev/null || die +} + +src_install() { + cmake-utils_src_install + python_foreach_impl python_install + + prune_libtool_files --all + + exeinto /usr/$(get_libdir)/ceph + newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/ceph.logrotate ${PN} + + keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat + + fowners -R ceph:ceph /var/lib/ceph /var/log/ceph + + newinitd "${FILESDIR}/rbdmap.initd" rbdmap + newinitd "${FILESDIR}/${PN}.initd-r5" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} + + insinto /etc/sysctl.d + newins "${FILESDIR}"/sysctld 90-${PN}.conf + + use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc + + # units aren't installed by the build system unless systemd is enabled + # so no point installing these with the USE flag disabled + if use systemd; then + systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \ + "ceph-mds@.service" + + systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \ + "ceph-osd@.service" + fi + + udev_dorules udev/*.rules + + readme.gentoo_create_doc + + python_setup 'python2*' + + # bug #630232 + sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \ + || die "sed failed" + + python_fix_shebang "${ED}"/usr/{,s}bin/ + + # python_fix_shebang apparently is not idempotent + sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \ + "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed" +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/sys-cluster/ceph/files/README.gentoo b/sys-cluster/ceph/files/README.gentoo new file mode 100644 index 000000000000..6e5f8366136c --- /dev/null +++ b/sys-cluster/ceph/files/README.gentoo @@ -0,0 +1,30 @@ +1) We'd suggest you to install following packages + sys-block/parted to manage disk partions + sys-fs/btrfs-progs to use btrfs filesytem + sys-fs/cryptsetup to use encrypted devices with dm-crypt + +2) To start several daemons of one specific type, create your own scripts + cd /etc/init.d + for dmn in mds.a mon.a osd.0 osd.1 osd.2; do + ln -s ceph ceph-${dmn}; + rc-update add ceph-${dmn} default; + done + +3) If you spread ceph daemons over several different machines, + We'd highly recommend you to start ntp-client to keep the system time sync. + Try to choose one of following ntp client to install and add into runlevel. + net-misc/ntp + net-misc/openntpd + net-misc/chrony + +4) Starting from version 9.0.x, Ceph daemons run as user 'ceph' instead of 'root'. + In order to solve this, we recommand to stop ceph daemons, and fix the ownership + + # chown -R ceph:ceph /var/lib/ceph + + or + + Add the following line to ceph.conf on all hosts: + " setuser match path = /var/lib/ceph/$type/$cluster-$id " + + https://ceph.com/releases/v9-2-0-infernalis-released/ diff --git a/sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch b/sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch new file mode 100644 index 000000000000..f3627636aeb9 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch @@ -0,0 +1,95 @@ +diff --git a/Makefile.am b/Makefile.am +index 7734be2..ba33bda 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -79,7 +79,6 @@ clean-local: + cd src/gmock && $(MAKE) $(AM_MAKEFLAGS) clean; \ + fi + +- @rm -rf src/test/virtualenv + @rm -rf install-deps-* + + +diff --git a/src/Makefile-env.am b/src/Makefile-env.am +index df225d6..ca030cf 100644 +--- a/src/Makefile-env.am ++++ b/src/Makefile-env.am +@@ -297,10 +297,6 @@ LIBCIVETWEB_DEPS = + DENCODER_SOURCES = + DENCODER_DEPS = + +-# put virtualenvs in this directory +-# otherwise it may overflow #! 80 kernel limit +-# beware that some build environments might not be able to write to /tmp + export TMPDIR ?= /tmp +-export CEPH_BUILD_VIRTUALENV = $(TMPDIR) + + radoslibdir = $(libdir)/rados-classes +diff --git a/src/ceph-detect-init/Makefile.am b/src/ceph-detect-init/Makefile.am +index 8ddcb1e..52dd5d5 100644 +--- a/src/ceph-detect-init/Makefile.am ++++ b/src/ceph-detect-init/Makefile.am +@@ -53,15 +53,10 @@ EXTRA_DIST += \ + ceph-detect-init/tests/test_all.py \ + ceph-detect-init/tox.ini + +-export CEPH_DETECT_INIT_VIRTUALENV = ${CEPH_BUILD_VIRTUALENV}/ceph-detect-init-virtualenv +- +-ceph-detect-init-all: ${CEPH_DETECT_INIT_VIRTUALENV} +- +-${CEPH_DETECT_INIT_VIRTUALENV}: +- cd $(srcdir)/ceph-detect-init ; ../tools/setup-virtualenv.sh ${CEPH_DETECT_INIT_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e . ++ceph-detect-init-all: + + ceph-detect-init-clean: +- cd $(srcdir)/ceph-detect-init ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DETECT_INIT_VIRTUALENV} .coverage *.egg-info ++ cd $(srcdir)/ceph-detect-init + + ceph-detect-init-install-data: + cd $(srcdir)/ceph-detect-init ; \ +diff --git a/src/ceph-disk/Makefile.am b/src/ceph-disk/Makefile.am +index 9006303..0b35b0f 100644 +--- a/src/ceph-disk/Makefile.am ++++ b/src/ceph-disk/Makefile.am +@@ -29,15 +29,10 @@ EXTRA_DIST += \ + ceph-disk/tests/test_main.py \ + ceph-disk/tox.ini + +-export CEPH_DISK_VIRTUALENV = ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv +- +-ceph-disk-all: ${CEPH_DISK_VIRTUALENV} +- +-${CEPH_DISK_VIRTUALENV}: +- cd $(srcdir)/ceph-disk ; ../tools/setup-virtualenv.sh ${CEPH_DISK_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DISK_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e . ++ceph-disk-all: + + ceph-disk-clean: +- cd $(srcdir)/ceph-disk ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DISK_VIRTUALENV} .coverage *.egg-info ++ cd $(srcdir)/ceph-disk + + ceph-disk-install-data: + cd $(srcdir)/ceph-disk ; \ +diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am +index e730850..9569947 100644 +--- a/src/tools/Makefile.am ++++ b/src/tools/Makefile.am +@@ -45,6 +45,3 @@ noinst_HEADERS += \ + tools/rados/PoolDump.h \ + tools/cephfs/DataScan.h \ + tools/cephfs/RoleSelector.h +- +-EXTRA_DIST += \ +- tools/setup-virtualenv.sh +diff --git a/src/tools/setup-virtualenv.sh b/src/tools/setup-virtualenv.sh +index 9ff2d26..b6fca0a 100755 +--- a/src/tools/setup-virtualenv.sh ++++ b/src/tools/setup-virtualenv.sh +@@ -15,6 +15,8 @@ + # GNU Library Public License for more details. + # + ++exit 0 ++ + DIR=$1 + rm -fr $DIR + mkdir -p $DIR diff --git a/sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch b/sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch new file mode 100644 index 000000000000..34f8eb84beee --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch @@ -0,0 +1,11 @@ +--- ceph-10.2.1/configure.ac ++++ ceph-10.2.1/configure.ac +@@ -908,7 +908,7 @@ + , + [with_libzfs=no]) + AS_IF([test "x$with_libzfs" = xyes], +- [PKG_CHECK_MODULES([LIBZFS], [zfs], [], [true])]) ++ [PKG_CHECK_MODULES([LIBZFS], [libzfs], [], [true])]) + AS_IF([test "x$with_libzfs" = xyes], + [AC_DEFINE([HAVE_LIBZFS], [1], [Defined if you have libzfs enabled])]) + AM_CONDITIONAL(WITH_LIBZFS, [ test "$with_libzfs" = "yes" ]) diff --git a/sys-cluster/ceph/files/ceph-10.2.1-unbundle-jerasure.patch b/sys-cluster/ceph/files/ceph-10.2.1-unbundle-jerasure.patch new file mode 100644 index 000000000000..8340b4d18bfd --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.1-unbundle-jerasure.patch @@ -0,0 +1,355 @@ +diff --git a/src/erasure-code/jerasure/Makefile.am b/src/erasure-code/jerasure/Makefile.am +index adcb95d..8099208 100644 +--- a/src/erasure-code/jerasure/Makefile.am ++++ b/src/erasure-code/jerasure/Makefile.am +@@ -1,52 +1,17 @@ + # jerasure plugin + noinst_HEADERS += \ +- erasure-code/jerasure/gf-complete/include/gf_complete.h \ +- erasure-code/jerasure/gf-complete/include/gf_general.h \ +- erasure-code/jerasure/gf-complete/include/gf_int.h \ +- erasure-code/jerasure/gf-complete/include/gf_method.h \ +- erasure-code/jerasure/gf-complete/include/gf_rand.h \ +- erasure-code/jerasure/gf-complete/include/gf_w16.h \ +- erasure-code/jerasure/gf-complete/include/gf_w32.h \ +- erasure-code/jerasure/gf-complete/include/gf_w4.h \ +- erasure-code/jerasure/gf-complete/include/gf_w64.h \ +- erasure-code/jerasure/gf-complete/include/gf_w8.h \ +- erasure-code/jerasure/jerasure/include/cauchy.h \ +- erasure-code/jerasure/jerasure/include/galois.h \ +- erasure-code/jerasure/jerasure/include/jerasure.h \ +- erasure-code/jerasure/jerasure/include/liberation.h \ +- erasure-code/jerasure/jerasure/include/reed_sol.h \ + erasure-code/jerasure/ErasureCodeJerasure.h + + jerasure_sources = \ + erasure-code/ErasureCode.cc \ +- erasure-code/jerasure/jerasure/src/cauchy.c \ +- erasure-code/jerasure/jerasure/src/galois.c \ +- erasure-code/jerasure/jerasure/src/jerasure.c \ +- erasure-code/jerasure/jerasure/src/liberation.c \ +- erasure-code/jerasure/jerasure/src/reed_sol.c \ +- erasure-code/jerasure/gf-complete/src/gf_wgen.c \ +- erasure-code/jerasure/gf-complete/src/gf_method.c \ +- erasure-code/jerasure/gf-complete/src/gf_w16.c \ +- erasure-code/jerasure/gf-complete/src/gf.c \ +- erasure-code/jerasure/gf-complete/src/gf_w32.c \ +- erasure-code/jerasure/gf-complete/src/gf_w64.c \ +- erasure-code/jerasure/gf-complete/src/gf_w128.c \ +- erasure-code/jerasure/gf-complete/src/gf_general.c \ +- erasure-code/jerasure/gf-complete/src/gf_w4.c \ +- erasure-code/jerasure/gf-complete/src/gf_rand.c \ +- erasure-code/jerasure/gf-complete/src/gf_w8.c \ + erasure-code/jerasure/ErasureCodePluginJerasure.cc \ + erasure-code/jerasure/ErasureCodeJerasure.cc + + erasure-code/jerasure/ErasureCodePluginJerasure.cc: ./ceph_ver.h + + libec_jerasure_generic_la_SOURCES = ${jerasure_sources} +-libec_jerasure_generic_la_CFLAGS = ${AM_CFLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include +-libec_jerasure_generic_la_CXXFLAGS= ${AM_CXXFLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include ++libec_jerasure_generic_la_CFLAGS = ${AM_CFLAGS} ++libec_jerasure_generic_la_CXXFLAGS= ${AM_CXXFLAGS} + libec_jerasure_generic_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS) + libec_jerasure_generic_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared + if LINUX +@@ -55,20 +20,11 @@ endif + + erasure_codelib_LTLIBRARIES += libec_jerasure_generic.la + +-libec_jerasure_neon_la_SOURCES = ${jerasure_sources} \ +- erasure-code/jerasure/gf-complete/src/neon/gf_w4_neon.c \ +- erasure-code/jerasure/gf-complete/src/neon/gf_w8_neon.c \ +- erasure-code/jerasure/gf-complete/src/neon/gf_w16_neon.c \ +- erasure-code/jerasure/gf-complete/src/neon/gf_w32_neon.c \ +- erasure-code/jerasure/gf-complete/src/neon/gf_w64_neon.c ++libec_jerasure_neon_la_SOURCES = ${jerasure_sources} + libec_jerasure_neon_la_CFLAGS = ${AM_CFLAGS} \ +- ${ARM_NEON_FLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include ++ ${ARM_NEON_FLAGS} + libec_jerasure_neon_la_CXXFLAGS= ${AM_CXXFLAGS} \ +- ${ARM_NEON_FLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include ++ ${ARM_NEON_FLAGS} + libec_jerasure_neon_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS) + libec_jerasure_neon_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared + if LINUX +@@ -84,16 +40,12 @@ libec_jerasure_sse3_la_CFLAGS = ${AM_CFLAGS} \ + ${INTEL_SSE_FLAGS} \ + ${INTEL_SSE2_FLAGS} \ + ${INTEL_SSE3_FLAGS} \ +- ${INTEL_SSSE3_FLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include ++ ${INTEL_SSSE3_FLAGS} + libec_jerasure_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \ + ${INTEL_SSE_FLAGS} \ + ${INTEL_SSE2_FLAGS} \ + ${INTEL_SSE3_FLAGS} \ +- ${INTEL_SSSE3_FLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include ++ ${INTEL_SSSE3_FLAGS} + libec_jerasure_sse3_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS) + libec_jerasure_sse3_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared + if LINUX +@@ -111,18 +63,14 @@ libec_jerasure_sse4_la_CFLAGS = ${AM_CFLAGS} \ + ${INTEL_SSE3_FLAGS} \ + ${INTEL_SSSE3_FLAGS} \ + ${INTEL_SSE4_1_FLAGS} \ +- ${INTEL_SSE4_2_FLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include ++ ${INTEL_SSE4_2_FLAGS} + libec_jerasure_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \ + ${INTEL_SSE_FLAGS} \ + ${INTEL_SSE2_FLAGS} \ + ${INTEL_SSE3_FLAGS} \ + ${INTEL_SSSE3_FLAGS} \ + ${INTEL_SSE4_1_FLAGS} \ +- ${INTEL_SSE4_2_FLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include ++ ${INTEL_SSE4_2_FLAGS} + libec_jerasure_sse4_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS) + libec_jerasure_sse4_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared + if LINUX +diff --git a/src/erasure-code/shec/ErasureCodePluginShec.cc b/src/erasure-code/shec/ErasureCodePluginShec.cc +index d2b72f5..acbd172 100644 +--- a/src/erasure-code/shec/ErasureCodePluginShec.cc ++++ b/src/erasure-code/shec/ErasureCodePluginShec.cc +@@ -71,7 +71,7 @@ public: + }; + + extern "C" { +-#include "jerasure/include/galois.h" ++#include "galois.h" + + extern gf_t *gfp_array[]; + extern int gfp_is_composite[]; +diff --git a/src/erasure-code/shec/ErasureCodeShec.cc b/src/erasure-code/shec/ErasureCodeShec.cc +index 2180328..c84ffc7 100644 +--- a/src/erasure-code/shec/ErasureCodeShec.cc ++++ b/src/erasure-code/shec/ErasureCodeShec.cc +@@ -28,8 +28,8 @@ + #include "crush/CrushWrapper.h" + #include "osd/osd_types.h" + extern "C" { +-#include "jerasure/include/jerasure.h" +-#include "jerasure/include/galois.h" ++#include "jerasure.h" ++#include "galois.h" + + extern int calc_determinant(int *matrix, int dim); + extern int* reed_sol_vandermonde_coding_matrix(int k, int m, int w); +diff --git a/src/erasure-code/shec/Makefile.am b/src/erasure-code/shec/Makefile.am +index 6b658d5..3281c60 100644 +--- a/src/erasure-code/shec/Makefile.am ++++ b/src/erasure-code/shec/Makefile.am +@@ -4,49 +4,19 @@ shec_sources = \ + erasure-code/shec/ErasureCodePluginShec.cc \ + erasure-code/shec/ErasureCodeShec.cc \ + erasure-code/shec/ErasureCodeShecTableCache.cc \ +- erasure-code/shec/determinant.c \ +- erasure-code/jerasure/jerasure/src/cauchy.c \ +- erasure-code/jerasure/jerasure/src/galois.c \ +- erasure-code/jerasure/jerasure/src/jerasure.c \ +- erasure-code/jerasure/jerasure/src/liberation.c \ +- erasure-code/jerasure/jerasure/src/reed_sol.c \ +- erasure-code/jerasure/gf-complete/src/gf_wgen.c \ +- erasure-code/jerasure/gf-complete/src/gf_method.c \ +- erasure-code/jerasure/gf-complete/src/gf_w16.c \ +- erasure-code/jerasure/gf-complete/src/gf.c \ +- erasure-code/jerasure/gf-complete/src/gf_w32.c \ +- erasure-code/jerasure/gf-complete/src/gf_w64.c \ +- erasure-code/jerasure/gf-complete/src/gf_w128.c \ +- erasure-code/jerasure/gf-complete/src/gf_general.c \ +- erasure-code/jerasure/gf-complete/src/gf_w4.c \ +- erasure-code/jerasure/gf-complete/src/gf_rand.c \ +- erasure-code/jerasure/gf-complete/src/gf_w8.c ++ erasure-code/shec/determinant.c + + noinst_HEADERS += \ + erasure-code/shec/ErasureCodeShec.h \ +- erasure-code/shec/ErasureCodeShecTableCache.h \ +- erasure-code/jerasure/jerasure/include/cauchy.h \ +- erasure-code/jerasure/jerasure/include/galois.h \ +- erasure-code/jerasure/jerasure/include/jerasure.h \ +- erasure-code/jerasure/jerasure/include/liberation.h \ +- erasure-code/jerasure/jerasure/include/reed_sol.h \ +- erasure-code/jerasure/gf-complete/include/gf_int.h \ +- erasure-code/jerasure/gf-complete/include/gf_complete.h \ +- erasure-code/jerasure/gf-complete/include/gf_rand.h \ +- erasure-code/jerasure/gf-complete/include/gf_method.h \ +- erasure-code/jerasure/gf-complete/include/gf_general.h ++ erasure-code/shec/ErasureCodeShecTableCache.h + + erasure-code/shec/ErasureCodePluginShec.cc: ./ceph_ver.h + + libec_shec_generic_la_SOURCES = ${shec_sources} + libec_shec_generic_la_CFLAGS = ${AM_CFLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + libec_shec_generic_la_CXXFLAGS= ${AM_CXXFLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + libec_shec_generic_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS) +@@ -57,22 +27,13 @@ endif + + erasure_codelib_LTLIBRARIES += libec_shec_generic.la + +-libec_shec_neon_la_SOURCES = ${shec_sources} \ +- erasure-code/jerasure/gf-complete/src/neon/gf_w4_neon.c \ +- erasure-code/jerasure/gf-complete/src/neon/gf_w8_neon.c \ +- erasure-code/jerasure/gf-complete/src/neon/gf_w16_neon.c \ +- erasure-code/jerasure/gf-complete/src/neon/gf_w32_neon.c \ +- erasure-code/jerasure/gf-complete/src/neon/gf_w64_neon.c ++libec_shec_neon_la_SOURCES = ${shec_sources} + libec_shec_neon_la_CFLAGS = ${AM_CFLAGS} \ + ${ARM_NEON_FLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + libec_shec_neon_la_CXXFLAGS= ${AM_CXXFLAGS} \ + ${ARM_NEON_FLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + libec_shec_neon_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS) +@@ -91,8 +52,6 @@ libec_shec_sse3_la_CFLAGS = ${AM_CFLAGS} \ + ${INTEL_SSE2_FLAGS} \ + ${INTEL_SSE3_FLAGS} \ + ${INTEL_SSSE3_FLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + libec_shec_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \ +@@ -100,8 +59,6 @@ libec_shec_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \ + ${INTEL_SSE2_FLAGS} \ + ${INTEL_SSE3_FLAGS} \ + ${INTEL_SSSE3_FLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + libec_shec_sse3_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS) +@@ -122,8 +79,6 @@ libec_shec_sse4_la_CFLAGS = ${AM_CFLAGS} \ + ${INTEL_SSSE3_FLAGS} \ + ${INTEL_SSE4_1_FLAGS} \ + ${INTEL_SSE4_2_FLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + libec_shec_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \ +@@ -133,8 +88,6 @@ libec_shec_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \ + ${INTEL_SSSE3_FLAGS} \ + ${INTEL_SSE4_1_FLAGS} \ + ${INTEL_SSE4_2_FLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + libec_shec_sse4_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS) +diff --git a/src/erasure-code/shec/determinant.c b/src/erasure-code/shec/determinant.c +index 15b62c9..bf5d290 100755 +--- a/src/erasure-code/shec/determinant.c ++++ b/src/erasure-code/shec/determinant.c +@@ -19,7 +19,7 @@ + #include <stdlib.h> + #include <string.h> + +-#include "jerasure/include/galois.h" ++#include "galois.h" + + void print_matrix(int *mat, int dim) + { +diff --git a/src/test/erasure-code/Makefile.am b/src/test/erasure-code/Makefile.am +index bdce080..11895ae 100644 +--- a/src/test/erasure-code/Makefile.am ++++ b/src/test/erasure-code/Makefile.am +@@ -166,12 +166,8 @@ check_TESTPROGRAMS += unittest_erasure_code + unittest_erasure_code_jerasure_SOURCES = \ + test/erasure-code/TestErasureCodeJerasure.cc \ + ${jerasure_sources} +-unittest_erasure_code_jerasure_CFLAGS = $(AM_CFLAGS) \ +- -Ierasure-code/jerasure/gf-complete/include \ +- -Ierasure-code/jerasure/jerasure/include +-unittest_erasure_code_jerasure_CXXFLAGS = $(UNITTEST_CXXFLAGS) \ +- -Ierasure-code/jerasure/gf-complete/include \ +- -Ierasure-code/jerasure/jerasure/include ++unittest_erasure_code_jerasure_CFLAGS = $(AM_CFLAGS) ++unittest_erasure_code_jerasure_CXXFLAGS = $(UNITTEST_CXXFLAGS) + unittest_erasure_code_jerasure_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL) + if LINUX + unittest_erasure_code_jerasure_LDADD += -ldl +@@ -232,13 +228,9 @@ unittest_erasure_code_shec_SOURCES = \ + test/erasure-code/TestErasureCodeShec.cc \ + ${shec_sources} + unittest_erasure_code_shec_CFLAGS = ${libec_shec_la_CFLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + unittest_erasure_code_shec_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + unittest_erasure_code_shec_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +@@ -251,13 +243,9 @@ unittest_erasure_code_shec_all_SOURCES = \ + test/erasure-code/TestErasureCodeShec_all.cc \ + ${shec_sources} + unittest_erasure_code_shec_all_CFLAGS = ${libec_shec_la_CFLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + unittest_erasure_code_shec_all_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + unittest_erasure_code_shec_all_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +@@ -270,13 +258,9 @@ unittest_erasure_code_shec_thread_SOURCES = \ + test/erasure-code/TestErasureCodeShec_thread.cc \ + ${shec_sources} + unittest_erasure_code_shec_thread_CFLAGS = ${libec_shec_la_CFLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + unittest_erasure_code_shec_thread_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + unittest_erasure_code_shec_thread_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +@@ -289,13 +273,9 @@ unittest_erasure_code_shec_arguments_SOURCES = \ + test/erasure-code/TestErasureCodeShec_arguments.cc \ + ${shec_sources} + unittest_erasure_code_shec_arguments_CFLAGS = ${libec_shec_la_CFLAGS} \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + unittest_erasure_code_shec_arguments_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \ +- -I$(srcdir)/erasure-code/jerasure/jerasure/include \ +- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \ + -I$(srcdir)/erasure-code/jerasure \ + -I$(srcdir)/erasure-code/shec + unittest_erasure_code_shec_arguments_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL) diff --git a/sys-cluster/ceph/files/ceph-10.2.3-CVE-2016-8626.patch b/sys-cluster/ceph/files/ceph-10.2.3-CVE-2016-8626.patch new file mode 100644 index 000000000000..d767d8170dfa --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.3-CVE-2016-8626.patch @@ -0,0 +1,33 @@ +commit dc2ffda7819d2ebeed3526d9e6da8f53221818de +Author: Yehuda Sadeh <yehuda@redhat.com> +Date: Thu Oct 20 10:17:36 2016 -0700 + + rgw: handle empty POST condition + + Fixes: http://tracker.ceph.com/issues/17635 + + Before accessing json entity, need to check that iterator is valid. + If there is no entry return appropriate error code. + + Signed-off-by: Yehuda Sadeh <yehuda@redhat.com> + (cherry picked from commit 23cb642243e09ca4a8e104f62a3bb7b2cbb6ea12) + +diff --git a/src/rgw/rgw_policy_s3.cc b/src/rgw/rgw_policy_s3.cc +index 3843511..8af70a8 100644 +--- a/src/rgw/rgw_policy_s3.cc ++++ b/src/rgw/rgw_policy_s3.cc +@@ -286,11 +286,13 @@ int RGWPolicy::from_json(bufferlist& bl, string& err_msg) + int r = add_condition(v[0], v[1], v[2], err_msg); + if (r < 0) + return r; +- } else { ++ } else if (!citer.end()) { + JSONObj *c = *citer; + dout(0) << "adding simple_check: " << c->get_name() << " : " << c->get_data() << dendl; + + add_simple_check(c->get_name(), c->get_data()); ++ } else { ++ return -EINVAL; + } + } + return 0; diff --git a/sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch b/sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch new file mode 100644 index 000000000000..ffc164536048 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch @@ -0,0 +1,32 @@ +diff --git a/src/rgw/librgw.cc b/src/rgw/librgw.cc +index c476129..cad54b8 100644 +--- a/src/rgw/librgw.cc ++++ b/src/rgw/librgw.cc +@@ -470,7 +470,11 @@ namespace rgw { + const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn; + const string& ldap_dnattr = + store->ctx()->_conf->rgw_ldap_dnattr; ++#ifdef HAVE_OPENLDAP + std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx()); ++#else ++ std::string ldap_bindpw; ++#endif /* HAVE_OPENLDAP */ + + ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw.c_str(), + ldap_searchdn, ldap_dnattr); +diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc +index e9f24f3..7291e69 100644 +--- a/src/rgw/rgw_rest_s3.cc ++++ b/src/rgw/rgw_rest_s3.cc +@@ -3091,7 +3091,11 @@ void RGW_Auth_S3::init_impl(RGWRados* store) + const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn; + const string& ldap_dnattr = + store->ctx()->_conf->rgw_ldap_dnattr; ++#ifdef HAVE_OPENLDAP + std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx()); ++#else ++ std::string ldap_bindpw; ++#endif /* HAVE_OPENLDAP */ + + ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw, + ldap_searchdn, ldap_dnattr); diff --git a/sys-cluster/ceph/files/ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch b/sys-cluster/ceph/files/ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch new file mode 100644 index 000000000000..08a7920035aa --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch @@ -0,0 +1,22 @@ +commit e1dc386f93eb4613dc7e89cc76a031aeee5022ba +Author: Oleh Prypin <oleh@pryp.in> +Date: Thu Jul 21 18:33:25 2016 +0300 + + pybind: Make CephFS bindings and tests compatible with Python 3 + + Signed-off-by: Oleh Prypin <oleh@pryp.in> + +diff --git a/src/pybind/cephfs/cephfs.pyx b/src/pybind/cephfs/cephfs.pyx +index ac17ada1a1..bd14de3b16 100644 +--- a/src/pybind/cephfs/cephfs.pyx ++++ b/src/pybind/cephfs/cephfs.pyx +@@ -613,8 +613,7 @@ cdef class LibCephFS(object): + + if not isinstance(mode, int): + raise TypeError('mode must be an int') +- if isinstance(flags, basestring): +- flags = cstr(flags, 'flags') ++ if isinstance(flags, str_type): + cephfs_flags = 0 + if flags == '': + cephfs_flags = os.O_RDONLY diff --git a/sys-cluster/ceph/files/ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch b/sys-cluster/ceph/files/ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch new file mode 100644 index 000000000000..a81aae6e7ce8 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch @@ -0,0 +1,45 @@ +commit 773e01294da518c6ec18f0a8b72e05def85fef6c +Author: Oleh Prypin <oleh@pryp.in> +Date: Fri Jun 24 15:48:57 2016 +0300 + + pybind: Make RBD Python bindings compatible with Python 3 + + Signed-off-by: Oleh Prypin <oleh@pryp.in> + +diff --git a/src/pybind/rbd/rbd.pyx b/src/pybind/rbd/rbd.pyx +index 52727bf39e..8f25dfbee0 100644 +--- a/src/pybind/rbd/rbd.pyx ++++ b/src/pybind/rbd/rbd.pyx +@@ -745,7 +745,7 @@ class RBD(object): + break + elif ret != -errno.ERANGE: + raise make_ex(ret, 'error listing images') +- return [decode_cstr(name) for name in c_names[:ret].split('\0') ++ return [decode_cstr(name) for name in c_names[:ret].split(b'\0') + if name] + finally: + free(c_names) +@@ -1885,8 +1885,8 @@ written." % (self.name, ret, length)) + raise make_ex(ret, 'error listing images') + if ret == 0: + return [] +- pools = map(decode_cstr, c_pools[:pools_size - 1].split('\0')) +- images = map(decode_cstr, c_images[:images_size - 1].split('\0')) ++ pools = map(decode_cstr, c_pools[:pools_size - 1].split(b'\0')) ++ images = map(decode_cstr, c_images[:images_size - 1].split(b'\0')) + return list(zip(pools, images)) + finally: + free(c_pools) +@@ -1933,9 +1933,9 @@ written." % (self.name, ret, length)) + raise make_ex(ret, 'error listing images') + if ret == 0: + return [] +- clients = map(decode_cstr, c_clients[:clients_size - 1].split('\0')) +- cookies = map(decode_cstr, c_cookies[:cookies_size - 1].split('\0')) +- addrs = map(decode_cstr, c_addrs[:addrs_size - 1].split('\0')) ++ clients = map(decode_cstr, c_clients[:clients_size - 1].split(b'\0')) ++ cookies = map(decode_cstr, c_cookies[:cookies_size - 1].split(b'\0')) ++ addrs = map(decode_cstr, c_addrs[:addrs_size - 1].split(b'\0')) + return { + 'tag' : decode_cstr(c_tag), + 'exclusive' : exclusive == 1, diff --git a/sys-cluster/ceph/files/ceph-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch b/sys-cluster/ceph/files/ceph-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch new file mode 100644 index 000000000000..3202de3cbe98 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch @@ -0,0 +1,92 @@ +From 39848e41b7c517cc5faab1ccf77c2804fd7d2628 Mon Sep 17 00:00:00 2001 +From: Marcus Watts <mwatts@redhat.com> +Date: Wed, 11 Jan 2017 00:06:15 -0500 +Subject: [PATCH] radosgw/swift: clean up flush / newline behavior. + +The current code emits a newline after swift errors, but fails +to account for it when it calculates 'content-length'. This results in +some clients (go github.com/ncw/swift) producing complaints about the +unsolicited newline such as this, + Unsolicited response received on idle HTTP channel starting with "\n"; err=<nil> + +This logic eliminates the newline on flush. This makes the content length +calculation correct and eliminates the stray newline. + +There was already existing separator logic in the rgw plain formatter +that can emit a newline at the correct point. It had been checking +"len" to decide if previous data had been emitted, but that's reset to 0 +by flush(). So, this logic adds a new per-instance variable to separately +track state that it emitted a previous item (and should emit a newline). + +Fixes: http://tracker.ceph.com/issues/18473 +Signed-off-by: Marcus Watts <mwatts@redhat.com> +Signed-off-by: Matt Benjamin <mbenjamin@redhat.com> +(cherry picked from commit 5f229d6a33eae4906f22cdb90941835e47ee9f02) +--- + src/rgw/rgw_formats.cc | 11 +++++++---- + src/rgw/rgw_formats.h | 1 + + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/src/rgw/rgw_formats.cc b/src/rgw/rgw_formats.cc +index 698ec96..61e9b66 100644 +--- a/src/rgw/rgw_formats.cc ++++ b/src/rgw/rgw_formats.cc +@@ -25,6 +25,7 @@ RGWFormatter_Plain::RGWFormatter_Plain(const bool ukv) + : buf(NULL), + len(0), + max_len(0), ++ wrote_something(false), + min_stack_level(0), + use_kv(ukv) + { +@@ -41,7 +42,7 @@ void RGWFormatter_Plain::flush(ostream& os) + return; + + if (len) { +- os << buf << "\n"; ++ os << buf; + os.flush(); + } + +@@ -156,13 +157,14 @@ void RGWFormatter_Plain::dump_format_va(const char *name, const char *ns, bool q + vsnprintf(buf, LARGE_SIZE, fmt, ap); + + const char *eol; +- if (len) { ++ if (wrote_something) { + if (use_kv && entry.is_array && entry.size > 1) + eol = ", "; + else + eol = "\n"; + } else + eol = ""; ++ wrote_something = true; + + if (use_kv && !entry.is_array) + write_data("%s%s: %s", eol, name, buf); +@@ -268,10 +270,11 @@ void RGWFormatter_Plain::dump_value_int(const char *name, const char *fmt, ...) + va_end(ap); + + const char *eol; +- if (len) ++ if (wrote_something) { + eol = "\n"; +- else ++ } else + eol = ""; ++ wrote_something = true; + + if (use_kv && !entry.is_array) + write_data("%s%s: %s", eol, name, buf); +diff --git a/src/rgw/rgw_formats.h b/src/rgw/rgw_formats.h +index 9df5251..1c5afd1 100644 +--- a/src/rgw/rgw_formats.h ++++ b/src/rgw/rgw_formats.h +@@ -56,6 +56,7 @@ class RGWFormatter_Plain : public Formatter { + std::list<struct plain_stack_entry> stack; + size_t min_stack_level; + bool use_kv; ++ bool wrote_something; + }; + + class RGWFormatterFlusher { diff --git a/sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch b/sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch new file mode 100644 index 000000000000..4e76deabe65f --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch @@ -0,0 +1,49 @@ +From 5a11f31aac4fa6a5c5ebb4fa0964e1c07a420e8c Mon Sep 17 00:00:00 2001 +From: Zac Medico <zmedico@gentoo.org> +Date: Wed, 12 Apr 2017 01:49:09 -0700 +Subject: [PATCH] configure: link against zstd if detected + +https://bugs.gentoo.org/show_bug.cgi?id=601610 +--- + configure.ac | 6 ++++-- + src/Makefile-env.am | 3 +++ + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 51daf91..8914b71 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -851,12 +851,14 @@ AS_IF([test "x$with_librocksdb_static" = "xyes"], + AM_CONDITIONAL(WITH_SLIBROCKSDB, [ test "x$with_librocksdb_static" = "xyes" ]) + AM_CONDITIONAL(WITH_LIBROCKSDB, [ test "x$with_librocksdb_static" = "xyes" -o "x$with_librocksdb" = "xyes" ]) + +-# rocksdb detects bzlib and lz4 in its Makefile, which forces us to do the same. ++# rocksdb detects headers in its Makefile, which forces us to do the same. + AS_IF([test "x$with_librocksdb_static" = "xyes"], [ + AC_CHECK_HEADER([bzlib.h], [have_bzlib=yes]) +- AC_CHECK_HEADER([lz4.h], [have_lz4=yes])]) ++ AC_CHECK_HEADER([lz4.h], [have_lz4=yes])] ++ AC_CHECK_HEADER([zstd.h], [have_zstd=yes])]) + AM_CONDITIONAL(HAVE_BZLIB, [test "x$have_bzlib" = "xyes"]) + AM_CONDITIONAL(HAVE_LZ4, [test "x$have_lz4" = "xyes"]) ++AM_CONDITIONAL(HAVE_ZSTD, [test "x$have_zstd" = "xyes"]) + + # needs libcurl and libxml2 + if test "x$with_rest_bench" = xyes && test "x$with_system_libs3" = xno; then +diff --git a/src/Makefile-env.am b/src/Makefile-env.am +index 4771bad..0ee42f8 100644 +--- a/src/Makefile-env.am ++++ b/src/Makefile-env.am +@@ -280,6 +280,9 @@ endif + if HAVE_LZ4 + LIBKV += -llz4 + endif ++if HAVE_ZSTD ++LIBKV += -lzstd ++endif + endif # WITH_SLIBROCKSDB + LIBKV += -lz -lleveldb -lsnappy + LIBOS += $(LIBOS_TYPES) $(LIBKV) $(LIBFUSE_LIBS) +-- +2.10.2 + diff --git a/sys-cluster/ceph/files/ceph-10.2.9-cflags.patch b/sys-cluster/ceph/files/ceph-10.2.9-cflags.patch new file mode 100644 index 000000000000..31221ae2f994 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.9-cflags.patch @@ -0,0 +1,15 @@ +diff --git a/src/Makefile-env.am b/src/Makefile-env.am +index 4771bad02d..f92e20479b 100644 +--- a/src/Makefile-env.am ++++ b/src/Makefile-env.am +@@ -53,10 +53,6 @@ endif + ## automake environment + + HARDENING_CFLAGS = \ +- -O2 \ +- -g \ +- -pipe \ +- -Wall \ + -Wp,-U_FORTIFY_SOURCE \ + -Wp,-D_FORTIFY_SOURCE=2 \ + -fexceptions \ diff --git a/sys-cluster/ceph/files/ceph-10.2.9-dont-run-lsb_release.patch b/sys-cluster/ceph/files/ceph-10.2.9-dont-run-lsb_release.patch new file mode 100644 index 000000000000..a6b5515cee28 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.9-dont-run-lsb_release.patch @@ -0,0 +1,65 @@ +diff --git a/src/ceph-detect-init/Makefile.am b/src/ceph-detect-init/Makefile.am +index 3926ac4bec..90e2eae50c 100644 +--- a/src/ceph-detect-init/Makefile.am ++++ b/src/ceph-detect-init/Makefile.am +@@ -67,7 +67,7 @@ ceph-detect-init-clean: + ceph-detect-init-install-data: + cd $(srcdir)/ceph-detect-init ; \ + if test "$(DESTDIR)" ; then \ +- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \ ++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \ + options=--install-layout=deb ; \ + else \ + options=--prefix=/usr ; \ +diff --git a/src/ceph-disk/Makefile.am b/src/ceph-disk/Makefile.am +index a8532878c8..d908b1649a 100644 +--- a/src/ceph-disk/Makefile.am ++++ b/src/ceph-disk/Makefile.am +@@ -43,7 +43,7 @@ ceph-disk-clean: + ceph-disk-install-data: + cd $(srcdir)/ceph-disk ; \ + if test "$(DESTDIR)" ; then \ +- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \ ++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \ + options=--install-layout=deb ; \ + else \ + options=--prefix=/usr ; \ +diff --git a/src/pybind/cephfs/Makefile.am b/src/pybind/cephfs/Makefile.am +index 698522daa4..c49c190986 100644 +--- a/src/pybind/cephfs/Makefile.am ++++ b/src/pybind/cephfs/Makefile.am +@@ -15,7 +15,7 @@ cephfs-pybind-clean: ${srcdir}/ceph_ver.h + + cephfs-pybind-install-exec: ${srcdir}/ceph_ver.h + if test "$(DESTDIR)" ; then \ +- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \ ++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \ + options=--install-layout=deb ; \ + else \ + options=--prefix=/usr ; \ +diff --git a/src/pybind/rados/Makefile.am b/src/pybind/rados/Makefile.am +index a4145bf0f4..960395fee8 100644 +--- a/src/pybind/rados/Makefile.am ++++ b/src/pybind/rados/Makefile.am +@@ -15,7 +15,7 @@ rados-pybind-clean: ${srcdir}/ceph_ver.h + + rados-pybind-install-exec: ${srcdir}/ceph_ver.h + if test "$(DESTDIR)" ; then \ +- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \ ++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \ + options=--install-layout=deb ; \ + else \ + options=--prefix=/usr ; \ +diff --git a/src/pybind/rbd/Makefile.am b/src/pybind/rbd/Makefile.am +index 7dd49333fa..fbb940d07d 100644 +--- a/src/pybind/rbd/Makefile.am ++++ b/src/pybind/rbd/Makefile.am +@@ -15,7 +15,7 @@ rbd-pybind-clean: ${srcdir}/ceph_ver.h + + rbd-pybind-install-exec: ${srcdir}/ceph_ver.h + if test "$(DESTDIR)" ; then \ +- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \ ++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \ + options=--install-layout=deb ; \ + else \ + options=--prefix=/usr ; \ diff --git a/sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch b/sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch new file mode 100644 index 000000000000..e67113e51cc8 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch @@ -0,0 +1,82 @@ +From b52bfe6b443f0ff88c8614441752102058063699 Mon Sep 17 00:00:00 2001 +From: Ning Yao <yaoning@unitedstack.com> +Date: Thu, 6 Apr 2017 11:12:04 +0000 +Subject: [PATCH] os/filestore: fix infinit loops in fiemap() + +since fiemap can get extents based on offset --> len +but we should consider last extents is retrieved when len == 0 +even though it is not last fiemap extents + +Signed-off-by: Ning Yao <yaoning@unitedstack.com> +(cherry picked from commit 36f6b668a8910d76847674086cbc86910c78faee) +--- + src/os/filestore/FileStore.cc | 13 +++++-------- + src/test/objectstore/store_test.cc | 21 +++++++++++++++++++++ + 2 files changed, 26 insertions(+), 8 deletions(-) + +diff --git a/src/os/filestore/FileStore.cc b/src/os/filestore/FileStore.cc +index c47b0d0d2eae..95f48cdf4960 100644 +--- a/src/os/filestore/FileStore.cc ++++ b/src/os/filestore/FileStore.cc +@@ -3102,17 +3102,14 @@ int FileStore::_do_fiemap(int fd, uint64_t offset, size_t len, + i++; + last = extent++; + } +- const bool is_last = last->fe_flags & FIEMAP_EXTENT_LAST; ++ uint64_t xoffset = last->fe_logical + last->fe_length - offset; ++ offset = last->fe_logical + last->fe_length; ++ len -= xoffset; ++ const bool is_last = (last->fe_flags & FIEMAP_EXTENT_LAST) || (len == 0); ++ free(fiemap); + if (!is_last) { +- uint64_t xoffset = last->fe_logical + last->fe_length - offset; +- offset = last->fe_logical + last->fe_length; +- len -= xoffset; +- free(fiemap); /* fix clang warn: use-after-free */ + goto more; + } +- else { +- free(fiemap); +- } + + return r; + } +diff --git a/src/test/objectstore/store_test.cc b/src/test/objectstore/store_test.cc +index 5ab011ad17d8..4cada7e2e435 100644 +--- a/src/test/objectstore/store_test.cc ++++ b/src/test/objectstore/store_test.cc +@@ -279,6 +279,7 @@ TEST_P(StoreTest, FiemapHoles) { + ASSERT_EQ(r, 0); + } + { ++ //fiemap test from 0 to SKIP_STEP * (MAX_EXTENTS - 1) + 3 + bufferlist bl; + store->fiemap(cid, oid, 0, SKIP_STEP * (MAX_EXTENTS - 1) + 3, bl); + map<uint64_t,uint64_t> m, e; +@@ -295,6 +296,26 @@ TEST_P(StoreTest, FiemapHoles) { + ASSERT_TRUE((m.size() == 1 && + m[0] > SKIP_STEP * (MAX_EXTENTS - 1)) || + (m.size() == MAX_EXTENTS && extents_exist)); ++ ++ // fiemap test from SKIP_STEP to SKIP_STEP * (MAX_EXTENTS - 2) + 3 ++ // reset bufferlist and map ++ bl.clear(); ++ m.clear(); ++ e.clear(); ++ store->fiemap(cid, oid, SKIP_STEP, SKIP_STEP * (MAX_EXTENTS - 2) + 3, bl); ++ p = bl.begin(); ++ ::decode(m, p); ++ cout << " got " << m << std::endl; ++ ASSERT_TRUE(!m.empty()); ++ ASSERT_GE(m[SKIP_STEP], 3u); ++ extents_exist = true; ++ if (m.size() == (MAX_EXTENTS - 2)) { ++ for (uint64_t i = 1; i < MAX_EXTENTS - 1; i++) ++ extents_exist = extents_exist && m.count(SKIP_STEP*i); ++ } ++ ASSERT_TRUE((m.size() == 1 && ++ m[SKIP_STEP] > SKIP_STEP * (MAX_EXTENTS - 2)) || ++ (m.size() == (MAX_EXTENTS - 1) && extents_exist)); + } + { + ObjectStore::Transaction t; diff --git a/sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch b/sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch new file mode 100644 index 000000000000..eaf18c35783d --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch @@ -0,0 +1,35 @@ +diff --git a/src/libradosstriper/RadosStriperImpl.cc b/src/libradosstriper/RadosStriperImpl.cc +index 22352d9125..70dcb7569f 100644 +--- a/src/libradosstriper/RadosStriperImpl.cc ++++ b/src/libradosstriper/RadosStriperImpl.cc +@@ -12,6 +12,8 @@ + * + */ + ++#include <boost/algorithm/string/replace.hpp> ++ + #include "libradosstriper/RadosStriperImpl.h" + + #include <errno.h> +@@ -466,7 +468,9 @@ int libradosstriper::RadosStriperImpl::aio_read(const std::string& soid, + // get list of extents to be read from + vector<ObjectExtent> *extents = new vector<ObjectExtent>(); + if (read_len > 0) { +- std::string format = soid + RADOS_OBJECT_EXTENSION_FORMAT; ++ std::string format = soid; ++ boost::replace_all(format, "%", "%%"); ++ format += RADOS_OBJECT_EXTENSION_FORMAT; + file_layout_t l; + l.from_legacy(layout); + Striper::file_to_extents(cct(), format.c_str(), &l, off, read_len, +@@ -776,7 +780,9 @@ libradosstriper::RadosStriperImpl::internal_aio_write(const std::string& soid, + if (len > 0) { + // get list of extents to be written to + vector<ObjectExtent> extents; +- std::string format = soid + RADOS_OBJECT_EXTENSION_FORMAT; ++ std::string format = soid; ++ boost::replace_all(format, "%", "%%"); ++ format += RADOS_OBJECT_EXTENSION_FORMAT; + file_layout_t l; + l.from_legacy(layout); + Striper::file_to_extents(cct(), format.c_str(), &l, off, len, 0, extents); diff --git a/sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch b/sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch new file mode 100644 index 000000000000..6800285318f0 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch @@ -0,0 +1,28 @@ +From 787ba33e5dba285dff874955a8f0d7aabd3f87fe Mon Sep 17 00:00:00 2001 +From: Jason Dillaman <dillaman@redhat.com> +Date: Mon, 5 Jun 2017 08:17:05 -0400 +Subject: [PATCH] librbd: filter expected error codes from + is_exclusive_lock_owner + +Fixes: http://tracker.ceph.com/issues/20182 +Signed-off-by: Jason Dillaman <dillaman@redhat.com> +(cherry picked from commit d4daaf54e6bc42cd4fb2111ea20b2042941b0c31) +--- + src/librbd/internal.cc | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc +index 9fecb1e1688f..6021be078090 100644 +--- a/src/librbd/internal.cc ++++ b/src/librbd/internal.cc +@@ -2110,7 +2110,9 @@ int mirror_image_disable_internal(ImageCtx *ictx, bool force, + // might have been blacklisted by peer -- ensure we still own + // the lock by pinging the OSD + int r = ictx->exclusive_lock->assert_header_locked(); +- if (r < 0) { ++ if (r == -EBUSY || r == -ENOENT) { ++ return 0; ++ } else if (r < 0) { + return r; + } + diff --git a/sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch b/sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch new file mode 100644 index 000000000000..8bf14c2944ba --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch @@ -0,0 +1,39 @@ +From 153f77544118613e19d5e88c030c3901234cf950 Mon Sep 17 00:00:00 2001 +From: David Zafman <dzafman@redhat.com> +Date: Tue, 18 Jul 2017 15:08:14 -0700 +Subject: [PATCH] osd: scrub_to specifies clone ver, but transaction include + head write ver + +Fixes: http://tracker.ceph.com/issues/20041 + +Signed-off-by: David Zafman <dzafman@redhat.com> +(cherry picked from commit fd598a0d23d61c645633ae774c3404a43d035e3c) + +Conflicts: + src/osd/ReplicatedPG.cc (trivial) +--- + src/osd/ReplicatedPG.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc +index 4b4dc34c602a..4d80ad1770e1 100644 +--- a/src/osd/ReplicatedPG.cc ++++ b/src/osd/ReplicatedPG.cc +@@ -8318,7 +8318,7 @@ void ReplicatedPG::op_applied(const eversion_t &applied_version) + last_update_applied = applied_version; + if (is_primary()) { + if (scrubber.active) { +- if (last_update_applied == scrubber.subset_last_update) { ++ if (last_update_applied >= scrubber.subset_last_update) { + requeue_scrub(); + } + } else { +@@ -8326,7 +8326,7 @@ void ReplicatedPG::op_applied(const eversion_t &applied_version) + } + } else { + if (scrubber.active_rep_scrub) { +- if (last_update_applied == static_cast<MOSDRepScrub*>( ++ if (last_update_applied >= static_cast<MOSDRepScrub*>( + scrubber.active_rep_scrub->get_req())->scrub_to) { + osd->op_wq.queue( + make_pair( diff --git a/sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch b/sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch new file mode 100644 index 000000000000..4b03e335bc58 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch @@ -0,0 +1,39 @@ +From 0cd7df3649d7486d444a61cab89c48a89ddd3e8d Mon Sep 17 00:00:00 2001 +From: Jason Dillaman <dillaman@redhat.com> +Date: Thu, 29 Jun 2017 14:54:40 -0400 +Subject: [PATCH] rbd: do not attempt to load key if auth is disabled + +Fixes: http://tracker.ceph.com/issues/19035 +Signed-off-by: Jason Dillaman <dillaman@redhat.com> +(cherry picked from commit 8b9c8df6d7f0b75c5451953bb322bc1f9afb6299) +--- + src/krbd.cc | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +diff --git a/src/krbd.cc b/src/krbd.cc +index a0e546fa7f6f..2bb6b4270abd 100644 +--- a/src/krbd.cc ++++ b/src/krbd.cc +@@ -129,13 +129,15 @@ static int build_map_buf(CephContext *cct, const char *pool, const char *image, + oss << " name=" << cct->_conf->name.get_id(); + + KeyRing keyring; +- r = keyring.from_ceph_context(cct); +- if (r == -ENOENT && !(cct->_conf->keyfile.length() || +- cct->_conf->key.length())) +- r = 0; +- if (r < 0) { +- cerr << "rbd: failed to get secret" << std::endl; +- return r; ++ if (cct->_conf->auth_client_required != "none") { ++ r = keyring.from_ceph_context(cct); ++ if (r == -ENOENT && !(cct->_conf->keyfile.length() || ++ cct->_conf->key.length())) ++ r = 0; ++ if (r < 0) { ++ cerr << "rbd: failed to get secret" << std::endl; ++ return r; ++ } + } + + CryptoKey secret; diff --git a/sys-cluster/ceph/files/ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch b/sys-cluster/ceph/files/ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch new file mode 100644 index 000000000000..5cb89be0edf1 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch @@ -0,0 +1,28 @@ +diff --git a/src/tools/rbd_nbd/rbd-nbd.cc b/src/tools/rbd_nbd/rbd-nbd.cc +index 2e399ab832..88e1e0ff65 100644 +--- a/src/tools/rbd_nbd/rbd-nbd.cc ++++ b/src/tools/rbd_nbd/rbd-nbd.cc +@@ -469,6 +469,10 @@ static int open_device(const char* path, bool try_load_moudle = false) + + static int check_device_size(int nbd_index, unsigned long expected_size) + { ++ // There are bugs with some older kernel versions that result in an ++ // overflow for large image sizes. This check is to ensure we are ++ // not affected. ++ + unsigned long size = 0; + std::string path = "/sys/block/nbd" + stringify(nbd_index) + "/size"; + std::ifstream ifs; +@@ -480,6 +484,12 @@ static int check_device_size(int nbd_index, unsigned long expected_size) + ifs >> size; + size *= RBD_NBD_BLKSIZE; + ++ if (size == 0) { ++ // Newer kernel versions will report real size only after nbd ++ // connect. Assume this is the case and return success. ++ return 0; ++ } ++ + if (size != expected_size) { + cerr << "rbd-nbd: kernel reported invalid device size (" << size + << ", expected " << expected_size << ")" << std::endl; diff --git a/sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch b/sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch new file mode 100644 index 000000000000..60f46ab36a40 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch @@ -0,0 +1,32 @@ +From 3fa277b479d69699bf5a6875cd4a5efcf9ae0788 Mon Sep 17 00:00:00 2001 +From: Alexey Sheplyakov <asheplyakov@mirantis.com> +Date: Tue, 27 Jun 2017 16:07:01 +0400 +Subject: [PATCH] jewel: osd: unlock sdata_op_ordering_lock with sdata_lock + hold to avoid missing wakeup signal + +Based on commit bc683385819146f3f6f096ceec97e1226a3cd237. The OSD code has +been refactored a lot since Jewel, hence cherry-picking that patch introduces +a lot of unrelated changes, and is much more difficult than reusing the idea. + +Fixes: http://tracker.ceph.com/issues/20428 + +Signed-off-by: Alexey Sheplyakov <asheplyakov@mirantis.com> +--- + src/osd/OSD.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc +index f5cfda3b686a..38a2711f6f92 100644 +--- a/src/osd/OSD.cc ++++ b/src/osd/OSD.cc +@@ -8727,9 +8727,9 @@ void OSD::ShardedOpWQ::_process(uint32_t thread_index, heartbeat_handle_d *hb ) + assert(NULL != sdata); + sdata->sdata_op_ordering_lock.Lock(); + if (sdata->pqueue->empty()) { +- sdata->sdata_op_ordering_lock.Unlock(); + osd->cct->get_heartbeat_map()->reset_timeout(hb, 4, 0); + sdata->sdata_lock.Lock(); ++ sdata->sdata_op_ordering_lock.Unlock(); + sdata->sdata_cond.WaitInterval(osd->cct, sdata->sdata_lock, utime_t(2, 0)); + sdata->sdata_lock.Unlock(); + sdata->sdata_op_ordering_lock.Lock(); diff --git a/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch new file mode 100644 index 000000000000..0f02e6e6d433 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake +index 24d1a50654..a9fac61196 100644 +--- a/cmake/modules/Distutils.cmake ++++ b/cmake/modules/Distutils.cmake +@@ -43,7 +43,7 @@ function(distutils_add_cython_module name src) + CC=${PY_CC} + CXX=${PY_CXX} + LDSHARED=${PY_LDSHARED} +- OPT=\"-DNDEBUG -g -fwrapv -O2 -w\" ++ OPT=\"-DNDEBUG -fwrapv -w\" + LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY} + CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR} + CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} diff --git a/sys-cluster/ceph/files/ceph-12.2.0-use-provided-cpu-flag-values.patch b/sys-cluster/ceph/files/ceph-12.2.0-use-provided-cpu-flag-values.patch new file mode 100644 index 000000000000..55c82b0a272b --- /dev/null +++ b/sys-cluster/ceph/files/ceph-12.2.0-use-provided-cpu-flag-values.patch @@ -0,0 +1,37 @@ +diff --git a/cmake/modules/SIMDExt.cmake b/cmake/modules/SIMDExt.cmake +index 5330835aa1..a4dd881e34 100644 +--- a/cmake/modules/SIMDExt.cmake ++++ b/cmake/modules/SIMDExt.cmake +@@ -76,32 +76,25 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|amd64|x86_64|AMD64") + set(HAVE_INTEL 1) + if(CMAKE_SYSTEM_PROCESSOR MATCHES "i686|amd64|x86_64|AMD64") +- CHECK_C_COMPILER_FLAG(-msse HAVE_INTEL_SSE) + if(HAVE_INTEL_SSE) + set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse") + endif() + if(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64") +- CHECK_C_COMPILER_FLAG(-msse2 HAVE_INTEL_SSE2) + if(HAVE_INTEL_SSE2) + set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse2") + endif() +- CHECK_C_COMPILER_FLAG(-msse3 HAVE_INTEL_SSE3) + if(HAVE_INTEL_SSE3) + set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse3") + endif() +- CHECK_C_COMPILER_FLAG(-mssse3 HAVE_INTEL_SSSE3) + if(HAVE_INTEL_SSSE3) + set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mssse3") + endif() +- CHECK_C_COMPILER_FLAG(-mpclmul HAVE_INTEL_PCLMUL) + if(HAVE_INTEL_PCLMUL) + set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mpclmul") + endif() +- CHECK_C_COMPILER_FLAG(-msse4.1 HAVE_INTEL_SSE4_1) + if(HAVE_INTEL_SSE4_1) + set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.1") + endif() +- CHECK_C_COMPILER_FLAG(-msse4.2 HAVE_INTEL_SSE4_2) + if(HAVE_INTEL_SSE4_2) + set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.2") + endif() diff --git a/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch b/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch new file mode 100644 index 000000000000..28d1a02d711b --- /dev/null +++ b/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch @@ -0,0 +1,10 @@ +diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt +index 3b03b6e613..c359ad2df9 100644 +--- a/systemd/CMakeLists.txt ++++ b/systemd/CMakeLists.txt +@@ -17,4 +17,4 @@ install(FILES + ceph-disk@.service + ceph-volume@.service + rbdmap.service +- DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/systemd/system) ++ DESTINATION ${SYSTEMD_UNITDIR}) diff --git a/sys-cluster/ceph/files/ceph-mds_at.service b/sys-cluster/ceph/files/ceph-mds_at.service new file mode 100644 index 000000000000..c28604e3c430 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-mds_at.service @@ -0,0 +1,12 @@ +[Unit] +Description=Ceph metadata server daemon +After=network-online.target local-fs.target +Wants=network-online.target local-fs.target +PartOf=ceph.target + +[Service] +Environment=CLUSTER=ceph +ExecStart=/usr/bin/ceph-mds -f --cluster ${CLUSTER} --id %i + +[Install] +WantedBy=ceph.target diff --git a/sys-cluster/ceph/files/ceph-mds_at.service.conf b/sys-cluster/ceph/files/ceph-mds_at.service.conf new file mode 100644 index 000000000000..0172cbeadeee --- /dev/null +++ b/sys-cluster/ceph/files/ceph-mds_at.service.conf @@ -0,0 +1,4 @@ +# Uncomment the following lines to configure the cluster name for Ceph MDSs. + +#[Service] +#Environment=CLUSTER=ceph diff --git a/sys-cluster/ceph/files/ceph-mon_at.service b/sys-cluster/ceph/files/ceph-mon_at.service new file mode 100644 index 000000000000..4f54cc158c5b --- /dev/null +++ b/sys-cluster/ceph/files/ceph-mon_at.service @@ -0,0 +1,19 @@ +[Unit] +Description=Ceph cluster monitor daemon +After=network-online.target +Wants=network-online.target + +# According to: +# http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget +# these can be removed once ceph-mon will dynamically change network +# configuration. +After=network-online.target local-fs.target +Wants=network-online.target local-fs.target +PartOf=ceph.target + +[Service] +Environment=CLUSTER=ceph +ExecStart=/usr/bin/ceph-mon -f --cluster ${CLUSTER} --id %i + +[Install] +WantedBy=ceph.target diff --git a/sys-cluster/ceph/files/ceph-osd_at.service b/sys-cluster/ceph/files/ceph-osd_at.service new file mode 100644 index 000000000000..7bf125f63c78 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-osd_at.service @@ -0,0 +1,13 @@ +[Unit] +Description=Ceph object storage daemon +After=network-online.target local-fs.target +Wants=network-online.target local-fs.target +PartOf=ceph.target + +[Service] +Environment=CLUSTER=ceph +ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i +ExecStartPre=/usr/libexec/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i + +[Install] +WantedBy=ceph.target diff --git a/sys-cluster/ceph/files/ceph-osd_at.service.conf b/sys-cluster/ceph/files/ceph-osd_at.service.conf new file mode 100644 index 000000000000..959b948c1178 --- /dev/null +++ b/sys-cluster/ceph/files/ceph-osd_at.service.conf @@ -0,0 +1,4 @@ +# Uncomment the following lines to configure the cluster name for Ceph OSDs. + +#[Service] +#Environment=CLUSTER=ceph diff --git a/sys-cluster/ceph/files/ceph.confd-r1 b/sys-cluster/ceph/files/ceph.confd-r1 new file mode 100644 index 000000000000..3bdb8b485ed8 --- /dev/null +++ b/sys-cluster/ceph/files/ceph.confd-r1 @@ -0,0 +1,4 @@ +# Example + +# default ceph conf file +#ceph_conf="/etc/ceph/ceph.conf" diff --git a/sys-cluster/ceph/files/ceph.confd-r2 b/sys-cluster/ceph/files/ceph.confd-r2 new file mode 100644 index 000000000000..13b1cfad4588 --- /dev/null +++ b/sys-cluster/ceph/files/ceph.confd-r2 @@ -0,0 +1,8 @@ +# default ceph conf file +#ceph_conf="/etc/ceph/ceph.conf" + +# Set ulimits for Ceph services. +rc_ulimit="-n 32768" + +# initd stop timeout. +#CEPH_TERMTIMEOUT="TERM/60/KILL/5" diff --git a/sys-cluster/ceph/files/ceph.confd-r3 b/sys-cluster/ceph/files/ceph.confd-r3 new file mode 100644 index 000000000000..54673c2688f7 --- /dev/null +++ b/sys-cluster/ceph/files/ceph.confd-r3 @@ -0,0 +1,61 @@ +# /etc/conf.d/ceph: startup configurations for ceph + +# default ceph conf file +#ceph_conf="/etc/ceph/ceph.conf" + +# Set ulimits for Ceph services. +#rc_ulimit="-n 131072 -u 257256" + +# the directory under /run to store runtime information in +#rundir=/run/ceph + +# the user and group to run ceph as + +# settings for openrc supervisor for various ceph daemons +# +# defaults (can be overidden for each daemon) +#respawn_delay=20 +#respawn_max=5 +#respawn_period=1800 +#stdout="/dev/null" +#stderr="/dev/null" + +# radosgw +#radosgw_respawn_max +#radosgw_respawn_delay=20 +#radosgw_respawn_period=1800 +#radosgw_stdout="/dev/null" +#radosgw_stderr="/dev/null" + +# mon +#mon_respawn_max=5 +#mon_respawn_delay=20 +#mon_respawn_period=1800 +#mon_stdout="/dev/null" +#mon_stderr="/dev/null" + +# osd +#osd_respawn_max=5 +#osd_respawn_delay=30 +#osd_respawn_period=1800 +#osd_stdout="/dev/null" +#osd_stderr="/dev/null" + +# mds +#mds_respawn_max=5 +#mds_respawn_delay=20 +#mds_respawn_period=1800 +#mds_stdout="/dev/null" +#mds_stderr="/dev/null" + +# mgr +#mgr_respawn_max=5 +#mgr_respawn_delay=20 +#mgr_respawn_period=1800 +#mgr_stdout="/dev/null" +#mgr_stderr="/dev/null" + +# initd stop timeout. +#CEPH_TERMTIMEOUT="TERM/120/KILL/5" +# +# vim:ft=gentoo-conf-d:ts=4:sts=4:sw=4:noet: diff --git a/sys-cluster/ceph/files/ceph.initd-r1.1 b/sys-cluster/ceph/files/ceph.initd-r1.1 new file mode 100644 index 000000000000..bb603259715d --- /dev/null +++ b/sys-cluster/ceph/files/ceph.initd-r1.1 @@ -0,0 +1,39 @@ +#!/sbin/openrc-run + +ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}" +extra_commands="reload" +daemon_type="${RC_SVCNAME#ceph-}" +daemon_type="${daemon_type%.*}" +daemon_id="${RC_SVCNAME#ceph-*.}" +daemon_id="${daemon_id:-0}" +command="/usr/bin/ceph-${daemon_type}" +pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid" +command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}" + +depend() { + after net ntpd ntp-client chronyd + before netmount +} + +is_type_valid() { + case ${daemon_type} in + mon|mds|osd) return 0;; + *) return 1;; + esac +} + +start_pre() { + checkpath -d -q -o ceph "$(dirname "${pidfile}")" + if ! is_type_valid ;then + eerror "Please give valid Ceph Server Type: mds, mon, osd" + return 1 + fi +} + +reload() { + ebegin "Reloading Ceph ${daemon_type}.${daemon_id}" + start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}" + eend $? +} + +# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet: diff --git a/sys-cluster/ceph/files/ceph.initd-r2 b/sys-cluster/ceph/files/ceph.initd-r2 new file mode 100644 index 000000000000..16267c58a139 --- /dev/null +++ b/sys-cluster/ceph/files/ceph.initd-r2 @@ -0,0 +1,40 @@ +#!/sbin/openrc-run + +ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}" +extra_commands="reload" +daemon_type="${RC_SVCNAME#ceph-}" +daemon_type="${daemon_type%.*}" +daemon_id="${RC_SVCNAME#ceph-*.}" +daemon_id="${daemon_id:-0}" +command="/usr/bin/ceph-${daemon_type}" +pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid" +command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}" +start_stop_daemon_args="--user ceph --group ceph" + +depend() { + after net ntpd ntp-client chronyd + before netmount +} + +is_type_valid() { + case ${daemon_type} in + mon|mds|osd) return 0;; + *) return 1;; + esac +} + +start_pre() { + checkpath -d -q -o ceph "$(dirname "${pidfile}")" + if ! is_type_valid ;then + eerror "Please give valid Ceph Server Type: mds, mon, osd" + return 1 + fi +} + +reload() { + ebegin "Reloading Ceph ${daemon_type}.${daemon_id}" + start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}" + eend $? +} + +# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet: diff --git a/sys-cluster/ceph/files/ceph.initd-r4 b/sys-cluster/ceph/files/ceph.initd-r4 new file mode 100644 index 000000000000..33e1a3002ac9 --- /dev/null +++ b/sys-cluster/ceph/files/ceph.initd-r4 @@ -0,0 +1,49 @@ +#!/sbin/openrc-run + +ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}" +extra_commands="reload" +daemon_type="${RC_SVCNAME#ceph-}" +daemon_type="${daemon_type%%.*}" +daemon_id="${RC_SVCNAME#ceph-*.}" +daemon_id="${daemon_id:-0}" +command="/usr/bin/ceph-${daemon_type}" +pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid" +command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}" +start_stop_daemon_args="--user ceph --group ceph" +retry="${CEPH_TERMTIMEOUT:-TERM/60/KILL/5}" + +depend() { + after net ntpd ntp-client chronyd + before netmount +} + +is_type_valid() { + case ${daemon_type} in + mon|mds|osd) return 0;; + *) return 1;; + esac +} + +start_pre() { + export CEPH_CONF="${ceph_conf}" + + checkpath -d -q -o ceph "$(dirname "${pidfile}")" + + if ! is_type_valid ;then + eerror "Please give valid Ceph Server Type: mds, mon, osd" + return 1 + fi + + if pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then + eerror "${daemon_type}.${daemon_id} is still running, refusing to start" + return 1 + fi +} + +reload() { + ebegin "Reloading Ceph ${daemon_type}.${daemon_id}" + start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}" + eend $? +} + +# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet: diff --git a/sys-cluster/ceph/files/ceph.initd-r5 b/sys-cluster/ceph/files/ceph.initd-r5 new file mode 100644 index 000000000000..7087de605175 --- /dev/null +++ b/sys-cluster/ceph/files/ceph.initd-r5 @@ -0,0 +1,87 @@ +#!/sbin/openrc-run + +ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}" +extra_commands="reload" +daemon_type="${RC_SVCNAME#ceph-}" +daemon_type="${daemon_type%%.*}" +daemon_id="${RC_SVCNAME#ceph-*.}" +daemon_id="${daemon_id:-0}" +: ${rundir:=/run/ceph} +: ${user:=ceph} +: ${group:=ceph} +: ${rc_ulimit:=-n 131072 -u 257256} + +pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid" +daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid" + +command="/usr/bin/${RC_SVCNAME%%.*}" +command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}" +command_args_foreground="--foreground" + +retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}" +start_stop_daemon_args="--user ${user} --group ${group}" +supervise_daemon_args="--user ${user} --group ${group}" + +: ${supervisor:=supervise-daemon} +: ${stdout:=/dev/null} +: ${stderr:=/dev/null} +: ${respawn_delay:=10} +: ${respawn_max:=5} +: ${respawn_period:=1800} + +: ${osd_respawn_delay:=15} +: ${osd_respawn_max:=10} + +: ${radosgw_respawn_max:=5} +: ${radosgw_respawn_period:=30} + +depend() { + use dns logger + after net ntpd ntp-client chronyd + before netmount +} + +is_type_valid() { + case ${daemon_type} in + mon|mds|osd|mgr|radosgw) return 0;; + *) return 1;; + esac +} + +start_pre() { + export CEPH_CONF="${ceph_conf}" + + checkpath -d -q -o "${user}:${group}" "${rundir}" + + if ! is_type_valid ;then + eerror "Please give valid Ceph Server Type: mds, mon, osd" + return 1 + + elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then + eerror "${daemon_type}.${daemon_id} is still running, refusing to start" + return 1 + fi + + local arg_name arg_val + for arg_name in std{out,err} respawn_{delay,max,period}; do + eval arg_val="\${${daemon_type}_${arg_name}}" + + if [ -z "${arg_val}" ]; then + eval arg_val="\${${arg_name}}" + else + eval "${arg_name}=\"${arg_val}\"" + fi + + if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then + supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${arg_val}" + fi + done +} + +reload() { + ebegin "Reloading Ceph ${daemon_type}.${daemon_id}" + start-stop-daemon --signal 1 "${start_stop_daemon_args}" + eend ${?} +} + +# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet: diff --git a/sys-cluster/ceph/files/ceph.logrotate b/sys-cluster/ceph/files/ceph.logrotate new file mode 100644 index 000000000000..df03f5e69a4b --- /dev/null +++ b/sys-cluster/ceph/files/ceph.logrotate @@ -0,0 +1,18 @@ +/var/log/ceph/*.log +{ + rotate 7 + daily + compress + sharedscripts + prerotate + for dmn in $(cd /run/ceph && ls *.asok 2>/dev/null); do + ceph --admin-daemon /run/ceph/${dmn} log flush 2>/dev/null >/dev/null + done + endscript + postrotate + for dmn in $(cd /run/ceph && ls *.asok 2>/dev/null); do + ceph --admin-daemon /run/ceph/${dmn} log reopen 2>/dev/null >/dev/null + done + endscript + missingok +} diff --git a/sys-cluster/ceph/files/ceph.target b/sys-cluster/ceph/files/ceph.target new file mode 100644 index 000000000000..60734baff689 --- /dev/null +++ b/sys-cluster/ceph/files/ceph.target @@ -0,0 +1,4 @@ +[Unit] +Description=ceph target allowing to start/stop all ceph*@.service instances at once +[Install] +WantedBy=multi-user.target diff --git a/sys-cluster/ceph/files/envd-tcmalloc b/sys-cluster/ceph/files/envd-tcmalloc new file mode 100644 index 000000000000..bdb09670c636 --- /dev/null +++ b/sys-cluster/ceph/files/envd-tcmalloc @@ -0,0 +1 @@ +TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=134217728 diff --git a/sys-cluster/ceph/files/rbdmap.initd b/sys-cluster/ceph/files/rbdmap.initd new file mode 100644 index 000000000000..9313cf658863 --- /dev/null +++ b/sys-cluster/ceph/files/rbdmap.initd @@ -0,0 +1,122 @@ +#!/sbin/openrc-run + +DESC="RBD Mapping:" +RBDMAPFILE="/etc/ceph/rbdmap" + +extra_started_commands="reload" + +depend() { + need localmount net + before netmount +} + +start() { + + if [ ! -f "${RBDMAPFILE}" ]; then + ewarn "$DESC : No ${RBDMAPFILE} found." + exit 0 + fi + + RET=0 + # Read /etc/ceph/rbdmap to create non-existant mapping + while read DEV PARAMS; do + case "$DEV" in + ""|\#*) + continue + ;; + */*) + ;; + *) + DEV=rbd/$DEV + ;; + esac + ebegin "${DESC} '${DEV}'" + newrbd="" + MAP_RV="" + RET_OP=0 + OIFS=$IFS + IFS=',' + for PARAM in ${PARAMS[@]}; do + CMDPARAMS="${CMDPARAMS} --$(echo ${PARAM} | tr '=' ' ')" + done + IFS=$OIFS + if [ ! -b /dev/rbd/${DEV} ]; then + MAP_RV=$(rbd map ${DEV} ${CMDPARAMS} 2>&1) + if [ $? -eq 0 ]; then + newrbd="yes" + else + RET=$((${RET}+$?)) + RET_OP=1 + fi + fi + eend ${RET_OP} "${MAP_RV}" + + if [ "$newrbd" ]; then + ## Mount new rbd + MNT_RV="" + mount --fake /dev/rbd/${DEV} >>/dev/null 2>&1 \ + && MNT_RV=$(mount -vn /dev/rbd/${DEV} 2>&1) + [ -n "${MNT_RV}" ] && einfo "mount: ${MNT_RV}" + + ## post-mapping + if [ -x "/etc/ceph/rbd.d/${DEV}" ]; then + einfo "RBD Running post-map hook '/etc/ceph/rbd.d/${DEV}'" + /etc/ceph/rbd.d/${DEV} map "/dev/rbd/${DEV}" + fi + fi + done < ${RBDMAPFILE} + eend ${RET} +} + +stop() { + + RET=0 + ## Unmount and unmap all rbd devices + if ls /dev/rbd[0-9]* >/dev/null 2>&1; then + for DEV in /dev/rbd[0-9]*; do + ## pre-unmapping + for L in $(find /dev/rbd -type l); do + LL="${L##/dev/rbd/}" + if [ "$(readlink -f $L)" = "${DEV}" ] \ + && [ -x "/etc/ceph/rbd.d/${LL}" ]; then + einfo "RBD pre-unmap: '${DEV}' hook '/etc/ceph/rbd.d/${LL}'" + /etc/ceph/rbd.d/${LL} unmap "$L" + break + fi + done + + ebegin "Unmapping RBD device: '${DEV}'" + UMNT_RV="" + UMAP_RV="" + RET_OP=0 + MNT=$(findmnt --mtab --source ${DEV} --noheadings | awk '{print $1'}) + if [ -n "${MNT}" ]; then + einfo "un-mounting '${MNT}'" + UMNT_RV=$(umount "${MNT}" 2>&1) + fi + if mountpoint -q "${MNT}"; then + ## Un-mounting failed. + RET_OP=1 + RET=$((${RET}+1)) + else + ## Un-mapping. + UMAP_RV=$(rbd unmap $DEV 2>&1) + if [ $? -ne 0 ]; then + RET=$((${RET}+$?)) + RET_OP=1 + fi + fi + eend ${RET_OP} "${UMAP_RV}" + [ -n "${UMNT_RV}" ] && einfo "${UMNT_RV}" + done + fi + eend ${RET} +} + +reload() { + start +} + +status() { + rbd showmapped +} diff --git a/sys-cluster/ceph/files/sysctld b/sys-cluster/ceph/files/sysctld new file mode 100644 index 000000000000..4d133264f554 --- /dev/null +++ b/sys-cluster/ceph/files/sysctld @@ -0,0 +1,2 @@ +# up the global pid max for ceph +kernel.pid_max = 257256 diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml new file mode 100644 index 000000000000..be0d84faee0b --- /dev/null +++ b/sys-cluster/ceph/metadata.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>chutzpah@gentoo.org</email> + <name>Patrick McLean</name> + <description>Co Maintainer</description> + </maintainer> + <maintainer type="person"> + <email>dlan@gentoo.org</email> + <name>Yixun Lan</name> + <description>Co Maintainer</description> + </maintainer> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription> +Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. +</longdescription> + <use> + <flag name="cryptopp">Use <pkg>dev-libs/crypto++</pkg> for cryptography</flag> + <flag name="cephfs">Build support for cephfs, a POSIX compatible filesystem built on top of ceph</flag> + <flag name="fuse">Build fuse client</flag> + <flag name="libatomic">Use libatomic instead of builtin atomic operations</flag> + <flag name="libaio">Use libaio as asynchronous input/output library</flag> + <flag name="lttng">Add support for LTTng</flag> + <flag name="babeltrace">Add support for LTTng babeltrace</flag> + <flag name="mgr">Build the ceph-mgr daemon</flag> + <flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag> + <flag name="radosgw">Add radosgw support</flag> + <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag> + <flag name="xfs">Add xfs support</flag> + <flag name="zfs">Add zfs support</flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/charm/Manifest b/sys-cluster/charm/Manifest new file mode 100644 index 000000000000..98400453d2ae --- /dev/null +++ b/sys-cluster/charm/Manifest @@ -0,0 +1,21 @@ +AUX charm-6.5.1-CkReductionMgr.patch 1441 SHA256 35ecf0d8727004cec2fe26ea04764ef6d923d589e63fbc5f77fc9c858c72d7e8 SHA512 133a7a7d78c50f7966425f8a0f66cc22916a72de247c641fbd65f9e823a9f4044b9946bbd7e175cafde2b5d536820e2a65cd75afb593c65f11f1d7814c6c2dff WHIRLPOOL 1bd758ef9e68ff0427414304d9d4bdc004357e79c87b38bc54443a76d2527ac96d24bfa8e6a3bda033888ca984124402fc373a64c7b7ba9bf0ddd23d4eecbab5 +AUX charm-6.5.1-charmc-gentoo.patch 1305 SHA256 b1fbf52d856805101487d0cb20f3ebd36f2ae8123422e7a014cbc5fbaddc8327 SHA512 994becbf0e40c0e181222a854df98e3c7b571b517a24a0548ad323ac116f146f11b7d2e6ec4f8289ffb5926dda57d92831412e9367951387d1e224208306ed03 WHIRLPOOL 3fdae548a9d0ad0672d08a2a15711dd07da6e1c350ac7a2d95a9858b815cbff55a7e3767f957923dd9eee243c310553f35101f229eb9ac4f048165f28dc52dc5 +AUX charm-6.5.1-cleanup-config.patch 1982 SHA256 b8f11377869671705694cd940767cc44981af66df9cdb9f12c4a5d5c1d1b6710 SHA512 fb8817b3a3593ff34665a3d1a31dc2f286ad4fbd81b36a136391c6a75129bc7e93707f794805c90d07119a67d937ace2d1ce1955bd940048ba5cd2282bcb08e9 WHIRLPOOL d05bc8663be87d9191e1fe6c5ad5954298d59c9746846d1b41d47e263cf47a99349f2ca258301dac8793f1305b0bc46e7855aeb8510d5ece960a677de01e4a71 +AUX charm-6.5.1-fix-markupSanitizer.patch 6439 SHA256 8408aa89e59e72fae02179e738a924240a6a89b9eb162ebb746bb54e16be496f SHA512 fb1061dcd6af95cf147e84a7d49d32be03ac8a23378387dec5f340064b8db5b0531fa105c9745bdc9ec947b59f3384a3c878298f0380f9a12c79329c203b81f2 WHIRLPOOL 8da747d32bc891db2bd224fc1456d69a66913c36083fab6c5770f7a636252a29119deeb0142b1030a612ac251d38d635e435a771e6bb1abbbeb0a3e1b56b3c29 +AUX charm-6.5.1-fix-navmenuGenerator.patch 856 SHA256 ca39bcc048f91b66dfff009744320c231ec98e12b67f4645ee3407b4210d1c53 SHA512 c71d8a4113b494a0a0285cfeba197475ba706e00f002eb6d164df4a8ac587a6d259609b8090a1587397f10cc70d89365a6a6a660a4f14876968225acdbbf0db2 WHIRLPOOL efaaa2e88329a4515642331a99da0975fc7c1c9dfdc594c8b5d039c5e9b8d391dbc9ddceffae9a1e665f6d8429b194d533dc0927577801a2d23a1ea1861d2d66 +AUX charm-6.5.1-fix-string-parsing.patch 1658 SHA256 e6223fbb97685715ee9e1f02bb5a11cb98957046e7a73a2e2264c650b43fcb1b SHA512 81f84aa219c2e709cac252245ab43cde23a10ddd8f1c9717c77d32f1e62a88c1872452ac91d9dfb83f6a87570e9814272952acef7ac7b7264793115455e5a87e WHIRLPOOL 1858cbe6bd5d8765757b0ccf5343248b0d874d67857f01d3ec137c145aef685749dd82e3337f9d2cd81f3d00c78c9c661faa228a6ad5588942e6ef744fa3aeee +AUX charm-6.5.1-static-library-fix.patch 17080 SHA256 1cebaeb901c88a4f35a148fd51ce0c3e8050946f46b25575adad56c44296c99e SHA512 8209a8af4e316a5b961500e70450a87db2ceea9dd409cb73cdf8133dc4ba53e1bb73dfa7a2fd1c819f9a0d37b1ee9760bdda181aa73e2e5fe370d53e12cec82a WHIRLPOOL a782704014012fcfe7b28ce01514846d390c34ceadf64ef27eeb3e8e724aaf490c88ac0d8f093f3d1c8628769a58d7844849ba2587ed0288a733aac17bf40b12 +DIST charm-6.5.1.tar.gz 19265741 SHA256 68aa43e2a6e476e116a7e80e385c25c6ac6497807348025505ba8bfa256ed34a SHA512 1a25c76f3699e30d0614e85f39ea0f594896cbc299b0e670c52fcea176171e8834ea7f9ba3ba0c1957598b0f1cbfa6a4ed9279ae0c030fa32faa6acca879b694 WHIRLPOOL 0def514af09c137b951842250fe112c68e573e8eff7d5911a71ccbe55cc38b319f1d9c4587e706777f748b0c1ef69b63c4161bbf663b05984a566ff325fa49c3 +DIST charm-6.6.0.tar.gz 18779545 SHA256 c916010f2d4cc2c6bd30ea19764839d0298fb56d1696d8ff08d9fa9a61dfb1c9 SHA512 fd6cc2fa8919198fdceb8187101882a61fe974fed3ddd65b102c95b850877429fe0675a55d54075e4a2accad134f615ff717a7dd39fbd9af5fa65a5c87d34e0b WHIRLPOOL 97cfbb45c9456e79d3b6f868c6acfbf8c8701f87743139a17cdb25fbb3a90fdf9a137e8da04df0ab25569ca1b9307c910fe02dc61a84b247bf81d112e0547317 +DIST charm-6.6.1.tar.gz 125697465 SHA256 2aa16fd3015dce0a0932ab5253578a72ddbcb889bc0d23584c42b28446915467 SHA512 139409fff76ac9811b2efe6605579a877738f873b112d4e4da25f079598f6c238cf76e677ed3cf3f92aa59f29710feea3e96e59e6010e186e4191dfa4c3ef92e WHIRLPOOL d56dd8a2cf11152bcc8dd5d1bd166d28bebca02e81bb6fdc3de6c5bf4a6bdcd72f7b854cf42576d32d23fe994a207451ebca44ac9cf6a5d8b982d2e4141d422b +DIST charm-6.7.1.tar.gz 18843211 SHA256 744a093874fbac03b6ae8be3ce434eff46b2ee778561e860802ed578e0810fdf SHA512 08581ad58ea737bb118ad1d382feeae2cec2ec0fd8ea1a227e2cb8080c40ba0d043de6c867de0dfa470b2291638b1b6bf6d52c89b4e4b6c9f1fdd824ac601436 WHIRLPOOL efb8de98cbef4f2842877725160aa4371f444a0901f7064cc07a184790516dda1882341cf59500506e41263eaaed2eb585f80b4f29744b680794b62f103d9c1d +EBUILD charm-6.5.1-r1.ebuild 5248 SHA256 93b0162874e938d9f7db02e04da119fba3ac3fd4582c91a8813c38b1a4fb60ee SHA512 bca23f56b551d6fb40328f8bdd25130c34f84e6b1e11236749703a0fdedbdfe40b566f13f8e3cbe07c7668582ddd0bbe880242955516c1dfdc5075571be0a573 WHIRLPOOL be1fd9b23b0dc470c294ca6453293c15d932915d42024db38d3d532a21dbe2396c0fd8026498bed5b0830725d2d861b7c266b3ae8dc2afaf3167ecb8eb0b28d5 +EBUILD charm-6.5.1-r2.ebuild 5311 SHA256 7494d776679391f581bcea53500555c7499b0e5b7e770432fd4cc5123074e94e SHA512 8cbea2a9aeab22ffbee26659991c8caed1b8545985df91e82375995b044a18be2dc3a14183260342eb7665c81bfce83e7d04f59346b718ef9aafd1f07d7c13ae WHIRLPOOL 5099624affbc9e7a7f59800e5e33bd3ed0e5e43aebdedbca3ddbf63b002152c98c035657e920d042a1ba03c5a9a0c71080d3f6445c4fcbacc2a69d28d8f1810f +EBUILD charm-6.5.1-r3.ebuild 5330 SHA256 e634172e060a4bdf5407b7f870839e40694542077e904aa2d805b845578758a7 SHA512 d31c2c5eca23229b208ec9e043b5e8b23e86341cbc24ab2b588d84a094c9f543ff63c4b8fc24a11eb4c4d55db7ad66917dc620b275ce5dd137276a6cbcb649cb WHIRLPOOL cecd50e2fc27684cc93df1af97ef0a461f1c2ff04c6cc4ef6cba87697b5e5f05b51d293c7173477e9cbeceb07d42b8f827f3fbf0cefba3d409aecba962e818b4 +EBUILD charm-6.6.0-r1.ebuild 5578 SHA256 3627c9808de5abbb146da0ee8f02b7c451a63b1167673f203b744cd4e3457099 SHA512 f049285b990d1627f4bdd2dc5f0bc5ae64bed61769f8a81787a6137ad8ad50ab5c0e80038d77c00a25523085e9ba36f3582217894e3b215b1f031c3a8f081567 WHIRLPOOL bbb601061bff6e806f3ded5283a95f849d4b4e2be95229e0434220330ea0e92f2b2aebd8c27cd387308d34890441f9ab1eda80b93d187a05dce980a3d57dc5bf +EBUILD charm-6.6.0.ebuild 5572 SHA256 a725c9221d7fc418fd48db425cbd5548e7e41b6d62247912d3eeba4ee244128c SHA512 6947f911efc5d756537ff8c06754e0f9580f8f4b9e7ee33ea96be3144ad4537da21228ecfd1321f972d97979fcf556e4f3b2646b11de7717006b4491462fafa7 WHIRLPOOL 7a1123746a0f25051751011154000ad6c2016041d50b1eace287db96a0701eb9c5ec176838fa961f4043c580d1dd01b665ccf8274ee7683af4e2ce5502d0afbb +EBUILD charm-6.6.1.ebuild 5781 SHA256 d5c8b4590f84e184a7127861ab495f4b87bd00606b5c4d078925ba42bd400673 SHA512 1c278e8e52860772ebbae872d5f172c0e69932baf8555085572d278402782d913ba647f20ef6789d26265f78272d510d5a351047df419299e322f3b0e5217474 WHIRLPOOL b7965138d62949eebee75cbc6a3d3f6ad9f4f397d488a0fcf28633356108b1549b8feac0610c3a3c6936be02ec3f5917dac9aaf981a5406c2ed0f3e961d0c9fb +EBUILD charm-6.7.1.ebuild 5598 SHA256 0062c8eca7889e002ad33c86604e577da96fc46a85196e76d0ce75e099457d79 SHA512 b40081a208590bda948ac87350eed55566c6548f273c0b80b16bdf5b68a5ae1fb8a46595960f0cf91c7a5c91083e159564a7cc51db5ed301dac296f77fb58f8b WHIRLPOOL 403539022227fd9b7381959717c4e946f8186b1b90250f4e7bf88222c726315946737536de89ef93e148c00f6202f601890f40d1d34d1d1ca6c88900ca868976 +MISC ChangeLog 3394 SHA256 766e7d9a1b2271deba9f77949ba514f4218ea86c95ef16ba6cd29b8ca00519d8 SHA512 bc78cb966005f210c9de406228944a93f9c2c95774b1253a0013e2e187573e5d4b677d70941491c95e847028d6cd5f246afe7da16c2af06c6d1247f3fe05471c WHIRLPOOL 7ac9ec7dda60237c6e0413d2d03781a1aeb0e1fcdbdfd8cf7ff1adf5dbca4bd1bf03b6969383f23679eeffe6074d00f68fac1e2990489175995a81d73792ee0f +MISC ChangeLog-2015 7846 SHA256 3f60157b6e68e52f98acbb7f51a390e26e6a9e18102fcf895b2142e1d2208a80 SHA512 9dc9e0a8b75ef75702335313571645521dbf6454baa8cb7cebe86f8368f30b1a7436107c5874223252409026cdbbb409679d20d86cdf0ee74e388ea0002701b8 WHIRLPOOL 190437d58cee19920f311e89292af2ba857bfff3cd7eb7cd5e88701fe9ad6e60c41c16f97c5caf0a4cfbf320683f6d7f7510cfc6b53661eb83e24fbe264e9b4c +MISC metadata.xml 1012 SHA256 d67875d615640f797d90aaae080ca18496f609e5d768a7b96c3b6ab5aaa29224 SHA512 e8fd7cfac25aa8428adbe77922140eee5621b18afa5f10d1ed0c7b14960affc3a1dc0896b7ea034001855ef3e1c1f12791cada0f959eb210ba78f1be44b89ffc WHIRLPOOL bca1370c270a66b0aca4b7ffde7d78a3aa8e0d3c7a4f48deedb24b55cae264422b727a12d7ae22c74bd01132a6ff8246f1ad04d52a829af05e095dd8783f2c7c diff --git a/sys-cluster/charm/charm-6.5.1-r1.ebuild b/sys-cluster/charm/charm-6.5.1-r1.ebuild new file mode 100644 index 000000000000..4f82e15a3eba --- /dev/null +++ b/sys-cluster/charm/charm-6.5.1-r1.ebuild @@ -0,0 +1,207 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils flag-o-matic fortran-2 multilib toolchain-funcs python-single-r1 + +DESCRIPTION="Message-passing parallel language and runtime system" +HOMEPAGE="http://charm.cs.uiuc.edu/" +SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz" + +LICENSE="charm" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi numa smp static-libs syncft tcp" + +RDEPEND="mpi? ( virtual/mpi )" +DEPEND=" + ${RDEPEND} + doc? ( + >=app-text/poppler-0.12.3-r3[utils] + dev-tex/latex2html + virtual/tex-base + >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + media-libs/netpbm + ${PYTHON_DEPS} + )" + +REQUIRED_USE=" + doc? ( ${PYTHON_REQUIRED_USE} ) + cmkopt? ( !charmdebug !charmtracing ) + charmproduction? ( !charmdebug !charmtracing )" + +FORTRAN_STANDARD="90" + +get_opts() { + local CHARM_OPTS + + # TCP instead of default UDP for socket comunication + # protocol + CHARM_OPTS+="$(usex tcp ' tcp' '')" + + # enable direct SMP support using shared memory + CHARM_OPTS+="$(usex smp ' smp' '')" + + CHARM_OPTS+="$(usex mlogft ' mlogft' '')" + CHARM_OPTS+="$(usex syncft ' syncft' '')" + + # Build shared libraries by default. + CHARM_OPTS+=" --build-shared" + + if use charmproduction; then + CHARM_OPTS+=" --with-production" + else + if use charmdebug; then + CHARM_OPTS+=" --enable-charmdebug" + fi + + if use charmtracing; then + CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread" + fi + fi + + CHARM_OPTS+="$(usex numa ' --with-numa' '')" + echo $CHARM_OPTS +} + +src_prepare() { + sed \ + -e "/CMK_CF90/s:f90:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \ + -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \ + -e '/CMK_F90_MODINC/s:-p:-I:g' \ + -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \ + -i src/arch/$(usex mpi "mpi" "net")-linux*/*sh || die + + sed \ + -e "s:-o conv-cpm:${LDFLAGS} &:g" \ + -e "s:-o charmxi:${LDFLAGS} &:g" \ + -e "s:-o charmrun-silent:${LDFLAGS} &:g" \ + -e "s:-o charmrun-notify:${LDFLAGS} &:g" \ + -e "s:-o charmrun:${LDFLAGS} &:g" \ + -e "s:-o charmd_faceless:${LDFLAGS} &:g" \ + -e "s:-o charmd:${LDFLAGS} &:g" \ + -i \ + src/scripts/Makefile \ + src/arch/net/charmrun/Makefile || die + + # CMK optimization + use cmkopt && append-cppflags -DCMK_OPTIMIZE=1 + + # Fix QA notice. Filed report with upstream. + append-cflags -DALLOCA_H + + epatch "${FILESDIR}/charm-6.5.1-cleanup-config.patch" + epatch "${FILESDIR}/charm-6.5.1-CkReductionMgr.patch" + epatch "${FILESDIR}/charm-6.5.1-fix-string-parsing.patch" + epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch" +} + +src_compile() { + local mybuildoptions="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '') $(get_opts) ${MAKEOPTS} ${CFLAGS}" + + # Build charmm++ first. + einfo "running ./build charm++ ${mybuildoptions}" + ./build charm++ ${mybuildoptions} || die "Failed to build charm++" + + # make pdf/html docs + if use doc; then + python-single-r1_pkg_setup + python_fix_shebang "${S}/doc" + einfo "forcing ${EPYTHON}" + emake -j1 -C doc/charm++ + fi +} + +src_test() { + make -C tests/charm++ test TESTOPTS="++local" || die +} + +src_install() { + # Make charmc play well with gentoo before we move it into /usr/bin. This + # patch cannot be applied during src_prepare() because the charmc wrapper + # is used during building. + epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch" + + sed -e "s|gentoo-include|${P}|" \ + -e "s|gentoo-libdir|$(get_libdir)|g" \ + -e "s|VERSION|${P}/VERSION|" \ + -i ./src/scripts/charmc || die "failed patching charmc script" + + # In the following, some of the files are symlinks to ../tmp which we need + # to dereference first (see bug 432834). + + local i + + # Install binaries. + for i in bin/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dobin "${i}" + done + + # Install headers. + insinto /usr/include/${P} + for i in include/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + doins "${i}" + done + + # Install static libs. Charm has a lot of .o "libs" that it requires at + # runtime. + if use static-libs; then + for i in lib/*.{a,o}; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dolib "${i}" + done + fi + + # Install shared libs. + for i in lib_so/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dolib.so "${i}" + done + + # Basic docs. + dodoc CHANGES README + + # Install examples. + if use examples; then + find examples/ -name 'Makefile' | xargs sed \ + -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \ + die "Failed to fix examples" + find examples/ -name 'Makefile' | xargs sed \ + -r "s:./charmrun:./charmrun ++local:" -i || \ + die "Failed to fix examples" + insinto /usr/share/doc/${PF}/examples + doins -r examples/charm++/* + fi + + # Install pdf/html docs + if use doc; then + cd "${S}/doc/charm++" + # Install pdfs. + insinto /usr/share/doc/${PF}/pdf + doins *.pdf + # Install html. + docinto html + dohtml -r manual/* + fi +} + +pkg_postinst() { + einfo "Please test your charm installation by copying the" + einfo "content of /usr/share/doc/${PF}/examples to a" + einfo "temporary location and run 'make test'." +} diff --git a/sys-cluster/charm/charm-6.5.1-r2.ebuild b/sys-cluster/charm/charm-6.5.1-r2.ebuild new file mode 100644 index 000000000000..b66af8c38b24 --- /dev/null +++ b/sys-cluster/charm/charm-6.5.1-r2.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils flag-o-matic fortran-2 multilib toolchain-funcs python-single-r1 + +DESCRIPTION="Message-passing parallel language and runtime system" +HOMEPAGE="http://charm.cs.uiuc.edu/" +SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz" + +LICENSE="charm" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi numa smp static-libs syncft tcp" + +RDEPEND="mpi? ( virtual/mpi )" +DEPEND=" + ${RDEPEND} + doc? ( + >=app-text/poppler-0.12.3-r3[utils] + dev-tex/latex2html + virtual/tex-base + >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + media-libs/netpbm + ${PYTHON_DEPS} + )" + +REQUIRED_USE=" + doc? ( ${PYTHON_REQUIRED_USE} ) + cmkopt? ( !charmdebug !charmtracing ) + charmproduction? ( !charmdebug !charmtracing )" + +FORTRAN_STANDARD="90" + +get_opts() { + local CHARM_OPTS + + # TCP instead of default UDP for socket comunication + # protocol + CHARM_OPTS+="$(usex tcp ' tcp' '')" + + # enable direct SMP support using shared memory + CHARM_OPTS+="$(usex smp ' smp' '')" + + CHARM_OPTS+="$(usex mlogft ' mlogft' '')" + CHARM_OPTS+="$(usex syncft ' syncft' '')" + + # Build shared libraries by default. + CHARM_OPTS+=" --build-shared" + + if use charmproduction; then + CHARM_OPTS+=" --with-production" + else + if use charmdebug; then + CHARM_OPTS+=" --enable-charmdebug" + fi + + if use charmtracing; then + CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread" + fi + fi + + CHARM_OPTS+="$(usex numa ' --with-numa' '')" + echo $CHARM_OPTS +} + +src_prepare() { + sed \ + -e "/CMK_CF90/s:f90:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \ + -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \ + -e '/CMK_F90_MODINC/s:-p:-I:g' \ + -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \ + -i src/arch/$(usex mpi "mpi" "net")-linux*/*sh || die + + sed \ + -e "s:-o conv-cpm:${LDFLAGS} &:g" \ + -e "s:-o charmxi:${LDFLAGS} &:g" \ + -e "s:-o charmrun-silent:${LDFLAGS} &:g" \ + -e "s:-o charmrun-notify:${LDFLAGS} &:g" \ + -e "s:-o charmrun:${LDFLAGS} &:g" \ + -e "s:-o charmd_faceless:${LDFLAGS} &:g" \ + -e "s:-o charmd:${LDFLAGS} &:g" \ + -i \ + src/scripts/Makefile \ + src/arch/net/charmrun/Makefile || die + + # CMK optimization + use cmkopt && append-cppflags -DCMK_OPTIMIZE=1 + + # Fix QA notice. Filed report with upstream. + append-cflags -DALLOCA_H + + epatch "${FILESDIR}/charm-6.5.1-cleanup-config.patch" + epatch "${FILESDIR}/charm-6.5.1-CkReductionMgr.patch" + epatch "${FILESDIR}/charm-6.5.1-fix-string-parsing.patch" + epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch" + epatch "${FILESDIR}/charm-6.5.1-static-library-fix.patch" +} + +src_compile() { + local mybuildoptions="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '') $(get_opts) ${MAKEOPTS} -j1 ${CFLAGS}" + + # Build charmm++ first. + einfo "running ./build charm++ ${mybuildoptions}" + ./build charm++ ${mybuildoptions} || die "Failed to build charm++" + + # make pdf/html docs + if use doc; then + python-single-r1_pkg_setup + python_fix_shebang "${S}/doc" + einfo "forcing ${EPYTHON}" + emake -j1 -C doc/charm++ + fi +} + +src_test() { + make -C tests/charm++ test TESTOPTS="++local" || die +} + +src_install() { + # Make charmc play well with gentoo before we move it into /usr/bin. This + # patch cannot be applied during src_prepare() because the charmc wrapper + # is used during building. + epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch" + + sed -e "s|gentoo-include|${P}|" \ + -e "s|gentoo-libdir|$(get_libdir)|g" \ + -e "s|VERSION|${P}/VERSION|" \ + -i ./src/scripts/charmc || die "failed patching charmc script" + + # In the following, some of the files are symlinks to ../tmp which we need + # to dereference first (see bug 432834). + + local i + + # Install binaries. + for i in bin/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dobin "${i}" + done + + # Install headers. + insinto /usr/include/${P} + for i in include/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + doins "${i}" + done + + # Install static libs. Charm has a lot of .o "libs" that it requires at + # runtime. + if use static-libs; then + for i in lib/*.{a,o}; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dolib "${i}" + done + fi + + # Install shared libs. + for i in lib_so/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dolib.so "${i}" + done + + # Basic docs. + dodoc CHANGES README + + # Install examples. + if use examples; then + find examples/ -name 'Makefile' | xargs sed \ + -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \ + die "Failed to fix examples" + find examples/ -name 'Makefile' | xargs sed \ + -r "s:./charmrun:./charmrun ++local:" -i || \ + die "Failed to fix examples" + insinto /usr/share/doc/${PF}/examples + doins -r examples/charm++/* + fi + + # Install pdf/html docs + if use doc; then + cd "${S}/doc/charm++" + # Install pdfs. + insinto /usr/share/doc/${PF}/pdf + doins *.pdf + # Install html. + docinto html + dohtml -r manual/* + fi +} + +pkg_postinst() { + einfo "Please test your charm installation by copying the" + einfo "content of /usr/share/doc/${PF}/examples to a" + einfo "temporary location and run 'make test'." +} diff --git a/sys-cluster/charm/charm-6.5.1-r3.ebuild b/sys-cluster/charm/charm-6.5.1-r3.ebuild new file mode 100644 index 000000000000..5cf9b4f6cb0e --- /dev/null +++ b/sys-cluster/charm/charm-6.5.1-r3.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils flag-o-matic fortran-2 multilib toolchain-funcs python-any-r1 + +DESCRIPTION="Message-passing parallel language and runtime system" +HOMEPAGE="http://charm.cs.uiuc.edu/" +SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz" + +LICENSE="charm" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi numa smp static-libs syncft tcp" + +RDEPEND="mpi? ( virtual/mpi )" +DEPEND=" + ${RDEPEND} + doc? ( + >=app-text/poppler-0.12.3-r3[utils] + dev-tex/latex2html + virtual/tex-base + $(python_gen_any_dep ' + >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + ') + media-libs/netpbm + ${PYTHON_DEPS} + )" + +REQUIRED_USE=" + cmkopt? ( !charmdebug !charmtracing ) + charmproduction? ( !charmdebug !charmtracing )" + +FORTRAN_STANDARD="90" + +pkg_setup() { + use doc && python-any-r1_pkg_setup +} + +get_opts() { + local CHARM_OPTS + + # TCP instead of default UDP for socket comunication + # protocol + CHARM_OPTS+="$(usex tcp ' tcp' '')" + + # enable direct SMP support using shared memory + CHARM_OPTS+="$(usex smp ' smp' '')" + + CHARM_OPTS+="$(usex mlogft ' mlogft' '')" + CHARM_OPTS+="$(usex syncft ' syncft' '')" + + # Build shared libraries by default. + CHARM_OPTS+=" --build-shared" + + if use charmproduction; then + CHARM_OPTS+=" --with-production" + else + if use charmdebug; then + CHARM_OPTS+=" --enable-charmdebug" + fi + + if use charmtracing; then + CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread" + fi + fi + + CHARM_OPTS+="$(usex numa ' --with-numa' '')" + echo $CHARM_OPTS +} + +src_prepare() { + sed \ + -e "/CMK_CF90/s:f90:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \ + -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \ + -e '/CMK_F90_MODINC/s:-p:-I:g' \ + -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \ + -i src/arch/$(usex mpi "mpi" "net")-linux*/*sh || die + + sed \ + -e "s:-o conv-cpm:${LDFLAGS} &:g" \ + -e "s:-o charmxi:${LDFLAGS} &:g" \ + -e "s:-o charmrun-silent:${LDFLAGS} &:g" \ + -e "s:-o charmrun-notify:${LDFLAGS} &:g" \ + -e "s:-o charmrun:${LDFLAGS} &:g" \ + -e "s:-o charmd_faceless:${LDFLAGS} &:g" \ + -e "s:-o charmd:${LDFLAGS} &:g" \ + -i \ + src/scripts/Makefile \ + src/arch/net/charmrun/Makefile || die + + # CMK optimization + use cmkopt && append-cppflags -DCMK_OPTIMIZE=1 + + # Fix QA notice. Filed report with upstream. + append-cflags -DALLOCA_H + + epatch "${FILESDIR}/charm-6.5.1-cleanup-config.patch" + epatch "${FILESDIR}/charm-6.5.1-CkReductionMgr.patch" + epatch "${FILESDIR}/charm-6.5.1-fix-string-parsing.patch" + epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch" + epatch "${FILESDIR}/charm-6.5.1-fix-markupSanitizer.patch" + epatch "${FILESDIR}/charm-6.5.1-static-library-fix.patch" +} + +src_compile() { + local mybuildoptions="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '') $(get_opts) ${MAKEOPTS} -j1 ${CFLAGS}" + + # Build charmm++ first. + einfo "running ./build charm++ ${mybuildoptions}" + ./build charm++ ${mybuildoptions} || die "Failed to build charm++" + + # make pdf/html docs + if use doc; then + emake -j1 -C doc/charm++ + fi +} + +src_test() { + make -C tests/charm++ test TESTOPTS="++local" || die +} + +src_install() { + # Make charmc play well with gentoo before we move it into /usr/bin. This + # patch cannot be applied during src_prepare() because the charmc wrapper + # is used during building. + epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch" + + sed -e "s|gentoo-include|${P}|" \ + -e "s|gentoo-libdir|$(get_libdir)|g" \ + -e "s|VERSION|${P}/VERSION|" \ + -i ./src/scripts/charmc || die "failed patching charmc script" + + # In the following, some of the files are symlinks to ../tmp which we need + # to dereference first (see bug 432834). + + local i + + # Install binaries. + for i in bin/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dobin "${i}" + done + + # Install headers. + insinto /usr/include/${P} + for i in include/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + doins "${i}" + done + + # Install static libs. Charm has a lot of .o "libs" that it requires at + # runtime. + if use static-libs; then + for i in lib/*.{a,o}; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dolib "${i}" + done + fi + + # Install shared libs. + for i in lib_so/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dolib.so "${i}" + done + + # Basic docs. + dodoc CHANGES README + + # Install examples. + if use examples; then + find examples/ -name 'Makefile' | xargs sed \ + -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \ + die "Failed to fix examples" + find examples/ -name 'Makefile' | xargs sed \ + -r "s:./charmrun:./charmrun ++local:" -i || \ + die "Failed to fix examples" + insinto /usr/share/doc/${PF}/examples + doins -r examples/charm++/* + fi + + # Install pdf/html docs + if use doc; then + cd "${S}/doc/charm++" + # Install pdfs. + insinto /usr/share/doc/${PF}/pdf + doins *.pdf + # Install html. + docinto html + dohtml -r manual/* + fi +} + +pkg_postinst() { + einfo "Please test your charm installation by copying the" + einfo "content of /usr/share/doc/${PF}/examples to a" + einfo "temporary location and run 'make test'." +} diff --git a/sys-cluster/charm/charm-6.6.0-r1.ebuild b/sys-cluster/charm/charm-6.6.0-r1.ebuild new file mode 100644 index 000000000000..a8d9206fc52c --- /dev/null +++ b/sys-cluster/charm/charm-6.6.0-r1.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_STANDARD="90" +PYTHON_COMPAT=( python{2_7,3_4} ) + +inherit eutils flag-o-matic fortran-2 multilib multiprocessing python-any-r1 toolchain-funcs + +DESCRIPTION="Message-passing parallel language and runtime system" +HOMEPAGE="http://charm.cs.uiuc.edu/" +SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz" + +LICENSE="charm" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi numa smp static-libs syncft tcp" + +RDEPEND="mpi? ( virtual/mpi )" +DEPEND=" + ${RDEPEND} + doc? ( + >=app-text/poppler-0.12.3-r3[utils] + dev-tex/latex2html + virtual/tex-base + $(python_gen_any_dep ' + >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + ') + media-libs/netpbm + ${PYTHON_DEPS} + )" + +REQUIRED_USE=" + cmkopt? ( !charmdebug !charmtracing ) + charmproduction? ( !charmdebug !charmtracing )" + +pkg_setup() { + use doc && python-any-r1_pkg_setup +} + +get_opts() { + local CHARM_OPTS + + # TCP instead of default UDP for socket comunication + # protocol + CHARM_OPTS+="$(usex tcp ' tcp' '')" + + # enable direct SMP support using shared memory + CHARM_OPTS+="$(usex smp ' smp' '')" + + CHARM_OPTS+="$(usex mlogft ' mlogft' '')" + CHARM_OPTS+="$(usex syncft ' syncft' '')" + + # Build shared libraries by default. + CHARM_OPTS+=" --build-shared" + + if use charmproduction; then + CHARM_OPTS+=" --with-production" + else + if use charmdebug; then + CHARM_OPTS+=" --enable-charmdebug" + fi + + if use charmtracing; then + CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread" + fi + fi + + CHARM_OPTS+="$(usex numa ' --with-numa' '')" + echo $CHARM_OPTS +} + +src_prepare() { + sed \ + -e "/CMK_CF77/s:[fg]77:$(usex mpi "mpif90" "$(tc-getF77)"):g" \ + -e "/CMK_CF90/s:f95:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/CMK_CF90/s:\`which f90.*$::g" \ + -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \ + -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \ + -e '/CMK_F90_MODINC/s:-p:-I:g' \ + -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \ + -i src/arch/$(usex mpi "mpi" "net")*-linux*/*sh || die + sed \ + -e "/CMK_CF90/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/F90DIR/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/f95target/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/f95version/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -i src/arch/common/*.sh || die + + sed \ + -e "s:-o conv-cpm:${LDFLAGS} &:g" \ + -e "s:-o charmxi:${LDFLAGS} &:g" \ + -e "s:-o charmrun-silent:${LDFLAGS} &:g" \ + -e "s:-o charmrun-notify:${LDFLAGS} &:g" \ + -e "s:-o charmrun:${LDFLAGS} &:g" \ + -e "s:-o charmd_faceless:${LDFLAGS} &:g" \ + -e "s:-o charmd:${LDFLAGS} &:g" \ + -i \ + src/scripts/Makefile \ + src/util/charmrun-src/Makefile || die + + # CMK optimization + use cmkopt && append-cppflags -DCMK_OPTIMIZE=1 + + # Fix QA notice. Filed report with upstream. + append-cflags -DALLOCA_H + + epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch" + epatch "${FILESDIR}/charm-6.5.1-fix-markupSanitizer.patch" +} + +src_compile() { + local build_version="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '')" + local build_options="$(get_opts)" + #build only accepts -j from MAKEOPTS + local build_commandline="${build_version} ${build_options} -j$(makeopts_jobs)" + + # Build charmm++ first. + einfo "running ./build charm++ ${build_commandline}" + ./build charm++ ${build_commandline} || die "Failed to build charm++" + + # make pdf/html docs + if use doc; then + emake -j1 -C doc/charm++ + fi +} + +src_test() { + make -C tests/charm++ test TESTOPTS="++local" || die +} + +src_install() { + # Make charmc play well with gentoo before we move it into /usr/bin. This + # patch cannot be applied during src_prepare() because the charmc wrapper + # is used during building. + epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch" + + sed -e "s|gentoo-include|${P}|" \ + -e "s|gentoo-libdir|$(get_libdir)|g" \ + -e "s|VERSION|${P}/VERSION|" \ + -i ./src/scripts/charmc || die "failed patching charmc script" + + # In the following, some of the files are symlinks to ../tmp which we need + # to dereference first (see bug 432834). + + local i + + # Install binaries. + for i in bin/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dobin "${i}" + done + + # Install headers. + insinto /usr/include/${P} + for i in include/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + doins "${i}" + done + + # Install libs incl. charm objects + for i in lib*/*.{so,o,a}; do + [[ ${i} = *.a ]] && use !static-libs && continue + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + [[ ${i} = *.so ]] && dolib.so "${i}" || dolib "${i}" + done + + # Basic docs. + dodoc CHANGES README + + # Install examples. + if use examples; then + find examples/ -name 'Makefile' | xargs sed \ + -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \ + die "Failed to fix examples" + find examples/ -name 'Makefile' | xargs sed \ + -r "s:./charmrun:./charmrun ++local:" -i || \ + die "Failed to fix examples" + insinto /usr/share/doc/${PF}/examples + doins -r examples/charm++/* + docompress -x /usr/share/doc/${PF}/examples + fi + + # Install pdf/html docs + if use doc; then + cd "${S}/doc/charm++" + # Install pdfs. + insinto /usr/share/doc/${PF}/pdf + doins *.pdf + # Install html. + docinto html + dohtml -r manual/* + fi +} + +pkg_postinst() { + einfo "Please test your charm installation by copying the" + einfo "content of /usr/share/doc/${PF}/examples to a" + einfo "temporary location and run 'make test'." +} diff --git a/sys-cluster/charm/charm-6.6.0.ebuild b/sys-cluster/charm/charm-6.6.0.ebuild new file mode 100644 index 000000000000..b6347d0be608 --- /dev/null +++ b/sys-cluster/charm/charm-6.6.0.ebuild @@ -0,0 +1,208 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_STANDARD="90" +PYTHON_COMPAT=( python2_7 ) + +inherit eutils flag-o-matic fortran-2 multilib multiprocessing python-any-r1 toolchain-funcs + +DESCRIPTION="Message-passing parallel language and runtime system" +HOMEPAGE="http://charm.cs.uiuc.edu/" +SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz" + +LICENSE="charm" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi numa smp static-libs syncft tcp" + +RDEPEND="mpi? ( virtual/mpi )" +DEPEND=" + ${RDEPEND} + doc? ( + >=app-text/poppler-0.12.3-r3[utils] + dev-tex/latex2html + virtual/tex-base + $(python_gen_any_dep ' + >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + ') + media-libs/netpbm + ${PYTHON_DEPS} + )" + +REQUIRED_USE=" + cmkopt? ( !charmdebug !charmtracing ) + charmproduction? ( !charmdebug !charmtracing )" + +pkg_setup() { + use doc && python-any-r1_pkg_setup +} + +get_opts() { + local CHARM_OPTS + + # TCP instead of default UDP for socket comunication + # protocol + CHARM_OPTS+="$(usex tcp ' tcp' '')" + + # enable direct SMP support using shared memory + CHARM_OPTS+="$(usex smp ' smp' '')" + + CHARM_OPTS+="$(usex mlogft ' mlogft' '')" + CHARM_OPTS+="$(usex syncft ' syncft' '')" + + # Build shared libraries by default. + CHARM_OPTS+=" --build-shared" + + if use charmproduction; then + CHARM_OPTS+=" --with-production" + else + if use charmdebug; then + CHARM_OPTS+=" --enable-charmdebug" + fi + + if use charmtracing; then + CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread" + fi + fi + + CHARM_OPTS+="$(usex numa ' --with-numa' '')" + echo $CHARM_OPTS +} + +src_prepare() { + sed \ + -e "/CMK_CF77/s:[fg]77:$(usex mpi "mpif90" "$(tc-getF77)"):g" \ + -e "/CMK_CF90/s:f95:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/CMK_CF90/s:\`which f90.*$::g" \ + -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \ + -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \ + -e '/CMK_F90_MODINC/s:-p:-I:g' \ + -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \ + -i src/arch/$(usex mpi "mpi" "net")*-linux*/*sh || die + sed \ + -e "/CMK_CF90/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/F90DIR/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/f95target/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/f95version/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -i src/arch/common/*.sh || die + + sed \ + -e "s:-o conv-cpm:${LDFLAGS} &:g" \ + -e "s:-o charmxi:${LDFLAGS} &:g" \ + -e "s:-o charmrun-silent:${LDFLAGS} &:g" \ + -e "s:-o charmrun-notify:${LDFLAGS} &:g" \ + -e "s:-o charmrun:${LDFLAGS} &:g" \ + -e "s:-o charmd_faceless:${LDFLAGS} &:g" \ + -e "s:-o charmd:${LDFLAGS} &:g" \ + -i \ + src/scripts/Makefile \ + src/util/charmrun-src/Makefile || die + + # CMK optimization + use cmkopt && append-cppflags -DCMK_OPTIMIZE=1 + + # Fix QA notice. Filed report with upstream. + append-cflags -DALLOCA_H + + epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch" + epatch "${FILESDIR}/charm-6.5.1-fix-markupSanitizer.patch" +} + +src_compile() { + local build_version="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '')" + local build_options="$(get_opts)" + #build only accepts -j from MAKEOPTS + local build_commandline="${build_version} ${build_options} -j$(makeopts_jobs)" + + # Build charmm++ first. + einfo "running ./build charm++ ${build_commandline}" + ./build charm++ ${build_commandline} || die "Failed to build charm++" + + # make pdf/html docs + if use doc; then + emake -j1 -C doc/charm++ + fi +} + +src_test() { + make -C tests/charm++ test TESTOPTS="++local" || die +} + +src_install() { + # Make charmc play well with gentoo before we move it into /usr/bin. This + # patch cannot be applied during src_prepare() because the charmc wrapper + # is used during building. + epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch" + + sed -e "s|gentoo-include|${P}|" \ + -e "s|gentoo-libdir|$(get_libdir)|g" \ + -e "s|VERSION|${P}/VERSION|" \ + -i ./src/scripts/charmc || die "failed patching charmc script" + + # In the following, some of the files are symlinks to ../tmp which we need + # to dereference first (see bug 432834). + + local i + + # Install binaries. + for i in bin/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dobin "${i}" + done + + # Install headers. + insinto /usr/include/${P} + for i in include/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + doins "${i}" + done + + # Install libs incl. charm objects + for i in lib*/*.{so,o,a}; do + [[ ${i} = *.a ]] && use !static-libs && continue + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + [[ ${i} = *.so ]] && dolib.so "${i}" || dolib "${i}" + done + + # Basic docs. + dodoc CHANGES README + + # Install examples. + if use examples; then + find examples/ -name 'Makefile' | xargs sed \ + -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \ + die "Failed to fix examples" + find examples/ -name 'Makefile' | xargs sed \ + -r "s:./charmrun:./charmrun ++local:" -i || \ + die "Failed to fix examples" + insinto /usr/share/doc/${PF}/examples + doins -r examples/charm++/* + docompress -x /usr/share/doc/${PF}/examples + fi + + # Install pdf/html docs + if use doc; then + cd "${S}/doc/charm++" + # Install pdfs. + insinto /usr/share/doc/${PF}/pdf + doins *.pdf + # Install html. + docinto html + dohtml -r manual/* + fi +} + +pkg_postinst() { + einfo "Please test your charm installation by copying the" + einfo "content of /usr/share/doc/${PF}/examples to a" + einfo "temporary location and run 'make test'." +} diff --git a/sys-cluster/charm/charm-6.6.1.ebuild b/sys-cluster/charm/charm-6.6.1.ebuild new file mode 100644 index 000000000000..fb6f4b9f8e25 --- /dev/null +++ b/sys-cluster/charm/charm-6.6.1.ebuild @@ -0,0 +1,217 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_STANDARD="90" +PYTHON_COMPAT=( python{2_7,3_4} ) + +inherit eutils flag-o-matic fortran-2 multilib multiprocessing python-any-r1 toolchain-funcs + +DESCRIPTION="Message-passing parallel language and runtime system" +HOMEPAGE="http://charm.cs.uiuc.edu/" +SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz" + +LICENSE="charm" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi ampi numa smp static-libs syncft tcp" + +REQUIRED_USE="ampi? ( !mpi )" + +RDEPEND="mpi? ( virtual/mpi )" +DEPEND=" + ${RDEPEND} + doc? ( + >=app-text/poppler-0.12.3-r3[utils] + dev-tex/latex2html + virtual/tex-base + $(python_gen_any_dep ' + >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + ') + media-libs/netpbm + ${PYTHON_DEPS} + )" + +REQUIRED_USE=" + cmkopt? ( !charmdebug !charmtracing ) + charmproduction? ( !charmdebug !charmtracing )" + +S="${WORKDIR}/${PN}" + +pkg_setup() { + use doc && python-any-r1_pkg_setup +} + +get_opts() { + local CHARM_OPTS + + # TCP instead of default UDP for socket comunication + # protocol + CHARM_OPTS+="$(usex tcp ' tcp' '')" + + # enable direct SMP support using shared memory + CHARM_OPTS+="$(usex smp ' smp' '')" + + CHARM_OPTS+="$(usex mlogft ' mlogft' '')" + CHARM_OPTS+="$(usex syncft ' syncft' '')" + + # Build shared libraries by default. + CHARM_OPTS+=" --build-shared" + + if use charmproduction; then + CHARM_OPTS+=" --with-production" + else + if use charmdebug; then + CHARM_OPTS+=" --enable-charmdebug" + fi + + if use charmtracing; then + CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread" + fi + fi + + CHARM_OPTS+="$(usex numa ' --with-numa' '')" + echo $CHARM_OPTS +} + +src_prepare() { + sed \ + -e "/CMK_CF77/s:[fg]77:$(usex mpi "mpif90" "$(tc-getF77)"):g" \ + -e "/CMK_CF90/s:f95:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/CMK_CF90/s:\`which f90.*$::g" \ + -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \ + -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \ + -e '/CMK_F90_MODINC/s:-p:-I:g' \ + -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \ + -i src/arch/$(usex mpi "mpi" "net")*-linux*/*sh || die + sed \ + -e "/CMK_CF90/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/F90DIR/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/f95target/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/f95version/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -i src/arch/common/*.sh || die + + sed \ + -e "s:-o conv-cpm:${LDFLAGS} &:g" \ + -e "s:-o charmxi:${LDFLAGS} &:g" \ + -e "s:-o charmrun-silent:${LDFLAGS} &:g" \ + -e "s:-o charmrun-notify:${LDFLAGS} &:g" \ + -e "s:-o charmrun:${LDFLAGS} &:g" \ + -e "s:-o charmd_faceless:${LDFLAGS} &:g" \ + -e "s:-o charmd:${LDFLAGS} &:g" \ + -i \ + src/scripts/Makefile \ + src/util/charmrun-src/Makefile || die + + # CMK optimization + use cmkopt && append-cppflags -DCMK_OPTIMIZE=1 + + # Fix QA notice. Filed report with upstream. + append-cflags -DALLOCA_H + + epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch" + epatch "${FILESDIR}/charm-6.5.1-fix-markupSanitizer.patch" +} + +src_compile() { + local build_version="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '')" + local build_options="$(get_opts)" + #build only accepts -j from MAKEOPTS + local build_commandline="${build_version} ${build_options} -j$(makeopts_jobs)" + + # Build charmm++ first. + einfo "running ./build charm++ ${build_commandline}" + ./build charm++ ${build_commandline} || die "Failed to build charm++" + + if use ampi; then + einfo "running ./build AMPI ${build_commandline}" + ./build AMPI ${build_commandline} || die "Failed to build charm++" + fi + + # make pdf/html docs + if use doc; then + emake -j1 -C doc/charm++ + fi +} + +src_test() { + make -C tests/charm++ test TESTOPTS="++local" || die +} + +src_install() { + # Make charmc play well with gentoo before we move it into /usr/bin. This + # patch cannot be applied during src_prepare() because the charmc wrapper + # is used during building. + epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch" + + sed -e "s|gentoo-include|${P}|" \ + -e "s|gentoo-libdir|$(get_libdir)|g" \ + -e "s|VERSION|${P}/VERSION|" \ + -i ./src/scripts/charmc || die "failed patching charmc script" + + # In the following, some of the files are symlinks to ../tmp which we need + # to dereference first (see bug 432834). + + local i + + # Install binaries. + for i in bin/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dobin "${i}" + done + + # Install headers. + insinto /usr/include/${P} + for i in include/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + doins "${i}" + done + + # Install libs incl. charm objects + for i in lib*/*.{so,o,a}; do + [[ ${i} = *.a ]] && use !static-libs && continue + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + [[ ${i} = *.so ]] && dolib.so "${i}" || dolib "${i}" + done + + # Basic docs. + dodoc CHANGES README + + # Install examples. + if use examples; then + find examples/ -name 'Makefile' | xargs sed \ + -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \ + die "Failed to fix examples" + find examples/ -name 'Makefile' | xargs sed \ + -r "s:./charmrun:./charmrun ++local:" -i || \ + die "Failed to fix examples" + insinto /usr/share/doc/${PF}/examples + doins -r examples/charm++/* + docompress -x /usr/share/doc/${PF}/examples + fi + + # Install pdf/html docs + if use doc; then + cd "${S}/doc/charm++" + # Install pdfs. + insinto /usr/share/doc/${PF}/pdf + doins *.pdf + # Install html. + docinto html + dohtml -r manual/* + fi +} + +pkg_postinst() { + einfo "Please test your charm installation by copying the" + einfo "content of /usr/share/doc/${PF}/examples to a" + einfo "temporary location and run 'make test'." +} diff --git a/sys-cluster/charm/charm-6.7.1.ebuild b/sys-cluster/charm/charm-6.7.1.ebuild new file mode 100644 index 000000000000..1f2d2300a744 --- /dev/null +++ b/sys-cluster/charm/charm-6.7.1.ebuild @@ -0,0 +1,210 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_STANDARD="90" +PYTHON_COMPAT=( python2_7 ) + +inherit eutils flag-o-matic fortran-2 multilib multiprocessing python-any-r1 toolchain-funcs + +DESCRIPTION="Message-passing parallel language and runtime system" +HOMEPAGE="http://charm.cs.uiuc.edu/" +SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz" + +LICENSE="charm" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi ampi numa smp static-libs syncft tcp" + +RDEPEND="mpi? ( virtual/mpi )" +DEPEND=" + ${RDEPEND} + doc? ( + >=app-text/poppler-0.12.3-r3[utils] + dev-tex/latex2html + virtual/tex-base + $(python_gen_any_dep ' + >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + ') + media-libs/netpbm + ${PYTHON_DEPS} + )" + +REQUIRED_USE=" + cmkopt? ( !charmdebug !charmtracing ) + charmproduction? ( !charmdebug !charmtracing )" + +pkg_setup() { + use doc && python-any-r1_pkg_setup +} + +get_opts() { + local CHARM_OPTS + + # TCP instead of default UDP for socket comunication + # protocol + CHARM_OPTS+="$(usex tcp ' tcp' '')" + + # enable direct SMP support using shared memory + CHARM_OPTS+="$(usex smp ' smp' '')" + + CHARM_OPTS+="$(usex mlogft ' mlogft' '')" + CHARM_OPTS+="$(usex syncft ' syncft' '')" + + # Build shared libraries by default. + CHARM_OPTS+=" --build-shared" + + if use charmproduction; then + CHARM_OPTS+=" --with-production" + else + if use charmdebug; then + CHARM_OPTS+=" --enable-charmdebug" + fi + + if use charmtracing; then + CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread" + fi + fi + + CHARM_OPTS+="$(usex numa ' --with-numa' '')" + echo $CHARM_OPTS +} + +src_prepare() { + sed \ + -e "/CMK_CF77/s:[fg]77:$(usex mpi "mpif90" "$(tc-getF77)"):g" \ + -e "/CMK_CF90/s:f95:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/CMK_CF90/s:\`which f90.*$::g" \ + -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \ + -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \ + -e '/CMK_F90_MODINC/s:-p:-I:g' \ + -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \ + -i src/arch/$(usex mpi "mpi" "net")*-linux*/*sh || die + sed \ + -e "/CMK_CF90/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/F90DIR/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/f95target/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -e "/f95version/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \ + -i src/arch/common/*.sh || die + + sed \ + -e "s:-o conv-cpm:${LDFLAGS} &:g" \ + -e "s:-o charmxi:${LDFLAGS} &:g" \ + -e "s:-o charmrun-silent:${LDFLAGS} &:g" \ + -e "s:-o charmrun-notify:${LDFLAGS} &:g" \ + -e "s:-o charmrun:${LDFLAGS} &:g" \ + -e "s:-o charmd_faceless:${LDFLAGS} &:g" \ + -e "s:-o charmd:${LDFLAGS} &:g" \ + -i \ + src/scripts/Makefile \ + src/util/charmrun-src/Makefile || die + + # CMK optimization + use cmkopt && append-cppflags -DCMK_OPTIMIZE=1 + + # Fix QA notice. Filed report with upstream. + append-cflags -DALLOCA_H +} + +src_compile() { + local build_version="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '')" + local build_options="$(get_opts)" + #build only accepts -j from MAKEOPTS + local build_commandline="${build_version} ${build_options} -j$(makeopts_jobs)" + + # Build charmm++ first. + einfo "running ./build charm++ ${build_commandline}" + ./build charm++ ${build_commandline} || die "Failed to build charm++" + + if use ampi; then + einfo "running ./build AMPI ${build_commandline}" + ./build AMPI ${build_commandline} || die "Failed to build charm++" + fi + + # make pdf/html docs + if use doc; then + emake -j1 -C doc/charm++ + fi +} + +src_test() { + make -C tests/charm++ test TESTOPTS="++local" || die +} + +src_install() { + # Make charmc play well with gentoo before we move it into /usr/bin. This + # patch cannot be applied during src_prepare() because the charmc wrapper + # is used during building. + epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch" + + sed -e "s|gentoo-include|${P}|" \ + -e "s|gentoo-libdir|$(get_libdir)|g" \ + -e "s|VERSION|${P}/VERSION|" \ + -i ./src/scripts/charmc || die "failed patching charmc script" + + # In the following, some of the files are symlinks to ../tmp which we need + # to dereference first (see bug 432834). + + local i + + # Install binaries. + for i in bin/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + dobin "${i}" + done + + # Install headers. + insinto /usr/include/${P} + for i in include/*; do + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + doins "${i}" + done + + # Install libs incl. charm objects + for i in lib*/*.{so,a}; do + [[ ${i} = *.a ]] && use !static-libs && continue + if [[ -L ${i} ]]; then + i=$(readlink -e "${i}") || die + fi + [[ ${i} = *.so ]] && dolib.so "${i}" || dolib "${i}" + done + + # Basic docs. + dodoc CHANGES README + + # Install examples. + if use examples; then + find examples/ -name 'Makefile' | xargs sed \ + -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \ + die "Failed to fix examples" + find examples/ -name 'Makefile' | xargs sed \ + -r "s:./charmrun:./charmrun ++local:" -i || \ + die "Failed to fix examples" + insinto /usr/share/doc/${PF}/examples + doins -r examples/charm++/* + docompress -x /usr/share/doc/${PF}/examples + fi + + # Install pdf/html docs + if use doc; then + cd "${S}/doc/charm++" + # Install pdfs. + insinto /usr/share/doc/${PF}/pdf + doins *.pdf + # Install html. + docinto html + dohtml -r manual/* + fi +} + +pkg_postinst() { + einfo "Please test your charm installation by copying the" + einfo "content of /usr/share/doc/${PF}/examples to a" + einfo "temporary location and run 'make test'." +} diff --git a/sys-cluster/charm/files/charm-6.5.1-CkReductionMgr.patch b/sys-cluster/charm/files/charm-6.5.1-CkReductionMgr.patch new file mode 100644 index 000000000000..ad07fc3aa3bc --- /dev/null +++ b/sys-cluster/charm/files/charm-6.5.1-CkReductionMgr.patch @@ -0,0 +1,34 @@ +From 6b537784e9c345dee7f7cfd108c6abc779a969ae Mon Sep 17 00:00:00 2001 +From: Nicolas Bock <nicolasbock@gmail.com> +Date: Fri, 27 Sep 2013 10:50:45 -0600 +Subject: [PATCH 2/4] Fixed bug in CkReductionMgr::reduceMessages(). + +The first contribution of a child node is a single message. In this case +CkReductionMgr::reduceMessages() simply returns the message without calling +the reducer. However, when using the CkReduction::set reducer this behavior is +incorrect, and instead the reducer should be called even for one single +message so that the message is wrapped into a setElement struct. In the +current implementation, the reduction becomes corrupted because the +CkReduction::set() method one tier up in the reduction sizes the remote +contribution incorrectly assuming a setElement struct and not a simple +message. +--- + src/ck-core/ckreduction.C | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ck-core/ckreduction.C b/src/ck-core/ckreduction.C +index 07853a2..ef3e906 100644 +--- a/src/ck-core/ckreduction.C ++++ b/src/ck-core/ckreduction.C +@@ -850,7 +850,7 @@ CkReductionMsg *CkReductionMgr::reduceMessages(void) + else + {//Use the reducer to reduce the messages + //if there is only one msg to be reduced just return that message +- if(nMsgs == 1){ ++ if(nMsgs == 1 && msgArr[0]->reducer != CkReduction::set) { + ret = msgArr[0]; + }else{ + if (msgArr[0]->reducer == CkReduction::random) { +-- +1.8.1.5 + diff --git a/sys-cluster/charm/files/charm-6.5.1-charmc-gentoo.patch b/sys-cluster/charm/files/charm-6.5.1-charmc-gentoo.patch new file mode 100644 index 000000000000..f1502ced7d94 --- /dev/null +++ b/sys-cluster/charm/files/charm-6.5.1-charmc-gentoo.patch @@ -0,0 +1,39 @@ +From 664eb097d1c5d1a158b1f41badc79d369a06aab6 Mon Sep 17 00:00:00 2001 +From: Nicolas Bock <nicolasbock@gmail.com> +Date: Fri, 27 Sep 2013 10:53:31 -0600 +Subject: [PATCH 4/4] Fix paths for gentoo. + +--- + src/scripts/charmc | 16 +++------------- + 1 file changed, 3 insertions(+), 13 deletions(-) + +diff --git a/src/scripts/charmc b/src/scripts/charmc +index 4d37a6b..8ec2f70 100755 +--- a/src/scripts/charmc ++++ b/src/scripts/charmc +@@ -361,19 +361,9 @@ then + PROG_EXT=".exe" + fi + +-CHARMLIB="$CHARMBIN/../lib" +-CHARMINC="$CHARMBIN/../include" +-CHARMLIBSO= +-if test -d "$CHARMBIN/../lib_so" +-then +- CHARMLIBSO=`cd $CHARMBIN/../lib_so 2>/dev/null && pwd` +- #getting absolute path is harder than thought because of symbolic links and .. +- #ksh needs cd -P to resolve werid symbolic links, however -P is not portable +- #csh is ok too if it exists +- test -z "$CHARMLIBSO" && CHARMLIBSO=`cd -P $CHARMBIN/../lib_so 2>/dev/null && pwd` +- test -z "$CHARMLIBSO" && CHARMLIBSO=`csh -c "cd $CHARMBIN/../lib_so >& /dev/null && pwd"` +- test -z "$CHARMLIBSO" && echo "$CHARMBIN/../lib_so: not found" && exit 1 +-fi ++CHARMLIB="/usr/gentoo-libdir" ++CHARMINC="/usr/include/gentoo-include" ++CHARMLIBSO="/usr/gentoo-libdir" + + ############################################################################## + # +-- +1.8.1.5 + diff --git a/sys-cluster/charm/files/charm-6.5.1-cleanup-config.patch b/sys-cluster/charm/files/charm-6.5.1-cleanup-config.patch new file mode 100644 index 000000000000..ec71eb27d469 --- /dev/null +++ b/sys-cluster/charm/files/charm-6.5.1-cleanup-config.patch @@ -0,0 +1,58 @@ +From b0af812652269a59457ad1bbf57165c0543bcd07 Mon Sep 17 00:00:00 2001 +From: Nicolas Bock <nicolasbock@gmail.com> +Date: Fri, 27 Sep 2013 10:49:52 -0600 +Subject: [PATCH 1/4] Commented out colliding defines in conv-autoconfig.h + +The colliding defines (bug #252) are commented out in configure. +--- + src/scripts/configure | 5 +++++ + src/scripts/configure.in | 3 +++ + 2 files changed, 8 insertions(+) + +diff --git a/src/scripts/configure b/src/scripts/configure +index acd582c..faf268f 100755 +--- a/src/scripts/configure ++++ b/src/scripts/configure +@@ -1703,6 +1703,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + ac_config_headers="$ac_config_headers conv-autoconfig.h" + + ++ac_config_commands="$ac_config_commands config-cleanup" ++ ++ + CHARMINC="." + test -r ./conv-config.sh && . ./conv-config.sh + +@@ -5259,6 +5262,7 @@ for ac_config_target in $ac_config_targets + do + case $ac_config_target in + "conv-autoconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS conv-autoconfig.h" ;; ++ "config-cleanup") CONFIG_COMMANDS="$CONFIG_COMMANDS config-cleanup" ;; + "libs/ck-libs/ampi/ampiCC") CONFIG_FILES="$CONFIG_FILES libs/ck-libs/ampi/ampiCC" ;; + "libs/ck-libs/ampi/ampirun") CONFIG_FILES="$CONFIG_FILES libs/ck-libs/ampi/ampirun" ;; + "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; +@@ -5812,6 +5816,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} + + + case $ac_file$ac_mode in ++ "config-cleanup":C) sed -i -e 's:^#define\s\+PACKAGE://&:' conv-autoconfig.h ;; + "default":C) chmod +x libs/ck-libs/ampi/ampiCC libs/ck-libs/ampi/ampirun + ;; + +diff --git a/src/scripts/configure.in b/src/scripts/configure.in +index d1285ed..cad9a42 100644 +--- a/src/scripts/configure.in ++++ b/src/scripts/configure.in +@@ -3,6 +3,9 @@ AC_INIT(./Makefile) + + AC_CONFIG_HEADER(conv-autoconfig.h) + ++AC_CONFIG_COMMANDS([config-cleanup], ++ [sed -i -e 's:^#define\s\+PACKAGE://&:' conv-autoconfig.h]) ++ + CHARMINC="." + test -r ./conv-config.sh && . ./conv-config.sh + +-- +1.8.1.5 + diff --git a/sys-cluster/charm/files/charm-6.5.1-fix-markupSanitizer.patch b/sys-cluster/charm/files/charm-6.5.1-fix-markupSanitizer.patch new file mode 100644 index 000000000000..6ed4c1989b4c --- /dev/null +++ b/sys-cluster/charm/files/charm-6.5.1-fix-markupSanitizer.patch @@ -0,0 +1,203 @@ +From 88f5739d3f0d34c51f318fc460b843253b4242e0 Mon Sep 17 00:00:00 2001 +From: Nicolas Bock <nicolasbock@gmail.com> +Date: Fri, 8 Nov 2013 09:58:55 -0700 +Subject: [PATCH 2/2] Make markupSanitizer.py support python 3.1 and 3.2 + +The script only supports <python-3 because of how uni-code literals are +treated in python-3.{1,2}. In python-2, a unicode string had to be prefixed +with 'u', while this notation was dropped in python-3.{1,2}. I have added a +check to the script so that it runs now with python-2.7 and python-3.{1,2,3}. +--- + doc/markupSanitizer.py | 179 ++++++++++++++++++++++++++----------------------- + 1 file changed, 95 insertions(+), 84 deletions(-) + +diff --git a/doc/markupSanitizer.py b/doc/markupSanitizer.py +index f206cab..6fe247d 100755 +--- a/doc/markupSanitizer.py ++++ b/doc/markupSanitizer.py +@@ -4,87 +4,98 @@ from bs4 import BeautifulSoup + import sys + import os + +-# Accept filename as user input +-argc = len( sys.argv ) +-if (argc < 2): raise Exception +-fileName = sys.argv[1]; +- +-# Construct a DOM object +-soup = BeautifulSoup(open(fileName), "lxml") +- +-# Assuming, tt tags are not spewed recklessly by latex2html, +-# replace them with code tags +-for t in soup('tt'): +- t.wrap( soup.new_tag('code') ) +- t.unwrap() +- +-# Rewrap all div class=alltt blocks in pre tags +-for d in soup('div','alltt'): +- d.wrap( soup.new_tag('pre') ) +- d.unwrap() +- +-# Remove br and span tags from within pre sections +-for p in soup('pre'): +- for b in p('br'): +- b.extract() +- for s in p('span'): +- s.unwrap() +- +-# Remove all useless class 'arabic' spans +-for s in soup('span','arabic'): +- s.unwrap() +- +-# Extract the navigation bar +-navmenu = soup.find('div', 'navigation') +-if navmenu: +- navmenu.extract() +- +-# Wrap the remaining contents within a div +-if not soup.find('div', id='maincontainer'): +- soup.body['id'] = 'maincontainer' +- soup.body.name = 'div' +- soup.find('div', id='maincontainer').wrap( soup.new_tag('body') ) +- +-if navmenu: +- # If this navmenu doesn't already have a TOC, insert one +- if not navmenu.find('ul','manual-toc'): +- # Add a toc within the navmenu +- navmenuTOC = BeautifulSoup(open("tmp-navmenu.html"), "lxml") +- navmenuTOC = navmenuTOC.find('ul','manual-toc').extract() +- navmenuTOC.append( BeautifulSoup("".join([ +- '<li><a href="http://charm.cs.illinois.edu">PPL Homepage</a></li>', +- '<li><a href="http://charm.cs.illinois.edu/help">Other Manuals</a></li>']) +- ) ) +- navmenu.append(navmenuTOC) +- +- # Insert navigation symbols to prev and next links +- prevsymbol = soup.new_tag('span') +- prevsymbol['class'] = 'navsymbol' +- prevsymbol.string = u'\xab' +- prv = navmenu.find('li',id='nav-prev') +- if prv: +- prv.find('a').insert(0, prevsymbol) +- +- nextsymbol = soup.new_tag('span') +- nextsymbol['class'] = 'navsymbol' +- nextsymbol.string = u'\xbb' +- nxt = navmenu.find('li',id='nav-next') +- if nxt: +- nxt.find('a').append(nextsymbol) +- +- # Reinsert the navigation bar at the end +- soup.body.append(navmenu) +- +-# Extract the title +-titl = soup.find('title') +- +-# Replace the head section with the user-supplied head markup +-soup.find('head').extract() +-newhead = BeautifulSoup(open("../assets/head.html"), "lxml") +-newhead = newhead.find('head').extract() +-newhead.append(titl) +-soup.html.body.insert_before(newhead) +- +-# Print cleaned up markup to stdout +-print( soup.prettify(formatter="html") ) +- ++def main (): ++ # Accept filename as user input ++ argc = len( sys.argv ) ++ if (argc < 2): raise Exception ++ fileName = sys.argv[1]; ++ ++ # Construct a DOM object ++ soup = BeautifulSoup(open(fileName), "lxml") ++ ++ # Assuming, tt tags are not spewed recklessly by latex2html, ++ # replace them with code tags ++ for t in soup('tt'): ++ t.wrap( soup.new_tag('code') ) ++ t.unwrap() ++ ++ # Rewrap all div class=alltt blocks in pre tags ++ for d in soup('div','alltt'): ++ d.wrap( soup.new_tag('pre') ) ++ d.unwrap() ++ ++ # Remove br and span tags from within pre sections ++ for p in soup('pre'): ++ for b in p('br'): ++ b.extract() ++ for s in p('span'): ++ s.unwrap() ++ ++ # Remove all useless class 'arabic' spans ++ for s in soup('span','arabic'): ++ s.unwrap() ++ ++ # Extract the navigation bar ++ navmenu = soup.find('div', 'navigation') ++ if navmenu: ++ navmenu.extract() ++ ++ # Wrap the remaining contents within a div ++ if not soup.find('div', id='maincontainer'): ++ soup.body['id'] = 'maincontainer' ++ soup.body.name = 'div' ++ soup.find('div', id='maincontainer').wrap( soup.new_tag('body') ) ++ ++ if navmenu: ++ # If this navmenu doesn't already have a TOC, insert one ++ if not navmenu.find('ul','manual-toc'): ++ # Add a toc within the navmenu ++ navmenuTOC = BeautifulSoup(open("tmp-navmenu.html"), "lxml") ++ navmenuTOC = navmenuTOC.find('ul','manual-toc').extract() ++ navmenuTOC.append( BeautifulSoup("".join([ ++ '<li><a href="http://charm.cs.illinois.edu">PPL Homepage</a></li>', ++ '<li><a href="http://charm.cs.illinois.edu/help">Other Manuals</a></li>']) ++ ) ) ++ navmenu.append(navmenuTOC) ++ ++ # Insert navigation symbols to prev and next links ++ prevsymbol = soup.new_tag('span') ++ prevsymbol['class'] = 'navsymbol' ++ prevsymbol.string = u('\xab') ++ prv = navmenu.find('li',id='nav-prev') ++ if prv: ++ prv.find('a').insert(0, prevsymbol) ++ ++ nextsymbol = soup.new_tag('span') ++ nextsymbol['class'] = 'navsymbol' ++ nextsymbol.string = u('\xbb') ++ nxt = navmenu.find('li',id='nav-next') ++ if nxt: ++ nxt.find('a').append(nextsymbol) ++ ++ # Reinsert the navigation bar at the end ++ soup.body.append(navmenu) ++ ++ # Extract the title ++ titl = soup.find('title') ++ ++ # Replace the head section with the user-supplied head markup ++ soup.find('head').extract() ++ newhead = BeautifulSoup(open("../assets/head.html"), "lxml") ++ newhead = newhead.find('head').extract() ++ newhead.append(titl) ++ soup.html.body.insert_before(newhead) ++ ++ # Print cleaned up markup to stdout ++ print( soup.prettify(formatter="html") ) ++ ++if sys.version < '3': ++ import codecs ++ def u (x): ++ return codecs.unicode_escape_decode(x)[0] ++else: ++ def u (x): ++ return x ++ ++if __name__ == "__main__": ++ main() +-- +1.8.1.5 + diff --git a/sys-cluster/charm/files/charm-6.5.1-fix-navmenuGenerator.patch b/sys-cluster/charm/files/charm-6.5.1-fix-navmenuGenerator.patch new file mode 100644 index 000000000000..a19a8dba1ff7 --- /dev/null +++ b/sys-cluster/charm/files/charm-6.5.1-fix-navmenuGenerator.patch @@ -0,0 +1,30 @@ +From 8b699f6c49df26b979da397b47c7dc7a099ed6b6 Mon Sep 17 00:00:00 2001 +From: Nicolas Bock <nicolasbock@gmail.com> +Date: Sat, 28 Sep 2013 07:47:36 -0600 +Subject: [PATCH] Properly test for None return value in navmenuGenerator.py + +--- + doc/navmenuGenerator.py | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/doc/navmenuGenerator.py b/doc/navmenuGenerator.py +index c10afb5..5e5b97c 100755 +--- a/doc/navmenuGenerator.py ++++ b/doc/navmenuGenerator.py +@@ -13,7 +13,12 @@ fileName = sys.argv[1]; + soup = BeautifulSoup(open(fileName), "lxml") + + # Get just the table of contents from the index page +-toc = soup.find("ul","ChildLinks").extract() ++toc = soup.find("ul","ChildLinks") ++ ++if toc == None: ++ sys.exit(0) ++ ++toc = toc.extract() + + # Retain only part and chapter titles + for sctn in toc.select("li > ul > li > ul"): +-- +1.8.1.5 + diff --git a/sys-cluster/charm/files/charm-6.5.1-fix-string-parsing.patch b/sys-cluster/charm/files/charm-6.5.1-fix-string-parsing.patch new file mode 100644 index 000000000000..1cc6b432c3d4 --- /dev/null +++ b/sys-cluster/charm/files/charm-6.5.1-fix-string-parsing.patch @@ -0,0 +1,50 @@ +From 14f407a5d183cdac7029cc54a9d8ae6b0cb5cbcd Mon Sep 17 00:00:00 2001 +From: Nicolas Bock <nicolasbock@gmail.com> +Date: Fri, 27 Sep 2013 10:52:18 -0600 +Subject: [PATCH 3/4] charmrun.c: parsing of strings now parses "\n" into '\n' + +Since gdb lacks anything like ';' to separate several commands in one line, +the commands need to be separated by a newline character. I have added some +parsing logic so that the string "\n" will now be translated into the +character '\n'. +--- + src/arch/net/charmrun/charmrun.c | 23 +++++++++++++++++++++-- + 1 file changed, 21 insertions(+), 2 deletions(-) + +diff --git a/src/arch/net/charmrun/charmrun.c b/src/arch/net/charmrun/charmrun.c +index 6837712..8818cf8 100644 +--- a/src/arch/net/charmrun/charmrun.c ++++ b/src/arch/net/charmrun/charmrun.c +@@ -454,8 +454,27 @@ static int pparam_setdef(def, value) + if (*p) return -1; + return 0; + case 's' : +- *def->where.s = strdup(value); +- return 0; ++ { ++ /* Parse input string and convert a literal "\n" into '\n'. */ ++ *def->where.s = (char*) calloc(strlen(value)+1, sizeof(char)); ++ char* parsed_value = (char*) *def->where.s; ++ int i; ++ int j = 0; ++ for(i = 0; i < strlen(value); i++) ++ { ++ if(i+1 < strlen(value)) ++ { ++ if(value[i] == '\\' && value[i+1] == 'n') ++ { ++ parsed_value[j++] = '\n'; ++ i++; ++ continue; ++ } ++ } ++ parsed_value[j++] = value[i]; ++ } ++ return 0; ++ } + case 'f' : + *def->where.f = strtol(value, &p, 10); + if (*p) return -1; +-- +1.8.1.5 + diff --git a/sys-cluster/charm/files/charm-6.5.1-static-library-fix.patch b/sys-cluster/charm/files/charm-6.5.1-static-library-fix.patch new file mode 100644 index 000000000000..13efb2123b55 --- /dev/null +++ b/sys-cluster/charm/files/charm-6.5.1-static-library-fix.patch @@ -0,0 +1,396 @@ +From 3a7261ab3a00472dd4bde0619c145c69aecf80c3 Mon Sep 17 00:00:00 2001 +From: Nicolas Bock <nicolasbock@gmail.com> +Date: Mon, 14 Oct 2013 07:15:14 -0600 +Subject: [PATCH] Some libraries are only built statically, + +preventing a Charm++ installation with only dynamic libraries. + +On a typical Linux system only shared libraries are installed, because of the +usual security and bloat arguments. However, if I build charm with +--build-shared, and then install only what is in lib_so, the charmc script +breaks because some Converse libraries are built purely as .o and don't end up +in lib_so. One example is seed based load balancing, e.g. libldb-rand.o. As +far as I can tell, this is not too hard to fix. In the main makefile, the +targets libldb-*.o are renamed to libldb-*.a, and the charmc script now tests +both .a and .so when linking the seed based load balancing code. +--- + src/scripts/Makefile | 136 +++++++++++++++++++++++++-------------------------- + src/scripts/charmc | 37 ++++++++------ + 2 files changed, 91 insertions(+), 82 deletions(-) + +diff --git a/src/scripts/Makefile b/src/scripts/Makefile +index 51d0e7b..1550ed2 100644 +--- a/src/scripts/Makefile ++++ b/src/scripts/Makefile +@@ -349,7 +349,7 @@ dirs+sources: + # Converse Libraries + # + ############################################################################### +-CLBLIBS=$(L)/libldb-rand.o $(L)/libldb-spray.o $(L)/libldb-workstealing.o $(L)/libldb-neighbor.o $(L)/libldb-none.o $(L)/libldb-test.o $(L)/libldb-bluegene.o ++CLBLIBS=$(L)/libldb-rand.a $(L)/libldb-spray.a $(L)/libldb-workstealing.a $(L)/libldb-neighbor.a $(L)/libldb-none.a $(L)/libldb-test.a $(L)/libldb-bluegene.a + + TRACELIBS = $(L)/libtrace-converse.a $(L)/libtracef_f.a + +@@ -363,32 +363,32 @@ TRACELIBS += $(L)/libtrace-projections.a $(L)/libtrace-summary.a \ + $(L)/libtrace-memory.a + endif + +-MEMLIBS=$(L)/libmemory-default.o $(L)/libmemory-os.o $(L)/libmemory-gnu.o \ +- $(L)/libmemory-gnuold.o $(L)/libmemory-verbose.o \ +- $(L)/libmemory-paranoid.o \ +- $(L)/libmemory-leak.o $(L)/libmemory-isomalloc.o \ +- $(L)/libmemory-os-verbose.o $(L)/libmemory-os-isomalloc.o \ +- $(L)/libmemory-os-leak.o $(L)/libmemory-os-paranoid.o \ +- $(L)/libmemory-os-lock.o $(L)/libmemory-os-wrapper.o ++MEMLIBS=$(L)/libmemory-default.a $(L)/libmemory-os.a $(L)/libmemory-gnu.a \ ++ $(L)/libmemory-gnuold.a $(L)/libmemory-verbose.a \ ++ $(L)/libmemory-paranoid.a \ ++ $(L)/libmemory-leak.a $(L)/libmemory-isomalloc.a \ ++ $(L)/libmemory-os-verbose.a $(L)/libmemory-os-isomalloc.a \ ++ $(L)/libmemory-os-leak.a $(L)/libmemory-os-paranoid.a \ ++ $(L)/libmemory-os-lock.a $(L)/libmemory-os-wrapper.a + + BUILD_CHARMDEBUG=$(shell CHARMINC=.; if test -f ./conv-config.sh; then . ./conv-config.sh; echo $$CMK_CHARMDEBUG; fi ) + + ifneq "$(BUILD_CHARMDEBUG)" "0" +-MEMLIBS += $(L)/libmemory-charmdebug.o $(L)/libmemory-charmdebug-mmap.o \ +- $(L)/libmemory-charmdebug-slot.o \ +- $(L)/libmemory-charmdebug-mmap-slot.o \ +- $(L)/libmemory-os-charmdebug.o $(L)/libmemory-hooks-charmdebug.o ++MEMLIBS += $(L)/libmemory-charmdebug.a $(L)/libmemory-charmdebug-mmap.a \ ++ $(L)/libmemory-charmdebug-slot.a \ ++ $(L)/libmemory-charmdebug-mmap-slot.a \ ++ $(L)/libmemory-os-charmdebug.a $(L)/libmemory-hooks-charmdebug.a + endif + +-THREADLIBS=$(L)/libthreads-default.o $(L)/libthreads-default-tls.o \ +- $(L)/libthreads-qt.o $(L)/libthreads-qt-tls.o \ +- $(L)/libthreads-context.o $(L)/libthreads-context-tls.o \ +- $(L)/libthreads-uJcontext.o $(L)/libthreads-uJcontext-tls.o \ +- $(L)/libthreads-pthreads.o $(L)/libthreads-fibers.o \ +- $(L)/libthreads-stackcopy.o $(L)/libthreads-memoryalias.o \ +- $(L)/libthreads-qt-memoryalias.o \ +- $(L)/libthreads-context-memoryalias.o \ +- $(L)/libthreads-uJcontext-memoryalias.o ++THREADLIBS=$(L)/libthreads-default.a $(L)/libthreads-default-tls.a \ ++ $(L)/libthreads-qt.a $(L)/libthreads-qt-tls.a \ ++ $(L)/libthreads-context.a $(L)/libthreads-context-tls.a \ ++ $(L)/libthreads-uJcontext.a $(L)/libthreads-uJcontext-tls.a \ ++ $(L)/libthreads-pthreads.a $(L)/libthreads-fibers.a \ ++ $(L)/libthreads-stackcopy.a $(L)/libthreads-memoryalias.a \ ++ $(L)/libthreads-qt-memoryalias.a \ ++ $(L)/libthreads-context-memoryalias.a \ ++ $(L)/libthreads-uJcontext-memoryalias.a + + CVLIBS=$(L)/libconv-core.a \ + $(L)/libconv-cplus-y.a $(L)/libconv-cplus-n.a \ +@@ -543,19 +543,19 @@ lz4.o: lz4.c lz4.h + $(CHARMC) -o $@ $< + + ## Converse load balancers (seed balancers, -balance) +-$(L)/libldb-none.o: cldb.none.c $(CVHEADERS) ++$(L)/libldb-none.a: cldb.none.c $(CVHEADERS) + $(CHARMC) -o $@ cldb.none.c + +-$(L)/libldb-rand.o: cldb.rand.c cldb.h $(CVHEADERS) ++$(L)/libldb-rand.a: cldb.rand.c cldb.h $(CVHEADERS) + $(CHARMC) -o $@ cldb.rand.c + +-$(L)/libldb-neighbor.o: cldb.neighbor.c cldb.neighbor.h graph.h $(CVHEADERS) ++$(L)/libldb-neighbor.a: cldb.neighbor.c cldb.neighbor.h graph.h $(CVHEADERS) + $(CHARMC) -o $@ cldb.neighbor.c + +-$(L)/libldb-workstealing.o: cldb.workstealing.c cldb.workstealing.h graph.h $(CVHEADERS) ++$(L)/libldb-workstealing.a: cldb.workstealing.c cldb.workstealing.h graph.h $(CVHEADERS) + $(CHARMC) -o $@ cldb.workstealing.c + +-$(L)/libldb-spray.o: cldb.spray.c $(CVHEADERS) ++$(L)/libldb-spray.a: cldb.spray.c $(CVHEADERS) + $(CHARMC) -o $@ cldb.spray.c + + +@@ -565,138 +565,138 @@ $(L)/libldb-spray.o: cldb.spray.c $(CVHEADERS) + #//$(L)/libldb-prioritycentralizedopt.o: cldb.prioritycentralizedopt.c cldb.prioritycentralizedopt.h $(CVHEADERS) + #// $(CHARMC) -o $@ cldb.prioritycentralizedopt.c + +-$(L)/libldb-test.o: cldb.test.c $(CVHEADERS) ++$(L)/libldb-test.a: cldb.test.c $(CVHEADERS) + $(CHARMC) -o $@ cldb.test.c + +-$(L)/libldb-bluegene.o: cldb.bluegene.c $(CVHEADERS) ++$(L)/libldb-bluegene.a: cldb.bluegene.c $(CVHEADERS) + $(CHARMC) -o $@ cldb.bluegene.c + + ## Memory allocation libraries (-memory) + MEM_DEPS=memory.c memory-gnu.c memory-gnuold.c converse.h conv-mach.h $(CVHEADERS) +-$(L)/libmemory-default.o: $(MEM_DEPS) ++$(L)/libmemory-default.a: $(MEM_DEPS) + $(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_DEFAULT memory.c + +-$(L)/libmemory-os.o: $(MEM_DEPS) ++$(L)/libmemory-os.a: $(MEM_DEPS) + $(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS memory.c + +-$(L)/libmemory-os-verbose.o: memory-verbose.c $(MEM_DEPS) ++$(L)/libmemory-os-verbose.a: memory-verbose.c $(MEM_DEPS) + -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_VERBOSE memory.c || touch $@ + +-$(L)/libmemory-os-paranoid.o: memory-paranoid.c $(MEM_DEPS) ++$(L)/libmemory-os-paranoid.a: memory-paranoid.c $(MEM_DEPS) + -$(CHARMC) -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_PARANOID memory.c || touch $@ + +-$(L)/libmemory-os-leak.o: $(MEM_DEPS) ++$(L)/libmemory-os-leak.a: $(MEM_DEPS) + -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_LEAK memory.c || touch $@ + +-$(L)/libmemory-os-isomalloc.o: memory-isomalloc.c $(MEM_DEPS) ++$(L)/libmemory-os-isomalloc.a: memory-isomalloc.c $(MEM_DEPS) + -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_ISOMALLOC memory.c || touch $@ + +-$(L)/libmemory-os-lock.o: memory-lock.c $(MEM_DEPS) ++$(L)/libmemory-os-lock.a: memory-lock.c $(MEM_DEPS) + -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_LOCK memory.c || touch $@ + +-$(L)/libmemory-os-charmdebug.o: memory-charmdebug.c $(MEM_DEPS) ++$(L)/libmemory-os-charmdebug.a: memory-charmdebug.c $(MEM_DEPS) + -$(CHARMC) -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_CHARMDEBUG memory.c || touch $@ + +-$(L)/libmemory-os-wrapper.o: memory-os-wrapper.C $(MEM_DEPS) ++$(L)/libmemory-os-wrapper.a: memory-os-wrapper.C $(MEM_DEPS) + -$(CHARMC) -o $@ memory-os-wrapper.C || touch $@ + +-$(L)/libmemory-hooks-charmdebug.o: memory-charmdebug.c $(MEM_DEPS) ++$(L)/libmemory-hooks-charmdebug.a: memory-charmdebug.c $(MEM_DEPS) + -$(CHARMC) -o $@ -DCMK_MEMORY_BUILD_GNU_HOOKS -DCMK_MEMORY_BUILD_CHARMDEBUG memory.c || touch $@ + + # If the system doesn't have sbrk, these compilations may fail. + # This is OK, but then we can't use "-memory gnu" or friends. +-$(L)/libmemory-gnu.o: $(MEM_DEPS) ++$(L)/libmemory-gnu.a: $(MEM_DEPS) + -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_GNU memory.c || touch $@ + +-$(L)/libmemory-gnuold.o: $(MEM_DEPS) ++$(L)/libmemory-gnuold.a: $(MEM_DEPS) + -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_GNUOLD memory.c || touch $@ + +-$(L)/libmemory-verbose.o: memory-verbose.c $(MEM_DEPS) ++$(L)/libmemory-verbose.a: memory-verbose.c $(MEM_DEPS) + -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_VERBOSE memory.c || touch $@ + +-$(L)/libmemory-paranoid.o: memory-paranoid.c $(MEM_DEPS) ++$(L)/libmemory-paranoid.a: memory-paranoid.c $(MEM_DEPS) + -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_PARANOID memory.c || touch $@ + +-$(L)/libmemory-leak.o: memory-leak.c $(MEM_DEPS) ++$(L)/libmemory-leak.a: memory-leak.c $(MEM_DEPS) + -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_LEAK memory.c || touch $@ + +-$(L)/libmemory-cache.o: memory-cache.c $(MEM_DEPS) ++$(L)/libmemory-cache.a: memory-cache.c $(MEM_DEPS) + -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_CACHE memory.c || touch $@ + +-$(L)/libmemory-isomalloc.o: memory-isomalloc.c $(MEM_DEPS) ++$(L)/libmemory-isomalloc.a: memory-isomalloc.c $(MEM_DEPS) + -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_ISOMALLOC memory.c || touch $@ + +-$(L)/libmemory-charmdebug.o: memory-charmdebug.c $(MEM_DEPS) ++$(L)/libmemory-charmdebug.a: memory-charmdebug.c $(MEM_DEPS) + -$(CHARMC) -I. -optimize -o $@ -DCMK_MEMORY_BUILD_CHARMDEBUG memory.c || touch $@ + +-$(L)/libmemory-charmdebug-slot.o: memory-charmdebug.c $(MEM_DEPS) ++$(L)/libmemory-charmdebug-slot.a: memory-charmdebug.c $(MEM_DEPS) + -$(CHARMC) -I. -optimize -o $@ -DCMK_MEMORY_BUILD_CHARMDEBUG -DCMK_SEPARATE_SLOT memory.c || touch $@ + +-$(L)/libmemory-charmdebug-mmap.o: memory-charmdebug.c $(MEM_DEPS) ++$(L)/libmemory-charmdebug-mmap.a: memory-charmdebug.c $(MEM_DEPS) + -$(CHARMC) -I. -optimize -o $@ -DCMK_MEMORY_BUILD_CHARMDEBUG -DCPD_USE_MMAP memory.c || touch $@ + +-$(L)/libmemory-charmdebug-mmap-slot.o: memory-charmdebug.c $(MEM_DEPS) ++$(L)/libmemory-charmdebug-mmap-slot.a: memory-charmdebug.c $(MEM_DEPS) + -$(CHARMC) -I. -optimize -o $@ -DCMK_MEMORY_BUILD_CHARMDEBUG -DCPD_USE_MMAP -DCMK_SEPARATE_SLOT memory.c || touch $@ + + ## Thread libraries (-thread) + + LIBTHREADSDEPS = threads.c $(CVHEADERS) QUICK_THREADS + +-$(L)/libthreads-default.o: $(LIBTHREADSDEPS) ++$(L)/libthreads-default.a: $(LIBTHREADSDEPS) + $(CHARMC) -o $@ -DCMK_THREADS_BUILD_DEFAULT=1 -IQuickThreads -I. threads.c + +-$(L)/libthreads-default-tls.o: $(LIBTHREADSDEPS) ++$(L)/libthreads-default-tls.a: $(LIBTHREADSDEPS) + -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_DEFAULT=1 -DCMK_THREADS_BUILD_TLS=1 -IQuickThreads -I. threads.c 2> /dev/null || touch $@ + +-$(L)/libthreads-qt.o: $(LIBTHREADSDEPS) ++$(L)/libthreads-qt.a: $(LIBTHREADSDEPS) + $(CHARMC) -o $@ -DCMK_THREADS_BUILD_QT=1 -IQuickThreads threads.c + +-$(L)/libthreads-qt-tls.o: $(LIBTHREADSDEPS) ++$(L)/libthreads-qt-tls.a: $(LIBTHREADSDEPS) + -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_QT=1 -DCMK_THREADS_BUILD_TLS=1 -IQuickThreads threads.c 2> /dev/null || touch $@ + +-$(L)/libthreads-context.o: $(LIBTHREADSDEPS) ++$(L)/libthreads-context.a: $(LIBTHREADSDEPS) + -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_CONTEXT=1 -IQuickThreads threads.c || touch $@ + +-$(L)/libthreads-context-tls.o: $(LIBTHREADSDEPS) ++$(L)/libthreads-context-tls.a: $(LIBTHREADSDEPS) + -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_CONTEXT=1 -DCMK_THREADS_BUILD_TLS=1 -IQuickThreads threads.c 2> /dev/null || touch $@ + +-$(L)/libthreads-uJcontext.o: $(LIBTHREADSDEPS) uJcontext.c ++$(L)/libthreads-uJcontext.a: $(LIBTHREADSDEPS) uJcontext.c + -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_JCONTEXT=1 -IQuickThreads -I. threads.c || touch $@ + +-$(L)/libthreads-uJcontext-tls.o: $(LIBTHREADSDEPS) uJcontext.c ++$(L)/libthreads-uJcontext-tls.a: $(LIBTHREADSDEPS) uJcontext.c + -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_JCONTEXT=1 -DCMK_THREADS_BUILD_TLS=1 -IQuickThreads -I. threads.c || touch $@ + +-$(L)/libthreads-pthreads.o: $(LIBTHREADSDEPS) ++$(L)/libthreads-pthreads.a: $(LIBTHREADSDEPS) + -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_PTHREADS=1 -IQuickThreads threads.c || touch $@ + +-$(L)/libthreads-fibers.o: $(LIBTHREADSDEPS) ++$(L)/libthreads-fibers.a: $(LIBTHREADSDEPS) + -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_FIBERS=1 -IQuickThreads threads.c 2> /dev/null || touch $@ + +-$(L)/libthreads-stackcopy.o: $(LIBTHREADSDEPS) ++$(L)/libthreads-stackcopy.a: $(LIBTHREADSDEPS) + -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_STACKCOPY=1 -IQuickThreads threads.c || touch $@ + +-$(L)/libthreads-memoryalias.o: $(LIBTHREADSDEPS) ++$(L)/libthreads-memoryalias.a: $(LIBTHREADSDEPS) + -$(CHARMC) -o $@ -DCMK_THREADS_ALIAS_STACK=1 -DCMK_THREADS_BUILD_DEFAULT=1 -IQuickThreads threads.c || touch $@ + +-$(L)/libthreads-qt-memoryalias.o: $(LIBTHREADSDEPS) ++$(L)/libthreads-qt-memoryalias.a: $(LIBTHREADSDEPS) + -$(CHARMC) -o $@ -DCMK_THREADS_ALIAS_STACK=1 -DCMK_THREADS_BUILD_QT=1 -IQuickThreads threads.c || touch $@ + +-$(L)/libthreads-context-memoryalias.o: $(LIBTHREADSDEPS) ++$(L)/libthreads-context-memoryalias.a: $(LIBTHREADSDEPS) + -$(CHARMC) -o $@ -DCMK_THREADS_ALIAS_STACK=1 -DCMK_THREADS_BUILD_CONTEXT=1 -IQuickThreads threads.c || touch $@ + +-$(L)/libthreads-uJcontext-memoryalias.o: $(LIBTHREADSDEPS) ++$(L)/libthreads-uJcontext-memoryalias.a: $(LIBTHREADSDEPS) + -$(CHARMC) -o $@ -DCMK_THREADS_ALIAS_STACK=1 -DCMK_THREADS_BUILD_JCONTEXT=1 -IQuickThreads -I. threads.c || touch $@ + + ## Global swapping (-swapglobal) +-swapglobal-target: $(L)/libglobal-swap.o $(L)/libglobal-copy.o $(L)/loadsym.o ++swapglobal-target: $(L)/libglobal-swap.a $(L)/libglobal-copy.a $(L)/loadsym.a + +-$(L)/libglobal-swap.o: global-elfgot.C $(CVHEADERS) ++$(L)/libglobal-swap.a: global-elfgot.C $(CVHEADERS) + -$(CHARMC) -c global-elfgot.C -o $@ || touch $@ + +-$(L)/libglobal-copy.o: global-elfcopy.C $(CVHEADERS) ++$(L)/libglobal-copy.a: global-elfcopy.C $(CVHEADERS) + -$(CHARMC) -c global-elfcopy.C -o $@ || touch $@ + +-$(L)/loadsym.o: loadsym.c $(CVHEADERS) ++$(L)/loadsym.a: loadsym.c $(CVHEADERS) + -$(CHARMC) -c loadsym.c -o $@ || touch $@ + + ############################################################################### +diff --git a/src/scripts/charmc b/src/scripts/charmc +index 4d37a6b..ee4e76c 100755 +--- a/src/scripts/charmc ++++ b/src/scripts/charmc +@@ -340,6 +340,14 @@ printVersion() + echo Charm++ Version $version + } + ++getLibraryObject() ++{ ++ if [[ -f "${CHARMLIB}/$1-$2.a" ]]; then ++ echo "${CHARMLIB}/$1-$2.a" ++ else ++ echo "${CHARMLIBSO}/$1-$2.so" ++ fi ++} + + ############################################################################## + # +@@ -1616,13 +1624,12 @@ then + fi + + BAL_EXT=`getExtention $BALANCE` +-if [ -z "$BAL_EXT" ] +-then +-# Balance has no extention-- is a library reference +- BAL_OBJ="$CHARMLIB/libldb-$BALANCE.o" ++if [[ -z "$BAL_EXT" ]]; then ++ # Balance has no extension-- is a library reference ++ BAL_OBJ=$(getLibraryObject "libldb" ${BALANCE}) + else +-# Balance has some extention-- must be a .o or .a file +- BAL_OBJ="$BALANCE" ++ # Balance has some extension-- must be a .o or .a file ++ BAL_OBJ="$BALANCE" + fi + + Debug "Finished with BAL_OBJ=$BAL_OBJ, TRACEMODE=$TRACEMODE..." +@@ -1638,10 +1645,11 @@ then + fi + fi + ++Debug "Finished with BAL_OBJ=$BAL_OBJ, TRACEMODE=$TRACEMODE..." + + # Check for valid choice of MEMORY + +-MEM_OBJ="$CHARMLIB/libmemory-$MEMORY.o" ++MEM_OBJ=$(getLibraryObject "libmemory" ${MEMORY}) + + if [ ! -r $MEM_OBJ -o ! -s $MEM_OBJ ] + then +@@ -1652,7 +1660,7 @@ fi + # For memory wrapping around the OS allocator, need to add also the wrapper object + case $MEMORY in + os-*) +- MEM_OBJ=$MEM_OBJ" $CHARMLIB/libmemory-os-wrapper.o" ++ MEM_OBJ="${MEM_OBJ} $(getLibraryObject 'libmemory' 'os-wrapper')" + ;; + esac + +@@ -1670,7 +1678,8 @@ then + THREAD=${THREAD}-tls + fi + fi +-THREAD_OBJ="$CHARMLIB/libthreads-$THREAD.o" ++ ++THREAD_OBJ=$(getLibraryObject "libthreads" ${THREAD}) + + if [ ! -r $THREAD_OBJ -o ! -s $THREAD_OBJ ] + then +@@ -1836,7 +1845,7 @@ esac + + if [ "$BUILD_SHARE" = "0" ] + then +- MIDDLE_LIBS="$MEM_OBJ $THREAD_OBJ $MIDDLE_LIBS" ++ MIDDLE_LIBS="$MIDDLE_LIBS $MEM_OBJ $THREAD_OBJ" + fi + + if [ "$CHARM_SHARED" = "1" ] +@@ -1848,17 +1857,17 @@ then + then + LANG_LIBS="-L$CHARMLIBSO $OBJECTFILES $PRE_LIBRARIES" + else +- LANG_LIBS="-L$CHARMLIBSO $BAL_OBJ $OBJECTFILES $modInitObj $PRE_LIBRARIES" ++ LANG_LIBS="-L$CHARMLIBSO $OBJECTFILES $modInitObj $PRE_LIBRARIES" + fi + else +- LANG_LIBS="-L$CHARMLIB -I$CHARMINC $BAL_OBJ $OBJECTFILES $modInitObj $PRE_LIBRARIES" ++ LANG_LIBS="-L$CHARMLIB -I$CHARMINC $OBJECTFILES $modInitObj $PRE_LIBRARIES" + fi + if [ "$TRACE_WITH_TAU" = 1 ] + then + echo "Linking with the TAU libraries: $TAU_LIBS" +- ALL_LIBS="$LANG_LIBS $MIDDLE_LIBS $CMK_LIBS $POST_LIBRARIES $CMK_SYSLIBS $TAU_LIBS" ++ ALL_LIBS="$LANG_LIBS $MIDDLE_LIBS $BAL_OBJ $CMK_LIBS $POST_LIBRARIES $CMK_SYSLIBS $TAU_LIBS" + else +- ALL_LIBS="$LANG_LIBS $MIDDLE_LIBS $CMK_LIBS $POST_LIBRARIES $CMK_SYSLIBS" ++ ALL_LIBS="$LANG_LIBS $MIDDLE_LIBS $BAL_OBJ $CMK_LIBS $POST_LIBRARIES $CMK_SYSLIBS" + fi + Debugf "All libraries are: $ALL_LIBS" + +-- +1.8.1.5 + diff --git a/sys-cluster/charm/metadata.xml b/sys-cluster/charm/metadata.xml new file mode 100644 index 000000000000..0bc87aff66bb --- /dev/null +++ b/sys-cluster/charm/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>nicolasbock@gentoo.org</email> + <name>Nicolas Bock</name> + </maintainer> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <use> + <flag name="ampi">Build implementation of MPI on top of Charm++</flag> + <flag name="charmdebug">Enable the charm debugger</flag> + <flag name="charmproduction">Optimize performance of Charm++ runtime</flag> + <flag name="charmtracing">Enable tracing support in Charm++</flag> + <flag name="cmkopt">Enable CMK optimisation</flag> + <flag name="mlogft">Compile with Charm++ message logging fault tolerance support</flag> + <flag name="numa">Support memory affinity with NUMA</flag> + <flag name="syncft">Compile with Charm++ fault tolerance support</flag> + <flag name="tcp">Use TCP (instead of UPD) for socket communication</flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/charmdebug/Manifest b/sys-cluster/charmdebug/Manifest new file mode 100644 index 000000000000..482ae85535d0 --- /dev/null +++ b/sys-cluster/charmdebug/Manifest @@ -0,0 +1,5 @@ +DIST charmdebug_6.2.0.tar.gz 269703 SHA256 858074b59f8eff1870a75f3b52b194122c1c31d06b65bf3b1209592cf73b6d96 SHA512 03f894c36d4231381cac22c05bc08b6673c3df23259f44539b8bea5c8e812ce53124e832f0df789c45aa15cfbfb3edb69bc4634c1839cef3b42340b19094f5e2 WHIRLPOOL c6705d7c5532d9ffdb959af1fd980998b47642feb06784a058439b69e605821cbd59c167579af932cc1deb355c3de42aca44409f9ab0382acbd72aa5cbef48c0 +EBUILD charmdebug-6.2.0-r1.ebuild 637 SHA256 97cceb8d4ab10380ea1f912fec55bf43000c4d00e4598c935ed024d9d6615633 SHA512 54537a76b89cff5d9bedb67fcb6b4dc42bb6d23c3740d8968dc43140571761b3a460aa177dd2df8166d2e20dee31fa8f8b7403226b3a404ed4c528bb48801cf8 WHIRLPOOL 3cccf48e283a32b97c3e16854423116ab025f4650839a103afb221f48b4c8464258ee1821ad48401ec141c306b2311bec315ce901e3d5820decc9cd9d3b9d244 +MISC ChangeLog 2445 SHA256 23abbbf9ab204c93a96800709ef53e2a120082d136abe8684c3c80ec3c65c706 SHA512 794c0eb4b67385f87f1ceea3b8143f8cfc4202665b6d15f755b0631d3852f34dc65edaa5439efd67b4bcebdc522b46b87495f2574157a5ad84330e4ad2585670 WHIRLPOOL 3e3dda1bae21f0287a3872413f5cd8c25feef72148ebbff934e7c75cafd7a971fad811c139a1e792304f2cd9a5e93f8dbc20450e8d72d8b7c1b15bc295506ada +MISC ChangeLog-2015 513 SHA256 4852bcbb6440180755fbd5a6193036d83fd9b637fb2764cb4d9b662f09be7f0a SHA512 df4e230e7038513c39df174ca2b3eff2d363f00f0adb01b0d0ba22162c98baa7a555cbd252680337ed0583e24d2785df5fe4e7bb39d5a7598c0e01c2eac09359 WHIRLPOOL 5d4135d0336dfe524212cdab48a60d2535262703a35d270898866ff13359efbdb7bc6e718fe8fb1b0d07dc0f1d7306b1f2ca5f1a4fadae895b749620c053b60e +MISC metadata.xml 363 SHA256 cf6240d8dbc499458d8d87988a68859a852f74f406280f22e614d96ae2bf6eac SHA512 49a2f641562ba04ec39effc18cd4a917e6147307f6c780836d60db936b7d38ed9144a816420c00096290ca16256cb5cc88913d481a6e838498ab2ac9775c22d1 WHIRLPOOL 7458c4ca458d8e407eb22366ec833115bfe39ba11c748a7a8e47fe625be1d643393618aa58e39362d3b073d5b86132d1cd4be00c6cc24fe63adbd2de5ef0f8fe diff --git a/sys-cluster/charmdebug/charmdebug-6.2.0-r1.ebuild b/sys-cluster/charmdebug/charmdebug-6.2.0-r1.ebuild new file mode 100644 index 000000000000..117b686bf762 --- /dev/null +++ b/sys-cluster/charmdebug/charmdebug-6.2.0-r1.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit java-pkg-2 + +DESCRIPTION="A debugger for Charm++ applications" +HOMEPAGE="http://charm.cs.uiuc.edu/" +SRC_URI="http://charm.cs.illinois.edu/distrib/binaries/charmdebug/charmdebug_${PV}.tar.gz" + +S="${WORKDIR}/${PN}" + +LICENSE="charm" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND=" + >=virtual/jre-1.6 + sys-cluster/charm[charmdebug,-smp]" + +src_install() { + java-pkg_newjar ${PN}.jar + java-pkg_dolauncher ${PN} \ + --main charm/debug/ParDebug \ + --jar ${PN}.jar \ + --java_args -ms100000000 -mx512000000 +} diff --git a/sys-cluster/charmdebug/metadata.xml b/sys-cluster/charmdebug/metadata.xml new file mode 100644 index 000000000000..d61970e70ce8 --- /dev/null +++ b/sys-cluster/charmdebug/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>nicolasbock@gentoo.org</email> + <name>Nicolas Bock</name> + </maintainer> +<maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/cinder/Manifest b/sys-cluster/cinder/Manifest new file mode 100644 index 000000000000..9a35f5ae7af5 --- /dev/null +++ b/sys-cluster/cinder/Manifest @@ -0,0 +1,28 @@ +AUX cinder.initd 757 SHA256 704a0e4a5f324e07eccff8842e1ba49278bd3192945e980e213348b339cf0103 SHA512 4307742f874357d322d075e59adeaa6abe3cc099df5fcea4507d8803cb9fe662a83d149fa57002e290c9f88a064c566984772fedf5786988d922fdd687df59d8 WHIRLPOOL aa31d00c766cf711135cd983669976c9c5a450bf17cb3f931645e6efb21abd20c6431a8db8c99632b35cfd66d822bca2d748cb8a16732de3425176c8450ff8b8 +AUX cinder.initd-2 494 SHA256 166f4c34e7dd5627fc3ab2461d5ba4331348660802884c08213960c7bd218825 SHA512 04672a7aa12ece606836787cf28992155f15e76ba4038379ed0767c3c9fe9e83a5008a2357c272f522341bf3e7d3b2a60edd9095acf7e66ef16eb45f1e8a06e4 WHIRLPOOL 6f7bb713179e387c37f1e6e6431b293fe1114ef4601e9ccf54dee0397df95aa37b7ea2d247aeb10279af869ad70e21b2802928fd8f0c35fca2ee2391d8411ee1 +AUX cinder.sudoersd 86 SHA256 a2c2b8f50b21deaceaa2184c00725492cd96db44736cb3fe4bf4aaecc0805b6f SHA512 c158be54e721abc6916db2e710092ca75aac65ac88b19849ccd0f3ebbb7c8879aab6b73aba36537e806abd5b8b5e8fbc24fca79d00015d3308198d5270e51fe1 WHIRLPOOL 52642c53b34b089fb9c82c1307c02cd611ea834492a2919a12902bc974a146348a3dcde3db6058eb417395acaff8131398e70fbfa74c7325abcd695102f372c3 +AUX etc.liberty/api-httpd.conf 572 SHA256 603324371bf142b586e28b1b552689e18a2abcc70ad3a270410fe7d5948ce2c9 SHA512 47e86f6245c2d241d9573932e26391a455d546f7ef0cd94c608c563ea4be4599711fe783c8735bcd0095ad57a55409ae96dcf938ee95024b2225ab8450cfc5b1 WHIRLPOOL 4d991a109c8c6316c42bf0856bd04fd2113198b2552603bbfe4e56dbc4fa62d2c5c8c5abbb47a4cd3384ea20e679a9dc81c0fe160dba4b97be7b101078eb47a6 +AUX etc.liberty/api-paste.ini 1865 SHA256 092270fccc1ab3deb7ff75a345023ffb3cc6d47d28f5324f0f741b5a3531279e SHA512 6ceee5c19dffb8909f7372e9388215bc02acfa69e7d07ccc8278c8702ca25c65be869a8cbea1b2b67f8602d24f0d5bbe07e26d19a44febbb5a9a627e3c3cbad2 WHIRLPOOL 8199bf839e0b478d6a2d94b369dd6ffd7827795c67866380c540c0c6bc061c2b078611b00c9a7301a94d20c6d651083d5619b792213704e76f7cb1eac2733b98 +AUX etc.liberty/logging_sample.conf 1758 SHA256 904eb4c3c9f0ebf07597d7e6da40352ad66bcd4e31a2d201be0081c69d3a1cb4 SHA512 7e5d747b6ceb6458e332fe2741a45f7c095f0bb3c0b4c030839a15f4eb8a1b4e667062ed069ba80901ee496d85aa153c694ef99573650e4426eda0e2de454141 WHIRLPOOL bbbd0ef11c19dc273df651f0702bd507f21936afdf24544b8bc2b80cccb38a881b6c6fe3f21852013f5b050ccedcaed46ecb1d27f799aaec6b8011a07c21fdde +AUX etc.liberty/policy.json 4623 SHA256 b69e7f2863f5170342daa38daaf5c1d8c0bb264ac7b99e8ce717517e4312d738 SHA512 441a7c6d4a7ff9697ab4498184e4e4daf4f35884aa1e00c44152ee933a924f022008d32e8a5348cad341b50275404cb95c90bc2f3d9f015b77ea61b61764e730 WHIRLPOOL fa0637b761daab66ff37756587ea41fd7116b8be14e1f52ac662dadfae4eb21352fa55e12bbaf91e594bd8daf87a87537d889b1adb1cb496a31429c3bacfbd5b +AUX etc.liberty/rootwrap.conf 973 SHA256 f12fde48864a16fa12d93e09878d7f73af484d54078274081d1d35c680a4d257 SHA512 f4a52193883bae792e202711979c7d850f5823ca1bdca4fa6b32e89f0ea13af92e8065ffb39c363b2ce6220c039d1a1ff23fa1af381e68714eba6ff76c16a9f7 WHIRLPOOL 85e30b358f9e0fd8115636c4a3e9c5e14ba364341a9a63979568b083c5e123a7858d0077d911708c68636b79dc5fd7b706ec8131b712934ace738bbf869a21db +AUX etc.liberty/rootwrap.d/volume.filters 9478 SHA256 3bcb6b7786c63b41315ebf524b6fc253e4fba572448ce1bc099f35cf3ddefa07 SHA512 ed5f9456eee9c72aa5e72a745f6f4958bade85d34cd7ee6cdf6c082d69a20bf4f9e46e600b3944dcf63cb744d3ffb3c9c4412e50b8762f254d7b59bb561500d5 WHIRLPOOL d7aa8a444d74fabe515948f31007d13d5da0d36002d5f1b01ef2934f6e8664bf9a8c22b265f378e6dcde98dd79e8e5b043c4ebd569abf44e903210df824f9cae +DIST cinder-10.0.6.tar.gz 4624145 SHA256 af89e1190dd0b045f62acb439c9fedfcc0118d5d2863f5d7257db7608d210293 SHA512 28c84260909d0c1a9b0cd6a7409dad3e09d0d7bd662b8ca61c6c3ca04fb797723bc0f4df7db3a6951d1ce354a84b907bf1832190c02a5992c8ac70cf95fb00b9 WHIRLPOOL 71f6312a0f74e7496df526e82dc0cf8b128de03ba9096f54e158b885cfae66824c8253111b44514e26fd91edc3c5e15d87ad2122fa8db3d8af10fd9194c51f0a +DIST cinder-11.0.0.tar.gz 5783539 SHA256 aabf824876b95c0422d7660ed4d03e89e43043928c5294fcf058e0613a02f602 SHA512 2b51879d65f195c433244f696978822c16e92f5aaeebecc970e94d11589ad62452cf46c5925fdf2fce25251dd5bf52db338959e5a9d14047e7faf41f1319153e WHIRLPOOL 8a2fcfacd3ad839237192698e6a6942564ce1f9e0c51635be7ea50ae10e2afb122378e043ad604b5adeda6646d557f8dda005e80b6bd803e4d57362dbfefa0b3 +DIST cinder-9.1.4.tar.gz 4195597 SHA256 ee8a2ca264a41c8f4ed48094722d683cffae99cee910f19a140b0d1d0f5251a4 SHA512 8039d5208296ea54fc869fb05dd91451ac3575eb3dd2ed97d0c63120d18b67b02b835a849cd1ec3dae349920895e13665c15a6daa53f67138823053c49ab87a9 WHIRLPOOL f2fd2bbba72d2f74f1395f2b280ed3304ecec37c9bcdc7b73a104d19698dad123ffdbce58249c426245c68584eb7a10a640f38a9192933d8db30a7f45b79c48e +DIST newton-cinder-policy.json 6412 SHA256 3a140134201452c52a97eae9f4c45ea30a3a21cc7a30ee619ed37ab0723b6479 SHA512 3473b5790487bd037d54e4a1a89bab9d145bc34d137d52da2b6b311d2dfee2344fec75c6c96bc518a3e0b175fbd6cde71fb546406c0ef835898e3c1c88eb6d56 WHIRLPOOL f34dc729425fd82ddd9905c675fca9b765b4535dc87ec9d94acd1781c331e466f8688aace4954532e376e704cf3f1c8f4103f22e6838d4403c10311358e1ed2b +DIST newton-cinder-volume.filters 11025 SHA256 c36bdb9abb4d97350db9971dae1c44a713911920362a0c6c5bc3cfe2701dd4f6 SHA512 311a636180a18bb45867d55f9d33f1eff053cc7b278b41149c58a14450ff8e6d2016d749cc3fb81d1976c4ab78f7701a908bd9c81eb6e9da31c20820a4eaff3d WHIRLPOOL 7496fffec8e42eb1c3bea39563cef8d48cb607b7de1ba8a4ac9a831b6def3dcbcfdf7d485aa81f52aa9bdf7600a51ba07ff85fbf88c5c70091ad88f8c01ca37e +DIST newton-cinder.conf.sample 50793 SHA256 5179c86590fb5c9477ec838f1ccb8cd9c481e8c31384eb7a012f296c68e0ddc1 SHA512 bf3b5fa262d7df57ca8a496724df449eb6c49ea951c1384b216af334db7cb948af5f7a5f24ddcebd4c80cca40da65e8aaa3a65f09ae2e184794ec1bf9bf466db WHIRLPOOL 7798325f7da5e236d49c8aec4218ef1e50e8e1bf8466f5fdb7b51844c5e6059868c9e4286afecefa637acd0e1df5315de2ac787947a31f4c51978529a54e1862 +DIST ocata-cinder-policy.json 6614 SHA256 992b4454d27cacf1c61c10d7c412b2b9673e798029c55747106c31f341bc8800 SHA512 6a3da28674e7bf828a2be8de0b41e6abe59567d0abf2a41781580ba611ca888e072960f3e702e834a1599e6bbb49beb1cd37f7a32e35afaf8dfc73f2852e2302 WHIRLPOOL a60659ee3007417a27dab2b4d4a7b75693b44f185107e951698bc3ae2b472777c8dc208bae1149c81ebf4288aabb37323bec07952105c7e560cec4d8bacf1a92 +DIST ocata-cinder-volume.filters 11067 SHA256 831d60708583b716376e6e68c69d1f5e7ce103010e7831b136fc332f62f84373 SHA512 9600ca77a63db04844ab9d658ffd0d97abe1c669d91f69d126b364b2700d749cd45d7df1e31ffd7e80698157e9267c3138cae098f36d77995bab73afdf32ff9f WHIRLPOOL a0d1bdcf9b36365cdd7c7acc6674bee41aaf1b57cdb35bc5972b9339ca8811e68200d50fa1821065582d0326fca5bf7e89b9c03cfeca77997845dd0a6a9571a8 +DIST ocata-cinder.conf.sample 173024 SHA256 995620f977f2d8ea479985b523824170769aeb2c80e255a1f29bab16e869977b SHA512 bbecf45ad20b3193023a137b5c3237dfc15bd6a232dda5de631096bf55916eb0fffba7506eeffdc1a3c848ac042cb286dea44387ff0eef84ec7bbcaffb4aa58e WHIRLPOOL 8a51471ec37dbe7211b9a0f87c855a34b8641993ed7b8d6c9ae633d2f58e8c112988421032730dbe3fed642de89d0cd2dd347247cc8aeca163134f5334fb68f2 +DIST pike-cinder.conf.sample 185310 SHA256 be8aa4e31f2854a100628188ea6536cd27788c4979b8072b98f35ac895ba9797 SHA512 12c44b7a31888fbf4c70e037a2f5d0b778018e10bd0fc1cb97391bbe2fc6f97bbe4bec0d1504513ee0235ce50decda6883fe64a7d8fd5e329d8ad73e6bb74654 WHIRLPOOL bcf799affb6c2b9adfd133b0630fb1cd4f4a185c3e1ed583d0610b3dc1160757d4a63766df7f2896eefb12a70f0544072a485ef62c8a59c1917eceb730029648 +EBUILD cinder-10.0.6.ebuild 7077 SHA256 2f01351304d809ade448e3c4aac534058852854f51a809c7a3af7ac3f9c6cba4 SHA512 3f1927bd233f73687f25d27d99455fbea611e12e335295eabf9752cc287cf5fa128b2d43f49d08186a0f61dda7f935338b81fc63a534292ad5170b94827ea458 WHIRLPOOL 19a58c8318932263281e3bdff9e3f03a8cd4f9c46de014c56399d17b3b8cf2144e74ac7ba84141b33e6f571c265107ec92a6644c96794d094b33edcfd8175066 +EBUILD cinder-11.0.0.ebuild 7750 SHA256 bb3c0ac5365cd10d48dc954e6c7a3b6a815a7884d487dbf9323b00cd913d254c SHA512 5b3f1b17225e66a0c169400fe9a65abe3e8842325daa0e7bf205c4a9306e625696f431a1b512e378a5da7534cf916f74afa352382ecb9721a1f8e95b35e6d7aa WHIRLPOOL 7bc575f6de9b3ac68b9afc3859f60df2192d999de9cebe34573b7b6f79fc7414e4f25f505caa1ff1a3b0a19f9a61de0eca29c2bc9d3b5dbe8a732da00e278445 +EBUILD cinder-2016.2.9999.ebuild 7156 SHA256 1c96ee04f1199e193610d373e606263041259296796d84493de974af5ca16777 SHA512 e4f341ae8f2cf9a6e3d4c59a8a84f7877bdee83dfd957fd9dc6d0073cd71befd67da1783e3875d68a750b30269903e6ea4184531a189e4b067c237d5b261d6cb WHIRLPOOL 07b0028f0b72e0d8b33203d4a667d54794007c9a0c7fc80b7fa2bdc5ce38765c461df2d0ea6ac06eef77986205fb9f7317d2d22c9c266820370b78a7f3540b34 +EBUILD cinder-2017.1.9999.ebuild 7102 SHA256 543076aecf49af74e25ad111f16cbf470dd728f8a8b0433b807b201e2c979796 SHA512 fe32fd7e9aa2320198b8fa4ecfb0d69fa1455c4e98ded2723ea84a33851f2e3c13959a586f7eb34879b09f49b249a7d43e317c0473d01cb7ec9817487737ae15 WHIRLPOOL a060b160f14a4d83565b517b3cce223cd31e70bbc66712a45c8bf2d858a3626eec8fdfd3a419cd2453a40540ce14faec0f97cfa9600de695b4371970e30bd8f4 +EBUILD cinder-2017.2.9999.ebuild 7774 SHA256 601e0785cbfccb2f05983cdaaa4878ee3b50abf465690c2084e96bd175c861b2 SHA512 9c967bac3ff3b02e94de987de3260cbdd67608fdc97da30b77ca41aab41c8dc3372b8f40c6fd1d4c23cabdc2352e780a32bdaa6bcac129d0160a469447eeeb0c WHIRLPOOL c44e9f84c6f9dab30b782423a32b95ff9ce3e1ab728ce33c5a2edb11719b97517204db9241fe0730c9d338e012adb102729b95e0d1185f8334e2545651c4b7da +EBUILD cinder-9.1.4.ebuild 7224 SHA256 d8d8f02ae1a9c2c3032c115be2c225fc5a2757b5d983a8a42c0924a76a38d977 SHA512 8582a735af86c73e64e49f365efee8fe06263f5e228ee83b2e576601b05aca1a500876381710613f1a5ed28ecab4031dae0619ac786f85cbb387e3f6efd19eb1 WHIRLPOOL ac341f92e1674a2b349424f2f439175ec0c17f47bdcdfc14233a4ba32f7c09f5cdc26232c5d9f23220f022eee0a2db669fab79d225af9b89e06c38f66a8e4fd8 +MISC ChangeLog 11312 SHA256 8c18e0202365c8cf9650fb90232026cccab8523580b3d58d5a31feb2365a7916 SHA512 dbd87b5f9ef8ee672cd5974b6f8d9d23ac4c398de68982f1c240d3f39c463b3d8e1764e279dd7b5d7581daa9c1db654880035bbd3f57ac1659adb9c159438344 WHIRLPOOL 92468e210f3bf24e71dc07013218460b16975e1b4dd61e8c2ec5cfa74931592622b48e301d8d86e5b874474663d61f2cf04bcd67e2d723e01f33c463d4e55e9d +MISC ChangeLog-2015 11216 SHA256 6c55aa9191bee1734ca15844357c93fcaed07adcc3a4a4e7e1f3a9eaaa3f1e09 SHA512 ae7725963e418dfed8c911f56904ba0f758946549d60cfcf6931772aba447b891eb5a49a185ebdd0b06f9f4ff9f5f903368490b696c0e6301ec7ca06ba18808c WHIRLPOOL d6e9ec33deda3abe0e371728dc7d281b39f559604c677ca0b0f500f5bd22ced2e815465646ef54e9856f774ff3faa387190bc3b3061c200d1b59a2f4ac9ebd64 +MISC metadata.xml 1244 SHA256 1f5ba22631205cf585efaf21ca2102d52dd0423fc8ee7ec201b858f1d0cafbfb SHA512 fda201e6974bb0af9c24c1384a3bb2dd0a0c630439d7f1955de336f53804070a68426919fd4dc6f864d502c7e9e99a80d1920c740b6dc179f7b46c7f7fb7aef9 WHIRLPOOL bd8a6a467472099a31dc7adbd9be78a74cf18b3c4c83ef74b697ef24f860f903a3a5939de2ce942104b53c199660efd92a32dcca066675a51b2166c2ebf9e63d diff --git a/sys-cluster/cinder/cinder-10.0.6.ebuild b/sys-cluster/cinder/cinder-10.0.6.ebuild new file mode 100644 index 000000000000..50016f1ae5d7 --- /dev/null +++ b/sys-cluster/cinder/cinder-10.0.6.ebuild @@ -0,0 +1,193 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils linux-info user + +DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes" +HOMEPAGE="https://launchpad.net/cinder" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/cinder.conf.sample -> ocata-cinder.conf.sample +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/policy.json -> ocata-cinder-policy.json +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/volume.filters -> ocata-cinder-volume.filters +https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt" +REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + dev-python/enum34[$(python_gen_usedep 'python2_7')] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + virtual/python-ipaddress[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.0.1[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/taskflow-2.7.0[${PYTHON_USEDEP}] + >=dev-python/rtslib-fb-2.1.43[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}] + >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}] + ~dev-python/suds-0.6[${PYTHON_USEDEP}] + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.8.0[${PYTHON_USEDEP}] + >=dev-python/os-win-1.4.0[${PYTHON_USEDEP}] + >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}] + >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}] + >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}] + iscsi? ( + tgt? ( sys-block/tgt ) + sys-block/open-iscsi + ) + lvm? ( sys-fs/lvm2 ) + memcached? ( net-misc/memcached ) + app-emulation/qemu + sys-fs/sysfsutils" +# qemu is needed for image conversion + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="" + if use tcp; then + CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP " + fi + if use rdma; then + CONFIG_CHECK_MODULES+="INFINIBAND_ISER " + fi + if use infiniband; then + CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS" + fi + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled" + done + fi +} + +pkg_setup() { + enewgroup cinder + enewuser cinder -1 -1 /var/lib/cinder cinder +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_test() { + # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727 + nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7" +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/cinder + dodir /etc/cinder/rootwrap.d + + for svc in api scheduler volume; do + newinitd "${FILESDIR}/cinder.initd" cinder-${svc} + done + + insinto /etc/cinder + insopts -m0640 -o cinder -g cinder + doins "etc/cinder/api-httpd.conf" + doins "etc/cinder/logging_sample.conf" + doins "etc/cinder/rootwrap.conf" + doins "etc/cinder/api-paste.ini" + newins "${DISTDIR}/ocata-cinder-policy.json" "policy.json" + newins "${DISTDIR}/ocata-cinder.conf.sample" "cinder.conf.sample" + insinto /etc/cinder/rootwrap.d + newins "${DISTDIR}/ocata-cinder-volume.filters" "volume.filters" + + dodir /var/log/cinder + fowners cinder:cinder /var/log/cinder + + #add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/cinder.sudoersd" cinder +} + +pkg_postinst() { + if use iscsi ; then + elog "Cinder needs tgtd to be installed and running to work with iscsi" + elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf" + fi +} diff --git a/sys-cluster/cinder/cinder-11.0.0.ebuild b/sys-cluster/cinder/cinder-11.0.0.ebuild new file mode 100644 index 000000000000..09d3aaee0a21 --- /dev/null +++ b/sys-cluster/cinder/cinder-11.0.0.ebuild @@ -0,0 +1,209 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils linux-info user + +DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes" +HOMEPAGE="https://launchpad.net/cinder" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/pike/cinder.conf.sample -> pike-cinder.conf.sample +https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt" +REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )" + +CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + !~dev-python/pbr-2.1.0" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + dev-python/enum34[$(python_gen_usedep 'python2_7')] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}] + <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + virtual/python-ipaddress[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}] + !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + !~dev-python/python-barbicanclient-4.5.0[${PYTHON_USEDEP}] + !~dev-python/python-barbicanclient-4.5.1[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}] + >=dev-python/taskflow-2.7.0[${PYTHON_USEDEP}] + >=dev-python/rtslib-fb-2.1.43[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}] + >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] + ~dev-python/suds-0.6[${PYTHON_USEDEP}] + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}] + >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.15.2[${PYTHON_USEDEP}] + >=dev-python/os-win-2.0.0[${PYTHON_USEDEP}] + >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}] + >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}] + >=dev-python/castellan-0.7.0[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.6[${PYTHON_USEDEP}] + !~dev-python/cryptography-2.0[${PYTHON_USEDEP}] + iscsi? ( + tgt? ( sys-block/tgt ) + sys-block/open-iscsi + ) + lvm? ( sys-fs/lvm2 ) + memcached? ( net-misc/memcached ) + app-emulation/qemu + sys-fs/sysfsutils" +# qemu is needed for image conversion + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="" + if use tcp; then + CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP " + fi + if use rdma; then + CONFIG_CHECK_MODULES+="INFINIBAND_ISER " + fi + if use infiniband; then + CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS" + fi + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled" + done + fi +} + +pkg_setup() { + enewgroup cinder + enewuser cinder -1 -1 /var/lib/cinder cinder +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_test() { + # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727 + nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7" +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/cinder + dodir /etc/cinder/rootwrap.d + + for svc in api scheduler volume; do + newinitd "${FILESDIR}/cinder.initd-2" cinder-${svc} + done + + insinto /etc/cinder + insopts -m0640 -o cinder -g cinder + doins "etc/cinder/api-httpd.conf" + doins "etc/cinder/logging_sample.conf" + doins "etc/cinder/rootwrap.conf" + doins "etc/cinder/api-paste.ini" + doins "etc/cinder/policy.json" + doins "etc/cinder/resource_filters.json" + newins "${DISTDIR}/pike-cinder.conf.sample" "cinder.conf.sample" + insinto /etc/cinder/rootwrap.d + doins "etc/cinder/rootwrap.d/volume.filters" + + dodir /var/log/cinder + fowners cinder:cinder /var/log/cinder + + #add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/cinder.sudoersd" cinder +} + +pkg_postinst() { + if use iscsi ; then + elog "Cinder needs tgtd to be installed and running to work with iscsi" + elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf" + fi +} diff --git a/sys-cluster/cinder/cinder-2016.2.9999.ebuild b/sys-cluster/cinder/cinder-2016.2.9999.ebuild new file mode 100644 index 000000000000..b0cc1c89ab48 --- /dev/null +++ b/sys-cluster/cinder/cinder-2016.2.9999.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils git-r3 linux-info user + +DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes" +HOMEPAGE="https://launchpad.net/cinder" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/cinder.conf.sample -> newton-cinder.conf.sample +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/policy.json -> newton-cinder-policy.json +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/volume.filters -> newton-cinder-volume.filters" +EGIT_REPO_URI="https://github.com/openstack/cinder.git" +EGIT_BRANCH="stable/newton" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt" +REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )" + +CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + dev-python/enum34[$(python_gen_usedep 'python2_7')] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + virtual/python-ipaddress[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}] + >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.0.1[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}] + !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-2.0.0[${PYTHON_USEDEP}] + !~dev-python/python-keystoneclient-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/taskflow-1.26.0[${PYTHON_USEDEP}] + >=dev-python/rtslib-fb-2.1.41[${PYTHON_USEDEP}] + >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}] + ~dev-python/suds-0.6[${PYTHON_USEDEP}] + >=dev-python/webob-1.2.3-r1[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-vmware-2.11.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.6.1[${PYTHON_USEDEP}] + >=dev-python/os-win-0.2.3[${PYTHON_USEDEP}] + >=dev-python/tooz-1.28.0[${PYTHON_USEDEP}] + >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}] + >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}] + iscsi? ( + tgt? ( sys-block/tgt ) + sys-block/open-iscsi + ) + lvm? ( sys-fs/lvm2 ) + memcached? ( net-misc/memcached ) + app-emulation/qemu + sys-fs/sysfsutils" +# qemu is needed for image conversion + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="" + if use tcp; then + CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP " + fi + if use rdma; then + CONFIG_CHECK_MODULES+="INFINIBAND_ISER " + fi + if use infiniband; then + CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS" + fi + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled" + done + fi +} + +pkg_setup() { + enewgroup cinder + enewuser cinder -1 -1 /var/lib/cinder cinder +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_test() { + # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727 + nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7" +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/cinder + dodir /etc/cinder/rootwrap.d + + for svc in api scheduler volume; do + newinitd "${FILESDIR}/cinder.initd" cinder-${svc} + done + + insinto /etc/cinder + insopts -m0640 -o cinder -g cinder + doins "etc/cinder/api-httpd.conf" + doins "etc/cinder/logging_sample.conf" + doins "etc/cinder/rootwrap.conf" + doins "etc/cinder/api-paste.ini" + newins "${DISTDIR}/newton-cinder-policy.json" "policy.json" + newins "${DISTDIR}/newton-cinder.conf.sample" "cinder.conf.sample" + insinto /etc/cinder/rootwrap.d + newins "${DISTDIR}/newton-cinder-volume.filters" "volume.filters" + + dodir /var/log/cinder + fowners cinder:cinder /var/log/cinder + + #add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/cinder.sudoersd" cinder +} + +pkg_postinst() { + if use iscsi ; then + elog "Cinder needs tgtd to be installed and running to work with iscsi" + elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf" + fi +} diff --git a/sys-cluster/cinder/cinder-2017.1.9999.ebuild b/sys-cluster/cinder/cinder-2017.1.9999.ebuild new file mode 100644 index 000000000000..f7d1edd70082 --- /dev/null +++ b/sys-cluster/cinder/cinder-2017.1.9999.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils git-r3 linux-info user + +DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes" +HOMEPAGE="https://launchpad.net/cinder" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/cinder.conf.sample -> ocata-cinder.conf.sample +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/policy.json -> ocata-cinder-policy.json +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/volume.filters -> ocata-cinder-volume.filters" +EGIT_REPO_URI="https://github.com/openstack/cinder.git" +EGIT_BRANCH="stable/ocata" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt" +REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + dev-python/enum34[$(python_gen_usedep 'python2_7')] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + virtual/python-ipaddress[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.0.1[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/taskflow-2.7.0[${PYTHON_USEDEP}] + >=dev-python/rtslib-fb-2.1.43[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}] + >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}] + ~dev-python/suds-0.6[${PYTHON_USEDEP}] + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.8.0[${PYTHON_USEDEP}] + >=dev-python/os-win-1.4.0[${PYTHON_USEDEP}] + >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}] + >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}] + >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}] + iscsi? ( + tgt? ( sys-block/tgt ) + sys-block/open-iscsi + ) + lvm? ( sys-fs/lvm2 ) + memcached? ( net-misc/memcached ) + app-emulation/qemu + sys-fs/sysfsutils" +# qemu is needed for image conversion + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="" + if use tcp; then + CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP " + fi + if use rdma; then + CONFIG_CHECK_MODULES+="INFINIBAND_ISER " + fi + if use infiniband; then + CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS" + fi + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled" + done + fi +} + +pkg_setup() { + enewgroup cinder + enewuser cinder -1 -1 /var/lib/cinder cinder +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_test() { + # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727 + nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7" +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/cinder + dodir /etc/cinder/rootwrap.d + + for svc in api scheduler volume; do + newinitd "${FILESDIR}/cinder.initd" cinder-${svc} + done + + insinto /etc/cinder + insopts -m0640 -o cinder -g cinder + doins "etc/cinder/api-httpd.conf" + doins "etc/cinder/logging_sample.conf" + doins "etc/cinder/rootwrap.conf" + doins "etc/cinder/api-paste.ini" + newins "${DISTDIR}/ocata-cinder-policy.json" "policy.json" + newins "${DISTDIR}/ocata-cinder.conf.sample" "cinder.conf.sample" + insinto /etc/cinder/rootwrap.d + newins "${DISTDIR}/ocata-cinder-volume.filters" "volume.filters" + + dodir /var/log/cinder + fowners cinder:cinder /var/log/cinder + + #add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/cinder.sudoersd" cinder +} + +pkg_postinst() { + if use iscsi ; then + elog "Cinder needs tgtd to be installed and running to work with iscsi" + elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf" + fi +} diff --git a/sys-cluster/cinder/cinder-2017.2.9999.ebuild b/sys-cluster/cinder/cinder-2017.2.9999.ebuild new file mode 100644 index 000000000000..9db27e401adc --- /dev/null +++ b/sys-cluster/cinder/cinder-2017.2.9999.ebuild @@ -0,0 +1,210 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils git-r3 linux-info user + +DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes" +HOMEPAGE="https://launchpad.net/cinder" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/pike/cinder.conf.sample -> pike-cinder.conf.sample" +EGIT_REPO_URI="https://github.com/openstack/cinder.git" +EGIT_BRANCH="stable/pike" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt" +REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )" + +CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + !~dev-python/pbr-2.1.0" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + dev-python/enum34[$(python_gen_usedep 'python2_7')] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}] + <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + virtual/python-ipaddress[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}] + !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + !~dev-python/python-barbicanclient-4.5.0[${PYTHON_USEDEP}] + !~dev-python/python-barbicanclient-4.5.1[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}] + >=dev-python/taskflow-2.7.0[${PYTHON_USEDEP}] + >=dev-python/rtslib-fb-2.1.43[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}] + >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] + ~dev-python/suds-0.6[${PYTHON_USEDEP}] + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}] + >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.15.2[${PYTHON_USEDEP}] + >=dev-python/os-win-2.0.0[${PYTHON_USEDEP}] + >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}] + >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}] + >=dev-python/castellan-0.7.0[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.6[${PYTHON_USEDEP}] + !~dev-python/cryptography-2.0[${PYTHON_USEDEP}] + iscsi? ( + tgt? ( sys-block/tgt ) + sys-block/open-iscsi + ) + lvm? ( sys-fs/lvm2 ) + memcached? ( net-misc/memcached ) + app-emulation/qemu + sys-fs/sysfsutils" +# qemu is needed for image conversion + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="" + if use tcp; then + CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP " + fi + if use rdma; then + CONFIG_CHECK_MODULES+="INFINIBAND_ISER " + fi + if use infiniband; then + CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS" + fi + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled" + done + fi +} + +pkg_setup() { + enewgroup cinder + enewuser cinder -1 -1 /var/lib/cinder cinder +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_test() { + # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727 + nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7" +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/cinder + dodir /etc/cinder/rootwrap.d + + for svc in api scheduler volume; do + newinitd "${FILESDIR}/cinder.initd-2" cinder-${svc} + done + + insinto /etc/cinder + insopts -m0640 -o cinder -g cinder + doins "etc/cinder/api-httpd.conf" + doins "etc/cinder/logging_sample.conf" + doins "etc/cinder/rootwrap.conf" + doins "etc/cinder/api-paste.ini" + doins "etc/cinder/policy.json" + doins "etc/cinder/resource_filters.json" + newins "${DISTDIR}/pike-cinder.conf.sample" "cinder.conf.sample" + insinto /etc/cinder/rootwrap.d + doins "etc/cinder/rootwrap.d/volume.filters" + + dodir /var/log/cinder + fowners cinder:cinder /var/log/cinder + + #add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/cinder.sudoersd" cinder +} + +pkg_postinst() { + if use iscsi ; then + elog "Cinder needs tgtd to be installed and running to work with iscsi" + elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf" + fi +} diff --git a/sys-cluster/cinder/cinder-9.1.4.ebuild b/sys-cluster/cinder/cinder-9.1.4.ebuild new file mode 100644 index 000000000000..a4f99f386431 --- /dev/null +++ b/sys-cluster/cinder/cinder-9.1.4.ebuild @@ -0,0 +1,195 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_4 ) + +inherit distutils-r1 eutils linux-info user + +DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes" +HOMEPAGE="https://launchpad.net/cinder" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/cinder.conf.sample -> newton-cinder.conf.sample +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/policy.json -> newton-cinder-policy.json +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/volume.filters -> newton-cinder-volume.filters +https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt" +REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )" + +CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + dev-python/enum34[$(python_gen_usedep 'python2_7')] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + virtual/python-ipaddress[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}] + >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.0.1[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}] + !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-2.0.0[${PYTHON_USEDEP}] + !~dev-python/python-keystoneclient-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/taskflow-1.26.0[${PYTHON_USEDEP}] + >=dev-python/rtslib-fb-2.1.41[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}] + >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}] + ~dev-python/suds-0.6[${PYTHON_USEDEP}] + >=dev-python/webob-1.2.3-r1[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-vmware-2.11.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.6.1[${PYTHON_USEDEP}] + >=dev-python/os-win-0.2.3[${PYTHON_USEDEP}] + >=dev-python/tooz-1.28.0[${PYTHON_USEDEP}] + >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}] + >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}] + iscsi? ( + tgt? ( sys-block/tgt ) + sys-block/open-iscsi + ) + lvm? ( sys-fs/lvm2 ) + memcached? ( net-misc/memcached ) + app-emulation/qemu + sys-fs/sysfsutils" +# qemu is needed for image conversion + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="" + if use tcp; then + CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP " + fi + if use rdma; then + CONFIG_CHECK_MODULES+="INFINIBAND_ISER " + fi + if use infiniband; then + CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS" + fi + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled" + done + fi +} + +pkg_setup() { + enewgroup cinder + enewuser cinder -1 -1 /var/lib/cinder cinder +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_test() { + # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727 + nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7" +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/cinder + dodir /etc/cinder/rootwrap.d + + for svc in api scheduler volume; do + newinitd "${FILESDIR}/cinder.initd" cinder-${svc} + done + + insinto /etc/cinder + insopts -m0640 -o cinder -g cinder + doins "etc/cinder/api-httpd.conf" + doins "etc/cinder/logging_sample.conf" + doins "etc/cinder/rootwrap.conf" + doins "etc/cinder/api-paste.ini" + newins "${DISTDIR}/newton-cinder-policy.json" "policy.json" + newins "${DISTDIR}/newton-cinder.conf.sample" "cinder.conf.sample" + insinto /etc/cinder/rootwrap.d + newins "${DISTDIR}/newton-cinder-volume.filters" "volume.filters" + + dodir /var/log/cinder + fowners cinder:cinder /var/log/cinder + + #add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/cinder.sudoersd" cinder +} + +pkg_postinst() { + if use iscsi ; then + elog "Cinder needs tgtd to be installed and running to work with iscsi" + elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf" + fi +} diff --git a/sys-cluster/cinder/files/cinder.initd b/sys-cluster/cinder/files/cinder.initd new file mode 100644 index 000000000000..0c86345a8a1e --- /dev/null +++ b/sys-cluster/cinder/files/cinder.initd @@ -0,0 +1,23 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Starts ${SVCNAME} service for OpenStack" + +command=/usr/bin/${SVCNAME} +command_background=yes +command_args="--config-file /etc/cinder/cinder.conf --log-file /var/log/cinder/${SVCNAME}.log" +pidfile=/var/run/cinder/${SVCNAME}.pid +required_files=/etc/cinder/cinder.conf + +start_stop_daemon_args="--quiet --user ${CINDER_USER:-cinder}" + +depend() { + need net +} + +start_pre() { + checkpath --directory --owner ${CINDER_USER:-cinder}:${CINDER_GROUP:-cinder} --mode 0755 ${CINDER_RUN:-/var/run/cinder} + checkpath --directory --owner ${CINDER_USER:-cinder}:${CINDER_GROUP:-cinder} --mode 0755 ${CINDER_LOCK:-/var/lock/cinder} +} + diff --git a/sys-cluster/cinder/files/cinder.initd-2 b/sys-cluster/cinder/files/cinder.initd-2 new file mode 100644 index 000000000000..31584dee9d23 --- /dev/null +++ b/sys-cluster/cinder/files/cinder.initd-2 @@ -0,0 +1,17 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Starts ${SVCNAME} service for OpenStack" + +command=/usr/bin/${SVCNAME} +command_background=yes +command_args="--config-file /etc/cinder/cinder.conf --log-file ${CINDER_LOGDIR:-/var/log/cinder}/${SVCNAME}.log" +command_user="${CINDER_USER:-cinder}" +pidfile=/run/${SVCNAME}.pid +required_files=/etc/cinder/cinder.conf +retry="SIGTERM/30" + +depend() { + need net +} diff --git a/sys-cluster/cinder/files/cinder.sudoersd b/sys-cluster/cinder/files/cinder.sudoersd new file mode 100644 index 000000000000..f44bab4a5778 --- /dev/null +++ b/sys-cluster/cinder/files/cinder.sudoersd @@ -0,0 +1,4 @@ +Defaults:cinder !requiretty + +cinder ALL = (root) NOPASSWD: /usr/bin/cinder-rootwrap + diff --git a/sys-cluster/cinder/files/etc.liberty/api-httpd.conf b/sys-cluster/cinder/files/etc.liberty/api-httpd.conf new file mode 100644 index 000000000000..f3555477acc7 --- /dev/null +++ b/sys-cluster/cinder/files/etc.liberty/api-httpd.conf @@ -0,0 +1,16 @@ +Listen 8776 +LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %D(us)" cinder_combined + +<VirtualHost *:8776> + WSGIDaemonProcess osapi_volume processes=2 threads=1 user=cinder display-name=%{GROUP} + WSGIProcessGroup osapi_volume + WSGIScriptAlias / /var/www/cgi-bin/cinder/osapi_volume + WSGIApplicationGroup %{GLOBAL} + WSGIPassAuthorization On + <IfVersion >= 2.4> + ErrorLogFormat "%{cu}t %M" + </IfVersion> + ErrorLog /var/log/apache2/cinder_error.log + CustomLog /var/log/apache2/cinder.log cinder_combined + +</VirtualHost> diff --git a/sys-cluster/cinder/files/etc.liberty/api-paste.ini b/sys-cluster/cinder/files/etc.liberty/api-paste.ini new file mode 100644 index 000000000000..b2822b044db0 --- /dev/null +++ b/sys-cluster/cinder/files/etc.liberty/api-paste.ini @@ -0,0 +1,60 @@ +############# +# OpenStack # +############# + +[composite:osapi_volume] +use = call:cinder.api:root_app_factory +/: apiversions +/v1: openstack_volume_api_v1 +/v2: openstack_volume_api_v2 + +[composite:openstack_volume_api_v1] +use = call:cinder.api.middleware.auth:pipeline_factory +noauth = request_id faultwrap sizelimit osprofiler noauth apiv1 +keystone = request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1 +keystone_nolimit = request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1 + +[composite:openstack_volume_api_v2] +use = call:cinder.api.middleware.auth:pipeline_factory +noauth = request_id faultwrap sizelimit osprofiler noauth apiv2 +keystone = request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2 +keystone_nolimit = request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2 + +[filter:request_id] +paste.filter_factory = oslo_middleware.request_id:RequestId.factory + +[filter:faultwrap] +paste.filter_factory = cinder.api.middleware.fault:FaultWrapper.factory + +[filter:osprofiler] +paste.filter_factory = osprofiler.web:WsgiMiddleware.factory +hmac_keys = SECRET_KEY +enabled = yes + +[filter:noauth] +paste.filter_factory = cinder.api.middleware.auth:NoAuthMiddleware.factory + +[filter:sizelimit] +paste.filter_factory = cinder.api.middleware.sizelimit:RequestBodySizeLimiter.factory + +[app:apiv1] +paste.app_factory = cinder.api.v1.router:APIRouter.factory + +[app:apiv2] +paste.app_factory = cinder.api.v2.router:APIRouter.factory + +[pipeline:apiversions] +pipeline = faultwrap osvolumeversionapp + +[app:osvolumeversionapp] +paste.app_factory = cinder.api.versions:Versions.factory + +########## +# Shared # +########## + +[filter:keystonecontext] +paste.filter_factory = cinder.api.middleware.auth:CinderKeystoneContext.factory + +[filter:authtoken] +paste.filter_factory = keystonemiddleware.auth_token:filter_factory diff --git a/sys-cluster/cinder/files/etc.liberty/logging_sample.conf b/sys-cluster/cinder/files/etc.liberty/logging_sample.conf new file mode 100644 index 000000000000..f9a8deb1b3c1 --- /dev/null +++ b/sys-cluster/cinder/files/etc.liberty/logging_sample.conf @@ -0,0 +1,93 @@ +[loggers] +keys = root, cinder, taskflow, cinder_flow_utils + +[handlers] +keys = stderr, stdout, watchedfile, syslog, tasks, null + +[formatters] +keys = context, default + +[logger_root] +level = WARNING +handlers = null + +[logger_cinder] +level = INFO +handlers = stderr +qualname = cinder + +# Both of these are used for tracking what cinder and taskflow is doing with +# regard to flows and tasks (and the activity there-in). +[logger_cinder_flow_utils] +level = INFO +handlers = tasks,stderr +qualname = cinder.flow_utils + +[logger_taskflow] +level = INFO +handlers = tasks +qualname = taskflow + +[logger_amqplib] +level = WARNING +handlers = stderr +qualname = amqplib + +[logger_sqlalchemy] +level = WARNING +handlers = stderr +qualname = sqlalchemy +# "level = INFO" logs SQL queries. +# "level = DEBUG" logs SQL queries and results. +# "level = WARNING" logs neither. (Recommended for production systems.) + +[logger_boto] +level = WARNING +handlers = stderr +qualname = boto + +[logger_suds] +level = INFO +handlers = stderr +qualname = suds + +[logger_eventletwsgi] +level = WARNING +handlers = stderr +qualname = eventlet.wsgi.server + +[handler_stderr] +class = StreamHandler +args = (sys.stderr,) +formatter = context + +[handler_stdout] +class = StreamHandler +args = (sys.stdout,) +formatter = context + +[handler_watchedfile] +class = handlers.WatchedFileHandler +args = ('cinder.log',) +formatter = context + +[handler_tasks] +class = handlers.WatchedFileHandler +args = ('tasks.log',) +formatter = context + +[handler_syslog] +class = handlers.SysLogHandler +args = ('/dev/log', handlers.SysLogHandler.LOG_USER) +formatter = context + +[handler_null] +class = logging.NullHandler +formatter = default +args = () + +[formatter_context] +class = oslo_log.formatters.ContextFormatter + +[formatter_default] +format = %(message)s diff --git a/sys-cluster/cinder/files/etc.liberty/policy.json b/sys-cluster/cinder/files/etc.liberty/policy.json new file mode 100644 index 000000000000..4c8a8aa5079c --- /dev/null +++ b/sys-cluster/cinder/files/etc.liberty/policy.json @@ -0,0 +1,99 @@ +{ + "context_is_admin": "role:admin", + "admin_or_owner": "is_admin:True or project_id:%(project_id)s", + "default": "rule:admin_or_owner", + + "admin_api": "is_admin:True", + + "volume:create": "", + "volume:delete": "rule:admin_or_owner", + "volume:get": "rule:admin_or_owner", + "volume:get_all": "rule:admin_or_owner", + "volume:get_volume_metadata": "rule:admin_or_owner", + "volume:delete_volume_metadata": "rule:admin_or_owner", + "volume:update_volume_metadata": "rule:admin_or_owner", + "volume:get_volume_admin_metadata": "rule:admin_api", + "volume:update_volume_admin_metadata": "rule:admin_api", + "volume:get_snapshot": "rule:admin_or_owner", + "volume:get_all_snapshots": "rule:admin_or_owner", + "volume:delete_snapshot": "rule:admin_or_owner", + "volume:update_snapshot": "rule:admin_or_owner", + "volume:extend": "rule:admin_or_owner", + "volume:update_readonly_flag": "rule:admin_or_owner", + "volume:retype": "rule:admin_or_owner", + "volume:update": "rule:admin_or_owner", + + "volume_extension:types_manage": "rule:admin_api", + "volume_extension:types_extra_specs": "rule:admin_api", + "volume_extension:volume_type_access": "rule:admin_or_owner", + "volume_extension:volume_type_access:addProjectAccess": "rule:admin_api", + "volume_extension:volume_type_access:removeProjectAccess": "rule:admin_api", + "volume_extension:volume_type_encryption": "rule:admin_api", + "volume_extension:volume_encryption_metadata": "rule:admin_or_owner", + "volume_extension:extended_snapshot_attributes": "rule:admin_or_owner", + "volume_extension:volume_image_metadata": "rule:admin_or_owner", + + "volume_extension:quotas:show": "", + "volume_extension:quotas:update": "rule:admin_api", + "volume_extension:quota_classes": "rule:admin_api", + + "volume_extension:volume_admin_actions:reset_status": "rule:admin_api", + "volume_extension:snapshot_admin_actions:reset_status": "rule:admin_api", + "volume_extension:backup_admin_actions:reset_status": "rule:admin_api", + "volume_extension:volume_admin_actions:force_delete": "rule:admin_api", + "volume_extension:volume_admin_actions:force_detach": "rule:admin_api", + "volume_extension:snapshot_admin_actions:force_delete": "rule:admin_api", + "volume_extension:backup_admin_actions:force_delete": "rule:admin_api", + "volume_extension:volume_admin_actions:migrate_volume": "rule:admin_api", + "volume_extension:volume_admin_actions:migrate_volume_completion": "rule:admin_api", + + "volume_extension:volume_host_attribute": "rule:admin_api", + "volume_extension:volume_tenant_attribute": "rule:admin_or_owner", + "volume_extension:volume_mig_status_attribute": "rule:admin_api", + "volume_extension:hosts": "rule:admin_api", + "volume_extension:services:index": "rule:admin_api", + "volume_extension:services:update" : "rule:admin_api", + + "volume_extension:volume_manage": "rule:admin_api", + "volume_extension:volume_unmanage": "rule:admin_api", + + "volume_extension:capabilities": "rule:admin_api", + + "volume:create_transfer": "rule:admin_or_owner", + "volume:accept_transfer": "", + "volume:delete_transfer": "rule:admin_or_owner", + "volume:get_all_transfers": "rule:admin_or_owner", + + "volume_extension:replication:promote": "rule:admin_api", + "volume_extension:replication:reenable": "rule:admin_api", + + "volume:enable_replication": "rule:admin_api", + "volume:disable_replication": "rule:admin_api", + "volume:failover_replication": "rule:admin_api", + "volume:list_replication_targets": "rule:admin_api", + + "backup:create" : "", + "backup:delete": "rule:admin_or_owner", + "backup:get": "rule:admin_or_owner", + "backup:get_all": "rule:admin_or_owner", + "backup:restore": "rule:admin_or_owner", + "backup:backup-import": "rule:admin_api", + "backup:backup-export": "rule:admin_api", + + "snapshot_extension:snapshot_actions:update_snapshot_status": "", + "snapshot_extension:snapshot_manage": "rule:admin_api", + "snapshot_extension:snapshot_unmanage": "rule:admin_api", + + "consistencygroup:create" : "group:nobody", + "consistencygroup:delete": "group:nobody", + "consistencygroup:update": "group:nobody", + "consistencygroup:get": "group:nobody", + "consistencygroup:get_all": "group:nobody", + + "consistencygroup:create_cgsnapshot" : "group:nobody", + "consistencygroup:delete_cgsnapshot": "group:nobody", + "consistencygroup:get_cgsnapshot": "group:nobody", + "consistencygroup:get_all_cgsnapshots": "group:nobody", + + "scheduler_extension:scheduler_stats:get_pools" : "rule:admin_api" +} diff --git a/sys-cluster/cinder/files/etc.liberty/rootwrap.conf b/sys-cluster/cinder/files/etc.liberty/rootwrap.conf new file mode 100644 index 000000000000..4d280eae5c82 --- /dev/null +++ b/sys-cluster/cinder/files/etc.liberty/rootwrap.conf @@ -0,0 +1,27 @@ +# Configuration for cinder-rootwrap +# This file should be owned by (and only-writeable by) the root user + +[DEFAULT] +# List of directories to load filter definitions from (separated by ','). +# These directories MUST all be only writeable by root ! +filters_path=/etc/cinder/rootwrap.d,/usr/share/cinder/rootwrap + +# List of directories to search executables in, in case filters do not +# explicitely specify a full path (separated by ',') +# If not specified, defaults to system PATH environment variable. +# These directories MUST all be only writeable by root ! +exec_dirs=/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin + +# Enable logging to syslog +# Default value is False +use_syslog=False + +# Which syslog facility to use. +# Valid values include auth, authpriv, syslog, local0, local1... +# Default value is 'syslog' +syslog_log_facility=syslog + +# Which messages to log. +# INFO means log all usage +# ERROR means only log unsuccessful attempts +syslog_log_level=ERROR diff --git a/sys-cluster/cinder/files/etc.liberty/rootwrap.d/volume.filters b/sys-cluster/cinder/files/etc.liberty/rootwrap.d/volume.filters new file mode 100644 index 000000000000..9e7ab384c4f7 --- /dev/null +++ b/sys-cluster/cinder/files/etc.liberty/rootwrap.d/volume.filters @@ -0,0 +1,207 @@ +# cinder-rootwrap command filters for volume nodes +# This file should be owned by (and only-writeable by) the root user + +[Filters] +# cinder/volume/iscsi.py: iscsi_helper '--op' ... +ietadm: CommandFilter, ietadm, root +tgtadm: CommandFilter, tgtadm, root +iscsictl: CommandFilter, iscsictl, root +tgt-admin: CommandFilter, tgt-admin, root +cinder-rtstool: CommandFilter, cinder-rtstool, root +scstadmin: CommandFilter, scstadmin, root + +# LVM related show commands +pvs: EnvFilter, env, root, LC_ALL=C, pvs +vgs: EnvFilter, env, root, LC_ALL=C, vgs +lvs: EnvFilter, env, root, LC_ALL=C, lvs +lvdisplay: EnvFilter, env, root, LC_ALL=C, lvdisplay + +# LVM conf var +pvs_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, pvs +vgs_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, vgs +lvs_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, lvs +lvdisplay_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, lvdisplay + +# os-brick library commands +# TODO(smcginnis) This is a temporary fix. Need to pull in os-brick +# os-brick.filters file instead and clean out stale brick values from +# this file. +scsi_id: CommandFilter, /lib/udev/scsi_id, root + +# cinder/volumes/drivers/srb.py: 'pvresize', '--setphysicalvolumesize', sizestr, pvname +pvresize: CommandFilter, pvresize, root + +# cinder/brick/local_dev/lvm.py: 'vgcreate', vg_name, pv_list +vgcreate: CommandFilter, vgcreate, root + +# cinder/volumes/drivers/srb.py: 'vgremove', '-f', vgname +vgremove: CommandFilter, vgremove, root + +# cinder/volumes/drivers/srb.py: 'vgchange', '-an', vgname +# cinder/volumes/drivers/srb.py: 'vgchange', '-ay', vgname +vgchange: CommandFilter, vgchange, root + +# cinder/volume/driver.py: 'lvcreate', '-L', sizestr, '-n', volume_name,.. +# cinder/volume/driver.py: 'lvcreate', '-L', ... +lvcreate: CommandFilter, lvcreate, root + +# cinder/volume/driver.py: 'dd', 'if=%s' % srcstr, 'of=%s' % deststr,... +dd: CommandFilter, dd, root + +# cinder/volume/driver.py: 'lvremove', '-f', %s/%s % ... +lvremove: CommandFilter, lvremove, root + +# cinder/volume/driver.py: 'lvrename', '%(vg)s', '%(orig)s' '(new)s'... +lvrename: CommandFilter, lvrename, root + +# cinder/volume/driver.py: 'lvextend', '-L' '%(new_size)s', '%(lv_name)s' ... +# cinder/volume/driver.py: 'lvextend', '-L' '%(new_size)s', '%(thin_pool)s' ... +lvextend: CommandFilter, lvextend, root + +# cinder/brick/local_dev/lvm.py: 'lvchange -a y -K <lv>' +lvchange: CommandFilter, lvchange, root + +# cinder/volume/driver.py: 'iscsiadm', '-m', 'discovery', '-t',... +# cinder/volume/driver.py: 'iscsiadm', '-m', 'node', '-T', ... +iscsiadm: CommandFilter, iscsiadm, root + +# cinder/volume/drivers/lvm.py: 'shred', '-n3' +# cinder/volume/drivers/lvm.py: 'shred', '-n0', '-z', '-s%dMiB' +shred: CommandFilter, shred, root + +# cinder/volume/utils.py: utils.temporary_chown(path, 0) +chown: CommandFilter, chown, root + +# cinder/volume/utils.py: copy_volume(..., ionice='...') +ionice_1: ChainingRegExpFilter, ionice, root, ionice, -c[0-3], -n[0-7] +ionice_2: ChainingRegExpFilter, ionice, root, ionice, -c[0-3] + +# cinder/volume/utils.py: setup_blkio_cgroup() +cgcreate: CommandFilter, cgcreate, root +cgset: CommandFilter, cgset, root +cgexec: ChainingRegExpFilter, cgexec, root, cgexec, -g, blkio:\S+ + +# cinder/volume/driver.py +dmsetup: CommandFilter, dmsetup, root +ln: CommandFilter, ln, root + +# cinder/image/image_utils.py +qemu-img: EnvFilter, env, root, LC_ALL=C, qemu-img +qemu-img_convert: CommandFilter, qemu-img, root + +udevadm: CommandFilter, udevadm, root + +# cinder/volume/driver.py: utils.read_file_as_root() +cat: CommandFilter, cat, root + +# cinder/volume/nfs.py +stat: CommandFilter, stat, root +mount: CommandFilter, mount, root +df: CommandFilter, df, root +du: CommandFilter, du, root +truncate: CommandFilter, truncate, root +chmod: CommandFilter, chmod, root +rm: CommandFilter, rm, root + +# cinder/volume/drivers/netapp/nfs.py: +netapp_nfs_find: RegExpFilter, find, root, find, ^[/]*([^/\0]+(/+)?)*$, -maxdepth, \d+, -name, img-cache.*, -amin, \+\d+ + +# cinder/volume/drivers/glusterfs.py +chgrp: CommandFilter, chgrp, root +umount: CommandFilter, umount, root +fallocate: CommandFilter, fallocate, root + +# cinder/volumes/drivers/hds/hds.py: +hus-cmd: CommandFilter, hus-cmd, root +hus-cmd_local: CommandFilter, /usr/local/bin/hus-cmd, root + +# cinder/volumes/drivers/hds/hnas_backend.py +ssc: CommandFilter, ssc, root + +# cinder/brick/initiator/connector.py: +ls: CommandFilter, ls, root +tee: CommandFilter, tee, root +multipath: CommandFilter, multipath, root +multipathd: CommandFilter, multipathd, root +systool: CommandFilter, systool, root + +# cinder/volume/drivers/block_device.py +blockdev: CommandFilter, blockdev, root + +# cinder/volume/drivers/ibm/gpfs.py +# cinder/volume/drivers/tintri.py +mv: CommandFilter, mv, root + +# cinder/volume/drivers/ibm/gpfs.py +cp: CommandFilter, cp, root +mmgetstate: CommandFilter, /usr/lpp/mmfs/bin/mmgetstate, root +mmclone: CommandFilter, /usr/lpp/mmfs/bin/mmclone, root +mmlsattr: CommandFilter, /usr/lpp/mmfs/bin/mmlsattr, root +mmchattr: CommandFilter, /usr/lpp/mmfs/bin/mmchattr, root +mmlsconfig: CommandFilter, /usr/lpp/mmfs/bin/mmlsconfig, root +mmlsfs: CommandFilter, /usr/lpp/mmfs/bin/mmlsfs, root +mmlspool: CommandFilter, /usr/lpp/mmfs/bin/mmlspool, root +mkfs: CommandFilter, mkfs, root +mmcrfileset: CommandFilter, /usr/lpp/mmfs/bin/mmcrfileset, root +mmlinkfileset: CommandFilter, /usr/lpp/mmfs/bin/mmlinkfileset, root +mmunlinkfileset: CommandFilter, /usr/lpp/mmfs/bin/mmunlinkfileset, root +mmdelfileset: CommandFilter, /usr/lpp/mmfs/bin/mmdelfileset, root +mmcrsnapshot: CommandFilter, /usr/lpp/mmfs/bin/mmcrsnapshot, root +mmdelsnapshot: CommandFilter, /usr/lpp/mmfs/bin/mmdelsnapshot, root + +# cinder/volume/drivers/ibm/gpfs.py +# cinder/volume/drivers/ibm/ibmnas.py +find_maxdepth_inum: RegExpFilter, find, root, find, ^[/]*([^/\0]+(/+)?)*$, -maxdepth, \d+, -inum, \d+ + +# cinder/brick/initiator/connector.py: +aoe-revalidate: CommandFilter, aoe-revalidate, root +aoe-discover: CommandFilter, aoe-discover, root +aoe-flush: CommandFilter, aoe-flush, root + +# cinder/brick/initiator/linuxscsi.py: +sg_scan: CommandFilter, sg_scan, root + +#cinder/backup/services/tsm.py +dsmc:CommandFilter,/usr/bin/dsmc,root + +# cinder/volume/drivers/hitachi/hbsd_horcm.py +raidqry: CommandFilter, raidqry, root +raidcom: CommandFilter, raidcom, root +pairsplit: CommandFilter, pairsplit, root +paircreate: CommandFilter, paircreate, root +pairdisplay: CommandFilter, pairdisplay, root +pairevtwait: CommandFilter, pairevtwait, root +horcmstart.sh: CommandFilter, horcmstart.sh, root +horcmshutdown.sh: CommandFilter, horcmshutdown.sh, root +horcmgr: EnvFilter, env, root, HORCMINST=, /etc/horcmgr + +# cinder/volume/drivers/hitachi/hbsd_snm2.py +auman: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auman +auluref: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auluref +auhgdef: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auhgdef +aufibre1: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/aufibre1 +auhgwwn: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auhgwwn +auhgmap: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auhgmap +autargetmap: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/autargetmap +aureplicationvvol: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/aureplicationvvol +auluadd: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auluadd +auludel: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auludel +auluchgsize: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auluchgsize +auchapuser: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auchapuser +autargetdef: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/autargetdef +autargetopt: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/autargetopt +autargetini: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/autargetini +auiscsi: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auiscsi +audppool: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/audppool +aureplicationlocal: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/aureplicationlocal +aureplicationmon: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/aureplicationmon + +# cinder/volume/drivers/hgst.py +vgc-cluster: CommandFilter, vgc-cluster, root + +# cinder/volume/drivers/vzstorage.py +pstorage-mount: CommandFilter, pstorage-mount, root +pstorage: CommandFilter, pstorage, root + +# initiator/connector.py: +drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, root, /opt/emc/scaleio/sdc/bin/drv_cfg, --query_guid diff --git a/sys-cluster/cinder/metadata.xml b/sys-cluster/cinder/metadata.xml new file mode 100644 index 000000000000..997957ff34f4 --- /dev/null +++ b/sys-cluster/cinder/metadata.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>prometheanfire@gentoo.org</email> + <name>Matthew Thode</name> + </maintainer> + <longdescription lang="en"> + Cinder is the OpenStack Block storage service. + This is a spin out of nova-volumes. + </longdescription> + <use> + <flag name="api">Installs the initscripts for the cinder api service</flag> + <flag name="iscsi">Allow using an iSCSI remote storage server as pool for disk image storage</flag> + <flag name="lvm">Allow using the Logical Volume Manager (<pkg>sys-fs/lvm2</pkg>) as pool for disk image storage</flag> + <flag name="memcached">Installs the memcached server</flag> + <flag name="rdma">Enable rdma storage backend support</flag> + <flag name="scheduler">Installs the initscripts for the cinder scheduler service</flag> + <flag name="tcp">Enables tcp support for the iscsi backend</flag> + <flag name="tgt">Enable tgt storage backend support</flag> + <flag name="volume">Installs the initscripts for the cinder volume service</flag> + </use> + <upstream> + <remote-id type="launchpad">cinder</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/classads/Manifest b/sys-cluster/classads/Manifest new file mode 100644 index 000000000000..760c697d4cfb --- /dev/null +++ b/sys-cluster/classads/Manifest @@ -0,0 +1,5 @@ +DIST classads-1.0.10.tar.gz 523847 SHA256 cde2fe23962abb6bc99d8fc5a5cbf88f87e449b63c6bca991d783afb4691efb3 SHA512 4443be2d3a41204110620fea838dbeec1a11f407cacbbb312142b3b8403883cc92da10839ab9dbae1e20433db247fb2117d70d84166fadba6819eab84ebc1dd3 WHIRLPOOL f67c3771e6501a60b907a3aeb28031a9f509101b20aa0a6133a6336e8577061fc7632584000da5501b982f8fb2568243d0c3d433e75338cb428eff2045e57335 +EBUILD classads-1.0.10.ebuild 565 SHA256 1719094994332a6bc778a72588212054b1694000bbde3cc16d2424dd3b2495f6 SHA512 50bf045c4e6362d85441768be476376412e1983e443adb00e92a1a80759545f40b11aeb8e5b2a50e63893b223ecbe8a1535e0ba606e9dc0fd7cf7d2a71ccb77f WHIRLPOOL 6939bbcd76f179bbf7d4caf8f7c1c335d5167f089db9d120a1a2b80f78b684d985453748606a1ef62425b3e92c20a44f7e720908c6170340727a92d98fc9032a +MISC ChangeLog 2828 SHA256 3b0f45bdd0de3c24a2100bf9849280a65d1cb240c64e4c6cd82881032c62baa1 SHA512 c58c7baf633933a160ede7e210189f7416373dbb8dd137309923770aa823f1608536c497690fc44a81142beb505b179972ed394826e3252dddd0a24328b327a5 WHIRLPOOL 62f7dfb38b42e7eadeae2ee4234c00b92883eacc4b4d7798b317d59dea6f8e0669a6a4b6f9b78e1b9f5de0fc38c5fa83769cf2d34d5ca24277cb98097a2d61c7 +MISC ChangeLog-2015 710 SHA256 7ed38791812f6f4de3e6ef6d00cf5ec8699adf9438559b330c3f932043f2c857 SHA512 dd44da02626323247cf0237cfbfed23ad8bf71972eadba1e1aff8b8a4b7f7c562b0521e9458228c617f0fc3221cdfcc57f65e087bc935a0e265495a1e39bad41 WHIRLPOOL 37250c28fb292903edb476ac3d6a1e22a00dc22225339c6dcd46246200bc1c862d9b02141d9702352850497a4cecd121d6489303f9c27297089351a0366d2b08 +MISC metadata.xml 712 SHA256 e1136d0a3468a713fc08ad54ae8f4fd3eb102349cca34996a414fd4622ed2fd0 SHA512 80baa756bf767596eaa69542002777c0ddac3430a1767a5e37c51897c0a7376caa06b4ffacd2b931f83da46d8dad38bdcd1ce827ad5adae7e643767e811224b0 WHIRLPOOL b05fd5dcb5a52053de377559371883e1f0f53e802424a90a99f0c8d0a00461d412753e6ef38906b933472049edeb870bacbe0f3975d2d086921637ac413fa3e5 diff --git a/sys-cluster/classads/classads-1.0.10.ebuild b/sys-cluster/classads/classads-1.0.10.ebuild new file mode 100644 index 000000000000..72ea735ea47f --- /dev/null +++ b/sys-cluster/classads/classads-1.0.10.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 +inherit autotools-utils + +DESCRIPTION="Condor's classified advertisement language" +HOMEPAGE="http://www.cs.wisc.edu/condor/classad/" +SRC_URI="ftp://ftp.cs.wisc.edu/condor/classad/c++/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="pcre static-libs" + +RDEPEND="pcre? ( dev-libs/libpcre )" +DEPEND="${RDEPEND}" + +src_configure() { + myeconfargs+=( + --enable-namespace + --enable-flexible-member + ) + autotools-utils_src_configure +} diff --git a/sys-cluster/classads/metadata.xml b/sys-cluster/classads/metadata.xml new file mode 100644 index 000000000000..00131e23676c --- /dev/null +++ b/sys-cluster/classads/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="person"> + <email>bicatali@gentoo.org</email> +</maintainer> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> +</maintainer> +<longdescription lang="en"> + Classified Advertisements (classads) are the lingua franca of + Condor. They are used for describing jobs, workstations, and other + resources. They are exchanged by Condor processes to schedule + jobs. They are logged to files for statistical and debugging + purposes. They are used to enquire about current state of the system. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/cluster-glue/Manifest b/sys-cluster/cluster-glue/Manifest new file mode 100644 index 000000000000..e0c4ae6ad9c3 --- /dev/null +++ b/sys-cluster/cluster-glue/Manifest @@ -0,0 +1,8 @@ +AUX heartbeat-logd.init 954 SHA256 ea0640cca5a23be60dea2be33f612529bb3be2a1ddd5630ef6c7473087c9602c SHA512 ef59ad02a608810750cc0241f4d0eb7584624e419f735e0e69b61c2865b68241e9b90a1d817bb838d744d955d9c67708fb89c36df35b17a0f8ef6243904b32c5 WHIRLPOOL cdf077715175837cdf0522f2a715d16b95a20a8e1920d4a072521e68a425834f083db627eef6a4b18da9b25b9b0efe95662975c99ddfb6ecca83d88bf7e261ba +DIST glue-1.0.11.tar.bz2 466057 SHA256 dbee64df379e565a0983c08d0d5510b04f8abf4bb496368734c02926735bd91c SHA512 35ac8ac555c39f24c11e3a768cc50eba051fe617edf4cdc0429dac73f45a472f144cfe6ec5faff575606f2b04ff76a2f732556d848b61410c2683d93ba928413 WHIRLPOOL 562afc17eb8aab4a97fdf27ca85e771ccaee6bb767682ef2a56a8f0037197c813f58cbf98641b7f327c1137d0c408db2373d4c618eeb0cb0fefb2cee9e735868 +DIST glue-1.0.12.tar.bz2 451569 SHA256 feba102fa1e24b6be2005089ebe362b82d6567af60005cf371679b1b44ec503f SHA512 d5d2f6c426d2bed0d39269338fedfffe840a90ff56b05dff395243d0d8b803593bf35bbce5f7dce376120cd7ddef78400914cb7515b5451c287a1e9e74233122 WHIRLPOOL dc0db40874691d27463480e06a6f98e3b14f9566caf88667b7ed965c325e39a033b905ca16ad74d988eccc3c99559a33d43bdfdb2f70c1f1d82ac41f1661d274 +EBUILD cluster-glue-1.0.11.ebuild 2191 SHA256 7f44ef65733d3b63a0e1b173d9b474052b724fb477c938b213535a5767a9e1fe SHA512 f8af50aa16f76e992bde0e57660e5f7de171b3a80de86827a5b70c6406e86e8b52c1ed89f4963e7f1e583a3845bc9fe4fab44224fcf050f22233064506ba4238 WHIRLPOOL 30c6643b79b3ff4c5f271ca07f6bab1c72fbbdfa272b228aa5364cfb72411228c9b5c988d5c622de6118921d15618f7f111ce32dfb48308baf5c4a944b4e8d12 +EBUILD cluster-glue-1.0.12.ebuild 2209 SHA256 b45e6555ff01fe7d69705a0e07f64b2fbdd1888c97e88b2432d581f2576338cb SHA512 ab138ae57b746200dbbf53744389d58c82fe43405fca01dd661a5d64f565e00ce35d3189a5557cec3b79580a9f1df19cbf8e25a78d001a6656a451e580020bc4 WHIRLPOOL 4e39125a8c489302f06e42c930c9575c0992965ee9b168d89f2975fde8bfcb662c2973952a62d4928edce956091aa9534fe271114c28150d5791db9d3b4711c8 +MISC ChangeLog 2977 SHA256 6cfc33c7a912dc40a0d826736c5cb73f04da36ce8e927b57f08800c50ada1068 SHA512 b1612ef881f29e8bed23fc4e509fcf342cca68a03ea47219f8b3ad50374df2d005e628e72ac8e3c8dfc061cafb773c9ba1be47d6808705444a9463f034ed4753 WHIRLPOOL b4545457d851df1d6bd0101ccccae93893ca8226e1e9c88a64791315c91e7df59aa5927229051fc444c88b36366cf900e62ce0402567f66bb1a0dc30dd15882b +MISC ChangeLog-2015 5834 SHA256 9697027464ebd8ede4e9b03a7261a603f80995769da87a4ba57a0be35d8d2333 SHA512 c8f71ccdb6472685d00a9c90eccb47c69fcac91f0f481d528b5a06fd621267752cfa4ba5afafc4b903f3b0d29d7f4af061f5a2292198ba3b617c9089c45d2009 WHIRLPOOL 2950cdeccd245b1535e47f640f91c1a9040a16fa7a04a16f43dac159ffcf6c6e2cd6031ff22553a48de325d7fd581e9fa68b1cc7e90032d40408cb12eaff6983 +MISC metadata.xml 485 SHA256 bc65083d1076f1f98597b2c0b1910a5b19a8375cb70b0bfde963c7645ba1d797 SHA512 b7a28d9474e30b96337ed2222d86e1811e7f0e4eef31ab6dd2d3bd10d3afc18f4b091ad7d49185b9c4a7e82d3be31ab80be5e4cee769d642f0a0eb73e27ea2ae WHIRLPOOL 7f6ca4b309ccd0562b7ac4d772727c064ed9872262f5cb31a5edc954de5c8406e68db62e17fce32f0536d48081ea7478c9184de7c9029c66ef91d0b43e7fb0d9 diff --git a/sys-cluster/cluster-glue/cluster-glue-1.0.11.ebuild b/sys-cluster/cluster-glue/cluster-glue-1.0.11.ebuild new file mode 100644 index 000000000000..a8286bdae265 --- /dev/null +++ b/sys-cluster/cluster-glue/cluster-glue-1.0.11.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +MY_P="${P/cluster-}" +inherit autotools eutils multilib user + +DESCRIPTION="Library pack for Heartbeat / Pacemaker" +HOMEPAGE="http://www.linux-ha.org/wiki/Cluster_Glue" +SRC_URI="http://hg.linux-ha.org/glue/archive/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 hppa x86" +IUSE="doc libnet static-libs" + +RDEPEND="app-arch/bzip2 + app-text/docbook-xml-dtd:4.4 + dev-libs/glib:2 + dev-libs/libaio + libnet? ( net-libs/libnet:1.1 ) + net-misc/curl + net-misc/iputils + || ( net-misc/netkit-telnetd net-misc/telnet-bsd ) + dev-libs/libxml2 + !<sys-cluster/heartbeat-3.0" +DEPEND="${RDEPEND} + doc? ( + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + )" + +S="${WORKDIR}/Reusable-Cluster-Components-glue--${MY_P}" + +pkg_setup() { + enewgroup haclient + enewuser hacluster -1 /dev/null /var/lib/heartbeat haclient +} + +src_prepare() { + default + sed -e '/ -ggdb3/d' -i configure.ac || die + sed -e "s@http://docbook.sourceforge.net/release/xsl/current@/usr/share/sgml/docbook/xsl-stylesheets/@g" \ + -i doc/Makefile.am || die + eautoreconf +} + +src_configure() { + local myopts + + use doc && myopts=" --enable-doc" + econf \ + $(use_enable libnet) \ + $(use_enable static-libs static) \ + --disable-fatal-warnings \ + --disable-dependency-tracking \ + --docdir=/usr/share/doc/${PF} \ + --localstatedir=/var \ + --with-ocf-root=/usr/$(get_libdir)/ocf \ + ${myopts} \ + --with-group-id=$(id -g hacluster) \ + --with-ccmuser-id=$(id -u hacluster) \ + --with-daemon-user=hacluster --with-daemon-group=haclient +} + +src_install() { + default + + dodir /var/lib/heartbeat/cores + dodir /var/lib/heartbeat/lrm + + keepdir /var/lib/heartbeat/cores + keepdir /var/lib/heartbeat/lrm + + # init.d file + cp "${FILESDIR}"/heartbeat-logd.init "${T}/" || die + sed -i \ + -e "s:%libdir%:$(get_libdir):" \ + "${T}/heartbeat-logd.init" || die +# newinitd "${T}/heartbeat-logd.init" heartbeat-logd || die + rm "${D}"/etc/init.d/logd + + use static-libs || find "${D}" -type f -name "*.la" -delete +} + +pkg_postinst() { + chown -R hacluster:haclient /var/lib/heartbeat/cores + chown -R hacluster:haclient /var/lib/heartbeat/lrm +} diff --git a/sys-cluster/cluster-glue/cluster-glue-1.0.12.ebuild b/sys-cluster/cluster-glue/cluster-glue-1.0.12.ebuild new file mode 100644 index 000000000000..de7e47b7ac8d --- /dev/null +++ b/sys-cluster/cluster-glue/cluster-glue-1.0.12.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +MY_P="${P/cluster-}" +inherit autotools eutils multilib user + +DESCRIPTION="Library pack for Heartbeat / Pacemaker" +HOMEPAGE="http://www.linux-ha.org/wiki/Cluster_Glue" +SRC_URI="http://hg.linux-ha.org/glue/archive/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 hppa x86" +IUSE="doc libnet static-libs" + +RDEPEND="app-text/asciidoc + app-arch/bzip2 + app-text/docbook-xml-dtd:4.4 + dev-libs/glib:2 + dev-libs/libaio + libnet? ( net-libs/libnet:1.1 ) + net-misc/curl + net-misc/iputils + || ( net-misc/netkit-telnetd net-misc/telnet-bsd ) + dev-libs/libxml2 + !<sys-cluster/heartbeat-3.0" +DEPEND="${RDEPEND} + doc? ( + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + )" + +S="${WORKDIR}/Reusable-Cluster-Components-glue--${MY_P}" + +pkg_setup() { + enewgroup haclient + enewuser hacluster -1 /dev/null /var/lib/heartbeat haclient +} + +src_prepare() { + default + sed -e '/ -ggdb/d' -i configure.ac || die + sed -e "s@http://docbook.sourceforge.net/release/xsl/current@/usr/share/sgml/docbook/xsl-stylesheets/@g" \ + -i doc/Makefile.am || die + eautoreconf +} + +src_configure() { + local myopts + + use doc && myopts=" --enable-doc" + econf \ + $(use_enable libnet) \ + $(use_enable static-libs static) \ + --disable-fatal-warnings \ + --disable-dependency-tracking \ + --docdir=/usr/share/doc/${PF} \ + --localstatedir=/var \ + --with-ocf-root=/usr/$(get_libdir)/ocf \ + ${myopts} \ + --with-group-id=$(id -g hacluster) \ + --with-ccmuser-id=$(id -u hacluster) \ + --with-daemon-user=hacluster --with-daemon-group=haclient +} + +src_install() { + default + + dodir /var/lib/heartbeat/cores + dodir /var/lib/heartbeat/lrm + + keepdir /var/lib/heartbeat/cores + keepdir /var/lib/heartbeat/lrm + + # init.d file + cp "${FILESDIR}"/heartbeat-logd.init "${T}/" || die + sed -i \ + -e "s:%libdir%:$(get_libdir):" \ + "${T}/heartbeat-logd.init" || die +# newinitd "${T}/heartbeat-logd.init" heartbeat-logd || die + rm "${D}"/etc/init.d/logd + + use static-libs || find "${D}" -type f -name "*.la" -delete +} + +pkg_postinst() { + chown -R hacluster:haclient /var/lib/heartbeat/cores + chown -R hacluster:haclient /var/lib/heartbeat/lrm +} diff --git a/sys-cluster/cluster-glue/files/heartbeat-logd.init b/sys-cluster/cluster-glue/files/heartbeat-logd.init new file mode 100644 index 000000000000..71618a50ed10 --- /dev/null +++ b/sys-cluster/cluster-glue/files/heartbeat-logd.init @@ -0,0 +1,47 @@ +#!/sbin/openrc-run + +PIDFILE=/var/run/heartbeat-logd.pid + +depend() { + need net +} + +BINARY="/usr/%libdir%/heartbeat/ha_logd" +USER="hacluster" +GROUP="haclient" +CONFIG="/etc/logd.cf" +LOGFILE="/var/log/ha_logger.log" + +start() { + ebegin "Starting heartbeat non-blocking log service" + + COMMAND_ARGS="-d" + [[ -f "${CONFIG}" ]] && COMMAND_ARGS+=" -c ${CONFIG}" + + if [ -n "${RC_UNAME}" ]; then + PARAMS="--background --stdout '${LOGFILE}' --stderr '${LOGFILE}' -- ${ARGS}" + else + PARAMS="-- ${ARGS} >> '${LOGFILE}' 2>&1 &" + fi + eval ${CHRT} start-stop-daemon \ + --quiet --start --chdir "${RUNTIMEDIR}" \ + --pidfile "${PIDFILE}" \ + --make-pidfile \ + --exec ${BINARY} ${COMMAND_ARGS} --chuid "${USER}:${GROUP}" \ + --nicelevel "${NICELEVEL}" \ + ${PARAMS} + eend $? +} + +stop() { + ebegin "Stopping heartbeat non-blocking log service" + start-stop-daemon --stop --retry 3 --quiet --exec "${BINARY}" + rm -f "${PIDFILE}" + eend $? +} + +restart() { + stop + sleep 3 + start +} diff --git a/sys-cluster/cluster-glue/metadata.xml b/sys-cluster/cluster-glue/metadata.xml new file mode 100644 index 000000000000..c8788d4ba459 --- /dev/null +++ b/sys-cluster/cluster-glue/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription>Cluster Glue is a set of libraries, tools and utilities suitable for the Heartbeat/Pacemaker cluster stack.</longdescription> + <use> + <flag name="libnet">Force use of <pkg>net-libs/libnet</pkg></flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/cman-lib/Manifest b/sys-cluster/cman-lib/Manifest new file mode 100644 index 000000000000..75ce872ef0a9 --- /dev/null +++ b/sys-cluster/cman-lib/Manifest @@ -0,0 +1,6 @@ +DIST cluster-2.03.09.tar.gz 1784357 SHA256 b6d6f35f58b2f8628c369391e0fd01b1803af40029ec1e6ef88865dda38b855f SHA512 5dbcf978336a6b7998df0d3dfcff037e1e77e9e69b43d78eb573a65432445e572e69d7783e7874e9edf2632627f02426f428103831e10f5d1f338afa91a62c28 WHIRLPOOL 30158d495677d9cd0d8a8915dd062f75b60ca99a5d937fa10862d746608bab0e500565e94d14f6b2a4f6e8dc13674d342347aecd24546df6d3f578c0cf87113d +EBUILD cman-lib-2.03.09-r1.ebuild 1092 SHA256 9a8e2fa0710580cabe9ee30dfb2d1e2f01be2d6b943aecc341205d787ed4e4b7 SHA512 e725593e90dae96403829bb58a874d96bea939b7e153623e163c311a942a9b6c60e98aa7bc57dbdfe61c6add8d8805564f26a291ea150368c61e65d28f602028 WHIRLPOOL 84fa1656ae00eb21effa8f5d3bbdec517543a16a4014eeabf439ae9476d051f8a563ec463435f8ffb416daac131e41788f461795700dcb03641726005ac201ac +EBUILD cman-lib-2.03.09.ebuild 1186 SHA256 f1fc9fd255ab8e085847b7901ee6b735deacf38186ba9932b044d89c9a92064f SHA512 ba0175422fd77b3b819f0fefa806247691e22bdf5be9d8725e2a314967295ae240438c0f07ce4a329d0c007830f5fa05e508f3bdfaf414d7ba769a7e2d87eb5b WHIRLPOOL 42c36566ed9eaef964c7b30f843f00b0d467bf2923edf72e2991e964b2f42ab01ca670bf1b9a68affbd68312056ab0f32b83fcffbcf5466807ded08facec43b5 +MISC ChangeLog 2848 SHA256 af8c97538b8826b2c519388c8142a794c4043394e651a2529f779d4de31376ad SHA512 c5844fc39a52b080df172ce8bf4ac02839b568832b64c017668936e691ccb52bff1ab8cebe881fa6207154397a78931bf2661434f544770bc853e36905c84cf2 WHIRLPOOL 4002d10204344883029f2f29f5ccba97629cb489317010b277afa43efbd23038bbe5e838af14f5dc462508c27b9ae641b519c987cc7967c9f16105d810b82347 +MISC ChangeLog-2015 1850 SHA256 2a327a7073e34746aefecc4c6ff5faa6b4357dcb640b88a51ad8d4e55b9926f8 SHA512 2446ed8e68353b718676bfca45a8fcbb6c09cbec7b46ab159a32f934702b8943becdd8490e09188fd1e06b154000751984aab65a6c8ee89b55889ebed523882a WHIRLPOOL 618a4565fbe80ce78bc58663a3e9ff90a146376550af2493da6206b08d5f91590699e22901e358203087f74354ce1d8252f20701e6fa4a3554d9cb3af369c325 +MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e diff --git a/sys-cluster/cman-lib/cman-lib-2.03.09-r1.ebuild b/sys-cluster/cman-lib/cman-lib-2.03.09-r1.ebuild new file mode 100644 index 000000000000..d3e78fcdc3cd --- /dev/null +++ b/sys-cluster/cman-lib/cman-lib-2.03.09-r1.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils versionator multilib + +MY_P=cluster-${PV} + +MAJ_PV=$(get_major_version) +MIN_PV=$(get_version_component_range 2).$(get_version_component_range 3) + +DESCRIPTION="A library for cluster management common to the various pieces of Cluster Suite" +HOMEPAGE="https://sourceware.org/cluster/wiki/" +SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND="!sys-cluster/cman-headers + !sys-cluster/cman-kernel + !=sys-cluster/cman-1*" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${MY_P}/${PN/-//} + +src_compile() { + (cd "${WORKDIR}"/${MY_P}; + ./configure \ + --cc="$(tc-getCC)" \ + --libdir=/usr/$(get_libdir) \ + --cflags="-Wall" \ + --disable_kernel_check \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + ) || die "configure problem" + + sed -e 's:\($(CC)\):\1 $(LDFLAGS):' \ + -i Makefile "${WORKDIR}/${MY_P}/make/cobj.mk" || die + + emake clean all || die +} + +src_install() { + emake DESTDIR="${D}" install || die +} diff --git a/sys-cluster/cman-lib/cman-lib-2.03.09.ebuild b/sys-cluster/cman-lib/cman-lib-2.03.09.ebuild new file mode 100644 index 000000000000..4468db7584b8 --- /dev/null +++ b/sys-cluster/cman-lib/cman-lib-2.03.09.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)" + +DESCRIPTION="A library for cluster management common to the various pieces of Cluster Suite" +HOMEPAGE="https://sourceware.org/cluster/wiki/" +SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND="!sys-cluster/cman-headers + !sys-cluster/cman-kernel + !=sys-cluster/cman-1* + " +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}/${PN/-//}" + +src_compile() { + (cd "${WORKDIR}"/${MY_P}; + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --disable_kernel_check \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + ) || die "configure problem" + + sed -e 's:\($(CC)\):\1 $(LDFLAGS):' -i Makefile + sed -e 's:\($(CC)\):\1 $(LDFLAGS):' -i "${WORKDIR}/${MY_P}/make/cobj.mk" + + emake clean || die "clean problem" + emake || die "compile problem" +} + +src_install() { + emake DESTDIR="${D}" install || die "install problem" +} diff --git a/sys-cluster/cman-lib/metadata.xml b/sys-cluster/cman-lib/metadata.xml new file mode 100644 index 000000000000..4a09d7ba8d61 --- /dev/null +++ b/sys-cluster/cman-lib/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> +</maintainer> +</pkgmetadata> diff --git a/sys-cluster/cman/Manifest b/sys-cluster/cman/Manifest new file mode 100644 index 000000000000..d21d3a3808d4 --- /dev/null +++ b/sys-cluster/cman/Manifest @@ -0,0 +1,11 @@ +AUX cman.confd 2797 SHA256 45f89870420c0855ace5a27149db878bd592a2f48c35711b40d29f3b358a2bf5 SHA512 97cfe35230198091261ab3202c2c4eb2683f43ae311c07a6d34d9ae9c47c71c004ce615993ad25189ee536cbf2863fb721a57c520b439de2e70a7cd3d84ae3fe WHIRLPOOL cf34d8d3e7f2d6c1bfa367ab8f1c969e21e255febc9bbc7418be3662dd82264bd0fd64866db0885794c05bf2f1b52db7af97903ffbf79cb040422d85ca601ea3 +AUX cman.initd 7115 SHA256 0cbdf73ebf572aecaab3fb21937dd70b78bfd129b3a8d87bb8996acc4172e53c SHA512 b3b0f4c5902431b02bc75aef42f7f463d9e6aec9c4895384997df4ff9806fe0bd7f88e4260da6cbea84fa479010f893271acf3e34f84aef0256e8f78edb655f4 WHIRLPOOL 0b687ea652de68d63fdcc79afd54c2e09d4ccb310afc73a359a67e9eb9d8e481a5806010d6765cba395327dbf7ff4a0996d8120ba5f0db096546e8acf26f05bf +AUX cman.initd-3.1.5-r1 7860 SHA256 0143af03c92b1b6ad3ce937bbb1e0db1f763070ad40a7153edfbc302cc85c689 SHA512 9dbc73c7753ffdb5119160cbe544f74f14de77cd71cbe76975603ff3be7c601e6fd8084a7ae0acf44096b5b10448ba563453e7871aa035e7e706437b5088d717 WHIRLPOOL e1156a94fad30029ee424d970ac0837f7fcf974d49d3b6206373fb97160d2cab75d297539e63b575dd0b25b73458500a65039ec5af3aa13f44e946a7b8de4a2f +DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf +DIST cluster-3.2.0.tar.gz 688411 SHA256 96651381645cde0e32b06f83e180b1664232a5c589c72f06206e0539e0036cfb SHA512 00620b89564c4f9b67b679695749cd7515f49af43ace6a565e32e020ee66db219f3db3f53420d6460ea8c1cab03258305735fe5db81aab3953777015119533e9 WHIRLPOOL cc468ac8e879dadc157d585b22615d6ffcf0b38a5c93196f8aa9564467e8b8aae6c2688faa9d9e8a98e68a605b86d84b6a79edb474d0cde231e5a78729ebb4e4 +EBUILD cman-3.1.5-r1.ebuild 2593 SHA256 62792d28c570c0f2dfeb8e96e2e068ddb326695ce9805def1b0b404dbe6028df SHA512 214a919410d3c0c533ce0da251d9290ba7a4f98788c63b392d7494ff64b16636a5db7d5b27896c9de2d018ebe730e265b009d5fcd12e00ad404af44c102afea4 WHIRLPOOL 66bcd5eef365321ec3b10a755ac6414f6594622958581c1101d3ddfd5b5f6b2c1630622c1c36994578f424e235d0496c9b3a4235f2d6ea2b8487398746a1d0e7 +EBUILD cman-3.1.5.ebuild 2584 SHA256 61a2b005c2585a945b506fcfed65f2ad4aad3156e8cd5fcb259c62a317bc3922 SHA512 0215864ff1847aa753fb44e4d2c275223d9775202a52d101b5c8f5579a330390508a4d08fc83e70360a5e02169e921a1de8e7076b933ba1b202a361abf005b87 WHIRLPOOL 8d62c48c2780dd1722b7bd3bd62c36027662d3e385df89b124ed355fec9eb340ba89f7741a703e4c0e8896884fbd53001e4febecbed264c950aff21f3a34e106 +EBUILD cman-3.2.0.ebuild 2593 SHA256 a95e6f5582d4e41f909c21d51ae0f0da1d983791ae86c6c8fe26feb78437772c SHA512 391c839a011888c5a2a4d7d82f8018a421762030422e894b8836f44a1170a64ba06672b23d08d062f42adc5e79bc1bd62ab455d4d04ff2ce203dae32f41edcbd WHIRLPOOL 4cea2665d4f935446b3efc1761374208a32b1f8be5aeea57c5d663467670d8b1d974b75661365296f83a9f3175751d425631b10e2b57b1641fdf8081dcf045b7 +MISC ChangeLog 2786 SHA256 549b1bd99c302e51e71bc0e4fd569595a47890d2d234e57df40a721061fb93ca SHA512 e9f64d0d5eea9296d2e575aeb7bf22bde02d2115b8fc221f673bc3f305689bae3e11bb767c3861f57a4a0e72d6ab7fb01dfe965b39cafd6ece4313d771de389c WHIRLPOOL 290f225eace070863f5f8c59bfe35dbf37e8548d9c5857658342743730a7c74c0eed2f395702d09c46002ce439900213128a29486a2f5925d92b76d0609b4864 +MISC ChangeLog-2015 1066 SHA256 f25e9da2b7123f6e89bb5cb13d9c0e43cb8bb6cc5bc4735bf639b5886b3a644e SHA512 9ab79b8c678e15c6b4ebc060b5288f25f21b50439e23fbf98fc75165986a5c01e0ae7f6d1ae0413982f2e9ec27090e601a459d078c0bb2ccca794fe853b4df75 WHIRLPOOL 32fef4593379214ab4f82af4777c42226eabf03800abac57c67273e02d724b0891003bfad67589c65fc91c24b856f600a7055fc6ae20b386e07ca8d2ba118bb2 +MISC metadata.xml 309 SHA256 2a3659fbfa9f104093f400f6673c1b3a2adb0bb679d233e1619809a1d56c3f02 SHA512 63af840873be4c3b0656822e4d1d36a1b30cea6d1f295cf0084e3a9fdf2f589bb6923dfed365ad6399842a0d8388607f9988000843c35549900db94acd9f9863 WHIRLPOOL 256e9072ee7e5a9644e3733a5167013f33789d40c4975a923ce451fa122871d41676c95464579143292b3aadd185f9e23535d60e375a0434568e1768535b2ccd diff --git a/sys-cluster/cman/cman-3.1.5-r1.ebuild b/sys-cluster/cman/cman-3.1.5-r1.ebuild new file mode 100644 index 000000000000..ebddee75dd57 --- /dev/null +++ b/sys-cluster/cman/cman-3.1.5-r1.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit linux-info multilib toolchain-funcs versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Cluster Manager" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="dbus ldap" + +RDEPEND="dev-libs/libxml2 + dev-libs/libxslt + dbus? ( sys-apps/dbus ) + ldap? ( net-nds/openldap ) + sys-cluster/corosync + sys-cluster/openais + ~sys-cluster/libccs-${PV} + ~sys-cluster/libfence-${PV} + ~sys-cluster/libcman-${PV} + ~sys-cluster/libdlm-${PV} + ~sys-cluster/liblogthread-${PV} + !sys-cluster/dlm +" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-2.6.24" + +S="${WORKDIR}/${MY_P}" + +# TODO: +# * Gentoo'ise the init script + +src_configure() { + # cluster libs have their own separate packages + sed -i -e 's|lib||' "${S}/cman/Makefile" || die + sed -i -e 's|liblogthread||' "${S}/common/Makefile" || die + sed -i -e 's|libs||' "${S}/config/Makefile" || die + sed -i -e 's|libdlm libdlmcontrol||' "${S}/dlm/Makefile" || die + sed -i -e 's|libfence libfenced||' "${S}/fence/Makefile" || die + sed -i -e 's|fence/libfenced||' "${S}/Makefile" || die + + sed -i \ + -e 's|\(^all:.*\)depends |\1|' \ + config/tools/ccs_tool/Makefile \ + fence/fence{d,_node,_tool}/Makefile \ + cman/{cman_tool,daemon,tests,qdisk,notifyd}/Makefile \ + dlm/{tool,tests/usertest}/Makefile \ + || die "sed failed" + + if ! use ldap ; then + sed -i -e 's|ldap||' config/plugins/Makefile || die "sed failed" + fi + local myopts="" + use dbus || myopts="--disable_dbus" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --without_rgmanager \ + --without_bindings \ + ${myopts} \ + || die "configure problem" +} + +src_install() { + emake DESTDIR="${D}" install + + # we have to create it in the init.d script anyway + rmdir "${D}"/var/run/{cluster,} + + keepdir /var/{lib,log}/cluster + keepdir /etc/cluster/cman-notify.d + + rm -rf "${D}/usr/share/doc" + dodoc \ + doc/{usage.txt,cman_notify_template.sh} \ + config/plugins/ldap/*.ldif + dohtml doc/*.html + + # lib-specific man pages are provided by the corresponding packages + rm "${D}/usr/share/man/man3/libdlm.3" + + newinitd "${FILESDIR}/${PN}.initd-3.1.5-r1" "${PN}" + newconfd "${FILESDIR}/${PN}.confd" "${PN}" +} diff --git a/sys-cluster/cman/cman-3.1.5.ebuild b/sys-cluster/cman/cman-3.1.5.ebuild new file mode 100644 index 000000000000..f97954b26b3c --- /dev/null +++ b/sys-cluster/cman/cman-3.1.5.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit linux-info multilib toolchain-funcs versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Cluster Manager" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="dbus ldap" + +RDEPEND="dev-libs/libxml2 + dev-libs/libxslt + dbus? ( sys-apps/dbus ) + ldap? ( net-nds/openldap ) + sys-cluster/corosync + sys-cluster/openais + ~sys-cluster/libccs-${PV} + ~sys-cluster/libfence-${PV} + ~sys-cluster/libcman-${PV} + ~sys-cluster/libdlm-${PV} + ~sys-cluster/liblogthread-${PV} + !sys-cluster/dlm +" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-2.6.24" + +S="${WORKDIR}/${MY_P}" + +# TODO: +# * Gentoo'ise the init script + +src_configure() { + # cluster libs have their own separate packages + sed -i -e 's|lib||' "${S}/cman/Makefile" || die + sed -i -e 's|liblogthread||' "${S}/common/Makefile" || die + sed -i -e 's|libs||' "${S}/config/Makefile" || die + sed -i -e 's|libdlm libdlmcontrol||' "${S}/dlm/Makefile" || die + sed -i -e 's|libfence libfenced||' "${S}/fence/Makefile" || die + sed -i -e 's|fence/libfenced||' "${S}/Makefile" || die + + sed -i \ + -e 's|\(^all:.*\)depends |\1|' \ + config/tools/ccs_tool/Makefile \ + fence/fence{d,_node,_tool}/Makefile \ + cman/{cman_tool,daemon,tests,qdisk,notifyd}/Makefile \ + dlm/{tool,tests/usertest}/Makefile \ + || die "sed failed" + + if ! use ldap ; then + sed -i -e 's|ldap||' config/plugins/Makefile || die "sed failed" + fi + local myopts="" + use dbus || myopts="--disable_dbus" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --without_rgmanager \ + --without_bindings \ + ${myopts} \ + || die "configure problem" +} + +src_install() { + emake DESTDIR="${D}" install + + # we have to create it in the init.d script anyway + rmdir "${D}"/var/run/{cluster,} + + keepdir /var/{lib,log}/cluster + keepdir /etc/cluster/cman-notify.d + + rm -rf "${D}/usr/share/doc" + dodoc \ + doc/{usage.txt,cman_notify_template.sh} \ + config/plugins/ldap/*.ldif + dohtml doc/*.html + + # lib-specific man pages are provided by the corresponding packages + rm "${D}/usr/share/man/man3/libdlm.3" + + newinitd "${FILESDIR}/${PN}.initd" "${PN}" + newconfd "${FILESDIR}/${PN}.confd" "${PN}" +} diff --git a/sys-cluster/cman/cman-3.2.0.ebuild b/sys-cluster/cman/cman-3.2.0.ebuild new file mode 100644 index 000000000000..2b59cd78f283 --- /dev/null +++ b/sys-cluster/cman/cman-3.2.0.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit linux-info multilib toolchain-funcs versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Cluster Manager" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="dbus ldap" + +RDEPEND="dev-libs/libxml2 + dev-libs/libxslt + dbus? ( sys-apps/dbus ) + ldap? ( net-nds/openldap ) + sys-cluster/corosync + sys-cluster/openais + ~sys-cluster/libccs-${PV} + ~sys-cluster/libfence-${PV} + ~sys-cluster/libcman-${PV} + ~sys-cluster/libdlm-${PV} + ~sys-cluster/liblogthread-${PV} + !sys-cluster/dlm +" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-2.6.24" + +S="${WORKDIR}/${MY_P}" + +# TODO: +# * Gentoo'ise the init script + +src_configure() { + # cluster libs have their own separate packages + sed -i -e 's|lib||' "${S}/cman/Makefile" || die + sed -i -e 's|liblogthread||' "${S}/common/Makefile" || die + sed -i -e 's|libs||' "${S}/config/Makefile" || die + sed -i -e 's|libdlm libdlmcontrol||' "${S}/dlm/Makefile" || die + sed -i -e 's|libfence libfenced||' "${S}/fence/Makefile" || die + sed -i -e 's|fence/libfenced||' "${S}/Makefile" || die + + sed -i \ + -e 's|\(^all:.*\)depends |\1|' \ + config/tools/ccs_tool/Makefile \ + fence/fence{d,_node,_tool}/Makefile \ + cman/{cman_tool,daemon,tests,qdisk,notifyd}/Makefile \ + dlm/{tool,tests/usertest}/Makefile \ + || die "sed failed" + + if ! use ldap ; then + sed -i -e 's|ldap||' config/plugins/Makefile || die "sed failed" + fi + local myopts="" + use dbus || myopts="--disable_dbus" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --without_rgmanager \ + --without_bindings \ + ${myopts} \ + || die "configure problem" +} + +src_install() { + emake DESTDIR="${D}" install + + # we have to create it in the init.d script anyway + rmdir "${D}"/var/run/{cluster,} + + keepdir /var/{lib,log}/cluster + keepdir /etc/cluster/cman-notify.d + + rm -rf "${D}/usr/share/doc" + dodoc \ + doc/{usage.txt,cman_notify_template.sh} \ + config/plugins/ldap/*.ldif + dohtml doc/*.html + + # lib-specific man pages are provided by the corresponding packages + rm "${D}/usr/share/man/man3/libdlm.3" + + newinitd "${FILESDIR}/${PN}.initd-3.1.5-r1" "${PN}" + newconfd "${FILESDIR}/${PN}.confd" "${PN}" +} diff --git a/sys-cluster/cman/files/cman.confd b/sys-cluster/cman/files/cman.confd new file mode 100644 index 000000000000..14b7ea791614 --- /dev/null +++ b/sys-cluster/cman/files/cman.confd @@ -0,0 +1,67 @@ +CCSD_OPTS= + +# CMAN_CLUSTER_TIMEOUT -- amount of time to wait for joinging a cluster +# before giving up. If CMAN_CLUSTER_TIMEOUT is positive, then we will +# wait CMAN_CLUSTER_TIMEOUT seconds before giving up and failing when +# a cluster is not joined. If CMAN_CLUSTER_TIMEOUT is zero, then +# wait indefinately for a cluster join. If CMAN_CLUSTER_TIMEOUT is +# negative, do not check to see that the cluster has been joined +CMAN_CLUSTER_TIMEOUT=120 + +# CMAN_QUORUM_TIMEOUT -- amount of time to wait for a quorate cluster on +# startup quorum is needed by many other applications, so we may as +# well wait here. If CMAN_QUORUM_TIMEOUT is less than 1, quorum will +# be ignored. +CMAN_QUORUM_TIMEOUT=300 + +# CMAN_SHUTDOWN_TIMEOUT -- amount of time to wait for cman to become a +# cluster member before calling cman_tool leave during shutdown. +# default is 60 seconds +CMAN_SHUTDOWN_TIMEOUT=60 + +# CMAN_JOIN_OPTIONS +#CMAN_JOIN_OPTS="-c ...." + +# CMAN_LEAVE_OPTIONS +#CMAN_LEAVE_OPTS="" + + +# ex: FENCED_OPTS="-w -t 300" +FENCED_OPTS="" + + +# TODO ? +# CMAN_NOTIFYD_START - control the startup behaviour for cmannotifyd +# the variable can take 3 values: +# yes | will always start cmannotifyd +# no | will never start cmannotifyd +# conditional (default) | will start cmannotifyd only if scriptlets +# are found in @NOTIFYDDIR@ +[ -z "$CMAN_NOTIFYD_START" ] && CMAN_NOTIFYD_START=conditional + +# CMAN_SSHD_START - control sshd startup behaviour +# the variable can take 2 values: +# yes | cman will start sshd as early as possible +# no (default) | cman will not start sshd +[ -z "$CMAN_SSHD_START" ] && CMAN_SSHD_START=no + +# FENCE_JOIN_TIMEOUT -- seconds to wait for fence domain join to +# complete. If the join hasn't completed in this time, fence_tool join +# exits with an error, and this script exits with an error. To wait +# indefinitely set the value to -1. +[ -z "$FENCE_JOIN_TIMEOUT" ] && FENCE_JOIN_TIMEOUT=20 + +# FENCED_MEMBER_DELAY -- amount of time to delay fence_tool join to allow +# all nodes in cluster.conf to become cluster members. In seconds. +[ -z "$FENCED_MEMBER_DELAY" ] && FENCED_MEMBER_DELAY=45 + +# FENCE_JOIN -- boolean value used to control whether or not this node +# should join the fence domain. If FENCE_JOIN is set to "no", then +# the script will not attempt to the fence domain. If FENCE_JOIN is +# set to "yes", then the script will attempt to join the fence domain. +# If FENCE_JOIN is set to any other value, the default behavior is +# to join the fence domain (equivalent to "yes"). +[ -z "$FENCE_JOIN" ] && FENCE_JOIN="yes" + +# FENCED_OPTS -- allow extra options to be passed to fence daemon. +[ -z "$FENCED_OPTS" ] && FENCED_OPTS=""
\ No newline at end of file diff --git a/sys-cluster/cman/files/cman.initd b/sys-cluster/cman/files/cman.initd new file mode 100644 index 000000000000..68c34c146818 --- /dev/null +++ b/sys-cluster/cman/files/cman.initd @@ -0,0 +1,318 @@ +#!/sbin/openrc-run +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +CMAN_TOOL="/usr/sbin/cman_tool" +FENCE_TOOL="/usr/sbin/fence_tool" +GFS_CONTROLD="/usr/sbin/gfs_controld" +DLM_CONTROLD="/usr/sbin/dlm_controld" +GROUPD="/usr/sbin/groupd" +FENCED="/usr/sbin/fenced" +CCSD="/usr/sbin/ccsd" + +[ -z "$CCSD_OPTS" ] && CCSD_OPTS="" +[ -z "$CMAN_CLUSTER_TIMEOUT" ] && CMAN_CLUSTER_TIMEOUT=120 +[ -z "$CMAN_QUORUM_TIMEOUT" ] && CMAN_QUORUM_TIMEOUT=0 +[ -z "$CMAN_SHUTDOWN_TIMEOUT" ] && CMAN_SHUTDOWN_TIMEOUT=60 +[ -z "$FENCED_START_TIMEOUT" ] && FENCED_START_TIMEOUT=300 +[ -z "$FENCED_MEMBER_DELAY" ] && FENCED_MEMBER_DELAY=300 + +depend() { + use net + after xend + after xendomains + provide cman +} + +load_modules() { + local module modules + modules=$1 + + for module in ${modules}; do + ebegin "Loading ${module} kernel module" + modprobe ${module} > /dev/null + eend $? "Failed to load ${module} kernel module" + done +} + +unload_modules() { + local module modules + modules=$1 + + for module in ${modules}; do + ebegin "Unloading ${module} kernel module" + modprobe -r ${module} > /dev/null + eend $? "Failed to unload ${module} kernel module" + done +} + +check_configfs() { + awk '{ print $2 }' /etc/mtab | grep "/sys/kernel/config" &> /dev/null\ + && awk '{ print $3 }' /etc/mtab | grep "configfs" &> /dev/null + + if [ $? -ne 0 ]; then + ewarn "Please add the following line to /etc/fstab:" + ewarn "none configfs /sys/kernel/config defaults 0 0" + eend 1 "configfs not mounted at /sys/kernel/config" + fi +} + +mount_configfs() +{ + local module=$(awk '$2 == "configfs" { print $2 }' /proc/filesystems) + + if [ -z "${module}" ]; then + load_modules "configfs" + sleep 1s + fi + + # configfs + awk '{ print $2 }' /etc/mtab | grep "/sys/kernel/config" &> /dev/null \ + && awk '{ print $3 }' /etc/mtab | grep "configfs" &> /dev/null + + if [ $? -ne 0 ] + then + ebegin "Mounting ConfigFS" + /bin/mount -t configfs none /sys/kernel/config 2>&1 + eend $? + fi + return 0 +} + +umount_configfs() { + local sig retry + local entry entries + + entries="$(awk '$3 == "configfs" { print $2 }' /proc/mounts | sort -r)" + + for entry in $entries; do + ebegin "Unmounting ConfigFS" + umount $entry &>/dev/null + eend $? + done + + local module=$(awk '$1 == "configfs" { print $1 }' /proc/modules) + + if [ ! -z "${module}" ]; then + unload_modules "configfs" + sleep 1s + fi +} + +umount_gfs_filesystems() { + local sig retry + local remaining="$(awk '$3 == "gfs" || $3 == "gfs2" { print $2 }' /proc/mounts | sort -r)" + + if [ -n "${remaining}" ] + then + sig= + retry=3 + while [ -n "${remaining}" -a "${retry}" -gt 0 ] + do + if [ "${retry}" -lt 3 ] + then + ebegin "Unmounting GFS filesystems (retry)" + umount ${remaining} &>/dev/null + eend $? "Failed to unmount GFS filesystems this retry" + else + ebegin "Unmounting GFS filesystems" + umount ${remaining} &>/dev/null + eend $? "Failed to unmount GFS filesystems" + fi + remaining="$(awk '$3 == "gfs" || $3 == "gfs2" { if ($2 != "/") print $2 }' /proc/mounts | sort -r)" + [ -z "${remaining}" ] && break + /bin/fuser -k -m ${sig} ${remaining} &>/dev/null + sleep 5 + retry=$((${retry} -1)) + sig=-9 + done + fi +} + +unload_allmodules() { + local modules + + modules=$(awk '$1 == "lock_gulm" || \ + $1 == "lock_dlm" || $1 == "dlm" || \ + $1 == "lock_harness" || $1 == "gfs2" || \ + $1 == "gfs" { print $1 }' /proc/modules) + + #modules=$(awk '$1 == "lock_harness" || \ + # $1 == "gfs" { print $1 }' /proc/modules) + + unload_modules "${modules}" +} + +start_ccsd() { + ebegin "Starting ccsd" + start-stop-daemon --start --quiet --exec ${CCSD} -- ${CCSD_OPTS} + eend $? +} + +stop_ccsd() { + ebegin "Stopping ccsd" + start-stop-daemon --stop --quiet -s 9 --exec ${CCSD} + eend $? +} + +start_cman() { + ${CMAN_TOOL} status &> /dev/null + if [ $? -ne 0 ] + then + ebegin "Starting cman" + ${CMAN_TOOL} -t ${CMAN_CLUSTER_TIMEOUT} \ + -w join ${CMAN_JOIN_OPTS} &> /dev/null + + if [ "$?" -ne 0 ] + then + eend 1 "Failed to start cman" + else + eend 0 + + # make sure that we are quorate? + if [ ${CMAN_QUORUM_TIMEOUT} -gt 0 ] + then + ebegin "Waiting for quorum (${CMAN_QUORUM_TIMEOUT} secs)" + ${CMAN_TOOL} -t ${CMAN_QUORUM_TIMEOUT} -q wait + eend $? + fi + fi + else + einfo "cman already running" + fi +} + +stop_cman() { + ebegin "Stopping cman" + local stat=0 + ${CMAN_TOOL} status > /dev/null 2>&1 + if [ $? -eq 0 ]; then + retry=3 + stat=1 + while [ "${stat}" -eq 1 -a "${retry}" -gt 0 ] + do + #sleep 2 + #${CMAN_TOOL} -w -t ${CMAN_SHUTDOWN_TIMEOUT} \ + # leave remove ${CMAN_LEAVE_OPTS} > /dev/null + ${CMAN_TOOL} leave -t ${CMAN_SHUTDOWN_TIMEOUT} ${CMAN_LEAVE_OPTS} \ + remove &> /dev/null + stat=$? + retry=$((${retry} -1)) + done + fi + eend ${stat} +} + +start_groupd() { + ebegin "Starting groupd" + start-stop-daemon --start --exec ${GROUPD} --name groupd + eend $? +} + +stop_groupd() { + ebegin "Stopping groupd" + start-stop-daemon --stop --exec ${GROUPD} --name groupd + eend $? +} + +start_fenced() { + ebegin "Starting fenced" + start-stop-daemon --start --exec ${FENCED} --name fenced + eend $? + + ${CMAN_TOOL} status | grep Flags | grep 2node &> /dev/null + local errmsg=$? + + ebegin "Joining fence domain" + if [ "${errmsg}" -ne 0 ] + then + ${FENCE_TOOL} join -t $FENCED_START_TIMEOUT &> /dev/null + [ $? -eq 0 ] && errmsg=$? || errmsg=1 + else + ${FENCE_TOOL} join -m $FENCED_MEMBER_DELAY &> /dev/null + [ $? -eq 0 ] && errmsg=$? || errmsg=1 + fi + eend $errmsg +} + +stop_fenced() { + # fenced services +# local fence_status="$( ${CMAN_TOOL} services | awk '$1 ~ /fence/ { print $3 }')" +# if [ -n "${fence_status}" ]; then +# if [ -x ${FENCE_TOOL} ]; then +# ebegin "Leaving fence domain" +# ${FENCE_TOOL} leave > /dev/null 2>&1 +# eend $? +# fi +# fi + + if [ -x ${FENCE_TOOL} ]; then + if ${FENCE_TOOL} ls >/dev/null 2>&1; then + ebegin "Leaving fence domain" + ${FENCE_TOOL} leave > /dev/null 2>&1 + eend $? + fi + fi + + ebegin "Stopping fenced" + start-stop-daemon --stop --exec ${FENCED} --name fenced + eend $? +} + +start_gfs_controld() { + ebegin "Starting gfs_controld" + start-stop-daemon --start --exec ${GFS_CONTROLD} --name gfs_controld + eend $? +} + +stop_gfs_controld() { + ebegin "Stopping gfs_controld" + start-stop-daemon --stop --exec ${GFS_CONTROLD} --name gfs_controld + eend $? +} + +start_dlm_controld() { + ebegin "Starting dlm_controld" + start-stop-daemon --start --exec ${DLM_CONTROLD} --name dlm_controld + eend $? +} + +stop_dlm_controld() { + ebegin "Stopping dlm_controld" + start-stop-daemon --stop --exec ${DLM_CONTROLD} --name dlm_controld + eend $? +} + +start() { + load_modules "dlm" + + mkdir -p /var/run/cluster + + mount_configfs +# start_ccsd + start_cman + start_fenced + start_groupd + start_dlm_controld +# start_gfs_controld +} + +stop() { + +# umount GFS filesystems +# umount_gfs_filesystems + + stop_dlm_controld + stop_groupd + stop_fenced + stop_cman + + #stop_gfs_controld + #stop_dlm_controld + #stop_groupd + + unload_modules "dlm" +# stop_ccsd +# unload_allmodules + umount_configfs +} diff --git a/sys-cluster/cman/files/cman.initd-3.1.5-r1 b/sys-cluster/cman/files/cman.initd-3.1.5-r1 new file mode 100644 index 000000000000..04cf5f2e7f9e --- /dev/null +++ b/sys-cluster/cman/files/cman.initd-3.1.5-r1 @@ -0,0 +1,349 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +CMAN_TOOL="/usr/sbin/cman_tool" +FENCE_TOOL="/usr/sbin/fence_tool" +GFS_CONTROLD="/usr/sbin/gfs_controld" +DLM_CONTROLD="/usr/sbin/dlm_controld" +GROUPD="/usr/sbin/groupd" +FENCED="/usr/sbin/fenced" +CCSD="/usr/sbin/ccsd" + +[ -z "$CCSD_OPTS" ] && CCSD_OPTS="" +[ -z "$CMAN_CLUSTER_TIMEOUT" ] && CMAN_CLUSTER_TIMEOUT=120 +[ -z "$CMAN_QUORUM_TIMEOUT" ] && CMAN_QUORUM_TIMEOUT=0 +[ -z "$CMAN_SHUTDOWN_TIMEOUT" ] && CMAN_SHUTDOWN_TIMEOUT=60 +[ -z "$FENCED_START_TIMEOUT" ] && FENCED_START_TIMEOUT=300 +[ -z "$FENCED_MEMBER_DELAY" ] && FENCED_MEMBER_DELAY=300 + +depend() { + use net + after xend + after xendomains + provide cman +} + +load_modules() { + local module modules + modules=$1 + + rcS=0 # catch the first error here + [ -f /proc/modules ] && for module in ${modules}; do + ebegin "Loading ${module} kernel module" + modprobe -q ${module} + rc=$? # error for this modprobe call + eend $rc "Failed to load ${module} kernel module" + [ $rc -ne 0 ] && rcS=$rc + done + return $rcS +} + +unload_modules() { + local module modules + modules=$1 + + [ -f /proc/modules ] && for module in ${modules}; do + ebegin "Unloading ${module} kernel module" + modprobe -r ${module} > /dev/null + eend $? "Failed to unload ${module} kernel module" + done +} + +check_configfs() { + awk '{ print $2 }' /proc/mounts | grep -sq "/sys/kernel/config" \ + && awk '{ print $3 }' /proc/mounts | grep -sq "configfs" + + if [ $? -ne 0 ]; then + ewarn "Please add the following line to /etc/fstab:" + ewarn "none configfs /sys/kernel/config defaults 0 0" + eend 1 "configfs not mounted at /sys/kernel/config" + fi +} + +mount_configfs() +{ + local module=$(awk '$2 == "configfs" { print $2 }' /proc/filesystems) + + if [ -z "${module}" ]; then + load_modules "configfs" + rc=$? + sleep 1s + [ $rc -ne 0 ] && return 1 + fi + + # configfs + awk '{ print $2 }' /proc/mounts | grep -sq "/sys/kernel/config" \ + && awk '{ print $3 }' /proc/mounts | grep -sq "configfs" + rc=$? + + if [ $rc -ne 0 ] + then + ebegin "Mounting ConfigFS" + /bin/mount -t configfs none /sys/kernel/config 2>&1 + rc=$? + eend $rc + fi + + return $rc +} + +umount_configfs() { + local sig retry + local entry entries + + entries="$(awk '$3 == "configfs" { print $2 }' /proc/mounts | sort -r)" + + for entry in $entries; do + ebegin "Unmounting ConfigFS" + umount $entry >/dev/null 2>&1 + eend $? + done + + local module=$(awk '$1 == "configfs" { print $1 }' /proc/modules) + + if [ ! -z "${module}" ]; then + unload_modules "configfs" + sleep 1s + fi +} + +umount_gfs_filesystems() { + local sig retry + local remaining="$(awk '$3 == "gfs" || $3 == "gfs2" { print $2 }' /proc/mounts | sort -r)" + + if [ -n "${remaining}" ] + then + sig= + retry=3 + while [ -n "${remaining}" -a "${retry}" -gt 0 ] + do + if [ "${retry}" -lt 3 ] + then + ebegin "Unmounting GFS filesystems (retry)" + umount ${remaining} >/dev/null 2>&1 + eend $? "Failed to unmount GFS filesystems this retry" + else + ebegin "Unmounting GFS filesystems" + umount ${remaining} >/dev/null 2>&1 + eend $? "Failed to unmount GFS filesystems" + fi + remaining="$(awk '$3 == "gfs" || $3 == "gfs2" { if ($2 != "/") print $2 }' /proc/mounts | sort -r)" + [ -z "${remaining}" ] && break + /bin/fuser -k -m ${sig} ${remaining} >/dev/null 2>&1 + sleep 5 + retry=$((${retry} -1)) + sig=-9 + done + fi +} + +unload_allmodules() { + local modules + + modules=$(awk '$1 == "lock_gulm" || \ + $1 == "lock_dlm" || $1 == "dlm" || \ + $1 == "lock_harness" || $1 == "gfs2" || \ + $1 == "gfs" { print $1 }' /proc/modules) + + #modules=$(awk '$1 == "lock_harness" || \ + # $1 == "gfs" { print $1 }' /proc/modules) + + unload_modules "${modules}" +} + +start_ccsd() { + ebegin "Starting ccsd" + start-stop-daemon --start --quiet --exec ${CCSD} -- ${CCSD_OPTS} + eend $? +} + +stop_ccsd() { + ebegin "Stopping ccsd" + start-stop-daemon --stop --quiet -s 9 --exec ${CCSD} + eend $? +} + +start_cman() { + ${CMAN_TOOL} status >/dev/null 2>&1 + if [ $? -ne 0 ] + then + ebegin "Starting cman" + ${CMAN_TOOL} -t ${CMAN_CLUSTER_TIMEOUT} \ + -w join ${CMAN_JOIN_OPTS} >/dev/null 2>&1 + + if [ "$?" -ne 0 ] + then + eend 1 "Failed to start cman" + return 1 + else + eend 0 + + # make sure that we are quorate? + if [ ${CMAN_QUORUM_TIMEOUT} -gt 0 ] + then + ebegin "Waiting for quorum (${CMAN_QUORUM_TIMEOUT} secs)" + ${CMAN_TOOL} -t ${CMAN_QUORUM_TIMEOUT} -q wait + rc=$? + eend $rc + return $rc + fi + fi + else + einfo "cman already running" + fi +} + +stop_cman() { + ebegin "Stopping cman" + local stat=0 + ${CMAN_TOOL} status > /dev/null 2>&1 + if [ $? -eq 0 ]; then + retry=3 + stat=1 + while [ "${stat}" -eq 1 -a "${retry}" -gt 0 ] + do + #sleep 2 + #${CMAN_TOOL} -w -t ${CMAN_SHUTDOWN_TIMEOUT} \ + # leave remove ${CMAN_LEAVE_OPTS} > /dev/null + ${CMAN_TOOL} leave -t ${CMAN_SHUTDOWN_TIMEOUT} ${CMAN_LEAVE_OPTS} \ + remove >/dev/null 2>&1 + stat=$? + retry=$((${retry} -1)) + done + fi + eend ${stat} +} + +start_groupd() { + ebegin "Starting groupd" + start-stop-daemon --start --exec ${GROUPD} --name groupd + eend $? +} + +stop_groupd() { + ebegin "Stopping groupd" + start-stop-daemon --stop --exec ${GROUPD} --name groupd + eend $? +} + +start_fenced() { + ebegin "Starting fenced" + start-stop-daemon --start --exec ${FENCED} --name fenced + eend $? + + ${CMAN_TOOL} status | grep Flags | grep 2node >/dev/null 2>&1 + local errmsg=$? + + ebegin "Joining fence domain" + if [ "${errmsg}" -ne 0 ] + then + ${FENCE_TOOL} join -t $FENCED_START_TIMEOUT >/dev/null 2>&1 + [ $? -eq 0 ] && errmsg=$? || errmsg=1 + else + ${FENCE_TOOL} join -m $FENCED_MEMBER_DELAY >/dev/null 2>&1 + [ $? -eq 0 ] && errmsg=$? || errmsg=1 + fi + eend $errmsg +} + +stop_fenced() { + # fenced services +# local fence_status="$( ${CMAN_TOOL} services | awk '$1 ~ /fence/ { print $3 }')" +# if [ -n "${fence_status}" ]; then +# if [ -x ${FENCE_TOOL} ]; then +# ebegin "Leaving fence domain" +# ${FENCE_TOOL} leave > /dev/null 2>&1 +# eend $? +# fi +# fi + + if [ -x ${FENCE_TOOL} ]; then + if ${FENCE_TOOL} ls >/dev/null 2>&1; then + ebegin "Leaving fence domain" + ${FENCE_TOOL} leave > /dev/null 2>&1 + eend $? + fi + fi + + ebegin "Stopping fenced" + start-stop-daemon --stop --exec ${FENCED} --name fenced + eend $? +} + +start_gfs_controld() { + ebegin "Starting gfs_controld" + start-stop-daemon --start --exec ${GFS_CONTROLD} --name gfs_controld + eend $? +} + +stop_gfs_controld() { + ebegin "Stopping gfs_controld" + start-stop-daemon --stop --exec ${GFS_CONTROLD} --name gfs_controld + eend $? +} + +start_dlm_controld() { + ebegin "Starting dlm_controld" + start-stop-daemon --start --exec ${DLM_CONTROLD} --name dlm_controld + eend $? +} + +stop_dlm_controld() { + ebegin "Stopping dlm_controld" + start-stop-daemon --stop --exec ${DLM_CONTROLD} --name dlm_controld + eend $? +} + +start() { + if ! mount_configfs ; then + eerror "ConfigFS & DLM are required to use cman" + return 1 + fi + + [ -e /sys/module/dlm ] || [ -e /sys/kernel/dlm ] || load_modules "dlm" + if [ ! -e /sys/kernel/dlm ]; then + eerror "ConfigFS & DLM are required to use cman" + return 1 + fi + mkdir -p /var/run/cluster + +# start_ccsd + if ! start_cman ; then + eerror "Failed to start cman" + return 1 + fi + if ! start_fenced; then + eerror "Failed to start fenced" + return 1 + fi + if ! start_groupd; then + eerror "Failed to start groupd" + return 1 + fi + if ! start_dlm_controld; then + eerror "Failed to start dlm_controld" + return 1 + fi +# start_gfs_controld +} + +stop() { + +# umount GFS filesystems +# umount_gfs_filesystems + + stop_dlm_controld + stop_groupd + stop_fenced + stop_cman + + #stop_gfs_controld + #stop_dlm_controld + #stop_groupd + + unload_modules "dlm" +# stop_ccsd +# unload_allmodules + umount_configfs +} diff --git a/sys-cluster/cman/metadata.xml b/sys-cluster/cman/metadata.xml new file mode 100644 index 000000000000..ca6ebb8ce738 --- /dev/null +++ b/sys-cluster/cman/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription>Cluster Manager</longdescription> +</pkgmetadata> diff --git a/sys-cluster/corosync/Manifest b/sys-cluster/corosync/Manifest new file mode 100644 index 000000000000..01584ca051dc --- /dev/null +++ b/sys-cluster/corosync/Manifest @@ -0,0 +1,22 @@ +AUX corosync-2.0.0-docs.patch 1238 SHA256 505575c1025f46249fdedd8e46d0ae756da59f57f63bf42b2e3af78aa5f4e962 SHA512 d6c1a5e6c0ccef07b5748e5ec4fa6dd9f76c162b71d679ec809b3986e53ec30934ea4cf569d461c4f284f45588a5bf0ed63fe9618083f18f5be7d876d2139bd6 WHIRLPOOL 87422b99d0cf870cf93400e662813c1d9b5e6fb1249132752efb08b7d13f2ad10a03fcc7d37d4f616abdd9dba87a42b2957ad4e9975da0282794164a9fa4fa71 +AUX corosync-2.3.4-docs.patch 842 SHA256 233e25049233e6d2c213c194a74d274a4fed850c34cb6b36dba0720f92546076 SHA512 e73db019b1fbe8a030e530a0be55cdc33972d018a6415d17c7c425607613ef1f0695e9c4d231eddbce708710e1cb2341c42e911e59382974ba8b24204205896f WHIRLPOOL dd743290e0334cfe8f6b373eae82734e030e03300d068ad77842af5879784b31b2cd74e844ad50601bee2bb47351237bd7bb5cf7354d2603c0801d01b464f812 +AUX corosync-docs.patch 1022 SHA256 0c988b55ea471d9c413c0143d2a523a683a324c23de5dd82bcba62676eea6857 SHA512 49f8b19cbfd5f0b1f0f927a7aa8cd2f0ad24ff958cf2baf06e8a9d87858fa01cf3656ba05189a085e265a2d8b1b320ca7f18b3a4d405d73ff05f1876ebe14960 WHIRLPOOL a2a54277d91e378cf2eec7b2385de4773815a109e425c41f725255424ec1bcd03bbc6bc7dedb7db6293e46dc5b5a2c7cf093b818085b02beed2ddaa616a71d77 +AUX corosync.initd 668 SHA256 a32ff21ac18f5187085f281203dbf4a9760c62a0c4eb772894d350cc968917f2 SHA512 a514ac91e4b691c7e7e65a45dbb49c1da408690012d750ff3e4cb1c45e629df070019382f9b7c1dbcf8342b1edc15b296433d1f589334effde843434005f0969 WHIRLPOOL 77c8c2dfb7225b0c178fbd7e5e5bd9a9acfc6cb83bca26b5297f142c6864c1488b086e02208324c1a115ce42cd5f3972f6bc3593395d12835c7c962c2e3a98a7 +AUX corosync.logrotate 93 SHA256 97ce0519c66e04936ff110ef530a73c7c6b48fa34a8cb8c178c2120daf67db6c SHA512 3c65eb01a33a6fa51befa8ce466cc8a35a06a19816b77610b83c18f9372dccdbd33354fc8568e63fe165f2c2aa598b6a5d15615939f12e3385b4c3e1b91a6ec3 WHIRLPOOL bf7ae7ac7e483ef89cce813dabbd7c89c14b3dfd531b285ea643cad32c698b1069ee923d9ce5938bfae51e3a7273ef2722e5a291ea29bd567fe8c9e16d00b885 +DIST corosync-1.3.0.tar.gz 683458 SHA256 4f9e399befcb595a1671f7ddb54dbf53e1faad6416da1415e2d787e6d2eb94a5 SHA512 30c8b6f3f8b82101e2cf65f2ecd2dd43f6dd2ab79585e713f23786be7732707395c161d1a57c7401dd05f4751ccc051ccaab81461be9bc964ef0543ef4699114 WHIRLPOOL 42c32e3d3fa05ea7bfcce7b930d5da5c27aef1454e5ba21a97f57f8f6035341439ce97917e20bc9f19f4226f0bdc124e4ffc7ee375c78617deca804a6414cbd3 +DIST corosync-1.3.5.tar.gz 698897 SHA256 7177914dff0ee16ace7a93f566c4fab06ea79400886d4d095e105a4b6bae1cd1 SHA512 74920fed67af72517076d5a85688f59f3ef81b4aa773147a96f58cbd57b3b150365b7eea4ef14c4e43c0961d9d9939d734526318b1af462e22329077a0cdbc3e WHIRLPOOL 1b66ec3caafb3623335f1eb6f8dedb04d54baffff5e26531319f4fcd9e69b7ec4d186118da2919eda6fa96edd5769a35e11cf258e4ad64fda504c465001753f3 +DIST corosync-1.4.7.tar.gz 420596 SHA256 89d82641e3ddf28d906b74c7fd220844d617a8415bf5e24802abfbb09acd905f SHA512 275a4372cac13789d93e224e4a7853953d6111afc534f9e897deaf064d5d96bb0db932a02a9212b5a0d2ca53d3f56133073f519460a9ca3573f5403642db34e1 WHIRLPOOL 7b7a2e6c7e032196099dcc827c6b343bb72c803886d005c4dee6ae402f62cc1862a276575edcbb3bbcfa248d51788a6d5953265e0d911cbe9174fd7d64170906 +DIST corosync-2.3.3.tar.gz 411784 SHA256 36a13f50e5f653837ab84e91676f001c2aedbc81ea84d3c7e017e740ea6f5a0a SHA512 66b479b2114641f02cd910f1bc3458948d5634b82e2019d7b1ea919f5bbb4817e91dddc33de061ff01dc4f12a3622b3418b7787e81a6f340d23043857cc9442f WHIRLPOOL 0cfdfcebf0956b420b81e6d9e04a12bdfbe639d07f793037f3ab7ee733508a1d48c53a00edcb78fab5700e00db07e150c1b4c12440394f1496d29238ba4615b5 +DIST corosync-2.3.4.tar.gz 420184 SHA256 e5e9ee995dfabba4d2347f7d9a5ff85bde1e62f96e1c79dbd7022be2c5b425f4 SHA512 30914552b8af69ce37a5ea98f17a41f30fa01204ca8beee8218d94b8421769504b90c8e62f1e7222afb6429ead8a2d09ca36e71461c767a2b9bf662637f78bb0 WHIRLPOOL 39338ae185c7b97ca33d948f806f720bd9296bbbbff605b1bbd0a2eb6c595c5dee37ebe144d51eca0a049a0d0fa874c93b7110b222adc19008b1469d827be282 +DIST corosync-2.3.5.tar.gz 428253 SHA256 ed8e234f8465d8bb1fbd09a4bca035ef5fd23c249a1278c8398c99e2040c0548 SHA512 212a95d8a68a2941f27c9ec22750a88598744d6fd4db6b46abe0b4cdfa988d3906f760bdf67c403d8c6d0a04da64f29ec744fb68ca51c7269ba58e306553cee9 WHIRLPOOL 7739d932859a1a4552048319d9dbbcb15223f305c236f87c5c4d82cabeb80a53010ab2d42b33a7d8b266c0045bbacd8ba42d452a2b55522f1426693bc669faca +DIST corosync-2.4.2.tar.gz 547204 SHA256 0dd0ee718253c18c5090e0304eec72a7be8b18b6fe5e03de59ce095fa08c8b63 SHA512 45a4d2570d5d096e6f42070f701fdb2aaed26812b6a75f73ea415cf409b33343f8bc090b4fcf851ab971ca4b17925f239c31a3d9eafe4841dfbeb56537b2c78c WHIRLPOOL d4227909e4a85eca29edcd33111179789f6d6d3879c493fc54a81e38a02b5bea90e12100ceb8408bb66d6ced4477f824d24743c5e2ac91fb49e43bd8279a0b3c +EBUILD corosync-1.3.0.ebuild 1213 SHA256 2d90006bbb93d564f4d16fb75f2363f05df17105182f169317bdbd3537e3a190 SHA512 2929f6fdb7100a034039c4737ada596bf7ff5fc078dacfde4b8f2a7987ad88e1e819debe943aac324c71dd7f95ecf6f105952bdc23dfe869c01371b4e26321ec WHIRLPOOL 557a0fa910c9e847121d221e6f432471fdeb9064f92970ec26d3a219ddb6c43cb43290b3db7a8002dc2151d467a55c39f2aea0b6cba1f1fb233a29a024715f4f +EBUILD corosync-1.3.5.ebuild 1288 SHA256 1191d55257b81563d02798427cd036921835bfc8ff7ba3431cb4bc0d01070b0a SHA512 dc6b07ff7d254e4985b7ae7611e5f820f3ba687b684a8c92703ad2ded562beed2e1ab81e7e1bfdca755ee95e7870b6f9e8f960921a129383082790fb35b4b902 WHIRLPOOL 7c21158894b55615af956a38895fbec98b8f018ad2775cb0ea76a5c24f8cc5d17a1e07c7b5548791b44632b137e08277f01401461dc699e1d976c35c7db11002 +EBUILD corosync-1.4.7.ebuild 1401 SHA256 4ff9158f80cbc24e752be8daf4b1bbee28985f4145e6ce5a38cffbe7bf6fae14 SHA512 8bf1780dd11d8dc4937261e37192f77b49797089c407612ee6510a97c954bb56eddbd42952abd653478e8a5dd9b96270d2247dd035a46151fc13543659c49b34 WHIRLPOOL bb1c8b6ec393a1d8e7e0ace189e0ec3bcfb2af3547fae16280e4d9c1ce87a5f16f74f1362e9742b52eb0ad476af703779e354d2674fd79512c609b3530f723a0 +EBUILD corosync-2.3.3.ebuild 1926 SHA256 f2948581b02cbbaad38532961651677fe8a3bd4ba858fe5911ee693152ac531c SHA512 4717b0c7c6a8be4d849d528fd0819b8d43b4e16770ffc9022d0ebe837e2c2845a955276912b32a9796faa3d274f6a076dd3cd320503519f76bb2f31f95c42f51 WHIRLPOOL b9f50f5a68cacc61bf7ace572e3286486825e92fc16193f3344d8ec3f1700699b7baa3a9ee3823f5c9f2079791f092db5b22dd9fee05810efdb8be6568debd17 +EBUILD corosync-2.3.4-r1.ebuild 1926 SHA256 4a9e69b9ba4fd8220aad679ce821a420eb7e755cc944eb10bca8cc956fc2898f SHA512 115d63649487c591284afbccdac27f6297bb8df7874062098a232a0bd516ede0163151f8be6b420ee8de11e84fe4f5d315cdb7dbb3e603d57b7489947d63e17b WHIRLPOOL 91a06718aa6fec43ab36a1a702abcd437d066c8697b04adfea6378723ee967c44c4e3a1157c5e7371cc6e93b3be5acf0ed05953297459b276c097c70476900cb +EBUILD corosync-2.3.5.ebuild 2053 SHA256 218927c049570e56966357427f3f4ae8f85cf1cc3d1b8899e10c431842faece5 SHA512 3d9519b80c99d764d3e1976ae04e7275dc62940cdfe6c0c16bc72979aff73453b85ac255b96b403ad0a83f630882645c1d3e6238894f52f8a52289b61fdf8aa7 WHIRLPOOL 717770aea88074c6be14ce9ed5f1d754d582ff62b2388dad3383778c829dd0cca0972397755fb7a2682e2d7d34e91c8135feddace8b698e5970285d1e2841d6f +EBUILD corosync-2.4.2.ebuild 2015 SHA256 7a6add2e412daebb2a221535dbffa23e1cb41e395ad43144ea87213bbf149106 SHA512 ff992052dc4e7c704f48e4835883954296126ae8f0f06969170171786ac8563405340741fd708a36216aa3ed69b3c34f51bfde5725571b85155868da49de3d6b WHIRLPOOL dc928053a5af3250c0a9b5df2ab8d4d79685dcf105cb773cbadab508cf229b12ddd3440bea514819ced1e31d9a640bc2bdae24f63c1c2cfb0bd492bfa55f1826 +MISC ChangeLog 3931 SHA256 37638a21909de10dc3df932f8c0724aa5103fac6f7fc8d8c1ba065f1299f11ce SHA512 0d035654b31846c5c45d9641d3d071a74f5fe393dccad847f1070ebe398e074f3d6bd0714b2f3cfa667996a407ec0160e6a39211348373700cdca7e4c1a3a694 WHIRLPOOL 24fc848fd6afce4355b4956a4af2d03ed418595980666c543b67029c9af578f7da8d45c101a17035e4d2f3c48003b9e7332708edbee5e0f4cd1ea982920dae1a +MISC ChangeLog-2015 6009 SHA256 ec272736141c3e5d85f468c503c2a88b01c6f3c54d85021baad6e12070d8c385 SHA512 7a7d230c3293e4fb5c8135ababddb9e5ab5b8f373d7307c5018700947342c96d457acd7d767a2344eca56cb0291408f6094528e8972f6aff0cccea4e8718f669 WHIRLPOOL a11a5857402407eecb233a6beca1f8d9a4b2c83799d6023534eb1b6fb91fa2e6f2704554f83cbea7e46a77bb106832b72693bd20648f9723e10cd6bf2e77c826 +MISC metadata.xml 536 SHA256 e950f277bfa8a3ad90625218fc1c56fad4c07592d0b43a85fc0cd15eaa643100 SHA512 67e61ff660ec5cdd483835bb496a28a9739295398c27665214db044ed98d44f16a28ef8c0a2f0184688408297594272333371a5229a07a4829b6713ebdced95a WHIRLPOOL 3f56a92c6df219e40d6da389c78e077032d1fc76d787ea5c313f640736a3b0da575d9b05f84a9cb16315e8b717ce22925638011a66214e52524e24be7dd3e470 diff --git a/sys-cluster/corosync/corosync-1.3.0.ebuild b/sys-cluster/corosync/corosync-1.3.0.ebuild new file mode 100644 index 000000000000..61ddf86a3279 --- /dev/null +++ b/sys-cluster/corosync/corosync-1.3.0.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=3 + +inherit base autotools + +DESCRIPTION="OSI Certified implementation of a complete cluster engine" +HOMEPAGE="http://www.corosync.org/" +SRC_URI="ftp://ftp:${PN}.org@${PN}.org/downloads/${P}/${P}.tar.gz" + +LICENSE="BSD-2 public-domain" +SLOT="0" +KEYWORDS="amd64 hppa x86" +IUSE="doc infiniband ssl" + +RDEPEND="!sys-cluster/heartbeat + ssl? ( dev-libs/nss ) + infiniband? ( + sys-fabric/libibverbs + sys-fabric/librdmacm + )" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( sys-apps/groff )" + +PATCHES=( + "${FILESDIR}/${PN}-docs.patch" +) + +DOCS=( "README.recovery" "README.devmap" "SECURITY" "TODO" "AUTHORS" ) + +src_prepare() { + base_src_prepare + eautoreconf +} + +src_configure() { + # appends lib to localstatedir automatically + # FIXME: install both static and shared libs + econf \ + --localstatedir=/var \ + --docdir=/usr/share/doc/${PF} \ + $(use_enable doc) \ + $(use_enable ssl nss) \ + $(use_enable infiniband rdma) +} + +src_install() { + base_src_install + newinitd "${FILESDIR}"/${PN}.initd ${PN} || die + + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotate ${PN} || die + + keepdir /var/lib/corosync +} diff --git a/sys-cluster/corosync/corosync-1.3.5.ebuild b/sys-cluster/corosync/corosync-1.3.5.ebuild new file mode 100644 index 000000000000..bde57a61886f --- /dev/null +++ b/sys-cluster/corosync/corosync-1.3.5.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit base autotools + +DESCRIPTION="OSI Certified implementation of a complete cluster engine" +HOMEPAGE="http://www.corosync.org/" +SRC_URI="ftp://ftp:${PN}.org@${PN}.org/downloads/${P}/${P}.tar.gz" + +LICENSE="BSD-2 public-domain" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86 ~x86-fbsd" +IUSE="doc infiniband ssl static-libs" + +RDEPEND="!sys-cluster/heartbeat + ssl? ( dev-libs/nss ) + infiniband? ( + sys-fabric/libibverbs + sys-fabric/librdmacm + )" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( sys-apps/groff )" + +PATCHES=( + "${FILESDIR}/${PN}-docs.patch" +) + +DOCS=( README.recovery README.devmap SECURITY TODO AUTHORS ) + +src_prepare() { + base_src_prepare + eautoreconf +} + +src_configure() { + # appends lib to localstatedir automatically + # FIXME: install just shared libs --disable-static does not work + econf \ + --localstatedir=/var \ + --docdir=/usr/share/doc/${PF} \ + $(use_enable doc) \ + $(use_enable ssl nss) \ + $(use_enable infiniband rdma) +} + +src_install() { + default + newinitd "${FILESDIR}"/${PN}.initd ${PN} + + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotate ${PN} + + keepdir /var/lib/corosync + use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.a || die +} diff --git a/sys-cluster/corosync/corosync-1.4.7.ebuild b/sys-cluster/corosync/corosync-1.4.7.ebuild new file mode 100644 index 000000000000..9e2073d415c6 --- /dev/null +++ b/sys-cluster/corosync/corosync-1.4.7.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit autotools base + +MY_TREE="bf8ff17" + +DESCRIPTION="OSI Certified implementation of a complete cluster engine" +HOMEPAGE="http://www.corosync.org/" +SRC_URI="http://build.clusterlabs.org/corosync/releases/${P}.tar.gz" + +LICENSE="BSD-2 public-domain" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~hppa ~x86 ~x86-fbsd" +IUSE="doc infiniband ssl static-libs" + +RDEPEND="!sys-cluster/heartbeat + ssl? ( dev-libs/nss ) + infiniband? ( + sys-fabric/libibverbs + sys-fabric/librdmacm + )" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( sys-apps/groff )" + +PATCHES=( + "${FILESDIR}/${PN}-docs.patch" +) + +DOCS=( README.recovery README.devmap SECURITY TODO AUTHORS ) + +S="${WORKDIR}/${PN}-${PN}-${MY_TREE}" + +src_prepare() { + base_src_prepare + eautoreconf +} + +src_configure() { + # appends lib to localstatedir automatically + # FIXME: install just shared libs --disable-static does not work + econf \ + --localstatedir=/var \ + --docdir=/usr/share/doc/${PF} \ + $(use_enable doc) \ + $(use_enable ssl nss) \ + $(use_enable infiniband rdma) +} + +src_install() { + default + newinitd "${FILESDIR}"/${PN}.initd ${PN} + rm "${D}"/etc/init.d/corosync-notifyd || die + + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotate ${PN} + + keepdir /var/lib/corosync + use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.a || die +} diff --git a/sys-cluster/corosync/corosync-2.3.3.ebuild b/sys-cluster/corosync/corosync-2.3.3.ebuild new file mode 100644 index 000000000000..bd5f41d9dfab --- /dev/null +++ b/sys-cluster/corosync/corosync-2.3.3.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit autotools base + +MY_TREE="32ec81c" + +DESCRIPTION="OSI Certified implementation of a complete cluster engine" +HOMEPAGE="http://www.corosync.org/" +SRC_URI="http://build.clusterlabs.org/corosync/releases/${P}.tar.gz" + +LICENSE="BSD-2 public-domain" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="doc infiniband static-libs" + +# TODO: support those new configure flags +# --enable-watchdog : Watchdog support +# --enable-augeas : Install the augeas lens for corosync.conf +# --enable-snmp : SNMP protocol support +# --enable-xmlconf : XML configuration support +# --enable-systemd : Install systemd service files +RDEPEND="!sys-cluster/heartbeat + infiniband? ( + sys-fabric/libibverbs + sys-fabric/librdmacm + ) + dev-libs/nss + >=sys-cluster/libqb-0.14.4" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( sys-apps/groff )" + +PATCHES=( "${FILESDIR}/${PN}-2.0.0-docs.patch" ) + +DOCS=( README.recovery SECURITY TODO AUTHORS ) + +S="${WORKDIR}/${PN}-${PN}-${MY_TREE}" + +src_prepare() { + base_src_prepare + eautoreconf +} + +src_configure() { + # appends lib to localstatedir automatically + # FIXME: install just shared libs --disable-static does not work + econf \ + --localstatedir=/var \ + --docdir=/usr/share/doc/${PF} \ + $(use_enable doc) \ + $(use_enable infiniband rdma) +} + +src_install() { + default + newinitd "${FILESDIR}"/${PN}.initd ${PN} + rm "${D}"/etc/init.d/corosync-notifyd || die + + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotate ${PN} + + keepdir /var/lib/corosync + use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.a || die +} + +pkg_postinst() { + if [[ ${REPLACING_VERSIONS} < 2.0 ]]; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "Migrating from a previous version of corosync can be dangerous !" + ewarn " " + ewarn "Make sure you backup your cluster configuration before proceeding" + ewarn " " + fi +} diff --git a/sys-cluster/corosync/corosync-2.3.4-r1.ebuild b/sys-cluster/corosync/corosync-2.3.4-r1.ebuild new file mode 100644 index 000000000000..b203b7438f30 --- /dev/null +++ b/sys-cluster/corosync/corosync-2.3.4-r1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit autotools base + +MY_TREE="4dc01e3" + +DESCRIPTION="OSI Certified implementation of a complete cluster engine" +HOMEPAGE="http://www.corosync.org/" +SRC_URI="http://build.clusterlabs.org/corosync/releases/${P}.tar.gz" + +LICENSE="BSD-2 public-domain" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="doc infiniband static-libs" + +# TODO: support those new configure flags +# --enable-watchdog : Watchdog support +# --enable-augeas : Install the augeas lens for corosync.conf +# --enable-snmp : SNMP protocol support +# --enable-xmlconf : XML configuration support +# --enable-systemd : Install systemd service files +RDEPEND="!sys-cluster/heartbeat + infiniband? ( + sys-fabric/libibverbs + sys-fabric/librdmacm + ) + dev-libs/nss + >=sys-cluster/libqb-0.14.4" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( sys-apps/groff )" + +PATCHES=( "${FILESDIR}/${PN}-2.3.4-docs.patch" ) + +DOCS=( README.recovery SECURITY AUTHORS ) + +S="${WORKDIR}/${PN}-${PN}-${MY_TREE}" + +src_prepare() { + base_src_prepare + eautoreconf +} + +src_configure() { + # appends lib to localstatedir automatically + # FIXME: install just shared libs --disable-static does not work + econf \ + --localstatedir=/var \ + --docdir=/usr/share/doc/${PF} \ + $(use_enable doc) \ + $(use_enable infiniband rdma) +} + +src_install() { + default + newinitd "${FILESDIR}"/${PN}.initd ${PN} + rm "${D}"/etc/init.d/corosync-notifyd || die + + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotate ${PN} + + keepdir /var/lib/corosync + use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.{,l}a || die + +} + +pkg_postinst() { + if [[ ${REPLACING_VERSIONS} < 2.0 ]]; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "Migrating from a previous version of corosync can be dangerous !" + ewarn " " + ewarn "Make sure you backup your cluster configuration before proceeding" + ewarn " " + fi +} diff --git a/sys-cluster/corosync/corosync-2.3.5.ebuild b/sys-cluster/corosync/corosync-2.3.5.ebuild new file mode 100644 index 000000000000..beebf9585386 --- /dev/null +++ b/sys-cluster/corosync/corosync-2.3.5.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools + +MY_TREE="56ae8fe" + +DESCRIPTION="OSI Certified implementation of a complete cluster engine" +HOMEPAGE="http://www.corosync.org/" +SRC_URI="http://build.clusterlabs.org/corosync/releases/${P}.tar.gz" + +LICENSE="BSD-2 public-domain" +SLOT="0" +KEYWORDS="amd64 ~hppa ppc ppc64 x86" +IUSE="doc infiniband static-libs systemd xml" + +# TODO: support those new configure flags +# --enable-augeas : Install the augeas lens for corosync.conf +# --enable-snmp : SNMP protocol support +# --enable-watchdog : Watchdog support +RDEPEND="!sys-cluster/heartbeat + infiniband? ( + sys-fabric/libibverbs:* + sys-fabric/librdmacm:* + ) + dev-libs/nss + >=sys-cluster/libqb-0.14.4" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( sys-apps/groff )" + +PATCHES=( "${FILESDIR}/${PN}-2.3.4-docs.patch" ) + +DOCS=( README.recovery SECURITY AUTHORS ) + +S="${WORKDIR}/${PN}-${PN}-${MY_TREE}" + +src_prepare() { + default + eautoreconf +} + +src_configure() { + default + # appends lib to localstatedir automatically + # FIXME: install just shared libs --disable-static does not work + econf_opts=( + --localstatedir=/var \ + --docdir=/usr/share/doc/${PF} \ + $(use_enable infiniband rdma) \ + $(use_enable systemd) \ + $(use_enable xml xmlconf) + ) + use doc && econf_opts+=( --enable-doc ) + econf "${econf_opts[@]}" +} + +src_install() { + default + newinitd "${FILESDIR}"/${PN}.initd ${PN} + + if use systemd; then + rm "${D}"/lib/systemd/system/corosync-notifyd.service || die + else + rm "${D}"/etc/init.d/corosync-notifyd || die + fi + + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotate ${PN} + + keepdir /var/lib/corosync + use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.{,l}a || die + +} + +pkg_postinst() { + if [[ ${REPLACING_VERSIONS} < 2.0 ]]; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "Migrating from a previous version of corosync can be dangerous !" + ewarn " " + ewarn "Make sure you backup your cluster configuration before proceeding" + ewarn " " + fi +} diff --git a/sys-cluster/corosync/corosync-2.4.2.ebuild b/sys-cluster/corosync/corosync-2.4.2.ebuild new file mode 100644 index 000000000000..be1d2139373a --- /dev/null +++ b/sys-cluster/corosync/corosync-2.4.2.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools + +DESCRIPTION="OSI Certified implementation of a complete cluster engine" +HOMEPAGE="http://www.corosync.org/" +SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD-2 public-domain" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~x86" +IUSE="doc infiniband static-libs systemd xml" + +# TODO: support those new configure flags +# --enable-augeas : Install the augeas lens for corosync.conf +# --enable-snmp : SNMP protocol support +# --enable-watchdog : Watchdog support +RDEPEND="!sys-cluster/heartbeat + infiniband? ( + sys-fabric/libibverbs:* + sys-fabric/librdmacm:* + ) + dev-libs/nss + >=sys-cluster/libqb-0.14.4" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( sys-apps/groff )" + +PATCHES=( "${FILESDIR}/${PN}-2.3.4-docs.patch" ) + +DOCS=( README.recovery SECURITY AUTHORS ) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + default + # appends lib to localstatedir automatically + # FIXME: install just shared libs --disable-static does not work + econf_opts=( + --localstatedir=/var \ + --docdir=/usr/share/doc/${PF} \ + $(use_enable infiniband rdma) \ + $(use_enable systemd) \ + $(use_enable xml xmlconf) + ) + use doc && econf_opts+=( --enable-doc ) + econf "${econf_opts[@]}" +} + +src_install() { + default + newinitd "${FILESDIR}"/${PN}.initd ${PN} + + if use systemd; then + rm "${D}"/lib/systemd/system/corosync-notifyd.service || die + else + rm "${D}"/etc/init.d/corosync-notifyd || die + fi + + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotate ${PN} + + keepdir /var/lib/corosync + use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.{,l}a || die + +} + +pkg_postinst() { + if [[ ${REPLACING_VERSIONS} < 2.0 ]]; then + ewarn "!! IMPORTANT !!" + ewarn " " + ewarn "Migrating from a previous version of corosync can be dangerous !" + ewarn " " + ewarn "Make sure you backup your cluster configuration before proceeding" + ewarn " " + fi +} diff --git a/sys-cluster/corosync/files/corosync-2.0.0-docs.patch b/sys-cluster/corosync/files/corosync-2.0.0-docs.patch new file mode 100644 index 000000000000..66eacb821e5e --- /dev/null +++ b/sys-cluster/corosync/files/corosync-2.0.0-docs.patch @@ -0,0 +1,34 @@ +--- a/configure.ac 2012-10-29 14:34:48.200093085 +0100 ++++ b/configure.ac 2012-10-29 14:37:05.997077034 +0100 +@@ -591,7 +591,7 @@ + INCLUDE_DIRS="$INCLUDE_DIRS -I\$(top_builddir)/include/corosync -I\$(top_srcdir)/include/corosync" + + # final build of *FLAGS +-CFLAGS="$ENV_CFLAGS $lt_prog_compiler_pic $SEC_FLAGS $OPT_CFLAGS $GDB_FLAGS \ ++CFLAGS="$ENV_CFLAGS $lt_prog_compiler_pic $OS_CFLAGS \ + $COVERAGE_CFLAGS $EXTRA_WARNINGS \ + $WERROR_CFLAGS $NSS_CFLAGS $LIBQB_CFLAGS \ + $SNMP_INCLUDES" +@@ -616,7 +616,10 @@ + AM_CONDITIONAL(AUGTOOL, test -n "${AUGTOOL}") + AC_SUBST([NSS_LDFLAGS]) + +-AM_CONDITIONAL(BUILD_HTML_DOCS, test -n "${GROFF}") ++AC_ARG_ENABLE([doc], ++ AS_HELP_STRING([--enable-doc],[Build html documentation]) ++) ++AM_CONDITIONAL(BUILD_HTML_DOCS, [test -n "${GROFF}" && test "x$enable_doc" = "xyes"] ) + + AC_SUBST([LINT_FLAGS]) + +--- a/Makefile.am 2012-10-29 14:34:48.200093085 +0100 ++++ b/Makefile.am 2012-10-29 14:37:16.236853385 +0100 +@@ -48,8 +48,6 @@ + autoheader automake autoconf test_lense.sh \ + autoscan.log configure.scan ltmain.sh + +-dist_doc_DATA = LICENSE INSTALL README.recovery SECURITY TODO AUTHORS +- + SUBDIRS = include common_lib lib exec tools test cts pkgconfig \ + man init conf qdevices + diff --git a/sys-cluster/corosync/files/corosync-2.3.4-docs.patch b/sys-cluster/corosync/files/corosync-2.3.4-docs.patch new file mode 100644 index 000000000000..53dbd7d29c75 --- /dev/null +++ b/sys-cluster/corosync/files/corosync-2.3.4-docs.patch @@ -0,0 +1,23 @@ +--- a/configure.ac 2014-12-02 15:21:35.511819113 +0100 ++++ b/configure.ac 2014-12-02 15:23:02.162487868 +0100 +@@ -655,7 +655,7 @@ + INCLUDE_DIRS="$INCLUDE_DIRS -I\$(top_builddir)/include/corosync -I\$(top_srcdir)/include/corosync" + + # final build of *FLAGS +-CFLAGS="$ENV_CFLAGS $lt_prog_compiler_pic $SEC_FLAGS $OPT_CFLAGS $GDB_FLAGS \ ++CFLAGS="$ENV_CFLAGS $lt_prog_compiler_pic $OS_CFLAGS \ + $COVERAGE_CFLAGS $EXTRA_WARNINGS \ + $WERROR_CFLAGS $NSS_CFLAGS $LIBQB_CFLAGS \ + $SNMP_INCLUDES" +@@ -685,7 +685,10 @@ + AM_CONDITIONAL(AUGTOOL, test -n "${AUGTOOL}") + AC_SUBST([NSS_LDFLAGS]) + +-AM_CONDITIONAL(BUILD_HTML_DOCS, test -n "${GROFF}") ++AC_ARG_ENABLE([doc], ++ AS_HELP_STRING([--enable-doc],[Build html documentation]) ++) ++AM_CONDITIONAL(BUILD_HTML_DOCS, [test -n "${GROFF}" && test "x$enable_doc" = "xyes"] ) + + AC_SUBST([LINT_FLAGS]) + diff --git a/sys-cluster/corosync/files/corosync-docs.patch b/sys-cluster/corosync/files/corosync-docs.patch new file mode 100644 index 000000000000..198db980ae44 --- /dev/null +++ b/sys-cluster/corosync/files/corosync-docs.patch @@ -0,0 +1,37 @@ +Make docs optional + +--- configure.ac ++++ configure.ac +@@ -432,7 +432,7 @@ + fi + + # final build of *FLAGS +-CFLAGS="$ENV_CFLAGS $OPT_CFLAGS $GDB_FLAGS $OS_CFLAGS \ ++CFLAGS="$ENV_CFLAGS $OS_CFLAGS \ + $COVERAGE_CFLAGS $EXTRA_WARNINGS $WERROR_CFLAGS $NSS_CFLAGS" + CPPFLAGS="$ENV_CPPFLAGS $ANSI_CPPFLAGS $OS_CPPFLAGS" + LDFLAGS="$ENV_LDFLAGS $COVERAGE_LDFLAGS $OS_LDFLAGS" +@@ -458,7 +458,10 @@ + AC_SUBST([DARWIN_OPTS]) + AC_SUBST([SOLARIS_OPTS]) + +-AM_CONDITIONAL(BUILD_HTML_DOCS, test -n "${GROFF}") ++AC_ARG_ENABLE([doc], ++ AS_HELP_STRING([--enable-doc],[Build html documentation]) ++) ++AM_CONDITIONAL(BUILD_HTML_DOCS, [test -n "${GROFF}" && test "x$enable_doc" = "xyes"] ) + + AC_SUBST([LINT_FLAGS]) + +--- Makefile.am ++++ Makefile.am +@@ -41,9 +41,6 @@ + config.guess config.sub missing install-sh \ + autoheader automake autoconf + +-dist_doc_DATA = LICENSE INSTALL README.devmap \ +- README.recovery SECURITY TODO AUTHORS +- + corosysconfdir = ${COROSYSCONFDIR} + + corosysconf_DATA = conf/corosync.conf.example diff --git a/sys-cluster/corosync/files/corosync.initd b/sys-cluster/corosync/files/corosync.initd new file mode 100644 index 000000000000..7408eac33b5f --- /dev/null +++ b/sys-cluster/corosync/files/corosync.initd @@ -0,0 +1,29 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net + use logger +} + +start() { + configtest || return 1 + ebegin "Starting Corosync Cluster Engine" + start-stop-daemon --start -q --exec /usr/sbin/corosync \ + --pidfile /var/run/corosync.pid --make-pidfile --background \ + -- -f + eend $? +} + +stop() { + ebegin "Stopping Corosync Cluster Engine" + start-stop-daemon --stop -q --pidfile /var/run/corosync.pid + eend $? +} + +configtest() { + ebegin "Checking corosync configuration" + test -f /etc/corosync/corosync.conf + eend $? "failed, please create the corosync configuration file" +} diff --git a/sys-cluster/corosync/files/corosync.logrotate b/sys-cluster/corosync/files/corosync.logrotate new file mode 100644 index 000000000000..6c0952dcb521 --- /dev/null +++ b/sys-cluster/corosync/files/corosync.logrotate @@ -0,0 +1,5 @@ +/var/log/cluster/corosync.log { + missingok + notifempty + sharedscripts +} diff --git a/sys-cluster/corosync/metadata.xml b/sys-cluster/corosync/metadata.xml new file mode 100644 index 000000000000..58bce1144c7b --- /dev/null +++ b/sys-cluster/corosync/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + <name>Robin Johnson</name> + </maintainer> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <use> + <flag name="infiniband">Enable Infiniband RDMA transport support</flag> + </use> + <upstream> + <remote-id type="github">corosync/corosync</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/crmsh/Manifest b/sys-cluster/crmsh/Manifest new file mode 100644 index 000000000000..6a819731e0c5 --- /dev/null +++ b/sys-cluster/crmsh/Manifest @@ -0,0 +1,5 @@ +DIST crmsh-2.1.1.tar.gz 733302 SHA256 11dea68a2fea9d069ff31a35e4ab2fc29b279dbe1fa0d1958f942830400bdb7e SHA512 556190e4e8da009d5f84f6356eeae2f5a18d8ca19d8c384c01d4d8526f7a20bb9545a08a6abe7cb6d9c33d9ae62ba0ea5df9ff0ae90341a53d9f7b201f5788ae WHIRLPOOL 731339a7309b6351f1227b9b83f35d172bf8cdc4a8cde7884b43c6f0169746ad60932ded43739a6070936ef44fd518f2d1a90a61e82be191e9c6a855fcc24caf +EBUILD crmsh-2.1.1.ebuild 1198 SHA256 b0475feb1fbff5ddb7fbc91753b5f4f093046b2da739e78c1d42acc58aa0cc72 SHA512 7ff9b5e19a76b8cf857a3dc144633a045010071c519fd63c3d3b246baa4f2419261a1e49e7886426cfd1fdd356a0aa8f28852b7b367e0ba73ed13b86a23ead6a WHIRLPOOL bf103a8bb68d85926f0402a719e92f5c9d69f50f6a631f9a86d9b9bb56bdc9d02b6d43b507338c1c3372f0c1e32fdc9c854933a0997b9c17f4a1c37c9096ebf1 +MISC ChangeLog 2424 SHA256 a094f46e4925026cf4d42924bf27663ee5a1b93ec0407419ac53af529ee8b150 SHA512 2c7a0a37efcd84ddec2118c413b1f3fdef6584f3b5c52a74007cbefdef8f411d6bdce449eba11204bcc964389ce3763114f4bf3f139a1bdef17f0285689ab3d4 WHIRLPOOL 284fc9395fefb01e2aa9be849d927b86a764a8e5028f6388d578ae273a7c64df8faf739b273c4a04f79553d7ba80db1f13793ed5b2ad7762afcbb8caff5f47d1 +MISC ChangeLog-2015 2310 SHA256 324ae7b394dfda6767233e5d72e761f0d82153fee7e72b899e380bea41c3a9a9 SHA512 95b67693606ee6c42ce636a613d3635b1206322be4a1e6cec134d47afb1df8fb11bed2a8e9dc54ae82dc09204660eb8bd0da362b089df15a60e6454b7bb244cd WHIRLPOOL 2e1c7037c5cbddb157d65a590bc4377b80948b392095625833fa89f419e05c5401e5cb75b3852147edb5cb784ba1516b76ef894f9d96371b9e734d71b358cdb7 +MISC metadata.xml 343 SHA256 98d8bcc1b90be8adcf9b252832b158ffc7187c3b7611cbeac505f18ba6e4bade SHA512 0830e62f1461e108e47feed29a48d172e63003be6d55e10f647f9a02ef90c0c7b3ad0c1e6a805edef9ebe6b015adfa3b86fbc058d0c9e19188f9e9f8304a5d91 WHIRLPOOL ac1e9ca43116059d489ec468f53dd96b37d341f8361fe751c7b593fcdab4befb43ca2f4beee4d415067d77de4ea9cab178b035ea7a99df497a53993e1dec073f diff --git a/sys-cluster/crmsh/crmsh-2.1.1.ebuild b/sys-cluster/crmsh/crmsh-2.1.1.ebuild new file mode 100644 index 000000000000..b47b5686681c --- /dev/null +++ b/sys-cluster/crmsh/crmsh-2.1.1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +AUTOTOOLS_AUTORECONF=true +KEYWORDS="" +SRC_URI="" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/crmsh/crmsh" + inherit git-2 + S="${WORKDIR}/${PN}-${MY_TREE}" +else + SRC_URI="https://github.com/crmsh/crmsh/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~hppa ~x86" +fi + +inherit autotools-utils python-r1 + +DESCRIPTION="Pacemaker command line interface for management and configuration" +HOMEPAGE="https://crmsh.github.io/" + +LICENSE="GPL-2" +SLOT="0" +IUSE="" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="${PYTHON_DEPS} + >=sys-cluster/pacemaker-1.1.8" +RDEPEND="${DEPEND} + dev-python/lxml[${PYTHON_USEDEP}]" + +src_prepare() { + sed \ + -e 's@CRM_CACHE_DIR=${localstatedir}/cache/crm@CRM_CACHE_DIR=${localstatedir}/crmsh@g' \ + -i configure.ac || die + autotools-utils_src_prepare +} + +src_configure() { + python_foreach_impl autotools-utils_src_configure +} + +src_compile() { + python_foreach_impl autotools-utils_src_compile +} + +src_install() { + python_foreach_impl autotools-utils_src_install + python_replicate_script "${ED}"/usr/sbin/crm +} diff --git a/sys-cluster/crmsh/metadata.xml b/sys-cluster/crmsh/metadata.xml new file mode 100644 index 000000000000..5d4d1b0fa52f --- /dev/null +++ b/sys-cluster/crmsh/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <upstream> + <remote-id type="github">crmsh/crmsh</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/csync2/Manifest b/sys-cluster/csync2/Manifest new file mode 100644 index 000000000000..6e533d0a20c3 --- /dev/null +++ b/sys-cluster/csync2/Manifest @@ -0,0 +1,7 @@ +AUX csync2.initd 492 SHA256 a5be7bd48f86cf3301e3a321ad925f55ed61c2eaa08e19d3911fc2e541a41311 SHA512 a189bdc921efb51734e66f8df808289850c6ce5c60c797c85abb7b3063a45630261a32edced1efd23fe367e8e91e4fe69c3d5e44a10d5b95112ae990e26fa916 WHIRLPOOL 8b2d233db8d5d2c30da1d2c293ab2d168776a4e217d58518a0b603c1408905cb3e6dde670cad59f3d1853f2f803bd7345d078602ad443d92d19f72f5dba55cf2 +AUX csync2.xinetd 388 SHA256 c281d7e494088abd84ef09b5487482cfa886f12aa0ab717f4cb579b729cc7ee9 SHA512 538bb8fc5b6b667a8afd708fbb35c9b1e98967cf0c1e5b139cdd15a19305000fd7fb7eab564131eb7cf3f562ba9189b08a06061aa31ef64e8e85ca13d6f3d583 WHIRLPOOL 35896b35309fd8f99e938d592db2a4f9c3d348bd065e0e9428d9d0f1c3073b5992e77cc04c7655cefbde80cc079b049230dd483ef862b411239a71e5b18c99e8 +DIST csync2-2.0.tar.gz 411013 SHA256 11cb37380fb185bce0c22b804fec9b01c385d9d83cc528cfd48d748453834fa2 SHA512 f91fd222f67affe9634471d341b43ff67854a6ed25b620301a454e98a79a9fb80b2a66eb8713546758fd08300d52751e5ca7472c696daa20ee11779b87a830f8 WHIRLPOOL 6cbe49b5dd36d455d2c2b15089cc8e766aa3f9ebc2d5ebbd0528379123ae280850972b07279075a38dc328391633bd63f1a5dc8a2403b1d4faac295e27d1d920 +EBUILD csync2-2.0.ebuild 2723 SHA256 3033eac729c2ffd7ac8b6b96ccc99d6060b4746726e751ca24b957f85df699b3 SHA512 e52af2fa658cb623999970fbe2e68e28895226e1406045a76c732162075516f930a9a12c86d0cc7e5b08901ebcf7051c0b3c1cc343862c32553be46026bfc3d3 WHIRLPOOL f758b18ccf495183507399f8dbc75542de99f93eb39e1a988192120d77051b8f09c1315e7798cf2184bf473ebf86cf2872d7dcbe102769993eb80f525eefee54 +MISC ChangeLog 3451 SHA256 fa973c8f70b09c1e824687d2736ccc860653ac90b045cfc520675ca4ecfdce7a SHA512 8eb74fd49db3260d6db89b5ad4c51112981d94189595ef2f25462a060c830a9bc3b19228c46dc395aa4a11c6682bcb7259713034ad9ab19a8d346b9f4c21d234 WHIRLPOOL 5ce67d2316e4c711027ea68149f2bb013dcd6cf2538a07cbf1c29f673a6c965d4ae5a999972dca44a8af4259e069a145206ab3b096d8ce8439332af43b45bdfd +MISC ChangeLog-2015 6036 SHA256 03c45115b34a893f4407f21d8e88cc36c102ee4a8b87a8f94b42588eac70f5da SHA512 4c74232df11aac1b2ff5611bdf662a681644cc148de0cdc56854d352460a8fbebbf239c09e4a8b109591d9d724b64bfe15e13839512d2b842f6f3b8ea40d6b2b WHIRLPOOL 49898ba121e89e1315a3e62972a6364e2ca4ea21077494f4a4186e6cf5ea405bcac457069e5f66e62c4c66f0e2fc48854716ec993a4ebda5c91de1e98372909e +MISC metadata.xml 257 SHA256 eba5a727fcb9e27d2a6e5dac0c92b252de676d434ef19bb09d44534257bed08c SHA512 d01f4b592393076365e924fcc717c807172488f03a7b64542238616207fd00dacd096c383e68b9558142f7dab357578f91904f73acd41ce3a6ba7b7ef72b4980 WHIRLPOOL 8621cedc31dcd2b89dffd18c102b491aea21946189d752b9dfc3b686aea7adfff6782a3c7796d777e18677b7dd99f1cd8584022642eaf009cab3b733918a501b diff --git a/sys-cluster/csync2/csync2-2.0.ebuild b/sys-cluster/csync2/csync2-2.0.ebuild new file mode 100644 index 000000000000..93288e0b154a --- /dev/null +++ b/sys-cluster/csync2/csync2-2.0.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils + +DESCRIPTION="Cluster synchronization tool" +HOMEPAGE="http://oss.linbit.com/csync2/" +SRC_URI="http://oss.linbit.com/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="amd64 x86" + +IUSE="mysql postgres sqlite ssl xinetd" + +RDEPEND=">=net-libs/librsync-0.9.5 + mysql? ( virtual/mysql ) + postgres? ( dev-db/postgresql:= ) + sqlite? ( >=dev-db/sqlite-3.0 ) + ssl? ( >=net-libs/gnutls-2.7.3 ) + xinetd? ( sys-apps/xinetd )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +REQUIRED_USE="|| ( mysql postgres sqlite )" +SLOT="0" + +src_configure() { + econf \ + --docdir=/usr/share/doc/${P} \ + --localstatedir=/var \ + --sysconfdir=/etc/csync2 \ + $(use_enable mysql) \ + $(use_enable postgres) \ + $(use_enable sqlite sqlite3) \ + $(use_enable ssl gnutls) +} + +src_install() { + # Parallel install fails, bug #561382 + emake -j1 DESTDIR="${D}" install + + if use xinetd ; then + insinto /etc/xinetd.d + newins "${FILESDIR}"/${PN}.xinetd ${PN} + fi + + keepdir /var/lib/csync2 + + newinitd "${FILESDIR}"/${PN}.initd ${PN} +} + +pkg_postinst() { + if use xinetd; then + echo + einfo "After you setup your conf file, edit the xinetd" + einfo "entry in /etc/xinetd.d/${PN} to enable, then" + einfo "start xinetd: /etc/init.d/xinetd start" + fi + echo + einfo "To add ${PN} to your services file" + if use ssl; then + einfo "and to generate the SSL certificates," + fi + einfo "just run this command after you install:" + echo + einfo "emerge --config =${PF}" + echo + einfo "Now you can find csync2.cfg under /etc/${PN}" + einfo "Please move you old config to the right location" + echo + einfo "To start csync2 as a standalone daemon, simply run:" + einfo "/etc/init.d/csync2 start" + echo +} + +pkg_config() { + einfo "Updating ${ROOT}/etc/services" + { grep -v ^${PN} "${ROOT}"/etc/services; + echo "csync2 30865/tcp" + } > "${ROOT}"/etc/services.new + mv -f "${ROOT}"/etc/services.new "${ROOT}"/etc/services + + if use ssl; then + if [ ! -f "${ROOT}"/etc/${PN}/csync2_ssl_key.pem ]; then + einfo "Creating default certificate in ${ROOT}/etc/${PN}" + + openssl genrsa -out "${ROOT}"/etc/${PN}/csync2_ssl_key.pem 1024 &> /dev/null + + yes '' | \ + openssl req -new \ + -key "${ROOT}"/etc/${PN}/csync2_ssl_key.pem \ + -out "${ROOT}"/etc/${PN}/csync2_ssl_cert.csr \ + &> "${ROOT}"/dev/null + + openssl x509 -req -days 600 \ + -in "${ROOT}"/etc/${PN}/csync2_ssl_cert.csr \ + -signkey "${ROOT}"/etc/${PN}/csync2_ssl_key.pem \ + -out "${ROOT}"/etc/${PN}/csync2_ssl_cert.pem \ + &> "${ROOT}"/dev/null + + rm "${ROOT}"/etc/${PN}/csync2_ssl_cert.csr + chmod 400 "${ROOT}"/etc/${PN}/csync2_ssl_key.pem "${ROOT}"/etc/${PN}/csync2_ssl_cert.pem + fi + fi +} diff --git a/sys-cluster/csync2/files/csync2.initd b/sys-cluster/csync2/files/csync2.initd new file mode 100644 index 000000000000..d718a4990921 --- /dev/null +++ b/sys-cluster/csync2/files/csync2.initd @@ -0,0 +1,25 @@ +#!/sbin/openrc-run +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +PIDFILE=/var/run/csync2.pid +BINARY=/usr/sbin/csync2 + +start() { + ebegin "Starting csync2" + start-stop-daemon --start --pidfile "${PIDFILE}" -m -x ${BINARY} -b -- -ii + eend $? +} + +stop() { + ebegin "Stopping csync2" + start-stop-daemon --stop --pidfile "${PIDFILE}" + eend $? +} + +restart() { + ebegin "Restarting csync2" + svc_stop + svc_start + eend $? +} diff --git a/sys-cluster/csync2/files/csync2.xinetd b/sys-cluster/csync2/files/csync2.xinetd new file mode 100644 index 000000000000..d2a7adb8f5b9 --- /dev/null +++ b/sys-cluster/csync2/files/csync2.xinetd @@ -0,0 +1,15 @@ +# default: on +# description: csync2 +service csync2 +{ + flags = REUSE + socket_type = stream + wait = no + user = root + group = root + server = /usr/sbin/csync2 + server_args = -i + #log_on_failure += USERID + disable = yes + only_from = 192.168.199.3 192.168.199.4 +} diff --git a/sys-cluster/csync2/metadata.xml b/sys-cluster/csync2/metadata.xml new file mode 100644 index 000000000000..8bf4b5f36954 --- /dev/null +++ b/sys-cluster/csync2/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/dlm-lib/Manifest b/sys-cluster/dlm-lib/Manifest new file mode 100644 index 000000000000..b8ea2324693b --- /dev/null +++ b/sys-cluster/dlm-lib/Manifest @@ -0,0 +1,7 @@ +DIST cluster-2.03.09.tar.gz 1784357 SHA256 b6d6f35f58b2f8628c369391e0fd01b1803af40029ec1e6ef88865dda38b855f SHA512 5dbcf978336a6b7998df0d3dfcff037e1e77e9e69b43d78eb573a65432445e572e69d7783e7874e9edf2632627f02426f428103831e10f5d1f338afa91a62c28 WHIRLPOOL 30158d495677d9cd0d8a8915dd062f75b60ca99a5d937fa10862d746608bab0e500565e94d14f6b2a4f6e8dc13674d342347aecd24546df6d3f578c0cf87113d +DIST cluster-2.03.11.tar.gz 1790532 SHA256 2597e7cbcbc6b272fd21aa2468f0810a097efd996128fcd672a786d106b1124d SHA512 bdcae4ff9834cb2870ed3e51079046d0b4f56ef391cda83ece537c48b19d692b01bf208f3936504223d4f3d283b2645cc076383f718f0c2242b2ccd9badad876 WHIRLPOOL 970b007601d1962692a906f08981bd579e4c17e09e29ae837ce663b0566de35daae4ae8c10c19b433dc6a0c7e3197228fca4d16f7e9721161b53658f7a3f0d34 +EBUILD dlm-lib-2.03.09.ebuild 1196 SHA256 387da1d6e19395d8ac16d2207dabc25edcda95cbf4fdbdc4a4d271e9ae62fef2 SHA512 772e12133821990d4b3c337a0a6b9e413a19f861aa8795c1bf57a80f7229484059628cabff4e21dc8b44ccc70e1e4b554187e644d31d401a7a5df9622ca021cb WHIRLPOOL 0eb6db1e505e41cea3c5e1f64f36eb98be3e0fd86c27a9ccf80c2e327b7bc5e42accbf40070afe855ec76f012042678c6b86ae9153737cb5a9dfbf336aaddbc2 +EBUILD dlm-lib-2.03.11.ebuild 1198 SHA256 c8a92661a182cb0e6bd55fa41bcd5e8d1d48530119942a5c960cdf3b2b2493ae SHA512 4c886295bc8b86da665b404d1d5feb3f531302c771778bdcd49cf1103a308924298ffc01c30873f618ff199871f1770d5a0eb00ceba8f1516010fe09e8cc68ea WHIRLPOOL e62a37237c3471b2128ef37fd35dc542c2c0f786faa45d07445656485e6974cca7b4bab1eda4a2ae05865a2b39a7fa595de4a9cc0842df8fa7bd0b65c91af4e5 +MISC ChangeLog 2827 SHA256 bd8aa39150b74e5aa9d51aa12c62c32115efc9b3b4954901fccac7bc3a9e6bdd SHA512 de40b63ab9f51f4898b97f0d15bddc048cec0ecac1c772f23bcd6c97a94aea86498b3ac3ea4cd159f655540cc82a86cb21635212c069bcf76e249c4eeefb9a48 WHIRLPOOL bdbe52de7c81901da02eb2cf59fed6c6fb8650f63a0532f15e2353e0896c70f6d59db653c502c42c7155b6d30ae4116c9679a447cff701fbaea6b3a565e4d5e6 +MISC ChangeLog-2015 1715 SHA256 aad3a3fea4b10a6f7c3c5aa38c8e9a1a92b9510aa258de8bbe089ee11df905c1 SHA512 9c5a77b2d5e7c4b55e57eb28d4faeebfb88008557158b9b195e95d2748c11b0142d9e948cd947ec3e74dfadab9f5f41d06597dcbb7ad4635b293fd2f53241d54 WHIRLPOOL 3ddab97fd3945cb2f901776a1fcfd1952f19dab2e099b3f6a3c582b84b56b65ed222598ac1c678a459788f37887c65ae2049d0d52c1fbc9198b370bb3d5eb6af +MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e diff --git a/sys-cluster/dlm-lib/dlm-lib-2.03.09.ebuild b/sys-cluster/dlm-lib/dlm-lib-2.03.09.ebuild new file mode 100644 index 000000000000..9f7ee3a8e734 --- /dev/null +++ b/sys-cluster/dlm-lib/dlm-lib-2.03.09.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils linux-mod multilib versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)" + +DESCRIPTION="General-purpose Distributed Lock Manager" +HOMEPAGE="https://sourceware.org/cluster/wiki/" +SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND=">=sys-kernel/linux-headers-2.6.24 + !sys-cluster/dlm-headers + !sys-cluster/dlm-kernel + " + +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}/${PN/-//}" + +src_compile() { + (cd "${WORKDIR}"/${MY_P}; + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir="/usr/$(get_libdir)" \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --cmanlibdir="/usr/$(get_libdir)" \ + --cmanincdir=/usr/include \ + ) || die "configure problem" + + #emake clean || die "clean problem" + emake -j1 || die "compile problem" +} + +src_install() { + emake DESTDIR="${D}" install || die "install problem" +} diff --git a/sys-cluster/dlm-lib/dlm-lib-2.03.11.ebuild b/sys-cluster/dlm-lib/dlm-lib-2.03.11.ebuild new file mode 100644 index 000000000000..2be0a15458dc --- /dev/null +++ b/sys-cluster/dlm-lib/dlm-lib-2.03.11.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils linux-mod multilib versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)" + +DESCRIPTION="General-purpose Distributed Lock Manager" +HOMEPAGE="https://sourceware.org/cluster/wiki/" +SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND=">=sys-kernel/linux-headers-2.6.24 + !sys-cluster/dlm-headers + !sys-cluster/dlm-kernel + " + +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}/${PN/-//}" + +src_compile() { + (cd "${WORKDIR}"/${MY_P}; + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir="/usr/$(get_libdir)" \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --cmanlibdir="/usr/$(get_libdir)" \ + --cmanincdir=/usr/include \ + ) || die "configure problem" + + #emake clean || die "clean problem" + emake -j1 || die "compile problem" +} + +src_install() { + emake DESTDIR="${D}" install || die "install problem" +} diff --git a/sys-cluster/dlm-lib/metadata.xml b/sys-cluster/dlm-lib/metadata.xml new file mode 100644 index 000000000000..4a09d7ba8d61 --- /dev/null +++ b/sys-cluster/dlm-lib/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> +</maintainer> +</pkgmetadata> diff --git a/sys-cluster/dlm/Manifest b/sys-cluster/dlm/Manifest new file mode 100644 index 000000000000..6b10dcb42bc5 --- /dev/null +++ b/sys-cluster/dlm/Manifest @@ -0,0 +1,7 @@ +DIST cluster-2.03.09.tar.gz 1784357 SHA256 b6d6f35f58b2f8628c369391e0fd01b1803af40029ec1e6ef88865dda38b855f SHA512 5dbcf978336a6b7998df0d3dfcff037e1e77e9e69b43d78eb573a65432445e572e69d7783e7874e9edf2632627f02426f428103831e10f5d1f338afa91a62c28 WHIRLPOOL 30158d495677d9cd0d8a8915dd062f75b60ca99a5d937fa10862d746608bab0e500565e94d14f6b2a4f6e8dc13674d342347aecd24546df6d3f578c0cf87113d +DIST cluster-2.03.11.tar.gz 1790532 SHA256 2597e7cbcbc6b272fd21aa2468f0810a097efd996128fcd672a786d106b1124d SHA512 bdcae4ff9834cb2870ed3e51079046d0b4f56ef391cda83ece537c48b19d692b01bf208f3936504223d4f3d283b2645cc076383f718f0c2242b2ccd9badad876 WHIRLPOOL 970b007601d1962692a906f08981bd579e4c17e09e29ae837ce663b0566de35daae4ae8c10c19b433dc6a0c7e3197228fca4d16f7e9721161b53658f7a3f0d34 +EBUILD dlm-2.03.09.ebuild 1527 SHA256 b96b23eddaa0053d1507da931e67cfe87238acb808cb5e03dd746544b03544c9 SHA512 67f95c7464205e951c09ed3983b92842311806dd46803229dae6ccfd6cf9345c529ffed7a093a49e9b9f2dfb9caa7730acc3ef828f79bd951ebd8f6d58b4d3a8 WHIRLPOOL 092d2a83aee7b200658f16aaf2b3a11392f53df1ffee217060ac57c56f9f2386046d2aa6a7a644479db821b0b2271cfad4f0b76fc3fb310de38a47e2a565b5fd +EBUILD dlm-2.03.11.ebuild 1529 SHA256 968628564dd9380f61e79252a03dbbf7392343cc55454bed587c4d68a58ad145 SHA512 834b115a965568565852b2b0ba3566b294dd7460c11ed788e684e7496c2166004b5633e6cb479665b7776861ea7b4efaa5682e0c3912dce3257fdd856b89c54f WHIRLPOOL 43ccb72ce1b3bd6541e29b9a9a22ebe0cc527fe3afdd0e40ad1eedaefe6fc05bac2c557315e3ec26a44a48c7d8e70b371b224e977f412b5ac60bad7760bb03e1 +MISC ChangeLog 3044 SHA256 675ff0c24be8e525cd612f3d8fe8ca5fde0edd57255bf7f9ffb416df5a57d789 SHA512 1bb7d3c294dbc0c79521141bd5194cb7b3bb8b71380458d7a201755a1d6f7e20990c535a66fa4c6ea1d36dab3f17a61dd38a8310843d416dd7e7695d91c21e11 WHIRLPOOL 01c2cb8df2b3888ef7c91e594cfed25aa2f549e16cfb27452e030b8b2cbb08dbf097618b0f68ba90080436cd7365b1ac8e4908b77641ad5683481523e18b41c9 +MISC ChangeLog-2015 5039 SHA256 8bff77d699142b46c1eb856c72986c2cb13c6e7d92be7b5974532e84ab6d8061 SHA512 62a6669e6c22f104620935ff12f774c297d410ffab9f8abc920888b15e3bc744936b871c71c263d89d1333bb44efb619c07e40b6099ca1c07981e383e511478c WHIRLPOOL afeb415861636e390aaf347a59b27e50ade9abf9c7f370dffadb9dab76b8051c4b18ffa65330324b843c74b6ecd26f117971ce8759022d41e52d812064d9a602 +MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e diff --git a/sys-cluster/dlm/dlm-2.03.09.ebuild b/sys-cluster/dlm/dlm-2.03.09.ebuild new file mode 100644 index 000000000000..361d6e30adc6 --- /dev/null +++ b/sys-cluster/dlm/dlm-2.03.09.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils linux-mod versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)" + +DESCRIPTION="General-purpose Distributed Lock Manager" +HOMEPAGE="https://sourceware.org/cluster/wiki/" +SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND=">=sys-kernel/linux-headers-2.6.24 + !sys-cluster/dlm-headers + !sys-cluster/dlm-kernel + =sys-cluster/dlm-lib-${CLUSTER_RELEASE}* + " + +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}/${PN}" + +src_unpack() { + unpack ${A} + cd "${S}" + + # fix the manual pages have executable bit + sed -i -e ' + /\tinstall -d/s/install/& -m 0755/; t + /\tinstall/s/install/& -m 0644/' \ + man/Makefile || die "failed patching man pages permission" + +} + +src_compile() { + (cd "${WORKDIR}"/${MY_P}; + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --cmanlibdir=/usr/lib \ + --dlmlibdir=/usr/lib \ + --dlmincdir=/usr/include \ + ) || die "configure problem" + + emake clean || die "clean problem" + for i in tool man; do + emake -C $i || die "compile problem" + done +} + +src_install() { + for i in tool man; do + emake DESTDIR="${D}" -C $i install || die "install problem" + done + + dodoc doc/*.txt +} diff --git a/sys-cluster/dlm/dlm-2.03.11.ebuild b/sys-cluster/dlm/dlm-2.03.11.ebuild new file mode 100644 index 000000000000..c4816c691d72 --- /dev/null +++ b/sys-cluster/dlm/dlm-2.03.11.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils linux-mod versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)" + +DESCRIPTION="General-purpose Distributed Lock Manager" +HOMEPAGE="https://sourceware.org/cluster/wiki/" +SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND=">=sys-kernel/linux-headers-2.6.24 + !sys-cluster/dlm-headers + !sys-cluster/dlm-kernel + =sys-cluster/dlm-lib-${CLUSTER_RELEASE}* + " + +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}/${PN}" + +src_unpack() { + unpack ${A} + cd "${S}" + + # fix the manual pages have executable bit + sed -i -e ' + /\tinstall -d/s/install/& -m 0755/; t + /\tinstall/s/install/& -m 0644/' \ + man/Makefile || die "failed patching man pages permission" + +} + +src_compile() { + (cd "${WORKDIR}"/${MY_P}; + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --cmanlibdir=/usr/lib \ + --dlmlibdir=/usr/lib \ + --dlmincdir=/usr/include \ + ) || die "configure problem" + + emake clean || die "clean problem" + for i in tool man; do + emake -C $i || die "compile problem" + done +} + +src_install() { + for i in tool man; do + emake DESTDIR="${D}" -C $i install || die "install problem" + done + + dodoc doc/*.txt +} diff --git a/sys-cluster/dlm/metadata.xml b/sys-cluster/dlm/metadata.xml new file mode 100644 index 000000000000..4a09d7ba8d61 --- /dev/null +++ b/sys-cluster/dlm/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> +</maintainer> +</pkgmetadata> diff --git a/sys-cluster/drbd-kernel/Manifest b/sys-cluster/drbd-kernel/Manifest new file mode 100644 index 000000000000..fae36113bb6e --- /dev/null +++ b/sys-cluster/drbd-kernel/Manifest @@ -0,0 +1,12 @@ +AUX drbd-8.0.16-kernel-2.6.30-compile-fix.patch 394 SHA256 75201a1d384be2ed7dffec833d45701ca8f9941bcce8a54afbee1ed270d7f756 SHA512 ccdbee8ed89a06746914bcbb5b5120ddc32c7e671fe13f1c337fa86aef2d2bc2994efbbe3ac5030c325a164f5331d9cf30d9c1e7ffc9c46c06aadbd3705afcc7 WHIRLPOOL e16de59cc9f1df9a4f508112bcea9997d20ed9df3a3fe7b87948692ea072bc40668d7e4e285e44aae8bdac310193a46467683dea6d326ba638bc243a4f3ac905 +AUX drbd-kernel-8.0.0-scripts.adjust_drbd_config_h.sh.patch 679 SHA256 594527b03820de4f8fbfbdfdbfeb004242e8a712575fb2854f0f6b99880d9b36 SHA512 872df2e12dc9a47785c37dd6a82e060e5af751f90b23962f2164c609f6e0ae64b9b9dfbc3e52f7b60422ab3c9069bf17aea20a9b1ad3042f300356d2084d7a31 WHIRLPOOL 52678628e6305805fbc4ef258f268d3ac960b67cfb1a1d08cb059ca0379df1571eddbe0118405cb26859dde428b1a9ce25672cbeb64f22bb5fdc2a2f44ad9734 +AUX drbd-kernel-8.3.6-linux-2.6.32.patch 1243 SHA256 bc6f22124bc2b7e573cea4e69724c49b914a195ee7c626ce346c584e89c61525 SHA512 f41f4c6e5e9ce9a0425c813a384b8b86d8fc92730eac8a08be10dcc8eb1c912057923929cbf044d9807f292c1ae908bade7868ea636afd3ba4237fb5aae502de WHIRLPOOL 9bebc2808571c1c171ec8ebef7532d2ac527a78043cc672568c113fc2bd229688de78011a273f9b19d6135fe4e9f18a23e6d5faf3390c3c637a39e3c26592e2e +DIST drbd-8.0.16.tar.gz 322758 SHA256 3bdb662663d308da9d871cc66ddc9e807a10ad5ab510a33b62877231150bc059 SHA512 1b325e3789032656a1f7286b51ac9e90f709c53f8ff35c10ca9bb2e27b1cf822813485e0a49d55c62e7966bc975040b42a6d0ac8fa066a16afa2605e9df87a17 WHIRLPOOL 75e56a3dcc0a53a82c3e542ce60a9871de70257ebf1834e067fc2bbb1bdefa4f07c6ef6217aa6f4214ecea2f04f372e0ae218ceab388678137f38e56f7420173 +DIST drbd-8.3.6.tar.gz 457469 SHA256 ea1220705845df6f6490624698904f28854fe74caf047a5d01454b9abd892ce3 SHA512 0e817d514b60891c70532511b99d7cddf24e3fa261b605bc920ad7ab2d4530682f84b78eb0a2ed9c25a8458a43496e8de61addade63b8f6e252a36b6b1d50cef WHIRLPOOL 31b859c91b56912a1b865ff2a406d991ee9e2f42a2afa87e450e7aa838926abaf6a74606f076a575fed73d756b25e7eb0902b3e37589aa71e5fd211220717ce6 +DIST drbd-8.3.8.1.tar.gz 482582 SHA256 2b7e8a3895e89824d41d7dce8d55d127baba857c509bc2477925b0aecaf5689b SHA512 c43c6d065328058db66f708d47ce082603b766deb1530c57aa736a42b4908f780ede41f76395ca45c2691ef1dfd142147a4c98a7bcdb26ba7de73b149d8f9f5f WHIRLPOOL af4f6a1a8a7d51626d508e834e1465c079bd386f24ecdd3495221bafc3f9c766d6d583934995b88372bbed8e1e7bd3d19186c4eab40c123c5c700fc3de7742e9 +EBUILD drbd-kernel-8.0.16.ebuild 1298 SHA256 1e84591454c4690ef1f75b3aa98220e6d34b01d1d58444aed2b7657ec8b37bf1 SHA512 90030164bf8e2061e4a8fddc2a77bae3ca9a4aecac6f2aed69182cbcb767f1e6f5ba48329dd32aabb0b486b75f1a08852df0f7accb2947135172238c6b6ce944 WHIRLPOOL b4ee88fb1fb4fb4620f699344a1777e8c75888ea8b66066f847618e1ca3c00f5374b58eaee0fb263a600f09fb3953e51a321420216dcd639bb5449a05eecd55a +EBUILD drbd-kernel-8.3.6.ebuild 1176 SHA256 352ed596e09e4dc844168f5259f1aa8adbb37332a172453dadbb91ce32d557f5 SHA512 e3e7215d2ba88cc360873f47710228f364d038e7de11221dcd8a6b4ac14ac784c13a3697768c3d9286f7e62205593164a51be6faa84fb6258c9737fbe39a4411 WHIRLPOOL 10412e0684cd404bafdc25e04597e896cab4204e5f9576126d078b8f99fe02b49ea1f4504bc857455c97ff4b1d03b378c5833fb0371c055d78becdb364eb031c +EBUILD drbd-kernel-8.3.8.1.ebuild 1391 SHA256 b39b6aec31a30d4b9a3b236d48f24e0a8a87448f88ddeaaa2fd7cb30b6d0c9d7 SHA512 88db68a055e22bb464885ca82a53dec55168a5698fd6cc623430517c60da49621a53dff2e64ee80814d136f4f4f21938592f68df7a21eee409af572658642d89 WHIRLPOOL 1f375fe2355ef706da1ae47a05366053d272e505d3915dd034207fa574d67e361d94af4a607c947488c5a39cfd11fa97b27fbce8f692447e9c6b44aff789173e +MISC ChangeLog 2737 SHA256 d1e77f3c2dfd0411d59df6f03510a2843a88ac02bd5f3b7015259bed1216208b SHA512 fe55570836cfc8209250f5895311c5748f64dcc8da10fc97bd520f61a6494da7d13c3d19b2162163633c1926a080fbbeb65e6ef2e443c622db0bbac9e8dc55dd WHIRLPOOL 50db2af0460157a01146cdcc9ac5cbebbdae97d1db1668bf3750b3750dc8577025e9180adbf8e1804efd5f992eccf0b7706a63f8a4dd690b8d5e81222f14aa13 +MISC ChangeLog-2015 5006 SHA256 f1dcf200cac0ae3e118b365473917279b6de66acfbf541a294e1dc0e84275cbf SHA512 632a014108ebb78c17d475f1be4d5774b364e12dfc7d33af370c03f111cdc1256d195dafb5577db46971afbd884eda886919ce73d1fe872d4097778ebbc1c83a WHIRLPOOL 1c5246aa62ac5f6f20b964d4eea89d9f4b65b2ed9173c5c9b5ada932038755f54fbc8c4b9d71f35a374c4169ef7316f8b312b8db0d4fed09a4736de6afb88f6f +MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e diff --git a/sys-cluster/drbd-kernel/drbd-kernel-8.0.16.ebuild b/sys-cluster/drbd-kernel/drbd-kernel-8.0.16.ebuild new file mode 100644 index 000000000000..c7940d8f75ab --- /dev/null +++ b/sys-cluster/drbd-kernel/drbd-kernel-8.0.16.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils versionator linux-mod + +LICENSE="GPL-2" +KEYWORDS="amd64 x86" + +MY_PN="${PN/-kernel/}" +MY_P="${MY_PN}-${PV}" +MY_MAJ_PV="$(get_version_component_range 1-2 ${PV})" + +HOMEPAGE="http://www.drbd.org" +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/${MY_MAJ_PV}/${MY_PN}-${PV}.tar.gz" + +IUSE="" + +DEPEND="virtual/linux-sources" +RDEPEND="" +SLOT="0" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + if ! kernel_is -ge 2 6; then + die "Unsupported kernel, drbd-8.0.x needs kernel 2.6.x ." + fi + + MODULE_NAMES="drbd(block:${S}/drbd)" + BUILD_TARGETS="default" + CONFIG_CHECK="CONNECTOR" + CONNECTOR_ERROR="You must enable \"CONNECTOR - unified userspace <-> kernelspace linker\" in your kernel configuration, because drbd needs it." + linux-mod_pkg_setup + BUILD_PARAMS="-j1 KDIR=${KERNEL_DIR} O=${KBUILD_OUTPUT}" +} + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/${PN}-8.0.0-scripts.adjust_drbd_config_h.sh.patch || die + epatch "${FILESDIR}"/${MY_P}-kernel-2.6.30-compile-fix.patch || die +} + +pkg_postinst() { + linux-mod_pkg_postinst + + einfo "" + einfo "Please remember to re-emerge drbd when you upgrade your kernel!" + einfo "" +} diff --git a/sys-cluster/drbd-kernel/drbd-kernel-8.3.6.ebuild b/sys-cluster/drbd-kernel/drbd-kernel-8.3.6.ebuild new file mode 100644 index 000000000000..a204c0f4fc5a --- /dev/null +++ b/sys-cluster/drbd-kernel/drbd-kernel-8.3.6.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="2" + +inherit eutils versionator linux-mod + +LICENSE="GPL-2" +KEYWORDS="~amd64 x86" + +MY_PN="${PN/-kernel/}" +MY_P="${MY_PN}-${PV}" +MY_MAJ_PV="$(get_version_component_range 1-2 ${PV})" + +HOMEPAGE="http://www.drbd.org" +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/${MY_MAJ_PV}/${MY_PN}-${PV}.tar.gz" + +IUSE="" + +DEPEND="virtual/linux-sources" +RDEPEND="" +SLOT="0" + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + epatch "${FILESDIR}"/${P}-linux-2.6.32.patch +} + +pkg_setup() { + if ! kernel_is -ge 2 6; then + die "Unsupported kernel, drbd-${PV} needs kernel 2.6.x ." + fi + + MODULE_NAMES="drbd(block:${S}/drbd)" + BUILD_TARGETS="default" + CONFIG_CHECK="CONNECTOR" + CONNECTOR_ERROR="You must enable \"CONNECTOR - unified userspace <-> kernelspace linker\" in your kernel configuration, because drbd needs it." + linux-mod_pkg_setup + BUILD_PARAMS="-j1 KDIR=${KV_DIR} O=${KV_OUT_DIR}" +} + +pkg_postinst() { + linux-mod_pkg_postinst + + einfo "" + einfo "Please remember to re-emerge drbd when you upgrade your kernel!" + einfo "" +} diff --git a/sys-cluster/drbd-kernel/drbd-kernel-8.3.8.1.ebuild b/sys-cluster/drbd-kernel/drbd-kernel-8.3.8.1.ebuild new file mode 100644 index 000000000000..8c2a7bc6cdbb --- /dev/null +++ b/sys-cluster/drbd-kernel/drbd-kernel-8.3.8.1.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="2" + +inherit eutils versionator linux-mod + +LICENSE="GPL-2" +KEYWORDS="amd64 x86" + +MY_PN=${PN/-kernel/} +MY_P=${MY_PN}-${PV} +MY_MAJ_PV=$(get_version_component_range 1-2 ${PV}) + +HOMEPAGE="http://www.drbd.org" +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/${MY_MAJ_PV}/${MY_PN}-${PV}.tar.gz" + +IUSE="" +DEPEND="virtual/linux-sources" +RDEPEND="" +SLOT="0" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + if ! kernel_is -ge 2 6; then + die "Unsupported kernel, drbd-${PV} needs kernel 2.6.x ." + elif [ ${KV_PATCH} -ge 33 ]; then + ewarn "Your kernel (${KV_FULL}) is too new to use this package." + ewarn "The DRBD module has been merged into kernel >= 2.6.33." + ewarn "Please compile the DRBD module from your current kernel." + die "${PN} is obsolete with kernel >= 2.6.33." + fi + + MODULE_NAMES="drbd(block:${S}/drbd)" + BUILD_TARGETS="default" + CONFIG_CHECK="CONNECTOR" + CONNECTOR_ERROR="You must enable \"CONNECTOR - unified userspace <-> kernelspace linker\" in your kernel configuration, because drbd needs it." + linux-mod_pkg_setup + BUILD_PARAMS="-j1 KDIR=${KV_DIR} O=${KV_OUT_DIR}" +} + +pkg_postinst() { + linux-mod_pkg_postinst + + einfo "" + einfo "Please remember to re-emerge drbd-kernel when you upgrade your kernel!" + einfo "" +} diff --git a/sys-cluster/drbd-kernel/files/drbd-8.0.16-kernel-2.6.30-compile-fix.patch b/sys-cluster/drbd-kernel/files/drbd-8.0.16-kernel-2.6.30-compile-fix.patch new file mode 100644 index 000000000000..c7b4f814077e --- /dev/null +++ b/sys-cluster/drbd-kernel/files/drbd-8.0.16-kernel-2.6.30-compile-fix.patch @@ -0,0 +1,12 @@ +--- drbd-8.0.16/drbd/drbd_main.c.orig 2009-08-04 17:55:52.000000000 +0300 ++++ drbd-8.0.16/drbd/drbd_main.c 2009-08-04 17:56:35.000000000 +0300 +@@ -2770,7 +2770,9 @@ + } + + drbd_proc->proc_fops = &drbd_proc_fops; ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30) + drbd_proc->owner = THIS_MODULE; ++#endif + #else + # error "Currently drbd depends on the proc file system (CONFIG_PROC_FS)" + #endif diff --git a/sys-cluster/drbd-kernel/files/drbd-kernel-8.0.0-scripts.adjust_drbd_config_h.sh.patch b/sys-cluster/drbd-kernel/files/drbd-kernel-8.0.0-scripts.adjust_drbd_config_h.sh.patch new file mode 100644 index 000000000000..beb07fbdaeb9 --- /dev/null +++ b/sys-cluster/drbd-kernel/files/drbd-kernel-8.0.0-scripts.adjust_drbd_config_h.sh.patch @@ -0,0 +1,23 @@ +--- drbd-8.0.0/scripts/adjust_drbd_config_h.sh.orig 2007-02-05 01:20:58.000000000 +0100 ++++ drbd-8.0.0/scripts/adjust_drbd_config_h.sh 2007-02-05 01:21:28.000000000 +0100 +@@ -26,19 +26,7 @@ + pushd $KDIR + + KDIR=${KDIR%/} +-if test -z "$O"; then +- ## just in case... +- ## detect if $KDIR points to something which is actually $O ... +- X=$( make help | sed -ne '/ -C .* O=.* help$/p' | tr -s ' ' ) +- if [[ -n $X ]]; then +- KDIR=${X##* -C }; KDIR=${KDIR%% *}; KDIR=$(cd $KDIR && pwd) +- O=${X##* O=}; O=${O%% *}; O=$(cd $KDIR && cd $O && pwd) +- else +- O=$KDIR; +- fi +-else +- O=${O%/} +-fi ++O=$KDIR; + + # some paranoia: check that all files are where we expect them + ls > /dev/null \ diff --git a/sys-cluster/drbd-kernel/files/drbd-kernel-8.3.6-linux-2.6.32.patch b/sys-cluster/drbd-kernel/files/drbd-kernel-8.3.6-linux-2.6.32.patch new file mode 100644 index 000000000000..893f9c2e21fe --- /dev/null +++ b/sys-cluster/drbd-kernel/files/drbd-kernel-8.3.6-linux-2.6.32.patch @@ -0,0 +1,46 @@ +--- drbd-8.3.6/drbd/drbd_req.c ++++ drbd-8.3.6/drbd/drbd_req.c +@@ -55,13 +55,21 @@ + __disk_stat_inc(mdev->vdisk, ios[rw]); + __disk_stat_add(mdev->vdisk, sectors[rw], bio_sectors(bio)); + disk_round_stats(mdev->vdisk); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32) ++ mdev->vdisk->in_flight[rw]++; ++#else + mdev->vdisk->in_flight++; ++#endif + #else + cpu = part_stat_lock(); + part_stat_inc(cpu, &mdev->vdisk->part0, ios[rw]); + part_stat_add(cpu, &mdev->vdisk->part0, sectors[rw], bio_sectors(bio)); + part_stat_unlock(); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32) ++ mdev->vdisk->part0.in_flight[rw]++; ++#else + mdev->vdisk->part0.in_flight++; ++#endif + #endif + } + +@@ -77,13 +85,21 @@ + #ifdef __disk_stat_add + __disk_stat_add(mdev->vdisk, ticks[rw], duration); + disk_round_stats(mdev->vdisk); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32) ++ mdev->vdisk->in_flight[rw]--; ++#else + mdev->vdisk->in_flight--; ++#endif + #else + cpu = part_stat_lock(); + part_stat_add(cpu, &mdev->vdisk->part0, ticks[rw], duration); + part_round_stats(cpu, &mdev->vdisk->part0); + part_stat_unlock(); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32) ++ mdev->vdisk->part0.in_flight[rw]--; ++#else + mdev->vdisk->part0.in_flight--; ++#endif + #endif + } + diff --git a/sys-cluster/drbd-kernel/metadata.xml b/sys-cluster/drbd-kernel/metadata.xml new file mode 100644 index 000000000000..4a09d7ba8d61 --- /dev/null +++ b/sys-cluster/drbd-kernel/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> +</maintainer> +</pkgmetadata> diff --git a/sys-cluster/drbd-utils/Manifest b/sys-cluster/drbd-utils/Manifest new file mode 100644 index 000000000000..e2a89c45f493 --- /dev/null +++ b/sys-cluster/drbd-utils/Manifest @@ -0,0 +1,9 @@ +AUX drbd-utils-8.0.rc 3073 SHA256 6c81121e5d1543b8ab8ec4aa525bb5afe18f853748c8a8f3d14a697aecc735fc SHA512 9cd9de6d41552f080f3d590630ecd1686ea32b9e9db3b78a132e7fb55318a338331c09af5d80ba885d48a001ee3f7a6f791ddd806e834d2a7c72f01a00ec2f6c WHIRLPOOL 9dda501dff640fd1bfe432711f89dea87ef4ed225413cd51481a71ff2817ab3072084deed64767d170d76ea5b43828a19e9a85ca0ec3558a40c9f22c6f8c9fe9 +AUX run-lock.patch 564 SHA256 37e9485d4bf647fa11a78631965350a3dc0f0e8de1624170dd393a3da7743939 SHA512 779ad53c9f019b9dcc748177d6017ca06f1b450bf0889307c9660c574c09414964e4c5e4d6f2f3e8fc540ba14a1d489d09991b813af1581b2f6cd4ba491455ab WHIRLPOOL 3a361d18c9d83759f121ffb744158f75d8cf2c78400f646d77ac8da4b9d8433b4b0ee37dea0bdb61f21d41c1aa2cb9ba7930dfbf13a09b66ba4b48e63fed7169 +DIST drbd-utils-8.9.3.tar.gz 768700 SHA256 011050578c153bf4fef86e03749304ff9f333b7af3512c5c395e0e870a0445bd SHA512 1b1cb3d1eb7f14f693e8a73b9864257e439e443ce685084c3864da4340113f18355d1e447177956ee0d8edcee35e771442b9f85b89ec5a6eb0ad717738461ca2 WHIRLPOOL f21aec707f06d361ae336d0cf1e55fa546e5f250f869c80829f806eaef7d59c12ff30d1ded39e3624b162a9bff1ffe96cb3cb1acd85ca58ca29a4998740fba85 +DIST drbd-utils-8.9.6.tar.gz 788183 SHA256 297b77c9b3f88de2e7dae459234f2753ea4fc2805282b2d276e35cf51e292913 SHA512 cbdeeb7b298bc21de0d2188566362d7a634a72df243403f4bc91d5836c757f15ee86314b1385860aecda5657be5dc6309f2481b0403012bde841dd0618188938 WHIRLPOOL 4c379ecf15e71f5a504873a5f1c889a561df35eb99488f014085611e1bf804bf7877dba6f21b9e8ebacf26391b9ce0707c1fe07ba55f9b0cd887e34e0b6e2975 +EBUILD drbd-utils-8.9.3.ebuild 2410 SHA256 c957ff28a2f49bb1aed49feecc9d5b8d11e406101989197e02d0fbb409f960fc SHA512 91530010427a1cbc5cc5ae8d6026954b626b21495dfc90c34ae92acead467813f7c7d929d32a3401b01b26cba31199c9ef78ad69d74484d59f924b51faf43928 WHIRLPOOL 9b23730ff214dddba14cdb46239dd215e9cc8b85e60b11b29089fb18d25bbffd7ebe6feeb0b0690ae7bf08a44969a17113d2f211d2f5cb2976b03ea28dc8adff +EBUILD drbd-utils-8.9.6-r1.ebuild 2422 SHA256 0ffd8ffe70d3bb5d3db8fb37e44d3120db934f8f1ab8671410988af7e441b539 SHA512 d2c4b3ccc0ebefc7212a9575a4042770764ad922b6fa99bf25b85df3ccd55e477101b0ea2c9a885aa61800b42041aa0c29460223329f88934aecea5debba53b8 WHIRLPOOL bdd492860c43ba79d5699f0ed8e250f58bc322d3d96f8be5dcba0668856678f0d2a42c34e70f41fb55a2a590ae891f9ce06304c7ef40631a5510e5fb812a8eb6 +EBUILD drbd-utils-8.9.6.ebuild 2422 SHA256 0ffd8ffe70d3bb5d3db8fb37e44d3120db934f8f1ab8671410988af7e441b539 SHA512 d2c4b3ccc0ebefc7212a9575a4042770764ad922b6fa99bf25b85df3ccd55e477101b0ea2c9a885aa61800b42041aa0c29460223329f88934aecea5debba53b8 WHIRLPOOL bdd492860c43ba79d5699f0ed8e250f58bc322d3d96f8be5dcba0668856678f0d2a42c34e70f41fb55a2a590ae891f9ce06304c7ef40631a5510e5fb812a8eb6 +MISC ChangeLog 1959 SHA256 f7fca460fa8385e78b620b0f1063e24d6f4c8a0cd2b05d737caf7ae803699c31 SHA512 3ebfebb34e1d1d73eafb774da9af58355d3f1c6f3d58b18acf1b2a505d14cfe1a50f30b6427194fba1491a11b3e8a3ea65c83b768f23cb35e35941396a68243e WHIRLPOOL 6e197985dd4747a170a942333fb28c412b3f3a394f1dd4671c6bef68dc17b59bd0e3a799ef9c9b945ecffc59f117ab7ec22e6e63b76820d9863b260b5834e1b9 +MISC metadata.xml 684 SHA256 5fc43a01e2ab5a0e1a0ea020fb5f10eb0e8275cf7613ce07b6df6183c02850e9 SHA512 10f563a04424b8d23d6a54b2091c109f14370279bc08a6f489c308e612fba52da888ef152319485749a1807fc5daef7d7b1728ed2aa46dde74f877eff24a4ad5 WHIRLPOOL cdfb81556c277ac6086eafe0ee73f0a14ca9c91cbc5a718c028721b6bcfce4c86f36108144c9e39e84a00e37cc1d85fce2eb6b3ae2f1f47564fdf6b5c717c9d6 diff --git a/sys-cluster/drbd-utils/drbd-utils-8.9.3.ebuild b/sys-cluster/drbd-utils/drbd-utils-8.9.3.ebuild new file mode 100644 index 000000000000..7bb3129097f5 --- /dev/null +++ b/sys-cluster/drbd-utils/drbd-utils-8.9.3.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit bash-completion-r1 eutils multilib udev versionator + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/${P/_/}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="~amd64 ~x86" +IUSE="heartbeat pacemaker +udev xen" +SLOT="0" + +DEPEND="heartbeat? ( sys-cluster/heartbeat ) + pacemaker? ( sys-cluster/pacemaker ) + udev? ( virtual/udev ) + !!sys-cluster/drbd" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${P/_/}" + +src_prepare() { + # respect LDFLAGS, #453442 + sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \ + -e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \ + -i user/*/Makefile.in || die + + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \ + -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \ + -i user/*/Makefile.in || die + + # correct install paths (really correct this time) + sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \ + scripts/Makefile.in || die + + # don't participate in user survey bug 360483 + sed -i -e '/usage-count/ s/yes/no/' scripts/global_common.conf || die + sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die + + epatch "${FILESDIR}"/run-lock.patch + + autoreconf +} + +src_configure() { + econf \ + --localstatedir=/var \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + --with-bashcompletion \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools + dodoc README ChangeLog + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN/-utils/} + + dodoc scripts/drbd.conf.example + + dosym /usr/sbin/drbdadm /sbin/drbdadm +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file:" + einfo "from /usr/share/doc/${PF}/${PN/-utils/}.conf.example.bz2 to /etc/${PN/-utils/}.conf" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + elog "Remember to enable drbd support in kernel." +} diff --git a/sys-cluster/drbd-utils/drbd-utils-8.9.6-r1.ebuild b/sys-cluster/drbd-utils/drbd-utils-8.9.6-r1.ebuild new file mode 100644 index 000000000000..d66c244db4a2 --- /dev/null +++ b/sys-cluster/drbd-utils/drbd-utils-8.9.6-r1.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit bash-completion-r1 eutils multilib udev versionator + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/${P/_/}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="~amd64 ~x86" +IUSE="heartbeat pacemaker +udev xen" +SLOT="0" + +DEPEND="heartbeat? ( sys-cluster/heartbeat ) + pacemaker? ( sys-cluster/pacemaker ) + udev? ( virtual/udev ) + !!sys-cluster/drbd" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${P/_/}" + +src_prepare() { + # respect LDFLAGS, #453442 + sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \ + -e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \ + -i user/*/Makefile.in || die + + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \ + -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \ + -i user/*/Makefile.in || die + + # correct install paths (really correct this time) + sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \ + scripts/Makefile.in || die + + # don't participate in user survey bug 360483 + sed -i -e '/usage-count/ s/yes/no/' scripts/global_common.conf || die + sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die + + epatch "${FILESDIR}"/run-lock.patch + + autoreconf +} + +src_configure() { + econf \ + --localstatedir=/var \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + --with-bashcompletion \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools install-doc + dodoc README ChangeLog + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN/-utils/} + + dodoc scripts/drbd.conf.example + + dosym /usr/sbin/drbdadm /sbin/drbdadm +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file:" + einfo "from /usr/share/doc/${PF}/${PN/-utils/}.conf.example.bz2 to /etc/${PN/-utils/}.conf" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + elog "Remember to enable drbd support in kernel." +} diff --git a/sys-cluster/drbd-utils/drbd-utils-8.9.6.ebuild b/sys-cluster/drbd-utils/drbd-utils-8.9.6.ebuild new file mode 100644 index 000000000000..d66c244db4a2 --- /dev/null +++ b/sys-cluster/drbd-utils/drbd-utils-8.9.6.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit bash-completion-r1 eutils multilib udev versionator + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/${P/_/}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="~amd64 ~x86" +IUSE="heartbeat pacemaker +udev xen" +SLOT="0" + +DEPEND="heartbeat? ( sys-cluster/heartbeat ) + pacemaker? ( sys-cluster/pacemaker ) + udev? ( virtual/udev ) + !!sys-cluster/drbd" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${P/_/}" + +src_prepare() { + # respect LDFLAGS, #453442 + sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \ + -e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \ + -i user/*/Makefile.in || die + + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \ + -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \ + -i user/*/Makefile.in || die + + # correct install paths (really correct this time) + sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \ + scripts/Makefile.in || die + + # don't participate in user survey bug 360483 + sed -i -e '/usage-count/ s/yes/no/' scripts/global_common.conf || die + sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die + + epatch "${FILESDIR}"/run-lock.patch + + autoreconf +} + +src_configure() { + econf \ + --localstatedir=/var \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + --with-bashcompletion \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools install-doc + dodoc README ChangeLog + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN/-utils/} + + dodoc scripts/drbd.conf.example + + dosym /usr/sbin/drbdadm /sbin/drbdadm +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file:" + einfo "from /usr/share/doc/${PF}/${PN/-utils/}.conf.example.bz2 to /etc/${PN/-utils/}.conf" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + elog "Remember to enable drbd support in kernel." +} diff --git a/sys-cluster/drbd-utils/files/drbd-utils-8.0.rc b/sys-cluster/drbd-utils/files/drbd-utils-8.0.rc new file mode 100644 index 000000000000..e2ced85b146c --- /dev/null +++ b/sys-cluster/drbd-utils/files/drbd-utils-8.0.rc @@ -0,0 +1,158 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later + +extra_started_commands="reload" + +depend() { + use logger + need net + before heartbeat + after sshd +} + +DEFAULTFILE="/etc/conf.d/drbd" +DRBDADM="/sbin/drbdadm" +PROC_DRBD="/proc/drbd" +MODPROBE="/sbin/modprobe" +RMMOD="/sbin/rmmod" +UDEV_TIMEOUT=10 +ADD_MOD_PARAM="" +PATH=${PATH}:/lib/drbd:/lib64/drbd + +if [ -f $DEFAULTFILE ]; then + . $DEFAULTFILE +fi + +# Just in case drbdadm want to display any errors in the configuration +# file, or we need to ask the user about registering this installation +# at http://usage.drbd.org, we call drbdadm here without any IO +# redirection. +$DRBDADM sh-nop + +assure_module_is_loaded() { + [ -e "$PROC_DRBD" ] && return + ebegin "Loading drbd module" + ret=0 + + $MODPROBE -s drbd `$DRBDADM sh-mod-parms` $ADD_MOD_PARAM || ret=20 + eend $ret + return $ret +} + +adjust_with_progress() { + IFS_O=$IFS + NEWLINE=' +' + IFS=$NEWLINE + local D=0 + local S=0 + local N=0 + + einfon "Setting drbd parameters " + COMMANDS=`$DRBDADM -d adjust all` || { + eend 20 "Error executing drbdadm" + return 20 + } + echo -n "[ " + + for CMD in $COMMANDS; do + if echo $CMD | grep -q disk; then echo -n "d$D "; D=$(( D+1 )); + elif echo $CMD | grep -q syncer; then echo -n "s$S "; S=$(( S+1 )); + elif echo $CMD | grep -q net; then echo -n "n$N "; N=$(( N+1 )); + else echo -n ".. "; + fi + IFS=$IFS_O + eval $CMD || { + echo + eend 20 "cmd $CMD failed!" + return 20 + } + IFS=$NEWLINE + done + echo "]" + eend 0 + + IFS=$IFS_O +} + +start() { + einfo "Starting DRBD resources:" + eindent + assure_module_is_loaded || return $? + adjust_with_progress || return $? + + # make sure udev has time to create the device files + ebegin "Waiting for udev device creation ..." + for RESOURCE in `$DRBDADM sh-resources`; do + for DEVICE in `$DRBDADM sh-dev $RESOURCE`; do + UDEV_TIMEOUT_LOCAL=$UDEV_TIMEOUT + while [ ! -e $DEVICE ] && [ $UDEV_TIMEOUT_LOCAL -gt 0 ] ; do + sleep 1 + UDEV_TIMEOUT_LOCAL=$(( $UDEV_TIMEOUT_LOCAL-1 )) + done + done + done + eend 0 + + einfon "Waiting for connection " + $DRBDADM wait-con-int + ret=$? + echo + + sleep 5 + + einfon "Become primary if configured " + $DRBDADM sh-b-pri all + echo + + eend $ret + return $ret +} + +stop() { + ebegin "Stopping all DRBD resources" + + # Check for mounted drbd devices + if ! grep -q '^/dev/drbd' /proc/mounts &>/dev/null; then + if [ -e ${PROC_DRBD} ]; then + ${DRBDADM} down all + ret=$? + sleep 3 + if [ -e /proc/modules ] && grep -q '^drbd' /proc/modules ; then + ${RMMOD} drbd + fi + fi + eend $ret + return $ret + else + einfo "drbd devices mounted, please umount them before trying to stop drbd!" + eend 1 + return 1 + fi +} + +status() { + # NEEDS to be heartbeat friendly... + # so: put some "OK" in the output. + + if [ -e $PROC_DRBD ]; then + ret=0 + ebegin "drbd driver loaded OK; device status:" + eend $ret + cat $PROC_DRBD + else + ebegin "drbd not loaded" + ret=3 + eend $ret + fi + return $ret +} + +reload() { + ebegin "Reloading DRBD" + ${DRBDADM} adjust all + ret=$? + eend $ret + return $ret +} diff --git a/sys-cluster/drbd-utils/files/run-lock.patch b/sys-cluster/drbd-utils/files/run-lock.patch new file mode 100644 index 000000000000..5ff7ab21f7c3 --- /dev/null +++ b/sys-cluster/drbd-utils/files/run-lock.patch @@ -0,0 +1,13 @@ +--- configure.ac.orig 2015-01-31 23:19:18.745021931 +0000 ++++ configure.ac 2015-01-31 23:19:38.988027506 +0000 +@@ -353,8 +353,8 @@ + AH_TEMPLATE(DRBD_LEGACY_84, [Include support for drbd-8.4 kernel code]) + + AC_SUBST(DRBD_LIB_DIR, [$localstatedir/lib/$PACKAGE_TARNAME]) +-AC_SUBST(DRBD_RUN_DIR, [$localstatedir/run/$PACKAGE_TARNAME]) +-AC_SUBST(DRBD_LOCK_DIR, [$localstatedir/lock]) ++AC_SUBST(DRBD_RUN_DIR, [/run/$PACKAGE_TARNAME]) ++AC_SUBST(DRBD_LOCK_DIR, [/run/lock]) + AC_SUBST(DRBD_CONFIG_DIR, [$sysconfdir]) + + AC_DEFINE_UNQUOTED(DRBD_LIB_DIR, ["$DRBD_LIB_DIR"]) diff --git a/sys-cluster/drbd-utils/metadata.xml b/sys-cluster/drbd-utils/metadata.xml new file mode 100644 index 000000000000..19706db7b3c0 --- /dev/null +++ b/sys-cluster/drbd-utils/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <use> + <flag name="xen">Enable Xen integration</flag> + <flag name="pacemaker">Enable Pacemaker integration</flag> + <flag name="heartbeat">Enable Heartbeat integration</flag> + </use> + <longdescription> + The user space tools to control, configure the DRBD driver, as well as integration programs and scripts + that glues the DRBD system to cluster management software and other system components. + </longdescription> +</pkgmetadata> diff --git a/sys-cluster/drbd/Manifest b/sys-cluster/drbd/Manifest new file mode 100644 index 000000000000..2e6fcf85549c --- /dev/null +++ b/sys-cluster/drbd/Manifest @@ -0,0 +1,32 @@ +AUX drbd-8.0.rc 3043 SHA256 aff548a34f66511d5e8685b3d56a9672bf98c6a87ff8fcbf2c43f40c1d95565e SHA512 ab58790e063d66252c8334fa4df02d1a2f11f79749cd97553b1c9bd4f93b7b12ce6c35a4cc85e6be84c20e8043bd51de70256d1a67bd3d0c4b5e70d2ca63dcc4 WHIRLPOOL 33b93b7c3a3e0288133dc8e6c2078732e919c4d0e9bb885eb369690821b527a2e678bf775f8102cc248612a0aba684981fc62dd353e1fd62372a3b0664285d17 +AUX drbd-8.3.11-kernel3.patch 762 SHA256 cec36f41078c6c5824733731c82532cfbc0cdbff97f1995345e8266b755985b5 SHA512 b6760bec81d86c09544ad366a73eec84fd486fa1dd10f278cfbacf18be33aec9a132108a9fb8cdccae3840da868548cbe9e6c5799bb2049f2f75fa9e0fe6293f WHIRLPOOL 5ecf2e4de4f0abfbfbc5f962b17a0bbd1c10b27e7eb5b2b2dcb281c097bbdd98715072c422b46814b79359cc0fd15333f3f84ebe5f56cca6d82fe13b4adce6bc +AUX drbd-8.3.8.1-implicits.patch 288 SHA256 f45801ebdeb0a2de56b9ee0adf296d5271f644648208587aa32adab6cc6ae148 SHA512 9cf9ae1d1f9716a3553b91d3a3fe1c5490b4aec017b6d4175a91d351245201d8f925fe3af2a7974d66f1cb22583678d669e38005d64a41a0971f2bcffe55a974 WHIRLPOOL 73bcf90237fb302a674787108e5ee628bf983b3f81bb14259b5b5c9b6656c38a43da414f5f8dbf73803497b50593036b9f4ab6b1e35bd7570bcfd4395d6dc962 +AUX drbd-8.4.3-block-drbd.patch 536 SHA256 7c00c533d883e36ea646ac576ef342f195f5dc6f7c345765725960d8767c565a SHA512 3ddc60d944a7e54673e79e0b5123c21648f529fa553a04186a0f34f03cdfa3470dcaeceaab68deecc8821b3b57b28ae719ff10ae52a9c7c7c43efa678888073d WHIRLPOOL 59fd0e7a39fcd264c53f7a4e0db6f06300bca3d1105f3a73505470578587e16fdd4a84a225a6f0406b929eed2d14dfabf0a6674bad5bb0adfd955b994c37ab57 +DIST drbd-8.0.16.tar.gz 322758 SHA256 3bdb662663d308da9d871cc66ddc9e807a10ad5ab510a33b62877231150bc059 SHA512 1b325e3789032656a1f7286b51ac9e90f709c53f8ff35c10ca9bb2e27b1cf822813485e0a49d55c62e7966bc975040b42a6d0ac8fa066a16afa2605e9df87a17 WHIRLPOOL 75e56a3dcc0a53a82c3e542ce60a9871de70257ebf1834e067fc2bbb1bdefa4f07c6ef6217aa6f4214ecea2f04f372e0ae218ceab388678137f38e56f7420173 +DIST drbd-8.3.10.tar.gz 521798 SHA256 5dd0e4bda615784bc45b8078c4d44b2d4b4b074f12e98c9bdfd7d40b13f2511a SHA512 8d904ada9c80732b47cbf149cf4172658d350856d8688f1dce92c16ce1c4e946a0b3b3a14bb3c9361684fc08b257207c58beaa2fdb534f2abf47ac45aa659389 WHIRLPOOL b5e3ad208ff721fe9b021bed6a1bdb469b27118a8a30e5a23e8a1e70c10ef4aaa4145b2a644afa63464bd9f1fa6f8fadbfe1fbd3887044eae9d203348e0d8ac5 +DIST drbd-8.3.11.tar.gz 526056 SHA256 bb5d3d0740788e779ba3b3a78c21362969dd0648eaced3ff37d9e52fff1df883 SHA512 2bbf16d69e897adcb247d451f1d844993bdb3ad201027a588f9a45b4fe43fa2f6e98ed6063e8dccc92b9a231ccebf0af85a8671e5672fa710aa986e555ae896d WHIRLPOOL c0476407623c681dd2d206b18d30fccec2fceb434c2b07c46756da3ec6d41738b934f86dab9c69ce558c8b8b8d94cbf74006de70cac8acac19d0ecf2a16b4dd4 +DIST drbd-8.3.12.tar.gz 530923 SHA256 7385f941bafaebb18da1dadb07e2a8ee06117322bc37fc60a6c35b05f6f91087 SHA512 512e68adb9cda1f246c6c35b35e449d514deeb32adb998cbe0249c9245772d1979cbdc906c479500ba4e63a2a7ae675f527407262f235b897c4142bdcfa65b7e WHIRLPOOL 93ae032624262259a328065ba2ac7cc35051104bcaedb5feb161964c981759fea69975f88678844664b8970227977c8b584902a73cad60e9a17e2d58e29a88b7 +DIST drbd-8.3.13.tar.gz 541477 SHA256 ec3f2a37bd0aaa6783a8935d857bec1fbe55c1fa621fdb47ca9434384c84dbdd SHA512 fff72545ae569dad37d202bd7dcb075e443964e4d2e95ae124bbcac098762bee78f91e4863b56abfca2bdce2baa42bb3fdbdf9bb489f498d84aa679fa43ae702 WHIRLPOOL 21876ee5cb27609a115c852cae262dc233cbaa0d891769eb0704d057e071194928952650e4a6cc676e1facd405942f58db331c0abdc2d5000051da6bfcf1e506 +DIST drbd-8.3.15.tar.gz 550130 SHA256 1f1d35793c77c1356a82cf0c174346925802be73270abfb788cc27cc70646307 SHA512 ca78cddbbb614e90d63cdb3b5ec64ecc6b9c0730aced4348d1464edb5fe9b0f2c0e75fccc2c7cbe18daea454482cf46c847b55fb23e00f364b4f32ae0a3d8dca WHIRLPOOL 625ac74e1fe82f3a57ef183d9ece202c4c806d6600da2f690c9cf2e994d17bcbfcfa943a17d622cacce279ac53fde173987a7ace93cb346a9ef23d16908cec30 +DIST drbd-8.3.7.tar.gz 462659 SHA256 a01a07df88ebdbc20891fcb45c4d0e89b617a89dc19d5cbc8d0bd62bd562d36a SHA512 9ea576ed6a75d80009ade0f9540535b2a65ecee6d38b1a85fa3146a97aac8cb3add31154e2921630aa75121c7115d66bdcf45adb8e0fa481bdb27c011b1c9b15 WHIRLPOOL 1f78587a8428f20dc04cfeeb6a4831f2dc8bf0638b95eebcc242a2bd9ef399ebaecec31ef01a88df03c5ef8766fbb1551d31ad20045cdc56a901504024e79e8e +DIST drbd-8.3.8.1.tar.gz 482582 SHA256 2b7e8a3895e89824d41d7dce8d55d127baba857c509bc2477925b0aecaf5689b SHA512 c43c6d065328058db66f708d47ce082603b766deb1530c57aa736a42b4908f780ede41f76395ca45c2691ef1dfd142147a4c98a7bcdb26ba7de73b149d8f9f5f WHIRLPOOL af4f6a1a8a7d51626d508e834e1465c079bd386f24ecdd3495221bafc3f9c766d6d583934995b88372bbed8e1e7bd3d19186c4eab40c123c5c700fc3de7742e9 +DIST drbd-8.4.0.tar.gz 650733 SHA256 6f1f91ba2c296258c07cdb67552050cb64604d6606f7978aa076f32b3b97d624 SHA512 4e89f0941aa136f69dcf76efb47df14ac5a210f37159eb7abaea8cea5af801632d204de8a4e3374ee5522d3227f3163bc5c6931122a4bf6827463536b532d7a2 WHIRLPOOL 659dc82a6597c588269443333161e56a9de69fad97a6e0372245e9b7307be2f3e49f7f3cd1e15dc54aff31e1bc3f426a54fba080b8683de50188bd27cf5348d0 +DIST drbd-8.4.2.tar.gz 675803 SHA256 f3d86bb5645c067bc61e9461a5d570a184912daedfe6f88623bbd920f8b5b5fa SHA512 c32371e1fb89b479bf5136ee1c00d8e07dd15769654977dfcde71fcc24264c1dae2feda82e8f61b4caf57b9ac88e2861ee7270aa8c867f6245b52d65c45ada46 WHIRLPOOL 11f1025f660f00c2e5741590665d27a581682169e4b40b61f053a8634b8419c1d94b93462696008090da9dd45c814dfe8fc8bc326170d016a19b6eaa751ead31 +DIST drbd-8.4.3.tar.gz 688328 SHA256 abeb09309b77b533b8e738a601d703b338dce6e4d6cf59741e2f0693fbf94527 SHA512 cdc90bdd9491fe6d29e3b779d69ba2aac1aacdb336586f1ef414d0a0195d922dbefa8b2d9c4868a2476998a713c893403344a2934c7768ff6f4ba9f13bb7277a WHIRLPOOL 90b8d3295aba124de9092585c5e5f77f50bc7338a943bbcbfa9726abce4aea3655e06bbf2523afb66a58abd3175d361f112e20c9e3b8fd809f3b7b03d0a0ea25 +EBUILD drbd-8.0.16.ebuild 1285 SHA256 e075054489da87d7b390b90641721d6875b26c4fef0c45e5b4c543a5ccb85a7d SHA512 c5159dcb53cadfb9d4388ba6eff333baa18c4edd8a342c12ea6ecdd7d77c18966a4cbaa4c297580cf7bad8947d4f1a869ec78794ae0f1cd0a21e1048575fa959 WHIRLPOOL 9cf745a388f4663bb8add1535fb61461ddd7b9b731cbd4f5b9b64fc8487fc9ad7e535709ba60195ecf6d0c523f73aafe6c0992b98101afa298761413742e2415 +EBUILD drbd-8.3.10.ebuild 1936 SHA256 04e80ccfbd1f42afdc2996f595e14eccc2ca3ddd63385abe0b239eff1f8ea4e0 SHA512 ce1a1c4d2530118b451623d53258a167208475c7055d71dda96ad709e0ea31a6cdadd43677e36c2083f9fcf6fc443a5fee641c11bde7adec7503f9c6d5d20fb8 WHIRLPOOL dde1c6f0566542d055c95571cae7ca788d988a48986885dc9570cb50796eef7e8845dcc789bc921fd09a27f88616af3470cbfec16640b1c1e842654ffce1e86d +EBUILD drbd-8.3.11-r1.ebuild 1947 SHA256 e45236065573254c55a712c8a1a0e8b1bc7f844b310bbaf2802668f5d077fb04 SHA512 c8682f2e7ad763daf73b033c944e9f730f9a24a0295b3342115317da63a596f4d8e61e56439175c483537ee7938c2c39566b0908554ee36a6dba8ed8bdc7e2c7 WHIRLPOOL e21cdaae2816d10df16e1a132dc6a0337709cb469c6e8a75eda4e8200797b5516511a619af844ebadc35e2593c14dde1df573e686f1064f04857009c75b51024 +EBUILD drbd-8.3.12.ebuild 2091 SHA256 e9c82cd9eb3619a7d254f8232f132f5a308b9ea2f3f1211aafbf7a04dedc101b SHA512 c0a5816f13fe6cd87e59b3f822e0b71a9efdcbd70905ed3871a5abb98f5c65faa9e327efd609b13130e8e05f370762d76b7e9b87085122cfef55e2257fb717dc WHIRLPOOL 1512e6601c5e54b15b787d7957aacea87faf2579a83b31fccb72b3013346f27b866fb1645b92df100e99a90d900293f801d359d58add9ff7374c0ccc2a6b7410 +EBUILD drbd-8.3.13.ebuild 2094 SHA256 a0d0083695cc914fa3c10b222ecfaefb68a55c94d51a074d69ae9ba5fcc16456 SHA512 4867ec28f0a4c5033f5cb1fcd98edb3ef989f1c6fdb64f7cf5fe80c7ec4e2f6c8752c3774275cd31a1af2cd0089593712ec7126cd1e81a313823370bc5c7f759 WHIRLPOOL c5d5474aa48d0f2692376cfa1080983f6fee704653658201412e5430393276e3832d45f9fcd665d6f8728db90cceffad7becf0da19a661e8fdc7d9834e615e6c +EBUILD drbd-8.3.15.ebuild 2092 SHA256 44718b6f12f4b7d63ec36a884bb4718aca423bc27221e8c19c89421290e72af5 SHA512 e23e2b74d0e6db3f07a290bdf48a016fc60f5163b4dfbeb72c4d355f882bee09f5e62adcf93cc78bd40a5e458adf775eb1b86f0fee1f3e49e697b5d38b770fef WHIRLPOOL a133e9a0168848274141ccbc80ab1b465e023a00431cd37e448577a7f3e8febafafac5254842e4840d2b5fce96d6cfa39c689b88e24ae642e7ffa9128f5a10a0 +EBUILD drbd-8.3.7.ebuild 1965 SHA256 440e53957e9100a2a48b8675919d281f144fc21991a1bc4f6848a00d8ac59d67 SHA512 86f85ca150997a9ac8f53877965245cd9b49ec2d5f8591c112887d472cc3160cd3d83f7070787fe7446fa4b4f49243709673bf63db506125f9c6377a6a8a24bf WHIRLPOOL 368f8d58f2c57db23eb9ed0d838692f0b788a96759ce3951f0ebb8fa919230ab336fe945b8b11e00ab447ff59779a0163ab8b5d570bc95af305c8a36fd7e2d74 +EBUILD drbd-8.3.8.1-r1.ebuild 2050 SHA256 74d1144a17edf676110d9b01a408a62173e8dcc01924ade6a0fb9b3430b070c0 SHA512 416674c07c3815265a96dc1941ba7ddc2cc439f1f989bcaa5f184383c1dd99896ba47e6907c4dde5c4d1c2f8b9a3c99dab56ed841747c8b11e2c887e8643d9e6 WHIRLPOOL a0bb022567352ff262284903118c1e725b98683152a1ab69582884f9e8d6de62791a53bae6c6b9792e86ec32bc4f79f9d0e32796c55b42d9753544d64993dce8 +EBUILD drbd-8.3.8.1.ebuild 1963 SHA256 81d86f14b61f687840c9d60cb2bba5145e8aa90a9c2cc2a3de5e5a24649788a9 SHA512 d06a4ca42e1a5a6042527a78f9d119c0c8c2487ac439d8abe7f4c924b18835e6f427dfc2944b439cf4f2e3d3f7f7bd2913b4205ad16ce7b3515162da54e84b43 WHIRLPOOL b5ac4cd8ad7c67ee353dbcbb562f95b60854fd621a4d55721fb82280f908d7af69c3b00e67df1882c7598a5bc1220e27892471b90666ceaa34c195077a8ee51a +EBUILD drbd-8.4.0.ebuild 2101 SHA256 9181be9943327597ebdf587b534664cdb9c3159717fd05b584d70d671a3a09b2 SHA512 a429f6e9ff18c081e71aaa5b66226be9a78b7fd832540df7f1a3c3354ea73aafd4fe3752bbefd47a464bfe7d061977413f9fe771e19014acfcdab5ed2f37936d WHIRLPOOL 39ccac826570c5f3d5536348966c253e37830c72d0f34d72ac9891411cceb9bb156121b284711779edaa233450e37f5f0a356b586deca03631f3dc8ad521fecb +EBUILD drbd-8.4.2.ebuild 2183 SHA256 376ebb0cb49d3080a0471ab926d2e1a977a6abaa3bd323e698f16efe7a0d4fc7 SHA512 4dcc5de55381eae447a6e4d8b4a98a7c17ca7d6d9092597e399129ea4baf86924329d338a682ae169468d1501e9a640028cc613e51687cc6b009ecc4ce65d9a8 WHIRLPOOL a662b8b5ec906e92e7221b34061ff3c3fbfb4058fff975090d5ce55bbfec59421f8267ef00469abf0cba00003169e9f467e011c82392599f4ce80c4eaaa1a95e +EBUILD drbd-8.4.3-r1.ebuild 2207 SHA256 31f4524dbce411703b7a9e52b4bf0d45589921f0f2b656fff9cc86f5fe8a2b5a SHA512 f41956308b8c81ed835ce4b6958ea0af6c8377cf5201592ef69cf69925f4cd77f37ea017166ca59ea67e41667aa6f1575a1cb921e13062edf5c10861e297be38 WHIRLPOOL 0295331724620c0c281d8a330f70111f0d50a487b7c1ccdb3ce652f0e952bd1309c9f3328b1deece718d45b6d2f68c3bfa23cafec7742faf03a9d9c90d6c1410 +EBUILD drbd-8.4.3-r2.ebuild 2288 SHA256 f82ba9e770fe2661dba39520668e8dc1e6b046421aebf6308404cc7fdbfe0e79 SHA512 4dfbddf8116874939c2ba457a3218763363066abd0bbe91579a7111a1edb0d9e635cf3524437054e8f3c212e8a370b5b5e2c6a7675b673e51e03190b1b844dd6 WHIRLPOOL 58cc8d598f54db42960a140fb7e278bca41baddd29b27eb948707fb77c7aa2a572cfefc953f5dde65db3ef1104b79286126c3b9ae9dd1f808ee1e10f21f60c2e +EBUILD drbd-8.4.3.ebuild 2207 SHA256 31f4524dbce411703b7a9e52b4bf0d45589921f0f2b656fff9cc86f5fe8a2b5a SHA512 f41956308b8c81ed835ce4b6958ea0af6c8377cf5201592ef69cf69925f4cd77f37ea017166ca59ea67e41667aa6f1575a1cb921e13062edf5c10861e297be38 WHIRLPOOL 0295331724620c0c281d8a330f70111f0d50a487b7c1ccdb3ce652f0e952bd1309c9f3328b1deece718d45b6d2f68c3bfa23cafec7742faf03a9d9c90d6c1410 +MISC ChangeLog 4025 SHA256 6db5f329187f6ddb33ac7626ebcac5175e36754d47d3ab4629d053c5402b24eb SHA512 434cf4e7864f2fd92cdec4a6b0e7e8299c914718d3372179c986da83bcb4db2b228f067b40a53dea51877c5d60fd3036b4b5fa02c493c62f2d6997d0f14b25a9 WHIRLPOOL 3db6c59fe7bd0e85e93ae022ff62a518253380f24a7339b8b7db1bd52e9361a4a7821b5d156828ff0847aa722aff21c62dbd1b6b9df678f73fc9069a3ecaaa22 +MISC ChangeLog-2015 21348 SHA256 e0a1adbb7be5363aec129bc649fa7644cee0fe15c1d772e85c5d8da35c5c936d SHA512 0a04a29401ed5a464706ca86b2bce2110c8b2ee800d95ce4dc7216bf17d273a8f918645e2c2d22ad2fa651090a2ae88359f7d67437f05561ed89ab6ef262f77e WHIRLPOOL 1a9273b9bf53ec7c2df7ede59c2cecb91eafd10b6b809c563c13d98531e5093d980c7c2ad17f2b97addb893453e4b2aed29d65e458d572321841479ee92788ad +MISC metadata.xml 684 SHA256 5fc43a01e2ab5a0e1a0ea020fb5f10eb0e8275cf7613ce07b6df6183c02850e9 SHA512 10f563a04424b8d23d6a54b2091c109f14370279bc08a6f489c308e612fba52da888ef152319485749a1807fc5daef7d7b1728ed2aa46dde74f877eff24a4ad5 WHIRLPOOL cdfb81556c277ac6086eafe0ee73f0a14ca9c91cbc5a718c028721b6bcfce4c86f36108144c9e39e84a00e37cc1d85fce2eb6b3ae2f1f47564fdf6b5c717c9d6 diff --git a/sys-cluster/drbd/drbd-8.0.16.ebuild b/sys-cluster/drbd/drbd-8.0.16.ebuild new file mode 100644 index 000000000000..bb60780de596 --- /dev/null +++ b/sys-cluster/drbd/drbd-8.0.16.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils versionator + +LICENSE="GPL-2" +KEYWORDS="amd64 x86" + +MY_PV="${PV/_/}" +MY_MAJ_PV="$(get_version_component_range 1-2 ${PV})" +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/${MY_MAJ_PV}/${PN}-${MY_PV}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +IUSE="" + +DEPEND="" +RDEPEND="" +PDEPEND="~sys-cluster/drbd-kernel-${PV}" + +SLOT="0" + +S="${WORKDIR}/${PN}-${MY_PV}" + +src_compile() { + emake -j1 tools || die "compile problem" +} + +src_install() { + emake PREFIX="${D}" install-tools || die "install problem" + + # gentoo-ish init-script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} || die + + # docs + dodoc README ChangeLog ROADMAP + + # we put drbd.conf into docs + # it doesnt make sense to install a default conf in /etc + # put it to the docs + rm -f "${D}"/etc/drbd.conf + dodoc scripts/drbd.conf || die +} + +pkg_postinst() { + einfo "" + einfo "Please copy and gunzip the configuration file" + einfo "drbd.conf from /usr/share/doc/${PF} to /etc" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo "" +} diff --git a/sys-cluster/drbd/drbd-8.3.10.ebuild b/sys-cluster/drbd/drbd-8.3.10.ebuild new file mode 100644 index 000000000000..08e388dcc8d3 --- /dev/null +++ b/sys-cluster/drbd/drbd-8.3.10.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="2" + +inherit eutils multilib versionator + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="amd64 x86" +IUSE="bash-completion heartbeat pacemaker +udev xen" +SLOT="0" + +src_prepare() { + # respect LDFLAGS + sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + # correct install paths + sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \ + scripts/Makefile.in || die + # don't participate in user survey bug 360483 + sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-utils \ + --without-km \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + $(use_with bash-completion bashcompletion) \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools || die +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools || die + dodoc README ChangeLog || die + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} || die + + dodoc scripts/drbd.conf.example || die +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file:" + einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + + elog "Remember to enable drbd support in kernel." +} diff --git a/sys-cluster/drbd/drbd-8.3.11-r1.ebuild b/sys-cluster/drbd/drbd-8.3.11-r1.ebuild new file mode 100644 index 000000000000..1b8377d9d570 --- /dev/null +++ b/sys-cluster/drbd/drbd-8.3.11-r1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit eutils multilib versionator + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="amd64 x86" +IUSE="bash-completion heartbeat pacemaker +udev xen" +SLOT="0" + +src_prepare() { + epatch "${FILESDIR}/drbd-8.3.11-kernel3.patch" + # respect LDFLAGS + sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + # correct install paths + sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \ + scripts/Makefile.in || die + # don't participate in user survey bug 360483 + sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-utils \ + --without-km \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + $(use_with bash-completion bashcompletion) \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools + dodoc README ChangeLog + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} + + dodoc scripts/drbd.conf.example +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file:" + einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + + elog "Remember to enable drbd support in kernel." +} diff --git a/sys-cluster/drbd/drbd-8.3.12.ebuild b/sys-cluster/drbd/drbd-8.3.12.ebuild new file mode 100644 index 000000000000..7a1ba7159d6c --- /dev/null +++ b/sys-cluster/drbd/drbd-8.3.12.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit eutils multilib versionator + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="~amd64 ~x86" +IUSE="bash-completion heartbeat pacemaker +udev xen" +SLOT="0" + +src_prepare() { + epatch "${FILESDIR}/drbd-8.3.11-kernel3.patch" + # respect LDFLAGS + sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \ + -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \ + -i user/Makefile.in || die + # correct install paths + sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \ + scripts/Makefile.in || die + # don't participate in user survey bug 360483 + sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-utils \ + --without-km \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + $(use_with bash-completion bashcompletion) \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools + dodoc README ChangeLog + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} + + dodoc scripts/drbd.conf.example +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file:" + einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + + elog "Remember to enable drbd support in kernel." +} diff --git a/sys-cluster/drbd/drbd-8.3.13.ebuild b/sys-cluster/drbd/drbd-8.3.13.ebuild new file mode 100644 index 000000000000..368253c78c5e --- /dev/null +++ b/sys-cluster/drbd/drbd-8.3.13.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit eutils multilib versionator udev + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="amd64 x86" +IUSE="bash-completion heartbeat pacemaker +udev xen" +SLOT="0" + +src_prepare() { + # respect LDFLAGS + sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \ + -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \ + -i user/Makefile.in || die + # correct install paths + sed -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \ + -e "s:\$(sysconfdir)/udev:$(get_udevdir):g" \ + -i scripts/Makefile.in || die + # don't participate in user survey bug 360483 + sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-utils \ + --without-km \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + $(use_with bash-completion bashcompletion) \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools + dodoc README ChangeLog + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} + + dodoc scripts/drbd.conf.example +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file:" + einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + + elog "Remember to enable drbd support in kernel." +} diff --git a/sys-cluster/drbd/drbd-8.3.15.ebuild b/sys-cluster/drbd/drbd-8.3.15.ebuild new file mode 100644 index 000000000000..cf347bf1695d --- /dev/null +++ b/sys-cluster/drbd/drbd-8.3.15.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit eutils multilib versionator + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="~amd64 ~x86" +IUSE="bash-completion heartbeat pacemaker +udev xen" +SLOT="0" + +src_prepare() { + #epatch "${FILESDIR}/drbd-8.3.11-kernel3.patch" + # respect LDFLAGS + sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \ + -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \ + -i user/Makefile.in || die + # correct install paths + sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \ + scripts/Makefile.in || die + # don't participate in user survey bug 360483 + sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-utils \ + --without-km \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + $(use_with bash-completion bashcompletion) \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools + dodoc README ChangeLog + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} + + dodoc scripts/drbd.conf.example +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file:" + einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + + elog "Remember to enable drbd support in kernel." +} diff --git a/sys-cluster/drbd/drbd-8.3.7.ebuild b/sys-cluster/drbd/drbd-8.3.7.ebuild new file mode 100644 index 000000000000..b04226b05a83 --- /dev/null +++ b/sys-cluster/drbd/drbd-8.3.7.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="2" + +inherit multilib versionator + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="~amd64 ~x86" +IUSE="bash-completion heartbeat pacemaker +udev xen" +SLOT="0" + +src_prepare() { + # respect LDFLAGS + sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + # correct install paths + sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \ + scripts/Makefile.in || die +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-utils \ + --without-km \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + $(use_with bash-completion bashcompletion) \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools || die +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools || die + dodoc README ChangeLog || die + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} || die + + # it doesnt make sense to install a default conf in /etc, + # so we put it to the docs + rm -f "${D}"/etc/drbd.conf + dodoc scripts/drbd.conf || die +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file" + einfo "from /usr/share/doc/${PF}/drbd.conf.bz2 to /etc" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + + elog "Remember to enable drbd support in kernel." + elog "Or alternatively emerge sys-cluster/drbd-kernel package." +} diff --git a/sys-cluster/drbd/drbd-8.3.8.1-r1.ebuild b/sys-cluster/drbd/drbd-8.3.8.1-r1.ebuild new file mode 100644 index 000000000000..2839e4ed603a --- /dev/null +++ b/sys-cluster/drbd/drbd-8.3.8.1-r1.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="2" + +inherit eutils multilib versionator + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="~amd64 ~x86" +IUSE="bash-completion heartbeat pacemaker +udev xen" +SLOT="0" + +src_prepare() { + # respect LDFLAGS + sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \ + -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \ + -i user/Makefile.in || die + # correct install paths + sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \ + scripts/Makefile.in || die + epatch "${FILESDIR}"/${P}-implicits.patch +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-utils \ + --without-km \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + $(use_with bash-completion bashcompletion) \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools || die +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools || die + dodoc README ChangeLog || die + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} || die + + dodoc scripts/drbd.conf.example || die +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file" + einfo "from /usr/share/doc/${PF}/drbd.conf.bz2 to /etc" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + + elog "Remember to enable drbd support in kernel." + elog "Or alternatively emerge sys-cluster/drbd-kernel package." +} diff --git a/sys-cluster/drbd/drbd-8.3.8.1.ebuild b/sys-cluster/drbd/drbd-8.3.8.1.ebuild new file mode 100644 index 000000000000..2006395ddef0 --- /dev/null +++ b/sys-cluster/drbd/drbd-8.3.8.1.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="2" + +inherit multilib versionator + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="amd64 x86" +IUSE="bash-completion heartbeat pacemaker +udev xen" +SLOT="0" + +src_prepare() { + # respect LDFLAGS + sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + # correct install paths + sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \ + scripts/Makefile.in || die +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-utils \ + --without-km \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + $(use_with bash-completion bashcompletion) \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools || die +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools || die + dodoc README ChangeLog || die + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} || die + + # it doesnt make sense to install a default conf in /etc, + # so we put it to the docs + rm -f "${D}"/etc/drbd.conf + dodoc scripts/drbd.conf || die +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file" + einfo "from /usr/share/doc/${PF}/drbd.conf.bz2 to /etc" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + + elog "Remember to enable drbd support in kernel." + elog "Or alternatively emerge sys-cluster/drbd-kernel package." +} diff --git a/sys-cluster/drbd/drbd-8.4.0.ebuild b/sys-cluster/drbd/drbd-8.4.0.ebuild new file mode 100644 index 000000000000..35f33e36c676 --- /dev/null +++ b/sys-cluster/drbd/drbd-8.4.0.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit eutils multilib versionator + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="~amd64 ~x86" +IUSE="bash-completion heartbeat pacemaker +udev xen" +SLOT="0" + +src_prepare() { + epatch "${FILESDIR}/drbd-8.3.11-kernel3.patch" + # respect LDFLAGS + sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \ + -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \ + -i user/{,legacy/}Makefile.in || die + # correct install paths + sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \ + scripts/Makefile.in || die + # don't participate in user survey bug 360483 + sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-utils \ + --without-km \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + $(use_with bash-completion bashcompletion) \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools + dodoc README ChangeLog + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} + + dodoc scripts/drbd.conf.example +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file:" + einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + + elog "Remember to enable drbd support in kernel." +} diff --git a/sys-cluster/drbd/drbd-8.4.2.ebuild b/sys-cluster/drbd/drbd-8.4.2.ebuild new file mode 100644 index 000000000000..ffe8ffe7c70d --- /dev/null +++ b/sys-cluster/drbd/drbd-8.4.2.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit eutils multilib versionator udev + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="amd64 x86" +IUSE="bash-completion heartbeat pacemaker +udev xen" +SLOT="0" + +src_prepare() { + #epatch "${FILESDIR}/drbd-8.3.11-kernel3.patch" + # respect LDFLAGS + sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \ + -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \ + -i user/{,legacy/}Makefile.in || die + # correct install paths + sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \ + scripts/Makefile.in || die + # don't participate in user survey bug 360483 + sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die + sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-utils \ + --without-km \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + $(use_with bash-completion bashcompletion) \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools + dodoc README ChangeLog + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} + + dodoc scripts/drbd.conf.example +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file:" + einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + + elog "Remember to enable drbd support in kernel." +} diff --git a/sys-cluster/drbd/drbd-8.4.3-r1.ebuild b/sys-cluster/drbd/drbd-8.4.3-r1.ebuild new file mode 100644 index 000000000000..b192e831b583 --- /dev/null +++ b/sys-cluster/drbd/drbd-8.4.3-r1.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit bash-completion-r1 eutils multilib versionator udev + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="~amd64 ~x86" +IUSE="heartbeat pacemaker +udev xen" +SLOT="0" + +src_prepare() { + # respect LDFLAGS, #453442 + sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \ + -e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \ + -i user{,/legacy}/Makefile.in || die + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \ + -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \ + -i user/{,legacy/}Makefile.in || die + # correct install paths (really correct this time) + sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \ + scripts/Makefile.in || die + # don't participate in user survey bug 360483 + sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die + sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-utils \ + --without-km \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + --with-bashcompletion \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools + dodoc README ChangeLog + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} + + dodoc scripts/drbd.conf.example +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file:" + einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + + elog "Remember to enable drbd support in kernel." +} diff --git a/sys-cluster/drbd/drbd-8.4.3-r2.ebuild b/sys-cluster/drbd/drbd-8.4.3-r2.ebuild new file mode 100644 index 000000000000..591e689314c0 --- /dev/null +++ b/sys-cluster/drbd/drbd-8.4.3-r2.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit bash-completion-r1 versionator udev + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +LICENSE="GPL-2" +KEYWORDS="amd64 x86" +IUSE="heartbeat pacemaker +udev xen" +SLOT="0" + +PATCHES=( + # https://bugs.gentoo.org/show_bug.cgi?id=518774 + "${FILESDIR}"/${P}-block-drbd.patch +) + +src_prepare() { + default + + # respect LDFLAGS, #453442 + sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \ + -e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \ + -i user{,/legacy}/Makefile.in || die + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \ + -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \ + -i user/{,legacy/}Makefile.in || die + # correct install paths (really correct this time) + sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \ + scripts/Makefile.in || die + # don't participate in user survey bug 360483 + sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die + sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-utils \ + --without-km \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + --with-bashcompletion \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools + einstalldocs + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} + + dodoc scripts/drbd.conf.example +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file:" + einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + + einfo "Remember to enable drbd support in kernel." +} diff --git a/sys-cluster/drbd/drbd-8.4.3.ebuild b/sys-cluster/drbd/drbd-8.4.3.ebuild new file mode 100644 index 000000000000..b192e831b583 --- /dev/null +++ b/sys-cluster/drbd/drbd-8.4.3.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit bash-completion-r1 eutils multilib versionator udev + +LICENSE="GPL-2" + +DESCRIPTION="mirror/replicate block-devices across a network-connection" +SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz" +HOMEPAGE="http://www.drbd.org" + +KEYWORDS="~amd64 ~x86" +IUSE="heartbeat pacemaker +udev xen" +SLOT="0" + +src_prepare() { + # respect LDFLAGS, #453442 + sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \ + -e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \ + -i user{,/legacy}/Makefile.in || die + # respect multilib + sed -i -e "s:/lib/:/$(get_libdir)/:g" \ + Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die + sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \ + -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \ + -i user/{,legacy/}Makefile.in || die + # correct install paths (really correct this time) + sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \ + scripts/Makefile.in || die + # don't participate in user survey bug 360483 + sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die + sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die +} + +src_configure() { + econf \ + --localstatedir=/var \ + --with-utils \ + --without-km \ + --without-rgmanager \ + $(use_with udev) \ + $(use_with xen) \ + $(use_with pacemaker) \ + $(use_with heartbeat) \ + --with-bashcompletion \ + --with-distro=gentoo +} + +src_compile() { + # only compile the tools + emake OPTFLAGS="${CFLAGS}" tools +} + +src_install() { + # only install the tools + emake DESTDIR="${D}" install-tools + dodoc README ChangeLog + + # install our own init script + newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} + + dodoc scripts/drbd.conf.example +} + +pkg_postinst() { + einfo + einfo "Please copy and gunzip the configuration file:" + einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf" + einfo "and edit it to your needs. Helpful commands:" + einfo "man 5 drbd.conf" + einfo "man 8 drbdsetup" + einfo "man 8 drbdadm" + einfo "man 8 drbddisk" + einfo "man 8 drbdmeta" + einfo + + elog "Remember to enable drbd support in kernel." +} diff --git a/sys-cluster/drbd/files/drbd-8.0.rc b/sys-cluster/drbd/files/drbd-8.0.rc new file mode 100644 index 000000000000..57f583bf94bf --- /dev/null +++ b/sys-cluster/drbd/files/drbd-8.0.rc @@ -0,0 +1,157 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later + +extra_started_commands="reload" + +depend() { + use logger + need net + before heartbeat + after sshd +} + +DEFAULTFILE="/etc/conf.d/drbd" +DRBDADM="/sbin/drbdadm" +PROC_DRBD="/proc/drbd" +MODPROBE="/sbin/modprobe" +RMMOD="/sbin/rmmod" +UDEV_TIMEOUT=10 +ADD_MOD_PARAM="" + +if [ -f $DEFAULTFILE ]; then + . $DEFAULTFILE +fi + +# Just in case drbdadm want to display any errors in the configuration +# file, or we need to ask the user about registering this installation +# at http://usage.drbd.org, we call drbdadm here without any IO +# redirection. +$DRBDADM sh-nop + +assure_module_is_loaded() { + [ -e "$PROC_DRBD" ] && return + ebegin "Loading drbd module" + ret=0 + + $MODPROBE -s drbd `$DRBDADM sh-mod-parms` $ADD_MOD_PARAM || ret=20 + eend $ret + return $ret +} + +adjust_with_progress() { + IFS_O=$IFS + NEWLINE=' +' + IFS=$NEWLINE + local D=0 + local S=0 + local N=0 + + einfon "Setting drbd parameters " + COMMANDS=`$DRBDADM -d adjust all` || { + eend 20 "Error executing drbdadm" + return 20 + } + echo -n "[ " + + for CMD in $COMMANDS; do + if echo $CMD | grep -q disk; then echo -n "d$D "; D=$(( D+1 )); + elif echo $CMD | grep -q syncer; then echo -n "s$S "; S=$(( S+1 )); + elif echo $CMD | grep -q net; then echo -n "n$N "; N=$(( N+1 )); + else echo echo -n ".. "; + fi + IFS=$IFS_O + eval $CMD || { + echo + eend 20 "cmd $CMD failed!" + return 20 + } + IFS=$NEWLINE + done + echo "]" + eend 0 + + IFS=$IFS_O +} + +start() { + einfo "Starting DRBD resources:" + eindent + assure_module_is_loaded || return $? + adjust_with_progress || return $? + + # make sure udev has time to create the device files + ebegin "Waiting for udev device creation ..." + for RESOURCE in `$DRBDADM sh-resources`; do + for DEVICE in `$DRBDADM sh-dev $RESOURCE`; do + UDEV_TIMEOUT_LOCAL=$UDEV_TIMEOUT + while [ ! -e $DEVICE ] && [ $UDEV_TIMEOUT_LOCAL -gt 0 ] ; do + sleep 1 + UDEV_TIMEOUT_LOCAL=$(( $UDEV_TIMEOUT_LOCAL-1 )) + done + done + done + eend 0 + + einfon "Waiting for connection " + $DRBDADM wait-con-int + ret=$? + echo + + sleep 5 + + einfon "Become primary if configured " + $DRBDADM sh-b-pri all + echo + + eend $ret + return $ret +} + +stop() { + ebegin "Stopping all DRBD resources" + + # Check for mounted drbd devices + if ! grep -q '^/dev/drbd' /proc/mounts &>/dev/null; then + if [ -e ${PROC_DRBD} ]; then + ${DRBDADM} down all + ret=$? + sleep 3 + if [ -e /proc/modules ] && grep -q '^drbd' /proc/modules ; then + ${RMMOD} drbd + fi + fi + eend $ret + return $ret + else + einfo "drbd devices mounted, please umount them before trying to stop drbd!" + eend 1 + return 1 + fi +} + +status() { + # NEEDS to be heartbeat friendly... + # so: put some "OK" in the output. + + if [ -e $PROC_DRBD ]; then + ret=0 + ebegin "drbd driver loaded OK; device status:" + eend $ret + cat $PROC_DRBD + else + ebegin "drbd not loaded" + ret=3 + eend $ret + fi + return $ret +} + +reload() { + ebegin "Reloading DRBD" + ${DRBDADM} adjust all + ret=$? + eend $ret + return $ret +} diff --git a/sys-cluster/drbd/files/drbd-8.3.11-kernel3.patch b/sys-cluster/drbd/files/drbd-8.3.11-kernel3.patch new file mode 100644 index 000000000000..1eeca1b1b0ff --- /dev/null +++ b/sys-cluster/drbd/files/drbd-8.3.11-kernel3.patch @@ -0,0 +1,17 @@ +--- a/drbd/Makefile 2011-07-07 12:55:39.000000000 +0200 ++++ b/drbd/Makefile 2011-11-03 12:56:42.280603057 +0100 +@@ -77,9 +77,12 @@ + endif + endif + ++ KDIR_Makefile_VERSION = $(shell test -e $(KDIR)/Makefile && grep "^VERSION = " $(KDIR)/Makefile | cut -d " " -f 3) + KDIR_Makefile_PATCHLEVEL = $(shell test -e $(KDIR)/Makefile && grep "^PATCHLEVEL = " $(KDIR)/Makefile | cut -d " " -f 3) +- ifneq ($(findstring $(KDIR_Makefile_PATCHLEVEL),12345),) +- $(error "won't compile with this kernel version") ++ ifneq ($(KDIR_Makefile_VERSION),3) ++ ifneq ($(findstring $(KDIR_Makefile_PATCHLEVEL),12345),) ++ $(error "ici won't compile with this kernel version") ++ endif + endif + + .PHONY: drbd.o default all greeting clean kbuild install dep tags diff --git a/sys-cluster/drbd/files/drbd-8.3.8.1-implicits.patch b/sys-cluster/drbd/files/drbd-8.3.8.1-implicits.patch new file mode 100644 index 000000000000..0fbbb92a2c3f --- /dev/null +++ b/sys-cluster/drbd/files/drbd-8.3.8.1-implicits.patch @@ -0,0 +1,12 @@ +drbdadm_main.c:2525:2: warning: implicit declaration of function ‘stat’ + +--- a/user/drbdadm_main.c ++++ b/user/drbdadm_main.c +@@ -33,6 +33,7 @@ + #include <search.h> + + #include <sys/types.h> ++#include <sys/stat.h> + #include <sys/wait.h> + #include <sys/poll.h> + #include <sys/socket.h> diff --git a/sys-cluster/drbd/files/drbd-8.4.3-block-drbd.patch b/sys-cluster/drbd/files/drbd-8.4.3-block-drbd.patch new file mode 100644 index 000000000000..408b81362967 --- /dev/null +++ b/sys-cluster/drbd/files/drbd-8.4.3-block-drbd.patch @@ -0,0 +1,20 @@ +--- a/scripts/block-drbd 2014-07-30 17:19:59.000000000 -0700 ++++ b/scripts/block-drbd 2014-07-31 09:54:56.000000000 -0700 +@@ -248,7 +248,7 @@ + fi + + case $t in +- drbd) ++ drbd|phy) + drbd_resource=$p + drbd_role="$(/sbin/drbdadm role $drbd_resource)" + drbd_lrole="${drbd_role%%/*}" +@@ -276,7 +276,7 @@ + + remove) + case $t in +- drbd) ++ drbd|phy) + p=$(xenstore_read "$XENBUS_PATH/params") + drbd_resource=$p + drbd_role="$(/sbin/drbdadm role $drbd_resource)" diff --git a/sys-cluster/drbd/metadata.xml b/sys-cluster/drbd/metadata.xml new file mode 100644 index 000000000000..19706db7b3c0 --- /dev/null +++ b/sys-cluster/drbd/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <use> + <flag name="xen">Enable Xen integration</flag> + <flag name="pacemaker">Enable Pacemaker integration</flag> + <flag name="heartbeat">Enable Heartbeat integration</flag> + </use> + <longdescription> + The user space tools to control, configure the DRBD driver, as well as integration programs and scripts + that glues the DRBD system to cluster management software and other system components. + </longdescription> +</pkgmetadata> diff --git a/sys-cluster/fake/Manifest b/sys-cluster/fake/Manifest new file mode 100644 index 000000000000..a71c3c21bc1c --- /dev/null +++ b/sys-cluster/fake/Manifest @@ -0,0 +1,6 @@ +AUX fix-ldflags.patch 364 SHA256 f8532159815c2972368d7bf962b263626614b15cb9708931c2e48d1ee087b4d4 SHA512 f845e3e176260983dc2567a3de76519ba85611ffabdae84f5c5c542e73352b51d52b8b4361e7c2a100e4bffa42bd8a4a2eb5ee257d841c1de39c811e16fef2ef WHIRLPOOL f85ab94caacb7aca6ac984db53b2e7fbe360c5055dcecaf22920f4d665cf4e57dffdd9140647df6dd9597279e278ca97b82cda9602177e8e08bea00be473a491 +DIST fake-1.1.10.tar.gz 137697 SHA256 1524651fe54f94aac5b3553a90d2255097862f41258f98873bb2768ad20ca676 SHA512 f8971d164d5b41ed34af7c08cb90f68bb1d1331f402b2ad2c39d459f60a64c7b9abfa7d011618d7efadeda3022d837c30b15fc540e020b423166f6829585d298 WHIRLPOOL 70dc164073bb09de22e710a89340904532808111ebaa8de27d44efb3391cf020a0241d842ae6e1d7d352b95837683113970c210b4f476a57bffc916326df6259 +EBUILD fake-1.1.10.ebuild 766 SHA256 f9284f127213769ee40fe3380a571cff1cf47ee0febeb3645e455fee91028cb3 SHA512 e9d930bc19ab6b7d55dd688af06b86f93c000da7fd02c01a7faa5b09e069dba8b4075591f65cefccf9f27366502aeb79b20b49f213b29f789e839d42f65f52ec WHIRLPOOL 927a63e966941d2fc0676407374bebe01ebf04fe40a44b31bc1fd85197dbe537cc9e348533b5690f54a605dcb1903f3691ee37be66edd7ffea5910b50d9154ef +MISC ChangeLog 2449 SHA256 039b1a388c7afd3a03782ab1553cdb04d1dbccc6c707c69b6e49d82b82e23975 SHA512 b4f13faa663f4c7e11c603bb7f100eb744b4474bb2bdc5d634783e9805b4389a6d95ad0d9724b1e89770c01bda1c8a325e628c58f89e89924961e6643ee0c65f WHIRLPOOL daecef50cfd8fa0c4349d3e97cc06f15c967028044e6a7acc003bef81fca6712eb0dc698c9cc2a0c1ecd9eedf48db9085db1972c652e30ab9a4f0dfc3f3031d3 +MISC ChangeLog-2015 1821 SHA256 8386feddc2f19487c14f7d196d424547b8d5a1e67bb2627cbc00da2747bcdb95 SHA512 100b73597aee45aea13273225211f3f6d210e0eeb884d98a0cc7e4caf1f094ba10c5449482ce2a51fa5fae57b5bef14855d523d96017b4c835852ec68e86c6ed WHIRLPOOL b9ba575ddf05af1f9f69a17fc4fe86e95dded45a7fe77873566b23a97a752bb4e0b7b891d11cbff4993adc75b3c3c5672826805f43e11dcb155b02cd1913f335 +MISC metadata.xml 710 SHA256 5f1508a1b270c28d2d843200c6f214c230c13e255968bbb197f36d8138ebc4fc SHA512 e6c1b78be31839ac8db3570e98375a13eddd33e4cd43945f5f5e1094cf07f47cc7754d44fbeeb2cf0e613da228d00e80bba2ea5984e3a20eab891d8d68766276 WHIRLPOOL 2fc3464b40f90a30fb57e1802bbb801941ba36d1d49ab509786eccc35a208eced9ee4a58a0e02fcd1882570ba80f646c86ad7ad4a0bdffec1712b4490d091afb diff --git a/sys-cluster/fake/fake-1.1.10.ebuild b/sys-cluster/fake/fake-1.1.10.ebuild new file mode 100644 index 000000000000..d6247089d87c --- /dev/null +++ b/sys-cluster/fake/fake-1.1.10.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils + +DESCRIPTION="Fake has been designed to switch in backup servers on a LAN" +SRC_URI="http://www.vergenet.net/linux/${PN}/download/${PV}/${P}.tar.gz" +HOMEPAGE="http://www.vergenet.net/linux/fake/" + +SLOT="0" +KEYWORDS="~amd64 x86" +LICENSE="GPL-2" +IUSE="" + +DEPEND="" +RDEPEND="${DEPEND}" + +src_unpack(){ + unpack ${A} + cd "${S}" + epatch "${FILESDIR}/fix-ldflags.patch" +} + +src_compile(){ + make patch || die "patching failed" + emake || die "make failed" +} + +src_install(){ + emake \ + ROOT_DIR="${D}" \ + MAN8_DIR="${D}/usr/share/man/man8" \ + DOC_DIR="${D}/usr/share/doc/${P}" \ + install || die "install failed" + dodoc AUTHORS ChangeLog README docs/* +} diff --git a/sys-cluster/fake/files/fix-ldflags.patch b/sys-cluster/fake/files/fix-ldflags.patch new file mode 100644 index 000000000000..e788b18c6452 --- /dev/null +++ b/sys-cluster/fake/files/fix-ldflags.patch @@ -0,0 +1,12 @@ +diff -Naur fake-1.1.10.old/send_arp.patch fake-1.1.10/send_arp.patch +--- fake-1.1.10.old/send_arp.patch 2002-10-21 08:06:12.000000000 +0200 ++++ fake-1.1.10/send_arp.patch 2010-09-27 13:17:02.000000000 +0200 +@@ -29,7 +29,7 @@ + +all: $(BIN) + + + +$(BIN): $(SRC) +-+ $(CC) $(SRC) -o $(BIN) +++ $(CC) $(LDFLAGS) $(SRC) -o $(BIN) + + + +clean: + + rm -f $(BIN) core $(SRC).* diff --git a/sys-cluster/fake/metadata.xml b/sys-cluster/fake/metadata.xml new file mode 100644 index 000000000000..d0775732a064 --- /dev/null +++ b/sys-cluster/fake/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> +</maintainer> +<longdescription> +Fake has been designed to switch in backup servers on a LAN. In particular it has +been designed to backup Mail, Web and Proxy servers during periods of both +unscheduled and scheduled down time. Fake allows you to take over the IP address of +another machine in the LAN by bringing up an additional interface and making use of +ARP spoofing. The additional interface can be either a physical interface or an IP +alias. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/feedbackd-agent/Manifest b/sys-cluster/feedbackd-agent/Manifest new file mode 100644 index 000000000000..d3af72c52675 --- /dev/null +++ b/sys-cluster/feedbackd-agent/Manifest @@ -0,0 +1,6 @@ +AUX feedbackd-agent-0.4-asneeded.patch 1079 SHA256 bdca5fc14ea24b15d152ca5a63cf35ee4cc51ef009f6b0e2e11159af9a7afc99 SHA512 957a197678eb6ac99e16d655987e1f5c18a28604c5252f3ff248548f7025aded50891e90cd126b4786d81a79ef6a1de915e2e7f28df2c98e9340cc718241b302 WHIRLPOOL 654121033d14661ea8bfca5659714ec6895e173e04b98aa799529e89b278c6abc5eba5c4e70f4ca6581016f71360ddad85ae379286b3769700314df94570c06c +DIST feedbackd-agent-0.4.tar.gz 69078 SHA256 0e1cf74d26387e5ce2591f29b92a19dfcd29b005585d363baa717c03705e49c8 SHA512 e7bdb3f547d59d63fff8c55b4bfd6229dd60c9183694d9f68ac899fcf3a3de47fc05473b514f8c13ea921bf619bf09f242c337245a78eb1a9de03e938069e380 WHIRLPOOL 50c0e401a01ad677f3bca278bed6e9542c4b257cd380981c547fc57cf90f96fce441b3d074202dd4fc60f49eae08137ac225125d42d618b2bc068fd9f63941fc +EBUILD feedbackd-agent-0.4.ebuild 812 SHA256 85506c7326e3494f935613b1d6316dd159ed3aa3f10406c2e95e1898c25fafc1 SHA512 d93766d568e3d774bcc0ddd9e32de6f5c0979817898f3818a7bea56738b7643f1a0460d7bfcbaa8fe411eb87b260c57bf030fc5846ba41633570057a6e5143e8 WHIRLPOOL cd370ab1842eeb2054e7c24e6c1bd14fabd66a684a22beaaed1e92a6ce0688f29dcc893ea841f509cac430c21816c49f9e5afa6bd1ba906d2d9b00ccaf5b9a3c +MISC ChangeLog 2495 SHA256 d52f83c9e9a37f965340cc434bfb99db3b493e1c271a75a2b8cabd4044cbe19c SHA512 6c02a9405151929d7005ee27be561fdb3073504e8aa6f2b972feff9a55ec365460df4385281133b3133b21a3511a3902d37230bed714a1dadd35fab46844c69f WHIRLPOOL 3fd5d723f883ce0de2feae84cedc6b5c41a77f4afd5ec65d8db5e6b323e5fbaf6a283e0914be5c61322797ed981db7a5c3f7c7e68cf4000fd6a86c544281a3d1 +MISC ChangeLog-2015 1716 SHA256 c80266783478ff31837013c849bda573c2e50d78dca8f8c74c4e0b098f559531 SHA512 20f553996402974f7917b63bfbf0e21cb00f1c5c19619b156d03f34a6381b0d61e3090889544af03839abce41700a90ba43918910c68217673be88fd3170e3cc WHIRLPOOL 8664e35edbb617d874ebda2282c57edbcae830240cf7f3358b10e164a676cc55c9dc9568acaf13afcac8f11dd7ad4767e46206666de5dc100fdffd842d2e6464 +MISC metadata.xml 336 SHA256 918cabc266a7426fafc1b05c2c63a4bac0a3485184cf2e80f55b46aeaba927a7 SHA512 bb519790cc800117748b4968cecd1a99e395a23731b3bc20c481b84f8ed8b46a293a50b1724c68cd6573345db097a919b348c685e74d0da3bed80c7b72c4a76f WHIRLPOOL c8e51b4615f7189fa5567e483782bcfb70d7c57a5fa3b81942fd23a3b071234e63c3e143a3e67ac64117521dc68d0774dfa4e655484133eab3405af7360c4d57 diff --git a/sys-cluster/feedbackd-agent/feedbackd-agent-0.4.ebuild b/sys-cluster/feedbackd-agent/feedbackd-agent-0.4.ebuild new file mode 100644 index 000000000000..d5947540f5bd --- /dev/null +++ b/sys-cluster/feedbackd-agent/feedbackd-agent-0.4.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils flag-o-matic + +DESCRIPTION="system for dynamic feedback of server loads in a Linux Virtual Server (LVS)-based cluster" +HOMEPAGE="http://ozlabs.org/~jk/projects/feedbackd/" +SRC_URI="mirror://sourceforge/feedbackd/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86" +IUSE="" + +DEPEND="dev-libs/libxml2 + dev-lang/perl" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-asneeded.patch +} + +src_compile() { + econf \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-xml-config=/usr/bin/xml2-config \ + --with-perl=/usr/bin/perl \ + || die "bad ./configure" + + emake || die +} + +src_install() { + #make DESTDIR=${D} install || die + einstall || die + dodoc ChangeLog NEWS README +} diff --git a/sys-cluster/feedbackd-agent/files/feedbackd-agent-0.4-asneeded.patch b/sys-cluster/feedbackd-agent/files/feedbackd-agent-0.4-asneeded.patch new file mode 100644 index 000000000000..9a29a3fa59eb --- /dev/null +++ b/sys-cluster/feedbackd-agent/files/feedbackd-agent-0.4-asneeded.patch @@ -0,0 +1,40 @@ +--- Makefile.in ++++ Makefile.in +@@ -34,13 +34,16 @@ + # build flags + CFLAGS = @CFLAGS@ + CPPFLAGS = @CPPFLAGS@ @DEFS@ -I. +-LDFLAGS = @LDFLAGS@ @LIBS@ ++LDFLAGS = @LDFLAGS@ ++LIBS = @LIBS@ + + XML_CFLAGS = @XML_CFLAGS@ +-XML_LDFLAGS = @XML_LDFLAGS@ @XML_LIBS@ ++XML_LDFLAGS = @XML_LDFLAGS@ ++LIBS += @XML_LIBS@ + + PERL_CFLAGS = @PERL_CFLAGS@ +-PERL_LDFLAGS = @PERL_LDFLAGS@ @PERL_LIBS@ ++PERL_LDFLAGS = @PERL_LDFLAGS@ ++LIBS += @PERL_LIBS@ + + # build targets + PLUGINS = @PLUGINS@ +@@ -63,7 +66,7 @@ + # feedbackd-agent main program + $(AGENT): src/feedbackd-agent + +-src/feedbackd-agent: $(foreach f, $($(AGENT)_objs), src/$(f).o) ++src/feedbackd-agent: $(foreach f, $($(AGENT)_objs), src/$(f).o) $(LIBS) + + src/feedbackd-agent: CFLAGS += $(XML_CFLAGS) + src/feedbackd-agent: LDFLAGS += $(XML_LDFLAGS) +@@ -75,7 +78,7 @@ + $(PLUGINS) : % : src/plugins/%.so + + src/plugins/%.so: src/plugins/%.o +- $(CC) -shared -nostartfiles $(LDFLAGS) -o $@ $^ ++ $(CC) -shared -nostartfiles $(LDFLAGS) -o $@ $^ $(LIBS) + + src/plugins/%.so: CFLAGS+=-fPIC $(XML_CFLAGS) + src/plugins/%.so: LDFLAGS+=$(XML_LDFLAGS) diff --git a/sys-cluster/feedbackd-agent/metadata.xml b/sys-cluster/feedbackd-agent/metadata.xml new file mode 100644 index 000000000000..311ccb6812d8 --- /dev/null +++ b/sys-cluster/feedbackd-agent/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">feedbackd</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/feedbackd-master/Manifest b/sys-cluster/feedbackd-master/Manifest new file mode 100644 index 000000000000..6b2eb477fa2a --- /dev/null +++ b/sys-cluster/feedbackd-master/Manifest @@ -0,0 +1,5 @@ +DIST feedbackd-master-0.4.tar.gz 73715 SHA256 9e8504a8314d99f7b2be95e1f39a5aed9f8f86d4cd21bedfca7af6e7f3d6f401 SHA512 3aed02c18b4f820b71587668aeaad4cacf314a548a2ec5995ae7656d63761d0e69ceb6f3a3fd946c1a305982406d0b2b6709c0b943f52a707e4aa7c142df4e10 WHIRLPOOL 08bba0e6c953663d941bb3c812d71da4adbfc5c710ca269fcb52b9bc65dbe1cb54a96936ad984bcb9ae1e473f130cbc36523eed2284ab140218865b0c1098340 +EBUILD feedbackd-master-0.4.ebuild 702 SHA256 2aa16bf67d1a7be24707b2d959e75b59c7b35d92445d1a7f4d6e6a10eb49dbc4 SHA512 856012c3aef6c354b3788969ad237abef15658ba32d088cb93a3fb743618a5fe477360259a6227bd73e279523fcf295af11a36f7e0e219f6acc7df27873da67f WHIRLPOOL 7c61be8d66c6d1143751ab7f0920d916d65bbe83c91b14a51cd5c2e11cf81008ccb1c72409f8c81843aa55be7df3736739c7e951f089655116d1a4aa9e5b9976 +MISC ChangeLog 2453 SHA256 e29773afb52bb8c725b897fb12da9593ee19b55d86085a2ce2f1b90cefd0b0e5 SHA512 f04a23894521dcc928530873bd51aaa9cc00efa6bfb4f3aa541f426611c49d91cb7e9b95e21db6795394b835941e414dfd937a88c116377c8d9c8b2547832a0f WHIRLPOOL 798db757e20aacfc4526124590447ee53f0e6ae024e1e7095cd67009a1f04826f1acf4a5f54fedb4551556df7b4bb10f2576e7f1d540b6a839a9fcc026058971 +MISC ChangeLog-2015 1619 SHA256 b5a6a0fc7cfd36645f1cd2eb5afdc0f0cb5e1c0e2d01c1ced910d4dd3bac60bf SHA512 9c969499ed82f4dd0015c65088032f6c1979ce5eb6d007574c480b5bc762bd3c769984762275c77f466099a8e8417d22c51b6a4a60dea9402927a57344e182a2 WHIRLPOOL c634f3c7748d74d9fdd396db3c2224e8f7181f62c8d50150d42d74e7ebc46bb8b3aaea497ea100be8f037035158148576cf9beaf8aa143f7fc957cbdeca5dc57 +MISC metadata.xml 502 SHA256 7f69a00e3e022305e7634b6d1b366efae0080f0076a94d65d87c1a831eceacca SHA512 59132889cdf9287c28118028d0066ca01690290d3783c70f7873287106ea359868f45c9c3c2df516f8cebaefd4013bcca74309cd9a8e2cf2bd842782b38c911c WHIRLPOOL b7888e8490f6fa77739555f93edab1809cd8d272d3ac51f2a235ee7ede7fbe87a1b9f4075421f4f37d9a44162855fa7e7c8e19b18327c44a92cd985e87d6faa9 diff --git a/sys-cluster/feedbackd-master/feedbackd-master-0.4.ebuild b/sys-cluster/feedbackd-master/feedbackd-master-0.4.ebuild new file mode 100644 index 000000000000..84783e6b42c2 --- /dev/null +++ b/sys-cluster/feedbackd-master/feedbackd-master-0.4.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils + +DESCRIPTION="Linux Virtual Server (LVS) addon for dynamic server health feedback" + +HOMEPAGE="http://ozlabs.org/~jk/projects/feedbackd/" +LICENSE="GPL-2" +DEPEND="dev-libs/libxml2 + >=sys-cluster/ipvsadm-1.24 + dev-lang/perl" + +SRC_URI="mirror://sourceforge/feedbackd/${P}.tar.gz" + +IUSE="" +SLOT="0" +KEYWORDS="x86" + +src_compile() { + einfo "Note: feedbackd-master needs a kernel with ipvs support and with ipvs enabled" + + econf \ + --sysconfdir=/etc \ + --localstatedir=/var \ + || die "bad ./configure" + + emake || die +} + +src_install() { + einstall || die + dodoc ChangeLog NEWS README +} diff --git a/sys-cluster/feedbackd-master/metadata.xml b/sys-cluster/feedbackd-master/metadata.xml new file mode 100644 index 000000000000..e25e8d479ca4 --- /dev/null +++ b/sys-cluster/feedbackd-master/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription> + Feedbackd is an add-on to the Linux Virtual Server project (LVS) to provide dynamic feedback of server health. + </longdescription> + <upstream> + <remote-id type="sourceforge">feedbackd</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/fence-agents/Manifest b/sys-cluster/fence-agents/Manifest new file mode 100644 index 000000000000..68d91ab47f54 --- /dev/null +++ b/sys-cluster/fence-agents/Manifest @@ -0,0 +1,6 @@ +DIST fence-agents-3.1.5.tar.gz 897416 SHA256 cc822f793dac2d86778982716bd5bd482daf4ac33f0726c47e638f70bcaa3ba7 SHA512 3941e2ec9f7db8dfe9fbf8aa360359fa1ff4f3c2d3e6e778289f0bbc39481a54915dbf93d9a9b66f6953ddd2c81562daa7c90e6c0f59ec42e9bfb779ae242992 WHIRLPOOL 19f7e681544affcca907325e999bf97b487debbb0134d96a2e99a8e2371d98e8718fcaba5bd74832ae64bcffc2f0f93f2493211ccbe1868fb31e68845ada7b07 +EBUILD fence-agents-3.1.5-r1.ebuild 1683 SHA256 ff582466a4d1734353e29ca1bb218eb7d7209a039f4396848497387b8d3ea174 SHA512 42049b456c003eabd8b3e1ee850de1496b2a224aec7824215c367f0a5d86e6dc42c7f29d8272a67eeb87b4ed1f2cdbcb62bd3fd5759dbca3ba5018b3afceb8b9 WHIRLPOOL ddf62ec159b8381f69b62cf5faea0f3119ec8ca628d17b9676b92f4dd8a390b91b29ee4472d96f6f284b7aa933652fb87cd5e0706b19f7d3521c938554d3665f +EBUILD fence-agents-3.1.5-r2.ebuild 1836 SHA256 ce2452fc203ea1ecae62c4be57727710f7513a79f4335edc398b8c3f2ca5a766 SHA512 340384527415bd8593d5b81fdc3a50fc10603ee93fc8df1e3f7f28031fc28136ee91b904750c19ce0a52e997aafbf0800ce70598f373c6977847d86fb666dcad WHIRLPOOL 4d7d8c412bd95ad9cf4fc4932c83c0d47c0092967947378131b7986fc05ece038b4e5a5858a4b3504b581d823251bae899f8351a2e9fcdd3a2492c8c6166a5ef +MISC ChangeLog 2519 SHA256 53ee0ea32a521f3051028c78408dca15c195a46d1bdf98813462b76826b20c39 SHA512 5fa20587fcbd3eabfbf30d83bac2157f814b45880eab7ea09f69af7ecc16c097b9d55f002b47007a97f007b7f8227251f1d93a4c73cbd7d3e419d9ce20db0bea WHIRLPOOL c21e897f7b14d971c358bc580428ea1c3b96d50770c4abb83b169d97c6e6e92c40bb3962ea0b90329e97a363d9a7e7813f2cce4ae2d280978e03e22c287822ab +MISC ChangeLog-2015 833 SHA256 1145e45c804685c84a19e3e59bf2d5b80f65b627ce3d8c39d708151a7b61e131 SHA512 a177b48f4afb7441a2adc7a6434a9ff2e4904cf0de9a0c6e8206cf3ab146814a5968663d479857bb13dab73d988a982d18639b6a3e24fc62fccf403d65d3adf2 WHIRLPOOL 89748d482f46aecc5238ae2636b998b1eaa2745cdcb461cd0f9c8487c78c3fc71330065c880a17199f1ef4e338aac5b433457412b90d6ed122bf19e3fece7398 +MISC metadata.xml 323 SHA256 42b960c17e986dc51a6532d87ef9ef515fd02a60d4f402e461f03ebac046f1a6 SHA512 771302bd401362ba141c27bd7c8b34c2a7f1b2ad310035f5af2aab1188b9451d9189536a5ec607479ccfabd7a35bb4fab84e713c5aa9ea85948397ad5c6609a4 WHIRLPOOL 5839dd14be881a1ff176301c89007bd0f76eb1d39bf6e071967b24d6e10fbc8763b2049f09613ba6f99b350bc39b2bacc756429091d01a00be057d248295c5f5 diff --git a/sys-cluster/fence-agents/fence-agents-3.1.5-r1.ebuild b/sys-cluster/fence-agents/fence-agents-3.1.5-r1.ebuild new file mode 100644 index 000000000000..a1e725a143fa --- /dev/null +++ b/sys-cluster/fence-agents/fence-agents-3.1.5-r1.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit multilib versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Cluster Fencing Agents" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/f/e/${PN}/${PN}-${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="~sys-cluster/libccs-${PV}" +DEPEND="${RDEPEND} + dev-python/pexpect + dev-libs/libxslt + dev-python/pexpect + dev-python/pycurl + dev-python/suds" + +src_configure() { + econf \ + --docdir=/usr/share/doc/${P} \ + --libdir=/usr/$(get_libdir) \ + --localstatedir=/var +} + +src_install() { + default + # dont force /var/run creation on installation wrt #451798 + rm -rf "${D}"/var/run +} + +pkg_postinst() { + if [[ "${ROOT}" != "/" ]] ; then + ewarn "You have to run 'ccs_update_schema' in the chroot-environment" + ewarn "to update the schema file for the cluster configuration." + ewarn "Otherwise you will not be able to define ressources." + else + elog "Running ccs_update_schema to update the configuration file schema" + /usr/sbin/ccs_update_schema -v -f + fi +} + +pkg_postrm() { + if [[ "${ROOT}" != "/" ]] ; then + ewarn "You have to run 'ccs_update_schema' in the chroot-environment" + ewarn "to update the schema file for the cluster configuration." + ewarn "Otherwise you may be able to define ressources even though they" + ewarn "are not present anymore." + else + elog "Running ccs_update_schema to update the configuration file schema" + /usr/sbin/ccs_update_schema -v -f + fi +} diff --git a/sys-cluster/fence-agents/fence-agents-3.1.5-r2.ebuild b/sys-cluster/fence-agents/fence-agents-3.1.5-r2.ebuild new file mode 100644 index 000000000000..674b1ea1bb1c --- /dev/null +++ b/sys-cluster/fence-agents/fence-agents-3.1.5-r2.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit multilib python-any-r1 versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Cluster Fencing Agents" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/f/e/${PN}/${PN}-${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="~sys-cluster/libccs-${PV}" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-libs/libxslt + $(python_gen_any_dep ' + dev-python/pexpect[${PYTHON_USEDEP}] + dev-python/pycurl[${PYTHON_USEDEP}] + dev-python/suds[${PYTHON_USEDEP}] + ')" + +src_configure() { + econf \ + --docdir=/usr/share/doc/${P} \ + --libdir=/usr/$(get_libdir) \ + --localstatedir=/var +} + +src_install() { + default + # dont force /var/run creation on installation wrt #451798 + rm -rf "${ED}"/var/run || die +} + +pkg_postinst() { + if [[ "${EROOT}" != "/" ]] ; then + ewarn "You have to run 'ccs_update_schema' in the chroot-environment" + ewarn "to update the schema file for the cluster configuration." + ewarn "Otherwise you will not be able to define ressources." + else + elog "Running ccs_update_schema to update the configuration file schema" + ccs_update_schema -v -f + fi +} + +pkg_postrm() { + if [[ "${EROOT}" != "/" ]] ; then + ewarn "You have to run 'ccs_update_schema' in the chroot-environment" + ewarn "to update the schema file for the cluster configuration." + ewarn "Otherwise you may be able to define ressources even though they" + ewarn "are not present anymore." + else + elog "Running ccs_update_schema to update the configuration file schema" + ccs_update_schema -v -f + fi +} diff --git a/sys-cluster/fence-agents/metadata.xml b/sys-cluster/fence-agents/metadata.xml new file mode 100644 index 000000000000..5e3ac099a8b6 --- /dev/null +++ b/sys-cluster/fence-agents/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription>Cluster Fencing Agents</longdescription> +</pkgmetadata> diff --git a/sys-cluster/galera/Manifest b/sys-cluster/galera/Manifest new file mode 100644 index 000000000000..eb5258f339c6 --- /dev/null +++ b/sys-cluster/galera/Manifest @@ -0,0 +1,10 @@ +AUX galera-3.15-strip-extra-cflags.patch 2397 SHA256 4f7365c4b3f1c35a9f238ee3660041f1299bb958df7885d85a52fe204a00728a SHA512 4f41398faaa138543ff6fd24b2aac9aa329dabf74d6355ea5c620db64e3112e27e17c15bf7e1dae1e7ddbe92795cedd65a9d6e52bd07b66f3fe27dde2ffc7cad WHIRLPOOL 9997d91a60e530e49a38c034bdcebaa421b756baa30753594e256045727d38c7a07566204c183e9cb746337ef5c318dc3b63d78d72fc48798ffcc02e3241065b +AUX garb.cnf 612 SHA256 c87b728ebe4e3ee1b33113303557e039b10ed22de901422020ad091fadbe101d SHA512 97b921109b242ad1a19326564b5f9da8a09eadd4771c2c86c727c1c30e35f92ffadbb38ce7d81bc88572d2c7b04466ad212432954e09d81417c4ed7f69ec4648 WHIRLPOOL 5ecef983b1ae16ff8589fde611a8aa7df572e86d0982c67fa042cf611e6d4cc1e9552ca3640816ffc9de72c366b74f96710c7a9a10249c0aaa0f3f5fb52f9a82 +AUX garb.sh 1029 SHA256 644130ca827d87698a1fd81b97c8099c565826415f79358b52b9bef4abfe1b15 SHA512 780eb8e7584d31ce24559e46724c7b981320f4706af0b9f0cd8d157247f853f51d3980178d0d234f64bcb097a4ee5493fe299d6800513403dbc7e0184c020902 WHIRLPOOL 3169e13e38160771290d96960ad68889c71e50756a94ddb778799a9db512f014cbfef312b1b6edc460182a666d90821dad2529a6546f6438c6f82e1cc3d091a2 +DIST galera-3-25.3.20.tar.gz 3319355 SHA256 aae9b44a7b06c0b0cd9e2f1b9bbaf9ca47c630076a6b7c66e8747e01fd343a64 SHA512 4531073bbd13542cf4b0ed06788ec0b857971bd2e0161b8df2d90072b134d5343216c012d2f712ff336209f6e34920e2aadf7b0f58f91d6ce365fb2b65ed7fbd WHIRLPOOL 9f311742a5d1a8b9550a971441bfb0f84b6876ff5d78740a22a06cf61ebd9a829a83706cb27b198be4e942d28c8a215ed29a3850f4ec72fa86266ccab534825f +DIST galera-3-25.3.21.tar.gz 3317865 SHA256 1035b8a62cd3695ab2af8c8f1be785942d68a07123bb9bc051b51fc4b5735904 SHA512 04f9a879c1c161c84dc74c002467e60739186d49746255f0f60ad090cf9c3ff778610a3cfc58896c73c244355baefdd65109df8538c010d7a749e9ee1e88e033 WHIRLPOOL 5c95658be7895d00c9b9cd4fbc870e439ede7c71f6ba685c60086c071154c1f7f5c0b412fc1ac0a95d5b32d2ffecb981ddbcb3147f15a5ba500bfd2c12ccab36 +EBUILD galera-25.3.20.ebuild 1816 SHA256 523ab329f7969cd3f9de8bb7b945bb478a967505727c4336a7c851b71b50f7d4 SHA512 ac38b5e8a74494baebc889fe312eca034dc7637c3aab2ccc560f6e8ac4d81e95e36e9a08b8f2a11e8020fc4c8e01a5b2fcb2d0d453d51c6b94a644f7f853fb4b WHIRLPOOL 027dad276a995214bd2beae227937225b76e14b532bd8a09d859ab06767bbce7ef76249529d9689f29102c7ad9be8565917aa03e36983baf2dc85e33110ee2f5 +EBUILD galera-25.3.21.ebuild 1828 SHA256 a2e93e8d32b052b49626704ab4cdbb41c08506ea5883c493f8c1bafa0997bb9a SHA512 701753adad3fe6556f18d53990f0fb8eb9acc8625dff14b6ce2666e168ae19b68f78d08935ff735fbca8ac93102549ebc0bd46aea17a1effb9d64de67a0a4a84 WHIRLPOOL 3bd8851137311f19ae0d6fa39b8245109198725943076027461f88ecb3f7a5f7173a74517fbb504ff37fdc90ad4e097387547b9e9e1f686550a5a3b75eb5cc5d +MISC ChangeLog 5716 SHA256 d76e4baa1fd77fe1f5b5fa4cb652979ed0b2754adf5170585bf7eb56fff4db86 SHA512 4eceed55cd8387be7c31dc938f5954a7ec200f0c1c0612dd4c3cb4c492076f53650a2d1ce3e9e21326b606eb1da8cf2fa80ec32933b9630a33de795a329d2092 WHIRLPOOL d033ad9a8387e162b5c9fdfcacfc25884d6be859832aabed9de299aedfc22e1f5c6d5a4a6a5fef1d5e4c5c0da6b90042d0f726777dc78357c8a7f49f496b6dc2 +MISC ChangeLog-2015 1453 SHA256 9fa3b9879d179c2b71d4e37b53c28e1fc0eb9c6ae04d0209cffb5b02ec962b0d SHA512 b9e92604a17f0db373c5fd569cef83bb2ef0f1e09536fa4c13ae24d7cccf09b78633fe11207f106247cf522a1dc8dcef40e26c733098afdab797ebe002bba3ab WHIRLPOOL b44624cbb06f4fa085bf653aaa18467ba042180559b91c35a3e7db133f7fb35d9453856d89930e538fc16ec3429f27795e86a6b45d620db47d03a79edb5f7557 +MISC metadata.xml 462 SHA256 1974a5c88a014d51ce6c1ab2af28ee9358edd30f75d8fc2591ee557875073f6b SHA512 b99987e53ae976905d3e493b09cbe35161f90b8ebfc88c4a9616b8722b0a0005c2427d509e15fdd7bbb30977266188452b3b6ec7479a943bce3a5922410246e2 WHIRLPOOL 51f62f6dcdacb7d7719ada1ebd708db44b57951501bad857dee1e62f4dd4ca3f58d184d39120146b4a4ecf150f5055381be30b43f4cdb46ab6424abff9601798 diff --git a/sys-cluster/galera/files/galera-3.15-strip-extra-cflags.patch b/sys-cluster/galera/files/galera-3.15-strip-extra-cflags.patch new file mode 100644 index 000000000000..b47ec39bf5a5 --- /dev/null +++ b/sys-cluster/galera/files/galera-3.15-strip-extra-cflags.patch @@ -0,0 +1,70 @@ +diff -aurN a/galerautils/src/SConscript b/galerautils/src/SConscript +--- a/galerautils/src/SConscript 2015-03-16 07:18:42.000000000 -0400 ++++ b/galerautils/src/SConscript 2015-04-07 15:03:21.661301200 -0400 +@@ -1,4 +1,4 @@ +-Import('env', 'x86', 'sysname') ++Import('env', 'sysname') + + libgalerautils_env = env.Clone() + +@@ -39,21 +39,6 @@ + crc32c_sources = [ '#/www.evanjones.ca/crc32c.c' ] + crc32c_objs = crc32c_env.SharedObject(crc32c_sources) + +-if x86: +- crc32c_env.Append(CFLAGS = ' -msse4.2') +- if sysname == 'sunos': +- # Ideally we want to simply strip SSE4.2 flag from the resulting +- # crc32.pic.o +- # (see http://ffmpeg.org/pipermail/ffmpeg-user/2013-March/013977.html) +- # but that requires some serious scons-fu, so we just don't +- # compile hardware support in if host CPU does not have it. +- from subprocess import check_call +- try: +- check_call("isainfo -v | grep sse4.2 >/dev/null 2>&1", shell=True); +- except: +- libgalerautils_env.Append(CPPFLAGS = ' -DCRC32C_NO_HARDWARE') +- crc32c_env.Append(CPPFLAGS = ' -DCRC32C_NO_HARDWARE') +- + libgalerautils_env.StaticLibrary('galerautils', + libgalerautils_objs + crc32c_objs) + +diff -aurN a/SConstruct b/SConstruct +--- a/SConstruct 2015-09-15 09:15:07.770091000 -0400 ++++ b/SConstruct 2015-09-15 09:18:41.160091000 -0400 +@@ -67,7 +67,7 @@ + build_target = 'all' + + # Optimization level +-opt_flags = ' -g -O3 -DNDEBUG' ++opt_flags = ' -DNDEBUG' + + # Architecture (defaults to build host type) + compile_arch = '' +@@ -97,26 +97,6 @@ + if dbug: + opt_flags = opt_flags + ' -DGU_DBUG_ON' + +-if sysname == 'sunos': +- compile_arch = ' -mtune=native' +-elif x86: +- if bits == 32: +- if machine == 'x86_64': +- compile_arch = ' -mx32' +- else: +- compile_arch = ' -m32 -march=i686' +- if sysname == 'linux': +- link_arch = ' -Wl,-melf_i386' +- else: +- compile_arch = ' -m64' +- if sysname == 'linux': +- link_arch = ' -Wl,-melf_x86_64' +- link_arch = compile_arch + link_arch +-elif machine == 's390x': +- compile_arch = ' -mzarch' +- if bits == 32: +- compile_arch += ' -m32' +- + boost = int(ARGUMENTS.get('boost', 1)) + boost_pool = int(ARGUMENTS.get('boost_pool', 0)) + ssl = int(ARGUMENTS.get('ssl', 1)) diff --git a/sys-cluster/galera/files/garb.cnf b/sys-cluster/galera/files/garb.cnf new file mode 100644 index 000000000000..63b79c1d2259 --- /dev/null +++ b/sys-cluster/galera/files/garb.cnf @@ -0,0 +1,20 @@ +# Copyright (C) 2012 Coedership Oy +# This config file is to be sourced by garbd service script. + +# A space-separated list of node addresses (address[:port]) in the cluster +# GALERA_NODES="" + +# Galera cluster name, should be the same as on the rest of the nodes. +# GALERA_GROUP="" + +# Arbitrator node name, give a specific name to this node in cluster. +# NODE_NAME="" + +# Optional Galera internal options string (e.g. SSL settings) +# see http://www.codership.com/wiki/doku.php?id=galera_parameters +# GALERA_OPTIONS="" + +# Log file for garbd. Optional, by default logs to syslog +# LOG_FILE="" + +PIDFILE=/var/run/garbd diff --git a/sys-cluster/galera/files/garb.sh b/sys-cluster/galera/files/garb.sh new file mode 100644 index 000000000000..f03eaffc076a --- /dev/null +++ b/sys-cluster/galera/files/garb.sh @@ -0,0 +1,49 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + use net + after mysql +} + +start() { + ebegin "Starting ${SVCNAME}" + + if [ -z "${GALERA_NODES}" ]; then + eerror "List of GALERA_NODES is not configured" + return 1 + fi + + if [ -z "${GALERA_GROUP}" ]; then + eerror "GALERA_GROUP name is not configured" + return 1 + fi + + GALERA_PORT="${GALERA_PORT:-4567}" + + OPTIONS="-a gcomm://${GALERA_NODES// /,} -g ${GALERA_GROUP}" + [ -n "${GALERA_OPTIONS}" ] && OPTIONS="${OPTIONS} -o ${GALERA_OPTIONS}" + [ -n "${LOG_FILE}" ] && OPTIONS="${OPTIONS} -l ${LOG_FILE}" + [ -n "${NODE_NAME}" ] && OPTIONS="${OPTIONS} -n ${NODE_NAME}" + + start-stop-daemon \ + --start \ + --exec /usr/bin/garbd \ + --pidfile "${PIDFILE}" \ + --make-pidfile \ + --user garbd \ + --group garbd \ + --background \ + -- ${OPTIONS} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon \ + --stop \ + --exec /usr/bin/garbd \ + --pidfile "${PIDFILE}" + eend $? +} diff --git a/sys-cluster/galera/galera-25.3.20.ebuild b/sys-cluster/galera/galera-25.3.20.ebuild new file mode 100644 index 000000000000..08d698fa170c --- /dev/null +++ b/sys-cluster/galera/galera-25.3.20.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +MY_P="${PN}-3-${PV}" + +inherit scons-utils toolchain-funcs user flag-o-matic +DESCRIPTION="Synchronous multi-master replication engine that provides the wsrep API" +HOMEPAGE="http://www.galeracluster.com" +SRC_URI="http://releases.galeracluster.com/source/galera-3-${PV}.tar.gz" +LICENSE="GPL-2 BSD" + +SLOT="0" + +KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ppc64 x86" +IUSE="cpu_flags_x86_sse4_2 garbd test" + +CDEPEND=" + dev-libs/openssl:0= + >=dev-libs/boost-1.41:0= + " +DEPEND="${DEPEND} + ${CDEPEND} + dev-libs/check + >=sys-devel/gcc-4.4 + >=dev-cpp/asio-1.10.1[ssl] + " +#Run time only +RDEPEND="${CDEPEND}" + +S="${WORKDIR}/${MY_P}" +# Respect {C,LD}FLAGS. +PATCHES=( "${FILESDIR}/galera-3.15-strip-extra-cflags.patch" ) + +pkg_preinst() { + if use garbd ; then + enewgroup garbd + enewuser garbd -1 -1 -1 garbd + fi +} + +src_prepare() { + default + + # Remove bundled dev-cpp/asio + rm -r "${S}/asio" || die + + #Remove optional garbd daemon + if ! use garbd ; then + rm -r "${S}/garb" || die + fi +} + +src_configure() { + tc-export CC CXX + # Uses hardware specific code that seems to depend on SSE4.2 + if use cpu_flags_x86_sse4_2 ; then + append-cflags -msse4.2 + else + append-cflags -DCRC32C_NO_HARDWARE + fi + # strict_build_flags=0 disables -Werror, -pedantic, -Weffc++, + # and -Wold-style-cast + MYSCONS=( + ssl=1 + tests=$(usex test 1 0) + strict_build_flags=0 + system_asio=1 + ) +} + +src_compile() { + escons --warn=no-missing-sconscript "${MYSCONS[@]}" +} + +src_install() { + dodoc scripts/packages/README scripts/packages/README-MySQL + if use garbd ; then + dobin garb/garbd + newconfd "${FILESDIR}/garb.cnf" garbd + newinitd "${FILESDIR}/garb.sh" garbd + doman man/garbd.8 + fi + exeinto /usr/$(get_libdir)/${PN} + doexe libgalera_smm.so +} diff --git a/sys-cluster/galera/galera-25.3.21.ebuild b/sys-cluster/galera/galera-25.3.21.ebuild new file mode 100644 index 000000000000..b81600aef42d --- /dev/null +++ b/sys-cluster/galera/galera-25.3.21.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +MY_P="${PN}-3-${PV}" + +inherit scons-utils toolchain-funcs user flag-o-matic +DESCRIPTION="Synchronous multi-master replication engine that provides the wsrep API" +HOMEPAGE="http://www.galeracluster.com" +SRC_URI="http://releases.galeracluster.com/${PN}-3/source/galera-3-${PV}.tar.gz" +LICENSE="GPL-2 BSD" + +SLOT="0" + +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86" +IUSE="cpu_flags_x86_sse4_2 garbd test" + +CDEPEND=" + dev-libs/openssl:0= + >=dev-libs/boost-1.41:0= + " +DEPEND="${DEPEND} + ${CDEPEND} + dev-libs/check + >=sys-devel/gcc-4.4 + >=dev-cpp/asio-1.10.1[ssl] + " +#Run time only +RDEPEND="${CDEPEND}" + +S="${WORKDIR}/${MY_P}" +# Respect {C,LD}FLAGS. +PATCHES=( "${FILESDIR}/galera-3.15-strip-extra-cflags.patch" ) + +pkg_preinst() { + if use garbd ; then + enewgroup garbd + enewuser garbd -1 -1 -1 garbd + fi +} + +src_prepare() { + default + + # Remove bundled dev-cpp/asio + rm -r "${S}/asio" || die + + #Remove optional garbd daemon + if ! use garbd ; then + rm -r "${S}/garb" || die + fi +} + +src_configure() { + tc-export CC CXX + # Uses hardware specific code that seems to depend on SSE4.2 + if use cpu_flags_x86_sse4_2 ; then + append-cflags -msse4.2 + else + append-cflags -DCRC32C_NO_HARDWARE + fi + # strict_build_flags=0 disables -Werror, -pedantic, -Weffc++, + # and -Wold-style-cast + MYSCONS=( + ssl=1 + tests=$(usex test 1 0) + strict_build_flags=0 + system_asio=1 + ) +} + +src_compile() { + escons --warn=no-missing-sconscript "${MYSCONS[@]}" +} + +src_install() { + dodoc scripts/packages/README scripts/packages/README-MySQL + if use garbd ; then + dobin garb/garbd + newconfd "${FILESDIR}/garb.cnf" garbd + newinitd "${FILESDIR}/garb.sh" garbd + doman man/garbd.8 + fi + exeinto /usr/$(get_libdir)/${PN} + doexe libgalera_smm.so +} diff --git a/sys-cluster/galera/metadata.xml b/sys-cluster/galera/metadata.xml new file mode 100644 index 000000000000..d112cf6ef2bb --- /dev/null +++ b/sys-cluster/galera/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>mysql-bugs@gentoo.org</email> + <name>MySQL</name> + </maintainer> + <use> + <flag name="garbd">Install Galera Arbitrator - a stateless daemon which acts as a lightweight group member</flag> + </use> + <upstream> + <remote-id type="launchpad">galera</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/ganglia-web/Manifest b/sys-cluster/ganglia-web/Manifest new file mode 100644 index 000000000000..17356ea345ad --- /dev/null +++ b/sys-cluster/ganglia-web/Manifest @@ -0,0 +1,8 @@ +AUX CVE-2013-6395-fix-xss.patch 922 SHA256 42cb7108991ef3061f9a34710b29fda75bc4635bcc6f824fb1115fd4f0277159 SHA512 6ea9694203f5402eb84bf412db6f8c687872a6ab0bea1a0645d92e7852b4a8542f48420442e451042c032d43056ba07d23fd09344d45533017ebdebf111ec556 WHIRLPOOL 785701d303c8649a1d7ac830272f703e7a26f10b0a5d840898f8a36a6d4d1075d1f442f4455d266d978574bc81424ef772e529bc7f5c0a8232f59fcf676f6b05 +DIST ganglia-web-3.5.10.tar.gz 1431977 SHA256 cd6948d4a08a65c3f4f042fa22f04948e089b2b1f970ba1f9f3d91c31bc0ca02 SHA512 9f035c27e7afe944d854a701fc70869940c9cacef5b58b92493241a817f4f5b80103191ab6e9c062ade4c92288fdd25097c95f6d57f409d4840cab2c5ee66efd WHIRLPOOL 6a9dad89961f1cb6c7e63a20f8b79eff2c5758795fe4eac89c9c6ea02f3aef0ade7b4b1851c78c0a0f901825883c0bc08419379b81977f532aa56db04a2564c9 +DIST ganglia-web-3.5.8.tar.gz 1431184 SHA256 c1728c6a073a9d4dd66e10a77b0ab34ccf5d7f3ce0d553888390734bc0b79e4c SHA512 1ba5df64801b28a3e412acd6c63301c7911b24d21dc261c9d970bdabeb3c47102ab47e5de89fd5fdcaa6b79a2e9c3421e7abaf0641e25d1f5821c54a232b0933 WHIRLPOOL 739f7873da4a9a559a2e86d98bc24887cf96b120fb9ae03a59a81cc68aea1c72d9c63a0a62bda85578406454b944f805ced6918d2e7fc68e3491f5178f8b47b6 +EBUILD ganglia-web-3.5.10-r1.ebuild 1186 SHA256 a06a395942dac9306f17a3b25ebb9512dd3532faf4291a5e0e58a7393270409e SHA512 012694bf0d7d72be85b3af4f9fffc2571b99f2f2e6613629a0769f5873bf194045a2e1d18511d7dd8aff0fc152407057de2f88b58f75557d9701c8a73ad33934 WHIRLPOOL 889658fd498af51ecc991d78751c270f8519af75894b43f7be410f69af1bce045af420378d385294ef79fe30986593b4616b8180259d0ded611f908b5051791a +EBUILD ganglia-web-3.5.8-r1.ebuild 1183 SHA256 90583abfa51ed40ca3e6b81132d91d30dad9862e90ebb5d43781909f1c7f1ad2 SHA512 2481fc91882073b4cfe9d8b0bd9fb3b7716c3b629aa9cb08afaac34ac6e553f7d2d23a449a128afbad9f24bb94c0a4dc6aea4f515c83fe273be536451c42abe5 WHIRLPOOL fb8a3fa273d20a7ca7fbf456ef0a915599e4bf2f59e785006f73cc3ddc94dc86b00dedf2aa1275755fd6c70a3827bc43453121edfb6b91692d8bfc657e972b96 +MISC ChangeLog 2692 SHA256 24524f338aeb49900b024a5df0cb03cdc190c44d32e9b2d40f319d73db094c0a SHA512 166b5974ddb1b18930db7779029adab1efd13e31862a6ac1c48a0c95240f99bb17c02d76e335f25c8dda223df053d27d672da65e54f49c0f66691aae97297f97 WHIRLPOOL 8051d6d6a24a8f0b2958f771c3d66282e94ac5288dde604167749bbc5c6bacd27d750390c0221b4987501e7e131bb4749148f5aeb03896d22148535e488bce1d +MISC ChangeLog-2015 2664 SHA256 2eb54d9b47760e4ab81f048809b86796ff775951be8af5243762e14412a9d1e3 SHA512 82cd3ab616fb9c5e5b77199693722f99e481a2cabb1df757148853ce58123c53ad2be7b4f83def6fa89e3ece57e7377cc8ee161b739181b092ea47e13e6cf4e7 WHIRLPOOL d251c50847d8c4fa38a30940c9cc2da081f610dbe846b3e2ecad8e1402c2bd839e0c3772198fb286e1e68c684d346ce8445a075254f06d7393dae0588e593c79 +MISC metadata.xml 334 SHA256 a0156eea226535177cb784d92cec49e67ab431b69a129bd5f792d2b11804ccde SHA512 9b58ae22b5ef2ebe1d7b247b179273a68033ccbc01c78969a2ec10a2a3932432ea4328b91e192b30dcef84381313fff1d26fc0e4d7e4cf70f0a36aa9c3cd8a63 WHIRLPOOL 7a92b4c49c9d0a34865d7e5ff49dccc327e2b8f12e58c9ae494757c6d40ace8819027d23dc382f9ab53cbefbe74f0e046d51fbec63e8d6ad705a400a21ebb224 diff --git a/sys-cluster/ganglia-web/files/CVE-2013-6395-fix-xss.patch b/sys-cluster/ganglia-web/files/CVE-2013-6395-fix-xss.patch new file mode 100644 index 000000000000..6f49bbedb7c0 --- /dev/null +++ b/sys-cluster/ganglia-web/files/CVE-2013-6395-fix-xss.patch @@ -0,0 +1,27 @@ +From a014c9542710ad50fd1a7fd1eb39b44261edf3a2 Mon Sep 17 00:00:00 2001 +From: Justin Bronder <jsbronder@gmail.com> +Date: Mon, 23 Dec 2013 11:39:03 -0500 +Subject: [PATCH] CVE-2013-6395 fix xss + +https://bugs.gentoo.org/show_bug.cgi?id=492580 +http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-6395 +--- + header.php | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/header.php b/header.php +index d0a30c2..e1cb0e8 100755 +--- a/header.php ++++ b/header.php +@@ -485,7 +485,7 @@ $data->assign("custom_time", $custom_time); + ///////////////////////////////////////////////////////////////////////// + if ( $context == "cluster" ) { + if ( isset($user['host_regex']) && $user['host_regex'] != "" ) +- $set_host_regex_value="value='" . $user['host_regex'] . "'"; ++ $set_host_regex_value="value='" . htmlentities($user['host_regex'], ENT_QUOTES) . "'"; + else + $set_host_regex_value=""; + +-- +1.8.3.2 + diff --git a/sys-cluster/ganglia-web/ganglia-web-3.5.10-r1.ebuild b/sys-cluster/ganglia-web/ganglia-web-3.5.10-r1.ebuild new file mode 100644 index 000000000000..4ee2bb7ef1a0 --- /dev/null +++ b/sys-cluster/ganglia-web/ganglia-web-3.5.10-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 +WEBAPP_MANUAL_SLOT="yes" +inherit webapp eutils + +DESCRIPTION="Web frontend for sys-cluster/ganglia" +HOMEPAGE="http://ganglia.sourceforge.net" +SRC_URI="mirror://sourceforge/ganglia/${PN}/${PV}/${P}.tar.gz" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="vhosts" + +DEPEND="net-misc/rsync" +RDEPEND=" + ${DEPEND} + ${WEBAPP_DEPEND} + >=sys-cluster/ganglia-3.3.7[-minimal] + dev-lang/php[gd,xml,ctype,cgi] + media-fonts/dejavu" + +src_configure() { + return 0 +} + +src_compile() { + return 0 +} + +src_prepare() { + epatch "${FILESDIR}"/CVE-2013-6395-fix-xss.patch +} + +src_install() { + webapp_src_preinst + cd "${S}" + emake \ + GDESTDIR="${MY_HTDOCSDIR}" \ + DESTDIR="${D}" \ + APACHE_USER=nobody \ + install || die + webapp_configfile "${MY_HTDOCSDIR}"/conf_default.php + webapp_src_install + + fowners -R nobody:nobody /var/lib/ganglia-web/dwoo + fperms -R 777 /var/lib/ganglia-web/dwoo + + dodoc AUTHORS README TODO || die +} + +pkg_postinst() { + webapp_pkg_postinst + + # upgrade from < 3.5.6 + if [ -d "${ROOT}"/var/lib/ganglia/dwoo ]; then + rm -rf "${ROOT}"/var/lib/ganglia/dwoo || die + fi +} diff --git a/sys-cluster/ganglia-web/ganglia-web-3.5.8-r1.ebuild b/sys-cluster/ganglia-web/ganglia-web-3.5.8-r1.ebuild new file mode 100644 index 000000000000..a50a91e815d1 --- /dev/null +++ b/sys-cluster/ganglia-web/ganglia-web-3.5.8-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 +WEBAPP_MANUAL_SLOT="yes" +inherit webapp eutils + +DESCRIPTION="Web frontend for sys-cluster/ganglia" +HOMEPAGE="http://ganglia.sourceforge.net" +SRC_URI="mirror://sourceforge/ganglia/${PN}/${PV}/${P}.tar.gz" +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="vhosts" + +DEPEND="net-misc/rsync" +RDEPEND=" + ${DEPEND} + ${WEBAPP_DEPEND} + >=sys-cluster/ganglia-3.3.7[-minimal] + dev-lang/php[gd,xml,ctype,cgi] + media-fonts/dejavu" + +src_configure() { + return 0 +} + +src_compile() { + return 0 +} + +src_prepare() { + epatch "${FILESDIR}"/CVE-2013-6395-fix-xss.patch +} + +src_install() { + webapp_src_preinst + cd "${S}" + emake \ + GDESTDIR="${MY_HTDOCSDIR}" \ + DESTDIR="${D}" \ + APACHE_USER=nobody \ + install || die + webapp_configfile "${MY_HTDOCSDIR}"/conf_default.php + webapp_src_install + + fowners -R nobody:nobody /var/lib/ganglia-web/dwoo + fperms -R 777 /var/lib/ganglia-web/dwoo + + dodoc AUTHORS README TODO || die +} + +pkg_postinst() { + webapp_pkg_postinst + + # upgrade from < 3.5.6 + if [ -d "${ROOT}"/var/lib/ganglia/dwoo ]; then + rm -rf "${ROOT}"/var/lib/ganglia/dwoo || die + fi +} diff --git a/sys-cluster/ganglia-web/metadata.xml b/sys-cluster/ganglia-web/metadata.xml new file mode 100644 index 000000000000..89825dedcad9 --- /dev/null +++ b/sys-cluster/ganglia-web/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">ganglia</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/ganglia/Manifest b/sys-cluster/ganglia/Manifest new file mode 100644 index 000000000000..10cc21575c31 --- /dev/null +++ b/sys-cluster/ganglia/Manifest @@ -0,0 +1,10 @@ +AUX gmetad-python.rc 618 SHA256 bbb94079a156c98dd03f0166e0ffc347747b2e6ae1a741a89e79aa2ee1e67eda SHA512 1b23e84c453b0cd0aca8b340c9764adb79bccbc0b4a9574a1e5c7299bc8d497d30a2a56e9b855d3cda2664a856b404f4f6941b3feddbec889e45a59c92c05389 WHIRLPOOL 791d3718fafce43d750edc492d3123006a4c484865ad69252ade9971504021bf8dd92acb61a35d5b901a76c15c0d247fdbd106f3be992039e85f3928cad0aca9 +AUX gmetad.rc 352 SHA256 8236bc81d249d18a88a77f684036184617fcef3addf9eb6bb6e9cda4e1bbcdbf SHA512 865e1f8622ebcf1103f0cb72ebc2d675af01e9ea0861fd43107ac2bca10d9e86f875741ae4cc1dabf0eb231fd3f907066974d82b245f2746acbad0f7eafb46af WHIRLPOOL 1d151b5ed6d32d1c7946a8a6a15d73226bfbd409c36ec5da0eb69b884e6e35c1405810270a3226974d1dfa102cd935b372b6118a2006b4ff32511d979e105feb +AUX gmetad.rc-2 480 SHA256 d57923cd9426bea1c69a3095a4dae3ccb1871d8723efbf3a226499012c2ff095 SHA512 37678fe9b52ce7c6ef38bcc764189ed26e10410567ac9a8608460ac3eab380c70ac91453ed425ffef8d6e86ff6ef609e0167f5bb04a2aa9318725527d31391fa WHIRLPOOL 713665091d0fc47b74b0f9dfcc367591f1ad0c16a036a8bcde10b943f3c2a17d151c383e3d669ac3dc6f75dafa109e6347e72193f05a0ba4854c65e59b8d0b9f +AUX gmond.rc 346 SHA256 68f68de2f572fe313f6451ba8e368bc9493e14598f17f22cf09b0fb3a42fa42f SHA512 0d1d4da1bfc2c20ae741fb9a7ee2e649780254029c50fee866f1fffdb55fddbd61ea3ead6670d7a65489d780990e24c6743c14bc1a4a7040b84972f4884629ca WHIRLPOOL 1471d42034d89919773af796e22a699243bac7952422b3440b70ab81742a7de385bb2e5a3c3bec8550cb969de310d76544b1f3650cc049ef1c73e8c5e28420ae +AUX gmond.rc-2 473 SHA256 20fdb9cf9fdfb89be91db7723955c31f770643d4e54cd9b08e6121f6e28445dd SHA512 bbb5e3c525137aa2072bd46d28473523498895eba70c8dad1209230ea5e7f44ddc09875b5b6065fd5351d89ed0ad574a94fe0debcbe1d3a51e2541715adb4240 WHIRLPOOL 37b7ee2456bf1b99e77058cb309a939167e06476fbec5a12790707045e7408cd22e02fc9ca224981c9e5914f50f0ab4ead573fa321390ce1d47237e0973c8e30 +DIST ganglia-3.7.1.tar.gz 1311019 SHA256 e735a6218986a0ff77c737e5888426b103196c12dc2d679494ca9a4269ca69a3 SHA512 1c3519cec0015cc967536a8c72cedd1b1bc268e0e238538756b1f46fd741b56ebaacc6f518c57eb111c30fd2e56372cba4593e4487c9ed68472aa59d24ce66a8 WHIRLPOOL 7d37d1c6b23d417d2a24b654393b32b1c3bf7dcdfd18c960994a2b8f226559e7e5d5149bc87d5072bb1d9b48e4a871775334e2af22d7567a124519d1aa120a78 +EBUILD ganglia-3.7.1-r1.ebuild 2910 SHA256 cf1f3494ca42336ca2d794412b3c8adb8aa84e2c4e81118e166b9588ddee2869 SHA512 eb087c172fab239315dc4a18b364dc32e202e9dcd3279224369418af353fb185d71bc85cd3fc02c522b95c530a038c8e87dacf40d081761792f8007880ea956d WHIRLPOOL a4000a05d7c17f1153289d16a872cc34ec47b24925db207b239cb00e0eeb03675d87e9cb1d7001f583e20904a64a35a72b22f479425edf90a03802e6141f2166 +MISC ChangeLog 3418 SHA256 dd3d1ab1e3f19939c371ec3fbc85beb6ec258fa80d58cf687967e5f592ead5bd SHA512 d015c674989b172b2a8bb3d32ec86636308fba7f7f6e122c54d7f5efda163414cf269e0fa1c5441e393ff3c9a8be4053cbd7a3039f04488ec578519fcc383747 WHIRLPOOL ae5bb2698e4942ac0369fbe3c82cc24bfcc5a4eb592aeb1ab32109b4630c097ed674b73d99558a18ac7e4f18c492df88fadd1293c1b224cdf5ea0d59efb141c3 +MISC ChangeLog-2015 12226 SHA256 3641589fd72852881034929c3dd19ad0119e31c7d0f65ad520667c57d3defbdd SHA512 be18cfb78ca0138a43ee93658ec7baaf3f1a9f400300945adede8a6dccff09793d043073021b94f1484908df71c5c8baafaf0fc05e52b67dd5d5061430697aeb WHIRLPOOL cafdbf744bdf158dc9ef87f7fa63b279a20acb236b4080ee8d631a920741de934a9ce961b7c324cee73fc4edd6dfa02306aa5d605e690c435828344f2fc5c5d4 +MISC metadata.xml 334 SHA256 a0156eea226535177cb784d92cec49e67ab431b69a129bd5f792d2b11804ccde SHA512 9b58ae22b5ef2ebe1d7b247b179273a68033ccbc01c78969a2ec10a2a3932432ea4328b91e192b30dcef84381313fff1d26fc0e4d7e4cf70f0a36aa9c3cd8a63 WHIRLPOOL 7a92b4c49c9d0a34865d7e5ff49dccc327e2b8f12e58c9ae494757c6d40ace8819027d23dc382f9ab53cbefbe74f0e046d51fbec63e8d6ad705a400a21ebb224 diff --git a/sys-cluster/ganglia/files/gmetad-python.rc b/sys-cluster/ganglia/files/gmetad-python.rc new file mode 100644 index 000000000000..a01e42ebd788 --- /dev/null +++ b/sys-cluster/ganglia/files/gmetad-python.rc @@ -0,0 +1,30 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +PIDFILE=/var/run/gmetad-python.pid + +depend() { + need net + after ntp-client ntpd +} + +start() { + ebegin "Starting GANGLIA gmetad-python: " + start-stop-daemon \ + --start --quiet \ + --exec /usr/bin/gmetad.py \ + --pidfile ${PIDFILE} \ + -- \ + -p ${PIDFILE} + eend $? "Failed to start gmetad-python" +} + +stop() { + ebegin "Shutting down GANGLIA gmetad-python: " + start-stop-daemon \ + --stop --quiet \ + --pidfile ${PIDFILE} \ + --exec /usr/bin/gmetad.py + eend $? "Failed to stop gmetad-python" +} diff --git a/sys-cluster/ganglia/files/gmetad.rc b/sys-cluster/ganglia/files/gmetad.rc new file mode 100644 index 000000000000..bb57487a3e0d --- /dev/null +++ b/sys-cluster/ganglia/files/gmetad.rc @@ -0,0 +1,18 @@ +#!/sbin/openrc-run + +depend() { + need net + after ntp-client ntpd +} + +start() { + ebegin "Starting GANGLIA gmetad: " + start-stop-daemon --start --quiet --exec /usr/sbin/gmetad + eend $? "Failed to start gmetad" +} + +stop() { + ebegin "Shutting down GANGLIA gmetad: " + start-stop-daemon --stop --quiet --exec /usr/sbin/gmetad + eend $? "Failed to stop gmetad" +} diff --git a/sys-cluster/ganglia/files/gmetad.rc-2 b/sys-cluster/ganglia/files/gmetad.rc-2 new file mode 100644 index 000000000000..6b1306beec9a --- /dev/null +++ b/sys-cluster/ganglia/files/gmetad.rc-2 @@ -0,0 +1,28 @@ +#!/sbin/openrc-run + +PIDFILE=/var/run/gmetad.pid + +depend() { + need net + after ntp-client ntpd +} + +start() { + ebegin "Starting GANGLIA gmetad: " + start-stop-daemon \ + --start --quiet \ + --exec /usr/sbin/gmetad \ + --pidfile ${PIDFILE} \ + -- \ + --pid-file=${PIDFILE} + eend $? "Failed to start gmetad" +} + +stop() { + ebegin "Shutting down GANGLIA gmetad: " + start-stop-daemon \ + --stop --quiet \ + --pidfile ${PIDFILE} \ + --exec /usr/sbin/gmetad + eend $? "Failed to stop gmetad" +} diff --git a/sys-cluster/ganglia/files/gmond.rc b/sys-cluster/ganglia/files/gmond.rc new file mode 100644 index 000000000000..621be8d14091 --- /dev/null +++ b/sys-cluster/ganglia/files/gmond.rc @@ -0,0 +1,18 @@ +#!/sbin/openrc-run + +depend() { + need net + after ntp-client ntpd +} + +start() { + ebegin "Starting GANGLIA gmond: " + start-stop-daemon --start --quiet --exec /usr/sbin/gmond + eend $? "Failed to start gmond" +} + +stop() { + ebegin "Shutting down GANGLIA gmond: " + start-stop-daemon --stop --quiet --exec /usr/sbin/gmond + eend $? "Failed to stop gmond" +} diff --git a/sys-cluster/ganglia/files/gmond.rc-2 b/sys-cluster/ganglia/files/gmond.rc-2 new file mode 100644 index 000000000000..fb07e19073c0 --- /dev/null +++ b/sys-cluster/ganglia/files/gmond.rc-2 @@ -0,0 +1,28 @@ +#!/sbin/openrc-run + +PIDFILE=/var/run/gmond.pid + +depend() { + need net + after ntp-client ntpd +} + +start() { + ebegin "Starting GANGLIA gmond: " + start-stop-daemon \ + --start --quiet \ + --exec /usr/sbin/gmond \ + --pidfile ${PIDFILE} \ + -- \ + --pid-file=${PIDFILE} + eend $? "Failed to start gmond" +} + +stop() { + ebegin "Shutting down GANGLIA gmond: " + start-stop-daemon \ + --stop --quiet \ + --pidfile ${PIDFILE} \ + --exec /usr/sbin/gmond + eend $? "Failed to stop gmond" +} diff --git a/sys-cluster/ganglia/ganglia-3.7.1-r1.ebuild b/sys-cluster/ganglia/ganglia-3.7.1-r1.ebuild new file mode 100644 index 000000000000..4f264a867d19 --- /dev/null +++ b/sys-cluster/ganglia/ganglia-3.7.1-r1.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_OPTIONAL=1 + +inherit distutils-r1 eutils multilib systemd + +DESCRIPTION="A scalable distributed monitoring system for clusters and grids" +HOMEPAGE="http://ganglia.sourceforge.net/" +SRC_URI="mirror://sourceforge/ganglia/${P}.tar.gz" +LICENSE="BSD" + +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="minimal pcre python examples" + +DEPEND="dev-libs/confuse + dev-libs/expat + >=dev-libs/apr-1.0 + !dev-db/firebird + pcre? ( dev-libs/libpcre ) + python? ( ${PYTHON_DEPS} )" + +RDEPEND=" + ${DEPEND} + !minimal? ( net-analyzer/rrdtool )" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +src_prepare() { + if use python && ! use minimal; then + pushd gmetad-python >/dev/null || die + distutils-r1_src_prepare + popd >/dev/null || die + fi +} + +src_configure() { + if use python; then + python_setup + fi + + econf \ + --with-systemdsystemunitdir=$(systemd_get_unitdir) \ + --enable-gexec \ + --sysconfdir="${EPREFIX}"/etc/${PN} \ + --enable-static=no \ + $(use_enable python) \ + $(use_with pcre libpcre) \ + $(use_with !minimal gmetad) +} + +src_compile() { + default_src_compile + + if use python && ! use minimal; then + pushd gmetad-python >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi +} + +src_install() { + local exdir=/usr/share/doc/${P} + + emake DESTDIR="${D}" install || die + + newinitd "${FILESDIR}"/gmond.rc-2 gmond + doman {mans/*.1,gmond/*.5} || die "Failed to install manpages" + dodoc AUTHORS INSTALL NEWS README || die + + dodir /etc/ganglia/conf.d + use python && dodir /usr/$(get_libdir)/ganglia/python_modules + gmond/gmond -t > "${ED}"/etc/ganglia/gmond.conf + + if use examples; then + insinto ${exdir}/cmod-examples + doins gmond/modules/example/*.c + if use python; then + # Installing as an examples per upstream. + insinto ${exdir}/pymod-examples + doins gmond/python_modules/*/*.py + insinto ${exdir}/pymod-examples/conf.d + doins gmond/python_modules/conf.d/*.pyconf + fi + fi + + if ! use minimal; then + insinto /etc/ganglia + doins gmetad/gmetad.conf + doman mans/gmetad.1 + + newinitd "${FILESDIR}"/gmetad.rc-2 gmetad + keepdir /var/lib/ganglia/rrds + fowners nobody:nobody /var/lib/ganglia/rrds + + if use python; then + pushd gmetad-python >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + newinitd "${FILESDIR}"/gmetad-python.rc gmetad-python + fi + fi +} + +src_test() { + default_src_test + + if use python && ! use minimal; then + pushd gmetad-python >/dev/null || die + distutils-r1_src_test + popd >/dev/null || die + fi +} + +pkg_postinst() { + elog "A default configuration file for gmond has been generated" + elog "for you as a template by running:" + elog " /usr/sbin/gmond -t > /etc/ganglia/gmond.conf" + + elog "The web frontend for Ganglia has been split off. Emerge" + elog "sys-cluster/ganglia-web if you need it." +} diff --git a/sys-cluster/ganglia/metadata.xml b/sys-cluster/ganglia/metadata.xml new file mode 100644 index 000000000000..89825dedcad9 --- /dev/null +++ b/sys-cluster/ganglia/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">ganglia</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/gasnet/Manifest b/sys-cluster/gasnet/Manifest new file mode 100644 index 000000000000..7428d3fe69c5 --- /dev/null +++ b/sys-cluster/gasnet/Manifest @@ -0,0 +1,11 @@ +DIST GASNet-1.26.4.tar.gz 2656498 SHA256 a2c8a9c306ade58f4eba641f1c6e310a31fc722812dde1154fcc01efab4173d3 SHA512 9faa0281177afc67f2bf75e3a487accdf87b67a3da6afabcd625a26a3533033313b545893dead7ac1d176c57fe7547cd077d3bb368bc9e3211ffb0b316f3af0c WHIRLPOOL 5c920e69728343266929a18ff48eb98bd8dc35803507d205ef479e545a3eae885367a01e403eebf3518b65eaffe59ae8a797643a8e16326a3c610f4f11cd71e6 +DIST GASNet-1.28.0.tar.gz 2654757 SHA256 a7999fbaa1f220c2eb9657279c7e7cccd1b21865d5383c9a5685cfe05a0702bc SHA512 3edef7efc55833d286b1d562f670b9605b1c8c37f9cf5582a46a5e7d8b2fbb7deca695597accda6f39c75e840da1879e8bb3d8b9f25da6be4aad60eca4aad169 WHIRLPOOL ce1e5b9c52b1dfbae8badd610f458563296d1eb9c593a614b8c54621111b9d4f269ef22616e2857913e0641347ca156ea82b6449fd33a89c38e3aed61be3c437 +DIST GASNet-1.28.2.tar.gz 2691394 SHA256 7903fd8ebdd03bcda20a66e3fcedef2f8b384324591aa91b8370f3360f6384eb SHA512 df472c55642891405cd86b9cc573cb1cd7607af7cd0ed931cb423ce0274f1a000f5f0b3481950cac710f154a5068088e8c101f1ea0cb9ceb4aaf73444cb3cef5 WHIRLPOOL 488eaf1c42de9cde7c58036bbe71339bf1249615c37589a526d2635bcb1a75144f98b4e9d888ce4ae53bd930196f49ddb47d1ea86525f027f85428915a40fe54 +DIST GASNet-1.30.0.tar.gz 2686524 SHA256 b5d8c98c53174a98a41efb4ec9dedb62c0a9e8fa111bb6460cd4493beb80d497 SHA512 c95825906b2298be16087fa817baf14076c2d70b1e6420feef07da0c01d2e780415904dac5ec9b4debdffb0749b706f40ac50c4574425978783d7121506c99a6 WHIRLPOOL 506fa0d51d5a6234b3909af9f0b71c643cfdcc9e227975fedc9eb29c09cf87386950a609dbf272270f4643f37e8131fc091f254fd6c22dc348c310c5b280b35d +EBUILD gasnet-1.26.4-r1.ebuild 1831 SHA256 b11981f14eb50fc4fdb6361d05f03824403bb7899b288f519add92ff47ad86b5 SHA512 51a5f3e49102838e24d1c2233d45a926b15fcf361e9ec365d2f2fe08b63bf8c38019d090122443502dda9338b58ed54e563e2d1ff47cd4481cefcabad6528952 WHIRLPOOL 95448860a73c05bcf9bc17c7220f5cf85d1fd36797d577ca0e1d59b8aae02def8ce1f1157b0bba51293e00f95658844d1f97bbd6a1ca5c18daf1ca1d34c8e63d +EBUILD gasnet-1.26.4.ebuild 687 SHA256 14daa4dfd818cb32a9f478a33b48995328c658b242d582f6b066ac8820b5d4de SHA512 1724a3a0e5dd23192581d0faa595a0d2eeaa17c8ad945ad708906562d16ab188af18a5bec124be52571a64e3d4abd0f8dccd0d8997d93634dccd813bd5195727 WHIRLPOOL af84783af8f471c1ca2571562640d6786ac3067d2c4a95555d83ce72a25ffd03f6039380f0083914a7e7291fbf1e650cb1d86f071be722b415c91e21ca06f10c +EBUILD gasnet-1.28.0.ebuild 2487 SHA256 545b1681120df5f302483fa6aa41d656ac4995fdc4971850f82488af06a656e0 SHA512 823b553adfb0a5d55c2f687eba4c0f2abfc8b3fdf46f3af6025a361dd30dcb8cfcdaf06ff614a2549b5677f934a5f483d38ab17408a3ff186e2890837df27ce0 WHIRLPOOL 3534b56858bb2c65d5ba0f577b5d2b1a9c3720dadf454447c472fead96b40456257dc94e5f9b43e4d9acabdd650dcbeef280250eff54f629757347df64bdb6f7 +EBUILD gasnet-1.28.2.ebuild 2505 SHA256 1f549db1882a5f18ad75af8d5688aa911e62893991588a7485ba70c5c8e44150 SHA512 259ba3b1026794153ed72728b8f403aa3a848763526d35faeb4b2f771cc223ba074284cca171b2dfe422752337aedaec9c451d1dc1fc0c989e95ea369da395f3 WHIRLPOOL 48322c930646c102527ad81b38c9f1a1b07e1d332c1b37c0e62b727a8ceeadbde0f1bb34934c6f11977312cff9ec90e243d084bf6f35c5cc07446830e71e8a0c +EBUILD gasnet-1.30.0.ebuild 2505 SHA256 1f549db1882a5f18ad75af8d5688aa911e62893991588a7485ba70c5c8e44150 SHA512 259ba3b1026794153ed72728b8f403aa3a848763526d35faeb4b2f771cc223ba074284cca171b2dfe422752337aedaec9c451d1dc1fc0c989e95ea369da395f3 WHIRLPOOL 48322c930646c102527ad81b38c9f1a1b07e1d332c1b37c0e62b727a8ceeadbde0f1bb34934c6f11977312cff9ec90e243d084bf6f35c5cc07446830e71e8a0c +MISC ChangeLog 903 SHA256 64f3b83e225538f13dd97c702426b056c7801db595821360ccce7539ddbf359a SHA512 41e1e6d78b02169ed74c69f2d686a5e2dc96d9c96a0814af992eee5059b2132af693f42faabe8c3e280e3aa33b10cc87f5bc4b0ed9ad1774f1d1e723caaa2aa5 WHIRLPOOL 2e664cbbfa744d4c37b4b202e847de9a3600003cdc3f562c2fd0b741438cbb3ac019199e464240dba1ad424bc641971502d35ac20ba0462e611c1080c0652af3 +MISC metadata.xml 383 SHA256 76b7e7ef719fef2af093094c137177f0bbf06179fbbe1b7b6a8410e66a115c6f SHA512 036b39c9387179e4589ba7d893ea99d17b847bf409e6625a8fe9c798d4d548dd1d34c52b4dd9653f54d09c196873b7c04a3e3f653e5453800bdc3ad7f8087502 WHIRLPOOL 235ae79df8aee3e1e7585c8008c85ec87ab347ad8a8628e84e3dabaddba42ac8a994bcc2c3fb0117e70fbb29d8dd2fc2707b321080c6a1071c7b65863c68dde8 diff --git a/sys-cluster/gasnet/gasnet-1.26.4-r1.ebuild b/sys-cluster/gasnet/gasnet-1.26.4-r1.ebuild new file mode 100644 index 000000000000..c7f53bc60cd8 --- /dev/null +++ b/sys-cluster/gasnet/gasnet-1.26.4-r1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools toolchain-funcs multilib + +MY_P="${PN^^[gasn]}-${PV}" +DESCRIPTION="Networking middleware for partitioned global address space (PGAS) language" +HOMEPAGE="http://gasnet.lbl.gov/" +SRC_URI="http://gasnet.lbl.gov/${MY_P}.tar.gz" + +SOVER="${PV%%.*}" +LICENSE="BSD" +SLOT="0/${SOVER}" +KEYWORDS="~amd64" +IUSE="mpi static-libs threads" + +DEPEND="mpi? ( virtual/mpi )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +static_to_shared() { + local libstatic="${1}"; shift + local libname="${libstatic%.a}" + libname="${libname##*/}" + local soname="${libname}$(get_libname ${SOVER})" + local libdir="${libstatic%/*}" + + einfo "Making ${soname} from ${libstatic}" + if [[ ${CHOST} == *-darwin* ]] ; then + ${LINK:-$(tc-getCC)} ${LDFLAGS} \ + -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \ + -Wl,-all_load -Wl,${libstatic} \ + "$@" -o ${libdir}/${soname} || die "${soname} failed" + else + ${LINK:-$(tc-getCC)} ${LDFLAGS} \ + -shared -Wl,-soname=${soname} \ + -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \ + "$@" -o ${libdir}/${soname} || die "${soname} failed" + ln -s ${soname} ${libdir}/${libname}$(get_libname) + fi +} + +src_prepare() { + find . \ + \( -name Makefile.am -or -name "*.mak" \) \ + -exec sed -i '/^docdir/s/^/#/' {} + || die + default + eautoreconf +} + +src_configure() { + econf \ + $(use_enable mpi) \ + $(use_enable threads pthreads) \ + CC="$(tc-getCC) ${CFLAGS} -fPIC" \ + MPI_CC="mpicc ${CFLAGS} -fPIC" \ + CXX="$(tc-getCXX) ${CFLAGS} -fPIC" +} + +src_install() { + local l libs + default + for l in "${ED}/usr/$(get_libdir)"/*.a; do + libs= + [[ $l = *mpi* ]] && libs+=" -lmpi" + static_to_shared "${l}" ${libs} + done + use static-libs || rm -f "${ED}/usr/$(get_libdir)"/*.a || die +} diff --git a/sys-cluster/gasnet/gasnet-1.26.4.ebuild b/sys-cluster/gasnet/gasnet-1.26.4.ebuild new file mode 100644 index 000000000000..67055d3a67af --- /dev/null +++ b/sys-cluster/gasnet/gasnet-1.26.4.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools + +MY_P="${PN^^[gasn]}-${PV}" +DESCRIPTION="Networking middleware for partitioned global address space (PGAS) language" +HOMEPAGE="http://gasnet.lbl.gov/" +SRC_URI="http://gasnet.lbl.gov/${MY_P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="mpi threads" + +DEPEND="mpi? ( virtual/mpi )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + find . \ + \( -name Makefile.am -or -name "*.mak" \) \ + -exec sed -i '/^docdir/s/^/#/' {} + || die + default + eautoreconf +} + +src_configure() { + econf $(use_enable mpi) $(use_enable threads pthreads) +} diff --git a/sys-cluster/gasnet/gasnet-1.28.0.ebuild b/sys-cluster/gasnet/gasnet-1.28.0.ebuild new file mode 100644 index 000000000000..9a32e2c0b5c5 --- /dev/null +++ b/sys-cluster/gasnet/gasnet-1.28.0.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools toolchain-funcs multilib + +MY_P="${PN^^[gasn]}-${PV}" +DESCRIPTION="Networking middleware for partitioned global address space (PGAS) language" +HOMEPAGE="http://gasnet.lbl.gov/" +SRC_URI="http://gasnet.lbl.gov/${MY_P}.tar.gz" + +SOVER="${PV%%.*}" +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm" +IUSE="mpi test threads" + +DEPEND="mpi? ( virtual/mpi )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +static_to_shared() { + local libstatic="${1}"; shift + local libname="${libstatic%.a}" + libname="${libname##*/}" + local soname="${libname}$(get_libname ${SOVER})" + local libdir="${libstatic%/*}" + + einfo "Making ${soname} from ${libstatic} with libs ${@}" + if [[ ${CHOST} == *-darwin* ]] ; then + ${LINK:-$(tc-getCXX)} ${LDFLAGS} \ + -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \ + -Wl,-all_load -Wl,${libstatic} \ + "$@" -o ${libdir}/${soname} || die "${soname} failed" + else + ${LINK:-$(tc-getCXX)} ${LDFLAGS} \ + -shared -Wl,-soname=${soname} \ + -Wl,-z,defs \ + -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \ + "$@" -o ${libdir}/${soname} || die "${soname} failed" + ln -s ${soname} ${libdir}/${libname}$(get_libname) + fi +} + +src_prepare() { + find . \ + \( -name Makefile.am -or -name "*.mak" \) \ + -exec sed -i '/^docdir/s/^/#/' {} + || die + default + eautoreconf +} + +src_configure() { + econf \ + $(use_enable mpi) \ + $(use_enable threads pthreads) \ + CC="$(tc-getCC) ${CFLAGS} -fPIC" \ + MPI_CC="mpicc ${CFLAGS} -fPIC" \ + CXX="$(tc-getCXX) ${CXXFLAGS} -fPIC" +} + +src_compile() { + emake MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC" +} + +src_test() { + emake check MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC" +} + +src_install() { + local l libs + default + for l in "${ED}/usr/$(get_libdir)"/lib{gasnet_tools-seq,am*,*}.a; do + [[ -f ${l} ]] || continue + libs= + [[ ${l} = */libgasnet-*-par* ]] && libs+=" -lpthread" + [[ ${l} = */libamudp.a ]] && libs+=" -L${ED}/usr/$(get_libdir) -lgasnet_tools-seq" + [[ ${l} = */libammpi.a ]] && libs+=" -lmpi" + [[ ${l} = */libgasnet-udp-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lamudp" + [[ ${l} = */libgasnet-mpi-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lammpi" + [[ ${l} = */libgasnet-*-* ]] && libs+=" -lrt" + static_to_shared "${l}" ${libs} + rm ${l} || die + done +} diff --git a/sys-cluster/gasnet/gasnet-1.28.2.ebuild b/sys-cluster/gasnet/gasnet-1.28.2.ebuild new file mode 100644 index 000000000000..52282995fdde --- /dev/null +++ b/sys-cluster/gasnet/gasnet-1.28.2.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools toolchain-funcs multilib + +MY_P="${PN^^[gasn]}-${PV}" +DESCRIPTION="Networking middleware for partitioned global address space (PGAS) language" +HOMEPAGE="http://gasnet.lbl.gov/" +SRC_URI="http://gasnet.lbl.gov/${MY_P}.tar.gz" + +SOVER="${PV%%.*}" +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm" +IUSE="mpi test threads" + +DEPEND="mpi? ( virtual/mpi )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +static_to_shared() { + local libstatic="${1}"; shift + local libname="${libstatic%.a}" + libname="${libname##*/}" + local soname="${libname}$(get_libname ${SOVER})" + local libdir="${libstatic%/*}" + + einfo "Making ${soname} from ${libstatic} with libs ${@}" + if [[ ${CHOST} == *-darwin* ]] ; then + ${LINK:-$(tc-getCXX)} ${LDFLAGS} \ + -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \ + -Wl,-all_load -Wl,${libstatic} \ + "$@" -o ${libdir}/${soname} || die "${soname} failed" + else + ${LINK:-$(tc-getCXX)} ${LDFLAGS} \ + -shared -Wl,-soname=${soname} \ + -Wl,-z,defs \ + -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \ + "$@" -o ${libdir}/${soname} || die "${soname} failed" + ln -s ${soname} ${libdir}/${libname}$(get_libname) + fi +} + +src_prepare() { + find . \ + \( -name Makefile.am -or -name "*.mak" \) \ + -exec sed -i '/^docdir/s/^/#/' {} + || die + default + eautoreconf +} + +src_configure() { + econf \ + --disable-ibv \ + $(use_enable mpi) \ + $(use_enable threads pthreads) \ + CC="$(tc-getCC) ${CFLAGS} -fPIC" \ + MPI_CC="mpicc ${CFLAGS} -fPIC" \ + CXX="$(tc-getCXX) ${CXXFLAGS} -fPIC" +} + +src_compile() { + emake MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC" +} + +src_test() { + emake check MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC" +} + +src_install() { + local l libs + default + for l in "${ED}/usr/$(get_libdir)"/lib{gasnet_tools-seq,am*,*}.a; do + [[ -f ${l} ]] || continue + libs= + [[ ${l} = */libgasnet-*-par* ]] && libs+=" -lpthread" + [[ ${l} = */libamudp.a ]] && libs+=" -L${ED}/usr/$(get_libdir) -lgasnet_tools-seq" + [[ ${l} = */libammpi.a ]] && libs+=" -lmpi" + [[ ${l} = */libgasnet-udp-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lamudp" + [[ ${l} = */libgasnet-mpi-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lammpi" + [[ ${l} = */libgasnet-*-* ]] && libs+=" -lrt" + static_to_shared "${l}" ${libs} + rm ${l} || die + done +} diff --git a/sys-cluster/gasnet/gasnet-1.30.0.ebuild b/sys-cluster/gasnet/gasnet-1.30.0.ebuild new file mode 100644 index 000000000000..52282995fdde --- /dev/null +++ b/sys-cluster/gasnet/gasnet-1.30.0.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools toolchain-funcs multilib + +MY_P="${PN^^[gasn]}-${PV}" +DESCRIPTION="Networking middleware for partitioned global address space (PGAS) language" +HOMEPAGE="http://gasnet.lbl.gov/" +SRC_URI="http://gasnet.lbl.gov/${MY_P}.tar.gz" + +SOVER="${PV%%.*}" +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm" +IUSE="mpi test threads" + +DEPEND="mpi? ( virtual/mpi )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +static_to_shared() { + local libstatic="${1}"; shift + local libname="${libstatic%.a}" + libname="${libname##*/}" + local soname="${libname}$(get_libname ${SOVER})" + local libdir="${libstatic%/*}" + + einfo "Making ${soname} from ${libstatic} with libs ${@}" + if [[ ${CHOST} == *-darwin* ]] ; then + ${LINK:-$(tc-getCXX)} ${LDFLAGS} \ + -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \ + -Wl,-all_load -Wl,${libstatic} \ + "$@" -o ${libdir}/${soname} || die "${soname} failed" + else + ${LINK:-$(tc-getCXX)} ${LDFLAGS} \ + -shared -Wl,-soname=${soname} \ + -Wl,-z,defs \ + -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \ + "$@" -o ${libdir}/${soname} || die "${soname} failed" + ln -s ${soname} ${libdir}/${libname}$(get_libname) + fi +} + +src_prepare() { + find . \ + \( -name Makefile.am -or -name "*.mak" \) \ + -exec sed -i '/^docdir/s/^/#/' {} + || die + default + eautoreconf +} + +src_configure() { + econf \ + --disable-ibv \ + $(use_enable mpi) \ + $(use_enable threads pthreads) \ + CC="$(tc-getCC) ${CFLAGS} -fPIC" \ + MPI_CC="mpicc ${CFLAGS} -fPIC" \ + CXX="$(tc-getCXX) ${CXXFLAGS} -fPIC" +} + +src_compile() { + emake MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC" +} + +src_test() { + emake check MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC" +} + +src_install() { + local l libs + default + for l in "${ED}/usr/$(get_libdir)"/lib{gasnet_tools-seq,am*,*}.a; do + [[ -f ${l} ]] || continue + libs= + [[ ${l} = */libgasnet-*-par* ]] && libs+=" -lpthread" + [[ ${l} = */libamudp.a ]] && libs+=" -L${ED}/usr/$(get_libdir) -lgasnet_tools-seq" + [[ ${l} = */libammpi.a ]] && libs+=" -lmpi" + [[ ${l} = */libgasnet-udp-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lamudp" + [[ ${l} = */libgasnet-mpi-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lammpi" + [[ ${l} = */libgasnet-*-* ]] && libs+=" -lrt" + static_to_shared "${l}" ${libs} + rm ${l} || die + done +} diff --git a/sys-cluster/gasnet/metadata.xml b/sys-cluster/gasnet/metadata.xml new file mode 100644 index 000000000000..2b198241ed97 --- /dev/null +++ b/sys-cluster/gasnet/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>junghans@gentoo.org</email> + <name>Christoph Junghans</name> + </maintainer> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/gearmand/Manifest b/sys-cluster/gearmand/Manifest new file mode 100644 index 000000000000..8e600a273d50 --- /dev/null +++ b/sys-cluster/gearmand/Manifest @@ -0,0 +1,8 @@ +AUX gearmand-0.34-stdbool-h.patch 568 SHA256 2122d7b8cedf64af25102217453e747cd15d479d50f3a01375cb89caaec7fa23 SHA512 bff5ae044cbf7bd08911ff29699a6f6065320c888f3f3f27ffc655dbbb283914c7aaa6474902f3644940a9698921d60622e4eeada653183c6fa90bb08e423930 WHIRLPOOL fb2fd2704eb797d5f1cc3ae823cd0546183f846e39e19a1051c11f47bc06ee244dea963bb56086d50db9ac065b923cf51e04d30dcbc649aa108fade6b4716501 +AUX gearmand.conf.d 1542 SHA256 a99bd1672091da3d4c2776225dacc497a5a9fb36ff8b34a464cd984cf584a29e SHA512 850cf6bd13475d30879bd49c9650e1f01e52c1bd8ed580d6dda09c83f74e424a17c04e9d8203c2b3555a69cf5cf3f00ede3fbcc7d005f90844e4494041c9168f WHIRLPOOL 1a07ee704aa646cfbeeb0cd590e494c86090077668288e0c217ddc6e21041987db498607f682b1de44a638f7e80201c95f318aaaf44b0704580b8b9fe6b45f87 +AUX gearmand.init.d.2 3206 SHA256 339352e70ef502c88024849396f0475314c276ef6bf1393e02e847f685f10fc3 SHA512 33d2208e668d060948715faa193b021603679ef6e870a80fbd666256a1d2a49ad709bf7efd94bd00fc8b96373feb34ea12c1212ac42b0d2f99fbbe369fa34175 WHIRLPOOL 8fa84e4ef802f8e9de81170eaacf5aaab0e8ca84118883f5e67237aef1ad815bb94ceed179562f02bf67a2ca6d931611624aa4856a34196b9ebe4edda1a39827 +DIST gearmand-0.34.tar.gz 842579 SHA256 968d701233f2376060274a69fa7c1b8e99f34b454a401805a2bd62067c13bca1 SHA512 8263cd19337f56cb692209efb4867b54954081a907c109b4828c1a7dfd8e1dec803f9c06e0f09e1ec6cc4271299bf77bcd5069b765647b31559480b4e7e756ba WHIRLPOOL 19e3c8b6e5f5c4edb15413901fb9c250a3d85a4ad0f9a13a7e3165732733c6e8e1072be593ba0820cd34e837e83638464b079dd9c840ffb336d67aee13a6bd86 +EBUILD gearmand-0.34-r1.ebuild 2604 SHA256 429bd02fd13307ba70f89072ff8d396ce541d216c7e849a6fa0938b98af65f7f SHA512 02ddf427124ca3ee407854c10e53555c0ad5347f5eb12a8f0d66e4da96028e387972d07e8aaa2b27499d8f29ec492186032e08f96193c55beb3b5bc3afa47d14 WHIRLPOOL 394cf2e22af3bd1798322288cc51cca5bb8c808ea457cabae5e5a3212232fe74994b96d5a2c6fee8c130c304ba1ebc00856340b434ba35423e5bf416691d92a1 +MISC ChangeLog 3367 SHA256 b48873f9d77c5dd09f6b5b4a2e0ec680b5b3426d00c471e3fdd433698c21d859 SHA512 6658519e1c16cf6526599e04938ac285abf5d62a562d45c49f600ea49abf9e457c493df02f7d0bdc19139c85df2d9e660dc8df9c0bf8e5408074f04b09011c69 WHIRLPOOL 61665bab745f8866c2037143d14927ad174ae0d9c7f53c46557306f2b04bbddc31bad11db7cc6165877207d35615e32971d5a8570b50f34c7f5629e1974e48eb +MISC ChangeLog-2015 4641 SHA256 9694e863de408970bef7561099c4ab2b11c3b04bad9b56dba25409f90f2eb606 SHA512 5c55b6cacad1db3879a857c0409b493f0d335d150ba333de69510038084a3b195ea6c36da3e594e9b93ed7ef0d05116e17601f3a611d71f76f0bbda0cd1b1293 WHIRLPOOL 2fd708c5797491ed1ace35f5bca86777e409710c092d14b23ddef76544a20b243e8b362bf7205933b51462cd49da788340ce7d8c574041c0554e6ac9b5f5df46 +MISC metadata.xml 513 SHA256 d7ede013c4b13941d7f92eab71b253b77846ca922a8431704b7ba2d9b5498932 SHA512 ed6ea7bdac5ed5e46e2f620881681807d9096299a0fe702abe11093cbddb70e3660b29a5bac30b003dcf4003ad455d431ba4e88eb7d5e939273a8049d74705e6 WHIRLPOOL 4dc854f6f6b9277771510bcd8300083fde7821c4f789c8283e6c88e6fc8b2ce54dbf544a11d032521b2135445f2977920b512fd958a4ffd3b468c5edaaccf9e5 diff --git a/sys-cluster/gearmand/files/gearmand-0.34-stdbool-h.patch b/sys-cluster/gearmand/files/gearmand-0.34-stdbool-h.patch new file mode 100644 index 000000000000..37d2db62741d --- /dev/null +++ b/sys-cluster/gearmand/files/gearmand-0.34-stdbool-h.patch @@ -0,0 +1,26 @@ +Ignore configure checks and include stdbool.h +unconditionally, we're in 2016. + +--- gearmand-0.34/libhostile/called.c ++++ gearmand-0.34/libhostile/called.c +@@ -41,6 +41,7 @@ + #include <assert.h> + #include <stdio.h> + #include <stdlib.h> ++#include <stdbool.h> + + __thread bool is_called_= false; + static __thread char** unique_ptr= NULL; +--- gearmand-0.34/libhostile/called.h ++++ gearmand-0.34/libhostile/called.h +@@ -36,9 +36,7 @@ + + #pragma once + +-#ifdef HAVE_STDBOOL_H +-# include <stdbool.h> +-#endif ++#include <stdbool.h> + + bool is_called(void); + void set_called(); diff --git a/sys-cluster/gearmand/files/gearmand.conf.d b/sys-cluster/gearmand/files/gearmand.conf.d new file mode 100644 index 000000000000..aeb49d5c6b9e --- /dev/null +++ b/sys-cluster/gearmand/files/gearmand.conf.d @@ -0,0 +1,39 @@ +# /etc/conf.d/gearmand: config file for /etc/init.d/gearmand + +# Persistent queue store +# The following queue stores are available: +# drizzle|memcache|mysql|postgre|sqlite|tokyocabinet|none +# If you do not wish to use persistent queues, leave this option commented out. +# Note that persistent queue mechanisms are mutally exclusive. +#PERSISTENT="" + +# Persistent queue settings for drizzle, mysql and postgre +#PERSISTENT_SOCKET="" +#PERSISTENT_HOST="" +#PERSISTENT_PORT="" +#PERSISTENT_USER="" +#PERSISTENT_PASS="" +#PERSISTENT_DB="" +#PERSISTENT_TABLE="" + +# Persistent queue settings for sqlite +#PERSISTENT_FILE="" + +# Persistent queue settings for memcache +#PERSISTENT_SERVERLIST="" + +# General settings +# +# -j, --job-retries=RETRIES Number of attempts to run the job before the job +# server removes it. Thisis helpful to ensure a bad +# job does not crash all available workers. Default +# is no limit. +# -L, --listen=ADDRESS Address the server should listen on. Default is +# INADDR_ANY. +# -p, --port=PORT Port the server should listen on. Default=4730. +# -r, --protocol=PROTOCOL Load protocol module. +# -t, --threads=THREADS Number of I/O threads to use. Default=0. +# -v, --verbose Increase verbosity level by one. +# -w, --worker-wakeup=WORKERS Number of workers to wakeup for each job received. +# The default is to wakeup all available workers. +GEARMAND_PARAMS="" diff --git a/sys-cluster/gearmand/files/gearmand.init.d.2 b/sys-cluster/gearmand/files/gearmand.init.d.2 new file mode 100644 index 000000000000..48d19bd1dc8b --- /dev/null +++ b/sys-cluster/gearmand/files/gearmand.init.d.2 @@ -0,0 +1,78 @@ +#!/sbin/openrc-run +# Copyright 2009-2012 Pavel Stratil, senbonzakura.eu +# Distributed under the terms of the MIT license + +pidfile=/var/run/gearmand/gearmand.pid +command=/usr/sbin/gearmand + +depend() { + use localmount + + case $PERSISTENT in + drizzle) + use drizzle + ;; + memcache) + use memcache + ;; + mysql) + use mysql + ;; + postgre) + use postgresql + ;; + *) + ;; + esac +} + +start() { + case ${PERSISTENT:-none} in + drizzle|mysql) + GEARMAND_PARAMS="${GEARMAND_PARAMS} -q libdrizzle" + [ ${PERSISTENT_HOST} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-host=${PERSISTENT_HOST}" + [ ${PERSISTENT_USER} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-user=${PERSISTENT_USER}" + [ ${PERSISTENT_PASS} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-password=${PERSISTENT_PASS}" + [ ${PERSISTENT_DB} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-db=${PERSISTENT_DB}" + [ ${PERSISTENT_TABLE} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-table=${PERSISTENT_TABLE}" + [ ${PERSISTENT_PORT} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-port=${PERSISTENT_PORT}" + [ ${PERSISTENT_SOCKET} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-uds=${PERSISTENT_SOCKET}" + [ ${PERSISTENT} == "mysql" ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-mysql" + ;; + memcache) + [ ${PERSISTENT_SERVERLIST} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} -q libmemcached --libmemcached-servers=${PERSISTENT_SERVERLIST}" + ;; + postgre) + GEARMAND_PARAMS="${GEARMAND_PARAMS} -q libpq" + [ ${PERSISTENT_HOST} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libpq-host=${PERSISTENT_HOST}" + [ ${PERSISTENT_USER} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libpq-user=${PERSISTENT_USER}" + [ ${PERSISTENT_PASS} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libpq-password=${PERSISTENT_PASS}" + [ ${PERSISTENT_DB} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libpq-dbname=${PERSISTENT_DB}" + [ ${PERSISTENT_PORT} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libpq-port=${PERSISTENT_PORT}" + [ ${PERSISTENT_TABLE} ] && ewarn "Libpq doesn't recognise 'table' parameter." + [ ${PERSISTENT_SOCKET} ] && ewarn "Libpq doesn't recognise 'socket' parameter. If no host is set, it automatically falls back to a socket." + ;; + tokyocabinet) + GEARMAND_PARAMS="${GEARMAND_PARAMS} -q libtokyocabinet --libtokyocabinet-file=${PERSISTENT_FILE}" + ;; + sqlite) + GEARMAND_PARAMS="${GEARMAND_PARAMS} -q libsqlite3 --libsqlite3-db=${PERSISTENT_FILE}" + ;; + none) + ;; + *) + eerror "Wrong persistent queue store setting in /etc/conf.d/gearmand." + return 1 + ;; + esac + + + checkpath -d -m 0755 -o gearmand:nogroup /var/run/gearmand /var/log/gearmand + + ebegin "Starting ${SVCNAME}" + start-stop-daemon --pidfile /var/run/gearmand/gearmand.pid --start \ + --exec /usr/sbin/gearmand -- --pid-file=/var/run/gearmand/gearmand.pid \ + --user=gearmand --daemon \ + --log-file=/var/log/gearmand/gearmand.log ${GEARMAND_PARAMS} + eend $? +} diff --git a/sys-cluster/gearmand/gearmand-0.34-r1.ebuild b/sys-cluster/gearmand/gearmand-0.34-r1.ebuild new file mode 100644 index 000000000000..846d47261961 --- /dev/null +++ b/sys-cluster/gearmand/gearmand-0.34-r1.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils eutils flag-o-matic libtool user + +DESCRIPTION="Generic framework to farm out work to other machines" +HOMEPAGE="http://www.gearman.org/" +SRC_URI="https://launchpad.net/gearmand/trunk/${PV}/+download/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug tcmalloc +memcache sqlite tokyocabinet postgres" + +RDEPEND="dev-libs/libevent + >=dev-libs/boost-1.39:=[threads(+)] + || ( >=sys-apps/util-linux-2.16 <sys-libs/e2fsprogs-libs-1.41.8 ) + tcmalloc? ( dev-util/google-perftools ) + memcache? ( >=dev-libs/libmemcached-0.47 ) + sqlite? ( dev-db/sqlite:3 ) + tokyocabinet? ( dev-db/tokyocabinet ) + postgres? ( >=dev-db/postgresql-9.0:* )" +DEPEND="${RDEPEND} + virtual/pkgconfig + >=sys-devel/boost-m4-0.4_p20160328" + +pkg_setup() { + enewuser gearmand -1 -1 /dev/null nogroup +} + +src_prepare() { + # fixes bug 574558, which is due to an outdated bundled boost.m4 + rm m4/boost.m4 || die + sed -i -e 's/AM_INIT_AUTOMAKE.*//g' m4/pandora_canonical.m4 || die + epatch -p1 "${FILESDIR}/${P}-stdbool-h.patch" + autotools-utils_src_prepare +} + +src_configure() { + local myeconfargs=( + $(use_enable memcache libmemcached) + $(use_enable tcmalloc) + $(use_enable tokyocabinet libtokyocabinet) + $(use_with postgres postgresql) + $(use_with sqlite sqlite3) + --disable-mtmalloc + --disable-static + ) + + # Don't ever use --enable-assert since configure.ac is broken, and + # only does --disable-assert correctly. + if use debug; then + # Since --with-debug would turn off optimisations as well as + # enabling debug, we just enable debug through the + # preprocessor then. + append-cppflags -DDEBUG + fi + + # Explicitly enable c++11 mode + append-cxxflags -std=c++11 + + autotools-utils_src_configure +} + +src_test() { + # Since libtool is stupid and doesn't discard /usr/lib64 from the + # load path, we'd end up testing against the installed copy of + # gearmand (bad). + # + # We thus cheat and "fix" the scripts by hand. + sed -i -e '/LD_LIBRARY_PATH=/s|/usr/lib64:||' "${BUILD_DIR}"/tests/*_test \ + || die "test fixing failed" + + autotools-utils_src_test +} + +DOCS=( README AUTHORS ChangeLog ) + +src_install() { + autotools-utils_src_install + + newinitd "${FILESDIR}"/gearmand.init.d.2 gearmand + newconfd "${FILESDIR}"/gearmand.conf.d gearmand +} + +pkg_postinst() { + elog "" + elog "Unless you set the PERSISTENT_TABLE option in" + elog "/etc/conf.d/gearmand, Gearmand will use table 'queue'." + elog "If such table doesn't exist, Gearmand will create it for you" + elog "" +} diff --git a/sys-cluster/gearmand/metadata.xml b/sys-cluster/gearmand/metadata.xml new file mode 100644 index 000000000000..d08fb72aef86 --- /dev/null +++ b/sys-cluster/gearmand/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<!-- maintainer-needed --> + <use> + <flag name="memcache"> + Support memcache daemon (via <pkg>dev-libs/libmemcached</pkg>) + for the queue storage. + </flag> + <flag name="tokyocabinet"> + Support <pkg>dev-db/tokyocabinet</pkg> for the queue storage. + </flag> + </use> + <upstream> + <remote-id type="launchpad">gearmand</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/glusterfs/Manifest b/sys-cluster/glusterfs/Manifest new file mode 100644 index 000000000000..5c6f69086103 --- /dev/null +++ b/sys-cluster/glusterfs/Manifest @@ -0,0 +1,22 @@ +AUX 50glusterfs-mode-gentoo.el 169 SHA256 2467d044665d16dd95f78f7a7a104099ce00849cd0a2a86b110fe4c91b316a9d SHA512 f90b3f49f53c08db5596a6795df64a834b390602a79fb79b56f6cfb6191c7ca8ce2bedd2885d049575e26cc3b321f80e2786e99055c02682f4fbf454d5ed5804 WHIRLPOOL fb4abfc0c07ddc8805430446bd901b95a9951f53711da647e87ea8c26bece8ed9c7bb17b33cfa9b114ba2a64a055f275202d520cf37ee0c178d005d07ff80173 +AUX glusterd-r2.initd 749 SHA256 d060ffbc9c2233d786a0b0dc224518ef3de15a8c69b2b3bf8c7449a18eb366e3 SHA512 90b2ab62bd69f0a6f4ef9596ea4b287524650821251ff9cf6fe43f7f362e359c43615fd5ba68d4b5589af1a3e712a91cab69bb95b363b4e20efdf9e02a5e1e6a WHIRLPOOL ec91d20794d04ec04288742329315e7d16b3fd775f20002fb321e29d8c6d05c50f37664752b4b8a016b2f29587bc2ecdf2b326370849784d2c479278621b3fe9 +AUX glusterfs-3.4.0-silent_rules.patch 553 SHA256 08a55b2f54050ad47dae1a953fc1f1410842556bf2464ab15e7df9019ab24de5 SHA512 67fe230a667084f30960d4ed79f58c7da93edde086ca8614cb3f7160901cb87da471cce932cfae470033c5dfc92b00ed69fd0e32238bc0e9af770e1946f511ce WHIRLPOOL e596ee4c6fae6cb7f843501b55e832791d612547f81d5e6adf4e96ea8cc4fc20fd71d5164f7fe42a74ed0b8e7036643cd5b684317f98bfd610b91dbe4c4c3684 +AUX glusterfs-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch 2145 SHA256 10b0ad92f61996f7ca0e0bf12b383813c4cd2013d95d8b6e1ab53a18853a9e05 SHA512 22d4ead173579698a23b7d66e566e61410e5bc0178b1dc0b7346b18d7e8cf33a44873b83a09e6dab32b06e7df8285da4bb7eb730626c61c1b3d28e9e8ce86f00 WHIRLPOOL e8e5572a5861478c718cd0b89c74159e3b13f6ef204eb3e3b2d8af8ddd296bc71469648ae957f0dd4e18de187e6fcd3e1910ea9ec5a707b78f61af8c88c9bb9b +AUX glusterfs-3.6.5-build-shared-only.patch 27261 SHA256 b2d73ffb27f07bf762e8f67bdbbbdd3a7eef62049ec346a2ab84a9171e55c053 SHA512 cbaa02845022cb32aab1e419d13f8291b59aa6de78ccdd944af52d05defcd4ae9bb891c0f303f7d4870056e0777d70507b137aa9e38a4a13a267925a3cbc0277 WHIRLPOOL ab0b75e36a0f3011618e87dc9490471c9a759cd65985074a3046be5bb3609830018ca50d82de4db8b783424c46768d4b2fe0c906271cb5e2a01fec264b0f26e1 +AUX glusterfs-r1.initd 3065 SHA256 27f83981f096bad8ac3d345d8c71249e2bf84b3757d6cdb63c9a690933aa9218 SHA512 28c5f401b2ff017d8faf7b290fa265cc5f1a9d60edf11dbae5801e943e7e0833fa8267880efa80c4fc07048d75afd446808c583d2b62a6c5a6bde25d317bde97 WHIRLPOOL 585fe5a24a32b553c6d38fab92a6cdfd42cdee7aad039314fdb9d4d5cbca36583b2a4025c85bb2c64b84c713f129dc051bba37a37153af59f0740e7a73bc13a1 +AUX glusterfs.confd 129 SHA256 a9023ba1112ceb4597c654228f0beb0053ed695aeb32c65e0749a7157fab563d SHA512 657c478dd3a60c144543821acd6a87f804d258d4679007aad5108790449e43eda7e0de8e8c0c8e13357a35afbb0d09065423101e5234285a9b96c9ac8b2e33b4 WHIRLPOOL 114f076456845087bf4dc28fb179cfea335f5f03b1d16098d836b5b0487c46fba4ee48d0bfab8cff7b2326b9585b327271d5c1d402db8289cafdf29f70ac063d +AUX glusterfs.logrotate 611 SHA256 ec29f5830f6108fca793d6ac90bb49e644a991a073a736ccb76fd05f9a9f60a2 SHA512 568728fe77acecb686286b0be6c086fe3448d054d26da15c3846726a8f845ae963e6756c517b413a9eb4d6b646c61972887a35e89846d2d90d364b755e471791 WHIRLPOOL 10ced84d8035e3e7e5aaa013cd7c0c9761999e8ddca41ff2df3ed2be7a78add579d5c2b17a27b86d9a6fafdb607b9d175725208af72585d9fdc66b3bdb5fed3d +AUX glusterfs.vim 139 SHA256 f214c1c8a01c9184b535fa7ae307200a8a1dc83fd42e92bdd57a7b1cae1dc099 SHA512 6ea3b56b71d7e206a57611dd68160b6b9242a19b5c927560f60881dc28d250f7958c50f788a7b9a41fb46010fdac2d67a8289b909ed1f05b793c900f37ccbfb7 WHIRLPOOL 3006d9fea924fe274ac00dc5d711cfe642f347808889c3d5dbde764f0f0cd2ab27509fa75d37b95ccd98c33bc1db8d082e5d16a26e0f888b7189f9738b6ff963 +DIST glusterfs-3.10.1.tar.gz 8926368 SHA256 d3c23df3299964efe6b688c94ddde258506ecf173b58e8c07fa18d470bb21517 SHA512 35acf10d37db7ca9cf7d88e4eabcac4febdccfe15cbe68df86c44042987547f3a56447a1ced5ed238d171efdbcb97dd1fc6917283641bdcd7d476deb37ad0871 WHIRLPOOL 7ce3b5cbe136b1d09b4c0c062decf0d9c5bba03f9b7249648e886ceff758061e73863c9f6d82ed2de3fc41546950ee08c022683174283dc03201c12d61d295aa +DIST glusterfs-3.6.5.tar.gz 6091408 SHA256 20d912ef35fb8350c50c39c15134a3558ee90d012203f049799c8eb67a61fd2a SHA512 7ca41855239818fc4c84cdb86e1f1d39502e781d5117a5ee50ea134f03f0823a8640ee9bda28f05463e8504aba9ddb12ac72e118f0ce7c3755c083033f5677ca WHIRLPOOL 9fc0592052d976d65fcc769c69d910fa6d909695162bccf80c1e799a2c54c531ab03a4afd3788951c231a214a22e5f8bb3613a83277858627425b86fd532ab5e +DIST glusterfs-3.7.4.tar.gz 7552110 SHA256 f98f448117d1de7666ae425eddd8d7d87b02c57f6627234ce96ba60566f47173 SHA512 f9a281f3a37835f9f54679740ddb19b307babe576a8f14c9ef24d256f483789c227d7e7c5b0ed4ef5c13a257bcf00d0c17b6108fa60c5e45d0175df6e236b3a5 WHIRLPOOL 7b0320936de078234228cb691f3e381da3cc89c638d6246aba63695aa36cb114afca6e53d12d23de441b8da0b3a594ac1702b450d5d14720254af73e689c4ab8 +DIST glusterfs-3.8.11.tar.gz 8544971 SHA256 2285c02f9449168eabeaa7b72706e80f3de659eb685293dd899c71c33798702e SHA512 61cadc567a73403c78eac5e472aadd1457053be936042ea1218c172760376b026152e84b4ca15a0c249524347d434cc7d35c3a73f4d0b01e89c6aec5edcbbb49 WHIRLPOOL 21d4c2da1d281cb03181c21385a62d74c71f24936d2c33da22085accb5fa563b7095757b7df3eb30bf865c37fe683c420756c542d6933c99c0d3f9025c07a217 +DIST glusterfs-3.8.6.tar.gz 8456856 SHA256 5c62c0b66cde74427eacc49cdbda7c84cc8289b38bcda80107adedd24b355715 SHA512 115d65183682587b4e8dd0c3d52f4a43eabbd6968441b7f09db006748890155f6748ceddf7ce80a7481207df7cb2dca6339b77cc7b8bccfc7fe00084ac00b223 WHIRLPOOL 7321468daf15a4ebad158d32328dfe64590cbf0ddcdda4d855a7b8a9849b29fed1c1af58475f8c1ef140f244fc15db57c00170eb477c27854408598bc0a7f6b8 +EBUILD glusterfs-3.10.1.ebuild 6400 SHA256 95dbe210c2c0ca19efab0b50a629a51046136d8c76d14ba4de677c2f7220e7a7 SHA512 da1b1913fb38f583e24f38a09b8c78189a529b75f9a52eaec73c7a8e40f95e50b75b238da84afe0875518968c5d3015bd786026de5485206af79aef6499d5862 WHIRLPOOL a8335aff33c6747232d7af164e6e21f9855007669106a9f08af1b643fa1373d6889b3d336c2eaf6952402cf97432c868cdff84af4befcf3a89e28d879eb272db +EBUILD glusterfs-3.6.5.ebuild 5609 SHA256 bfd7872898f9e82244a0d8e0138c790a860efb5d42591ca9619760d9e752d81c SHA512 89629b74afb06c7409375a8c342873840436f6eaccbc4a29800b264090dd31f1dcfa391d77d655a6ecc73ce906a6d7b253e6a9065697ab920ac5e75ea64a1b45 WHIRLPOOL 6a416115a63db0dd41d3b7b442cacf91bdbc8cebd467c49236afb4467aeb42c49bcdd3acdac17804816b88f80c7c4a4b7e2d3c90dd7daa0ebfe63ddb04d01e4e +EBUILD glusterfs-3.7.4.ebuild 6268 SHA256 2071435b4071e7ce43e814a1d97beedbec5508ec4afabfd1c4f29d92b549859c SHA512 3dbcb7f16578ef39bc4e98dd7a29288017710ffc292885c46e5fa79193084f990965234f325f250e4577d1188ca2aaf24cdb92607a2ff0bb2fab768958452ec3 WHIRLPOOL 9b419c65f5a8cf7a632e95910fa31deaa5dcd4ffebc473e9053b8d04c55be30f6e7466889eeee15a3229acd73b1f3f9e571856e1cbf5143f2b2adca80d3a60d1 +EBUILD glusterfs-3.8.11.ebuild 6364 SHA256 7bdcfc483a1c112ea8a14c28704a29aafff20e5a5f854d738c60587c35c1ac2d SHA512 ddc4360288b35815688e87c4efc4e818cde0dede9bee87f7b816ed3e9ec2db524d86224488ece231e7fc2055cb75baf6b78c538648460c575c3cab27a84241f6 WHIRLPOOL ce429a4a2c269a138a5e6836bdad5b436a627b122667166b4ec0b647f81b7ef9bea3ff290a079196415a0ae41f99108a00d147b9c422f71effb5ee3b5dbf3e60 +EBUILD glusterfs-3.8.6.ebuild 6364 SHA256 13fb1a0b68e3e9ec2bf21db45507c85429218eb5efe40a959c8004a5539225fe SHA512 81c0138c8f57c2dd7847ec4fdb656d5f914326247311238a0c074f9b4971da51f879aa48232347a4fe4166400b5a1f0278835768121f41f962617ecae701e28d WHIRLPOOL c735f23fe4ec09d05216131d4bb9c3e706c43b99c704f6da07385fe462bad87e57d2d5adf0dc5309ddd6a20aa9345a4bb09edf21739caf1d19d40a03007e4787 +MISC ChangeLog 6150 SHA256 fcbcb51a9d04ebc618a65318ec6daa35b75c23a08877c29f3c5871bbe6794d97 SHA512 e34470d15f9ce97065930bc1f66699a109dc19596e8c5a2d385b0d147d7bd72c1280c671acfd77323c2362038f86308fbf1666d5813192d68eab329383f94bad WHIRLPOOL 23a79d7a985877c682b768a8d27be2648539a45b9d6dacbd247a3b30fdf2ed612271125975fa3c12c03fe1214ae1c4db7632f5717f4779986404389974f3897a +MISC ChangeLog-2015 13118 SHA256 3f2fc34fd7488b5f2e18938d8a28de4957e49b44cb991fb7a80828f5ecdc9edc SHA512 8bb7b4468f1c463139ca6e6eabc0138b97919916e050544f0b6a04a118d3eb8b537ba0b96edfc5abec57b658d43e1b76bd7ed7ba791e61582c01d8054a3a3638 WHIRLPOOL 86d1b7db8250fdfcf1de04d8f012c88cae85956e42c2204f47f8e9425adcd24f5e4a8754011877ed7b3e0e85c9d1bac24c94764ee8645d44f07595745958cfc4 +MISC metadata.xml 1597 SHA256 93d9d498f988d3a43443b7da28bf4262a31d533221f50e7567037066805a3896 SHA512 104b849956d92360dc9abe1ecd411ebe07bcdd2adb85872b052aee373d3ebb7232ab1add62864a4c7206e8f9fbcc6b29e76d0286852b4423d5e4cc8970dd07f8 WHIRLPOOL d3c67112d95cc7763442cee45cea5d9c6b0541016161cb9d5ae5b2edab335c4a8e4e264c77a3c594ba2d9042446e03ba33209a4d66c3b66cd549e706af99b643 diff --git a/sys-cluster/glusterfs/files/50glusterfs-mode-gentoo.el b/sys-cluster/glusterfs/files/50glusterfs-mode-gentoo.el new file mode 100644 index 000000000000..c14b0d8de33b --- /dev/null +++ b/sys-cluster/glusterfs/files/50glusterfs-mode-gentoo.el @@ -0,0 +1,5 @@ + +;;; puppet-mode site-lisp configuration + +(add-to-list 'load-path "@SITELISP@") +(autoload 'glusterfs-mode "glusterfs-mode" "Major mode for editing glusterfs manifests") diff --git a/sys-cluster/glusterfs/files/glusterd-r2.initd b/sys-cluster/glusterfs/files/glusterd-r2.initd new file mode 100644 index 000000000000..924939400f30 --- /dev/null +++ b/sys-cluster/glusterfs/files/glusterd-r2.initd @@ -0,0 +1,32 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Gluster elastic volume management daemon" +command="/usr/sbin/glusterd" +pidfile="/var/run/${SVCNAME}.pid" +command_args="-N" + +command_background="yes" + +depend() { + need net + before netmount +} + +start_pre() { + # Ensure that the GlusterFS auxiliary mount parent directory exists + checkpath --directory --owner root:root --mode 0700 /var/run/gluster +} + +start_post() { + local c=0 + ebegin "Waiting for glusterd to start up" + while ! /usr/sbin/gluster volume list &>/dev/null && [ "${c}" -lt "${glusterd_max_wait_start-60}" ]; do + (( ++c )) + done + [ "${c}" -lt "${glusterd_max_wait_start-60}" ] + eend $? + + return 0 +} diff --git a/sys-cluster/glusterfs/files/glusterfs-3.4.0-silent_rules.patch b/sys-cluster/glusterfs/files/glusterfs-3.4.0-silent_rules.patch new file mode 100644 index 000000000000..1b79e0d079e4 --- /dev/null +++ b/sys-cluster/glusterfs/files/glusterfs-3.4.0-silent_rules.patch @@ -0,0 +1,23 @@ +--- configure.ac 2013-07-12 19:43:26.000000000 +0200 ++++ configure.ac2 2013-07-25 13:58:48.294091861 +0200 +@@ -10,20 +10,6 @@ + + AM_INIT_AUTOMAKE + +-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)]) +- +-if make --help 2>&1 | grep -q no-print-directory; then +- AM_MAKEFLAGS="$AM_MAKEFLAGS --no-print-directory"; +-fi +- +-if make --help 2>&1 | grep -q quiet; then +- AM_MAKEFLAGS="$AM_MAKEFLAGS --quiet" +-fi +- +-if libtool --help 2>&1 | grep -q quiet; then +- AM_LIBTOOLFLAGS="--quiet"; +-fi +- + AC_CONFIG_HEADERS([config.h]) + + AC_CONFIG_FILES([Makefile diff --git a/sys-cluster/glusterfs/files/glusterfs-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch b/sys-cluster/glusterfs/files/glusterfs-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch new file mode 100644 index 000000000000..5c4df0c97025 --- /dev/null +++ b/sys-cluster/glusterfs/files/glusterfs-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch @@ -0,0 +1,54 @@ +From 8bfe3752c3a0a4db49a879048cdd089da6c45ed0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tiziano=20M=C3=BCller?= <tm@dev-zero.ch> +Date: Thu, 26 Jun 2014 19:04:54 +0200 +Subject: [PATCH] Add libraries using LIBADD instead of LDFLAGS + +--- + xlators/encryption/crypt/src/Makefile.am | 6 +++--- + xlators/features/compress/src/Makefile.am | 4 ++-- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/xlators/encryption/crypt/src/Makefile.am b/xlators/encryption/crypt/src/Makefile.am +index b13f650..d7ebac6 100644 +--- a/xlators/encryption/crypt/src/Makefile.am ++++ b/xlators/encryption/crypt/src/Makefile.am +@@ -3,10 +3,10 @@ if ENABLE_CRYPT_XLATOR + xlator_LTLIBRARIES = crypt.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/encryption + +-crypt_la_LDFLAGS = -module -avoid-version -lssl -lcrypto ++crypt_la_LDFLAGS = -module -avoid-version + + crypt_la_SOURCES = keys.c data.c metadata.c atom.c crypt.c +-crypt_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la ++crypt_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl -lcrypto + + noinst_HEADERS = crypt-common.h crypt-mem-types.h crypt.h metadata.h + +@@ -21,4 +21,4 @@ else + noinst_DIST = keys.c data.c metadata.c atom.c crypt.c + noinst_HEADERS = crypt-common.h crypt-mem-types.h crypt.h metadata.h + +-endif +\ No newline at end of file ++endif +diff --git a/xlators/features/compress/src/Makefile.am b/xlators/features/compress/src/Makefile.am +index 0bf757c..d3abe03 100644 +--- a/xlators/features/compress/src/Makefile.am ++++ b/xlators/features/compress/src/Makefile.am +@@ -4,10 +4,10 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features + + noinst_HEADERS = cdc.h cdc-mem-types.h + +-cdc_la_LDFLAGS = -module -avoid-version $(LIBZ_LIBS) ++cdc_la_LDFLAGS = -module -avoid-version + + cdc_la_SOURCES = cdc.c cdc-helper.c +-cdc_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la ++cdc_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBZ_LIBS) + + AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src -fPIC -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D$(GF_HOST_OS) \ + -shared -nostartfiles $(LIBZ_CFLAGS) +-- +1.9.2 + diff --git a/sys-cluster/glusterfs/files/glusterfs-3.6.5-build-shared-only.patch b/sys-cluster/glusterfs/files/glusterfs-3.6.5-build-shared-only.patch new file mode 100644 index 000000000000..af5332bc9b1e --- /dev/null +++ b/sys-cluster/glusterfs/files/glusterfs-3.6.5-build-shared-only.patch @@ -0,0 +1,547 @@ +diff -ur a/rpc/rpc-transport/rdma/src/Makefile.am b/rpc/rpc-transport/rdma/src/Makefile.am +--- a/rpc/rpc-transport/rdma/src/Makefile.am 2015-08-28 10:56:17.750192744 +0200 ++++ b/rpc/rpc-transport/rdma/src/Makefile.am 2015-08-28 11:00:36.322686236 +0200 +@@ -3,7 +3,7 @@ + transport_LTLIBRARIES = rdma.la + transportdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/rpc-transport + +-rdma_la_LDFLAGS = -module -avoid-version -nostartfiles ++rdma_la_LDFLAGS = -module -avoid-version -nostartfiles -shared + + rdma_la_SOURCES = rdma.c name.c + rdma_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \ +Only in b/rpc/rpc-transport/rdma/src: Makefile.am.orig +Only in b/rpc/rpc-transport/rdma/src: Makefile.am.rej +diff -ur a/rpc/rpc-transport/socket/src/Makefile.am b/rpc/rpc-transport/socket/src/Makefile.am +--- a/rpc/rpc-transport/socket/src/Makefile.am 2015-08-28 10:56:17.750192744 +0200 ++++ b/rpc/rpc-transport/socket/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -3,7 +3,7 @@ + rpctransport_LTLIBRARIES = socket.la + rpctransportdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/rpc-transport + +-socket_la_LDFLAGS = -module -avoid-version ++socket_la_LDFLAGS = -module -avoid-version -shared + + socket_la_SOURCES = socket.c name.c + socket_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl +diff -ur a/xlators/cluster/afr/src/Makefile.am b/xlators/cluster/afr/src/Makefile.am +--- a/xlators/cluster/afr/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200 ++++ b/xlators/cluster/afr/src/Makefile.am 2015-08-28 11:01:31.603219323 +0200 +@@ -10,11 +10,11 @@ + afr-self-heal-entry.c afr-self-heal-metadata.c afr-self-heald.c \ + afr-self-heal-name.c + +-afr_la_LDFLAGS = -module -avoid-version ++afr_la_LDFLAGS = -module -avoid-version -shared + afr_la_SOURCES = $(afr_common_source) $(AFR_SELFHEAL_SOURCES) afr.c + afr_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la + +-pump_la_LDFLAGS = -module -avoid-version ++pump_la_LDFLAGS = -module -avoid-version -shared + pump_la_SOURCES = $(afr_common_source) $(AFR_SELFHEAL_SOURCES) pump.c + pump_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la + +Only in b/xlators/cluster/afr/src: Makefile.am.orig +Only in b/xlators/cluster/afr/src: Makefile.am.rej +diff -ur a/xlators/cluster/dht/src/Makefile.am b/xlators/cluster/dht/src/Makefile.am +--- a/xlators/cluster/dht/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200 ++++ b/xlators/cluster/dht/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -11,13 +11,13 @@ + nufa_la_SOURCES = $(dht_common_source) nufa.c + switch_la_SOURCES = $(dht_common_source) switch.c + +-dht_la_LDFLAGS = -module -avoid-version ++dht_la_LDFLAGS = -module -avoid-version -shared + dht_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la + +-nufa_la_LDFLAGS = -module -avoid-version ++nufa_la_LDFLAGS = -module -avoid-version -shared + nufa_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la + +-switch_la_LDFLAGS = -module -avoid-version ++switch_la_LDFLAGS = -module -avoid-version -shared + switch_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la + + noinst_HEADERS = dht-common.h dht-mem-types.h dht-messages.h dht-helper.h \ +Only in b/xlators/cluster/dht/src: Makefile.am.orig +diff -ur a/xlators/cluster/stripe/src/Makefile.am b/xlators/cluster/stripe/src/Makefile.am +--- a/xlators/cluster/stripe/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200 ++++ b/xlators/cluster/stripe/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = stripe.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/cluster + +-stripe_la_LDFLAGS = -module -avoid-version ++stripe_la_LDFLAGS = -module -avoid-version -shared + + stripe_la_SOURCES = stripe.c stripe-helpers.c \ + $(top_builddir)/xlators/lib/src/libxlator.c +Only in b/xlators/cluster/stripe/src: Makefile.am.orig +diff -ur a/xlators/debug/error-gen/src/Makefile.am b/xlators/debug/error-gen/src/Makefile.am +--- a/xlators/debug/error-gen/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200 ++++ b/xlators/debug/error-gen/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -2,7 +2,7 @@ + xlator_LTLIBRARIES = error-gen.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug + +-error_gen_la_LDFLAGS = -module -avoid-version ++error_gen_la_LDFLAGS = -module -avoid-version -shared + + error_gen_la_SOURCES = error-gen.c + error_gen_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/debug/io-stats/src/Makefile.am b/xlators/debug/io-stats/src/Makefile.am +--- a/xlators/debug/io-stats/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200 ++++ b/xlators/debug/io-stats/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -2,7 +2,7 @@ + xlator_LTLIBRARIES = io-stats.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug + +-io_stats_la_LDFLAGS = -module -avoid-version ++io_stats_la_LDFLAGS = -module -avoid-version -shared + + io_stats_la_SOURCES = io-stats.c + io_stats_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/debug/trace/src/Makefile.am b/xlators/debug/trace/src/Makefile.am +--- a/xlators/debug/trace/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200 ++++ b/xlators/debug/trace/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -2,7 +2,7 @@ + xlator_LTLIBRARIES = trace.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug + +-trace_la_LDFLAGS = -module -avoid-version ++trace_la_LDFLAGS = -module -avoid-version -shared + + trace_la_SOURCES = trace.c + trace_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/encryption/crypt/src/Makefile.am b/xlators/encryption/crypt/src/Makefile.am +--- a/xlators/encryption/crypt/src/Makefile.am 2015-08-28 11:18:28.073021439 +0200 ++++ b/xlators/encryption/crypt/src/Makefile.am 2015-08-28 11:16:28.051864039 +0200 +@@ -3,7 +3,7 @@ + xlator_LTLIBRARIES = crypt.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/encryption + +-crypt_la_LDFLAGS = -module -avoid-version ++crypt_la_LDFLAGS = -module -avoid-version -shared + + crypt_la_SOURCES = keys.c data.c metadata.c atom.c crypt.c + crypt_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl -lcrypto +Only in b/xlators/encryption/crypt/src: Makefile.am.orig +Only in b/xlators/encryption/crypt/src: Makefile.am.rej +diff -ur a/xlators/encryption/rot-13/src/Makefile.am b/xlators/encryption/rot-13/src/Makefile.am +--- a/xlators/encryption/rot-13/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200 ++++ b/xlators/encryption/rot-13/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = rot-13.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/encryption + +-rot_13_la_LDFLAGS = -module -avoid-version ++rot_13_la_LDFLAGS = -module -avoid-version -shared + + rot_13_la_SOURCES = rot-13.c + rot_13_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/features/changelog/src/Makefile.am b/xlators/features/changelog/src/Makefile.am +--- a/xlators/features/changelog/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/features/changelog/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -5,7 +5,7 @@ + noinst_HEADERS = changelog-helpers.h changelog-mem-types.h changelog-rt.h \ + changelog-misc.h changelog-encoders.h changelog-notifier.h + +-changelog_la_LDFLAGS = -module -avoid-version ++changelog_la_LDFLAGS = -module -avoid-version -shared + + changelog_la_SOURCES = changelog.c changelog-rt.c changelog-helpers.c \ + changelog-encoders.c changelog-notifier.c changelog-barrier.c +Only in b/xlators/features/changelog/src: Makefile.am.orig +diff -ur a/xlators/features/compress/src/Makefile.am b/xlators/features/compress/src/Makefile.am +--- a/xlators/features/compress/src/Makefile.am 2015-08-28 11:18:28.073021439 +0200 ++++ b/xlators/features/compress/src/Makefile.am 2015-08-28 11:17:19.492360095 +0200 +@@ -4,7 +4,7 @@ + + noinst_HEADERS = cdc.h cdc-mem-types.h + +-cdc_la_LDFLAGS = -module -avoid-version ++cdc_la_LDFLAGS = -module -avoid-version -shared + + cdc_la_SOURCES = cdc.c cdc-helper.c + cdc_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBZ_LIBS) +Only in b/xlators/features/compress/src: Makefile.am.rej +diff -ur a/xlators/features/gfid-access/src/Makefile.am b/xlators/features/gfid-access/src/Makefile.am +--- a/xlators/features/gfid-access/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/features/gfid-access/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = gfid-access.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features + +-gfid_access_la_LDFLAGS = -module -avoid-version ++gfid_access_la_LDFLAGS = -module -avoid-version -shared + + gfid_access_la_SOURCES = gfid-access.c + gfid_access_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/features/index/src/Makefile.am b/xlators/features/index/src/Makefile.am +--- a/xlators/features/index/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/features/index/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = index.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features + +-index_la_LDFLAGS = -module -avoid-version ++index_la_LDFLAGS = -module -avoid-version -shared + + index_la_SOURCES = index.c + index_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/features/locks/src/Makefile.am b/xlators/features/locks/src/Makefile.am +--- a/xlators/features/locks/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/features/locks/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = locks.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features + +-locks_la_LDFLAGS = -module -avoid-version ++locks_la_LDFLAGS = -module -avoid-version -shared + + locks_la_SOURCES = common.c posix.c entrylk.c inodelk.c reservelk.c \ + clear.c +diff -ur a/xlators/features/mac-compat/src/Makefile.am b/xlators/features/mac-compat/src/Makefile.am +--- a/xlators/features/mac-compat/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/features/mac-compat/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = mac-compat.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features + +-mac_compat_la_LDFLAGS = -module -avoid-version ++mac_compat_la_LDFLAGS = -module -avoid-version -shared + + mac_compat_la_SOURCES = mac-compat.c + mac_compat_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/features/marker/src/Makefile.am b/xlators/features/marker/src/Makefile.am +--- a/xlators/features/marker/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/features/marker/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = marker.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features + +-marker_la_LDFLAGS = -module -avoid-version ++marker_la_LDFLAGS = -module -avoid-version -shared + + marker_la_SOURCES = marker.c marker-quota.c marker-quota-helper.c marker-common.c + marker_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/features/protect/src/Makefile.am b/xlators/features/protect/src/Makefile.am +--- a/xlators/features/protect/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/features/protect/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -2,15 +2,15 @@ + + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features + +-prot_dht_la_LDFLAGS = -module -avoid-version ++prot_dht_la_LDFLAGS = -module -avoid-version -shared + prot_dht_la_SOURCES = prot_dht.c + prot_dht_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la + +-prot_client_la_LDFLAGS = -module -avoid-version ++prot_client_la_LDFLAGS = -module -avoid-version -shared + prot_client_la_SOURCES = prot_client.c + prot_client_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la + +-prot_server_la_LDFLAGS = -module -avoid-version ++prot_server_la_LDFLAGS = -module -avoid-version -shared + prot_server_la_SOURCES = prot_server.c + prot_server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la + +diff -ur a/xlators/features/qemu-block/src/Makefile.am b/xlators/features/qemu-block/src/Makefile.am +--- a/xlators/features/qemu-block/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/features/qemu-block/src/Makefile.am 2015-08-28 11:03:19.464259458 +0200 +@@ -2,7 +2,7 @@ + xlator_LTLIBRARIES = qemu-block.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features + +-qemu_block_la_LDFLAGS = -module -avoid-version ++qemu_block_la_LDFLAGS = -module -avoid-version -shared + qemu_block_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(GLIB_LIBS) $(ZLIB_LIBS) -lrt + + qemu_block_la_SOURCES_qemu = \ +Only in b/xlators/features/qemu-block/src: Makefile.am.orig +Only in b/xlators/features/qemu-block/src: Makefile.am.rej +diff -ur a/xlators/features/quiesce/src/Makefile.am b/xlators/features/quiesce/src/Makefile.am +--- a/xlators/features/quiesce/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/features/quiesce/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = quiesce.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features + +-quiesce_la_LDFLAGS = -module -avoid-version ++quiesce_la_LDFLAGS = -module -avoid-version -shared + + quiesce_la_SOURCES = quiesce.c + quiesce_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/features/quota/src/Makefile.am b/xlators/features/quota/src/Makefile.am +--- a/xlators/features/quota/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/features/quota/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,8 +1,8 @@ + xlator_LTLIBRARIES = quota.la quotad.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features + +-quota_la_LDFLAGS = -module -avoid-version +-quotad_la_LDFLAGS = -module -avoid-version ++quota_la_LDFLAGS = -module -avoid-version -shared ++quotad_la_LDFLAGS = -module -avoid-version -shared + + quota_la_SOURCES = quota.c quota-enforcer-client.c + quota_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/features/read-only/src/Makefile.am b/xlators/features/read-only/src/Makefile.am +--- a/xlators/features/read-only/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/features/read-only/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -4,12 +4,12 @@ + + noinst_HEADERS = read-only-common.h + +-read_only_la_LDFLAGS = -module -avoid-version ++read_only_la_LDFLAGS = -module -avoid-version -shared + + read_only_la_SOURCES = read-only.c read-only-common.c + read_only_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la + +-worm_la_LDFLAGS = -module -avoid-version ++worm_la_LDFLAGS = -module -avoid-version -shared + + worm_la_SOURCES = read-only-common.c worm.c + worm_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/mgmt/glusterd/src/Makefile.am b/xlators/mgmt/glusterd/src/Makefile.am +--- a/xlators/mgmt/glusterd/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/mgmt/glusterd/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = glusterd.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/mgmt + glusterd_la_CPPFLAGS = $(AM_CPPFLAGS) "-DFILTERDIR=\"$(libdir)/glusterfs/$(PACKAGE_VERSION)/filter\"" +-glusterd_la_LDFLAGS = -module -avoid-version ++glusterd_la_LDFLAGS = -module -avoid-version -shared + if ENABLE_BD_XLATOR + glusterd_la_LDFLAGS += -llvm2app + endif +diff -ur a/xlators/mount/fuse/src/Makefile.am b/xlators/mount/fuse/src/Makefile.am +--- a/xlators/mount/fuse/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200 ++++ b/xlators/mount/fuse/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -26,7 +26,7 @@ + fuse_la_SOURCES = fuse-helpers.c fuse-resolve.c fuse-bridge.c \ + $(CONTRIBDIR)/fuse-lib/misc.c $(mount_source) + +-fuse_la_LDFLAGS = -module -avoid-version ++fuse_la_LDFLAGS = -module -avoid-version -shared + fuse_la_LIBADD = @GF_FUSE_LDADD@ + + AM_CPPFLAGS = $(GF_CPPFLAGS) \ +Only in b/xlators/mount/fuse/src: Makefile.am.orig +diff -ur a/xlators/nfs/server/src/Makefile.am b/xlators/nfs/server/src/Makefile.am +--- a/xlators/nfs/server/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200 ++++ b/xlators/nfs/server/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = server.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/nfs + nfsrpclibdir = $(top_srcdir)/rpc/rpc-lib/src +-server_la_LDFLAGS = -module -avoid-version ++server_la_LDFLAGS = -module -avoid-version -shared + server_la_SOURCES = nfs.c nfs-common.c nfs-fops.c nfs-inodes.c \ + nfs-generics.c mount3.c nfs3-fh.c nfs3.c nfs3-helpers.c nlm4.c \ + nlmcbk_svc.c mount3udp_svc.c acl3.c +diff -ur a/xlators/performance/io-cache/src/Makefile.am b/xlators/performance/io-cache/src/Makefile.am +--- a/xlators/performance/io-cache/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/performance/io-cache/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = io-cache.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance + +-io_cache_la_LDFLAGS = -module -avoid-version ++io_cache_la_LDFLAGS = -module -avoid-version -shared + + io_cache_la_SOURCES = io-cache.c page.c ioc-inode.c + io_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/performance/io-threads/src/Makefile.am b/xlators/performance/io-threads/src/Makefile.am +--- a/xlators/performance/io-threads/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/performance/io-threads/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = io-threads.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance + +-io_threads_la_LDFLAGS = -module -avoid-version ++io_threads_la_LDFLAGS = -module -avoid-version -shared + + io_threads_la_SOURCES = io-threads.c + io_threads_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/performance/md-cache/src/Makefile.am b/xlators/performance/md-cache/src/Makefile.am +--- a/xlators/performance/md-cache/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/performance/md-cache/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = md-cache.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance + +-md_cache_la_LDFLAGS = -module -avoid-version ++md_cache_la_LDFLAGS = -module -avoid-version -shared + + md_cache_la_SOURCES = md-cache.c + md_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/performance/open-behind/src/Makefile.am b/xlators/performance/open-behind/src/Makefile.am +--- a/xlators/performance/open-behind/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/performance/open-behind/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = open-behind.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance + +-open_behind_la_LDFLAGS = -module -avoid-version ++open_behind_la_LDFLAGS = -module -avoid-version -shared + + open_behind_la_SOURCES = open-behind.c + open_behind_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/performance/quick-read/src/Makefile.am b/xlators/performance/quick-read/src/Makefile.am +--- a/xlators/performance/quick-read/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/performance/quick-read/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = quick-read.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance + +-quick_read_la_LDFLAGS = -module -avoid-version ++quick_read_la_LDFLAGS = -module -avoid-version -shared + + quick_read_la_SOURCES = quick-read.c + quick_read_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/performance/read-ahead/src/Makefile.am b/xlators/performance/read-ahead/src/Makefile.am +--- a/xlators/performance/read-ahead/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200 ++++ b/xlators/performance/read-ahead/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = read-ahead.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance + +-read_ahead_la_LDFLAGS = -module -avoid-version ++read_ahead_la_LDFLAGS = -module -avoid-version -shared + + read_ahead_la_SOURCES = read-ahead.c page.c + read_ahead_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/performance/readdir-ahead/src/Makefile.am b/xlators/performance/readdir-ahead/src/Makefile.am +--- a/xlators/performance/readdir-ahead/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/performance/readdir-ahead/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = readdir-ahead.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance + +-readdir_ahead_la_LDFLAGS = -module -avoid-version ++readdir_ahead_la_LDFLAGS = -module -avoid-version -shared + + readdir_ahead_la_SOURCES = readdir-ahead.c + readdir_ahead_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/performance/symlink-cache/src/Makefile.am b/xlators/performance/symlink-cache/src/Makefile.am +--- a/xlators/performance/symlink-cache/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/performance/symlink-cache/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = symlink-cache.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/performance + +-symlink_cache_la_LDFLAGS = -module -avoid-version ++symlink_cache_la_LDFLAGS = -module -avoid-version -shared + + symlink_cache_la_SOURCES = symlink-cache.c + symlink_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/performance/write-behind/src/Makefile.am b/xlators/performance/write-behind/src/Makefile.am +--- a/xlators/performance/write-behind/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200 ++++ b/xlators/performance/write-behind/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = write-behind.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance + +-write_behind_la_LDFLAGS = -module -avoid-version ++write_behind_la_LDFLAGS = -module -avoid-version -shared + + write_behind_la_SOURCES = write-behind.c + write_behind_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/playground/template/src/Makefile.am b/xlators/playground/template/src/Makefile.am +--- a/xlators/playground/template/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200 ++++ b/xlators/playground/template/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = template.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/features + +-template_la_LDFLAGS = -module -avoid-version ++template_la_LDFLAGS = -module -avoid-version -shared + + template_la_SOURCES = template.c + template_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/protocol/auth/addr/src/Makefile.am b/xlators/protocol/auth/addr/src/Makefile.am +--- a/xlators/protocol/auth/addr/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200 ++++ b/xlators/protocol/auth/addr/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + auth_LTLIBRARIES = addr.la + authdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/auth + +-addr_la_LDFLAGS = -module -avoid-version ++addr_la_LDFLAGS = -module -avoid-version -shared + + addr_la_SOURCES = addr.c + addr_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/protocol/auth/login/src/Makefile.am b/xlators/protocol/auth/login/src/Makefile.am +--- a/xlators/protocol/auth/login/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200 ++++ b/xlators/protocol/auth/login/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + auth_LTLIBRARIES = login.la + authdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/auth + +-login_la_LDFLAGS = -module -avoid-version ++login_la_LDFLAGS = -module -avoid-version -shared + + login_la_SOURCES = login.c + login_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la +diff -ur a/xlators/protocol/client/src/Makefile.am b/xlators/protocol/client/src/Makefile.am +--- a/xlators/protocol/client/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200 ++++ b/xlators/protocol/client/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -2,7 +2,7 @@ + xlator_LTLIBRARIES = client.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/protocol + +-client_la_LDFLAGS = -module -avoid-version ++client_la_LDFLAGS = -module -avoid-version -shared + + client_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \ + $(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \ +diff -ur a/xlators/protocol/server/src/Makefile.am b/xlators/protocol/server/src/Makefile.am +--- a/xlators/protocol/server/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200 ++++ b/xlators/protocol/server/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,7 +1,7 @@ + xlator_LTLIBRARIES = server.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/protocol + +-server_la_LDFLAGS = -module -avoid-version ++server_la_LDFLAGS = -module -avoid-version -shared + + server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \ + $(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \ +diff -ur a/xlators/storage/bd/src/Makefile.am b/xlators/storage/bd/src/Makefile.am +--- a/xlators/storage/bd/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200 ++++ b/xlators/storage/bd/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -2,7 +2,7 @@ + xlator_LTLIBRARIES = bd.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/storage + +-bd_la_LDFLAGS = -module -avoid-version ++bd_la_LDFLAGS = -module -avoid-version -shared + LIBBD = -llvm2app -lrt + bd_la_SOURCES = bd.c bd-helper.c bd-aio.c + bd_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBBD) $(LIBAIO) +diff -ur a/xlators/storage/posix/src/Makefile.am b/xlators/storage/posix/src/Makefile.am +--- a/xlators/storage/posix/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200 ++++ b/xlators/storage/posix/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -2,7 +2,7 @@ + xlator_LTLIBRARIES = posix.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/storage + +-posix_la_LDFLAGS = -module -avoid-version ++posix_la_LDFLAGS = -module -avoid-version -shared + + posix_la_SOURCES = posix.c posix-helpers.c posix-handle.c posix-aio.c + posix_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBAIO) +diff -ur a/xlators/system/posix-acl/src/Makefile.am b/xlators/system/posix-acl/src/Makefile.am +--- a/xlators/system/posix-acl/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200 ++++ b/xlators/system/posix-acl/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200 +@@ -1,6 +1,6 @@ + xlator_LTLIBRARIES = posix-acl.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/system +-posix_acl_la_LDFLAGS = -module -avoid-version ++posix_acl_la_LDFLAGS = -module -avoid-version -shared + posix_acl_la_SOURCES = posix-acl.c posix-acl-xattr.c + posix_acl_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la + diff --git a/sys-cluster/glusterfs/files/glusterfs-r1.initd b/sys-cluster/glusterfs/files/glusterfs-r1.initd new file mode 100644 index 000000000000..c2845855cf9c --- /dev/null +++ b/sys-cluster/glusterfs/files/glusterfs-r1.initd @@ -0,0 +1,121 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +if [[ "${SVCNAME}" != "glusterfs" ]] +then + GLUSTERFS_NAME="${SVCNAME#glusterfs.}" +else + GLUSTERFS_NAME="glusterfs" +fi + +GLUSTERFS_PIDFILE="/var/run/${SVCNAME}.pid" + +eval 'GLUSTERFS_LOGFILE="${'${GLUSTERFS_NAME}'_log:-/var/log/glusterfs/'${GLUSTERFS_NAME}'.log}"' +eval 'GLUSTERFS_VOLFILE="${'${GLUSTERFS_NAME}'_vol:-/etc/glusterfs/'${GLUSTERFS_NAME}'.vol}"' +eval 'GLUSTERFS_SERVER="${'${GLUSTERFS_NAME}'_server}"' +eval 'GLUSTERFS_PORT="${'${GLUSTERFS_NAME}'_port:-6996}"' +eval 'GLUSTERFS_TRANSPORT="${'${GLUSTERFS_NAME}'_transport:-socket}"' +eval 'GLUSTERFS_OPTS="${'${GLUSTERFS_NAME}'_opts}"' +eval 'GLUSTERFS_MOUNTPOINT="${'${GLUSTERFS_NAME}'_mountpoint}"' + +depend() { + need net + [[ -n "${GLUSTERFS_MOUNTPOINT}" ]] && need fuse + use dns + before netmount + after firewall ntp-client ntpd +} + +checkconfig() { + if [[ -z "${GLUSTERFS_NAME}" ]] + then + eerror "The service name is not properly formatted." + return 1 + fi + + if [[ -z "${GLUSTERFS_SERVER}" ]] + then + if [[ -z "${GLUSTERFS_VOLFILE}" ]] + then + eerror "No GlusterFS volume file source has been defined. Edit /etc/conf.d/glusterfs" + eerror "and configure a volume file source for ${SVCNAME}." + return 1 + else + if [[ ! -f "${GLUSTERFS_VOLFILE}" ]] + then + eerror "Cannot find volume file: ${GLUSTERFS_VOLFILE}" + return 1 + fi + fi + fi + + if [[ -n "${GLUSTERFS_MOUNTPOINT}" && ! -d "${GLUSTERFS_MOUNTPOINT}" ]] + then + eerror "The mountpoint ${GLUSTERFS_MOUNTPOINT} does not exist." + return 1 + fi +} + +start() { + local status daemon + + checkconfig || return 1 + + ebegin "Starting GlusterFS (${SVCNAME})" + eindent + + if [[ -z "${GLUSTERFS_MOUNTPOINT}" ]] + then + einfo "Starting in server mode ..." + daemon="glusterfsd" + else + einfo "Starting in client mode. Mounting filesystem ..." + daemon="glusterfs" + fi + + if [[ -n "${GLUSTERFS_SERVER}" ]] + then + einfo "Using server supplied volume file" + start-stop-daemon --start --pidfile ${GLUSTERFS_PIDFILE} \ + --exec /usr/sbin/${daemon} -- \ + --pid-file=${GLUSTERFS_PIDFILE} \ + --log-file=${GLUSTERFS_LOGFILE} \ + --volfile-server=${GLUSTERFS_SERVER} \ + --volfile-server-port=${GLUSTERFS_PORT} \ + --volfile-server-transport=${GLUSTERFS_TRANSPORT} \ + ${GLUSTERFS_OPTS} ${GLUSTERFS_MOUNTPOINT} + status="$?" + else + einfo "Using local volume file" + start-stop-daemon --start --pidfile ${GLUSTERFS_PIDFILE} \ + --exec /usr/sbin/${daemon} -- \ + --pid-file=${GLUSTERFS_PIDFILE} \ + --log-file=${GLUSTERFS_LOGFILE} \ + --volfile=${GLUSTERFS_VOLFILE} \ + ${GLUSTERFS_OPTS} ${GLUSTERFS_MOUNTPOINT} + status="$?" + fi + + eoutdent + eend ${status} +} + +stop() { + local status + + ebegin "Stopping GlusterFS (${SVCNAME})" + eindent + if [[ -z "${GLUSTERFS_MOUNTPOINT}" ]] + then + einfo "Stopping server process ..." + start-stop-daemon --stop --pidfile ${GLUSTERFS_PIDFILE} + status="$?" + else + einfo "Unmounting ${GLUSTERFS_MOUNTPOINT} ..." + umount "${GLUSTERFS_MOUNTPOINT}" + status="$?" + fi + eoutdent + eend ${status} +} diff --git a/sys-cluster/glusterfs/files/glusterfs.confd b/sys-cluster/glusterfs/files/glusterfs.confd new file mode 100644 index 000000000000..257d0a887cff --- /dev/null +++ b/sys-cluster/glusterfs/files/glusterfs.confd @@ -0,0 +1,6 @@ +#glusterfsd_mountpoint="" +#glusterfsd_log="" +#glusterfsd_vol="" +#glusterfsd_port="" +#glusterfsd_transport="" +#glusterfsd_opts="" diff --git a/sys-cluster/glusterfs/files/glusterfs.logrotate b/sys-cluster/glusterfs/files/glusterfs.logrotate new file mode 100644 index 000000000000..07ae7b9e54dc --- /dev/null +++ b/sys-cluster/glusterfs/files/glusterfs.logrotate @@ -0,0 +1,34 @@ +# Rotate client logs +/var/log/glusterfs/*.log { + weekly + rotate 52 + missingok + + # compress the logs, but from the .2 onwards + compress + delaycompress + notifempty + + sharedscripts + postrotate + /usr/bin/killall -HUP glusterfs > /dev/null 2>&1 || true + /usr/bin/killall -HUP glusterd > /dev/null 2>&1 || true + endscript +} + +# Rotate server logs +/var/log/glusterfs/bricks/*.log { + weekly + rotate 52 + missingok + + # compress the logs, but from the .2 onwards + compress + delaycompress + notifempty + + sharedscripts + postrotate + /usr/bin/killall -HUP glusterfsd > /dev/null 2>&1 || true + endscript +} diff --git a/sys-cluster/glusterfs/files/glusterfs.vim b/sys-cluster/glusterfs/files/glusterfs.vim new file mode 100644 index 000000000000..bbb9cb1efa97 --- /dev/null +++ b/sys-cluster/glusterfs/files/glusterfs.vim @@ -0,0 +1,8 @@ +if &compatible || v:version < 603 + finish +endif + + +" GlusterFS Volume files +au BufNewFile,BufRead *.vol + \ set filetype=glusterfs diff --git a/sys-cluster/glusterfs/glusterfs-3.10.1.ebuild b/sys-cluster/glusterfs/glusterfs-3.10.1.ebuild new file mode 100644 index 000000000000..13079fc4a53a --- /dev/null +++ b/sys-cluster/glusterfs/glusterfs-3.10.1.ebuild @@ -0,0 +1,212 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils elisp-common eutils multilib python-single-r1 systemd versionator + +DESCRIPTION="GlusterFS is a powerful network/cluster filesystem" +HOMEPAGE="http://www.gluster.org/" +SRC_URI="http://download.gluster.org/pub/gluster/${PN}/$(get_version_component_range '1-2')/${PV}/${P}.tar.gz" + +LICENSE="|| ( GPL-2 LGPL-3+ )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86" +IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml" + +REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} ) + glupy? ( ${PYTHON_REQUIRED_USE} )" + +# the tests must be run as root +RESTRICT="test" + +# sys-apps/util-linux is required for libuuid +RDEPEND="bd-xlator? ( sys-fs/lvm2 ) + emacs? ( virtual/emacs ) + fuse? ( >=sys-fs/fuse-2.7.0 ) + georeplication? ( ${PYTHON_DEPS} ) + infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* ) + qemu-block? ( dev-libs/glib:2 ) + systemtap? ( dev-util/systemtap ) + tiering? ( dev-db/sqlite:3 ) + xml? ( dev-libs/libxml2 ) + sys-libs/readline:= + dev-libs/libaio + dev-libs/openssl:=[-bindist] + dev-libs/userspace-rcu:= + || ( sys-libs/glibc sys-libs/argp-standalone ) + sys-apps/util-linux" +DEPEND="${RDEPEND} + virtual/acl + virtual/pkgconfig + sys-devel/bison + sys-devel/flex + test? ( >=dev-util/cmocka-1.0.1 + app-benchmarks/dbench + dev-vcs/git + net-fs/nfs-utils + virtual/perl-Test-Harness + dev-libs/yajl + sys-fs/xfsprogs + sys-apps/attr )" + +SITEFILE="50${PN}-mode-gentoo.el" + +PATCHES=( + "${FILESDIR}/${PN}-3.4.0-silent_rules.patch" +) + +DOCS=( AUTHORS ChangeLog NEWS README.md THANKS ) + +# Maintainer notes: +# * The build system will always configure & build argp-standalone but it'll never use it +# if the argp.h header is found in the system. Which should be the case with +# glibc or if argp-standalone is installed. + +pkg_setup() { + python_setup "python2*" + python-single-r1_pkg_setup +} + +src_prepare() { + # build rpc-transport and xlators only once as shared libs + for makefile in $(find rpc/rpc-transport xlators -name Makefile.am); do + sed -i -e 's|.*$(top_srcdir).*\.sym|\0 -shared|' $makefile || die + done + + # fix execution permissions + chmod +x libglusterfs/src/gen-defaults.py || die + + autotools-utils_src_prepare +} + +src_configure() { + local myeconfargs=( + --disable-dependency-tracking + --disable-silent-rules + --disable-fusermount + $(use_enable debug) + $(use_enable bd-xlator) + $(use_enable crypt-xlator) + $(use_enable fuse fuse-client) + $(use_enable georeplication) + $(use_enable glupy) + $(use_enable infiniband ibverbs) + $(use_enable qemu-block) + $(use_enable static-libs static) + $(use_enable syslog) + $(use_enable systemtap) + $(use_enable test cmocka) + $(use_enable tiering) + $(use_enable xml xml-output) + --docdir=/usr/share/doc/${PF} + --localstatedir=/var + ) + autotools-utils_src_configure +} + +src_compile() { + autotools-utils_src_compile + + use emacs && elisp-compile extras/glusterfs-mode.el +} + +src_install() { + autotools-utils_src_install + + rm \ + "${D}"/etc/glusterfs/glusterfs-{georep-,}logrotate \ + "${D}"/etc/glusterfs/gluster-rsyslog-*.conf \ + "${D}"/usr/share/doc/${PF}/glusterfs{-mode.el,.vim} || die "removing false files failed" + + insinto /etc/logrotate.d + newins "${FILESDIR}"/glusterfs.logrotate glusterfs + + if use rsyslog ; then + insinto /etc/rsyslog.d + newins extras/gluster-rsyslog-7.2.conf 60-gluster.conf + fi + + if use emacs ; then + elisp-install ${PN} extras/glusterfs-mode.el* + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim + insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim + fi + + # insert some other tools which might be useful + insinto /usr/share/glusterfs/scripts + doins \ + extras/backend-{cleanup,xattr-sanitize}.sh \ + extras/clear_xattrs.sh \ + extras/migrate-unify-to-distribute.sh + + # correct permissions on installed scripts + # fperms 0755 /usr/share/glusterfs/scripts/*.sh + chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die + + if use georeplication ; then + # move the gsync-sync-gfid tool to a binary path + # and set a symlink to be compliant with all other distros + mv "${ED}"/usr/{share/glusterfs/scripts/gsync-sync-gfid,libexec/glusterfs/} || die + dosym ../../../libexec/glusterfs/gsync-sync-gfid /usr/share/glusterfs/scripts/gsync-sync-gfid + fi + + newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd + newinitd "${FILESDIR}/glusterd-r2.initd" glusterd + newconfd "${FILESDIR}/${PN}.confd" glusterfsd + + keepdir /var/log/${PN} + keepdir /var/lib/glusterd + + # QA + rm -rf "${ED}/var/run/" || die + use static-libs || find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete + + # fix all shebang for python2 #560750 + python_fix_shebang "${ED}" + + # upstream already has a patch ready, to be removed once available, http://review.gluster.org/#/c/9458/ + echo "d /run/gluster 0755 root root -" > "${T}/gluster.tmpfiles" || die + systemd_newtmpfilesd "${T}/gluster.tmpfiles" gluster.conf +} + +src_test() { + ./run-tests.sh || die +} + +pkg_postinst() { + elog "Starting with ${PN}-3.1.0, you can use the glusterd daemon to configure your" + elog "volumes dynamically. To do so, simply use the gluster CLI after running:" + elog " /etc/init.d/glusterd start" + echo + elog "For static configurations, the glusterfsd startup script can be multiplexed." + elog "The default startup script uses /etc/conf.d/glusterfsd to configure the" + elog "separate service. To create additional instances of the glusterfsd service" + elog "simply create a symlink to the glusterfsd startup script." + echo + elog "Example:" + elog " # ln -s glusterfsd /etc/init.d/glusterfsd2" + elog " # ${EDITOR} /etc/glusterfs/glusterfsd2.vol" + elog "You can now treat glusterfsd2 like any other service" + echo + ewarn "You need to use a ntp client to keep the clocks synchronized across all" + ewarn "of your servers. Setup a NTP synchronizing service before attempting to" + ewarn "run GlusterFS." + + elog + elog "If you are upgrading from a previous version of ${PN}, please read:" + elog " http://www.gluster.org/community/documentation/index.php/Upgrade_to_3.5" + + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sys-cluster/glusterfs/glusterfs-3.6.5.ebuild b/sys-cluster/glusterfs/glusterfs-3.6.5.ebuild new file mode 100644 index 000000000000..88fd9cdb3998 --- /dev/null +++ b/sys-cluster/glusterfs/glusterfs-3.6.5.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils elisp-common eutils multilib python-single-r1 versionator + +DESCRIPTION="GlusterFS is a powerful network/cluster filesystem" +HOMEPAGE="http://www.gluster.org/" +SRC_URI="http://download.gluster.org/pub/gluster/${PN}/$(get_version_component_range '1-2')/${PV}/${P}.tar.gz" + +LICENSE="|| ( GPL-2 LGPL-3+ )" +SLOT="0" +KEYWORDS="amd64 ppc ppc64 x86" +IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband qemu-block rsyslog static-libs +syslog systemtap vim-syntax +xml" + +REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} ) + glupy? ( ${PYTHON_REQUIRED_USE} )" + +RDEPEND="bd-xlator? ( sys-fs/lvm2 ) + emacs? ( virtual/emacs ) + fuse? ( >=sys-fs/fuse-2.7.0 ) + georeplication? ( ${PYTHON_DEPS} ) + infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* ) + qemu-block? ( dev-libs/glib:2 ) + systemtap? ( dev-util/systemtap ) + xml? ( dev-libs/libxml2 ) + sys-libs/readline:= + dev-libs/libaio + dev-libs/openssl:= + || ( sys-libs/glibc sys-libs/argp-standalone )" +DEPEND="${RDEPEND} + virtual/pkgconfig + sys-devel/bison + sys-devel/flex" + +SITEFILE="50${PN}-mode-gentoo.el" + +PATCHES=( + "${FILESDIR}/${PN}-3.4.0-silent_rules.patch" + "${FILESDIR}/${PN}-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch" + "${FILESDIR}/${PN}-3.6.5-build-shared-only.patch" +) + +DOCS=( AUTHORS ChangeLog NEWS README THANKS ) + +# Maintainer notes: +# * The build system will always configure & build argp-standalone but it'll never use it +# if the argp.h header is found in the system. Which should be the case with +# glibc or if argp-standalone is installed. + +pkg_setup() { + ( use georeplication || use glupy ) && python-single-r1_pkg_setup +} + +src_prepare() { + autotools-utils_src_prepare + + # contrib/argp-standalone source dir is not clean... + cd contrib/argp-standalone + emake distclean +} + +src_configure() { + local myeconfargs=( + --disable-dependency-tracking + --disable-silent-rules + --disable-fusermount + $(use_enable debug) + $(use_enable bd-xlator) + $(use_enable crypt-xlator) + $(use_enable fuse fuse-client) + $(use_enable georeplication) + $(use_enable glupy) + $(use_enable infiniband ibverbs) + $(use_enable qemu-block) + $(use_enable static-libs static) + $(use_enable syslog) + $(use_enable systemtap) + $(use_enable xml xml-output) + --docdir=/usr/share/doc/${PF} + --localstatedir=/var + ) + autotools-utils_src_configure +} + +src_compile() { + autotools-utils_src_compile + + use emacs && elisp-compile extras/glusterfs-mode.el +} + +src_install() { + autotools-utils_src_install + + rm \ + "${D}"/etc/glusterfs/glusterfs-{georep-,}logrotate \ + "${D}"/etc/glusterfs/gluster-rsyslog-*.conf \ + "${D}"/usr/share/doc/${PF}/glusterfs{-mode.el,.vim} || die "removing false files failed" + + insinto /etc/logrotate.d + newins "${FILESDIR}"/glusterfs.logrotate glusterfs + + if use rsyslog ; then + insinto /etc/rsyslog.d + newins extras/gluster-rsyslog-7.2.conf 60-gluster.conf + fi + + if use emacs ; then + elisp-install ${PN} extras/glusterfs-mode.el* + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim + insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim + fi + + # insert some other tools which might be useful + insinto /usr/share/glusterfs/scripts + doins \ + extras/backend-{cleanup,xattr-sanitize}.sh \ + extras/clear_xattrs.sh \ + extras/migrate-unify-to-distribute.sh + + # correct permissions on installed scripts + # fperms 0755 /usr/share/glusterfs/scripts/*.sh + chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die + + if use georeplication ; then + # move the gsync-sync-gfid tool to a binary path + # and set a symlink to be compliant with all other distros + mv "${ED}"/usr/{share/glusterfs/scripts/gsync-sync-gfid,libexec/glusterfs/} || die + dosym ../../../libexec/glusterfs/gsync-sync-gfid /usr/share/glusterfs/scripts/gsync-sync-gfid + fi + + newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd + newinitd "${FILESDIR}/glusterd-r2.initd" glusterd + newconfd "${FILESDIR}/${PN}.confd" glusterfsd + + keepdir /var/log/${PN} + keepdir /var/lib/glusterd + + # QA + rm -rf "${ED}/var/run/" || die + use static-libs || find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete + + use georeplication && python_fix_shebang "${ED}" +} + +pkg_postinst() { + elog "Starting with ${PN}-3.1.0, you can use the glusterd daemon to configure your" + elog "volumes dynamically. To do so, simply use the gluster CLI after running:" + elog " /etc/init.d/glusterd start" + echo + elog "For static configurations, the glusterfsd startup script can be multiplexed." + elog "The default startup script uses /etc/conf.d/glusterfsd to configure the" + elog "separate service. To create additional instances of the glusterfsd service" + elog "simply create a symlink to the glusterfsd startup script." + echo + elog "Example:" + elog " # ln -s glusterfsd /etc/init.d/glusterfsd2" + elog " # ${EDITOR} /etc/glusterfs/glusterfsd2.vol" + elog "You can now treat glusterfsd2 like any other service" + echo + ewarn "You need to use a ntp client to keep the clocks synchronized across all" + ewarn "of your servers. Setup a NTP synchronizing service before attempting to" + ewarn "run GlusterFS." + + elog + elog "If you are upgrading from a previous version of ${PN}, please read:" + elog " http://www.gluster.org/community/documentation/index.php/Upgrade_to_3.6" + + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sys-cluster/glusterfs/glusterfs-3.7.4.ebuild b/sys-cluster/glusterfs/glusterfs-3.7.4.ebuild new file mode 100644 index 000000000000..8dbe65598784 --- /dev/null +++ b/sys-cluster/glusterfs/glusterfs-3.7.4.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils elisp-common eutils multilib python-single-r1 systemd versionator + +DESCRIPTION="GlusterFS is a powerful network/cluster filesystem" +HOMEPAGE="http://www.gluster.org/" +SRC_URI="http://download.gluster.org/pub/gluster/${PN}/$(get_version_component_range '1-2')/${PV}/${P}.tar.gz" + +LICENSE="|| ( GPL-2 LGPL-3+ )" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml" + +REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} ) + glupy? ( ${PYTHON_REQUIRED_USE} )" + +# the tests must be run as root +RESTRICT="test" + +# sys-apps/util-linux is required for libuuid +RDEPEND="bd-xlator? ( sys-fs/lvm2 ) + emacs? ( virtual/emacs ) + fuse? ( >=sys-fs/fuse-2.7.0 ) + georeplication? ( ${PYTHON_DEPS} ) + infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* ) + qemu-block? ( dev-libs/glib:2 ) + systemtap? ( dev-util/systemtap ) + tiering? ( dev-db/sqlite:3 ) + xml? ( dev-libs/libxml2 ) + sys-libs/readline:= + dev-libs/libaio + dev-libs/openssl:=[-bindist] + dev-libs/userspace-rcu:= + || ( sys-libs/glibc sys-libs/argp-standalone ) + sys-apps/util-linux" +DEPEND="${RDEPEND} + virtual/pkgconfig + sys-devel/bison + sys-devel/flex + test? ( >=dev-util/cmocka-1.0.1 + app-benchmarks/dbench + dev-vcs/git + net-fs/nfs-utils + virtual/perl-Test-Harness + dev-libs/yajl + sys-fs/xfsprogs + sys-apps/attr )" + +SITEFILE="50${PN}-mode-gentoo.el" + +PATCHES=( + "${FILESDIR}/${PN}-3.4.0-silent_rules.patch" +) + +DOCS=( AUTHORS ChangeLog NEWS README.md THANKS ) + +# Maintainer notes: +# * The build system will always configure & build argp-standalone but it'll never use it +# if the argp.h header is found in the system. Which should be the case with +# glibc or if argp-standalone is installed. + +pkg_setup() { + ( use georeplication || use glupy ) && python-single-r1_pkg_setup +} + +src_prepare() { + # build rpc-transport and xlators only once as shared libs + find rpc/rpc-transport xlators -name Makefile.am -print0 \ + | xargs -0 sed -i -e 's|.*_la_LDFLAGS = .*|\0 -shared|' + + autotools-utils_src_prepare +} + +src_configure() { + local myeconfargs=( + --disable-dependency-tracking + --disable-silent-rules + --disable-fusermount + $(use_enable debug) + $(use_enable bd-xlator) + $(use_enable crypt-xlator) + $(use_enable fuse fuse-client) + $(use_enable georeplication) + $(use_enable glupy) + $(use_enable infiniband ibverbs) + $(use_enable qemu-block) + $(use_enable static-libs static) + $(use_enable syslog) + $(use_enable systemtap) + $(use_enable test cmocka) + $(use_enable tiering) + $(use_enable xml xml-output) + --docdir=/usr/share/doc/${PF} + --localstatedir=/var + ) + autotools-utils_src_configure +} + +src_compile() { + autotools-utils_src_compile + + use emacs && elisp-compile extras/glusterfs-mode.el +} + +src_install() { + autotools-utils_src_install + + rm \ + "${D}"/etc/glusterfs/glusterfs-{georep-,}logrotate \ + "${D}"/etc/glusterfs/gluster-rsyslog-*.conf \ + "${D}"/usr/share/doc/${PF}/glusterfs{-mode.el,.vim} || die "removing false files failed" + + insinto /etc/logrotate.d + newins "${FILESDIR}"/glusterfs.logrotate glusterfs + + if use rsyslog ; then + insinto /etc/rsyslog.d + newins extras/gluster-rsyslog-7.2.conf 60-gluster.conf + fi + + if use emacs ; then + elisp-install ${PN} extras/glusterfs-mode.el* + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim + insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim + fi + + # insert some other tools which might be useful + insinto /usr/share/glusterfs/scripts + doins \ + extras/backend-{cleanup,xattr-sanitize}.sh \ + extras/clear_xattrs.sh \ + extras/migrate-unify-to-distribute.sh + + # correct permissions on installed scripts + # fperms 0755 /usr/share/glusterfs/scripts/*.sh + chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die + + if use georeplication ; then + # move the gsync-sync-gfid tool to a binary path + # and set a symlink to be compliant with all other distros + mv "${ED}"/usr/{share/glusterfs/scripts/gsync-sync-gfid,libexec/glusterfs/} || die + dosym ../../../libexec/glusterfs/gsync-sync-gfid /usr/share/glusterfs/scripts/gsync-sync-gfid + fi + + newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd + newinitd "${FILESDIR}/glusterd-r2.initd" glusterd + newconfd "${FILESDIR}/${PN}.confd" glusterfsd + + keepdir /var/log/${PN} + keepdir /var/lib/glusterd + + # QA + rm -rf "${ED}/var/run/" || die + use static-libs || find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete + + use georeplication && python_fix_shebang "${ED}" + + # upstream already has a patch ready, to be removed once available, http://review.gluster.org/#/c/9458/ + echo "d /run/gluster 0755 root root -" > "${T}/gluster.tmpfiles" || die + systemd_newtmpfilesd "${T}/gluster.tmpfiles" gluster.conf +} + +src_test() { + ./run-tests.sh || die +} + +pkg_postinst() { + elog "Starting with ${PN}-3.1.0, you can use the glusterd daemon to configure your" + elog "volumes dynamically. To do so, simply use the gluster CLI after running:" + elog " /etc/init.d/glusterd start" + echo + elog "For static configurations, the glusterfsd startup script can be multiplexed." + elog "The default startup script uses /etc/conf.d/glusterfsd to configure the" + elog "separate service. To create additional instances of the glusterfsd service" + elog "simply create a symlink to the glusterfsd startup script." + echo + elog "Example:" + elog " # ln -s glusterfsd /etc/init.d/glusterfsd2" + elog " # ${EDITOR} /etc/glusterfs/glusterfsd2.vol" + elog "You can now treat glusterfsd2 like any other service" + echo + ewarn "You need to use a ntp client to keep the clocks synchronized across all" + ewarn "of your servers. Setup a NTP synchronizing service before attempting to" + ewarn "run GlusterFS." + + elog + elog "If you are upgrading from a previous version of ${PN}, please read:" + elog " http://www.gluster.org/community/documentation/index.php/Upgrade_to_3.5" + + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sys-cluster/glusterfs/glusterfs-3.8.11.ebuild b/sys-cluster/glusterfs/glusterfs-3.8.11.ebuild new file mode 100644 index 000000000000..d9243da7f4ae --- /dev/null +++ b/sys-cluster/glusterfs/glusterfs-3.8.11.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils elisp-common eutils multilib python-single-r1 systemd versionator + +DESCRIPTION="GlusterFS is a powerful network/cluster filesystem" +HOMEPAGE="http://www.gluster.org/" +SRC_URI="http://download.gluster.org/pub/gluster/${PN}/$(get_version_component_range '1-2')/${PV}/${P}.tar.gz" + +LICENSE="|| ( GPL-2 LGPL-3+ )" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml" + +REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} ) + glupy? ( ${PYTHON_REQUIRED_USE} )" + +# the tests must be run as root +RESTRICT="test" + +# sys-apps/util-linux is required for libuuid +RDEPEND="bd-xlator? ( sys-fs/lvm2 ) + emacs? ( virtual/emacs ) + fuse? ( >=sys-fs/fuse-2.7.0 ) + georeplication? ( ${PYTHON_DEPS} ) + infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* ) + qemu-block? ( dev-libs/glib:2 ) + systemtap? ( dev-util/systemtap ) + tiering? ( dev-db/sqlite:3 ) + xml? ( dev-libs/libxml2 ) + sys-libs/readline:= + dev-libs/libaio + dev-libs/openssl:=[-bindist] + dev-libs/userspace-rcu:= + || ( sys-libs/glibc sys-libs/argp-standalone ) + sys-apps/util-linux" +DEPEND="${RDEPEND} + virtual/acl + virtual/pkgconfig + sys-devel/bison + sys-devel/flex + test? ( >=dev-util/cmocka-1.0.1 + app-benchmarks/dbench + dev-vcs/git + net-fs/nfs-utils + virtual/perl-Test-Harness + dev-libs/yajl + sys-fs/xfsprogs + sys-apps/attr )" + +SITEFILE="50${PN}-mode-gentoo.el" + +PATCHES=( + "${FILESDIR}/${PN}-3.4.0-silent_rules.patch" +) + +DOCS=( AUTHORS ChangeLog NEWS README.md THANKS ) + +# Maintainer notes: +# * The build system will always configure & build argp-standalone but it'll never use it +# if the argp.h header is found in the system. Which should be the case with +# glibc or if argp-standalone is installed. + +pkg_setup() { + python_setup "python2*" + python-single-r1_pkg_setup +} + +src_prepare() { + # build rpc-transport and xlators only once as shared libs + find rpc/rpc-transport xlators -name Makefile.am -print0 \ + | xargs -0 sed -i -e 's|.*_la_LDFLAGS = .*|\0 -shared|' + + # fix execution permissions + chmod +x libglusterfs/src/gen-defaults.py || die + + autotools-utils_src_prepare +} + +src_configure() { + local myeconfargs=( + --disable-dependency-tracking + --disable-silent-rules + --disable-fusermount + $(use_enable debug) + $(use_enable bd-xlator) + $(use_enable crypt-xlator) + $(use_enable fuse fuse-client) + $(use_enable georeplication) + $(use_enable glupy) + $(use_enable infiniband ibverbs) + $(use_enable qemu-block) + $(use_enable static-libs static) + $(use_enable syslog) + $(use_enable systemtap) + $(use_enable test cmocka) + $(use_enable tiering) + $(use_enable xml xml-output) + --docdir=/usr/share/doc/${PF} + --localstatedir=/var + ) + autotools-utils_src_configure +} + +src_compile() { + autotools-utils_src_compile + + use emacs && elisp-compile extras/glusterfs-mode.el +} + +src_install() { + autotools-utils_src_install + + rm \ + "${D}"/etc/glusterfs/glusterfs-{georep-,}logrotate \ + "${D}"/etc/glusterfs/gluster-rsyslog-*.conf \ + "${D}"/usr/share/doc/${PF}/glusterfs{-mode.el,.vim} || die "removing false files failed" + + insinto /etc/logrotate.d + newins "${FILESDIR}"/glusterfs.logrotate glusterfs + + if use rsyslog ; then + insinto /etc/rsyslog.d + newins extras/gluster-rsyslog-7.2.conf 60-gluster.conf + fi + + if use emacs ; then + elisp-install ${PN} extras/glusterfs-mode.el* + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim + insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim + fi + + # insert some other tools which might be useful + insinto /usr/share/glusterfs/scripts + doins \ + extras/backend-{cleanup,xattr-sanitize}.sh \ + extras/clear_xattrs.sh \ + extras/migrate-unify-to-distribute.sh + + # correct permissions on installed scripts + # fperms 0755 /usr/share/glusterfs/scripts/*.sh + chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die + + if use georeplication ; then + # move the gsync-sync-gfid tool to a binary path + # and set a symlink to be compliant with all other distros + mv "${ED}"/usr/{share/glusterfs/scripts/gsync-sync-gfid,libexec/glusterfs/} || die + dosym ../../../libexec/glusterfs/gsync-sync-gfid /usr/share/glusterfs/scripts/gsync-sync-gfid + fi + + newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd + newinitd "${FILESDIR}/glusterd-r2.initd" glusterd + newconfd "${FILESDIR}/${PN}.confd" glusterfsd + + keepdir /var/log/${PN} + keepdir /var/lib/glusterd + + # QA + rm -rf "${ED}/var/run/" || die + use static-libs || find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete + + # fix all shebang for python2 #560750 + python_fix_shebang "${ED}" + + # upstream already has a patch ready, to be removed once available, http://review.gluster.org/#/c/9458/ + echo "d /run/gluster 0755 root root -" > "${T}/gluster.tmpfiles" || die + systemd_newtmpfilesd "${T}/gluster.tmpfiles" gluster.conf +} + +src_test() { + ./run-tests.sh || die +} + +pkg_postinst() { + elog "Starting with ${PN}-3.1.0, you can use the glusterd daemon to configure your" + elog "volumes dynamically. To do so, simply use the gluster CLI after running:" + elog " /etc/init.d/glusterd start" + echo + elog "For static configurations, the glusterfsd startup script can be multiplexed." + elog "The default startup script uses /etc/conf.d/glusterfsd to configure the" + elog "separate service. To create additional instances of the glusterfsd service" + elog "simply create a symlink to the glusterfsd startup script." + echo + elog "Example:" + elog " # ln -s glusterfsd /etc/init.d/glusterfsd2" + elog " # ${EDITOR} /etc/glusterfs/glusterfsd2.vol" + elog "You can now treat glusterfsd2 like any other service" + echo + ewarn "You need to use a ntp client to keep the clocks synchronized across all" + ewarn "of your servers. Setup a NTP synchronizing service before attempting to" + ewarn "run GlusterFS." + + elog + elog "If you are upgrading from a previous version of ${PN}, please read:" + elog " http://www.gluster.org/community/documentation/index.php/Upgrade_to_3.5" + + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sys-cluster/glusterfs/glusterfs-3.8.6.ebuild b/sys-cluster/glusterfs/glusterfs-3.8.6.ebuild new file mode 100644 index 000000000000..8aa87cab2fde --- /dev/null +++ b/sys-cluster/glusterfs/glusterfs-3.8.6.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils elisp-common eutils multilib python-single-r1 systemd versionator + +DESCRIPTION="GlusterFS is a powerful network/cluster filesystem" +HOMEPAGE="http://www.gluster.org/" +SRC_URI="http://download.gluster.org/pub/gluster/${PN}/$(get_version_component_range '1-2')/${PV}/${P}.tar.gz" + +LICENSE="|| ( GPL-2 LGPL-3+ )" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml" + +REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} ) + glupy? ( ${PYTHON_REQUIRED_USE} )" + +# the tests must be run as root +RESTRICT="test" + +# sys-apps/util-linux is required for libuuid +RDEPEND="bd-xlator? ( sys-fs/lvm2 ) + emacs? ( virtual/emacs ) + fuse? ( >=sys-fs/fuse-2.7.0 ) + georeplication? ( ${PYTHON_DEPS} ) + infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* ) + qemu-block? ( dev-libs/glib:2 ) + systemtap? ( dev-util/systemtap ) + tiering? ( dev-db/sqlite:3 ) + xml? ( dev-libs/libxml2 ) + sys-libs/readline:= + dev-libs/libaio + dev-libs/openssl:=[-bindist] + dev-libs/userspace-rcu:= + || ( sys-libs/glibc sys-libs/argp-standalone ) + sys-apps/util-linux" +DEPEND="${RDEPEND} + virtual/acl + virtual/pkgconfig + sys-devel/bison + sys-devel/flex + test? ( >=dev-util/cmocka-1.0.1 + app-benchmarks/dbench + dev-vcs/git + net-fs/nfs-utils + virtual/perl-Test-Harness + dev-libs/yajl + sys-fs/xfsprogs + sys-apps/attr )" + +SITEFILE="50${PN}-mode-gentoo.el" + +PATCHES=( + "${FILESDIR}/${PN}-3.4.0-silent_rules.patch" +) + +DOCS=( AUTHORS ChangeLog NEWS README.md THANKS ) + +# Maintainer notes: +# * The build system will always configure & build argp-standalone but it'll never use it +# if the argp.h header is found in the system. Which should be the case with +# glibc or if argp-standalone is installed. + +pkg_setup() { + python_setup "python2*" + python-single-r1_pkg_setup +} + +src_prepare() { + # build rpc-transport and xlators only once as shared libs + find rpc/rpc-transport xlators -name Makefile.am -print0 \ + | xargs -0 sed -i -e 's|.*_la_LDFLAGS = .*|\0 -shared|' + + # fix execution permissions + chmod +x libglusterfs/src/gen-defaults.py || die + + autotools-utils_src_prepare +} + +src_configure() { + local myeconfargs=( + --disable-dependency-tracking + --disable-silent-rules + --disable-fusermount + $(use_enable debug) + $(use_enable bd-xlator) + $(use_enable crypt-xlator) + $(use_enable fuse fuse-client) + $(use_enable georeplication) + $(use_enable glupy) + $(use_enable infiniband ibverbs) + $(use_enable qemu-block) + $(use_enable static-libs static) + $(use_enable syslog) + $(use_enable systemtap) + $(use_enable test cmocka) + $(use_enable tiering) + $(use_enable xml xml-output) + --docdir=/usr/share/doc/${PF} + --localstatedir=/var + ) + autotools-utils_src_configure +} + +src_compile() { + autotools-utils_src_compile + + use emacs && elisp-compile extras/glusterfs-mode.el +} + +src_install() { + autotools-utils_src_install + + rm \ + "${D}"/etc/glusterfs/glusterfs-{georep-,}logrotate \ + "${D}"/etc/glusterfs/gluster-rsyslog-*.conf \ + "${D}"/usr/share/doc/${PF}/glusterfs{-mode.el,.vim} || die "removing false files failed" + + insinto /etc/logrotate.d + newins "${FILESDIR}"/glusterfs.logrotate glusterfs + + if use rsyslog ; then + insinto /etc/rsyslog.d + newins extras/gluster-rsyslog-7.2.conf 60-gluster.conf + fi + + if use emacs ; then + elisp-install ${PN} extras/glusterfs-mode.el* + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi + + if use vim-syntax ; then + insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim + insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim + fi + + # insert some other tools which might be useful + insinto /usr/share/glusterfs/scripts + doins \ + extras/backend-{cleanup,xattr-sanitize}.sh \ + extras/clear_xattrs.sh \ + extras/migrate-unify-to-distribute.sh + + # correct permissions on installed scripts + # fperms 0755 /usr/share/glusterfs/scripts/*.sh + chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die + + if use georeplication ; then + # move the gsync-sync-gfid tool to a binary path + # and set a symlink to be compliant with all other distros + mv "${ED}"/usr/{share/glusterfs/scripts/gsync-sync-gfid,libexec/glusterfs/} || die + dosym ../../../libexec/glusterfs/gsync-sync-gfid /usr/share/glusterfs/scripts/gsync-sync-gfid + fi + + newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd + newinitd "${FILESDIR}/glusterd-r2.initd" glusterd + newconfd "${FILESDIR}/${PN}.confd" glusterfsd + + keepdir /var/log/${PN} + keepdir /var/lib/glusterd + + # QA + rm -rf "${ED}/var/run/" || die + use static-libs || find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete + + # fix all shebang for python2 #560750 + python_fix_shebang "${ED}" + + # upstream already has a patch ready, to be removed once available, http://review.gluster.org/#/c/9458/ + echo "d /run/gluster 0755 root root -" > "${T}/gluster.tmpfiles" || die + systemd_newtmpfilesd "${T}/gluster.tmpfiles" gluster.conf +} + +src_test() { + ./run-tests.sh || die +} + +pkg_postinst() { + elog "Starting with ${PN}-3.1.0, you can use the glusterd daemon to configure your" + elog "volumes dynamically. To do so, simply use the gluster CLI after running:" + elog " /etc/init.d/glusterd start" + echo + elog "For static configurations, the glusterfsd startup script can be multiplexed." + elog "The default startup script uses /etc/conf.d/glusterfsd to configure the" + elog "separate service. To create additional instances of the glusterfsd service" + elog "simply create a symlink to the glusterfsd startup script." + echo + elog "Example:" + elog " # ln -s glusterfsd /etc/init.d/glusterfsd2" + elog " # ${EDITOR} /etc/glusterfs/glusterfsd2.vol" + elog "You can now treat glusterfsd2 like any other service" + echo + ewarn "You need to use a ntp client to keep the clocks synchronized across all" + ewarn "of your servers. Setup a NTP synchronizing service before attempting to" + ewarn "run GlusterFS." + + elog + elog "If you are upgrading from a previous version of ${PN}, please read:" + elog " http://www.gluster.org/community/documentation/index.php/Upgrade_to_3.5" + + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sys-cluster/glusterfs/metadata.xml b/sys-cluster/glusterfs/metadata.xml new file mode 100644 index 000000000000..dbe49ffe8481 --- /dev/null +++ b/sys-cluster/glusterfs/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription lang="en"> + GlusterFS is a cluster file-system capable of scaling to several peta-bytes. It aggregates various storage bricks over Infiniband RDMA or TCP/IP interconnect into one large parallel network file system. GlusterFS is based on a stackable user space design without compromising performance. + </longdescription> + <use> + <flag name="bd-xlator">Enable the blockdevice translator (requires <pkg>sys-fs/lvm2</pkg>)</flag> + <flag name="crypt-xlator">Enable the encryption translator</flag> + <flag name="fuse">Add FUSE mount helper</flag> + <flag name="glupy">Enable support for translators written in Python</flag> + <flag name="georeplication">Enable support for georeplication (requires <pkg>dev-lang/python</pkg>)</flag> + <flag name="infiniband">Add support for Infiniband ibverbs transport. + Libraries can be found in science overlay</flag> + <flag name="rsyslog">Install configuration snippet for <pkg>app-admin/rsyslog</pkg></flag> + <flag name="qemu-block">Transparently create files as QCow2/QED images in the backend, including the possibility to snapshot.</flag> + <flag name="systemtap">Enable support for <pkg>dev-util/systemtap</pkg></flag> + <flag name="tiering">Enable support for data classification/tiering (requires <pkg>dev-db/sqlite</pkg> SLOT 3)</flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/heartbeat/Manifest b/sys-cluster/heartbeat/Manifest new file mode 100644 index 000000000000..8229d960ea4e --- /dev/null +++ b/sys-cluster/heartbeat/Manifest @@ -0,0 +1,14 @@ +AUX 3.0.4-docs.patch 1735 SHA256 6ca069d0a6862f03026d59078c84dc503cfdd562a159d1e0a3151ed889a108bc SHA512 d8b9328ad8417998f6b3f8ae06a2d99d1b4a1fc53c21770df58b5ae1d2b38b9a396e5b77c9fc74a8a01e7cb239337bdc1b44065161a21f07261c18b7378c0f44 WHIRLPOOL ea5d10e1bd1530cb3939a992af36bea38d8cc8df5c195719bbb7ed7b84ed211144e6db1284fc0a15da4a987847e9f9bc52677434f0a0dd99e71a9abd8acb8b12 +AUX 3.0.4-fix_configure.patch 3300 SHA256 caa4fc8379626aa7c8a021aef47a49eb8d2ef57f30d84bc31a5613ebf814eb48 SHA512 39bb089d2ac6e4d7afb828b24d41e3b261588d8029347ab968dbe3909a3a2a9197fc0ac8f16e920f45870fefaeb86bae064a8625c24ca7cda68cbb79bb1b360b WHIRLPOOL 171a85271b08b9c19201d12112c1c446760b429212a607fc78f6858988f46be34935c89af04b65a1f0da14d417575688935eaae9646a11a46dab229baed929a8 +AUX 3.0.4-python_tests.patch 468 SHA256 b13b88ddb6cbeffea19d756ae54fb2acfb4aa7a169f075e974593a8b40146645 SHA512 e5652ec24b7a5b03347baabb4d09f058df9766020879562822ed3edcd26f78d28456df532c6c12dacfb609d197d06dc565f0bf25ba1b33736d89df2d36f43b9b WHIRLPOOL ba81fbdc1c7efa64be38c817a720e9b90e0ab92dff89fa86d0e3dd70ec17744eabf4d7f9831784907a763b595e6cd16c2d96d0ed4d0bf6e2fea64c722cec2963 +AUX 3.0.5-fix_ucast.patch 4343 SHA256 f8a755ee17145ae1be2e870efaefa01ef3b414a0c32206296471a8d64d5b46ca SHA512 9eac05636bd72be663ab51085310f23ff506290000a8227b24be0efdaa2fb88a7868a848063311af91c0c151e73792a1e9a0ad33ab565f117f339ed6c3241b62 WHIRLPOOL 8f545697b1bcc7707f3e6e78508d5e8b5c99c5d4ec8d784277a653b69f1afbfc2edfe13e3459a97707f7414e752e92550d465b6b68794970341a0d1779fbcdaf +AUX 3.0.6-configure.patch 2943 SHA256 49d089d9765a5c333e4b18ab3d069f5ee7504f282b507e716e0e5c6cdcf4e6f5 SHA512 408402dd41aaa2afd14c5bcfafade753e4f2ca34b7668cb9f29566c3a41cd231ed8ab6b29f9865177c10e820b177aa9a899cf5a2b98db78b267e2bfb8f1d03d6 WHIRLPOOL 3880ba45d61f13a37c212bb0959ef115992d01aaf19cb8cdf5cc96bc0b6574907e537cd6fee379bde19462c782e6ba1bf362bc63b5028bce98a881987bf06289 +AUX 3.0.6-docs.patch 1946 SHA256 11618fbce7ddcb8b4421c6cd7f50b99a61adf8243bd522b58003516f9b74de77 SHA512 e75f4b75a3340d0df9f81e3ef26a6212b2e6ed447f9f7b4a911f05eb6e383726164e7552e4b20d85874d3d3d7c82ce0aa176e886deab76a944e5d716e4a3a0a2 WHIRLPOOL df6c9c42a3b15004f01f248183ee2810bfb33bfacd5f8ffa5ceddb416038d4a51875d252ac0bff1b30144db3c4bc8d04ddd8c99cc237d6909f7fc757a81457dc +AUX heartbeat-init 1711 SHA256 fc0e4270b42d47712c7e9547d0b3e8753382e62d70356591271bccf28fbdec19 SHA512 2c91aea1a7fdcfd35a1b7e824fd7467f776f3f1e0d46b8b14a249f756ec6ac4b3ed379f291bc5c8075094bd386e06ca9e15279f136ae89be5c7551b1f20e208d WHIRLPOOL baf071d9bfaad9fb78d9b0cbf5a9b9e1e69f02517dcd37e0bbcc4981b5d192eef06bc348a3f1f8ea53343a9a61c34ebd4a93335153691d4b1d65c8836702a44f +DIST STABLE-3.0.5.tar.bz2 538986 SHA256 fc7b11f9e1f16bc853434208a1ce86803acf1d0fb6f43715209a84c1c34661c3 SHA512 e38083b87c56a72eb8925ac42adeabb92618608e92218a63960ec0d0bca264f92a8e9c3ebfb0589cc4538da1a82b268b5cc9ee5a51ed33057c969e694e16b27d WHIRLPOOL 699c2679c38f17aacbf230dd68203a8967748c086713ad8bf55688b1e8933caf117ec2a8d2be2ec19b0fa077eacaa1cceec0fea14d181510abb24644a486f6c4 +DIST STABLE-3.0.6.tar.bz2 532796 SHA256 1ab098e6fd22b5a3522b5f9a852ff41a3baff24e5c479801142dbce5f048f42b SHA512 c11fc2e333040b494e63cc0b55d7e5f7555850ba79d8ec6fea17960ec22ee210a81a63a6e486383b6d44d2532c0dc0d69dcffddf9354b7830771a7a532c33f33 WHIRLPOOL d72c74c48917daad202d196a5d0dfc8d80d1dc1f15aa112113d772d8e0c772061169e3f500d36427112720fb316efdbb92a02e897c8c1b8d8c5d7242f3de19b0 +EBUILD heartbeat-3.0.5-r3.ebuild 1860 SHA256 aa64610042d17ebd64dbbfc4fdb37b99d68aef472b263192f710254a0286c2e6 SHA512 9af6307d9cb2cff03944e8d50df61d5ba34b7266ce5d0ae9ddbc226c6136a4d6370c7738f181e2e28edec7f19c71488faa84e983924b4bcb72b288a1b70dcff7 WHIRLPOOL 13fb7543b1d484875593efa35d352f3870148e7fc991a7b64726bee7e1a2ea1852b5821280ae29c3468c2eca2b426b4f25ec4b2b80d461b03c8be4720ef9adbc +EBUILD heartbeat-3.0.6.ebuild 1820 SHA256 83b280655be9114e460a23b7d84604415c61255173a544064ade2c781d164650 SHA512 9624da9444c81816d314732cb72ef5073d93f89426968f9464a6f443c739f1370e505b76c24758b178a32431e5fa2c25e18474c9c37caee8b38790539c4083cd WHIRLPOOL 6b5932061b71e3159c1251af71a39c6808d882c953ea063e1dd82faca982de46754c6b6564478e51d6b33ecce40c7d2b27181d659d3a160688da007a69ef7872 +MISC ChangeLog 2751 SHA256 d27f8d18daad623347d0c374d2b7c0444253af400d5d9efd94b51ce269a81264 SHA512 2bff4b17366784c5eaff1c23890b2818a3ec72856116f00833e832f9b29a610816796fa662490707981e6f381308baac927e61bc0a1f9daea17fc7835b97c866 WHIRLPOOL a8fdfb38fefcbebdcdc37c1441c7d9ee7380d2de30448a6d422ad06d19a1658e6ab4c95964347df1ff3256118af58485b6d8282d8cfe7e55aece28fc586ecacc +MISC ChangeLog-2015 18107 SHA256 6943dcf6a540eb794aecacdaca747b8fb0f8e99f2d8068d09aba0eed39eb36eb SHA512 7c3cfb253741800e37c858fd89b91079220d88359ebee84abc388a74dacd0852731ee3df2b50bf6a4c2a67d902b6b3d02496a12e91b688f4a455f2b1d4f58c5e WHIRLPOOL 7e8b2f08ee9de369c42e00b0e11f68b13b4ca7b3e7e00917cc24af163ac1e90fd649228b4687e943c7944085cfb07752239e480c26fccab5e5d0d11783cd0bda +MISC metadata.xml 373 SHA256 ea66452195c635b5b4df7f5788abc2244498133bae769e7965879c0f1292f581 SHA512 8908e9983ffda4e1bbbd57b772834eb4d79b49193d354de7a336e42aa6eeaf4fae365298e28f074648d1f8681a20c69f86f512cb329f9ad1482dd030d9d38ef6 WHIRLPOOL f4d73d95ef249917818587f3bccdb0a78959d00658b915c0c0e398706ea340eed4d9ee50630807a63b73c34de89bd991971e85c489990bed376bd55d750aee42 diff --git a/sys-cluster/heartbeat/files/3.0.4-docs.patch b/sys-cluster/heartbeat/files/3.0.4-docs.patch new file mode 100644 index 000000000000..a558dd36f5a3 --- /dev/null +++ b/sys-cluster/heartbeat/files/3.0.4-docs.patch @@ -0,0 +1,57 @@ +--- a/configure.in ++++ b/configure.in +@@ -505,8 +505,15 @@ + AC_PATH_PROGS(TEST, test) + AC_PATH_PROGS(PKGCONFIG, pkg-config) + +-dnl xsltproc is required for building the man pages +-AC_PATH_PROGS(XSLTPROC, xsltproc) ++AC_ARG_ENABLE([doc], ++ AS_HELP_STRING([--enable-doc],[Build documentation] ++)) ++AS_IF([test "x$enable_doc" = "xyes"], [ ++ AC_PATH_PROGS(XSLTPROC, xsltproc) ++]) ++AM_CONDITIONAL([BUILD_DOC], [test "x$enable_doc" = "xyes"] ) ++AC_SUBST(XSLTPROC) ++ + + dnl ************************************************************************ + dnl Check whether non-root user can chown. +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -33,11 +33,12 @@ + + doc_DATA = $(OTHER_DOCS) + ++if BUILD_DOC + man_MANS = heartbeat.8 apphbd.8 cl_status.1 \ + hb_standby.1 hb_takeover.1 hb_addnode.1 hb_delnode.1 \ + ha.cf.5 authkeys.5 + +-STYLESHEET_PREFIX ?= http://docbook.sourceforge.net/release/xsl/current ++STYLESHEET_PREFIX ?= /usr/share/sgml/docbook/xsl-stylesheets + MANPAGES_STYLESHEET ?= $(STYLESHEET_PREFIX)/manpages/docbook.xsl + HTML_STYLESHEET ?= $(STYLESHEET_PREFIX)/xhtml/docbook.xsl + FO_STYLESHEET ?= $(STYLESHEET_PREFIX)/fo/docbook.xsl +@@ -47,6 +48,12 @@ + XSLTPROC_HTML_OPTIONS ?= $(XSLTPROC_OPTIONS) + XSLTPROC_FO_OPTIONS ?= $(XSLTPROC_OPTIONS) + ++%.5 %.8 %.1: %.xml ++ $(XSLTPROC) \ ++ $(XSLTPROC_MANPAGES_OPTIONS) \ ++ $(MANPAGES_STYLESHEET) $< ++endif ++ + EXTRA_DIST = $(txtfiles) $(htmlfiles) $(man_MANS) $(OTHER_DOCS) + + ChangeLog: $(SPECSRC) +@@ -56,7 +63,3 @@ + .html.txt: + if [ "X$(HTML2TXT)" = "X" ]; then echo "Lynx or w3m or user-defined HTML2TXT required to convert $< to $@" >$@ ; else $(HTML2TXT) -dump $< >$@ ; fi + +-%.5 %.8 %.1: %.xml +- $(XSLTPROC) \ +- $(XSLTPROC_MANPAGES_OPTIONS) \ +- $(MANPAGES_STYLESHEET) $< diff --git a/sys-cluster/heartbeat/files/3.0.4-fix_configure.patch b/sys-cluster/heartbeat/files/3.0.4-fix_configure.patch new file mode 100644 index 000000000000..1df22b337c5a --- /dev/null +++ b/sys-cluster/heartbeat/files/3.0.4-fix_configure.patch @@ -0,0 +1,110 @@ +--- Heartbeat-3-0-STABLE-3.0.4/configure.in 2010-12-09 21:09:47.000000000 +0100 ++++ Heartbeat-3-0-STABLE-3.0.4/configure.in 2010-12-28 17:37:45.080773140 +0100 +@@ -243,9 +243,9 @@ + mandir=`var "$mandir" "$exec_prefix/man"` + dnl docdir is available in autoconf 2.60+, for older versions preseed + dnl with the same value that 2.60+ uses +-docdir=`var "$docdir" "${datadir}/doc/${PACKAGE_NAME}"` +-libdir=`var "$libdir" "$exec_prefix/lib"` +-libexecdir=`var "$libexecdir" "$exec_prefix/libexec"` ++dnl docdir=`var "$docdir" "${datadir}/doc/${PACKAGE_NAME}"` ++dnl libdir=`var "$libdir" "$exec_prefix/lib"` ++dnl libexecdir=`var "$libexecdir" "$exec_prefix/libexec"` + noarchlibdir=`var "$noarchlibdir" "$prefix/lib"` + + +@@ -284,59 +284,11 @@ + LIBC=`${LDD} ${tmpOutfile} | grep libc | sed -e 's%.*=> *%%' -e 's% .*$%%'` + LibCdir=`dirname $LIBC` + dirlist=`echo $LibCdir | tr '/' ' '` +- LibDirSuffix=unknown +- for dir in $dirlist +- do +- case $dir in +- *lib*) LibDirSuffix=$dir; break;; +- *);; +- esac +- done +- case $LibDirSuffix in +- unknown) LibDirSuffix=`basename $LibCdir`;; +- esac + OutFileType=`file $tmpOutfile` + rm -f $tmpCfile $tmpOutfile + else + AC_MSG_ERROR([Cannot Compile trivial C program]) + fi +-# +-# The code above doesn't work right everywhere +-# (like Fedora and OpenBSD) +-# +-case ${LibDirSuffix} in +- *lib*) : Cool;; +- *) : Sigh... +- case $OutFileType in +- *64-bit*) +- case $host_os in +- openbsd*) LibDirSuffix=lib;; +- *) LibDirSuffix=lib64;; +- esac;; +- *32-bit*) LibDirSuffix=lib;; +- *) LibDirSuffix=lib;; +- esac;; +-esac +-# +-# This may not yet be quite right for PPC where the default +-# is to produce 32-bit binaries, even though the OS is 64-bit +-# or for that matter for system Z, But, it's a lot better than +-# it used to be. +-# +-AC_MSG_RESULT($LibDirSuffix) +- +-case $libdir in +- */*${LibDirSuffix}) : Cool ;; +- *) : Uh Oh... +- libdir=`dirname $libdir`/$LibDirSuffix +- AC_MSG_WARN([Overriding libdir to: $libdir]);; +-esac +-case $libexecdir in +- */$LibDirSuffix) : Cool ;; +- *) : Uh Oh... +- libexecdir=`dirname $libexecdir`/$LibDirSuffix +- AC_MSG_WARN([Overriding libexecdir to: $libexecdir]);; +-esac + + for j in exec_prefix bindir sbindir datadir sysconfdir localstatedir \ + includedir oldincludedir mandir docdir stdocdir libdir noarchlibdir +@@ -386,7 +338,6 @@ + fi + + AC_CHECK_HEADERS(heartbeat/glue_config.h) +-GLUE_HEADER=none + if test "$ac_cv_header_heartbeat_glue_config_h" = "yes"; then + GLUE_HEADER=heartbeat/glue_config.h + else +@@ -453,15 +404,6 @@ + + dnl We use this in the RPM specfile... + AC_SUBST(ac_configure_args) +-cleaned_configure_args="" +-for j in ${ac_configure_args} +-do +- case $j in +- *--libdir=*|*--libexecdir=*) ;; +- *) cleaned_configure_args="$cleaned_configure_args $j";; +- esac +-done +-AC_SUBST(cleaned_configure_args) + + dnl ************************************************************************* + PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin" +--- Heartbeat-3-0-STABLE-3.0.5/configure.in 2011-12-28 11:51:05.601673071 +0100 ++++ Heartbeat-3-0-STABLE-3.0.5/configure.in 2011-12-28 11:54:34.223094385 +0100 +@@ -2002,7 +2002,7 @@ + fi + + if test "$GCC" = yes; then +- CFLAGS="$CFLAGS -ggdb3" ++ CFLAGS="$CFLAGS" + if + cc_supports_flag -funsigned-char + then diff --git a/sys-cluster/heartbeat/files/3.0.4-python_tests.patch b/sys-cluster/heartbeat/files/3.0.4-python_tests.patch new file mode 100644 index 000000000000..e6e1071573a9 --- /dev/null +++ b/sys-cluster/heartbeat/files/3.0.4-python_tests.patch @@ -0,0 +1,29 @@ +--- a/cts/Makefile.am ++++ b/cts/Makefile.am +@@ -21,7 +21,7 @@ + + ctsdir = @HA_NOARCHDATAHBDIR@/cts + +-cts_PYTHON = \ ++cts_SCRIPTS = \ + CM_fs.py \ + CM_hb.py \ + CM_LinuxHAv2.py \ +@@ -32,14 +32,12 @@ + extracttests.py \ + getpeinputs.sh \ + OCFIPraTest.py \ +- CIB.py ++ CIB.py \ ++ CTSproxy.py \ ++ LSBDummy + + cts_DATA = README + +-cts_SCRIPTS = \ +- CTSproxy.py \ +- getpeinputs.sh \ +- LSBDummy + + all-local: $(cts_PYTHON) + diff --git a/sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch b/sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch new file mode 100644 index 000000000000..3bec9c89dd86 --- /dev/null +++ b/sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch @@ -0,0 +1,145 @@ + +# HG changeset patch +# User Lars Ellenberg <lars@linbit.com> +# Date 1392200751 -3600 +# Node ID 37f57a36a2dd1abf8461a9b758e62f6fe7a22f77 +# Parent 6d4324633600dc7ae7aa08c56d86c2fcc767977f +Medium: fix usage of SO_REUSEPORT in ucast sockets + +Linux learned SO_REUSEPORT only with kernel 3.9, +but some linux headers already define SO_REUSEPORT. +Which, on older kernels, will result in ENOPROTOOPT, +"Protocol not available". + +Failure to set SO_REUSEPORT is NOT critical in general. +It *may* be a problem on certain BSDs, +with more than two nodes, all using ucast. + +Refusing to start because of failure to set SO_REUSEPORT is +not helpful for the vast majority of the clusters out there. + +While at it, downgrade "critical" log messages to warnings +in non-fatal situations. + +--- a/lib/plugins/HBcomm/ucast.c ++++ b/lib/plugins/HBcomm/ucast.c +@@ -461,12 +461,6 @@ static int HB_make_send_sock(struct hb_m + int sockfd; + struct ip_private *ei; + int tos; +-#if defined(SO_BINDTODEVICE) +- struct ifreq i; +-#endif +-#if defined(SO_REUSEPORT) +- int i = 1; +-#endif + + UCASTASSERT(mp); + ei = (struct ip_private*)mp->pd; +@@ -494,6 +488,7 @@ static int HB_make_send_sock(struct hb_m + + #if defined(SO_BINDTODEVICE) + { ++ struct ifreq i; + /* + * We want to send out this particular interface + * +@@ -515,12 +510,13 @@ static int HB_make_send_sock(struct hb_m + #endif + #if defined(SO_REUSEPORT) + { ++ int one = 1; + /* this is for OpenBSD to allow multiple * + * ucast connections, e.g. a more than * + * two node cluster */ + + if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, +- &i, sizeof(i)) == -1) { ++ &one, sizeof(one)) == -1) { + PILCallLog(LOG, PIL_CRIT, + "ucast: error setting option SO_REUSEPORT(w): %s", strerror(errno)); + close(sockfd); +@@ -548,7 +544,7 @@ static int HB_make_receive_sock(struct h + int sockfd; + int bindtries; + int boundyet = 0; +- int j; ++ int one = 1; + + UCASTASSERT(mp); + ei = (struct ip_private*)mp->pd; +@@ -563,22 +559,19 @@ static int HB_make_receive_sock(struct h + strerror(errno)); + return -1; + } +- /* +- * Set SO_REUSEADDR on the server socket s. Variable j is used +- * as a scratch varable. +- * +- * 16th February 2000 +- * Added by Horms <horms@vergenet.net> +- * with thanks to Clinton Work <work@scripty.com> +- */ +- j = 1; ++ /* ++ * Set SO_REUSEADDR on the server socket s. ++ * Below, also try to set SO_REUSEPORT, ++ * if known and supported. ++ */ + if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, +- (void *)&j, sizeof j) < 0) { ++ &one, sizeof(one)) < 0) { + /* Ignore it. It will almost always be OK anyway. */ +- PILCallLog(LOG, PIL_CRIT, ++ PILCallLog(LOG, PIL_WARN, + "ucast: error setting socket option SO_REUSEADDR: %s", + strerror(errno)); +- } ++ } else ++ PILCallLog(LOG, PIL_INFO, "ucast: set SO_REUSEADDR"); + #if defined(SO_BINDTODEVICE) + { + /* +@@ -600,20 +593,32 @@ static int HB_make_receive_sock(struct h + } + #endif + #if defined(SO_REUSEPORT) +- { ++ /* ++ * Needed for OpenBSD for more than two nodes in a ucast cluster ++ */ ++ if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, ++ &one, sizeof(one)) == -1) { + /* +- * Needed for OpenBSD for more than two nodes in a ucast cluster ++ * Linux learned SO_REUSEPORT only with kernel 3.9, ++ * but some linux headers already define SO_REUSEPORT. ++ * Which will result in ENOPROTOOPT, "Protocol not available" ++ * on older kernels. ++ * Failure to set SO_REUSEPORT is NOT critical in general. ++ * It *may* be a problem on certain BSDs with more than ++ * two nodes all using ucast. ++ * Refusing to start because of failure to set SO_REUSEPORT is ++ * not helpful for the vast majority of the clusters out there. + */ +- int i = 1; +- if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, +- &i, sizeof(i)) == -1) { ++ if (errno == ENOPROTOOPT) { ++ PILCallLog(LOG, PIL_WARN, ++ "ucast: error setting option SO_REUSEPORT: %s", strerror(errno)); ++ } else { + PILCallLog(LOG, PIL_CRIT, +- "ucast: error setting option SO_REUSEPORT(r) %s", strerror(errno)); +- close(sockfd); ++ "ucast: error setting option SO_REUSEPORT: %s", strerror(errno)); + return -1; + } +- PILCallLog(LOG, PIL_INFO, "ucast: set SO_REUSEPORT(w)"); +- } ++ } else ++ PILCallLog(LOG, PIL_INFO, "ucast: set SO_REUSEPORT"); + #endif + + /* Try binding a few times before giving up */ + diff --git a/sys-cluster/heartbeat/files/3.0.6-configure.patch b/sys-cluster/heartbeat/files/3.0.6-configure.patch new file mode 100644 index 000000000000..36054dd23d3b --- /dev/null +++ b/sys-cluster/heartbeat/files/3.0.6-configure.patch @@ -0,0 +1,103 @@ +diff -ru a/configure.ac b/configure.ac +--- a/configure.ac 2015-02-04 15:57:04.000000000 +0100 ++++ b/configure.ac 2017-04-25 13:33:58.668521006 +0200 +@@ -243,9 +243,9 @@ + mandir=`var "$mandir" "$exec_prefix/man"` + dnl docdir is available in autoconf 2.60+, for older versions preseed + dnl with the same value that 2.60+ uses +-docdir=`var "$docdir" "${datadir}/doc/${HB_PKG}"` +-libdir=`var "$libdir" "$exec_prefix/lib"` +-libexecdir=`var "$libexecdir" "$exec_prefix/libexec"` ++dnl docdir=`var "$docdir" "${datadir}/doc/${PACKAGE_NAME}"` ++dnl libdir=`var "$libdir" "$exec_prefix/lib"` ++dnl libexecdir=`var "$libexecdir" "$exec_prefix/libexec"` + noarchlibdir=`var "$noarchlibdir" "$prefix/lib"` + + +@@ -284,53 +284,12 @@ + LIBC=`${LDD} ${tmpOutfile} | grep libc | sed -e 's%.*=> *%%' -e 's% .*$%%'` + LibCdir=`dirname $LIBC` + dirlist=`echo $LibCdir | tr '/' ' '` +- LibDirSuffix=unknown +- for dir in $dirlist +- do +- case $dir in +- *lib*) LibDirSuffix=$dir; break;; +- *);; +- esac +- done +- case $LibDirSuffix in +- unknown) LibDirSuffix=`basename $LibCdir`;; +- esac + OutFileType=`file $tmpOutfile` + rm -f $tmpCfile $tmpOutfile + else + AC_MSG_ERROR([Cannot Compile trivial C program]) + fi +-# +-# The code above doesn't work right everywhere +-# (like Fedora and OpenBSD) +-# +-case ${LibDirSuffix} in +- *lib*) : Cool;; +- *) : Sigh... +- case $OutFileType in +- *64-bit*) +- case $host_os in +- openbsd*) LibDirSuffix=lib;; +- *) LibDirSuffix=lib64;; +- esac;; +- *32-bit*) LibDirSuffix=lib;; +- *) LibDirSuffix=lib;; +- esac;; +-esac +-# +-# This may not yet be quite right for PPC where the default +-# is to produce 32-bit binaries, even though the OS is 64-bit +-# or for that matter for system Z, But, it's a lot better than +-# it used to be. +-# +-AC_MSG_RESULT($LibDirSuffix) + +-case $libdir in +- */*${LibDirSuffix}) : Cool ;; +- *) : Uh Oh... +- libdir=`dirname $libdir`/$LibDirSuffix +- AC_MSG_WARN([Overriding libdir to: $libdir]);; +-esac + for j in exec_prefix bindir sbindir datadir sysconfdir localstatedir \ + includedir oldincludedir mandir docdir stdocdir libdir noarchlibdir + do +@@ -379,7 +338,6 @@ + fi + + AC_CHECK_HEADERS(heartbeat/glue_config.h) +-GLUE_HEADER=none + if test "$ac_cv_header_heartbeat_glue_config_h" = "yes"; then + GLUE_HEADER=heartbeat/glue_config.h + else +@@ -463,15 +421,6 @@ + + dnl We use this in the RPM specfile... + AC_SUBST(ac_configure_args) +-cleaned_configure_args="" +-for j in ${ac_configure_args} +-do +- case $j in +- *--libdir=*|*--libexecdir=*) ;; +- *) cleaned_configure_args="$cleaned_configure_args $j";; +- esac +-done +-AC_SUBST(cleaned_configure_args) + + dnl ************************************************************************* + PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin" +@@ -2087,7 +2036,7 @@ + fi + + if test "$GCC" = yes; then +- CFLAGS="$CFLAGS -ggdb3" ++ CFLAGS="$CFLAGS" + if + cc_supports_flag -funsigned-char + then diff --git a/sys-cluster/heartbeat/files/3.0.6-docs.patch b/sys-cluster/heartbeat/files/3.0.6-docs.patch new file mode 100644 index 000000000000..7c5c9573109f --- /dev/null +++ b/sys-cluster/heartbeat/files/3.0.6-docs.patch @@ -0,0 +1,59 @@ +diff -ru a/configure.ac b/configure.ac +--- a/configure.ac 2015-02-04 15:57:04.000000000 +0100 ++++ b/configure.ac 2017-04-25 11:57:33.706753890 +0200 +@@ -574,8 +574,14 @@ + AC_PATH_PROGS(TEST, test) + PKG_PROG_PKG_CONFIG + +-dnl xsltproc is required for building the man pages +-AC_PATH_PROGS(XSLTPROC, xsltproc) ++AC_ARG_ENABLE([doc], ++ AS_HELP_STRING([--enable-doc],[Build documentation] ++)) ++AS_IF([test "x$enable_doc" = "xyes"], [ ++ AC_PATH_PROGS(XSLTPROC, xsltproc) ++]) ++AM_CONDITIONAL([BUILD_DOC], [test "x$enable_doc" = "xyes"] ) ++AC_SUBST(XSLTPROC) + + dnl ************************************************************************ + dnl Check whether non-root user can chown. +diff -ru a/doc/Makefile.am b/doc/Makefile.am +--- a/doc/Makefile.am 2015-02-04 15:57:04.000000000 +0100 ++++ b/doc/Makefile.am 2017-04-25 11:58:35.459257834 +0200 +@@ -33,11 +33,12 @@ + + doc_DATA = $(OTHER_DOCS) + ++if BUILD_DOC + man_MANS = heartbeat.8 apphbd.8 cl_status.1 \ + hb_standby.1 hb_takeover.1 hb_addnode.1 hb_delnode.1 \ + ha.cf.5 authkeys.5 + +-STYLESHEET_PREFIX ?= http://docbook.sourceforge.net/release/xsl/current ++STYLESHEET_PREFIX ?= /usr/share/sgml/docbook/xsl-stylesheets + MANPAGES_STYLESHEET ?= $(STYLESHEET_PREFIX)/manpages/docbook.xsl + HTML_STYLESHEET ?= $(STYLESHEET_PREFIX)/xhtml/docbook.xsl + FO_STYLESHEET ?= $(STYLESHEET_PREFIX)/fo/docbook.xsl +@@ -47,6 +48,12 @@ + XSLTPROC_HTML_OPTIONS ?= $(XSLTPROC_OPTIONS) + XSLTPROC_FO_OPTIONS ?= $(XSLTPROC_OPTIONS) + ++%.5 %.8 %.1: %.xml ++ $(XSLTPROC) \ ++ $(XSLTPROC_MANPAGES_OPTIONS) \ ++ $(MANPAGES_STYLESHEET) $< ++endif ++ + EXTRA_DIST = $(txtfiles) $(htmlfiles) $(man_MANS) $(OTHER_DOCS) + + ChangeLog: $(SPECSRC) +@@ -55,8 +62,3 @@ + + .html.txt: + if [ "X$(HTML2TXT)" = "X" ]; then echo "Lynx or w3m or user-defined HTML2TXT required to convert $< to $@" >$@ ; else $(HTML2TXT) -dump $< >$@ ; fi +- +-%.5 %.8 %.1: %.xml +- $(XSLTPROC) \ +- $(XSLTPROC_MANPAGES_OPTIONS) \ +- $(MANPAGES_STYLESHEET) $< diff --git a/sys-cluster/heartbeat/files/heartbeat-init b/sys-cluster/heartbeat/files/heartbeat-init new file mode 100644 index 000000000000..9316fcc81e8f --- /dev/null +++ b/sys-cluster/heartbeat/files/heartbeat-init @@ -0,0 +1,92 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +HA_DIR=/etc/ha.d +. $HA_DIR/shellfuncs + +depend() { + use logger + need net +} + +opts="start stop status reload restart" + +CheckBool() { + case `echo "$1" | tr A-Z a-z` in + y|yes|enable|on|true|1) true;; + *) false;; + esac +} + +# Run pre-startup script if it exists +RunStartStop() { + [ -f $HA_DIR/resource.d/startstop ] && $HA_DIR/resource.d/startstop "$@" +} + +start() { + checkpath -q -d -m 0755 -o root:root /var/run/heartbeat + + ebegin "Starting heartbeat" + + . $HA_DIR/shellfuncs + + # start the log subsystem + CheckBool "`ha_parameter use_logd`" && \ + ( /usr/lib/heartbeat/ha_logd -s &>/dev/null || \ + /usr/lib/heartbeat/ha_logd -d -c /etc/ha.d/ha_logd.cf) + + RunStartStop pre-start + + CheckBool "`ha_parameter crm`" || \ + /usr/lib/heartbeat/ResourceManager verifyallidle + + /usr/lib/heartbeat/heartbeat &>/dev/null + ret=$? + + RunStartStop post-start + + eend ${ret} +} + +stop() { + ebegin "Stopping heartbeat" + + RunStartStop pre-stop + + /usr/lib/heartbeat/heartbeat -k &>/dev/null + ret=$? + + RunStartStop post-stop ${ret} + + # stop log subsystem + CheckBool "`ha_parameter use_logd`" && \ + ( /usr/lib/heartbeat/ha_logd -s &>/dev/null && \ + /usr/lib/heartbeat/ha_logd -k &>/dev/null ) + + eend ${ret} +} + +status() { + /usr/lib/heartbeat/heartbeat -s +} + +reload() { + ebegin "Reloading heartbeat" + /usr/lib/heartbeat/heartbeat -r &>/dev/null + eend $? +} + +restart() { + . $HA_DIR/shellfuncs + + sleeptime=$(( `ha_parameter deadtime` + 10 )) + + svc_stop + + ebegin " waiting ${sleeptime}s to allow resource takeover to complete" + sleep ${sleeptime} + eend 0 + + svc_start +} diff --git a/sys-cluster/heartbeat/heartbeat-3.0.5-r3.ebuild b/sys-cluster/heartbeat/heartbeat-3.0.5-r3.ebuild new file mode 100644 index 000000000000..20aadc77cebf --- /dev/null +++ b/sys-cluster/heartbeat/heartbeat-3.0.5-r3.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 ) +inherit autotools python-single-r1 + +DESCRIPTION="Heartbeat high availability cluster manager" +HOMEPAGE="http://www.linux-ha.org/wiki/Heartbeat" +SRC_URI="http://hg.linux-ha.org/${PN}-STABLE_3_0/archive/STABLE-${PV}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 hppa x86" +IUSE="doc snmp static-libs" + +RDEPEND="sys-cluster/cluster-glue + dev-libs/glib:2 + virtual/ssh + net-libs/gnutls + snmp? ( net-analyzer/net-snmp ) + ${PYTHON_DEPS} +" +DEPEND="${RDEPEND} + virtual/pkgconfig + dev-lang/swig + doc? ( dev-libs/libxslt app-text/docbook-xsl-stylesheets )" + +PDEPEND="sys-cluster/resource-agents" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +S=${WORKDIR}/Heartbeat-3-0-STABLE-${PV} + +PATCHES=( + "${FILESDIR}/3.0.4-fix_configure.patch" + "${FILESDIR}/3.0.4-docs.patch" + "${FILESDIR}/3.0.4-python_tests.patch" + "${FILESDIR}/3.0.5-fix_ucast.patch" +) + +pkg_setup() { + python-single-r1_pkg_setup + + ewarn "If you're upgrading from heartbeat-2.x please follow:" + ewarn "https://www.gentoo.org/proj/en/cluster/ha-cluster/heartbeat-upgrade.xml" +} + +src_prepare() { + default + eautoreconf + + cp "${FILESDIR}"/heartbeat-init "${WORKDIR}" || die + sed -i \ + -e "/ResourceManager/ s/lib/share/" \ + -e "s:lib:$(get_libdir):g" \ + "${WORKDIR}"/heartbeat-init || die +} + +src_configure() { + econf \ + --disable-fatal-warnings \ + $(use_enable static-libs static) \ + $(use_enable doc) \ + --disable-tipc \ + --enable-dopd \ + $(use_enable snmp) +} + +src_install() { + default + + newinitd "${WORKDIR}/heartbeat-init" heartbeat + + # fix collisions + rm -rf "${D}"/usr/include/heartbeat/{compress,ha_msg}.h || die + + if ! use static-libs; then + find "${D}" -name "*.la" -delete || die + fi + + if use doc ; then + dodoc README doc/*.txt doc/AUTHORS || die + fi +} diff --git a/sys-cluster/heartbeat/heartbeat-3.0.6.ebuild b/sys-cluster/heartbeat/heartbeat-3.0.6.ebuild new file mode 100644 index 000000000000..87b148818ad4 --- /dev/null +++ b/sys-cluster/heartbeat/heartbeat-3.0.6.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit autotools python-single-r1 + +DESCRIPTION="Heartbeat high availability cluster manager" +HOMEPAGE="http://www.linux-ha.org/wiki/Heartbeat" +SRC_URI="http://hg.linux-ha.org/${PN}-STABLE_3_0/archive/STABLE-${PV}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="doc snmp static-libs" + +RDEPEND="sys-cluster/cluster-glue + dev-libs/glib:2 + virtual/ssh + net-libs/gnutls + snmp? ( net-analyzer/net-snmp ) + ${PYTHON_DEPS} +" +DEPEND="${RDEPEND} + virtual/pkgconfig + dev-lang/swig + doc? ( dev-libs/libxslt app-text/docbook-xsl-stylesheets )" + +PDEPEND="sys-cluster/resource-agents" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +S=${WORKDIR}/Heartbeat-3-0-STABLE-${PV} + +PATCHES=( + "${FILESDIR}/3.0.6-configure.patch" + "${FILESDIR}/3.0.6-docs.patch" + "${FILESDIR}/3.0.4-python_tests.patch" +) + +pkg_setup() { + python-single-r1_pkg_setup + + ewarn "If you're upgrading from heartbeat-2.x please follow:" + ewarn "https://www.gentoo.org/proj/en/cluster/ha-cluster/heartbeat-upgrade.xml" +} + +src_prepare() { + default + eautoreconf + + cp "${FILESDIR}"/heartbeat-init "${WORKDIR}" || die + sed -i \ + -e "/ResourceManager/ s/lib/share/" \ + -e "s:lib:$(get_libdir):g" \ + "${WORKDIR}"/heartbeat-init || die +} + +src_configure() { + econf \ + --disable-fatal-warnings \ + $(use_enable static-libs static) \ + $(use_enable doc) \ + --disable-tipc \ + --enable-dopd \ + $(use_enable snmp) +} + +src_install() { + default + + newinitd "${WORKDIR}/heartbeat-init" heartbeat + + # fix collisions + rm -rf "${D}"/usr/include/heartbeat/{compress,ha_msg}.h || die + + if ! use static-libs; then + find "${D}" -name "*.la" -delete || die + fi + + if use doc ; then + dodoc README doc/*.txt doc/AUTHORS || die + fi +} diff --git a/sys-cluster/heartbeat/metadata.xml b/sys-cluster/heartbeat/metadata.xml new file mode 100644 index 000000000000..5b089a69229f --- /dev/null +++ b/sys-cluster/heartbeat/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + + <longdescription> + Heartbeat is a cluster manager to handle failover of 2 nodes. + </longdescription> +</pkgmetadata> diff --git a/sys-cluster/heat/Manifest b/sys-cluster/heat/Manifest new file mode 100644 index 000000000000..06045a03b382 --- /dev/null +++ b/sys-cluster/heat/Manifest @@ -0,0 +1,18 @@ +AUX heat.initd 1349 SHA256 6351d06084b740daebd7b4b225d0f953e576f32be269acd1e8793c6433473411 SHA512 a2a2f45bb4268260ca88d7cb5c2df1e9d27041bf36fa59aadc7e39d85b79aad6992c70a3e8f9d580a493801c75299ab99191df23624ad70139f30758d8027492 WHIRLPOOL 851a5ab7febd2d8901446db2a5682cdb1c12582a0a8320ec4650abdefed2229eedf4404d4faa68f050fd96362ba4bb21e00da61493994d380a4927257a5365ad +AUX heat.initd-2 463 SHA256 2c7f4e524c7b8022aa5a68406655bdb3a47b9d6bd6a44329d9710c760ce14c82 SHA512 8f92853d6bb21e6efae3a59bc2856bd496498297e43a5aa0350a3202e8a709cfd0791f77017b77d8b7845c3cf0d2b266273026c9cac869e3dbc749e36bf83c7c WHIRLPOOL b3379ec3c880e423c121c2b9e25039005d587c8765ade235173816e1434a79c94cd3f7da09cc18ee6d30dcc8c2e45fb10c5722a5596ce08b93353c59c2efb16a +AUX newton-heat.conf.sample 44580 SHA256 a14fcca8e128e588077fdcafbf991a383ac926bf621273a5925055a7faaebd33 SHA512 e96aad96d7b93c704ab03b7f9e6edb9ea20f6854f6d3fb79fe2bba800e7fc320e20cb1adec5d4b5f499dcb9f7dd786e54eae62670af43f4fc5681f3e6ce6fcf4 WHIRLPOOL 411b5963ff433eab8d572b44b39a98defc23a411e24169030a22b27e70d9957185d448e2d07caabe132dc71b3f95fddd4f4569e25d462faea1b749b5327bc96d +DIST heat-7.0.6.tar.gz 2253662 SHA256 2881c02f265f961c78506ae2b0acdf7f74a7a294517f23b43dadad854dd53653 SHA512 49cdf09fd38e663fc35226d743ea54f64303c86ccda2071db77ca1df861da253226a453d194b4652fe1f5c542529200c16232d654d8b7c0d59e5cd5c9e215834 WHIRLPOOL 85fd932158f3024a8dbcd36a5bd2c3cacee453bb53c267a8de68dca3f4eafe6ea0bb22f8a6416fab958dd798469ca64685f4704f97bfe9f31ba3b87f561b9034 +DIST heat-8.0.4.tar.gz 2304762 SHA256 7997dac0f35ad7fb236536959a46e843dab56dbce5694849585cb97affbbb198 SHA512 9846114813b743ba9abfb4ce6e9d3cdcddfb81a242fda83a9d22a9fc30017fec2464f3b75364d9be38d50218e79485f3405e429fac1830d163c50737b07c2865 WHIRLPOOL 8420bffb6e2b86528d9104abb981368fa2fe36b33057b0e02f1fcf9e9106a4cd58bdb833e459e38a64bd47b2f4955e15f589673b57442184e3bcd60894feab4b +DIST heat-9.0.0.tar.gz 2359104 SHA256 36dbb46b72bf7b495ba8812804da7d4e9bb59481743e6e0499e904efdf4ee7be SHA512 d60cfd69807af5a51da6d236e5ccf482a5fd65f8bb2e5e8287eca587f27d0af570979b554a311037904a7c01cd8dcba43a5ef577261fb7f12a557ba6ff2ec58e WHIRLPOOL 43f9afaa57e84e7e29bba4754d3b7499afece40961891dafd6bf75da3032f79806dee6d4de91e0afd24ad53b97cf615e91df46646ed39b2df05fa53d36a31527 +DIST heat.conf.sample-2017.1.9999 88798 SHA256 688a6fd65df3b9f004345c8cf739c5a553b6806213c399ac25846d1ad248e963 SHA512 5ea23f33ddc2b34414371a612041abd075694a7d63bb55efd1e75f313b4e9f35e0d68b420536bc474cd4896b0295d8763bdecbb07c71d29c462c14183159e560 WHIRLPOOL 9a91069136dcbf15d47a4b5df6521ca2740eb1a88feab57b28f2f921e517ae7557125b5ea877d4c9ed5314321c8de551270722809d270c1b8ae0245d2a75b515 +DIST heat.conf.sample-2017.2.9999 88901 SHA256 cb46fbbfa0e8ccccdc84c4637312f0d21b0c95037d2b3404623653c1b5eb0a92 SHA512 f62feaa4a0d27866876aed9f78099501247ae4b7deaefd04d77b1f4b2a1d1c991e6f3e68d9f82e3b6a4358c99fbffd90f14a05ff98105df0ef0db68ef8bc6932 WHIRLPOOL 284ad592883c8e42518872d603d097672056ba25a194569f31ee9244d1095f640f02097fda0a6539b47247ba580929d79ec173f1847bfc5e19bf45fb8cbe4720 +DIST heat.conf.sample-8.0.4 88798 SHA256 688a6fd65df3b9f004345c8cf739c5a553b6806213c399ac25846d1ad248e963 SHA512 5ea23f33ddc2b34414371a612041abd075694a7d63bb55efd1e75f313b4e9f35e0d68b420536bc474cd4896b0295d8763bdecbb07c71d29c462c14183159e560 WHIRLPOOL 9a91069136dcbf15d47a4b5df6521ca2740eb1a88feab57b28f2f921e517ae7557125b5ea877d4c9ed5314321c8de551270722809d270c1b8ae0245d2a75b515 +DIST heat.conf.sample-9.0.0 88901 SHA256 cb46fbbfa0e8ccccdc84c4637312f0d21b0c95037d2b3404623653c1b5eb0a92 SHA512 f62feaa4a0d27866876aed9f78099501247ae4b7deaefd04d77b1f4b2a1d1c991e6f3e68d9f82e3b6a4358c99fbffd90f14a05ff98105df0ef0db68ef8bc6932 WHIRLPOOL 284ad592883c8e42518872d603d097672056ba25a194569f31ee9244d1095f640f02097fda0a6539b47247ba580929d79ec173f1847bfc5e19bf45fb8cbe4720 +EBUILD heat-2016.2.9999.ebuild 5772 SHA256 e6809ac0a7ed08f165bae4d2be6714561d7da482eb48e3aefb6995823eec99ab SHA512 277ce6153525e4f4c8c3e98a8f11469cc1fab0be1e566b8830220a00f5ee493a8effa9e0e52d28ca4cbae82c5bdc4f127f76dc4b0b0d8b570889f47f559af963 WHIRLPOOL 3bcfb10b7d7b12991e2097d7c49733397ed57932b6a0a55a888a28e0ebc0fbda32d9145708451ea85abfbe80759964d697e59f2b06cd5ef50777e1cf0691519a +EBUILD heat-2017.1.9999.ebuild 5666 SHA256 6a00fb00d27ca007fde4f73f112019af92cb6a5d79d578ff19a1cb05f7d1f368 SHA512 3b99e7e4b8fa48d17e72b2e404c818da31ba668f63d76f4404ff42a6862f0918e4b9ac91fdc95977dda98c931ebd893cadba35553dcb437f563b75905b6ce058 WHIRLPOOL 86a5eaf23be27bd19123ea137b1d3f78fe7b055c1855527677d619d45dd48ae9189d8a740927250f0eed193653c7cc3448b8a06da3c91d4935383506b21c53b9 +EBUILD heat-2017.2.9999.ebuild 6456 SHA256 2fe1669fee37a96e85605a9a968d9f3dbd1a8b2575af46b6c6d57584e4efd4aa SHA512 5f57c8610494a03382c9f2e60716eb221b26e39f56354637960bfc2166437e0d217297911460c8d34a60b5f2dc00e2aa00d10f8b17d0d025c7d5341510e53a7f WHIRLPOOL de4d89ebd301252ca63cb967abee76d6cb6d4ddacfc21e9ff8e81cbf1d5044f1ed4dd11ad8c6416959f285be8c7d7f5cc5fc1f0a2906401b814b9b5f4fddbd44 +EBUILD heat-7.0.6.ebuild 5735 SHA256 014a74d7f5d8b308e8cb2f75ad953d85d3eea7ae17dbaa8267898d802a82a823 SHA512 f0733c8af206a3529e7ac0ac5a2b4cb814fc30eeb3ae12fa467dcc4015540e812d14b7a92d16b80bd054797fd6f9617ac213cbbb936e4d857f5e5f7520f8f873 WHIRLPOOL 74d351a605d5a949d4d6bdee98431852d407b3dfc9de0149ebce1990e91cd0527165d42360c8475fde325a32f302f91793fe4d0e91ce4999d147a82aaffeef3c +EBUILD heat-8.0.4.ebuild 5644 SHA256 7f86f98db8c106c035b62da96aa43ee9ab19af49bb36d4f002999d8a16eb90f6 SHA512 7cf53cd26567282869ce2aaf1b045cd30c16af63fe484fd238cae512ce8c8a04018d76d5fd7cb828a690d9d24526cdc5b259e7b3b0a4e786b090c41b290269cb WHIRLPOOL 9b9fc8adda07a3d08b84600ba51afd7599110463564584d2e0fef574113ba1db50c10c0acf638c90773242441ec1e244defc0cb98abbf33fc0a8b8eceb66da5c +EBUILD heat-9.0.0.ebuild 6435 SHA256 6af699b66af71f9cd386b2784ff5d2f53326dbefa0769680cad695837900b4de SHA512 2d4de5bd02b861ef4e6b306314629bd06c2c883b56e5493e8efda75cf7a62fc5a600002c401115ac34c019325fb858ddc059ae307cf2e7751dfdbd0b4c9d22eb WHIRLPOOL 28f9bce391a7f3d7cfb8ea3ffb86fcace088f8bae779b660a2c1d117514d0e65dfd2081b9377f42500c55809a55ad4638e5edcded737e80aacb8064e690dbdf5 +MISC ChangeLog 1787 SHA256 3deab106bdcbb6a3b66d3c6a12797c9d36e1e77d24534669bf06759f5119981e SHA512 7d7b6abdfafe22c664c324317e6e9caa39f25d9ab8f49325534e414ec776ec7611538df92ac7b1dff370cc31c27f7b04a0c9346edc257bb46a48de9f858acc0a WHIRLPOOL a05b856678fccde635231f43c3275dee8b1f92aad8ff12988b2a03a087d61ac598f70d94e22efa9dc3630c99cd446ae5d84579db48f15043bbe00437d0ab8eef +MISC metadata.xml 631 SHA256 d276373e28e559d61fd96704214c329d6e264841cde3147f0600e52ef877c5e6 SHA512 44e741975cc462454bfd08fce461b019c5ef141997f272796052f7f3aa7297646304cdc7d75a2ed01319bcba753475ba5861306c3ac74f3d97218bce60d42429 WHIRLPOOL cb83fb56d6316389e63043623c025abfc09352d6ade6a0aee9d442f8bf4603f09167b99aba5593ae4fa55be369b3c7ae442dc7ac5ed680c2d4a666a8c92baaef diff --git a/sys-cluster/heat/files/heat.initd b/sys-cluster/heat/files/heat.initd new file mode 100644 index 000000000000..41ec14cf82a3 --- /dev/null +++ b/sys-cluster/heat/files/heat.initd @@ -0,0 +1,52 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +BASENAME=$(echo $SVCNAME | cut -d '-' -f 1) +SERVERNAME=$(echo $SVCNAME | cut -d '-' -f 2) + +depend() { + need net +} + +checkconfig() { + if [ ! -r /etc/conf.d/$BASENAME ]; then + eerror "No heat conf.d file found: /etc/conf.d/$BASENAME)" + else + . /etc/conf.d/$BASENAME + fi +} + +start() { + checkconfig || return $? + + ebegin "Starting ${SVCNAME}" + if [ ! -d ${PID_PATH} ]; then + mkdir ${PID_PATH} + chown heat:root ${PID_PATH} + fi + + start-stop-daemon --start \ + --quiet \ + --user heat \ + --pidfile "${PID_PATH}/${SVCNAME}.pid" \ + --make-pidfile \ + --background \ + --exec /usr/bin/heat-${SERVERNAME} -- --config-file /etc/heat/heat.conf --log-file /var/log/heat/heat-${SERVERNAME} + + eend $? "Failed to start ${SVCNAME}" +} + +stop() { + checkconfig || return $? + + ebegin "Stopping ${SVCNAME}" + + start-stop-daemon --stop \ + --quiet \ + --user heat \ + --pidfile "${PID_PATH}/${SVCNAME}.pid" \ + --exec /usr/bin/heat-${SERVERNAME} -- --config-file /etc/heat/heat.conf + + eend $? "Failed to stop ${SVCNAME}" +} diff --git a/sys-cluster/heat/files/heat.initd-2 b/sys-cluster/heat/files/heat.initd-2 new file mode 100644 index 000000000000..2161aa9918ee --- /dev/null +++ b/sys-cluster/heat/files/heat.initd-2 @@ -0,0 +1,16 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Starts ${SVCNAME} service for OpenStack" + +command=/usr/bin/${SVCNAME} +command_user="${HEAT_USER:-heat}" +command_background=yes +command_args="--config-file /etc/heat/heat.conf --log-file ${HEAT_LOGDIR:-/var/log/heat}/${SVCNAME}.log" +pidfile=/run/${SVCNAME}.pid +required_files=/etc/heat/heat.conf + +depend() { + need net +} diff --git a/sys-cluster/heat/files/newton-heat.conf.sample b/sys-cluster/heat/files/newton-heat.conf.sample new file mode 100644 index 000000000000..433b8ba3e5e8 --- /dev/null +++ b/sys-cluster/heat/files/newton-heat.conf.sample @@ -0,0 +1,1225 @@ +[DEFAULT] + +# +# From oslo.log +# + +# If set to true, the logging level will be set to DEBUG instead of the default +# INFO level. (boolean value) +# Note: This option can be changed without restarting. +#debug = false + +# DEPRECATED: If set to false, the logging level will be set to WARNING instead +# of the default INFO level. (boolean value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +#verbose = true + +# The name of a logging configuration file. This file is appended to any +# existing logging configuration files. For details about logging configuration +# files, see the Python logging module documentation. Note that when logging +# configuration files are used then all logging configuration is set in the +# configuration file and other logging configuration options are ignored (for +# example, logging_context_format_string). (string value) +# Note: This option can be changed without restarting. +# Deprecated group/name - [DEFAULT]/log_config +#log_config_append = <None> + +# Defines the format string for %%(asctime)s in log records. Default: +# %(default)s . This option is ignored if log_config_append is set. (string +# value) +#log_date_format = %Y-%m-%d %H:%M:%S + +# (Optional) Name of log file to send logging output to. If no default is set, +# logging will go to stderr as defined by use_stderr. This option is ignored if +# log_config_append is set. (string value) +# Deprecated group/name - [DEFAULT]/logfile +#log_file = <None> + +# (Optional) The base directory used for relative log_file paths. This option +# is ignored if log_config_append is set. (string value) +# Deprecated group/name - [DEFAULT]/logdir +#log_dir = <None> + +# Uses logging handler designed to watch file system. When log file is moved or +# removed this handler will open a new log file with specified path +# instantaneously. It makes sense only if log_file option is specified and +# Linux platform is used. This option is ignored if log_config_append is set. +# (boolean value) +#watch_log_file = false + +# Use syslog for logging. Existing syslog format is DEPRECATED and will be +# changed later to honor RFC5424. This option is ignored if log_config_append +# is set. (boolean value) +#use_syslog = false + +# Syslog facility to receive log lines. This option is ignored if +# log_config_append is set. (string value) +#syslog_log_facility = LOG_USER + +# Log output to standard error. This option is ignored if log_config_append is +# set. (boolean value) +#use_stderr = true + +# Format string to use for log messages with context. (string value) +#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s + +# Format string to use for log messages when context is undefined. (string +# value) +#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s + +# Additional data to append to log message when logging level for the message +# is DEBUG. (string value) +#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d + +# Prefix each line of exception output with this format. (string value) +#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s + +# Defines the format string for %(user_identity)s that is used in +# logging_context_format_string. (string value) +#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s + +# List of package logging levels in logger=LEVEL pairs. This option is ignored +# if log_config_append is set. (list value) +#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO + +# Enables or disables publication of error events. (boolean value) +#publish_errors = false + +# The format for an instance that is passed with the log message. (string +# value) +#instance_format = "[instance: %(uuid)s] " + +# The format for an instance UUID that is passed with the log message. (string +# value) +#instance_uuid_format = "[instance: %(uuid)s] " + +# Enables or disables fatal status of deprecations. (boolean value) +#fatal_deprecations = false + +# +# From oslo.messaging +# + +# Size of RPC connection pool. (integer value) +# Deprecated group/name - [DEFAULT]/rpc_conn_pool_size +#rpc_conn_pool_size = 30 + +# The pool size limit for connections expiration policy (integer value) +#conn_pool_min_size = 2 + +# The time-to-live in sec of idle connections in the pool (integer value) +#conn_pool_ttl = 1200 + +# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. +# The "host" option should point or resolve to this address. (string value) +# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_address +#rpc_zmq_bind_address = * + +# MatchMaker driver. (string value) +# Allowed values: redis, dummy +# Deprecated group/name - [DEFAULT]/rpc_zmq_matchmaker +#rpc_zmq_matchmaker = redis + +# Number of ZeroMQ contexts, defaults to 1. (integer value) +# Deprecated group/name - [DEFAULT]/rpc_zmq_contexts +#rpc_zmq_contexts = 1 + +# Maximum number of ingress messages to locally buffer per topic. Default is +# unlimited. (integer value) +# Deprecated group/name - [DEFAULT]/rpc_zmq_topic_backlog +#rpc_zmq_topic_backlog = <None> + +# Directory for holding IPC sockets. (string value) +# Deprecated group/name - [DEFAULT]/rpc_zmq_ipc_dir +#rpc_zmq_ipc_dir = /var/run/openstack + +# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match +# "host" option, if running Nova. (string value) +# Deprecated group/name - [DEFAULT]/rpc_zmq_host +#rpc_zmq_host = localhost + +# Seconds to wait before a cast expires (TTL). The default value of -1 +# specifies an infinite linger period. The value of 0 specifies no linger +# period. Pending messages shall be discarded immediately when the socket is +# closed. Only supported by impl_zmq. (integer value) +# Deprecated group/name - [DEFAULT]/rpc_cast_timeout +#rpc_cast_timeout = -1 + +# The default number of seconds that poll should wait. Poll raises timeout +# exception when timeout expired. (integer value) +# Deprecated group/name - [DEFAULT]/rpc_poll_timeout +#rpc_poll_timeout = 1 + +# Expiration timeout in seconds of a name service record about existing target +# ( < 0 means no timeout). (integer value) +# Deprecated group/name - [DEFAULT]/zmq_target_expire +#zmq_target_expire = 300 + +# Update period in seconds of a name service record about existing target. +# (integer value) +# Deprecated group/name - [DEFAULT]/zmq_target_update +#zmq_target_update = 180 + +# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean +# value) +# Deprecated group/name - [DEFAULT]/use_pub_sub +#use_pub_sub = true + +# Use ROUTER remote proxy. (boolean value) +# Deprecated group/name - [DEFAULT]/use_router_proxy +#use_router_proxy = true + +# Minimal port number for random ports range. (port value) +# Minimum value: 0 +# Maximum value: 65535 +# Deprecated group/name - [DEFAULT]/rpc_zmq_min_port +#rpc_zmq_min_port = 49153 + +# Maximal port number for random ports range. (integer value) +# Minimum value: 1 +# Maximum value: 65536 +# Deprecated group/name - [DEFAULT]/rpc_zmq_max_port +#rpc_zmq_max_port = 65536 + +# Number of retries to find free port number before fail with ZMQBindError. +# (integer value) +# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_port_retries +#rpc_zmq_bind_port_retries = 100 + +# Default serialization mechanism for serializing/deserializing +# outgoing/incoming messages (string value) +# Allowed values: json, msgpack +# Deprecated group/name - [DEFAULT]/rpc_zmq_serialization +#rpc_zmq_serialization = json + +# This option configures round-robin mode in zmq socket. True means not keeping +# a queue when server side disconnects. False means to keep queue and messages +# even if server is disconnected, when the server appears we send all +# accumulated messages to it. (boolean value) +#zmq_immediate = false + +# Size of executor thread pool. (integer value) +# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size +#executor_thread_pool_size = 64 + +# Seconds to wait for a response from a call. (integer value) +#rpc_response_timeout = 60 + +# A URL representing the messaging driver to use and its full configuration. +# (string value) +#transport_url = <None> + +# DEPRECATED: The messaging driver to use, defaults to rabbit. Other drivers +# include amqp and zmq. (string value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Replaced by [DEFAULT]/transport_url +#rpc_backend = rabbit + +# The default exchange under which topics are scoped. May be overridden by an +# exchange name specified in the transport_url option. (string value) +#control_exchange = openstack + +# +# From oslo.service.periodic_task +# + +# Some periodic tasks can be run in a separate process. Should we run them +# here? (boolean value) +#run_external_periodic_tasks = true + +# +# From oslo.service.service +# + +# Enable eventlet backdoor. Acceptable values are 0, <port>, and +# <start>:<end>, where 0 results in listening on a random tcp port number; +# <port> results in listening on the specified port number (and not enabling +# backdoor if that port is in use); and <start>:<end> results in listening on +# the smallest unused port number within the specified range of port numbers. +# The chosen port is displayed in the service's log file. (string value) +#backdoor_port = <None> + +# Enable eventlet backdoor, using the provided path as a unix socket that can +# receive connections. This option is mutually exclusive with 'backdoor_port' +# in that only one should be provided. If both are provided then the existence +# of this option overrides the usage of that option. (string value) +#backdoor_socket = <None> + +# Enables or disables logging values of all registered options when starting a +# service (at DEBUG level). (boolean value) +#log_options = true + +# Specify a timeout after which a gracefully shutdown server will exit. Zero +# value means endless wait. (integer value) +#graceful_shutdown_timeout = 60 + + +[cors] + +# +# From oslo.middleware +# + +# Indicate whether this resource may be shared with the domain received in the +# requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing +# slash. Example: https://horizon.example.com (list value) +#allowed_origin = <None> + +# Indicate that the actual request can include user credentials (boolean value) +#allow_credentials = true + +# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple +# Headers. (list value) +#expose_headers = + +# Maximum cache age of CORS preflight requests. (integer value) +#max_age = 3600 + +# Indicate which methods can be used during the actual request. (list value) +#allow_methods = OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,PATCH + +# Indicate which header field names may be used during the actual request. +# (list value) +#allow_headers = + + +[cors.subdomain] + +# +# From oslo.middleware +# + +# Indicate whether this resource may be shared with the domain received in the +# requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing +# slash. Example: https://horizon.example.com (list value) +#allowed_origin = <None> + +# Indicate that the actual request can include user credentials (boolean value) +#allow_credentials = true + +# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple +# Headers. (list value) +#expose_headers = + +# Maximum cache age of CORS preflight requests. (integer value) +#max_age = 3600 + +# Indicate which methods can be used during the actual request. (list value) +#allow_methods = OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,PATCH + +# Indicate which header field names may be used during the actual request. +# (list value) +#allow_headers = + + +[database] + +# +# From oslo.db +# + +# DEPRECATED: The file name to use with SQLite. (string value) +# Deprecated group/name - [DEFAULT]/sqlite_db +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Should use config option connection or slave_connection to connect +# the database. +#sqlite_db = oslo.sqlite + +# If True, SQLite uses synchronous mode. (boolean value) +# Deprecated group/name - [DEFAULT]/sqlite_synchronous +#sqlite_synchronous = true + +# The back end to use for the database. (string value) +# Deprecated group/name - [DEFAULT]/db_backend +#backend = sqlalchemy + +# The SQLAlchemy connection string to use to connect to the database. (string +# value) +# Deprecated group/name - [DEFAULT]/sql_connection +# Deprecated group/name - [DATABASE]/sql_connection +# Deprecated group/name - [sql]/connection +#connection = <None> + +# The SQLAlchemy connection string to use to connect to the slave database. +# (string value) +#slave_connection = <None> + +# The SQL mode to be used for MySQL sessions. This option, including the +# default, overrides any server-set SQL mode. To use whatever SQL mode is set +# by the server configuration, set this to no value. Example: mysql_sql_mode= +# (string value) +#mysql_sql_mode = TRADITIONAL + +# Timeout before idle SQL connections are reaped. (integer value) +# Deprecated group/name - [DEFAULT]/sql_idle_timeout +# Deprecated group/name - [DATABASE]/sql_idle_timeout +# Deprecated group/name - [sql]/idle_timeout +#idle_timeout = 3600 + +# Minimum number of SQL connections to keep open in a pool. (integer value) +# Deprecated group/name - [DEFAULT]/sql_min_pool_size +# Deprecated group/name - [DATABASE]/sql_min_pool_size +#min_pool_size = 1 + +# Maximum number of SQL connections to keep open in a pool. Setting a value of +# 0 indicates no limit. (integer value) +# Deprecated group/name - [DEFAULT]/sql_max_pool_size +# Deprecated group/name - [DATABASE]/sql_max_pool_size +#max_pool_size = 5 + +# Maximum number of database connection retries during startup. Set to -1 to +# specify an infinite retry count. (integer value) +# Deprecated group/name - [DEFAULT]/sql_max_retries +# Deprecated group/name - [DATABASE]/sql_max_retries +#max_retries = 10 + +# Interval between retries of opening a SQL connection. (integer value) +# Deprecated group/name - [DEFAULT]/sql_retry_interval +# Deprecated group/name - [DATABASE]/reconnect_interval +#retry_interval = 10 + +# If set, use this value for max_overflow with SQLAlchemy. (integer value) +# Deprecated group/name - [DEFAULT]/sql_max_overflow +# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow +#max_overflow = 50 + +# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer +# value) +# Minimum value: 0 +# Maximum value: 100 +# Deprecated group/name - [DEFAULT]/sql_connection_debug +#connection_debug = 0 + +# Add Python stack traces to SQL as comment strings. (boolean value) +# Deprecated group/name - [DEFAULT]/sql_connection_trace +#connection_trace = false + +# If set, use this value for pool_timeout with SQLAlchemy. (integer value) +# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout +#pool_timeout = <None> + +# Enable the experimental use of database reconnect on connection lost. +# (boolean value) +#use_db_reconnect = false + +# Seconds between retries of a database transaction. (integer value) +#db_retry_interval = 1 + +# If True, increases the interval between retries of a database operation up to +# db_max_retry_interval. (boolean value) +#db_inc_retry_interval = true + +# If db_inc_retry_interval is set, the maximum seconds between retries of a +# database operation. (integer value) +#db_max_retry_interval = 10 + +# Maximum retries in case of connection error or deadlock error before error is +# raised. Set to -1 to specify an infinite retry count. (integer value) +#db_max_retries = 20 + + +[keystone_authtoken] + +# +# From keystonemiddleware.auth_token +# + +# Complete "public" Identity API endpoint. This endpoint should not be an +# "admin" endpoint, as it should be accessible by all end users. +# Unauthenticated clients are redirected to this endpoint to authenticate. +# Although this endpoint should ideally be unversioned, client support in the +# wild varies. If you're using a versioned v2 endpoint here, then this should +# *not* be the same endpoint the service user utilizes for validating tokens, +# because normal end users may not be able to reach that endpoint. (string +# value) +#auth_uri = <None> + +# API version of the admin Identity API endpoint. (string value) +#auth_version = <None> + +# Do not handle authorization requests within the middleware, but delegate the +# authorization decision to downstream WSGI components. (boolean value) +#delay_auth_decision = false + +# Request timeout value for communicating with Identity API server. (integer +# value) +#http_connect_timeout = <None> + +# How many times are we trying to reconnect when communicating with Identity +# API Server. (integer value) +#http_request_max_retries = 3 + +# Request environment key where the Swift cache object is stored. When +# auth_token middleware is deployed with a Swift cache, use this option to have +# the middleware share a caching backend with swift. Otherwise, use the +# ``memcached_servers`` option instead. (string value) +#cache = <None> + +# Required if identity server requires client certificate (string value) +#certfile = <None> + +# Required if identity server requires client certificate (string value) +#keyfile = <None> + +# A PEM encoded Certificate Authority to use when verifying HTTPs connections. +# Defaults to system CAs. (string value) +#cafile = <None> + +# Verify HTTPS connections. (boolean value) +#insecure = false + +# The region in which the identity server can be found. (string value) +#region_name = <None> + +# Directory used to cache files related to PKI tokens. (string value) +#signing_dir = <None> + +# Optionally specify a list of memcached server(s) to use for caching. If left +# undefined, tokens will instead be cached in-process. (list value) +# Deprecated group/name - [keystone_authtoken]/memcache_servers +#memcached_servers = <None> + +# In order to prevent excessive effort spent validating tokens, the middleware +# caches previously-seen tokens for a configurable duration (in seconds). Set +# to -1 to disable caching completely. (integer value) +#token_cache_time = 300 + +# Determines the frequency at which the list of revoked tokens is retrieved +# from the Identity service (in seconds). A high number of revocation events +# combined with a low cache duration may significantly reduce performance. Only +# valid for PKI tokens. (integer value) +#revocation_cache_time = 10 + +# (Optional) If defined, indicate whether token data should be authenticated or +# authenticated and encrypted. If MAC, token data is authenticated (with HMAC) +# in the cache. If ENCRYPT, token data is encrypted and authenticated in the +# cache. If the value is not one of these options or empty, auth_token will +# raise an exception on initialization. (string value) +# Allowed values: None, MAC, ENCRYPT +#memcache_security_strategy = None + +# (Optional, mandatory if memcache_security_strategy is defined) This string is +# used for key derivation. (string value) +#memcache_secret_key = <None> + +# (Optional) Number of seconds memcached server is considered dead before it is +# tried again. (integer value) +#memcache_pool_dead_retry = 300 + +# (Optional) Maximum total number of open connections to every memcached +# server. (integer value) +#memcache_pool_maxsize = 10 + +# (Optional) Socket timeout in seconds for communicating with a memcached +# server. (integer value) +#memcache_pool_socket_timeout = 3 + +# (Optional) Number of seconds a connection to memcached is held unused in the +# pool before it is closed. (integer value) +#memcache_pool_unused_timeout = 60 + +# (Optional) Number of seconds that an operation will wait to get a memcached +# client connection from the pool. (integer value) +#memcache_pool_conn_get_timeout = 10 + +# (Optional) Use the advanced (eventlet safe) memcached client pool. The +# advanced pool will only work under python 2.x. (boolean value) +#memcache_use_advanced_pool = false + +# (Optional) Indicate whether to set the X-Service-Catalog header. If False, +# middleware will not ask for service catalog on token validation and will not +# set the X-Service-Catalog header. (boolean value) +#include_service_catalog = true + +# Used to control the use and type of token binding. Can be set to: "disabled" +# to not check token binding. "permissive" (default) to validate binding +# information if the bind type is of a form known to the server and ignore it +# if not. "strict" like "permissive" but if the bind type is unknown the token +# will be rejected. "required" any form of token binding is needed to be +# allowed. Finally the name of a binding method that must be present in tokens. +# (string value) +#enforce_token_bind = permissive + +# If true, the revocation list will be checked for cached tokens. This requires +# that PKI tokens are configured on the identity server. (boolean value) +#check_revocations_for_cached = false + +# Hash algorithms to use for hashing PKI tokens. This may be a single algorithm +# or multiple. The algorithms are those supported by Python standard +# hashlib.new(). The hashes will be tried in the order given, so put the +# preferred one first for performance. The result of the first hash will be +# stored in the cache. This will typically be set to multiple values only while +# migrating from a less secure algorithm to a more secure one. Once all the old +# tokens are expired this option should be set to a single value for better +# performance. (list value) +#hash_algorithms = md5 + +# Authentication type to load (string value) +# Deprecated group/name - [keystone_authtoken]/auth_plugin +#auth_type = <None> + +# Config Section from which to load plugin specific options (string value) +#auth_section = <None> + + +[matchmaker_redis] + +# +# From oslo.messaging +# + +# DEPRECATED: Host to locate redis. (string value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Replaced by [DEFAULT]/transport_url +#host = 127.0.0.1 + +# DEPRECATED: Use this port to connect to redis host. (port value) +# Minimum value: 0 +# Maximum value: 65535 +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Replaced by [DEFAULT]/transport_url +#port = 6379 + +# DEPRECATED: Password for Redis server (optional). (string value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Replaced by [DEFAULT]/transport_url +#password = + +# DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode) e.g. +# [host:port, host1:port ... ] (list value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Replaced by [DEFAULT]/transport_url +#sentinel_hosts = + +# Redis replica set name. (string value) +#sentinel_group_name = oslo-messaging-zeromq + +# Time in ms to wait between connection attempts. (integer value) +#wait_timeout = 2000 + +# Time in ms to wait before the transaction is killed. (integer value) +#check_timeout = 20000 + +# Timeout in ms on blocking socket operations (integer value) +#socket_timeout = 10000 + + +[oslo_messaging_amqp] + +# +# From oslo.messaging +# + +# Name for the AMQP container. must be globally unique. Defaults to a generated +# UUID (string value) +# Deprecated group/name - [amqp1]/container_name +#container_name = <None> + +# Timeout for inactive connections (in seconds) (integer value) +# Deprecated group/name - [amqp1]/idle_timeout +#idle_timeout = 0 + +# Debug: dump AMQP frames to stdout (boolean value) +# Deprecated group/name - [amqp1]/trace +#trace = false + +# CA certificate PEM file to verify server certificate (string value) +# Deprecated group/name - [amqp1]/ssl_ca_file +#ssl_ca_file = + +# Identifying certificate PEM file to present to clients (string value) +# Deprecated group/name - [amqp1]/ssl_cert_file +#ssl_cert_file = + +# Private key PEM file used to sign cert_file certificate (string value) +# Deprecated group/name - [amqp1]/ssl_key_file +#ssl_key_file = + +# Password for decrypting ssl_key_file (if encrypted) (string value) +# Deprecated group/name - [amqp1]/ssl_key_password +#ssl_key_password = <None> + +# Accept clients using either SSL or plain TCP (boolean value) +# Deprecated group/name - [amqp1]/allow_insecure_clients +#allow_insecure_clients = false + +# Space separated list of acceptable SASL mechanisms (string value) +# Deprecated group/name - [amqp1]/sasl_mechanisms +#sasl_mechanisms = + +# Path to directory that contains the SASL configuration (string value) +# Deprecated group/name - [amqp1]/sasl_config_dir +#sasl_config_dir = + +# Name of configuration file (without .conf suffix) (string value) +# Deprecated group/name - [amqp1]/sasl_config_name +#sasl_config_name = + +# User name for message broker authentication (string value) +# Deprecated group/name - [amqp1]/username +#username = + +# Password for message broker authentication (string value) +# Deprecated group/name - [amqp1]/password +#password = + +# Seconds to pause before attempting to re-connect. (integer value) +# Minimum value: 1 +#connection_retry_interval = 1 + +# Increase the connection_retry_interval by this many seconds after each +# unsuccessful failover attempt. (integer value) +# Minimum value: 0 +#connection_retry_backoff = 2 + +# Maximum limit for connection_retry_interval + connection_retry_backoff +# (integer value) +# Minimum value: 1 +#connection_retry_interval_max = 30 + +# Time to pause between re-connecting an AMQP 1.0 link that failed due to a +# recoverable error. (integer value) +# Minimum value: 1 +#link_retry_delay = 10 + +# The deadline for an rpc reply message delivery. Only used when caller does +# not provide a timeout expiry. (integer value) +# Minimum value: 5 +#default_reply_timeout = 30 + +# The deadline for an rpc cast or call message delivery. Only used when caller +# does not provide a timeout expiry. (integer value) +# Minimum value: 5 +#default_send_timeout = 30 + +# The deadline for a sent notification message delivery. Only used when caller +# does not provide a timeout expiry. (integer value) +# Minimum value: 5 +#default_notify_timeout = 30 + +# Indicates the addressing mode used by the driver. +# Permitted values: +# 'legacy' - use legacy non-routable addressing +# 'routable' - use routable addresses +# 'dynamic' - use legacy addresses if the message bus does not support routing +# otherwise use routable addressing (string value) +#addressing_mode = dynamic + +# address prefix used when sending to a specific server (string value) +# Deprecated group/name - [amqp1]/server_request_prefix +#server_request_prefix = exclusive + +# address prefix used when broadcasting to all servers (string value) +# Deprecated group/name - [amqp1]/broadcast_prefix +#broadcast_prefix = broadcast + +# address prefix when sending to any server in group (string value) +# Deprecated group/name - [amqp1]/group_request_prefix +#group_request_prefix = unicast + +# Address prefix for all generated RPC addresses (string value) +#rpc_address_prefix = openstack.org/om/rpc + +# Address prefix for all generated Notification addresses (string value) +#notify_address_prefix = openstack.org/om/notify + +# Appended to the address prefix when sending a fanout message. Used by the +# message bus to identify fanout messages. (string value) +#multicast_address = multicast + +# Appended to the address prefix when sending to a particular RPC/Notification +# server. Used by the message bus to identify messages sent to a single +# destination. (string value) +#unicast_address = unicast + +# Appended to the address prefix when sending to a group of consumers. Used by +# the message bus to identify messages that should be delivered in a round- +# robin fashion across consumers. (string value) +#anycast_address = anycast + +# Exchange name used in notification addresses. +# Exchange name resolution precedence: +# Target.exchange if set +# else default_notification_exchange if set +# else control_exchange if set +# else 'notify' (string value) +#default_notification_exchange = <None> + +# Exchange name used in RPC addresses. +# Exchange name resolution precedence: +# Target.exchange if set +# else default_rpc_exchange if set +# else control_exchange if set +# else 'rpc' (string value) +#default_rpc_exchange = <None> + +# Window size for incoming RPC Reply messages. (integer value) +# Minimum value: 1 +#reply_link_credit = 200 + +# Window size for incoming RPC Request messages (integer value) +# Minimum value: 1 +#rpc_server_credit = 100 + +# Window size for incoming Notification messages (integer value) +# Minimum value: 1 +#notify_server_credit = 100 + + +[oslo_messaging_notifications] + +# +# From oslo.messaging +# + +# The Drivers(s) to handle sending notifications. Possible values are +# messaging, messagingv2, routing, log, test, noop (multi valued) +# Deprecated group/name - [DEFAULT]/notification_driver +#driver = + +# A URL representing the messaging driver to use for notifications. If not set, +# we fall back to the same configuration used for RPC. (string value) +# Deprecated group/name - [DEFAULT]/notification_transport_url +#transport_url = <None> + +# AMQP topic used for OpenStack notifications. (list value) +# Deprecated group/name - [rpc_notifier2]/topics +# Deprecated group/name - [DEFAULT]/notification_topics +#topics = notifications + + +[oslo_messaging_rabbit] + +# +# From oslo.messaging +# + +# Use durable queues in AMQP. (boolean value) +# Deprecated group/name - [DEFAULT]/amqp_durable_queues +# Deprecated group/name - [DEFAULT]/rabbit_durable_queues +#amqp_durable_queues = false + +# Auto-delete queues in AMQP. (boolean value) +# Deprecated group/name - [DEFAULT]/amqp_auto_delete +#amqp_auto_delete = false + +# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and +# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some +# distributions. (string value) +# Deprecated group/name - [DEFAULT]/kombu_ssl_version +#kombu_ssl_version = + +# SSL key file (valid only if SSL enabled). (string value) +# Deprecated group/name - [DEFAULT]/kombu_ssl_keyfile +#kombu_ssl_keyfile = + +# SSL cert file (valid only if SSL enabled). (string value) +# Deprecated group/name - [DEFAULT]/kombu_ssl_certfile +#kombu_ssl_certfile = + +# SSL certification authority file (valid only if SSL enabled). (string value) +# Deprecated group/name - [DEFAULT]/kombu_ssl_ca_certs +#kombu_ssl_ca_certs = + +# How long to wait before reconnecting in response to an AMQP consumer cancel +# notification. (floating point value) +# Deprecated group/name - [DEFAULT]/kombu_reconnect_delay +#kombu_reconnect_delay = 1.0 + +# EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not +# be used. This option may not be available in future versions. (string value) +#kombu_compression = <None> + +# How long to wait a missing client before abandoning to send it its replies. +# This value should not be longer than rpc_response_timeout. (integer value) +# Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout +#kombu_missing_consumer_retry_timeout = 60 + +# Determines how the next RabbitMQ node is chosen in case the one we are +# currently connected to becomes unavailable. Takes effect only if more than +# one RabbitMQ node is provided in config. (string value) +# Allowed values: round-robin, shuffle +#kombu_failover_strategy = round-robin + +# DEPRECATED: The RabbitMQ broker address where a single node is used. (string +# value) +# Deprecated group/name - [DEFAULT]/rabbit_host +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Replaced by [DEFAULT]/transport_url +#rabbit_host = localhost + +# DEPRECATED: The RabbitMQ broker port where a single node is used. (port +# value) +# Minimum value: 0 +# Maximum value: 65535 +# Deprecated group/name - [DEFAULT]/rabbit_port +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Replaced by [DEFAULT]/transport_url +#rabbit_port = 5672 + +# DEPRECATED: RabbitMQ HA cluster host:port pairs. (list value) +# Deprecated group/name - [DEFAULT]/rabbit_hosts +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Replaced by [DEFAULT]/transport_url +#rabbit_hosts = $rabbit_host:$rabbit_port + +# Connect over SSL for RabbitMQ. (boolean value) +# Deprecated group/name - [DEFAULT]/rabbit_use_ssl +#rabbit_use_ssl = false + +# DEPRECATED: The RabbitMQ userid. (string value) +# Deprecated group/name - [DEFAULT]/rabbit_userid +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Replaced by [DEFAULT]/transport_url +#rabbit_userid = guest + +# DEPRECATED: The RabbitMQ password. (string value) +# Deprecated group/name - [DEFAULT]/rabbit_password +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Replaced by [DEFAULT]/transport_url +#rabbit_password = guest + +# The RabbitMQ login method. (string value) +# Deprecated group/name - [DEFAULT]/rabbit_login_method +#rabbit_login_method = AMQPLAIN + +# DEPRECATED: The RabbitMQ virtual host. (string value) +# Deprecated group/name - [DEFAULT]/rabbit_virtual_host +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Replaced by [DEFAULT]/transport_url +#rabbit_virtual_host = / + +# How frequently to retry connecting with RabbitMQ. (integer value) +#rabbit_retry_interval = 1 + +# How long to backoff for between retries when connecting to RabbitMQ. (integer +# value) +# Deprecated group/name - [DEFAULT]/rabbit_retry_backoff +#rabbit_retry_backoff = 2 + +# Maximum interval of RabbitMQ connection retries. Default is 30 seconds. +# (integer value) +#rabbit_interval_max = 30 + +# DEPRECATED: Maximum number of RabbitMQ connection retries. Default is 0 +# (infinite retry count). (integer value) +# Deprecated group/name - [DEFAULT]/rabbit_max_retries +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +#rabbit_max_retries = 0 + +# Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this +# option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring +# is no longer controlled by the x-ha-policy argument when declaring a queue. +# If you just want to make sure that all queues (except those with auto- +# generated names) are mirrored across all nodes, run: "rabbitmqctl set_policy +# HA '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value) +# Deprecated group/name - [DEFAULT]/rabbit_ha_queues +#rabbit_ha_queues = false + +# Positive integer representing duration in seconds for queue TTL (x-expires). +# Queues which are unused for the duration of the TTL are automatically +# deleted. The parameter affects only reply and fanout queues. (integer value) +# Minimum value: 1 +#rabbit_transient_queues_ttl = 1800 + +# Specifies the number of messages to prefetch. Setting to zero allows +# unlimited messages. (integer value) +#rabbit_qos_prefetch_count = 0 + +# Number of seconds after which the Rabbit broker is considered down if +# heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL (integer +# value) +#heartbeat_timeout_threshold = 60 + +# How often times during the heartbeat_timeout_threshold we check the +# heartbeat. (integer value) +#heartbeat_rate = 2 + +# Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake (boolean value) +# Deprecated group/name - [DEFAULT]/fake_rabbit +#fake_rabbit = false + +# Maximum number of channels to allow (integer value) +#channel_max = <None> + +# The maximum byte size for an AMQP frame (integer value) +#frame_max = <None> + +# How often to send heartbeats for consumer's connections (integer value) +#heartbeat_interval = 3 + +# Enable SSL (boolean value) +#ssl = <None> + +# Arguments passed to ssl.wrap_socket (dict value) +#ssl_options = <None> + +# Set socket timeout in seconds for connection's socket (floating point value) +#socket_timeout = 0.25 + +# Set TCP_USER_TIMEOUT in seconds for connection's socket (floating point +# value) +#tcp_user_timeout = 0.25 + +# Set delay for reconnection to some host which has connection error (floating +# point value) +#host_connection_reconnect_delay = 0.25 + +# Connection factory implementation (string value) +# Allowed values: new, single, read_write +#connection_factory = single + +# Maximum number of connections to keep queued. (integer value) +#pool_max_size = 30 + +# Maximum number of connections to create above `pool_max_size`. (integer +# value) +#pool_max_overflow = 0 + +# Default number of seconds to wait for a connections to available (integer +# value) +#pool_timeout = 30 + +# Lifetime of a connection (since creation) in seconds or None for no +# recycling. Expired connections are closed on acquire. (integer value) +#pool_recycle = 600 + +# Threshold at which inactive (since release) connections are considered stale +# in seconds or None for no staleness. Stale connections are closed on acquire. +# (integer value) +#pool_stale = 60 + +# Persist notification messages. (boolean value) +#notification_persistence = false + +# Exchange name for sending notifications (string value) +#default_notification_exchange = ${control_exchange}_notification + +# Max number of not acknowledged message which RabbitMQ can send to +# notification listener. (integer value) +#notification_listener_prefetch_count = 100 + +# Reconnecting retry count in case of connectivity problem during sending +# notification, -1 means infinite retry. (integer value) +#default_notification_retry_attempts = -1 + +# Reconnecting retry delay in case of connectivity problem during sending +# notification message (floating point value) +#notification_retry_delay = 0.25 + +# Time to live for rpc queues without consumers in seconds. (integer value) +#rpc_queue_expiration = 60 + +# Exchange name for sending RPC messages (string value) +#default_rpc_exchange = ${control_exchange}_rpc + +# Exchange name for receiving RPC replies (string value) +#rpc_reply_exchange = ${control_exchange}_rpc_reply + +# Max number of not acknowledged message which RabbitMQ can send to rpc +# listener. (integer value) +#rpc_listener_prefetch_count = 100 + +# Max number of not acknowledged message which RabbitMQ can send to rpc reply +# listener. (integer value) +#rpc_reply_listener_prefetch_count = 100 + +# Reconnecting retry count in case of connectivity problem during sending +# reply. -1 means infinite retry during rpc_timeout (integer value) +#rpc_reply_retry_attempts = -1 + +# Reconnecting retry delay in case of connectivity problem during sending +# reply. (floating point value) +#rpc_reply_retry_delay = 0.25 + +# Reconnecting retry count in case of connectivity problem during sending RPC +# message, -1 means infinite retry. If actual retry attempts in not 0 the rpc +# request could be processed more then one time (integer value) +#default_rpc_retry_attempts = -1 + +# Reconnecting retry delay in case of connectivity problem during sending RPC +# message (floating point value) +#rpc_retry_delay = 0.25 + + +[oslo_messaging_zmq] + +# +# From oslo.messaging +# + +# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. +# The "host" option should point or resolve to this address. (string value) +# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_address +#rpc_zmq_bind_address = * + +# MatchMaker driver. (string value) +# Allowed values: redis, dummy +# Deprecated group/name - [DEFAULT]/rpc_zmq_matchmaker +#rpc_zmq_matchmaker = redis + +# Number of ZeroMQ contexts, defaults to 1. (integer value) +# Deprecated group/name - [DEFAULT]/rpc_zmq_contexts +#rpc_zmq_contexts = 1 + +# Maximum number of ingress messages to locally buffer per topic. Default is +# unlimited. (integer value) +# Deprecated group/name - [DEFAULT]/rpc_zmq_topic_backlog +#rpc_zmq_topic_backlog = <None> + +# Directory for holding IPC sockets. (string value) +# Deprecated group/name - [DEFAULT]/rpc_zmq_ipc_dir +#rpc_zmq_ipc_dir = /var/run/openstack + +# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match +# "host" option, if running Nova. (string value) +# Deprecated group/name - [DEFAULT]/rpc_zmq_host +#rpc_zmq_host = localhost + +# Seconds to wait before a cast expires (TTL). The default value of -1 +# specifies an infinite linger period. The value of 0 specifies no linger +# period. Pending messages shall be discarded immediately when the socket is +# closed. Only supported by impl_zmq. (integer value) +# Deprecated group/name - [DEFAULT]/rpc_cast_timeout +#rpc_cast_timeout = -1 + +# The default number of seconds that poll should wait. Poll raises timeout +# exception when timeout expired. (integer value) +# Deprecated group/name - [DEFAULT]/rpc_poll_timeout +#rpc_poll_timeout = 1 + +# Expiration timeout in seconds of a name service record about existing target +# ( < 0 means no timeout). (integer value) +# Deprecated group/name - [DEFAULT]/zmq_target_expire +#zmq_target_expire = 300 + +# Update period in seconds of a name service record about existing target. +# (integer value) +# Deprecated group/name - [DEFAULT]/zmq_target_update +#zmq_target_update = 180 + +# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean +# value) +# Deprecated group/name - [DEFAULT]/use_pub_sub +#use_pub_sub = true + +# Use ROUTER remote proxy. (boolean value) +# Deprecated group/name - [DEFAULT]/use_router_proxy +#use_router_proxy = true + +# Minimal port number for random ports range. (port value) +# Minimum value: 0 +# Maximum value: 65535 +# Deprecated group/name - [DEFAULT]/rpc_zmq_min_port +#rpc_zmq_min_port = 49153 + +# Maximal port number for random ports range. (integer value) +# Minimum value: 1 +# Maximum value: 65536 +# Deprecated group/name - [DEFAULT]/rpc_zmq_max_port +#rpc_zmq_max_port = 65536 + +# Number of retries to find free port number before fail with ZMQBindError. +# (integer value) +# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_port_retries +#rpc_zmq_bind_port_retries = 100 + +# Default serialization mechanism for serializing/deserializing +# outgoing/incoming messages (string value) +# Allowed values: json, msgpack +# Deprecated group/name - [DEFAULT]/rpc_zmq_serialization +#rpc_zmq_serialization = json + +# This option configures round-robin mode in zmq socket. True means not keeping +# a queue when server side disconnects. False means to keep queue and messages +# even if server is disconnected, when the server appears we send all +# accumulated messages to it. (boolean value) +#zmq_immediate = false + + +[oslo_middleware] + +# +# From oslo.middleware +# + +# The maximum body size for each request, in bytes. (integer value) +# Deprecated group/name - [DEFAULT]/osapi_max_request_body_size +# Deprecated group/name - [DEFAULT]/max_request_body_size +#max_request_body_size = 114688 + +# DEPRECATED: The HTTP Header that will be used to determine what the original +# request protocol scheme was, even if it was hidden by a SSL termination +# proxy. (string value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +#secure_proxy_ssl_header = X-Forwarded-Proto + +# Whether the application is behind a proxy or not. This determines if the +# middleware should parse the headers or not. (boolean value) +#enable_proxy_headers_parsing = false + + +[oslo_policy] + +# +# From oslo.policy +# + +# The JSON file that defines policies. (string value) +# Deprecated group/name - [DEFAULT]/policy_file +#policy_file = policy.json + +# Default rule. Enforced when a requested rule is not found. (string value) +# Deprecated group/name - [DEFAULT]/policy_default_rule +#policy_default_rule = default + +# Directories where policy configuration files are stored. They can be relative +# to any directory in the search path defined by the config_dir option, or +# absolute paths. The file defined by policy_file must exist for these +# directories to be searched. Missing or empty directories are ignored. (multi +# valued) +# Deprecated group/name - [DEFAULT]/policy_dirs +#policy_dirs = policy.d + + +[ssl] + +# +# From oslo.service.sslutils +# + +# CA certificate file to use to verify connecting clients. (string value) +# Deprecated group/name - [DEFAULT]/ssl_ca_file +#ca_file = <None> + +# Certificate file to use when starting the server securely. (string value) +# Deprecated group/name - [DEFAULT]/ssl_cert_file +#cert_file = <None> + +# Private key file to use when starting the server securely. (string value) +# Deprecated group/name - [DEFAULT]/ssl_key_file +#key_file = <None> + +# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and +# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some +# distributions. (string value) +#version = <None> + +# Sets the list of available ciphers. value should be a string in the OpenSSL +# cipher list format. (string value) +#ciphers = <None> diff --git a/sys-cluster/heat/heat-2016.2.9999.ebuild b/sys-cluster/heat/heat-2016.2.9999.ebuild new file mode 100644 index 000000000000..a0bdfb7e5d38 --- /dev/null +++ b/sys-cluster/heat/heat-2016.2.9999.ebuild @@ -0,0 +1,152 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils git-r3 linux-info user + +DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchistration engine." +HOMEPAGE="https://launchpad.net/heat" +EGIT_REPO_URI="https://github.com/openstack/heat.git" +EGIT_BRANCH="stable/newton" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="+mysql +memcached postgres sqlite" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/aodhclient-0.5.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + >=dev-python/python-ceilometerclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}] + !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}] + >=dev-python/python-heatclient-1.4.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-2.0.0[${PYTHON_USEDEP}] + !~dev-python/python-keystoneclient-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-magnumclient-2.0.0[${PYTHON_USEDEP}] + >=dev-python/python-manilaclient-1.10.0[${PYTHON_USEDEP}] + >=dev-python/python-mistralclient-2.0.0[${PYTHON_USEDEP}] + >=dev-python/python-monascaclient-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}] + >=dev-python/python-openstackclient-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-senlinclient-0.3.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}] + >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}] + >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}] + + >=dev-python/webob-1.2.3-r1[${PYTHON_USEDEP}] + >=dev-python/yaql-1.1.0[${PYTHON_USEDEP}]" + +PATCHES=( +) + +pkg_setup() { + enewgroup heat + enewuser heat -1 -1 /var/lib/heat heat +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + diropts -m0750 -o heat -g heat + keepdir /etc/heat + dodir /etc/heat/environment.d + dodir /etc/heat/templates + + for svc in api api-cfn engine; do + newinitd "${FILESDIR}/heat.initd" heat-${svc} + done + + insinto /etc/heat + insopts -m0640 -o heat -g heat + newins "${FILESDIR}/newton-heat.conf.sample" "heat.conf.sample" + doins "etc/heat/api-paste.ini" + doins "etc/heat/policy.json" + insinto /etc/heat/templates + doins "etc/heat/templates/"* + insinto /etc/heat/environment.d + doins "etc/heat/environment.d/default.yaml" + + dodir /var/log/heat + fowners heat:heat /var/log/heat +} diff --git a/sys-cluster/heat/heat-2017.1.9999.ebuild b/sys-cluster/heat/heat-2017.1.9999.ebuild new file mode 100644 index 000000000000..b08a1e34c776 --- /dev/null +++ b/sys-cluster/heat/heat-2017.1.9999.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils git-r3 linux-info user + +DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchistration engine." +HOMEPAGE="https://launchpad.net/heat" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.ocata -> heat.conf.sample-${PV}" +EGIT_REPO_URI="https://github.com/openstack/heat.git" +EGIT_BRANCH="stable/ocata" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="+mysql +memcached postgres sqlite" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/aodhclient-0.7.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + >=dev-python/python-ceilometerclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/python-heatclient-1.6.1[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}] + >=dev-python/python-magnumclient-2.0.0[${PYTHON_USEDEP}] + >=dev-python/python-manilaclient-1.12.0[${PYTHON_USEDEP}] + >=dev-python/python-mistralclient-2.0.0[${PYTHON_USEDEP}] + >=dev-python/python-monascaclient-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-openstackclient-3.3.0[${PYTHON_USEDEP}] + >=dev-python/python-saharaclient-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-senlinclient-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}] + >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}] + >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3.10.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}] + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}] + + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}] + >=dev-python/yaql-1.1.0[${PYTHON_USEDEP}]" + +PATCHES=( +) + +pkg_setup() { + enewgroup heat + enewuser heat -1 -1 /var/lib/heat heat +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + diropts -m0750 -o heat -g heat + keepdir /etc/heat + dodir /etc/heat/environment.d + dodir /etc/heat/templates + + for svc in api api-cfn engine; do + newinitd "${FILESDIR}/heat.initd" heat-${svc} + done + + insinto /etc/heat + insopts -m0640 -o heat -g heat + newins "${DISTDIR}/heat.conf.sample-${PV}" "heat.conf.sample" + doins "etc/heat/api-paste.ini" + doins "etc/heat/policy.json" + insinto /etc/heat/templates + doins "etc/heat/templates/"* + insinto /etc/heat/environment.d + doins "etc/heat/environment.d/default.yaml" + + dodir /var/log/heat + fowners heat:heat /var/log/heat +} diff --git a/sys-cluster/heat/heat-2017.2.9999.ebuild b/sys-cluster/heat/heat-2017.2.9999.ebuild new file mode 100644 index 000000000000..04ed5348102c --- /dev/null +++ b/sys-cluster/heat/heat-2017.2.9999.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils git-r3 linux-info user + +DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchistration engine." +HOMEPAGE="https://launchpad.net/heat" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.pike -> heat.conf.sample-${PV}" +EGIT_REPO_URI="https://github.com/openstack/heat.git" +EGIT_BRANCH="stable/pike" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="+mysql +memcached postgres sqlite" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + !~dev-python/pbr-2.1.0" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}] + >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.6.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-2.0.0[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}] + <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/openstacksdk-0.9.17[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}] + !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/aodhclient-0.7.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + !~dev-python/python-barbicanclient-4.5.0[${PYTHON_USEDEP}] + !~dev-python/python-barbicanclient-4.5.1[${PYTHON_USEDEP}] + >=dev-python/python-ceilometerclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/python-cinderclient-3.1.0[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}] + >=dev-python/python-heatclient-1.6.1[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}] + >=dev-python/python-magnumclient-2.0.0[${PYTHON_USEDEP}] + >=dev-python/python-manilaclient-1.12.0[${PYTHON_USEDEP}] + >=dev-python/python-mistralclient-3.1.0[${PYTHON_USEDEP}] + >=dev-python/python-monascaclient-1.7.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-9.0.0[${PYTHON_USEDEP}] + >=dev-python/python-openstackclient-3.3.0[${PYTHON_USEDEP}] + !~dev-python/python-openstackclient-3.10.0[${PYTHON_USEDEP}] + >=dev-python/python-saharaclient-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-senlinclient-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}] + >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}] + >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}] + >=dev-python/python-zunclient-0.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3.10.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}] + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}] + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}] + >=dev-python/yaql-1.1.0[${PYTHON_USEDEP}]" + +PATCHES=( +) + +pkg_setup() { + enewgroup heat + enewuser heat -1 -1 /var/lib/heat heat +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + diropts -m0750 -o heat -g heat + keepdir /etc/heat + dodir /etc/heat/environment.d + dodir /etc/heat/templates + + for svc in api api-cfn engine; do + newinitd "${FILESDIR}/heat.initd-2" heat-${svc} + done + + insinto /etc/heat + insopts -m0640 -o heat -g heat + newins "${DISTDIR}/heat.conf.sample-${PV}" "heat.conf.sample" + doins "etc/heat/api-paste.ini" + doins "etc/heat/policy.json" + insinto /etc/heat/templates + doins "etc/heat/templates/"* + insinto /etc/heat/environment.d + doins "etc/heat/environment.d/default.yaml" + + dodir /var/log/heat + fowners heat:heat /var/log/heat +} diff --git a/sys-cluster/heat/heat-7.0.6.ebuild b/sys-cluster/heat/heat-7.0.6.ebuild new file mode 100644 index 000000000000..df7dda0453be --- /dev/null +++ b/sys-cluster/heat/heat-7.0.6.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_4 ) + +inherit distutils-r1 eutils user + +DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchistration engine." +HOMEPAGE="https://launchpad.net/heat" +SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="+mysql +memcached postgres sqlite" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/aodhclient-0.5.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + >=dev-python/python-ceilometerclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}] + !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}] + >=dev-python/python-heatclient-1.4.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-2.0.0[${PYTHON_USEDEP}] + !~dev-python/python-keystoneclient-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-magnumclient-2.0.0[${PYTHON_USEDEP}] + >=dev-python/python-manilaclient-1.10.0[${PYTHON_USEDEP}] + >=dev-python/python-mistralclient-2.0.0[${PYTHON_USEDEP}] + >=dev-python/python-monascaclient-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}] + >=dev-python/python-openstackclient-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-senlinclient-0.3.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}] + >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}] + >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}] + + >=dev-python/webob-1.2.3-r1[${PYTHON_USEDEP}] + >=dev-python/yaql-1.1.0[${PYTHON_USEDEP}]" + +PATCHES=( +) + +pkg_setup() { + enewgroup heat + enewuser heat -1 -1 /var/lib/heat heat +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_install() { + distutils-r1_python_install + diropts -m0750 -o heat -g heat + keepdir /etc/heat + dodir /etc/heat/environment.d + dodir /etc/heat/templates + + for svc in api api-cfn engine; do + newinitd "${FILESDIR}/heat.initd" heat-${svc} + done + + insinto /etc/heat + insopts -m0640 -o heat -g heat + newins "${FILESDIR}/newton-heat.conf.sample" "heat.conf.sample" + doins "etc/heat/api-paste.ini" + doins "etc/heat/policy.json" + insinto /etc/heat/templates + doins "etc/heat/templates/"* + insinto /etc/heat/environment.d + doins "etc/heat/environment.d/default.yaml" + + dodir /var/log/heat + fowners heat:heat /var/log/heat +} diff --git a/sys-cluster/heat/heat-8.0.4.ebuild b/sys-cluster/heat/heat-8.0.4.ebuild new file mode 100644 index 000000000000..450961936893 --- /dev/null +++ b/sys-cluster/heat/heat-8.0.4.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils linux-info user + +DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchistration engine." +HOMEPAGE="https://launchpad.net/heat" +SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.ocata -> heat.conf.sample-${PV}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="+mysql +memcached postgres sqlite" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/aodhclient-0.7.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + >=dev-python/python-ceilometerclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/python-heatclient-1.6.1[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}] + >=dev-python/python-magnumclient-2.0.0[${PYTHON_USEDEP}] + >=dev-python/python-manilaclient-1.12.0[${PYTHON_USEDEP}] + >=dev-python/python-mistralclient-2.0.0[${PYTHON_USEDEP}] + >=dev-python/python-monascaclient-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-openstackclient-3.3.0[${PYTHON_USEDEP}] + >=dev-python/python-saharaclient-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-senlinclient-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}] + >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}] + >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3.10.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}] + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}] + + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}] + >=dev-python/yaql-1.1.0[${PYTHON_USEDEP}]" + +PATCHES=( +) + +pkg_setup() { + enewgroup heat + enewuser heat -1 -1 /var/lib/heat heat +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + diropts -m0750 -o heat -g heat + keepdir /etc/heat + dodir /etc/heat/environment.d + dodir /etc/heat/templates + + for svc in api api-cfn engine; do + newinitd "${FILESDIR}/heat.initd" heat-${svc} + done + + insinto /etc/heat + insopts -m0640 -o heat -g heat + newins "${DISTDIR}/heat.conf.sample-${PV}" "heat.conf.sample" + doins "etc/heat/api-paste.ini" + doins "etc/heat/policy.json" + insinto /etc/heat/templates + doins "etc/heat/templates/"* + insinto /etc/heat/environment.d + doins "etc/heat/environment.d/default.yaml" + + dodir /var/log/heat + fowners heat:heat /var/log/heat +} diff --git a/sys-cluster/heat/heat-9.0.0.ebuild b/sys-cluster/heat/heat-9.0.0.ebuild new file mode 100644 index 000000000000..09f2d28a2330 --- /dev/null +++ b/sys-cluster/heat/heat-9.0.0.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils linux-info user + +DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchistration engine." +HOMEPAGE="https://launchpad.net/heat" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.pike -> heat.conf.sample-${PV} + https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="+mysql +memcached postgres sqlite" +REQUIRED_USE="|| ( mysql postgres sqlite )" + +CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + !~dev-python/pbr-2.1.0" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}] + >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.6.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-2.0.0[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}] + <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/openstacksdk-0.9.17[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}] + !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/aodhclient-0.7.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + !~dev-python/python-barbicanclient-4.5.0[${PYTHON_USEDEP}] + !~dev-python/python-barbicanclient-4.5.1[${PYTHON_USEDEP}] + >=dev-python/python-ceilometerclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/python-cinderclient-3.1.0[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}] + >=dev-python/python-heatclient-1.6.1[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}] + >=dev-python/python-magnumclient-2.0.0[${PYTHON_USEDEP}] + >=dev-python/python-manilaclient-1.12.0[${PYTHON_USEDEP}] + >=dev-python/python-mistralclient-3.1.0[${PYTHON_USEDEP}] + >=dev-python/python-monascaclient-1.7.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-9.0.0[${PYTHON_USEDEP}] + >=dev-python/python-openstackclient-3.3.0[${PYTHON_USEDEP}] + !~dev-python/python-openstackclient-3.10.0[${PYTHON_USEDEP}] + >=dev-python/python-saharaclient-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-senlinclient-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}] + >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}] + >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}] + >=dev-python/python-zunclient-0.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/pyyaml-3.10.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}] + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}] + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}] + >=dev-python/yaql-1.1.0[${PYTHON_USEDEP}]" + +PATCHES=( +) + +pkg_setup() { + enewgroup heat + enewuser heat -1 -1 /var/lib/heat heat +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + diropts -m0750 -o heat -g heat + keepdir /etc/heat + dodir /etc/heat/environment.d + dodir /etc/heat/templates + + for svc in api api-cfn engine; do + newinitd "${FILESDIR}/heat.initd-2" heat-${svc} + done + + insinto /etc/heat + insopts -m0640 -o heat -g heat + newins "${DISTDIR}/heat.conf.sample-${PV}" "heat.conf.sample" + doins "etc/heat/api-paste.ini" + doins "etc/heat/policy.json" + insinto /etc/heat/templates + doins "etc/heat/templates/"* + insinto /etc/heat/environment.d + doins "etc/heat/environment.d/default.yaml" + + dodir /var/log/heat + fowners heat:heat /var/log/heat +} diff --git a/sys-cluster/heat/metadata.xml b/sys-cluster/heat/metadata.xml new file mode 100644 index 000000000000..f8a3eeab0b9a --- /dev/null +++ b/sys-cluster/heat/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>prometheanfire@gentoo.org</email> + <name>Matthew Thode</name> + </maintainer> + <longdescription lang="en"> + Heat is a service to orchestrate multiple composite cloud applications using + templates, through both an OpenStack-native REST API and a + CloudFormation-compatible Query API. + </longdescription> + <use> + <flag name="memcached">Installs the memcached server</flag> + </use> + <upstream> + <remote-id type="launchpad">heat</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/hpl/Manifest b/sys-cluster/hpl/Manifest new file mode 100644 index 000000000000..e609aba6f27f --- /dev/null +++ b/sys-cluster/hpl/Manifest @@ -0,0 +1,5 @@ +DIST hpl-2.0.tar.gz 591087 SHA256 d8d118c310d34a5a2acf5a689270a9f7bea60245552d24af8641599651909bec SHA512 3aa76144526b01ec40d940cae50d47e480e2760a36d1e95bc6e431b216407db190946fc3d99a6a7caf7b61bcc76d805d28da3ef0b141ff467854e1cdf10bb274 WHIRLPOOL 79da0950089d8e7d6128a2af7a44de704c2666aeb74de08e9e0a06fc23f8c4d17da2ab5107b5f6a82ca073800ec2af4f003c7792ae84e1ec032d9572e78bc0b2 +EBUILD hpl-2.0-r3.ebuild 1870 SHA256 5210141cae10bd50184673a8c0734f49556e24f48a214ea15d0d4da65b73980f SHA512 397e2ebd6fd10089cc070dbd385fdb60364280e1c1447fab0022c300bb1d46ce9ab661582b7f4d2e16c2c3553006c8309112fed693c3cbf5f78c98afdd9dd6f3 WHIRLPOOL 0d19fb794ccce38cabf88a42921c7074ac6d550a4f5c1204992533059a5c470bb0aa13316f19b3f5ad1f3a6d3b263fb7de453732b39f844aae84986281815459 +MISC ChangeLog 2420 SHA256 320451c6a05378e8724b64ffb71025dd8e4074c68e2164492fad3790ab6a9eb9 SHA512 e6c0c79b6821b214dbe0f78a8b2e3cf53925dc7a30bde6dfcea52905fed0ea5e853cd47871dd1c472a71ecf08130f76dd10f29490b41e37b19610357cea7895d WHIRLPOOL f3af4aa7533c6f66c4e073afce4336ddad79e722ee0858deb7fd53bb4e3b09a217d3871d5ece10ef6c27670262f789a1b4e42a6635835ca749585660dac071be +MISC ChangeLog-2015 2877 SHA256 29cd80428af6c0c8afe050c55129012340c21d04b7840f37047a313a6803924a SHA512 46e6d320ec24bb7f5b8542c6f57a4e1ddaeec6d79e73b8e2f1ff8414a16b1c2d01872d00b01486f5a8072eccd57540824a200612a75e2f6d74499f8d5b4a60f9 WHIRLPOOL 19887f341c3439b2a5589ed4677fd506a039de9652382e672d4ef96f0c481f1f08375798bf0be626d24037176711dea9f30ad0858f6df7952f580ce4c8a915c2 +MISC metadata.xml 263 SHA256 0c67f68407c1153b709d094f4f7de7710f178662bb5912f1f025dbe2a842ed10 SHA512 6ec307d6a3827ce21f67f8565a79a13d2833215571c459f42f06b8dd9184e1a41fa06b1cce8b3cf3555f4f875d9e366dd34ee786b6881dc18fb7d0b2d5c2acd5 WHIRLPOOL 5951a5587420612364b1c9f51ae31a3aed0ca3ea83a26f8d6fd2a2860a6a5a46b2ad8ca0260b591ec88f7fde17ab78213acac7aeced15398992cbd2de579c82f diff --git a/sys-cluster/hpl/hpl-2.0-r3.ebuild b/sys-cluster/hpl/hpl-2.0-r3.ebuild new file mode 100644 index 000000000000..61cbba4afc7d --- /dev/null +++ b/sys-cluster/hpl/hpl-2.0-r3.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit eutils multilib + +DESCRIPTION="A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers" +HOMEPAGE="http://www.netlib.org/benchmark/hpl/" +SRC_URI="http://www.netlib.org/benchmark/hpl/hpl-${PV}.tar.gz" + +SLOT="0" +LICENSE="HPL" +KEYWORDS="~x86 ~amd64" +IUSE="doc" + +RDEPEND=" + virtual/blas + virtual/lapack + virtual/mpi" +DEPEND="${DEPEND} + virtual/pkgconfig" + +src_prepare() { + local a="" + local locallib="${EPREFIX}/usr/$(get_libdir)/lib" + local localblas="$(for i in $($(tc-getPKG_CONFIG) --libs-only-l blas lapack);do a="${a} ${i/-l/${locallib}}.so "; done; echo ${a})" + + cp setup/Make.Linux_PII_FBLAS Make.gentoo_hpl_fblas_x86 || die + sed -i \ + -e "/^TOPdir/s,= .*,= ${S}," \ + -e '/^HPL_OPTS\>/s,=,= -DHPL_DETAILED_TIMING -DHPL_COPY_L,' \ + -e '/^ARCH\>/s,= .*,= gentoo_hpl_fblas_x86,' \ + -e '/^MPdir\>/s,= .*,=,' \ + -e '/^MPlib\>/s,= .*,=,' \ + -e "/^LAlib\>/s,= .*,= ${localblas}," \ + -e '/^LINKER\>/s,= .*,= mpicc,' \ + -e '/^CC\>/s,= .*,= mpicc,' \ + -e '/^CCFLAGS\>/s|= .*|= $(HPL_DEFS) ${CFLAGS}|' \ + -e "/^LINKFLAGS\>/s|= .*|= ${LDFLAGS}|" \ + Make.gentoo_hpl_fblas_x86 || die +} + +src_compile() { + # parallel make failure bug #321539 + HOME=${WORKDIR} emake -j1 arch=gentoo_hpl_fblas_x86 +} + +src_install() { + dobin bin/gentoo_hpl_fblas_x86/xhpl + dolib lib/gentoo_hpl_fblas_x86/libhpl.a + dodoc INSTALL BUGS COPYRIGHT HISTORY README TUNING \ + bin/gentoo_hpl_fblas_x86/HPL.dat + doman man/man3/*.3 + if use doc; then + dohtml -r www/* + fi +} + +pkg_postinst() { + einfo "Remember to copy /usr/share/hpl/HPL.dat to your working directory" + einfo "before running xhpl. Typically one may run hpl by executing:" + einfo "\"mpiexec -np 4 /usr/bin/xhpl\"" + einfo "where -np specifies the number of processes." +} diff --git a/sys-cluster/hpl/metadata.xml b/sys-cluster/hpl/metadata.xml new file mode 100644 index 000000000000..f3834ba82253 --- /dev/null +++ b/sys-cluster/hpl/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/hpx/Manifest b/sys-cluster/hpx/Manifest new file mode 100644 index 000000000000..dd933b1f4dc2 --- /dev/null +++ b/sys-cluster/hpx/Manifest @@ -0,0 +1,17 @@ +AUX hpx-0.9.8-cmake_dir.patch 782 SHA256 bb442661be8fca955c09de44073d49d8e89d603f8169600009fd77146a3294f9 SHA512 93fadaf1a8e302f8433c35ebbe4f75af6db21136d64a88574f56122f7204a387e6a0fc9a3fcde21cd8897364ecea203223a365fc84e2e725e8436b77a8fec9d9 WHIRLPOOL fbdcad3ee78f8153519d64d5fc2b05c451dbe4bd45c34dcb2b0502accc5743d13fdc9d42e797204e7001733126056a3699381d314d3d049569cd3d862691d6dd +AUX hpx-0.9.8-install-path.patch 2952 SHA256 c8bc7ed3a3023b6a278d7540009cd9b837085b6a0995b444f039863e8f008043 SHA512 94273cbd42291fe8dcefe76f8e663997632c8dfc729ceac9c9e6a13b1168334788fe4f2e8c0c20b37d3d5ab339db2b44ba2a6c3fee656cc3981f26d79503f606 WHIRLPOOL c4c539b337f43f09a95f69ea123d74db425a84ae81a927d4d8d5e04830cba36a8a2bf237bfbdee4b2f90f3eec2053e9cd50f9c91de898e710deeccecc6323d2e +AUX hpx-0.9.8-multilib.patch 6064 SHA256 77a3eff3e8882bcd36836a65255a62267310f78d43557a22a9bd908481816e79 SHA512 b378d6e259263a02929c06c0b093490115b5a573daed20f980c1fa15fe2f8ce4833a784cc8a1924ea1ddc8fdc853d07fd1e83a20fdc6c711211c8f3eb9e2f583 WHIRLPOOL 7e69572bfd9aa1b50a4173091d3b2e460fbccb7361963f74cfab14f27f965cc56d27be6e84310dd62eced27b1c4fe7eae5c1be7e43a99e9b8dbe3ed9497e2256 +DIST hpx-0.9.9.tar.gz 3461235 SHA256 cb17ac303f49795300c6b803725036aa09b434a7a23a610744457d3481be3738 SHA512 95332c924548f7d07e24c56d3d72e8aa5977a1347666fb2a0f3782fec040e83e5760750a1696cf8152d7b3f8b90ce719fe24018086a5165429b3f9851c2f7e1f WHIRLPOOL 370646b98c89133a8fd23cb17ecaefc477e09b07508884f4343526050a12fae117f1fd0e24881b9896beca97ca08d4bad8526b39cfec1cad0ce48d8826ea3c43 +DIST hpx_0.9.10.tar.gz 3016064 SHA256 af84455003bbf49fd81477138e6c7e699b7c24a4933de04d709c1437a9ad6aad SHA512 4c5ce7014d781c47415818898b99e5379e1547dd5f54fdefc9202de149ca4a0e3bf13c863cdea9ef70f7e3eb2c808cfda35d723a7f681745b8514a1887cbbb75 WHIRLPOOL 2fbc2c32532eb8141e6eb86a8e99ed4a7d4a6bb87bff9b383c4e4b5b0628fb5d6975672eaf5423f87b13f2f1d07e039362450b0276fa120f5a5abc8d7077408c +DIST hpx_0.9.8.7z 2089649 SHA256 9e04685b07e4155e6d3e00c944e5fe91c0c815a2b3bc7bc345eb59d8708bac91 SHA512 1789582ee776173d4aa67b512d2df225c734b98ffe59a8f1eee38b5112ac7c02e0c7c478f72062e5b6a5d5053ce1848729c374093378f63200acf51a208fb3c7 WHIRLPOOL b4b5a8a83aa4d07466ee0570b9fdadd906281e626eed2ce82e3a8e03681de1591a46af2254cbd387eb2d0bfac22c6796537fbbb37764be7dd424b97dd0d433c7 +DIST hpx_0.9.99.tar.gz 3779841 SHA256 072e8ed614eb81353ed3b4628835349fb08b42515f2f8d62855921354c1ae92b SHA512 57c03c01c4a9f770e56a60645ec352338365fe05c544b18ff2e944044284315a7e76bbdc2c7193fe55e6992dcb51a51d1042372fdd141b572bd8e18bf1afc363 WHIRLPOOL 1d2241c23ef43cf3cbc68fe59c5122165aff1793f2c36928badeb8e24a6bb8f3c35cef17a04672b308905e43d5a2c87cc252f0727c9b92079420da182904e301 +DIST hpx_1.0.0.tar.gz 3972403 SHA256 b47ab61da393eeb38c5d201e08a9ecb56a4a18d660a8605f0f5ebfeac2dcb069 SHA512 42c155654f118bff34b48d929b1732fd56126b8fd3e7657b5bd2f84275288ddf538572ed1152883c4aed5e9683de53b9b1f1c3613e5092e7bd1a5e165bed606d WHIRLPOOL b72ced95a656749d116fb6b9faf181a7dc396857012b78b13d9a80e2a1e96f63a2e334fe2be359cfa86c7725e3572f4410c4ef5b16c57cb4bb881fcc973b4036 +EBUILD hpx-0.9.10.ebuild 1775 SHA256 dfaa6ec612b36636886e217285f46109fc568dc13762bd4b809cd64211b23704 SHA512 2342c6edfdaae073e1dcc176e832facdbd3a9929192e3e913ac7cb12c541eed3d56ed1f41b0d28353da3fafcc72bc523045f6e1288a77a2c986af87bd87add15 WHIRLPOOL 8aa8b51ad92c5c38d2e2c58a11b2f80036cfc4ba848616914f7917c5f798c10dbadc2af82f0852c5117aefbf99e93de96c90a4558bad777f0b523c3b5345f1df +EBUILD hpx-0.9.8.ebuild 1928 SHA256 0f91283b9fa32d4762adc9d2a8a9065859e66c7443018152975af0fd62ac1cd9 SHA512 6938b8a989b85b11d98fca4849e385a39e61295b26c2f2670870e8df1f2561965dc6487748673d1505d5e85c0968222af815bc90ccbc79f9ca1dd117522c2a4e WHIRLPOOL 2be5fd15f1af6a5b986990cf1a634afb29db97a2ac45c91ce1008c1b5ca935d086106f1cae4e42a069eaa55e8dc9e924d5ea7bb193bb99e545dc34a5962af385 +EBUILD hpx-0.9.9.ebuild 1844 SHA256 d0b587f20b8bf82cefe52c5a0cbc22f00e4997dda13ce01fc18c54eef63cb0a6 SHA512 989807d4c30c22c5ec9ed8302bc5a1ddf7f7177bd4c423a48c450936ec4c0b685fd707c03fb15f665de2ca536a06800b6297e8deeeda7d59ab7a32c5b12df8ae WHIRLPOOL ccf152952973388ecaa4f03c71fb9140af0834d22c088fed3b2c674e4443ed44b35a314964104b3e3281c0ed0e881ec93231e31d323e48e59f1cb7bb7fb8ad5b +EBUILD hpx-0.9.99.ebuild 1890 SHA256 fb985ead403a7a11cd75f4f93dad7605b84410bf7898baa944d208c1d9b2855e SHA512 8300f95ef02cbad1e959f6958d680f1cbd46729adf813af54063652ad5e3413e67664be743fe8950ae743d9074cc58c3f0175d3dcbe014e1d734844f2bb50e21 WHIRLPOOL 8ba39f78a31e320388acb709073941f8450102fd612d9414ce82d9dcf721b3f14d45e89f0be2b7899f4278e62f85415b206b0e3054abd0a071818e4dd74ab926 +EBUILD hpx-1.0.0.ebuild 1942 SHA256 885171455d38618080dd8b0ec315f63af65355aaebb9f7d0056182dc34de2b80 SHA512 36ac087ab8b9d2da8ad1c0a549464dc3f5786bad153668159cf588569447005852769ced2864fa021b5dc579879a28faff1204397d329ebba764416bfb524e25 WHIRLPOOL 35335842f4ac556be97d2e1c52bd44db305f231c743b0fdb67fc7be558057e4ec37e70abf1f399e2c0fc700d26d37ef20f9d8871d90b016681ea21762dbbb256 +EBUILD hpx-9999.ebuild 1894 SHA256 975f9e42849dabc3491b92ef02474dd683414e3f2b46f9576f22331892414fcb SHA512 0a7e16abd34ea9a948fb22e3ed5347d5915332165a2fc19a7cbcc114d6a224a0cbf8853674c9b6a917f78ede1d4a788ff7c6b8cb645adc50ff99b7c8c601f622 WHIRLPOOL b637a1d149055f71c62391b2ddceba0a31eac849828b18eb1fedc4ed3b9f5fd0e6b861d3a1a8d61024f7ff5ba632981e69cde67ce32fea1f0af98e704953319f +MISC ChangeLog 2860 SHA256 38e965ea7d21e2f564561e24c4bab97519f93874cf4a47b871f6de5fb5ccad88 SHA512 64cc743eefc11358b177f7b33abe5d622660784229b880ea6e20f49e48427a71c7d8426be4e0fb536de54c140aa41faf7b33422a93acb9535d17fae4fb6e2db0 WHIRLPOOL d2c12a3adee7b79d9f99b934446b607a788355ddf43c2a5ac203994dcccbdf40878041e769d21ddc19c4cc6a1245bce97d3df6991a17043bdbb60f01905fffc7 +MISC ChangeLog-2015 995 SHA256 b6fdb7fe62ccf172be14b87d40e8e79980f889527303947fe8c21c31a0bf9bcd SHA512 8650f90a73b3200c24c517b6f0fcf2d1866b22b5ad2ac9d6600e420579d57c4db82c4283a617e9d80c0c4e72ac64d47f8268cd2e53d60d4700890bd9ebc49f9d WHIRLPOOL 359ca8a637981c47686c968554aa58b6ea965367442cc40e15fda79b520522474dfb45e97db8049908501a700aab340a83654a96f23340aae1f2f95959c7661f +MISC metadata.xml 1103 SHA256 6223ce3f8b090a224ec6d0dadc1ad354726c44840473464fb9f113f44b18f67b SHA512 392455d961f4048e58d51138990b7a329c6454efee2c1fd90fce822def39d8c62e76e9e1ac3f19b4170ba7d5826a315c35224fe50152d0c6cf0f8d276e80af2a WHIRLPOOL 35fc3239398bd85e9476634360042d62fb76e3d904bc1a0df7b89a60b855f9664eb4e9448b6462af4a648bf8a38264b6e2628c82589ec5a1ab038b267fe9e072 diff --git a/sys-cluster/hpx/files/hpx-0.9.8-cmake_dir.patch b/sys-cluster/hpx/files/hpx-0.9.8-cmake_dir.patch new file mode 100644 index 000000000000..b5c66c284752 --- /dev/null +++ b/sys-cluster/hpx/files/hpx-0.9.8-cmake_dir.patch @@ -0,0 +1,27 @@ +From e565c2cce934f2d6fa6e80061c416a2e7df0f311 Mon Sep 17 00:00:00 2001 +From: Christoph Junghans <junghans@lanl.gov> +Date: Tue, 20 May 2014 11:18:21 -0600 +Subject: [PATCH] make cmake_dir configure-able + +--- + CMakeLists.txt | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8ad79cb..e6f392a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1981,7 +1981,9 @@ endforeach() + # Make list unique + list(REMOVE_DUPLICATES external_definitions) + +-set(cmake_dir cmake-${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) ++if (NOT DEFINED cmake_dir) ++ set(cmake_dir cmake-${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) ++endif(NOT DEFINED cmake_dir) + + if(MSVC) + set(output_dir "${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}") +-- +1.8.5.5 + diff --git a/sys-cluster/hpx/files/hpx-0.9.8-install-path.patch b/sys-cluster/hpx/files/hpx-0.9.8-install-path.patch new file mode 100644 index 000000000000..f5c867b9b4a2 --- /dev/null +++ b/sys-cluster/hpx/files/hpx-0.9.8-install-path.patch @@ -0,0 +1,69 @@ +From 5c04f9c2d47a41f6113f45eeb4dd9f7968f2cd52 Mon Sep 17 00:00:00 2001 +From: Christoph Junghans <junghans@lanl.gov> +Date: Tue, 20 May 2014 09:27:47 -0600 +Subject: [PATCH] fix make install non-empty DESTDIR + +Symlinks were created even when make install was called with a +non-empty DESTDIR variable. Fixed by creating the symlinks in build +directory first and then install them using common install. +DESTDIR installation is needed for binary packages. +--- + CMakeLists.txt | 31 +++++++++++++++++++------------ + 1 file changed, 19 insertions(+), 12 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 00a71c7..8d5df19 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1762,15 +1762,22 @@ if(NOT HPX_NO_INSTALL) + + if(UNIX) + file(GLOB scripts "${CMAKE_SOURCE_DIR}/python/scripts/*.py") ++ execute_process(COMMAND "${CMAKE_COMMAND}" -E make_directory ++ "${CMAKE_BINARY_DIR}/python/scripts" ) + foreach(script ${scripts}) + get_filename_component(script_name ${script} NAME) + get_filename_component(script_name_we ${script} NAME_WE) +- install(CODE +- "set(bindir \"${CMAKE_INSTALL_PREFIX}/bin/\") +- execute_process( +- COMMAND \"\${CMAKE_COMMAND}\" -E create_symlink +- \"${script_name}\" \"${script_name_we}\" +- WORKING_DIRECTORY \"\${bindir}\")") ++ ++ #make copy, so that we have intact symlink in CMAKE_BINARY_DIR ++ execute_process( ++ COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${script}" "${script_name}" ++ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python/scripts") ++ ++ execute_process( ++ COMMAND "${CMAKE_COMMAND}" -E create_symlink "${script_name}" "${script_name_we}" ++ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python/scripts") ++ ++ install(FILES "${CMAKE_BINARY_DIR}/python/scripts/${script_name_we}" DESTINATION "bin") + endforeach() + endif() + +@@ -1781,13 +1788,13 @@ if(NOT HPX_NO_INSTALL) + FILES_MATCHING PATTERN "*.py" + PATTERN ".git" EXCLUDE) + ++ execute_process(COMMAND "${CMAKE_COMMAND}" -E make_directory "${CMAKE_BINARY_DIR}/python" ) ++ #make symlink, so that we have intact hpx symlink in CMAKE_BINARY_DIR ++ execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "${CMAKE_SOURCE_DIR}/python/hpx" ++ "hpx-${HPX_VERSION}" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python") + # create a symlink in share pointing to the latest HPX installation +- install(CODE +- "set(sharedir \"${CMAKE_INSTALL_PREFIX}/share/\") +- execute_process( +- COMMAND \"\${CMAKE_COMMAND}\" -E create_symlink +- \"hpx-${HPX_VERSION}\" \"hpx\" +- WORKING_DIRECTORY \"\${sharedir}\")") ++ execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "hpx-${HPX_VERSION}" "hpx" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python") ++ install(DIRECTORY "${CMAKE_BINARY_DIR}/python/hpx" DESTINATION "share") + + install( # Install external dependencies + DIRECTORY external/cache/boost +-- +1.8.5.5 + diff --git a/sys-cluster/hpx/files/hpx-0.9.8-multilib.patch b/sys-cluster/hpx/files/hpx-0.9.8-multilib.patch new file mode 100644 index 000000000000..470e76e3b800 --- /dev/null +++ b/sys-cluster/hpx/files/hpx-0.9.8-multilib.patch @@ -0,0 +1,163 @@ +From 383acb45e75406fb94bb4fa86c162a78c05ab840 Mon Sep 17 00:00:00 2001 +From: Christoph Junghans <junghans@lanl.gov> +Date: Tue, 20 May 2014 11:03:16 -0600 +Subject: [PATCH] added LIB cmake option to configure lib directory + +for multiarch distributions the lib directory needs to changed +from 'lib' to 'lib64'/'lib32'. Add an cmake option to do this. +--- + CMakeLists.txt | 11 +++++++---- + cmake/HPX_AddComponent.cmake | 2 +- + cmake/HPX_AddLibrary.cmake | 2 +- + plugins/binary_filter/bzip2/CMakeLists.txt | 2 +- + plugins/binary_filter/snappy/CMakeLists.txt | 2 +- + plugins/binary_filter/zlib/CMakeLists.txt | 2 +- + plugins/parcel/coalescing/CMakeLists.txt | 2 +- + src/CMakeLists.txt | 6 +++--- + 8 files changed, 16 insertions(+), 13 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8d5df19..8ad79cb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -192,6 +192,9 @@ else() + "64" ADVANCED) + endif() + ++if (NOT DEFINED LIB) ++ set(LIB "lib") ++endif(NOT DEFINED LIB) + ############################################################################### + if(UNIX) + hpx_link_directories("${CMAKE_BINARY_DIR}/lib/hpx") +@@ -2027,14 +2030,14 @@ + if(NOT HPX_NO_INSTALL) + if(NOT ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")) + install(FILES ${output_dir}/lib/pkgconfig/hpx_application.pc +- DESTINATION lib/pkgconfig) ++ DESTINATION ${LIB}/pkgconfig) + install(FILES ${output_dir}/lib/pkgconfig/hpx_component.pc +- DESTINATION lib/pkgconfig) ++ DESTINATION ${LIB}/pkgconfig) + else() + install(FILES ${output_dir}/lib/pkgconfig/hpx_application_debug.pc +- DESTINATION lib/pkgconfig) ++ DESTINATION ${LIB}/pkgconfig) + install(FILES ${output_dir}/lib/pkgconfig/hpx_component_debug.pc +- DESTINATION lib/pkgconfig) ++ DESTINATION ${LIB}/pkgconfig) + endif() + endif() + +diff --git a/cmake/HPX_AddComponent.cmake b/cmake/HPX_AddComponent.cmake +index afbee24..babca54 100644 +--- a/cmake/HPX_AddComponent.cmake ++++ b/cmake/HPX_AddComponent.cmake +@@ -258,7 +258,7 @@ macro(add_hpx_component name) + if(${name}_INSTALL_SUFFIX) + hpx_library_install("${name}_component" "${${name}_INSTALL_SUFFIX}") + else() +- hpx_library_install(${name}_component lib/hpx) ++ hpx_library_install(${name}_component ${LIB}/hpx) + endif() + + foreach(target ${${name}_INI}) +diff --git a/cmake/HPX_AddLibrary.cmake b/cmake/HPX_AddLibrary.cmake +index 7f39700..8524a45 100644 +--- a/cmake/HPX_AddLibrary.cmake ++++ b/cmake/HPX_AddLibrary.cmake +@@ -248,7 +248,7 @@ macro(add_hpx_library name) + if(${name}_INSTALL_SUFFIX) + hpx_library_install("${name}_lib" "${${name}_INSTALL_SUFFIX}") + else() +- hpx_library_install(${name}_lib lib/hpx) ++ hpx_library_install(${name}_lib ${LIB}/hpx) + endif() + endif() + endmacro() +diff --git a/plugins/binary_filter/bzip2/CMakeLists.txt b/plugins/binary_filter/bzip2/CMakeLists.txt +index 2580164..b2fbf40 100644 +--- a/plugins/binary_filter/bzip2/CMakeLists.txt ++++ b/plugins/binary_filter/bzip2/CMakeLists.txt +@@ -38,7 +38,7 @@ macro(add_bzip2_module) + add_hpx_pseudo_dependencies(plugins.compression.bzip2 compress_bzip2_lib) + + if(NOT HPX_NO_INSTALL) +- hpx_library_install(compress_bzip2_lib lib/hpx) ++ hpx_library_install(compress_bzip2_lib ${LIB}/hpx) + endif() + endif() + endmacro() +diff --git a/plugins/binary_filter/snappy/CMakeLists.txt b/plugins/binary_filter/snappy/CMakeLists.txt +index 6a7bbac..47e5966 100644 +--- a/plugins/binary_filter/snappy/CMakeLists.txt ++++ b/plugins/binary_filter/snappy/CMakeLists.txt +@@ -30,7 +30,7 @@ macro(add_snappy_module) + add_hpx_pseudo_dependencies(plugins.compression.snappy compress_snappy_lib) + + if(NOT HPX_NO_INSTALL) +- hpx_library_install(compress_snappy_lib lib/hpx) ++ hpx_library_install(compress_snappy_lib ${LIB}/hpx) + endif() + endif() + endmacro() +diff --git a/plugins/binary_filter/zlib/CMakeLists.txt b/plugins/binary_filter/zlib/CMakeLists.txt +index 4a188ca..e4485f7 100644 +--- a/plugins/binary_filter/zlib/CMakeLists.txt ++++ b/plugins/binary_filter/zlib/CMakeLists.txt +@@ -38,7 +38,7 @@ macro(add_zlib_module) + add_hpx_pseudo_dependencies(plugins.compression.zlib compress_zlib_lib) + + if(NOT HPX_NO_INSTALL) +- hpx_library_install(compress_zlib_lib lib/hpx) ++ hpx_library_install(compress_zlib_lib ${LIB}/hpx) + endif() + endif() + endmacro() +diff --git a/plugins/parcel/coalescing/CMakeLists.txt b/plugins/parcel/coalescing/CMakeLists.txt +index 093e427..889c10c 100644 +--- a/plugins/parcel/coalescing/CMakeLists.txt ++++ b/plugins/parcel/coalescing/CMakeLists.txt +@@ -22,7 +22,7 @@ macro(add_coalescing_module) + add_hpx_pseudo_dependencies(plugins.parcel.coalescing parcel_coalescing_lib) + + if(NOT HPX_NO_INSTALL) +- hpx_library_install(parcel_coalescing_lib lib/hpx) ++ hpx_library_install(parcel_coalescing_lib ${LIB}/hpx) + endif() + endmacro() + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 4f4c79c..6190839 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -312,7 +312,7 @@ set_property(TARGET hpx_serialization APPEND + "HPX_COROUTINE_EXPORTS") + + if(NOT HPX_NO_INSTALL) +- hpx_library_install(hpx_serialization lib/hpx) ++ hpx_library_install(hpx_serialization ${LIB}/hpx) + endif() + + ################################################################################ +@@ -403,7 +403,7 @@ set_property(TARGET hpx APPEND + "HPX_COROUTINE_EXPORTS") # Do we still need this? + + if(NOT HPX_NO_INSTALL) +- hpx_library_install(hpx lib/hpx) ++ hpx_library_install(hpx ${LIB}/hpx) + endif() + + ################################################################################ +@@ -436,7 +436,7 @@ endif() + set_property(TARGET hpx_init PROPERTY FOLDER "Core") + + if(NOT HPX_NO_INSTALL) +- hpx_archive_install(hpx_init lib/hpx) ++ hpx_archive_install(hpx_init ${LIB}/hpx) + endif() + + set(HPX_CONFIG_DEFINITIONS ${HPX_CONFIG_DEFINITIONS} PARENT_SCOPE) +-- +1.8.5.5 + diff --git a/sys-cluster/hpx/hpx-0.9.10.ebuild b/sys-cluster/hpx/hpx-0.9.10.ebuild new file mode 100644 index 000000000000..3d785033e606 --- /dev/null +++ b/sys-cluster/hpx/hpx-0.9.10.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python{2_7,3_4} ) + +inherit cmake-utils fortran-2 multilib python-any-r1 versionator + +SRC_URI="http://stellar.cct.lsu.edu/files/${PN}_${PV}.tar.gz" +KEYWORDS="~amd64 ~x86" +S="${WORKDIR}/${PN}_${PV}" + +DESCRIPTION="C++ runtime system for parallel and distributed applications" +HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/" + +SLOT="0" +LICENSE="Boost-1.0" +IUSE="doc examples jemalloc papi +perftools tbb test" + +RDEPEND=" + tbb? ( dev-cpp/tbb ) + >=dev-libs/boost-1.49 + papi? ( dev-libs/papi ) + perftools? ( >=dev-util/google-perftools-1.7.1 ) + >=sys-apps/hwloc-1.8 + >=sys-libs/libunwind-1 + sys-libs/zlib +" +DEPEND="${RDEPEND} + virtual/pkgconfig + test? ( ${PYTHON_DEPS} ) + doc? ( >=dev-libs/boost-1.56.0-r1[tools] ) +" +REQUIRED_USE=" + jemalloc? ( !perftools !tbb ) + perftools? ( !jemalloc !tbb ) + tbb? ( !jemalloc !perftools ) + " + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + CMAKE_BUILD_TYPE=Release + local mycmakeargs=( + -DHPX_BUILD_EXAMPLES=OFF + -DHPX_MALLOC=system + -DLIB=$(get_libdir) + -Dcmake_dir=cmake + $(cmake-utils_use doc HPX_BUILD_DOCUMENTATION) + $(cmake-utils_use jemalloc HPX_JEMALLOC) + $(cmake-utils_use test BUILD_TESTING) + $(cmake-utils_use perftools HPX_GOOGLE_PERFTOOLS) + $(cmake-utils_use papi HPX_PAPI) + ) + + use perftools && mycmakeargs+=( -DHPX_MALLOC=tcmalloc ) + use jemalloc && mycmakeargs+=( -DHPX_MALLOC=jemalloc ) + use tbb && mycmakeargs+=( -DHPX_MALLOC=tbbmalloc ) + + cmake-utils_src_configure +} + +src_test() { + # avoid over-suscribing + cmake-utils_src_make -j1 tests +} + +src_install() { + cmake-utils_src_install + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} diff --git a/sys-cluster/hpx/hpx-0.9.8.ebuild b/sys-cluster/hpx/hpx-0.9.8.ebuild new file mode 100644 index 000000000000..7694c32d0565 --- /dev/null +++ b/sys-cluster/hpx/hpx-0.9.8.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +SRC_URI="http://stellar.cct.lsu.edu/files/${PN}_${PV}.7z" +KEYWORDS="~amd64 ~x86" +S="${WORKDIR}/${PN}_${PV}" + +inherit cmake-utils fortran-2 multilib python-any-r1 + +DESCRIPTION="C++ runtime system for parallel and distributed applications" +HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/" + +SLOT="0" +LICENSE="Boost-1.0" +IUSE="doc examples jemalloc papi +perftools tbb test" + +# TODO: some of the forced deps are may be optional +# it would need to work the automagic +RDEPEND=" + tbb? ( dev-cpp/tbb ) + >=dev-libs/boost-1.51 + dev-libs/libxml2 + papi? ( dev-libs/papi ) + sci-libs/hdf5 + >=sys-apps/hwloc-1.8 + >=sys-libs/libunwind-1 + sys-libs/zlib + perftools? ( >=dev-util/google-perftools-1.7.1 ) +" +DEPEND="${RDEPEND} + app-arch/p7zip + virtual/pkgconfig + test? ( ${PYTHON_DEPS} ) +" + +PATCHES=( + "${FILESDIR}"/hpx-0.9.8-install-path.patch + "${FILESDIR}"/hpx-0.9.8-multilib.patch + "${FILESDIR}"/hpx-0.9.8-cmake_dir.patch +) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + CMAKE_BUILD_TYPE=Release + local mycmakeargs=( + -DHPX_BUILD_EXAMPLES=OFF + -DLIB=$(get_libdir) + -Dcmake_dir=cmake + $(cmake-utils_use doc HPX_BUILD_DOCUMENTATION) + $(cmake-utils_use jemalloc HPX_JEMALLOC) + $(cmake-utils_use test BUILD_TESTING) + $(cmake-utils_use perftools HPX_GOOGLE_PERFTOOLS) + $(cmake-utils_use papi HPX_PAPI) + ) + if use perftools; then + mycmakeargs+=( -DHPX_MALLOC=tcmalloc ) + elif use jemalloc; then + mycmakeargs+=( -DHPX_MALLOC=jemalloc ) + elif use tbb; then + mycmakeargs+=( -DHPX_MALLOC=tbbmalloc ) + else + mycmakeargs+=( -DHPX_MALLOC=system ) + fi + cmake-utils_src_configure +} + +src_test() { + # avoid over-suscribing + cmake-utils_src_make -j1 tests +} + +src_install() { + cmake-utils_src_install + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} diff --git a/sys-cluster/hpx/hpx-0.9.9.ebuild b/sys-cluster/hpx/hpx-0.9.9.ebuild new file mode 100644 index 000000000000..8001280e7023 --- /dev/null +++ b/sys-cluster/hpx/hpx-0.9.9.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python{2_7,3_4} ) + +inherit cmake-utils fortran-2 multilib python-any-r1 versionator + +MY_PV="$(replace_version_separator _ -)" + +SRC_URI="https://github.com/STEllAR-GROUP/hpx/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64 ~x86" +S="${WORKDIR}/${PN}-${MY_PV}" + +DESCRIPTION="C++ runtime system for parallel and distributed applications" +HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/" + +SLOT="0" +LICENSE="Boost-1.0" +IUSE="doc examples jemalloc papi +perftools tbb test" + +RDEPEND=" + tbb? ( dev-cpp/tbb ) + >=dev-libs/boost-1.49 + papi? ( dev-libs/papi ) + perftools? ( >=dev-util/google-perftools-1.7.1 ) + >=sys-apps/hwloc-1.8 + >=sys-libs/libunwind-1 + sys-libs/zlib +" +DEPEND="${RDEPEND} + virtual/pkgconfig + test? ( ${PYTHON_DEPS} ) + doc? ( >=dev-libs/boost-1.56.0-r1[tools] ) +" +REQUIRED_USE=" + jemalloc? ( !perftools !tbb ) + perftools? ( !jemalloc !tbb ) + tbb? ( !jemalloc !perftools ) + " + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + CMAKE_BUILD_TYPE=Release + local mycmakeargs=( + -DHPX_BUILD_EXAMPLES=OFF + -DHPX_MALLOC=system + -DLIB=$(get_libdir) + -Dcmake_dir=cmake + $(cmake-utils_use doc HPX_BUILD_DOCUMENTATION) + $(cmake-utils_use jemalloc HPX_JEMALLOC) + $(cmake-utils_use test BUILD_TESTING) + $(cmake-utils_use perftools HPX_GOOGLE_PERFTOOLS) + $(cmake-utils_use papi HPX_PAPI) + ) + + use perftools && mycmakeargs+=( -DHPX_MALLOC=tcmalloc ) + use jemalloc && mycmakeargs+=( -DHPX_MALLOC=jemalloc ) + use tbb && mycmakeargs+=( -DHPX_MALLOC=tbbmalloc ) + + cmake-utils_src_configure +} + +src_test() { + # avoid over-suscribing + cmake-utils_src_make -j1 tests +} + +src_install() { + cmake-utils_src_install + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} diff --git a/sys-cluster/hpx/hpx-0.9.99.ebuild b/sys-cluster/hpx/hpx-0.9.99.ebuild new file mode 100644 index 000000000000..c7977e7361c5 --- /dev/null +++ b/sys-cluster/hpx/hpx-0.9.99.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +CMAKE_MAKEFILE_GENERATOR="ninja" +PYTHON_COMPAT=( python{2_7,3_4} ) + +if [ ${PV} == 9999 ] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/STEllAR-GROUP/hpx.git" +else + SRC_URI="http://stellar.cct.lsu.edu/files/${PN}_${PV}.tar.gz" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" + S="${WORKDIR}/${PN}_${PV}" +fi + +inherit cmake-utils fortran-2 multilib python-any-r1 + +DESCRIPTION="C++ runtime system for parallel and distributed applications" +HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/" + +SLOT="0" +LICENSE="Boost-1.0" +IUSE="doc examples jemalloc papi +perftools tbb test" + +RDEPEND=" + tbb? ( dev-cpp/tbb ) + >=dev-libs/boost-1.49 + papi? ( dev-libs/papi ) + perftools? ( >=dev-util/google-perftools-1.7.1 ) + >=sys-apps/hwloc-1.8 + >=sys-libs/libunwind-1 + sys-libs/zlib +" +DEPEND="${RDEPEND} + virtual/pkgconfig + test? ( ${PYTHON_DEPS} ) + doc? ( >=dev-libs/boost-1.56.0-r1:=[tools] ) +" +REQUIRED_USE=" + jemalloc? ( !perftools !tbb ) + perftools? ( !jemalloc !tbb ) + tbb? ( !jemalloc !perftools ) + " + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + CMAKE_BUILD_TYPE=Release + local mycmakeargs=( + -DHPX_BUILD_EXAMPLES=OFF + -DHPX_MALLOC=system + -DLIB=$(get_libdir) + -Dcmake_dir=cmake + -DHPX_BUILD_DOCUMENTATION=$(usex doc) + -DHPX_JEMALLOC=$(usex jemalloc) + -DBUILD_TESTING=$(usex test) + -DHPX_GOOGLE_PERFTOOLS=$(usex perftools) + -DHPX_PAPI=$(usex papi) + ) + + use perftools && mycmakeargs+=( -DHPX_MALLOC=tcmalloc ) + use jemalloc && mycmakeargs+=( -DHPX_MALLOC=jemalloc ) + use tbb && mycmakeargs+=( -DHPX_MALLOC=tbbmalloc ) + + cmake-utils_src_configure +} + +src_test() { + # avoid over-suscribing + cmake-utils_src_make -j1 tests +} + +src_install() { + cmake-utils_src_install + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} diff --git a/sys-cluster/hpx/hpx-1.0.0.ebuild b/sys-cluster/hpx/hpx-1.0.0.ebuild new file mode 100644 index 000000000000..2f8924015c11 --- /dev/null +++ b/sys-cluster/hpx/hpx-1.0.0.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +CMAKE_MAKEFILE_GENERATOR="ninja" +PYTHON_COMPAT=( python{2_7,3_4,3_5} ) + +if [ ${PV} == 9999 ] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/STEllAR-GROUP/hpx.git" +else + SRC_URI="http://stellar.cct.lsu.edu/files/${PN}_${PV}.tar.gz" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" + S="${WORKDIR}/${PN}_${PV}" +fi + +inherit cmake-utils fortran-2 multilib python-any-r1 + +DESCRIPTION="C++ runtime system for parallel and distributed applications" +HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/" + +SLOT="0" +LICENSE="Boost-1.0" +IUSE="doc examples jemalloc papi +perftools tbb test" + +RDEPEND=" + tbb? ( dev-cpp/tbb ) + >=dev-libs/boost-1.49 + papi? ( dev-libs/papi ) + perftools? ( >=dev-util/google-perftools-1.7.1 ) + >=sys-apps/hwloc-1.8 + >=sys-libs/libunwind-1 + sys-libs/zlib +" +DEPEND="${RDEPEND} + virtual/pkgconfig + test? ( ${PYTHON_DEPS} ) + doc? ( >=dev-libs/boost-1.56.0-r1:=[tools] ) +" +REQUIRED_USE=" + jemalloc? ( !perftools !tbb ) + perftools? ( !jemalloc !tbb ) + tbb? ( !jemalloc !perftools ) + " + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + CMAKE_BUILD_TYPE=Release + local mycmakeargs=( + -DHPX_BUILD_EXAMPLES=OFF + -DHPX_MALLOC=system + -DLIB=$(get_libdir) + -Dcmake_dir=cmake + -DHPX_BUILD_DOCUMENTATION=$(usex doc) + -DHPX_JEMALLOC=$(usex jemalloc) + -DBUILD_TESTING=$(usex test) + -DHPX_GOOGLE_PERFTOOLS=$(usex perftools) + -DHPX_PAPI=$(usex papi) + ) + + use perftools && mycmakeargs+=( -DHPX_MALLOC=tcmalloc ) + use jemalloc && mycmakeargs+=( -DHPX_MALLOC=jemalloc ) + use tbb && mycmakeargs+=( -DHPX_MALLOC=tbbmalloc ) + + cmake-utils_src_configure +} + +src_test() { + # avoid over-suscribing + cmake-utils_src_make -j1 tests +} + +src_install() { + cmake-utils_src_install + mv "${D}/usr/bin/spin" "${D}/usr/bin/hpx_spin" + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} diff --git a/sys-cluster/hpx/hpx-9999.ebuild b/sys-cluster/hpx/hpx-9999.ebuild new file mode 100644 index 000000000000..9d7e3474956b --- /dev/null +++ b/sys-cluster/hpx/hpx-9999.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +CMAKE_MAKEFILE_GENERATOR="ninja" +PYTHON_COMPAT=( python{2_7,3_4,3_5} ) + +if [ ${PV} == 9999 ] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/STEllAR-GROUP/hpx.git" +else + SRC_URI="http://stellar.cct.lsu.edu/files/${PN}_${PV}.tar.gz" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" + S="${WORKDIR}/${PN}_${PV}" +fi + +inherit cmake-utils fortran-2 multilib python-any-r1 + +DESCRIPTION="C++ runtime system for parallel and distributed applications" +HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/" + +SLOT="0" +LICENSE="Boost-1.0" +IUSE="doc examples jemalloc papi +perftools tbb test" + +RDEPEND=" + tbb? ( dev-cpp/tbb ) + >=dev-libs/boost-1.49 + papi? ( dev-libs/papi ) + perftools? ( >=dev-util/google-perftools-1.7.1 ) + >=sys-apps/hwloc-1.8 + >=sys-libs/libunwind-1 + sys-libs/zlib +" +DEPEND="${RDEPEND} + virtual/pkgconfig + test? ( ${PYTHON_DEPS} ) + doc? ( >=dev-libs/boost-1.56.0-r1:=[tools] ) +" +REQUIRED_USE=" + jemalloc? ( !perftools !tbb ) + perftools? ( !jemalloc !tbb ) + tbb? ( !jemalloc !perftools ) + " + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +src_configure() { + CMAKE_BUILD_TYPE=Release + local mycmakeargs=( + -DHPX_BUILD_EXAMPLES=OFF + -DHPX_MALLOC=system + -DLIB=$(get_libdir) + -Dcmake_dir=cmake + -DHPX_BUILD_DOCUMENTATION=$(usex doc) + -DHPX_JEMALLOC=$(usex jemalloc) + -DBUILD_TESTING=$(usex test) + -DHPX_GOOGLE_PERFTOOLS=$(usex perftools) + -DHPX_PAPI=$(usex papi) + ) + + use perftools && mycmakeargs+=( -DHPX_MALLOC=tcmalloc ) + use jemalloc && mycmakeargs+=( -DHPX_MALLOC=jemalloc ) + use tbb && mycmakeargs+=( -DHPX_MALLOC=tbbmalloc ) + + cmake-utils_src_configure +} + +src_test() { + # avoid over-suscribing + cmake-utils_src_make -j1 tests +} + +src_install() { + cmake-utils_src_install + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} diff --git a/sys-cluster/hpx/metadata.xml b/sys-cluster/hpx/metadata.xml new file mode 100644 index 000000000000..8cef5eececcc --- /dev/null +++ b/sys-cluster/hpx/metadata.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <longdescription> + HPX (High Performance ParalleX) is a general C++ runtime system + for parallel and distributed applications of any scale. It is the + first freely available, open source, feature-complete, modular, + and performance oriented implementation of the ParalleX execution + model. HPX is targeted at conventional architectures and, + currently, Linux based systems, such as SMP nodes and conventional + clusters. +</longdescription> + <maintainer type="person"> + <email>slis@gentoo.org</email> + </maintainer> + <use> + <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for memory allocation</flag> + <flag name="perftools">Use <pkg>dev-util/google-perftools</pkg> for + memory allocation</flag> + <flag name="tbb">Use <pkg>dev-cpp/tbb</pkg> for memory + allocation</flag> + <flag name="papi">Use <pkg>dev-libs/papi</pkg> for NaCl</flag> + </use> + <upstream> + <remote-id type="github">STEllAR-GROUP/hpx</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/ipvsadm/Manifest b/sys-cluster/ipvsadm/Manifest new file mode 100644 index 000000000000..f2f8ace36023 --- /dev/null +++ b/sys-cluster/ipvsadm/Manifest @@ -0,0 +1,18 @@ +AUX ipvsadm-1.26-buildsystem.patch 2989 SHA256 88391e5122dbb7d8c92385647b2e8856bf7ad7231cfb2e73eda4e422addce198 SHA512 0802a919c947fed04774ec4034fba22036011e51802369d7c3c6a44ec7d118011aeac0ce3f7e2cb607efff133242c782ac8708b4ec3bb890c0013ad5d14863f8 WHIRLPOOL a5a723095f5dd158490f9d6e68a9288da65e5c16a789494863dadb1d2c786e0e1816e1b39a826a475c54f0413d3c508a5d5303cb129bed9d6e0e1640a8ac4881 +AUX ipvsadm-1.26-stack_smashing.patch 912 SHA256 78cf4f4d79fb2a39afdb532e46793c4e700fa08ecacd9fa2577d53b5ced389bd SHA512 b1b50914003e0bf8688bb7e2fe011242f2ec11df70e890f4af578780367c0d38718a47a942a0cef48088a85b36276896508a8b5d580d7a15a29ae20d5ae46b4c WHIRLPOOL 267d1580c793b6f9d90b39147cccc4c4dcdfdb67999884070e1fde279c72e77c9bbfa35f2adeb104c9ae0046e2d6f75598fd7de9205b56259c4caa2268427b12 +AUX ipvsadm-1.27-buildsystem.patch 3624 SHA256 d1ff236278b7da7b313817370246ada89cd54144a09cfec48871f7df8dc6f080 SHA512 e6e94a84f3a59a2ddb73c924f28e7e6799530aa5187d499c1b002ea1caa379c728dc96493e481d9e351e14209d5424de73c7deeb4f1e1d9846eb088fb160535d WHIRLPOOL 3b91ee9b38567572ac543290199fb033c54a3b7e8b1f0639fabbb9808c3bdda96fdadf8d898ed8f76a2193da6de0312293b2aabdaf5e6e07acc0e327ec034076 +AUX ipvsadm-1.27-fix-daemon-state.patch 2001 SHA256 427c13abdffd138fcc2982895866ca967738f9fee395a9e55171fac9a0e6bcf5 SHA512 4898672423f2b53776bedde1b5d7a7dce27d8d66aeec6b749149209c6acabcfa8cc53b4f3342107f9a783c5a4afe88f4e8b10d25771c49d86b0def8777834c22 WHIRLPOOL edbd01012de5516ab8c5be85680e0acca8833f79cdb415ac328a4c5e447f35695d2ac52a766ec78b6524666d65536ba5a84f9e07d2a51562d8e2cbfbe67f86c9 +AUX ipvsadm-init 649 SHA256 78ffbe8da0840bac4902b2a3814feafbf9022c790c8000f835addd04f7670038 SHA512 3fb2467fc157599fbf308e27f39f0cb4164e3d36423500d89c7fbedec3ba6f5c7b3cbe52b077811011fc0faef73072a0bf3b204d728841773ef2a520c03130f7 WHIRLPOOL d98c943a1f1d7d3d95791def4302b33c04a191f085e723e41a5a8e485e620b3e1697cd5bda158b0258d1e8f74d96077dd95f9685cfc018a50e7466ce528d3b9b +DIST ipvsadm-1.21-11.tar.gz 34030 SHA256 7b85020f84d4648166bce480d747d82ac5c9113f9a222e3de7eb92b7af0598fa SHA512 55a50b4a06798b035481b4d8080ff8b64772802a564f91e7ff9fc7179ff8ed687681615a22b4c51b99065b574108b6a2c616e9acf54877dfd46c221e67f99048 WHIRLPOOL 4fb619061a5d08c7f6ae9cb9a9b7e2bdd6fa1a4a0745622fe4bbd79bee79228b58191af021119e0dc8694bb0a0e74fe1468c6ffaeeb5262e85fe63c65453db23 +DIST ipvsadm-1.24.tar.gz 32007 SHA256 773cbada48061e3afafaeaa2800d5382b8ff638b2c929293c14a793112a0642a SHA512 f472e55d78901de3b8f07dec0ff6e32b5aa301dc0dc62f34fe168511c8e2af26704fb66936540eb1173d7a0280428a2e6e48f9efadd3e33050dd881e666e1041 WHIRLPOOL 846d06b4977d93562618a9215b470272915458e8712346f37dc02c6afb2e0365ec15f589caedc7654a2a33542610a8f90fc3acc6c52a12a9fdf8098789fe682b +DIST ipvsadm-1.26.tar.gz 41700 SHA256 6d6c46fecb1c532a892616b4445c73b71730e8790d5630f60269fd9cbee0eb2d SHA512 873e23a6bdaabc153b00f1ede3853c947e8c8cfb4e18364d55197c74f26cc883ca469e074a90f377fbfd5e73e0cd6c1fe414c9f7a5c28b0d4431af58056eced4 WHIRLPOOL 5f62ad434c7da3359adbfae1cdde230769f19f0c82a190d7ef6fc8ba340d5e761875a778ad9a1dd7162d385b8ebda89c589b7179d53d495c79e82056e46bce9a +DIST ipvsadm-1.27.tar.xz 38196 SHA256 d360fb4dcf591e0a8a918831e2c02b1dc03e3c17ee1e60d0d70de9455238b3f8 SHA512 cf982b7981674c91d1b7516de7b55cf378b306ce4a53e13976b8eeb8610015c4fa4aa9d251bc4d329db8e05c1862863160af2d3c63b76263f290087cffdf1b80 WHIRLPOOL fbb69043813ccba929bb044c9d7854b67e8d656ae08209f17e21d3d237ea4690cd8ea7a1e2806ce6b07f847eb9796e93649c7f5231d2356e8519696b5a504b73 +DIST ipvsadm-1.28.tar.xz 38600 SHA256 90e0e49cad5acb9db1c04ed4cdadf7933152a472c2f694039b9d7a291c37f3ab SHA512 a1e10ce30751d9439f832e221e5c41b338f87dcc94a0b21329d908a9164f8882049af9d9d918b764b36c30e353d5b8db49d7088e60c24e4748713c06cccf7035 WHIRLPOOL 76e972792b779526b666469e92a4e181f9b63765bea2a3908b68ea0cac9bd45533c5eeb04f618993d45dae12b8268271c18df3fae82a3eb62d14fa3db4a4f74b +EBUILD ipvsadm-1.21-r1.ebuild 1086 SHA256 e5bc1b725be7a0a9009f2083f19869adb046884984f6aae1b3092677b53bef25 SHA512 ad0224310eb5bba50507d7fea9720fe265b3a015c90222118cebb9b40dddf56ce3489bfb0f37f996d4575b41846f8ab755dca9b684f535e48bc62132221a8575 WHIRLPOOL 74c9712939103563aaf16b19402ef5ac44df690bda4e58b16be7b20fef9d608a9ce7e387c907fbcfcb5d2cec4e1ac8c23d1cd4e55c69b11757016c343181f0ef +EBUILD ipvsadm-1.24.ebuild 1255 SHA256 3100f52d473727e60ad4e3bbedf2e25d5b7042da5d58ec91dc519e856fce3bf3 SHA512 b02d38b0c2b59bb7a3550b91261284229dd19a3c5b7bccffd8d99bec17178242b1cee4e24a11ce3dc50972961f3c7598cd36f910e4f4319937d1ed75e0c13d3e WHIRLPOOL 149bc972d79cac285149ddb9a53020b6a0aac6d676bc7c67241f4a01ad1addd38353d9e5e0f569e17007a4a3aba924eed711177fd1459b9daedde1045483ebbb +EBUILD ipvsadm-1.26-r2.ebuild 1468 SHA256 58ddbbc69a00e50faafa0ad1ae65347b0376bc98691d6788c8af687a9f94605e SHA512 73eba25de1121b24b2dfee8ea509f3c0c483cc22caf76bffe3742f1691346a2a13554a547ecb06cc1087373ab1866b2cd453ac99a334f62bf7618d9c423925be WHIRLPOOL fc42862cc91444e79ae22afff20d6c0cc977f902a981435511de8e6a5f8dcbf035eed5f5432119775f9752942421a4ca8b089e5ddb7413dbd4fa081c95d80083 +EBUILD ipvsadm-1.27-r1.ebuild 1736 SHA256 dc0d3672f1b37ba474dc6a7b5f1a0e6d5c5c0ed7a4daa76e61845f62fc4a3a71 SHA512 60860e46259f52965dbe1eb056f43b8878e9559f4eb0c40ed3ef74531ef8ff7c738aa6081720ecab06d2e9364c91da96de033c97591699d8af62580cd76a27a1 WHIRLPOOL 88f7e31b4d08cec225cf63b8061d332e0119b0b20ddd2e35eec191f2894b5de07acc68f945361e91d912fe9a33938c287ea25eadb236af1ae4f9af74cdc19184 +EBUILD ipvsadm-1.28.ebuild 1647 SHA256 209f80463dd03f37cbe84d012c7b88dd1ef7cffd3614a98e19a0fe65dc07b6a9 SHA512 0132f04eb777f8289ab98edff96a90e3d07309993bbbc892c9c5f2f0f1e1b238253a86dd8383aeff5c8446c8e0cb4f108f8159692ba0d659852568d49155b906 WHIRLPOOL c5ebe64b850ec42ba299ca24df73235615ffb0abf0bc714cf0df2b1c3dfe3d55c3b2e21b797dff2eb974e3eb1d8bbd05854b0619ae250deae43acd7d6c7550ed +MISC ChangeLog 3574 SHA256 8dc025ce5e072f9474a81d53cd3a7fae301888976f7860cbec191bfd86b969a3 SHA512 d5058fc2c118a55f0b70a17853d1618c61bb3c7d4745f8093e51d808fbe01e78a3f282c9447005761eb6c9a4f8f0e10be02f8813e0520b4082ca9a308e4e16f4 WHIRLPOOL 1301bcb2edc243e562715d17630c5e2db6764d22158a0861ef3c8b7804e51f4ef29b416ca6a8b35eb96aa185020d07a41089b0a2738e1e9a132b0e0b98aa5366 +MISC ChangeLog-2015 9083 SHA256 f22d33cce3328dfa02e7c546301b3fdacf312d818fbc59b65da41801a2467809 SHA512 6a2776ef2d81b0c7c19a51951fb72662cc17e53bb3355c5a06ac5e461e9ba28fba1631f271b6628e54d6f109644cc34a7b047a7b3a8986a281492e4fd976017f WHIRLPOOL 1dccffebc7303bb9c0e39e216f120d855b9fdcb82cc29713d25d9d95510206368cbd96ffd669ff5ddb1d356679fa88abec166157e6de0c4839e5ba9367547404 +MISC metadata.xml 366 SHA256 99c1935c6018be78647e899c1e8a8b222934ca30b861d6b5918088ec2199ddd2 SHA512 6cdf615e2158872ea3081ba02996989acd1fa9a02286946acc1b972c717943eba27b2733dc7c33ff782624017adc140fd125cf04f1d989e006c2541eb159f256 WHIRLPOOL b1c9f17339b00a1da42fc7d9044b9432711bfe44d9d50984309590852361985e34aa4836101b5ad44671493340c446febc90babad82cd4263d67abe0e7ed0601 diff --git a/sys-cluster/ipvsadm/files/ipvsadm-1.26-buildsystem.patch b/sys-cluster/ipvsadm/files/ipvsadm-1.26-buildsystem.patch new file mode 100644 index 000000000000..ba8e9450eb35 --- /dev/null +++ b/sys-cluster/ipvsadm/files/ipvsadm-1.26-buildsystem.patch @@ -0,0 +1,113 @@ +--- a/Makefile ++++ b/Makefile +@@ -43,14 +43,13 @@ + INIT = $(BUILD_ROOT)/etc/rc.d/init.d + MKDIR = mkdir + INSTALL = install +-STATIC_LIBS = libipvs/libipvs.a + + ifeq "${ARCH}" "sparc64" +- CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -m64 -pipe -mcpu=ultrasparc -mcmodel=medlow ++ CFLAGS := -g -m64 -pipe -mcpu=ultrasparc -mcmodel=medlow + else +- CFLAGS = -Wall -Wunused -Wstrict-prototypes -g ++ CFLAGS := -g + endif +- ++OPTFLAGS += -Wall -Wunused -Wstrict-prototypes + + ##################################### + # No servicable parts below this line +@@ -94,10 +93,12 @@ + all: libs ipvsadm + + libs: +- make -C libipvs ++ $(MAKE) -C libipvs ++ ++$(OBJS): libs + +-ipvsadm: $(OBJS) $(STATIC_LIBS) +- $(CC) $(CFLAGS) -o $@ $^ $(LIBS) ++ipvsadm: $(OBJS) ++ $(CC) $(LDFLAGS) $(OPTFLAGS) $(CFLAGS) -o $@ $^ -Llibipvs -lipvs $(LIBS) + +-install: all ++install: + if [ ! -d $(SBIN) ]; then $(MKDIR) -p $(SBIN); fi +@@ -108,15 +109,13 @@ + $(INSTALL) -m 0644 ipvsadm.8 $(MAN) + $(INSTALL) -m 0644 ipvsadm-save.8 $(MAN) + $(INSTALL) -m 0644 ipvsadm-restore.8 $(MAN) +- [ -d $(INIT) ] || $(MKDIR) -p $(INIT) +- $(INSTALL) -m 0755 ipvsadm.sh $(INIT)/ipvsadm + + clean: + rm -f ipvsadm $(NAME).spec $(NAME)-$(VERSION).tar.gz + rm -rf debian/tmp + find . -name '*.[ao]' -o -name "*~" -o -name "*.orig" \ + -o -name "*.rej" -o -name core | xargs rm -f +- make -C libipvs clean ++ $(MAKE) -C libipvs clean + + distclean: clean + +@@ -149,4 +148,4 @@ + dpkg-buildpackage + + %.o: %.c +- $(CC) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $< ++ $(CC) $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $< +--- a/libipvs/Makefile ++++ b/libipvs/Makefile +@@ -1,32 +1,39 @@ + # Makefile for libipvs + + CC = gcc +-CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -fPIC ++OPTFLAGS = -Wall -Wunused -Wstrict-prototypes + ifneq (0,$(HAVE_NL)) +-CFLAGS += -DLIBIPVS_USE_NL ++DEFINES += -DLIBIPVS_USE_NL + endif + + INCLUDE += $(shell if [ -f ../../ip_vs.h ]; then \ + echo "-I../../."; fi;) +-DEFINES = $(shell if [ ! -f ../../ip_vs.h ]; then \ ++DEFINES += $(shell if [ ! -f ../../ip_vs.h ]; then \ + echo "-DHAVE_NET_IP_VS_H"; fi;) + + .PHONY = all clean install dist distclean rpm rpms +-STATIC_LIB = libipvs.a +-SHARED_LIB = libipvs.so + +-all: $(STATIC_LIB) $(SHARED_LIB) ++TARGETS = libipvs.so + +-$(STATIC_LIB): libipvs.o ip_vs_nl_policy.o ++ifeq (1,$(STATIC_LIB)) ++TARGETS += libipvs.a ++endif ++ ++all: $(TARGETS) ++ ++libipvs.a: libipvs.o ip_vs_nl_policy.o + ar rv $@ $^ + +-$(SHARED_LIB): libipvs.o ip_vs_nl_policy.o +- $(CC) -shared -Wl,-soname,$@ -o $@ $^ ++libipvs.so: libipvs.lo ip_vs_nl_policy.lo ++ $(CC) $(LDFLAGS) -shared -Wl,-soname,$@ -o $@ $^ ++ ++%.lo: %.c ++ $(CC) -fPIC $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $< + + %.o: %.c +- $(CC) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $< ++ $(CC) $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $< + + clean: +- rm -f *.[ao] *~ *.orig *.rej core *.so ++ rm -f *.[ao] *~ *.orig *.rej core *.so *.lo + + distclean: clean diff --git a/sys-cluster/ipvsadm/files/ipvsadm-1.26-stack_smashing.patch b/sys-cluster/ipvsadm/files/ipvsadm-1.26-stack_smashing.patch new file mode 100644 index 000000000000..d36b0bf8abe4 --- /dev/null +++ b/sys-cluster/ipvsadm/files/ipvsadm-1.26-stack_smashing.patch @@ -0,0 +1,32 @@ +From 81529af388c0f0f4e4b169b7bcb285ef5e798f41 Mon Sep 17 00:00:00 2001 +From: Christian Ruppert <idl0r@gentoo.org> +Date: Sat, 8 Oct 2011 02:05:37 +0200 +Subject: [PATCH] Fix stack smashing because of a typo + +IPVS_CMD_ATTR_MAX was the size of __IPVS_SVC_ATTR_MAX before, which has a +different size and thus it caused trouble. The right enum to use is +__IPVS_CMD_ATTR_MAX. + +Reported-by: Deniss Gaplevsky <slim@inbox.lv> +X-Gentoo-Bug: 371903 +X-Gentoo-Bug-URL: https://bugs.gentoo.org/371903 +--- + libipvs/ip_vs.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/libipvs/ip_vs.h b/libipvs/ip_vs.h +index 9726a17..5e1d544 100644 +--- a/libipvs/ip_vs.h ++++ b/libipvs/ip_vs.h +@@ -413,7 +413,7 @@ enum { + __IPVS_CMD_ATTR_MAX, + }; + +-#define IPVS_CMD_ATTR_MAX (__IPVS_SVC_ATTR_MAX - 1) ++#define IPVS_CMD_ATTR_MAX (__IPVS_CMD_ATTR_MAX - 1) + + /* + * Attributes used to describe a service +-- +1.7.3.4 + diff --git a/sys-cluster/ipvsadm/files/ipvsadm-1.27-buildsystem.patch b/sys-cluster/ipvsadm/files/ipvsadm-1.27-buildsystem.patch new file mode 100644 index 000000000000..54d2e55c1519 --- /dev/null +++ b/sys-cluster/ipvsadm/files/ipvsadm-1.27-buildsystem.patch @@ -0,0 +1,117 @@ +diff -Nuar -Nuar --exclude '*.orig' --exclude '*.rej' ipvsadm-1.27.orig/libipvs/Makefile ipvsadm-1.27/libipvs/Makefile +--- ipvsadm-1.27.orig/libipvs/Makefile 2013-09-06 01:37:27.000000000 -0700 ++++ ipvsadm-1.27/libipvs/Makefile 2013-11-01 23:45:21.633636401 -0700 +@@ -1,9 +1,9 @@ + # Makefile for libipvs + + CC = gcc +-CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -fPIC ++#OPTFLAGS = -Wall -Wunused -Wstrict-prototypes + ifneq (0,$(HAVE_NL)) +-CFLAGS += -DLIBIPVS_USE_NL ++DEFINES += -DLIBIPVS_USE_NL + CFLAGS += $(shell \ + if which pkg-config > /dev/null 2>&1; then \ + if pkg-config --cflags libnl-3.0 2> /dev/null; then :; \ +@@ -15,7 +15,7 @@ + + INCLUDE += $(shell if [ -f ../../ip_vs.h ]; then \ + echo "-I../../."; fi;) +-DEFINES = $(shell if [ ! -f ../../ip_vs.h ]; then \ ++DEFINES += $(shell if [ ! -f ../../ip_vs.h ]; then \ + echo "-DHAVE_NET_IP_VS_H"; fi;) + DEFINES += $(shell if which pkg-config > /dev/null 2>&1; then \ + if pkg-config --exists libnl-3.0; then :; \ +@@ -24,21 +24,31 @@ + then echo "-DFALLBACK_LIBNL1"; fi; fi) + + .PHONY = all clean install dist distclean rpm rpms ++ + STATIC_LIB = libipvs.a + SHARED_LIB = libipvs.so + +-all: $(STATIC_LIB) $(SHARED_LIB) ++TARGETS = $(SHARED_LIB) ++ifeq (1,$(STATIC)) ++TARGETS += $(STATIC_LIB) ++endif ++all: $(TARGETS) ++ ++SOURCES = libipvs.c ip_vs_nl_policy.c + +-$(STATIC_LIB): libipvs.o ip_vs_nl_policy.o ++$(STATIC_LIB): $(SOURCES:%.c=%.o) + ar rv $@ $^ + +-$(SHARED_LIB): libipvs.o ip_vs_nl_policy.o +- $(CC) -shared -Wl,-soname,$@ -o $@ $^ ++$(SHARED_LIB): $(SOURCES:%.c=%.lo) ++ $(CC) $(LDFLAGS) -shared -Wl,-soname,$@ -o $@ $^ ++ ++%.lo: %.c ++ $(CC) -fPIC $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $< + + %.o: %.c +- $(CC) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $< ++ $(CC) $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $< + + clean: +- rm -f *.[ao] *~ *.orig *.rej core *.so ++ rm -f *.[ao] *~ *.orig *.rej core *.so *.lo + + distclean: clean +diff -Nuar -Nuar --exclude '*.orig' --exclude '*.rej' ipvsadm-1.27.orig/Makefile ipvsadm-1.27/Makefile +--- ipvsadm-1.27.orig/Makefile 2013-11-01 23:49:36.523225124 -0700 ++++ ipvsadm-1.27/Makefile 2013-11-01 23:49:09.478738760 -0700 +@@ -43,14 +43,13 @@ + INIT = $(BUILD_ROOT)/etc/rc.d/init.d + MKDIR = mkdir + INSTALL = install +-STATIC_LIBS = libipvs/libipvs.a + + ifeq "${ARCH}" "sparc64" +- CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -m64 -pipe -mcpu=ultrasparc -mcmodel=medlow ++ CFLAGS := -g -m64 -pipe -mcpu=ultrasparc -mcmodel=medlow + else +- CFLAGS = -Wall -Wunused -Wstrict-prototypes -g ++ CFLAGS := -g + endif +- ++OPTFLAGS += -Wall -Wunused -Wstrict-prototypes + + ##################################### + # No servicable parts below this line +@@ -84,12 +83,14 @@ + all: libs ipvsadm + + libs: +- make -C libipvs ++ $(MAKE) -C libipvs CFLAGS="$(CFLAGS)" STATIC="$(STATIC)" OPTFLAGS="$(OPTFLAGS)" ++ ++$(OBJS): libs + +-ipvsadm: $(OBJS) $(STATIC_LIBS) +- $(CC) $(CFLAGS) -o $@ $^ $(LIBS) ++ipvsadm: $(OBJS) ++ $(CC) $(LDFLAGS) $(OPTFLAGS) $(CFLAGS) -o $@ $^ -Llibipvs -lipvs $(LIBS) + +-install: all ++install: all + if [ ! -d $(SBIN) ]; then $(MKDIR) -p $(SBIN); fi + $(INSTALL) -m 0755 ipvsadm $(SBIN) + $(INSTALL) -m 0755 ipvsadm-save $(SBIN) +@@ -106,7 +107,7 @@ + rm -rf debian/tmp + find . -name '*.[ao]' -o -name "*~" -o -name "*.orig" \ + -o -name "*.rej" -o -name core | xargs rm -f +- make -C libipvs clean ++ $(MAKE) -C libipvs clean + + distclean: clean + +@@ -139,4 +140,4 @@ + dpkg-buildpackage + + %.o: %.c +- $(CC) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $< ++ $(CC) $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $< diff --git a/sys-cluster/ipvsadm/files/ipvsadm-1.27-fix-daemon-state.patch b/sys-cluster/ipvsadm/files/ipvsadm-1.27-fix-daemon-state.patch new file mode 100644 index 000000000000..e3e5ebec72c6 --- /dev/null +++ b/sys-cluster/ipvsadm/files/ipvsadm-1.27-fix-daemon-state.patch @@ -0,0 +1,56 @@ +From 8c34d5a0d4c763db9b8f1e54be0c6c3ded6c54e0 Mon Sep 17 00:00:00 2001 +From: Alexander Holler <alexander.holler@1und1.de> +Date: Mon, 9 Jan 2012 13:16:55 +0100 +Subject: [PATCH] libipvs: Fix reporting of the state of the backup-daemon. + +ipvsadm -l --daemon didn't report a running ipvs-backup-daemon +(if no master-daemon was run). + +It seems there was some misunderstanding of +how the daemons got reported (without using netlink). The state of +the backup-daemon is always reported (by the kernel) in the second +element of type ip_vs_daemon_user which is returned by the kernel +through IP_VS_SO_GET_DAEMON or IPVS_CMD_GET_DAEMON. + +Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> + +--- + libipvs/libipvs.c | 11 ++++++----- + 1 files changed, 6 insertions(+), 5 deletions(-) + +Note: patch adjusted slightly to apply against ipvsadm (was spun for keepalived) - robbat2 + +diff --git a/libipvs/libipvs.c b/libipvs/libipvs.c +index ea5e851..6bee837 100644 +--- a/libipvs/libipvs.c ++++ b/libipvs/libipvs.c +@@ -1003,12 +1003,9 @@ static int ipvs_daemon_parse_cb(struct nl_msg *msg, void *arg) + struct nlattr *attrs[IPVS_CMD_ATTR_MAX + 1]; + struct nlattr *daemon_attrs[IPVS_DAEMON_ATTR_MAX + 1]; + ipvs_daemon_t *u = (ipvs_daemon_t *)arg; ++ __u32 state; + int i = 0; + +- /* We may get two daemons. If we've already got one, this is the second */ +- if (u[0].state) +- i = 1; +- + if (genlmsg_parse(nlh, 0, attrs, IPVS_CMD_ATTR_MAX, ipvs_cmd_policy) != 0) + return -1; + +@@ -1021,7 +1018,11 @@ static int ipvs_daemon_parse_cb(struct nl_msg *msg, void *arg) + daemon_attrs[IPVS_DAEMON_ATTR_SYNC_ID])) + return -1; + +- u[i].state = nla_get_u32(daemon_attrs[IPVS_DAEMON_ATTR_STATE]); ++ state = nla_get_u32(daemon_attrs[IPVS_DAEMON_ATTR_STATE]); ++ /* The second element is used for the state of the backup daemon. */ ++ if (state == IP_VS_STATE_BACKUP) ++ i = 1; ++ u[i].state = state; + strncpy(u[i].mcast_ifn, + nla_get_string(daemon_attrs[IPVS_DAEMON_ATTR_MCAST_IFN]), + IP_VS_IFNAME_MAXLEN); +-- +1.7.6.5 + diff --git a/sys-cluster/ipvsadm/files/ipvsadm-init b/sys-cluster/ipvsadm/files/ipvsadm-init new file mode 100644 index 000000000000..c4f58ee567fc --- /dev/null +++ b/sys-cluster/ipvsadm/files/ipvsadm-init @@ -0,0 +1,36 @@ +#!/sbin/openrc-run +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="save" + +depend() { + need net +} + +checkconfig() { + if [ ! -f /var/lib/ipvsadm/rules-save ] ; then + eerror "Not starting ipvsadm. First create some rules then run" + eerror "/etc/init.d/ipvsadm save" + return 1 + fi +} + +start() { + ebegin "Starting ipvsadm" + einfo "Clearing previous rules" + ipvsadm -C + ipvsadm-restore < /var/lib/ipvsadm/rules-save + eend $? +} + +stop() { + ebegin "Stopping ipvsadm" + eend $? +} + +save() { + ebegin "Saving ipvsadm state" + ipvsadm-save > /var/lib/ipvsadm/rules-save + eend $? +} diff --git a/sys-cluster/ipvsadm/ipvsadm-1.21-r1.ebuild b/sys-cluster/ipvsadm/ipvsadm-1.21-r1.ebuild new file mode 100644 index 000000000000..52156e121819 --- /dev/null +++ b/sys-cluster/ipvsadm/ipvsadm-1.21-r1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit linux-info + +PATCHLEVEL="11" +MY_PV="${PV}-${PATCHLEVEL}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="utility to administer the IP virtual server services" +HOMEPAGE="http://linuxvirtualserver.org" +LICENSE="GPL-2" +DEPEND=">=sys-libs/ncurses-5.2" + +SRC_URI="http://www.linuxvirtualserver.org/software/kernel-2.4/${MY_P}.tar.gz" + +SLOT="0" +KEYWORDS="~ppc ~ppc64 x86" +IUSE="" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + if kernel_is -ge 2 6; then + eerror "${P} does not support 2.6 kernels, please try newer versions" + die "wrong kernel version" + fi +} + +src_compile() { + emake || die "error compiling source" +} + +src_install() { + into / + dosbin ipvsadm ipvsadm-save ipvsadm-restore || die + + doman ipvsadm.8 ipvsadm-save.8 ipvsadm-restore.8 + + newinitd "${FILESDIR}"/ipvsadm-init ipvsadm || die + keepdir /var/lib/ipvsadm + + dolib.a libipvs/libipvs.a || die + + insinto /usr/include/ipvs + newins libipvs/libipvs.h ipvs.h || die + + einfo "You will need a kernel that has ipvs patches to use LVS" +} diff --git a/sys-cluster/ipvsadm/ipvsadm-1.24.ebuild b/sys-cluster/ipvsadm/ipvsadm-1.24.ebuild new file mode 100644 index 000000000000..da5e18b99cf8 --- /dev/null +++ b/sys-cluster/ipvsadm/ipvsadm-1.24.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit linux-info toolchain-funcs + +DESCRIPTION="utility to administer the IP virtual server services offered by the Linux kernel" +HOMEPAGE="http://linuxvirtualserver.org/" +SRC_URI="http://www.linuxvirtualserver.org/software/kernel-2.5/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ia64 ~ppc64 s390 sparc x86" +IUSE="" + +RDEPEND=">=sys-libs/ncurses-5.2" +DEPEND="${RDEPEND}" + +pkg_setup() { + if kernel_is 2 4; then + eerror "${P} supports only 2.6 kernels, please try ${PN}-1.21 for 2.4 kernels" + die "wrong kernel version" + fi +} + +src_compile() { + emake \ + -j1 \ + INCLUDE="-I${KV_DIR}/include -I.. -I." \ + CFLAGS="${CFLAGS}" \ + CC="$(tc-getCC)" \ + || die "error compiling source" +} + +src_install() { + into / + dosbin ipvsadm ipvsadm-save ipvsadm-restore || die + + doman ipvsadm.8 ipvsadm-save.8 ipvsadm-restore.8 || die + + newinitd "${FILESDIR}"/ipvsadm-init ipvsadm + keepdir /var/lib/ipvsadm + + dolib.a libipvs/libipvs.a || die + + insinto /usr/include/ipvs + newins libipvs/libipvs.h ipvs.h || die +} + +pkg_postinst() { + einfo "You will need a kernel that has ipvs patches to use LVS." + einfo "This version is specifically for 2.6 kernels." +} diff --git a/sys-cluster/ipvsadm/ipvsadm-1.26-r2.ebuild b/sys-cluster/ipvsadm/ipvsadm-1.26-r2.ebuild new file mode 100644 index 000000000000..a022f55e3d23 --- /dev/null +++ b/sys-cluster/ipvsadm/ipvsadm-1.26-r2.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit eutils linux-info toolchain-funcs + +DESCRIPTION="utility to administer the IP virtual server services" +HOMEPAGE="http://linuxvirtualserver.org/" +SRC_URI="http://www.linuxvirtualserver.org/software/kernel-2.6/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ia64 ppc ppc64 s390 sparc x86" +IUSE="static-libs" + +RDEPEND=">=sys-libs/ncurses-5.2 + dev-libs/libnl:1.1 + >=dev-libs/popt-1.16" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +pkg_pretend() { + if kernel_is 2 4; then + eerror "${P} supports only 2.6 series and later kernels, please try ${PN}-1.21 for 2.4 kernels" + die "wrong kernel version" + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${P}-buildsystem.patch + epatch "${FILESDIR}/${P}-stack_smashing.patch" # bug 371903 + use static-libs && export STATIC=1 +} + +src_compile() { + emake -e \ + INCLUDE="-I.. -I." \ + CC="$(tc-getCC)" \ + HAVE_NL=1 \ + STATIC_LIB=${STATIC} \ + POPT_LIB="$(pkg-config --libs popt)" +} + +src_install() { + into / + dosbin ipvsadm ipvsadm-save ipvsadm-restore + + into /usr + doman ipvsadm.8 ipvsadm-save.8 ipvsadm-restore.8 + + newinitd "${FILESDIR}"/ipvsadm-init ipvsadm + keepdir /var/lib/ipvsadm + + use static-libs && dolib.a libipvs/libipvs.a + dolib.so libipvs/libipvs.so + + insinto /usr/include/ipvs + newins libipvs/libipvs.h ipvs.h +} + +pkg_postinst() { + einfo "You will need a kernel that has ipvs patches to use LVS." +} diff --git a/sys-cluster/ipvsadm/ipvsadm-1.27-r1.ebuild b/sys-cluster/ipvsadm/ipvsadm-1.27-r1.ebuild new file mode 100644 index 000000000000..ad82d37548d0 --- /dev/null +++ b/sys-cluster/ipvsadm/ipvsadm-1.27-r1.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils linux-info toolchain-funcs + +DESCRIPTION="utility to administer the IP virtual server services" +HOMEPAGE="http://linuxvirtualserver.org/" +SRC_URI="https://kernel.org/pub/linux/utils/kernel/ipvsadm/ipvsadm-${PV}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ia64 ppc ppc64 ~s390 sparc x86" +IUSE="static-libs" + +RDEPEND=">=sys-libs/ncurses-5.2:* + dev-libs/libnl:= + >=dev-libs/popt-1.16" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +pkg_pretend() { + if kernel_is 2 4; then + eerror "${P} supports only 2.6 series and later kernels, please try ${PN}-1.21 for 2.4 kernels" + die "wrong kernel version" + fi +} + +src_prepare() { + default + epatch "${FILESDIR}"/${PN}-1.27-buildsystem.patch + # Merged upstream in 1.27 + #epatch "${FILESDIR}"/${PN}-1.26-stack_smashing.patch # bug 371903 + epatch "${FILESDIR}"/${PN}-1.27-fix-daemon-state.patch + use static-libs && export STATIC=1 +} + +src_compile() { + local libnl_include + if has_version ">=dev-libs/libnl-3.0"; then + libnl_include=$(pkg-config --cflags libnl-3.0) + else + libnl_include="" + fi + emake -e \ + INCLUDE="-I.. -I. ${libnl_include}" \ + CC="$(tc-getCC)" \ + HAVE_NL=1 \ + STATIC=${STATIC} \ + POPT_LIB="$(pkg-config --libs popt)" +} + +src_install() { + into / + dosbin ipvsadm ipvsadm-save ipvsadm-restore + + into /usr + doman ipvsadm.8 ipvsadm-save.8 ipvsadm-restore.8 + + newinitd "${FILESDIR}"/ipvsadm-init ipvsadm + keepdir /var/lib/ipvsadm + + use static-libs && dolib.a libipvs/libipvs.a + dolib.so libipvs/libipvs.so + + insinto /usr/include/ipvs + newins libipvs/libipvs.h ipvs.h +} + +pkg_postinst() { + einfo "You will need a kernel that has ipvs patches to use LVS." +} diff --git a/sys-cluster/ipvsadm/ipvsadm-1.28.ebuild b/sys-cluster/ipvsadm/ipvsadm-1.28.ebuild new file mode 100644 index 000000000000..39f351f5ae90 --- /dev/null +++ b/sys-cluster/ipvsadm/ipvsadm-1.28.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils linux-info toolchain-funcs + +DESCRIPTION="utility to administer the IP virtual server services" +HOMEPAGE="http://linuxvirtualserver.org/" +SRC_URI="https://kernel.org/pub/linux/utils/kernel/ipvsadm/ipvsadm-${PV}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="static-libs" + +RDEPEND=">=sys-libs/ncurses-5.2:* + dev-libs/libnl:= + >=dev-libs/popt-1.16" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +pkg_pretend() { + if kernel_is 2 4; then + eerror "${P} supports only 2.6 series and later kernels, please try ${PN}-1.21 for 2.4 kernels" + die "wrong kernel version" + fi +} + +src_prepare() { + default + epatch "${FILESDIR}"/${PN}-1.27-buildsystem.patch + epatch "${FILESDIR}"/${PN}-1.27-fix-daemon-state.patch + use static-libs && export STATIC=1 +} + +src_compile() { + local libnl_include + if has_version ">=dev-libs/libnl-3.0"; then + libnl_include=$(pkg-config --cflags libnl-3.0) + else + libnl_include="" + fi + emake -e \ + INCLUDE="-I.. -I. ${libnl_include}" \ + CC="$(tc-getCC)" \ + HAVE_NL=1 \ + STATIC=${STATIC} \ + POPT_LIB="$(pkg-config --libs popt)" +} + +src_install() { + into / + dosbin ipvsadm ipvsadm-save ipvsadm-restore + + into /usr + doman ipvsadm.8 ipvsadm-save.8 ipvsadm-restore.8 + + newinitd "${FILESDIR}"/ipvsadm-init ipvsadm + keepdir /var/lib/ipvsadm + + use static-libs && dolib.a libipvs/libipvs.a + dolib.so libipvs/libipvs.so + + insinto /usr/include/ipvs + newins libipvs/libipvs.h ipvs.h +} + +pkg_postinst() { + einfo "You will need a kernel that has ipvs patches to use LVS." +} diff --git a/sys-cluster/ipvsadm/metadata.xml b/sys-cluster/ipvsadm/metadata.xml new file mode 100644 index 000000000000..7ca6574ca7b4 --- /dev/null +++ b/sys-cluster/ipvsadm/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + + <longdescription> + Administration tools for linux virtual server clusters + </longdescription> +</pkgmetadata> diff --git a/sys-cluster/keepalived/Manifest b/sys-cluster/keepalived/Manifest new file mode 100644 index 000000000000..32ecf7e5f442 --- /dev/null +++ b/sys-cluster/keepalived/Manifest @@ -0,0 +1,9 @@ +AUX keepalived.confd 171 SHA256 dcc2d9b209a9836d861612547537df8f06bb08153482920dd4b927730ba6ae8d SHA512 468d176d22f1ce308871829f24624b33e6ba3b234a413395599a67a865f3cf815cc24a10c244dffd1421a0acf5352fe51027a2d3b282cd3822dfeadc8a1d4df0 WHIRLPOOL a25dacb9d7d4e9f28b67dfc9db353ba9784fd77ebdefc527313668e2ab773860e6850205a2ed19812121f9996bd8fe78ce0e27268cde527876af06524221fb54 +AUX keepalived.init 792 SHA256 0567d2b8cfeb78951e6c9e9d8ae5ed018e9eb116dd9d3d92779cfb823700c9b9 SHA512 240201b81bcca7b213bd3ec45fc286f0305d72a6952a3baf485d717df413df3a2da0f4b018eaa050b0b12cda78767f5c4ae60ec75e5802cfe57cb29951e86ba0 WHIRLPOOL 479f7819685ce5e8997b351098783eaff62c981d5401a54e22f543ffe7ddb80a383d51924444c0ffbdc2d65da6d7e00a3abb4db7be9a55c96375b5c12474e6d9 +DIST keepalived-1.2.24.tar.gz 601873 SHA256 3071804478077e606197a2348b5733d7d53af2843906af5e0d544945565c36ef SHA512 a5e555dd955173887896155a04b1f6bb0c2f2a758008472abd5433b057be3fd85e4f270a7b7eb2f36a1c16e46b235ef930b1844938276528ff61bbdd783bb1f5 WHIRLPOOL 03bb40cc499139679a5ca1446334459ef92e8acabce1d7359a30330d2afedc6f425e0226c0f98cabebe05310aac538f503c49627ed46091f132f042213392c5d +DIST keepalived-1.3.5.tar.gz 683183 SHA256 c0114d86ea4c896557beb0d9367819a423ffba772bc5d7c548dc455e6b3bd048 SHA512 ebd710167becd4b99b665877953d19477c11f1d1c736eb580a05dedd4946363b756553e20607f34aa6c35f57b7252d8a22287beedc316b62a745fccc4243a720 WHIRLPOOL 4dfe73c20b3c7d40a1e1c4af85754df1ac494e8ada213e9b642197cfba0cd32acee7e17f7f9aec86c72fce8a8a01b36b464e649d6e4b8678a6246486d1468cb1 +EBUILD keepalived-1.2.24.ebuild 1412 SHA256 1d82ca2c33a235f53a7650e3f8ca14ac2d84bab6ac33dc2db53e0b7a8d18962d SHA512 3c4a6951cf0cb39bdd604af88f41f3895d5cf72c283d022b506c0fae841cb86adda7b11aa1d23247be17e26cd6cdf826fd45bae39b018f3477820a4dd2c26588 WHIRLPOOL 7c85d1ec92f7dca38c62ac5508ff4681be904c125a3c878b6bec8350f5b683b5b75de050c5c6ef2fcc57eeb95a743ee0d7b0a6b623d4d409212fe4868855ad7d +EBUILD keepalived-1.3.5.ebuild 1535 SHA256 d3f13066d3e637acb3826703785b9b75c763918872ef54314ac7b6db5b66e8cd SHA512 900a77aa4bfee11e98672dd60390f093c1f322a0d288118790cb482189a5058a9aec160dbef1a3e298b1b8c83293c258bea095873e91a0514aca5dbf9654fe8c WHIRLPOOL a4ac65c8e6d3aa672fcfbafdaf993efe42065d7591719d0e81664e0c10abbe4104bbe881021461b4e8446292a40c3d9c9e691ad764c605fbac99c8b3f13364c6 +MISC ChangeLog 5823 SHA256 6b149038eb1cb4d46b374c91f2727fb379c259d1727423c5066c721ba8c87b76 SHA512 021de388f2e972153f957c30f92936cfbd4116d8555ca568020a2a8f7d2f494caa5fbcb3caf87a294ac33fd3e5b1dbdee723b079f30a494779a24a005c1d36cb WHIRLPOOL fe722d6084b1fb833c5dbef9905b81af5d9ad784c064f110af84f6f5fc0ec8424559d20c83ddf69ba26564b168ebd498d607cec155c711039e5e75979cd17ece +MISC ChangeLog-2015 19989 SHA256 fb70d26b1268011904561aa2175ca57b7ebe5bbc712e038c415f1a886aeef68a SHA512 0bd6f3ace50e3a6c93d3691fda1c8afb5b31c8ef754adf5f9bfdc4cc73567b06e17d83c690a953729aedc11f81d966ca9265c1c399955d3627a7c0f5af7ca83c WHIRLPOOL c261e6347ac7b2d3c023412ffc9c175d6d69dce4f3e4dbd883b85d012199c558039f736144f7afe0f6b477bb9ad4758dceaa082fe19d31ec361cd7832fa96941 +MISC metadata.xml 368 SHA256 b2da76dd3c8c21c5965d5e12f9301f6c94b090f78a77c1dabb7260d411a2134d SHA512 712ea427d36786eaf0516e0b36f821ec89ee20bec9190a510ec0576c5f7e3867be89c2486cbd0faa341e3cc8235a3ed3f3d76028235d93038cc8c95be44021f5 WHIRLPOOL ba0345c0233d2b53da0be0bda94e820a99f4c3c3f9d3c746ac35073b31244523738ee6126c1a93907c2d6e7a7fb68033d3991e1acaeac7bb7cf89ed662602f46 diff --git a/sys-cluster/keepalived/files/keepalived.confd b/sys-cluster/keepalived/files/keepalived.confd new file mode 100644 index 000000000000..5f56cb23b031 --- /dev/null +++ b/sys-cluster/keepalived/files/keepalived.confd @@ -0,0 +1,6 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Keepalived options +# Increase logging: +#KEEPALIVED_OPTS="-D" diff --git a/sys-cluster/keepalived/files/keepalived.init b/sys-cluster/keepalived/files/keepalived.init new file mode 100644 index 000000000000..c290c9dbc518 --- /dev/null +++ b/sys-cluster/keepalived/files/keepalived.init @@ -0,0 +1,33 @@ +#!/sbin/openrc-run +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + use logger + # The interfaces do not actually need to exist to start, it handles them gracefully. + use net +} + +command="/usr/sbin/keepalived" +command_args="${KEEPALIVED_OPTS}" +pidfile="/var/run/keepalived.pid" + +extra_commands="checkconfig reload" + +checkconfig() { + # keepalived has a config check command, but it does not work while the daemon is running! + if [ ! -e /etc/keepalived/keepalived.conf ] ; then + eerror "You need an /etc/keepalived/keepalived.conf file to run keepalived" + return 1 + fi +} + +start_pre() { + checkconfig || return 1 +} + +reload() { + ebegin "Reloading keepalived.conf" + start-stop-daemon --pidfile $pidfile --signal HUP + eend $? +} diff --git a/sys-cluster/keepalived/keepalived-1.2.24.ebuild b/sys-cluster/keepalived/keepalived-1.2.24.ebuild new file mode 100644 index 000000000000..56d96bf45ccf --- /dev/null +++ b/sys-cluster/keepalived/keepalived-1.2.24.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools + +DESCRIPTION="A strong & robust keepalive facility to the Linux Virtual Server project" +HOMEPAGE="http://www.keepalived.org/" +SRC_URI="http://www.keepalived.org/software/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 ~s390 sparc x86" +IUSE="debug ipv6 snmp" + +RDEPEND="dev-libs/popt + sys-apps/iproute2 + dev-libs/libnl:= + dev-libs/openssl:= + snmp? ( net-analyzer/net-snmp ) + net-libs/libnfnetlink" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-4.4" + +DOCS=( README CONTRIBUTORS INSTALL ChangeLog AUTHOR TODO + doc/keepalived.conf.SYNOPSIS doc/NOTE_vrrp_vmac.txt ) + +src_prepare() { + eautoreconf + default +} + +src_configure() { + STRIP=/bin/true \ + econf \ + --with-kernel-dir=/usr \ + --enable-vrrp \ + $(use_enable debug) \ + $(use_enable snmp) +} + +src_install() { + default + + newinitd "${FILESDIR}"/keepalived.init keepalived + newconfd "${FILESDIR}"/keepalived.confd keepalived + + use snmp && dodoc doc/KEEPALIVED-MIB + + docinto genhash + dodoc genhash/README genhash/AUTHOR genhash/ChangeLog + # This was badly named by upstream, it's more HOWTO than anything else. + newdoc INSTALL INSTALL+HOWTO + + # Security risk to bundle SSL certs + rm -f "${ED}"/etc/keepalived/samples/*.pem + # Clean up sysvinit files + rm -rf "${ED}"/etc/sysconfig "${ED}"/etc/rc.d/ +} diff --git a/sys-cluster/keepalived/keepalived-1.3.5.ebuild b/sys-cluster/keepalived/keepalived-1.3.5.ebuild new file mode 100644 index 000000000000..3b9a251008b9 --- /dev/null +++ b/sys-cluster/keepalived/keepalived-1.3.5.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools + +DESCRIPTION="A strong & robust keepalive facility to the Linux Virtual Server project" +HOMEPAGE="http://www.keepalived.org/" +SRC_URI="http://www.keepalived.org/software/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="dbus debug ipv6 snmp" + +RDEPEND="dev-libs/libnl:= + dev-libs/openssl:= + dev-libs/popt + net-libs/libnfnetlink + sys-apps/iproute2 + dbus? ( sys-apps/dbus ) + snmp? ( net-analyzer/net-snmp )" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-4.4" + +DOCS=( README CONTRIBUTORS INSTALL ChangeLog AUTHOR TODO + doc/keepalived.conf.SYNOPSIS doc/NOTE_vrrp_vmac.txt ) + +src_prepare() { + eautoreconf + default +} + +src_configure() { + STRIP=/bin/true \ + econf \ + --with-kernel-dir=/usr \ + --enable-sha1 \ + --enable-vrrp \ + $(use_enable dbus) \ + $(use_enable dbus dbus-create-instance) \ + $(use_enable debug) \ + $(use_enable snmp) +} + +src_install() { + default + + newinitd "${FILESDIR}"/keepalived.init keepalived + newconfd "${FILESDIR}"/keepalived.confd keepalived + + use snmp && dodoc doc/KEEPALIVED-MIB + + docinto genhash + dodoc genhash/README genhash/AUTHOR genhash/ChangeLog + # This was badly named by upstream, it's more HOWTO than anything else. + newdoc INSTALL INSTALL+HOWTO + + # Security risk to bundle SSL certs + rm -f "${ED}"/etc/keepalived/samples/*.pem + # Clean up sysvinit files + rm -rf "${ED}"/etc/sysconfig "${ED}"/etc/rc.d/ +} diff --git a/sys-cluster/keepalived/metadata.xml b/sys-cluster/keepalived/metadata.xml new file mode 100644 index 000000000000..51b30f6d8f3f --- /dev/null +++ b/sys-cluster/keepalived/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription> + VRRP2 implementation. Used for setting up high availability clusters. + </longdescription> +</pkgmetadata> diff --git a/sys-cluster/knem/Manifest b/sys-cluster/knem/Manifest new file mode 100644 index 000000000000..f9e8c7aa5951 --- /dev/null +++ b/sys-cluster/knem/Manifest @@ -0,0 +1,7 @@ +AUX 45-knem.rules 28 SHA256 6087f4d9ae8e629f5440d94ae0359935a4222dafb091bcb7fa9efd7f2024e80d SHA512 fc819a12ad7432cbf08450ebc36b469402753d8d363d72a46b71efb916391d320591eac0be9498a37a7bbc5ebe1b2725a2cbf37c7c69ed7d5c6e1ccf9ce0e51b WHIRLPOOL 06625f151fd4832d3a89ea65e8b648f4bfb10123dc8434ef0c8e0f7f546f77e222a5f52a9d8665a619e47ac5c4f0e129807eb3ccbee53e670a246e6508c9cdd2 +DIST knem-1.1.1.tar.gz 321401 SHA256 4bfbb4c237022cfebbe6b80c9d181252ee3a09cd42bc9dd1e90a81575fbbbef6 SHA512 6b53748df8ffcfa400870657d5c121f51e132d2b724bca832b00d7c16c546299d1dd29739fe1d4b00cc33010558ae584e7c0078de2c56d8ea92ce7880b4bfedc WHIRLPOOL 74908664d734d880082e35ec5707887dd17745b0edc161926906fcab9767bdc59d98bd710463188a6d73da781265d8ab83a8dd15beae57058455e734480a46d5 +EBUILD knem-1.1.1.ebuild 1568 SHA256 bebb991567730fd1b16aa5851f8d4035234b21ed7609524b0fa8a3148bf520da SHA512 6586238a87b39dd0041bcf0f22f7704bcbdb2d9deeaa1f24818fdff4da1f7cb807a9e92cc6b4876592da44e73e38cbc9da67090e45f0f277a2567b8d02e94f81 WHIRLPOOL 7b59a09df19df374bc8b4061541396f16ba05ab824674f3d63967ac2946628c5c1a83c0b4f6db19af864acb7bf89bc09c1ffc9043e313ce33a42367e22e07e31 +EBUILD knem-9999.ebuild 1568 SHA256 bebb991567730fd1b16aa5851f8d4035234b21ed7609524b0fa8a3148bf520da SHA512 6586238a87b39dd0041bcf0f22f7704bcbdb2d9deeaa1f24818fdff4da1f7cb807a9e92cc6b4876592da44e73e38cbc9da67090e45f0f277a2567b8d02e94f81 WHIRLPOOL 7b59a09df19df374bc8b4061541396f16ba05ab824674f3d63967ac2946628c5c1a83c0b4f6db19af864acb7bf89bc09c1ffc9043e313ce33a42367e22e07e31 +MISC ChangeLog 2487 SHA256 4720a4453e1b7ad957c93308c5b984d8d30a80ca7dd276fc7e13350b1a31bdb4 SHA512 82ed8b7f28d6a1fa98283d5746ddfcd101c2b7593895138dddb12d595489f7479eba6efa28bc5cc84ee4d3919b03b6b695e1e95e065051dcb687a71d65ffb4b1 WHIRLPOOL b7327c0519df0d2848f2b2d11894995d2c598f5c9a95bd777c726176ff1aee70a508a550bf9d249b354149369dc0f70ab2f82e1fb23b9d0346fed68b3f6d6f42 +MISC ChangeLog-2015 1258 SHA256 6762dc38524d2644e602ffe7c99a9276629888ee51dd6d1f8ee81b582868e571 SHA512 6cc0160fe538d5bbb7164253fc5ee802fa64131f7677ae01028677f81322e07fcc4673f873f4b44c6e3f32193b0cbfa9207bec62c8865f0323117e040bfac14c WHIRLPOOL 5a60f245ed260ed5ba840c42d7604f82d1c2a61da2da9e885fd3174272b1b556bb601cc64217b00109ae4570fbbb39ecebf7a1b57dd76ffa6e15ca8ad60baf5a +MISC metadata.xml 365 SHA256 90e0eb71575b3b48ddebbb80e17f8a75e2e071f1b8048ec7ad42b62e3179995f SHA512 debd6bb734810af46390ed76b73151e5729999aff31956951cf9482e06ae6d08e4d642f9fc27ff99f0947b0b63214dc9ca6514e760d0d93a79bcd9ea79b60743 WHIRLPOOL 3f4277a73ba9bcbebc283ee05e6d99c5827b52ebe47ba0acd8b02f6207132b1ed6618f7408c85bfbf9588a2b222adac3ff2578a715d21521b95a290be3c9a9a6 diff --git a/sys-cluster/knem/files/45-knem.rules b/sys-cluster/knem/files/45-knem.rules new file mode 100644 index 000000000000..1b87b1eb7a64 --- /dev/null +++ b/sys-cluster/knem/files/45-knem.rules @@ -0,0 +1 @@ +KERNEL=="knem", MODE="0666" diff --git a/sys-cluster/knem/knem-1.1.1.ebuild b/sys-cluster/knem/knem-1.1.1.ebuild new file mode 100644 index 000000000000..5de621a022fb --- /dev/null +++ b/sys-cluster/knem/knem-1.1.1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools linux-mod linux-info toolchain-funcs udev multilib + +DESCRIPTION="High-Performance Intra-Node MPI Communication" +HOMEPAGE="http://runtime.bordeaux.inria.fr/knem/" +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://gforge.inria.fr/git/knem/knem.git" + inherit git-2 + KEYWORDS="" +else + SRC_URI="http://runtime.bordeaux.inria.fr/knem/download/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +IUSE="debug modules" + +DEPEND=" + sys-apps/hwloc + virtual/linux-sources" +RDEPEND=" + sys-apps/hwloc + virtual/modutils" + +MODULE_NAMES="knem(misc:${S}/driver/linux)" +BUILD_TARGETS="all" +BUILD_PARAMS="KDIR=${KERNEL_DIR}" + +pkg_setup() { + linux-info_pkg_setup + linux-mod_pkg_setup + ARCH="$(tc-arch-kernel)" + ABI="${KERNEL_ABI}" +} + +src_prepare() { + sed 's:driver/linux::g' -i Makefile.am + eautoreconf +} + +src_configure() { + econf \ + --enable-hwloc \ + --with-linux="${KERNEL_DIR}" \ + --with-linux-release=${KV_FULL} \ + $(use_enable debug) +} + +src_compile() { + default + if use modules; then + cd "${S}/driver/linux" + linux-mod_src_compile || die "failed to build driver" + fi +} + +src_install() { + default + if use modules; then + cd "${S}/driver/linux" + linux-mod_src_install || die "failed to install driver" + fi + + # Drop funny unneded stuff + rm "${ED}/usr/sbin/knem_local_install" || die + rmdir "${ED}/usr/sbin" || die + # install udev rules + udev_dorules "${FILESDIR}/45-knem.rules" + rm "${ED}/etc/10-knem.rules" || die +} diff --git a/sys-cluster/knem/knem-9999.ebuild b/sys-cluster/knem/knem-9999.ebuild new file mode 100644 index 000000000000..5de621a022fb --- /dev/null +++ b/sys-cluster/knem/knem-9999.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools linux-mod linux-info toolchain-funcs udev multilib + +DESCRIPTION="High-Performance Intra-Node MPI Communication" +HOMEPAGE="http://runtime.bordeaux.inria.fr/knem/" +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://gforge.inria.fr/git/knem/knem.git" + inherit git-2 + KEYWORDS="" +else + SRC_URI="http://runtime.bordeaux.inria.fr/knem/download/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +IUSE="debug modules" + +DEPEND=" + sys-apps/hwloc + virtual/linux-sources" +RDEPEND=" + sys-apps/hwloc + virtual/modutils" + +MODULE_NAMES="knem(misc:${S}/driver/linux)" +BUILD_TARGETS="all" +BUILD_PARAMS="KDIR=${KERNEL_DIR}" + +pkg_setup() { + linux-info_pkg_setup + linux-mod_pkg_setup + ARCH="$(tc-arch-kernel)" + ABI="${KERNEL_ABI}" +} + +src_prepare() { + sed 's:driver/linux::g' -i Makefile.am + eautoreconf +} + +src_configure() { + econf \ + --enable-hwloc \ + --with-linux="${KERNEL_DIR}" \ + --with-linux-release=${KV_FULL} \ + $(use_enable debug) +} + +src_compile() { + default + if use modules; then + cd "${S}/driver/linux" + linux-mod_src_compile || die "failed to build driver" + fi +} + +src_install() { + default + if use modules; then + cd "${S}/driver/linux" + linux-mod_src_install || die "failed to install driver" + fi + + # Drop funny unneded stuff + rm "${ED}/usr/sbin/knem_local_install" || die + rmdir "${ED}/usr/sbin" || die + # install udev rules + udev_dorules "${FILESDIR}/45-knem.rules" + rm "${ED}/etc/10-knem.rules" || die +} diff --git a/sys-cluster/knem/metadata.xml b/sys-cluster/knem/metadata.xml new file mode 100644 index 000000000000..fc70a30f312d --- /dev/null +++ b/sys-cluster/knem/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>alexxy@gentoo.org</email> + <name>Alexey Shvetsov</name> + </maintainer> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/kube-apiserver/Manifest b/sys-cluster/kube-apiserver/Manifest new file mode 100644 index 000000000000..50dc2734cff4 --- /dev/null +++ b/sys-cluster/kube-apiserver/Manifest @@ -0,0 +1,10 @@ +AUX kube-apiserver.confd 116 SHA256 41c807a6b97b5cb309fb83a9c201956849d9e26da160825cc14e64aaa258e327 SHA512 302b2a7ec715967c0aa7d1c177d4e55b26e37ebba8d04dd37ecf627d20042fe91cd7e6192ff9d71422129b0ea54a9eec6046f505af550548bd450998924f37ee WHIRLPOOL 97e3233336c3afc89a579d20ea26a67ecacfae776f1be05ff9e1a355d0955c74dbc404ca6947d5e0d3f52902c7db816c30413bb774751c30b987fd20399bf803 +AUX kube-apiserver.initd 541 SHA256 c20920c79c9b17d28e9a9bb2375a7a226e05a96e7a0ec8079999ae300a54c06c SHA512 2863ad6d1d238b5e9557874cd3f5413108ed9424604cf026e2fd8c2fd66ba867ca9a3d98f67fdac54f335bacddf0479547b28f71aaa1db6580beff49290de110 WHIRLPOOL 54b8496a4e67e381ffcbf8fbc5d030d6e2cafffaf2a21dea2c46cd03198559c6370b0388fe31a37df54c5f2fa8e3397b344e09e5560269430ba3f0833e1b42d3 +AUX kube-apiserver.logrotated 84 SHA256 0e47872a37f8b06bc56ea17e35640af70f490588b16928d936f354415e559500 SHA512 91c1115cfebb17355f655b54b6574499c3e85876b186e217e80c87974a42171b32f9b1a359f5a361df0e33d1d6ecbb79dce1506728f4948bb5973680128b5ff2 WHIRLPOOL 6f4bf99d3f33a47633fbb657c335c6c6b75ff1da31363d694e3d3a16f0d8b90076aebe7c9898c3f0462025e5eb47d665dd1868e0f0e4a0bfb5aa754de75206fa +DIST kubernetes-1.7.5.tar.gz 22027539 SHA256 5fe434de8b17ef951d156f7cee24b24a0c5a071a85a612bba4890603541e1ff1 SHA512 a9fcc8f2d50ab431dc9aa5580c79acb8f1738102980f15cf99d01c64be5c6764dd670d436b2e42bf53d1e068a1e8924117384ebc4a3ac571267875862a86d4e3 WHIRLPOOL c2bcf741d9bd8a2fe840ceb9e8b67221c96218a0a0c4caa198d3971cd6044fe922da58c2be20e4230aab6b3ae7057ac37a82c457d0049b126954ece40f66d3de +DIST kubernetes-1.7.6.tar.gz 22032012 SHA256 434ef607ba5cb77046066e5ebe2859fb7a1a07657f2b56762f7f16501dc12359 SHA512 b4db0951236f2a7aa8bea70ab0c3e5f1f1efe302ab378277db3752a44a41a360c4def9d71b3398e41f3f3ede503a5fccb5ed7b65e4c1152f0a0854659c4966c9 WHIRLPOOL b9b11e07bed8cb14b15ec346be388ec3c481bd97d744c73743653a17d1dedff21a77fd4729380141d589b50cf772e7018cb3fa697fa1fb9a3c4372885f9c48ce +DIST kubernetes-1.8.0.tar.gz 23388112 SHA256 235c3eccf3490d5ffb7a32d7b3a02f0b849efe0a0ff831094f614ff6907d36aa SHA512 679e58bb29cd398198343f008da27fa4a0461d25c922a54b17cf26a7f6329ed7443717d1e564df646d17f60a014e1e4e0b1285d0ae4f63ab846843b309ce2872 WHIRLPOOL c9e06b6a699903382c0efef8a2fb850efcc4a8c855beaa5cd9bb94e6dc4dfe2fc139ae4814f29bbb3c46a19ca65ec68b7bb5a5f454eeb0fb6bfef55c3d0caee9 +EBUILD kube-apiserver-1.7.5.ebuild 1197 SHA256 bd2f234b0c230833e147daba384e39fc4bb65a862e82126d6ad4563023c241be SHA512 fb9ea8d90470560651ee6a05144f78b55c97edc0b1fac0afb6378b355da5c1810ca1dace31f2499411327fbea31ce247c9aa47d3e01362936fc0f332eae1643d WHIRLPOOL f4b9f72baad98189da9c354be284e3fd167f20b4e472c13d5bd248c23380d847cc94a149d68e13edfd41da70dc68af040e76637d1086dfc89fc495534d933f13 +EBUILD kube-apiserver-1.7.6.ebuild 1197 SHA256 bd2f234b0c230833e147daba384e39fc4bb65a862e82126d6ad4563023c241be SHA512 fb9ea8d90470560651ee6a05144f78b55c97edc0b1fac0afb6378b355da5c1810ca1dace31f2499411327fbea31ce247c9aa47d3e01362936fc0f332eae1643d WHIRLPOOL f4b9f72baad98189da9c354be284e3fd167f20b4e472c13d5bd248c23380d847cc94a149d68e13edfd41da70dc68af040e76637d1086dfc89fc495534d933f13 +EBUILD kube-apiserver-1.8.0.ebuild 1197 SHA256 bd2f234b0c230833e147daba384e39fc4bb65a862e82126d6ad4563023c241be SHA512 fb9ea8d90470560651ee6a05144f78b55c97edc0b1fac0afb6378b355da5c1810ca1dace31f2499411327fbea31ce247c9aa47d3e01362936fc0f332eae1643d WHIRLPOOL f4b9f72baad98189da9c354be284e3fd167f20b4e472c13d5bd248c23380d847cc94a149d68e13edfd41da70dc68af040e76637d1086dfc89fc495534d933f13 +MISC metadata.xml 331 SHA256 d36b415b6920b0f46ff81985c0ad7d18c35a945358cf2846d0a968cdf9dc5f1c SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68 WHIRLPOOL 3fb6d9e005c6ea6d7d82e288c0a0c9c6b643599b5c16f3f66113b99d5082036642502541d54bc2f84f764f5fd1cd84eaf1d50e3e11ce7f9bff46763304794925 diff --git a/sys-cluster/kube-apiserver/files/kube-apiserver.confd b/sys-cluster/kube-apiserver/files/kube-apiserver.confd new file mode 100644 index 000000000000..db74d27f0207 --- /dev/null +++ b/sys-cluster/kube-apiserver/files/kube-apiserver.confd @@ -0,0 +1,7 @@ +### +# kubernetes system config +# +# The following values are used to configure the kube-apiserver +# + +command_args="" diff --git a/sys-cluster/kube-apiserver/files/kube-apiserver.initd b/sys-cluster/kube-apiserver/files/kube-apiserver.initd new file mode 100644 index 000000000000..6f649f5a5460 --- /dev/null +++ b/sys-cluster/kube-apiserver/files/kube-apiserver.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Kubernetes API Server" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/kube-apiserver" +command_args="${command_args}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \ + --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" + +depend() { + after net +} diff --git a/sys-cluster/kube-apiserver/files/kube-apiserver.logrotated b/sys-cluster/kube-apiserver/files/kube-apiserver.logrotated new file mode 100644 index 000000000000..8bbeb0abde24 --- /dev/null +++ b/sys-cluster/kube-apiserver/files/kube-apiserver.logrotated @@ -0,0 +1,7 @@ +/var/log/kube-apiserver/* { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/sys-cluster/kube-apiserver/kube-apiserver-1.7.5.ebuild b/sys-cluster/kube-apiserver/kube-apiserver-1.7.5.ebuild new file mode 100644 index 000000000000..56d8ee795dcd --- /dev/null +++ b/sys-cluster/kube-apiserver/kube-apiserver-1.7.5.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit user golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes API server" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kube-apiserver/kube-apiserver-1.7.6.ebuild b/sys-cluster/kube-apiserver/kube-apiserver-1.7.6.ebuild new file mode 100644 index 000000000000..56d8ee795dcd --- /dev/null +++ b/sys-cluster/kube-apiserver/kube-apiserver-1.7.6.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit user golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes API server" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kube-apiserver/kube-apiserver-1.8.0.ebuild b/sys-cluster/kube-apiserver/kube-apiserver-1.8.0.ebuild new file mode 100644 index 000000000000..56d8ee795dcd --- /dev/null +++ b/sys-cluster/kube-apiserver/kube-apiserver-1.8.0.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit user golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes API server" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kube-apiserver/metadata.xml b/sys-cluster/kube-apiserver/metadata.xml new file mode 100644 index 000000000000..f3dec6944099 --- /dev/null +++ b/sys-cluster/kube-apiserver/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mrueg@gentoo.org</email> + <name>Manuel Rüger</name> + </maintainer> + <upstream> + <remote-id type="github">kubernetes/kubernetes</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/kube-controller-manager/Manifest b/sys-cluster/kube-controller-manager/Manifest new file mode 100644 index 000000000000..5389cfdeb1ab --- /dev/null +++ b/sys-cluster/kube-controller-manager/Manifest @@ -0,0 +1,10 @@ +AUX kube-controller-manager.confd 142 SHA256 378af056f60aefc4e4619b7d805e489d2129a4e2407b198cd7421d4294455ca9 SHA512 b0227a7431018a6742b3931fda0f14b4a040107ecd6821c84593180919ba8a5af9b99b7a507645a5488792f14accd686acc4cc6f70a5084bbdfcdd494021aafc WHIRLPOOL e2e88071f8bbb487fcf5594134220398a223c364867600cd78d02553ffa5bb864336da9adb6da973e429186cb7164d18e12032fbef9579c5868255bd9806c45b +AUX kube-controller-manager.initd 566 SHA256 1271f550840ad78ce45135f6a64c2a95d639fb2f5dbbdf81cf336a4f705fe022 SHA512 7e3baab9b034e7048ed3cda8d09444c76369874cecc0a747fb5484c482fef464adb5ccc25fcb4481fb4aff68415a60462f6cbee2138810316f0cf822637676c1 WHIRLPOOL b642c8ca42215e6e8d132ef02cbaba187554be715c780ebe18e88168a5045ac73c5b8d59bf2a8bb36450b2a3892d040059f2bd48c4b50c0858886d44c46c9e06 +AUX kube-controller-manager.logrotated 93 SHA256 f56bb3ae56cd34c554524f1dd663b0b7652f09401fe1c0eaf0c6190192679155 SHA512 9c9d33696dc4fb915848efff258d2150b31d1a793e6b58715a6bc97bf7843ff8b67497f9fb02e025b19a109975913a6d93b7aacd9f485562d535591d849199f2 WHIRLPOOL 53c4279418049dc805d514401776ee4687957f2fbe030228ca2a2ce1c427e73fe711f4b009aece6b657aa1947b3c4759008d946759f1469a2faaba8a6d34064b +DIST kubernetes-1.7.5.tar.gz 22027539 SHA256 5fe434de8b17ef951d156f7cee24b24a0c5a071a85a612bba4890603541e1ff1 SHA512 a9fcc8f2d50ab431dc9aa5580c79acb8f1738102980f15cf99d01c64be5c6764dd670d436b2e42bf53d1e068a1e8924117384ebc4a3ac571267875862a86d4e3 WHIRLPOOL c2bcf741d9bd8a2fe840ceb9e8b67221c96218a0a0c4caa198d3971cd6044fe922da58c2be20e4230aab6b3ae7057ac37a82c457d0049b126954ece40f66d3de +DIST kubernetes-1.7.6.tar.gz 22032012 SHA256 434ef607ba5cb77046066e5ebe2859fb7a1a07657f2b56762f7f16501dc12359 SHA512 b4db0951236f2a7aa8bea70ab0c3e5f1f1efe302ab378277db3752a44a41a360c4def9d71b3398e41f3f3ede503a5fccb5ed7b65e4c1152f0a0854659c4966c9 WHIRLPOOL b9b11e07bed8cb14b15ec346be388ec3c481bd97d744c73743653a17d1dedff21a77fd4729380141d589b50cf772e7018cb3fa697fa1fb9a3c4372885f9c48ce +DIST kubernetes-1.8.0.tar.gz 23388112 SHA256 235c3eccf3490d5ffb7a32d7b3a02f0b849efe0a0ff831094f614ff6907d36aa SHA512 679e58bb29cd398198343f008da27fa4a0461d25c922a54b17cf26a7f6329ed7443717d1e564df646d17f60a014e1e4e0b1285d0ae4f63ab846843b309ce2872 WHIRLPOOL c9e06b6a699903382c0efef8a2fb850efcc4a8c855beaa5cd9bb94e6dc4dfe2fc139ae4814f29bbb3c46a19ca65ec68b7bb5a5f454eeb0fb6bfef55c3d0caee9 +EBUILD kube-controller-manager-1.7.5.ebuild 1205 SHA256 10cbae6a937d6f84e48ee5f6991bcbe27d62a3763747b2c6028b6398073b4941 SHA512 7e3d27d052066d98fd014d4188f090eeea7a87d34b152be35c4fab01175ce2a375fb566dc718a2531464cbe528cb374e2d548cbbcb867660770798b72f2b103c WHIRLPOOL 787009973d32c39053c68d5e0ad74d07dc2ff3d3169e8ad8304621ec393878c3f1533c6b803facabc7d08cf067522b7151346d1761a4719a0b646927b97603c3 +EBUILD kube-controller-manager-1.7.6.ebuild 1205 SHA256 10cbae6a937d6f84e48ee5f6991bcbe27d62a3763747b2c6028b6398073b4941 SHA512 7e3d27d052066d98fd014d4188f090eeea7a87d34b152be35c4fab01175ce2a375fb566dc718a2531464cbe528cb374e2d548cbbcb867660770798b72f2b103c WHIRLPOOL 787009973d32c39053c68d5e0ad74d07dc2ff3d3169e8ad8304621ec393878c3f1533c6b803facabc7d08cf067522b7151346d1761a4719a0b646927b97603c3 +EBUILD kube-controller-manager-1.8.0.ebuild 1205 SHA256 10cbae6a937d6f84e48ee5f6991bcbe27d62a3763747b2c6028b6398073b4941 SHA512 7e3d27d052066d98fd014d4188f090eeea7a87d34b152be35c4fab01175ce2a375fb566dc718a2531464cbe528cb374e2d548cbbcb867660770798b72f2b103c WHIRLPOOL 787009973d32c39053c68d5e0ad74d07dc2ff3d3169e8ad8304621ec393878c3f1533c6b803facabc7d08cf067522b7151346d1761a4719a0b646927b97603c3 +MISC metadata.xml 331 SHA256 d36b415b6920b0f46ff81985c0ad7d18c35a945358cf2846d0a968cdf9dc5f1c SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68 WHIRLPOOL 3fb6d9e005c6ea6d7d82e288c0a0c9c6b643599b5c16f3f66113b99d5082036642502541d54bc2f84f764f5fd1cd84eaf1d50e3e11ce7f9bff46763304794925 diff --git a/sys-cluster/kube-controller-manager/files/kube-controller-manager.confd b/sys-cluster/kube-controller-manager/files/kube-controller-manager.confd new file mode 100644 index 000000000000..155c43a07561 --- /dev/null +++ b/sys-cluster/kube-controller-manager/files/kube-controller-manager.confd @@ -0,0 +1,9 @@ +### +# kubernetes system config +# +# The following values are used to configure the kube-controller-manager +# + +# Add your own! +command_args="" + diff --git a/sys-cluster/kube-controller-manager/files/kube-controller-manager.initd b/sys-cluster/kube-controller-manager/files/kube-controller-manager.initd new file mode 100644 index 000000000000..276197f06562 --- /dev/null +++ b/sys-cluster/kube-controller-manager/files/kube-controller-manager.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Kubernetes Controller Manager service" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/kube-controller-manager" +command_args="${command_args}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \ + --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" + +depend() { + after net +} diff --git a/sys-cluster/kube-controller-manager/files/kube-controller-manager.logrotated b/sys-cluster/kube-controller-manager/files/kube-controller-manager.logrotated new file mode 100644 index 000000000000..a74eca94abf1 --- /dev/null +++ b/sys-cluster/kube-controller-manager/files/kube-controller-manager.logrotated @@ -0,0 +1,7 @@ +/var/log/kube-controller-manager/* { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/sys-cluster/kube-controller-manager/kube-controller-manager-1.7.5.ebuild b/sys-cluster/kube-controller-manager/kube-controller-manager-1.7.5.ebuild new file mode 100644 index 000000000000..e5ab12f16012 --- /dev/null +++ b/sys-cluster/kube-controller-manager/kube-controller-manager-1.7.5.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit user golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes Controller Manager" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kube-controller-manager/kube-controller-manager-1.7.6.ebuild b/sys-cluster/kube-controller-manager/kube-controller-manager-1.7.6.ebuild new file mode 100644 index 000000000000..e5ab12f16012 --- /dev/null +++ b/sys-cluster/kube-controller-manager/kube-controller-manager-1.7.6.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit user golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes Controller Manager" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kube-controller-manager/kube-controller-manager-1.8.0.ebuild b/sys-cluster/kube-controller-manager/kube-controller-manager-1.8.0.ebuild new file mode 100644 index 000000000000..e5ab12f16012 --- /dev/null +++ b/sys-cluster/kube-controller-manager/kube-controller-manager-1.8.0.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit user golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes Controller Manager" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kube-controller-manager/metadata.xml b/sys-cluster/kube-controller-manager/metadata.xml new file mode 100644 index 000000000000..f3dec6944099 --- /dev/null +++ b/sys-cluster/kube-controller-manager/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mrueg@gentoo.org</email> + <name>Manuel Rüger</name> + </maintainer> + <upstream> + <remote-id type="github">kubernetes/kubernetes</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/kube-proxy/Manifest b/sys-cluster/kube-proxy/Manifest new file mode 100644 index 000000000000..a10300ea94cb --- /dev/null +++ b/sys-cluster/kube-proxy/Manifest @@ -0,0 +1,10 @@ +AUX kube-proxy.confd 53 SHA256 a64f7683e165325c7ea27d75f1072a9aab33f3bb6dbd3cde10c62e0e39cc4876 SHA512 4c8c34ae8668bcfa5167c2d2af006fc46b461a5dafb3ec5b64cb8cdf2a830c22ddb5cf806c93b1404f60dabf91b4153724947fa2d2c494376f20e637eeed5018 WHIRLPOOL 06b0c1feb540972544331c2b34325b78dc70fa25ae89a131581fa796eecb3f5a84c3825f875558f34aabeff161e1936701b922c5e3f74e104f590117c8a1a809 +AUX kube-proxy.initd 528 SHA256 d33e0bc015b9212f6105070880d5b87d272b3b0225433b3d365ab831e6ded38e SHA512 74dbbc24d811c2251c180cbf17beeb072f315a931e0643e668e6f804389d087661cc0c6e7be371329021b3ff9a47e67696b276481bad10801896d1d4897a16c1 WHIRLPOOL c054cff28b25b6bbaf72d4d92b62992f847098be79d1920312a39e65b446d3d9d2634408d84289507b6642e428b042dffe7fc22ac59d6ebd6549a4303510fe6f +AUX kube-proxy.logrotated 80 SHA256 c9a2cd891aaa1a4193d8244ffd857400e2bc258d6b43fb4796c0787f3a06fcba SHA512 866e25b63e955ca4855ed6bff2d98225b82e313155a6f24ba39c3063bf0d66a2ed87be4f940a0a562d5bdb73cd90daf11b9b4748a880e64db4ec5092689fcbe4 WHIRLPOOL 13e918604291bb3378105e59d6e27108e6b3bc9df0ec314be5ff9f117e81267585257c0a8b80d8bcf1b840d9ac3827f015c4ff6698f5d49b70452c3588d09355 +DIST kubernetes-1.7.5.tar.gz 22027539 SHA256 5fe434de8b17ef951d156f7cee24b24a0c5a071a85a612bba4890603541e1ff1 SHA512 a9fcc8f2d50ab431dc9aa5580c79acb8f1738102980f15cf99d01c64be5c6764dd670d436b2e42bf53d1e068a1e8924117384ebc4a3ac571267875862a86d4e3 WHIRLPOOL c2bcf741d9bd8a2fe840ceb9e8b67221c96218a0a0c4caa198d3971cd6044fe922da58c2be20e4230aab6b3ae7057ac37a82c457d0049b126954ece40f66d3de +DIST kubernetes-1.7.6.tar.gz 22032012 SHA256 434ef607ba5cb77046066e5ebe2859fb7a1a07657f2b56762f7f16501dc12359 SHA512 b4db0951236f2a7aa8bea70ab0c3e5f1f1efe302ab378277db3752a44a41a360c4def9d71b3398e41f3f3ede503a5fccb5ed7b65e4c1152f0a0854659c4966c9 WHIRLPOOL b9b11e07bed8cb14b15ec346be388ec3c481bd97d744c73743653a17d1dedff21a77fd4729380141d589b50cf772e7018cb3fa697fa1fb9a3c4372885f9c48ce +DIST kubernetes-1.8.0.tar.gz 23388112 SHA256 235c3eccf3490d5ffb7a32d7b3a02f0b849efe0a0ff831094f614ff6907d36aa SHA512 679e58bb29cd398198343f008da27fa4a0461d25c922a54b17cf26a7f6329ed7443717d1e564df646d17f60a014e1e4e0b1285d0ae4f63ab846843b309ce2872 WHIRLPOOL c9e06b6a699903382c0efef8a2fb850efcc4a8c855beaa5cd9bb94e6dc4dfe2fc139ae4814f29bbb3c46a19ca65ec68b7bb5a5f454eeb0fb6bfef55c3d0caee9 +EBUILD kube-proxy-1.7.5.ebuild 1109 SHA256 c954932ce483576da1b3f4295617d74b465f8da1bed5370f404d76637e4178e3 SHA512 6dd581cfd97d999d1634181700984a8fd3b4d87f7a91011638a100b7076e23b5addfa364425b1bfb3619aae4919ef1d77f9e11a38daf782b3ebe3ae9b4e867bf WHIRLPOOL e4854293acc347634aea7538ec6770298719b30c684e09d14fac7f5bb7221a88578f465ead9ee5702e0bad61ed7b23dbba63c8c2a49a153b09619fb29e46fc39 +EBUILD kube-proxy-1.7.6.ebuild 1109 SHA256 c954932ce483576da1b3f4295617d74b465f8da1bed5370f404d76637e4178e3 SHA512 6dd581cfd97d999d1634181700984a8fd3b4d87f7a91011638a100b7076e23b5addfa364425b1bfb3619aae4919ef1d77f9e11a38daf782b3ebe3ae9b4e867bf WHIRLPOOL e4854293acc347634aea7538ec6770298719b30c684e09d14fac7f5bb7221a88578f465ead9ee5702e0bad61ed7b23dbba63c8c2a49a153b09619fb29e46fc39 +EBUILD kube-proxy-1.8.0.ebuild 1109 SHA256 c954932ce483576da1b3f4295617d74b465f8da1bed5370f404d76637e4178e3 SHA512 6dd581cfd97d999d1634181700984a8fd3b4d87f7a91011638a100b7076e23b5addfa364425b1bfb3619aae4919ef1d77f9e11a38daf782b3ebe3ae9b4e867bf WHIRLPOOL e4854293acc347634aea7538ec6770298719b30c684e09d14fac7f5bb7221a88578f465ead9ee5702e0bad61ed7b23dbba63c8c2a49a153b09619fb29e46fc39 +MISC metadata.xml 331 SHA256 d36b415b6920b0f46ff81985c0ad7d18c35a945358cf2846d0a968cdf9dc5f1c SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68 WHIRLPOOL 3fb6d9e005c6ea6d7d82e288c0a0c9c6b643599b5c16f3f66113b99d5082036642502541d54bc2f84f764f5fd1cd84eaf1d50e3e11ce7f9bff46763304794925 diff --git a/sys-cluster/kube-proxy/files/kube-proxy.confd b/sys-cluster/kube-proxy/files/kube-proxy.confd new file mode 100644 index 000000000000..00f33f358bb9 --- /dev/null +++ b/sys-cluster/kube-proxy/files/kube-proxy.confd @@ -0,0 +1,4 @@ +### +# Kubernetes kube-proxy config +# +command_args="" diff --git a/sys-cluster/kube-proxy/files/kube-proxy.initd b/sys-cluster/kube-proxy/files/kube-proxy.initd new file mode 100644 index 000000000000..10d51f8785f4 --- /dev/null +++ b/sys-cluster/kube-proxy/files/kube-proxy.initd @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +# Copyright 2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Kubernetes Proxy service" +pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"} +user=${user:-root} +group=${group:-root} + +command="/usr/bin/kube-proxy" +command_args="${command_args}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/${SVCNAME}/${SVCNAME}.log \ + --stderr /var/log/${SVCNAME}/${SVCNAME}.log" + +depend() { + need net + after net +} diff --git a/sys-cluster/kube-proxy/files/kube-proxy.logrotated b/sys-cluster/kube-proxy/files/kube-proxy.logrotated new file mode 100644 index 000000000000..892c730e83a1 --- /dev/null +++ b/sys-cluster/kube-proxy/files/kube-proxy.logrotated @@ -0,0 +1,7 @@ +/var/log/kube-proxy/* { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/sys-cluster/kube-proxy/kube-proxy-1.7.5.ebuild b/sys-cluster/kube-proxy/kube-proxy-1.7.5.ebuild new file mode 100644 index 000000000000..4824d28abca5 --- /dev/null +++ b/sys-cluster/kube-proxy/kube-proxy-1.7.5.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes Proxy service" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /var/log/${PN} /var/lib/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kube-proxy/kube-proxy-1.7.6.ebuild b/sys-cluster/kube-proxy/kube-proxy-1.7.6.ebuild new file mode 100644 index 000000000000..4824d28abca5 --- /dev/null +++ b/sys-cluster/kube-proxy/kube-proxy-1.7.6.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes Proxy service" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /var/log/${PN} /var/lib/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kube-proxy/kube-proxy-1.8.0.ebuild b/sys-cluster/kube-proxy/kube-proxy-1.8.0.ebuild new file mode 100644 index 000000000000..4824d28abca5 --- /dev/null +++ b/sys-cluster/kube-proxy/kube-proxy-1.8.0.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes Proxy service" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /var/log/${PN} /var/lib/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kube-proxy/metadata.xml b/sys-cluster/kube-proxy/metadata.xml new file mode 100644 index 000000000000..f3dec6944099 --- /dev/null +++ b/sys-cluster/kube-proxy/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mrueg@gentoo.org</email> + <name>Manuel Rüger</name> + </maintainer> + <upstream> + <remote-id type="github">kubernetes/kubernetes</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/kube-scheduler/Manifest b/sys-cluster/kube-scheduler/Manifest new file mode 100644 index 000000000000..95577c2ee26f --- /dev/null +++ b/sys-cluster/kube-scheduler/Manifest @@ -0,0 +1,10 @@ +AUX kube-scheduler.confd 133 SHA256 70edc8af1b41224c51951df215533029e708f544fbc9c8852862fa3e7034b4ab SHA512 d7326f34b26aaebf4b5c25a03abcff3bc3d397382ad4fed0f4718ee425e71399febf6fec6dc817813490671692d3f1b454fd5d14d9c47c3d41b0d3405a01a6c2 WHIRLPOOL 18149eaa544a683e49e23975faddeb547032528107a34f3bd0920724e073a73c742e928a97960e304b33018a7306d099cb359a04f239ad902e76fd09c99788fa +AUX kube-scheduler.initd 548 SHA256 5da776b988c9f11ef4801fe80c30c8d1af7d451a31b094daa3cd34e85309831e SHA512 151ea6f5cc36de9b83f0e5365579e33eea8002f9a03f5f61d195a349236e6baf192f701d3fb591b769aa90e8e1e620d525b20c95a1e8cda58d062971d8f587a3 WHIRLPOOL 621ccbc1e20e0f9eecef2654f6e3d0f633070f2e58ecc54620cb32e5240593dae5b91cc6af65230479f012882bdf7513b5681b5524ae92324d9a5f82aa741f5c +AUX kube-scheduler.logrotated 84 SHA256 1930db199708801e324d3fd0131f2a8f0eecd32d108a92df521f976333d4d5ef SHA512 34d1cf5b5e84b2466b2f40a998bd81e197df7f284636e79ed6e55442d04c7a565af57487ee2f95566c7a9bc95cc903fa2772cc434eaf49c1aa3a6df4f0be5fd2 WHIRLPOOL cebd1e659f51be2c6c9db184bf39df4dbcc247ff4249daddc7ef693cba48c0ce6ee05b870297c336d5f2a2ab9589a1396bbd66a83748ac699658fd0b23ead5a0 +DIST kubernetes-1.7.5.tar.gz 22027539 SHA256 5fe434de8b17ef951d156f7cee24b24a0c5a071a85a612bba4890603541e1ff1 SHA512 a9fcc8f2d50ab431dc9aa5580c79acb8f1738102980f15cf99d01c64be5c6764dd670d436b2e42bf53d1e068a1e8924117384ebc4a3ac571267875862a86d4e3 WHIRLPOOL c2bcf741d9bd8a2fe840ceb9e8b67221c96218a0a0c4caa198d3971cd6044fe922da58c2be20e4230aab6b3ae7057ac37a82c457d0049b126954ece40f66d3de +DIST kubernetes-1.7.6.tar.gz 22032012 SHA256 434ef607ba5cb77046066e5ebe2859fb7a1a07657f2b56762f7f16501dc12359 SHA512 b4db0951236f2a7aa8bea70ab0c3e5f1f1efe302ab378277db3752a44a41a360c4def9d71b3398e41f3f3ede503a5fccb5ed7b65e4c1152f0a0854659c4966c9 WHIRLPOOL b9b11e07bed8cb14b15ec346be388ec3c481bd97d744c73743653a17d1dedff21a77fd4729380141d589b50cf772e7018cb3fa697fa1fb9a3c4372885f9c48ce +DIST kubernetes-1.8.0.tar.gz 23388112 SHA256 235c3eccf3490d5ffb7a32d7b3a02f0b849efe0a0ff831094f614ff6907d36aa SHA512 679e58bb29cd398198343f008da27fa4a0461d25c922a54b17cf26a7f6329ed7443717d1e564df646d17f60a014e1e4e0b1285d0ae4f63ab846843b309ce2872 WHIRLPOOL c9e06b6a699903382c0efef8a2fb850efcc4a8c855beaa5cd9bb94e6dc4dfe2fc139ae4814f29bbb3c46a19ca65ec68b7bb5a5f454eeb0fb6bfef55c3d0caee9 +EBUILD kube-scheduler-1.7.5.ebuild 1212 SHA256 61aa6e4d0aa1aaeac5fe4df77d787b02944e9902d04c8b2548915c0c4a4a2c54 SHA512 03ad58f55630501b97575183c6d56aa59a4290a3bd8b08818c5f616f0966f539558588ebce58283dedc1543519e229c228f83f8886f82e5f36a636c5b4d655c9 WHIRLPOOL 7648f122210c39a05ceeacaff31e1149ca4929ce3b6072358ca856b2f51abe93d1b7cf37c8633770b88d3c6fd65d049d1bc94c306263de19bfedc749a75ab303 +EBUILD kube-scheduler-1.7.6.ebuild 1212 SHA256 61aa6e4d0aa1aaeac5fe4df77d787b02944e9902d04c8b2548915c0c4a4a2c54 SHA512 03ad58f55630501b97575183c6d56aa59a4290a3bd8b08818c5f616f0966f539558588ebce58283dedc1543519e229c228f83f8886f82e5f36a636c5b4d655c9 WHIRLPOOL 7648f122210c39a05ceeacaff31e1149ca4929ce3b6072358ca856b2f51abe93d1b7cf37c8633770b88d3c6fd65d049d1bc94c306263de19bfedc749a75ab303 +EBUILD kube-scheduler-1.8.0.ebuild 1212 SHA256 61aa6e4d0aa1aaeac5fe4df77d787b02944e9902d04c8b2548915c0c4a4a2c54 SHA512 03ad58f55630501b97575183c6d56aa59a4290a3bd8b08818c5f616f0966f539558588ebce58283dedc1543519e229c228f83f8886f82e5f36a636c5b4d655c9 WHIRLPOOL 7648f122210c39a05ceeacaff31e1149ca4929ce3b6072358ca856b2f51abe93d1b7cf37c8633770b88d3c6fd65d049d1bc94c306263de19bfedc749a75ab303 +MISC metadata.xml 331 SHA256 d36b415b6920b0f46ff81985c0ad7d18c35a945358cf2846d0a968cdf9dc5f1c SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68 WHIRLPOOL 3fb6d9e005c6ea6d7d82e288c0a0c9c6b643599b5c16f3f66113b99d5082036642502541d54bc2f84f764f5fd1cd84eaf1d50e3e11ce7f9bff46763304794925 diff --git a/sys-cluster/kube-scheduler/files/kube-scheduler.confd b/sys-cluster/kube-scheduler/files/kube-scheduler.confd new file mode 100644 index 000000000000..8442e0348d23 --- /dev/null +++ b/sys-cluster/kube-scheduler/files/kube-scheduler.confd @@ -0,0 +1,9 @@ +### +# kubernetes system config +# +# The following values are used to configure the kube-scheduler +# + +# Add your own! +command_args="" + diff --git a/sys-cluster/kube-scheduler/files/kube-scheduler.initd b/sys-cluster/kube-scheduler/files/kube-scheduler.initd new file mode 100644 index 000000000000..2c49bce3ec80 --- /dev/null +++ b/sys-cluster/kube-scheduler/files/kube-scheduler.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Kubernetes Scheduler service" +pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"} +user=${user:-${RC_SVCNAME}} +group=${group:-${RC_SVCNAME}} + +command="/usr/bin/kube-scheduler" +command_args="${command_args}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \ + --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" + +depend() { + after net +} diff --git a/sys-cluster/kube-scheduler/files/kube-scheduler.logrotated b/sys-cluster/kube-scheduler/files/kube-scheduler.logrotated new file mode 100644 index 000000000000..8bd67e8db69e --- /dev/null +++ b/sys-cluster/kube-scheduler/files/kube-scheduler.logrotated @@ -0,0 +1,7 @@ +/var/log/kube-scheduler/* { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/sys-cluster/kube-scheduler/kube-scheduler-1.7.5.ebuild b/sys-cluster/kube-scheduler/kube-scheduler-1.7.5.ebuild new file mode 100644 index 000000000000..aa15c73ecc3a --- /dev/null +++ b/sys-cluster/kube-scheduler/kube-scheduler-1.7.5.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit user golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes Controller Manager" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=plugin/cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kube-scheduler/kube-scheduler-1.7.6.ebuild b/sys-cluster/kube-scheduler/kube-scheduler-1.7.6.ebuild new file mode 100644 index 000000000000..aa15c73ecc3a --- /dev/null +++ b/sys-cluster/kube-scheduler/kube-scheduler-1.7.6.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit user golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes Controller Manager" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=plugin/cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kube-scheduler/kube-scheduler-1.8.0.ebuild b/sys-cluster/kube-scheduler/kube-scheduler-1.8.0.ebuild new file mode 100644 index 000000000000..aa15c73ecc3a --- /dev/null +++ b/sys-cluster/kube-scheduler/kube-scheduler-1.8.0.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit user golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes Controller Manager" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=plugin/cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /var/log/${PN} + fowners ${PN}:${PN} /var/log/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kube-scheduler/metadata.xml b/sys-cluster/kube-scheduler/metadata.xml new file mode 100644 index 000000000000..f3dec6944099 --- /dev/null +++ b/sys-cluster/kube-scheduler/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mrueg@gentoo.org</email> + <name>Manuel Rüger</name> + </maintainer> + <upstream> + <remote-id type="github">kubernetes/kubernetes</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/kubectl/Manifest b/sys-cluster/kubectl/Manifest new file mode 100644 index 000000000000..568737de56f0 --- /dev/null +++ b/sys-cluster/kubectl/Manifest @@ -0,0 +1,7 @@ +DIST kubernetes-1.7.5.tar.gz 22027539 SHA256 5fe434de8b17ef951d156f7cee24b24a0c5a071a85a612bba4890603541e1ff1 SHA512 a9fcc8f2d50ab431dc9aa5580c79acb8f1738102980f15cf99d01c64be5c6764dd670d436b2e42bf53d1e068a1e8924117384ebc4a3ac571267875862a86d4e3 WHIRLPOOL c2bcf741d9bd8a2fe840ceb9e8b67221c96218a0a0c4caa198d3971cd6044fe922da58c2be20e4230aab6b3ae7057ac37a82c457d0049b126954ece40f66d3de +DIST kubernetes-1.7.6.tar.gz 22032012 SHA256 434ef607ba5cb77046066e5ebe2859fb7a1a07657f2b56762f7f16501dc12359 SHA512 b4db0951236f2a7aa8bea70ab0c3e5f1f1efe302ab378277db3752a44a41a360c4def9d71b3398e41f3f3ede503a5fccb5ed7b65e4c1152f0a0854659c4966c9 WHIRLPOOL b9b11e07bed8cb14b15ec346be388ec3c481bd97d744c73743653a17d1dedff21a77fd4729380141d589b50cf772e7018cb3fa697fa1fb9a3c4372885f9c48ce +DIST kubernetes-1.8.0.tar.gz 23388112 SHA256 235c3eccf3490d5ffb7a32d7b3a02f0b849efe0a0ff831094f614ff6907d36aa SHA512 679e58bb29cd398198343f008da27fa4a0461d25c922a54b17cf26a7f6329ed7443717d1e564df646d17f60a014e1e4e0b1285d0ae4f63ab846843b309ce2872 WHIRLPOOL c9e06b6a699903382c0efef8a2fb850efcc4a8c855beaa5cd9bb94e6dc4dfe2fc139ae4814f29bbb3c46a19ca65ec68b7bb5a5f454eeb0fb6bfef55c3d0caee9 +EBUILD kubectl-1.7.5.ebuild 1195 SHA256 52c65b73376bfe55d2e4422c840ca0ea3b76c3dd67d91d066d024b747fc25b45 SHA512 7f11ea2a0820fdd11ee3e15ff86f1af6999e538e6b96703921babba7df6a0756e1f209b795816bc8b983d6066dc5424a868be4fc6200b69d43007e4e40eb8544 WHIRLPOOL 5f80d841ed707970cc4f37ac11e7914bfcfa5f3b2496babfe68d08b07b3b3ed128c22ad7e62621fb21d15459afb14abf9dc3c3fe5b078aada5e8c10b88e15814 +EBUILD kubectl-1.7.6.ebuild 1195 SHA256 52c65b73376bfe55d2e4422c840ca0ea3b76c3dd67d91d066d024b747fc25b45 SHA512 7f11ea2a0820fdd11ee3e15ff86f1af6999e538e6b96703921babba7df6a0756e1f209b795816bc8b983d6066dc5424a868be4fc6200b69d43007e4e40eb8544 WHIRLPOOL 5f80d841ed707970cc4f37ac11e7914bfcfa5f3b2496babfe68d08b07b3b3ed128c22ad7e62621fb21d15459afb14abf9dc3c3fe5b078aada5e8c10b88e15814 +EBUILD kubectl-1.8.0.ebuild 1195 SHA256 52c65b73376bfe55d2e4422c840ca0ea3b76c3dd67d91d066d024b747fc25b45 SHA512 7f11ea2a0820fdd11ee3e15ff86f1af6999e538e6b96703921babba7df6a0756e1f209b795816bc8b983d6066dc5424a868be4fc6200b69d43007e4e40eb8544 WHIRLPOOL 5f80d841ed707970cc4f37ac11e7914bfcfa5f3b2496babfe68d08b07b3b3ed128c22ad7e62621fb21d15459afb14abf9dc3c3fe5b078aada5e8c10b88e15814 +MISC metadata.xml 331 SHA256 757e4c9e564d7c023ce2068c998fa06b2266edf7608d717268c294a3f6e10a41 SHA512 d44cef89f9f902c706b0f9c0c4106bfd6ca094d64c273d0a13da53aec7ba2b238cd6ff489f13765e895ee4a6f2bb4638436839c7c60cce2ece3013fdc27232a4 WHIRLPOOL 51540c0c28cc89e47e72825981e9f823b4abf942d35e755daa69e18c5160335f13001fbc93da85d3556562473ba8d983596c069b8ff17ce55d6ac0466bc7fb0f diff --git a/sys-cluster/kubectl/kubectl-1.7.5.ebuild b/sys-cluster/kubectl/kubectl-1.7.5.ebuild new file mode 100644 index 000000000000..89ea95537ed0 --- /dev/null +++ b/sys-cluster/kubectl/kubectl-1.7.5.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit golang-build golang-vcs-snapshot bash-completion-r1 + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="CLI to run commands against Kubernetes clusters" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} + pushd src/${EGO_PN} || die + _output/bin/${PN} completion bash > ${PN}.bash + _output/bin/${PN} completion zsh > ${PN}.zsh + popd || die +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + + newbashcomp ${PN}.bash ${PN} + insinto /usr/share/zsh/site-functions + newins ${PN}.zsh ${PN} + + popd || die +} diff --git a/sys-cluster/kubectl/kubectl-1.7.6.ebuild b/sys-cluster/kubectl/kubectl-1.7.6.ebuild new file mode 100644 index 000000000000..89ea95537ed0 --- /dev/null +++ b/sys-cluster/kubectl/kubectl-1.7.6.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit golang-build golang-vcs-snapshot bash-completion-r1 + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="CLI to run commands against Kubernetes clusters" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} + pushd src/${EGO_PN} || die + _output/bin/${PN} completion bash > ${PN}.bash + _output/bin/${PN} completion zsh > ${PN}.zsh + popd || die +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + + newbashcomp ${PN}.bash ${PN} + insinto /usr/share/zsh/site-functions + newins ${PN}.zsh ${PN} + + popd || die +} diff --git a/sys-cluster/kubectl/kubectl-1.8.0.ebuild b/sys-cluster/kubectl/kubectl-1.8.0.ebuild new file mode 100644 index 000000000000..89ea95537ed0 --- /dev/null +++ b/sys-cluster/kubectl/kubectl-1.8.0.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit golang-build golang-vcs-snapshot bash-completion-r1 + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="CLI to run commands against Kubernetes clusters" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} + pushd src/${EGO_PN} || die + _output/bin/${PN} completion bash > ${PN}.bash + _output/bin/${PN} completion zsh > ${PN}.zsh + popd || die +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + + newbashcomp ${PN}.bash ${PN} + insinto /usr/share/zsh/site-functions + newins ${PN}.zsh ${PN} + + popd || die +} diff --git a/sys-cluster/kubectl/metadata.xml b/sys-cluster/kubectl/metadata.xml new file mode 100644 index 000000000000..417822e21b70 --- /dev/null +++ b/sys-cluster/kubectl/metadata.xml @@ -0,0 +1,11 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mrueg@gentoo.org</email> + <name>Manuel Rüger</name> + </maintainer> + <upstream> + <remote-id type="github">kubernetes/kubernetes</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/kubelet/Manifest b/sys-cluster/kubelet/Manifest new file mode 100644 index 000000000000..80d73666a8f1 --- /dev/null +++ b/sys-cluster/kubelet/Manifest @@ -0,0 +1,10 @@ +AUX kubelet.confd 58 SHA256 c1476a6d4af6a40296c990ad46bd5793d9b52c8b12c0c7764ee177962022938e SHA512 2ae3bbc8a66da644b59d7f753294ad43d5675edbe2e4769b91d7c988d0eeffd5b4209a10650ad937f9698b1b6050279d448c75274815a6b348ad2023f2fef08e WHIRLPOOL 95d2f220e8afbe315e146ee76cab3df06d63662894c59d4b03fed887ed99c17e71baf7bdf3493d4e904cbcfa10cf7848c6761184112714fc423d611a8e5d81b2 +AUX kubelet.initd 532 SHA256 7b46dcff102ea5a01bcb01da06578a392d91e44266fb038e780ec20a3bdf5e5d SHA512 6f8268eb8626d2e5d884e8a714861abebc92f1e7ebc9d50ab6d122fdec4e88aa672a3df900c3ce1deac36ba9991c914d7564adc0ef0e965b5975a86d51874962 WHIRLPOOL af49f279f6b8540147e0ffc76083e36971c3e833e1393f656a466e6b055de63e6070e2dac9005c76d286ccc5250957c06ce3f55a1fafb854e3f2094cca2c869d +AUX kubelet.logrotated 80 SHA256 80eb18515e5c7f12d2bcbe907ef6fc218f3c83274c18f22535bf59feaa8003a8 SHA512 c51f65a691fdd280798610cb04f9a48766045952687917828dd9c554f626a2303220ecd717a5d6be8f838422720a69a7c5e11576245a2e7dd75311a975a8d72e WHIRLPOOL 01e7acf5a8f5b3fde6ccd5633ca0eb0c612a2918cf98cc9cf191d87df908dd0d4b966c363cb9aba7f49891aee14ec5b6a616a06b07d81a55745293aeb1665312 +DIST kubernetes-1.7.5.tar.gz 22027539 SHA256 5fe434de8b17ef951d156f7cee24b24a0c5a071a85a612bba4890603541e1ff1 SHA512 a9fcc8f2d50ab431dc9aa5580c79acb8f1738102980f15cf99d01c64be5c6764dd670d436b2e42bf53d1e068a1e8924117384ebc4a3ac571267875862a86d4e3 WHIRLPOOL c2bcf741d9bd8a2fe840ceb9e8b67221c96218a0a0c4caa198d3971cd6044fe922da58c2be20e4230aab6b3ae7057ac37a82c457d0049b126954ece40f66d3de +DIST kubernetes-1.7.6.tar.gz 22032012 SHA256 434ef607ba5cb77046066e5ebe2859fb7a1a07657f2b56762f7f16501dc12359 SHA512 b4db0951236f2a7aa8bea70ab0c3e5f1f1efe302ab378277db3752a44a41a360c4def9d71b3398e41f3f3ede503a5fccb5ed7b65e4c1152f0a0854659c4966c9 WHIRLPOOL b9b11e07bed8cb14b15ec346be388ec3c481bd97d744c73743653a17d1dedff21a77fd4729380141d589b50cf772e7018cb3fa697fa1fb9a3c4372885f9c48ce +DIST kubernetes-1.8.0.tar.gz 23388112 SHA256 235c3eccf3490d5ffb7a32d7b3a02f0b849efe0a0ff831094f614ff6907d36aa SHA512 679e58bb29cd398198343f008da27fa4a0461d25c922a54b17cf26a7f6329ed7443717d1e564df646d17f60a014e1e4e0b1285d0ae4f63ab846843b309ce2872 WHIRLPOOL c9e06b6a699903382c0efef8a2fb850efcc4a8c855beaa5cd9bb94e6dc4dfe2fc139ae4814f29bbb3c46a19ca65ec68b7bb5a5f454eeb0fb6bfef55c3d0caee9 +EBUILD kubelet-1.7.5.ebuild 1206 SHA256 192d3c71383989c1c7a0d54e5a5d68f19f60f80759d10f7d8c4fa1fdea8294ea SHA512 232f3600c53b381f4cfc41c9808ca68a6582958bc7aa31a04b2d95466c2ff0770350906d208091150fa50a137ea59d04f30b820e03a9d3221ec60e7f5e94fb43 WHIRLPOOL 2a0127c6af63a85b3e6dbc6c6c48d1dfd739af224efbc6cc78e7513fb28fc486e72246d8004633572d31db4d5500346252a7fbbef79d0d71a4d4fba416c495ec +EBUILD kubelet-1.7.6.ebuild 1206 SHA256 192d3c71383989c1c7a0d54e5a5d68f19f60f80759d10f7d8c4fa1fdea8294ea SHA512 232f3600c53b381f4cfc41c9808ca68a6582958bc7aa31a04b2d95466c2ff0770350906d208091150fa50a137ea59d04f30b820e03a9d3221ec60e7f5e94fb43 WHIRLPOOL 2a0127c6af63a85b3e6dbc6c6c48d1dfd739af224efbc6cc78e7513fb28fc486e72246d8004633572d31db4d5500346252a7fbbef79d0d71a4d4fba416c495ec +EBUILD kubelet-1.8.0.ebuild 1206 SHA256 192d3c71383989c1c7a0d54e5a5d68f19f60f80759d10f7d8c4fa1fdea8294ea SHA512 232f3600c53b381f4cfc41c9808ca68a6582958bc7aa31a04b2d95466c2ff0770350906d208091150fa50a137ea59d04f30b820e03a9d3221ec60e7f5e94fb43 WHIRLPOOL 2a0127c6af63a85b3e6dbc6c6c48d1dfd739af224efbc6cc78e7513fb28fc486e72246d8004633572d31db4d5500346252a7fbbef79d0d71a4d4fba416c495ec +MISC metadata.xml 331 SHA256 d36b415b6920b0f46ff81985c0ad7d18c35a945358cf2846d0a968cdf9dc5f1c SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68 WHIRLPOOL 3fb6d9e005c6ea6d7d82e288c0a0c9c6b643599b5c16f3f66113b99d5082036642502541d54bc2f84f764f5fd1cd84eaf1d50e3e11ce7f9bff46763304794925 diff --git a/sys-cluster/kubelet/files/kubelet.confd b/sys-cluster/kubelet/files/kubelet.confd new file mode 100644 index 000000000000..24f424877eb8 --- /dev/null +++ b/sys-cluster/kubelet/files/kubelet.confd @@ -0,0 +1,4 @@ +### +# Kubernetes Kubelet (worker) config + +command_args="" diff --git a/sys-cluster/kubelet/files/kubelet.initd b/sys-cluster/kubelet/files/kubelet.initd new file mode 100644 index 000000000000..2f6b4eaf5df5 --- /dev/null +++ b/sys-cluster/kubelet/files/kubelet.initd @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +# Copyright 2016-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Kubelet, a Kubernetes node agent" +pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"} +user=${user:-root} +group=${group:-root} + +command="/usr/bin/kubelet" +command_args="${command_args}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/kubelet/${SVCNAME}.log \ + --stderr /var/log/kubelet/${SVCNAME}.log" + +depend() { + need net + after net +} diff --git a/sys-cluster/kubelet/files/kubelet.logrotated b/sys-cluster/kubelet/files/kubelet.logrotated new file mode 100644 index 000000000000..3d096428655b --- /dev/null +++ b/sys-cluster/kubelet/files/kubelet.logrotated @@ -0,0 +1,7 @@ +/var/log/kubernetes/* { + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/sys-cluster/kubelet/kubelet-1.7.5.ebuild b/sys-cluster/kubelet/kubelet-1.7.5.ebuild new file mode 100644 index 000000000000..8348f6d70ace --- /dev/null +++ b/sys-cluster/kubelet/kubelet-1.7.5.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes Node Agent" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="hardened" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /etc/kubernetes/manifests /var/log/kubelet /var/lib/kubelet + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kubelet/kubelet-1.7.6.ebuild b/sys-cluster/kubelet/kubelet-1.7.6.ebuild new file mode 100644 index 000000000000..8348f6d70ace --- /dev/null +++ b/sys-cluster/kubelet/kubelet-1.7.6.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes Node Agent" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="hardened" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /etc/kubernetes/manifests /var/log/kubelet /var/lib/kubelet + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kubelet/kubelet-1.8.0.ebuild b/sys-cluster/kubelet/kubelet-1.8.0.ebuild new file mode 100644 index 000000000000..8348f6d70ace --- /dev/null +++ b/sys-cluster/kubelet/kubelet-1.8.0.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/kubernetes" +ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Kubernetes Node Agent" +HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="hardened" + +DEPEND="dev-go/go-bindata" + +RESTRICT="test" + +src_prepare() { + default + sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die + sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die +} + +src_compile() { + export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin _output/bin/${PN} + popd || die + keepdir /etc/kubernetes/manifests /var/log/kubelet /var/lib/kubelet + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} + insinto /etc/logrotate.d + newins "${FILESDIR}"/${PN}.logrotated ${PN} +} diff --git a/sys-cluster/kubelet/metadata.xml b/sys-cluster/kubelet/metadata.xml new file mode 100644 index 000000000000..f3dec6944099 --- /dev/null +++ b/sys-cluster/kubelet/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mrueg@gentoo.org</email> + <name>Manuel Rüger</name> + </maintainer> + <upstream> + <remote-id type="github">kubernetes/kubernetes</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/legion/Manifest b/sys-cluster/legion/Manifest new file mode 100644 index 000000000000..faef48085d58 --- /dev/null +++ b/sys-cluster/legion/Manifest @@ -0,0 +1,15 @@ +AUX legion-16.08.0-hwloc.patch 825 SHA256 424bcbb1e09d1811b24831c43588ae0a9e34a9c763208f53930407ce6f495348 SHA512 a5fb493f9b99fc2fc48d283990684efdbbe835ffd1d50084ceaf40adeda4a362ae3cff1095c4b3d655e676568faf5ec584e794a6d6cde62cc6fec40486012b80 WHIRLPOOL fca7a0482da8ae2c9f6968ddcb127be08d350fa0f8629ee79e9bfb9f939a965ade62c7d44ca4ca6c616361a96a9c5c9bcc632c898f6f0d25991f33aecfb44177 +AUX legion-16.08.0-multilib.patch 3874 SHA256 1834e199f2708b364a5f78afae32132a1f727a5a868ba5d83cb490d927cde427 SHA512 6613fdf2a06e8d46eda9b540681cfa4a8e820d5306397d5dcd1e45e9f80aa348dd36200606fe6667f5371794f2e4505b1e799d7aa8a18ba354ea368de0e33ac6 WHIRLPOOL d440c5586eb3403b1a37f5497bb6b7aca1b56d20659818d55213b8148ad33a23beeb4e8d240537b19f4fc60f9b9f1f5c63001045bcf2ebe7b9f66abe491e3e6e +DIST legion-16.08.0.tar.gz 2501054 SHA256 c2a344e54124172b49d97e0e0033021e9ed3d9ddb4158b0620430c5597f6ccba SHA512 8847fa8c0c7683812dd6ffb038a4d6d3427fdfde62ec917ab32e9a15cd7320321cab2b106479589aa2451cabd98cd0b1dc88b4ff668f991bb4c95f383de785a5 WHIRLPOOL 355f54164fca71c49891869644c841814600c09253bc807297bc79391f13f05fbe93029f29918167cd79a745928b0d991bc671ccd841320a32ce67941f34705c +DIST legion-16.10.0.tar.gz 2474656 SHA256 92190ae5ff0a1f6356890446e026479ed715230d4761a40d4834af256a722099 SHA512 cfe610fef047def835f95adcc4ae52d7844a4a89a5bdebb2ec40b0e63a66aba9d180bd78e559762b1ac18f84c1ca1142c3e73238dbe4c516672a8843335442a5 WHIRLPOOL 3a0e083b9d8d5c5071f1914e7cc3fda0c7c5bc2f4d187506aee9d3c1def8a046ec7732f2ce105bc3ee93075f35fc2ee7952020e2806e7f43be962018147111fb +DIST legion-17.02.0.tar.gz 2690415 SHA256 c5413fe8990c33a087c9a567671756c8267e050f5285f75ee33b84911b00c355 SHA512 0c6ee53953ec2e5072d39b1c1260a1783393feaf7064f381bb1733cf9cdb1be8fd521a35e0a452ebc9e9509d117fdc6f3e472cdb6c633ba00c987c880a33bc2d WHIRLPOOL 97bb2da8d362414d6e3c65ba2b50bf4e57041e337f6492efb27f5796c3afe0225c6324532e7413e5f9987c8395b05751d6fc0ca7b7983c21b96ef7679fdc57dc +DIST legion-17.05.0.tar.gz 2783482 SHA256 b5f54454b28d3b61dde03711dadc2b969cf5c6412b9c1887893c5af521eba79a SHA512 51532f043eea1467a2b8ff17004f224c763f411eb5940d0a4dc5d8eb6503d758964aba26eb4977c68264c7344fcf269682a428e86a2c1a756f91cc9c50d04677 WHIRLPOOL c178ad310ef79997f4716dc7380892c814a11eadb39cbb88f1dab46df73b7fc6396262ea3a7db330847bd25b217b5f50dc5ea3c9b3e86932e3e3693e5a9eb5cb +DIST legion-17.08.0.tar.gz 2839522 SHA256 5edfc9ee05b7bd0eb45f698e3cfd66c062d21fe36c3da89d233d93b2d47d9d1e SHA512 5d97157f97e12149e5fdf3a75d2e6e8a41ebf97e09c35501e2c93437bd0a47643d261f68c6b4a83b47e64d706f35914acd3a852eb0c08a11696b05ba9ef7af87 WHIRLPOOL 0602b0876190a1209fd215d9a85d3713ae2dcbae8f4df7b9eb34f40da5c13d2ee446137d22bc89f250bc90e134d84f484ec15106ea3cab1d32740941186a38a8 +EBUILD legion-16.08.0-r1.ebuild 842 SHA256 e80b953435f1132477a2101dfa2957a59bb3699bf902891df9e2bee455500551 SHA512 d3d0f07e5028c88a288ec07b40cd06c336319405421ece8abc66a8606cfc8ae48e16636462c377dba2fc09afe29a013f6782cf2e3894c24dcfac5847cbd26166 WHIRLPOOL a3c664438deb63dcfbb960ef5c55a380eb2d664ff5689e9c66063f0a30d9c0706017a07cb7881a55ccd9b0fb6a3b927c23ca4d68a44e80b6f81cb08ea6911fab +EBUILD legion-16.10.0.ebuild 669 SHA256 1907079216e421227fc0c894d8301c765104b19607f0fc637b11a1bab4aafbb8 SHA512 599658544d58e5df36506abd5fb05fef69bccac29668714c203d48fd5902127fa6a73cb3284b798569e9402cb921d5db5f766bc2a69edb6558837f55262385df WHIRLPOOL b502a08bdcecb8a3c418fdd6f722d9490c34c384c7a73f15c54593fed487e2e6fbf914ce10a0341b25e281e07abbd14822e00cb7f73054632c6d7e0c693219d5 +EBUILD legion-17.02.0.ebuild 724 SHA256 501d4895858173b4fcf3f5d22de0a8cc286cdb4c07925686793b44ca7b1c55d4 SHA512 ecb3a77330e40a0abee5af0bbc5a7ecf0fc7baad53f077eea9975f22b165c68ad999111f3c01bdc9e8df92c57ce3ac658817b7be4b96429c2fe67c8782671c98 WHIRLPOOL 87d65fb5e0b24b1f66388f3649c9a31f412306136f72b46dd37da2dfc079eb682e3fe45cd18ba19995bf81e645398d967579af1c6f0e5d6926648f6d158e9423 +EBUILD legion-17.05.0.ebuild 881 SHA256 36b33f834bbdc15edc9f675b70bfab407e95773420485ac01ea97baf1a4846f9 SHA512 8976cb8040a1ad4a205900ee6d040029c54c1cf802a70d83fc52b63190bd8405d1f0107f4a0a9e5a3cb9ba37a9e2446a4f7a2b84587ba33b83d60d2dfea9c01f WHIRLPOOL 4defbb7fad9a327bad2bf79ac80600c7f7bbd7bc4a7e18214ef48ee04837b3808cff286f0c0dd0c3b5f727ff520550b456dcf0a704524dc7ec8fc988e3b5fd9d +EBUILD legion-17.08.0.ebuild 925 SHA256 0bde161e407b52d5594a6e6cd8da962a4e6051ad2f7a247fea7c33948c606cc4 SHA512 fd399c48fe6e4209c1d5a1cb8ea8a2d9af507268784c009143aa67fefe3f8a9f5fce81b3231e0b2390bf049f410372928c59e211def52cb0303fa49647964538 WHIRLPOOL b7a5f8606322bcdc35f0ea65d52b757d7907b131d65904fef4245fdf70041379d87f5d275a8d699cca4d4947a1c892b52de5feeef051a1d9fc39ba8461633e57 +EBUILD legion-9999.ebuild 881 SHA256 36b33f834bbdc15edc9f675b70bfab407e95773420485ac01ea97baf1a4846f9 SHA512 8976cb8040a1ad4a205900ee6d040029c54c1cf802a70d83fc52b63190bd8405d1f0107f4a0a9e5a3cb9ba37a9e2446a4f7a2b84587ba33b83d60d2dfea9c01f WHIRLPOOL 4defbb7fad9a327bad2bf79ac80600c7f7bbd7bc4a7e18214ef48ee04837b3808cff286f0c0dd0c3b5f727ff520550b456dcf0a704524dc7ec8fc988e3b5fd9d +MISC ChangeLog 871 SHA256 4b5f0f0f160797c9a0abae5d7c114c513dabf3c96718cfa978ba1a60afeb2e78 SHA512 9730f27c06a5f2652ba26dc791a29c8aebe88b3a729d5409727bd00854fddb398fa159257aaa88a4b8ee49bb3fa1a143984bf75ead04b2286efa55ee120183ac WHIRLPOOL 61560ebde65e47f5607eb10b12468a84c9b4f52759aab3091b0b914c5035874865a55cd7e2340c29b2a44b17e453d3a5a3aa19b37b556286087f8fb8d33f2a82 +MISC metadata.xml 602 SHA256 fb472821c80dc596cc022cf5f60ed06e77e7f38175451bef57088854527bb186 SHA512 ec6acaf029c0909ea54e7548c50fbcf5b1796081c9e774dcdaf6cd9ebfb9f67110be68b88208dcb1dd59cc9b4c7efc16ab5cf740a81ba2c61cc3b568b4648ac1 WHIRLPOOL d7eae2d05617cb3a4647e7263d5ddbdaae86dd9bd34ddb42d1ae6220590894a9dd681562db499f9805376364fc7a2fe683d2e3a14de6ecc3edce03c0d42dcd65 diff --git a/sys-cluster/legion/files/legion-16.08.0-hwloc.patch b/sys-cluster/legion/files/legion-16.08.0-hwloc.patch new file mode 100644 index 000000000000..f9e270c1798b --- /dev/null +++ b/sys-cluster/legion/files/legion-16.08.0-hwloc.patch @@ -0,0 +1,22 @@ +From 8c636a8547b1695105501b8b7c8c713094ef7921 Mon Sep 17 00:00:00 2001 +From: Christoph Junghans <christoph.junghans@gmail.com> +Date: Fri, 2 Sep 2016 15:26:51 -0600 +Subject: [PATCH] FindHWLOC.cmake: fix syntax error + +--- + cmake/FindHWLOC.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/FindHWLOC.cmake b/cmake/FindHWLOC.cmake +index 1019b59..1e9e97d 100644 +--- a/cmake/FindHWLOC.cmake ++++ b/cmake/FindHWLOC.cmake +@@ -28,7 +28,7 @@ if(NOT HWLOC_FOUND AND NOT TARGET HWLOC) + # Save the existing prefix options + set(_CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}) + set(_CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH}) +- set(CMAKE_PREFIX_PATH ${HWLOC_ROOT_DIR} ++ set(CMAKE_PREFIX_PATH ${HWLOC_ROOT_DIR}) + unset(CMAKE_LIBRARY_PATH) + set(_HWLOC_FIND_OPTS + NO_CMAKE_ENVIRONMENT_PATH diff --git a/sys-cluster/legion/files/legion-16.08.0-multilib.patch b/sys-cluster/legion/files/legion-16.08.0-multilib.patch new file mode 100644 index 000000000000..7ddd9a880980 --- /dev/null +++ b/sys-cluster/legion/files/legion-16.08.0-multilib.patch @@ -0,0 +1,131 @@ +From f9b71c86098c16436c3a51d8706f52f720ef008d Mon Sep 17 00:00:00 2001 +From: Christoph Junghans <junghans@lanl.gov> +Date: Fri, 2 Sep 2016 15:54:49 -0600 +Subject: [PATCH] cmake: support multilib + +--- + CMakeLists.txt | 26 ++++++++++++++++---------- + runtime/CMakeLists.txt | 8 ++++---- + 2 files changed, 20 insertions(+), 14 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 726e8e4..181a2bd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -20,12 +20,18 @@ project(Legion) + #------------------------------------------------------------------------------# + # Some boilerplate to setup nice output directories + #------------------------------------------------------------------------------# ++ ++#for multilib distros ++if (NOT DEFINED LIB) ++ set(LIB "lib") ++endif(NOT DEFINED LIB) ++ + list(INSERT CMAKE_MODULE_PATH 0 "${Legion_SOURCE_DIR}/cmake") + if(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY) +- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${Legion_BINARY_DIR}/lib) ++ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${Legion_BINARY_DIR}/${LIB}) + endif() + if(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY) +- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${Legion_BINARY_DIR}/lib) ++ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${Legion_BINARY_DIR}/${LIB}) + endif() + if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${Legion_BINARY_DIR}/bin) +@@ -50,7 +56,7 @@ option(Legion_USE_HWLOC "Use hwloc for topology awareness" OFF) + if(Legion_USE_HWLOC) + find_package(HWLOC REQUIRED) + install(FILES ${Legion_SOURCE_DIR}/cmake/FindHWLOC.cmake +- DESTINATION lib/cmake/Legion ++ DESTINATION ${LIB}/cmake/Legion + ) + endif() + +@@ -69,7 +75,7 @@ if(Legion_USE_GASNet) + mark_as_advanced(GASNet_CONDUIT) + find_package(GASNet REQUIRED) + install(FILES ${Legion_SOURCE_DIR}/cmake/FindGASNet.cmake +- DESTINATION lib/cmake/Legion ++ DESTINATION ${LIB}/cmake/Legion + ) + endif() + +@@ -81,7 +87,7 @@ if(Legion_USE_LLVM) + set(Legion_LLVM_COMPONENTS irreader jit mcjit x86) + find_package(LLVM REQUIRED COMPONENTS ${Legion_LLVM_COMPONENTS}) + install(FILES ${Legion_SOURCE_DIR}/cmake/FindLLVM.cmake +- DESTINATION lib/cmake/Legion ++ DESTINATION ${LIB}/cmake/Legion + ) + endif() + +@@ -97,10 +103,10 @@ if(Legion_USE_CUDA) + endif() + find_package(CUDA REQUIRED) + install(FILES ${Legion_SOURCE_DIR}/cmake/FindCUDA.cmake +- DESTINATION lib/cmake/Legion ++ DESTINATION ${LIB}/cmake/Legion + ) + install(FILES ${Legion_SOURCE_DIR}/cmake/newcmake/FindCUDA.cmake +- DESTINATION lib/cmake/Legion/newcmake ++ DESTINATION ${LIB}/cmake/Legion/newcmake + ) + endif() + +@@ -128,7 +134,7 @@ export(EXPORT LegionTargets + install(EXPORT LegionTargets + NAMESPACE Legion:: + FILE LegionTargets.cmake +- DESTINATION lib/cmake/Legion ++ DESTINATION ${LIB}/cmake/Legion + ) + + configure_file( +@@ -137,7 +143,7 @@ configure_file( + @ONLY + ) + install(FILES ${Legion_BINARY_DIR}/LegionConfigCommon.cmake +- DESTINATION lib/cmake/Legion ++ DESTINATION ${LIB}/cmake/Legion + ) + + configure_file( +@@ -147,7 +153,7 @@ configure_file( + ) + + install(FILES cmake/LegionConfig-install.cmake +- DESTINATION lib/cmake/Legion ++ DESTINATION ${LIB}/cmake/Legion + RENAME LegionConfig.cmake + ) + +diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt +index e21e141..91f6a03 100644 +--- a/runtime/CMakeLists.txt ++++ b/runtime/CMakeLists.txt +@@ -176,8 +176,8 @@ target_include_directories(LowLevelRuntime + ) + + install(TARGETS LowLevelRuntime EXPORT LegionTargets +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION ${LIB} ++ ARCHIVE DESTINATION ${LIB} + RUNTIME DESTINATION bin + ) + +@@ -244,8 +244,8 @@ target_include_directories(HighLevelRuntime + ) + + install(TARGETS HighLevelRuntime EXPORT LegionTargets +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION ${LIB} ++ ARCHIVE DESTINATION ${LIB} + RUNTIME DESTINATION bin + ) + +-- +2.7.3 + diff --git a/sys-cluster/legion/legion-16.08.0-r1.ebuild b/sys-cluster/legion/legion-16.08.0-r1.ebuild new file mode 100644 index 000000000000..e90f7d02ed71 --- /dev/null +++ b/sys-cluster/legion/legion-16.08.0-r1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils + +DESCRIPTION="A data-centric parallel programming system" +HOMEPAGE="http://legion.stanford.edu/" +SRC_URI="https://github.com/StanfordLegion/${PN}/archive/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="gasnet +hwloc" + +DEPEND=" + gasnet? ( >=sys-cluster/gasnet-1.26.4-r1 ) + hwloc? ( sys-apps/hwloc ) + " + +S="${WORKDIR}/${PN}-${P}" + +#https://github.com/StanfordLegion/legion/pull/166 +#https://github.com/StanfordLegion/legion/pull/167 +PATCHES=( "${FILESDIR}/${P}-hwloc.patch" "${FILESDIR}/${P}-multilib.patch" ) + +src_configure() { + mycmakeargs=( + -DLegion_USE_HWLOC=$(usex hwloc) + -DLegion_USE_GASNet=$(usex gasnet) + -DBUILD_SHARED_LIBS=ON + -DLIB=$(get_libdir) + ) + cmake-utils_src_configure +} diff --git a/sys-cluster/legion/legion-16.10.0.ebuild b/sys-cluster/legion/legion-16.10.0.ebuild new file mode 100644 index 000000000000..ced14b8e65e5 --- /dev/null +++ b/sys-cluster/legion/legion-16.10.0.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils + +DESCRIPTION="A data-centric parallel programming system" +HOMEPAGE="http://legion.stanford.edu/" +SRC_URI="https://github.com/StanfordLegion/${PN}/archive/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="gasnet +hwloc" + +DEPEND=" + gasnet? ( >=sys-cluster/gasnet-1.26.4-r1 ) + hwloc? ( sys-apps/hwloc ) + " + +S="${WORKDIR}/${PN}-${P}" + +src_configure() { + mycmakeargs=( + -DLegion_USE_HWLOC=$(usex hwloc) + -DLegion_USE_GASNet=$(usex gasnet) + -DBUILD_SHARED_LIBS=ON + -DLegion_BUILD_EXAMPLES=ON + ) + cmake-utils_src_configure +} diff --git a/sys-cluster/legion/legion-17.02.0.ebuild b/sys-cluster/legion/legion-17.02.0.ebuild new file mode 100644 index 000000000000..03e2d594815d --- /dev/null +++ b/sys-cluster/legion/legion-17.02.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils + +DESCRIPTION="A data-centric parallel programming system" +HOMEPAGE="http://legion.stanford.edu/" +SRC_URI="https://github.com/StanfordLegion/${PN}/archive/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="gasnet +hwloc" + +DEPEND=" + gasnet? ( >=sys-cluster/gasnet-1.26.4-r1 ) + hwloc? ( sys-apps/hwloc ) + " + +S="${WORKDIR}/${PN}-${P}" + +src_configure() { + mycmakeargs=( + -DLegion_USE_HWLOC=$(usex hwloc) + -DLegion_USE_GASNet=$(usex gasnet) + -DBUILD_SHARED_LIBS=ON + -DLegion_BUILD_EXAMPLES=ON + -DLegion_BUILD_TESTS=ON + -DLegion_BUILD_TUTORIAL=ON + ) + cmake-utils_src_configure +} diff --git a/sys-cluster/legion/legion-17.05.0.ebuild b/sys-cluster/legion/legion-17.05.0.ebuild new file mode 100644 index 000000000000..443814e2abdd --- /dev/null +++ b/sys-cluster/legion/legion-17.05.0.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils + +DESCRIPTION="A data-centric parallel programming system" +HOMEPAGE="http://legion.stanford.edu/" +if [[ $PV = 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://StanfordLegion/${PN}.git https://github.com/StanfordLegion/${PN}.git" + KEYWORDS="" +else + SRC_URI="https://github.com/StanfordLegion/${PN}/archive/${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/${PN}-${P}" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="gasnet +hwloc" + +DEPEND=" + gasnet? ( >=sys-cluster/gasnet-1.26.4-r1 ) + hwloc? ( sys-apps/hwloc ) + " + +src_configure() { + mycmakeargs=( + -DLegion_USE_HWLOC=$(usex hwloc) + -DLegion_USE_GASNet=$(usex gasnet) + -DBUILD_SHARED_LIBS=ON + -DLegion_BUILD_EXAMPLES=ON + -DLegion_BUILD_TESTS=ON + -DLegion_BUILD_TUTORIAL=ON + ) + cmake-utils_src_configure +} diff --git a/sys-cluster/legion/legion-17.08.0.ebuild b/sys-cluster/legion/legion-17.08.0.ebuild new file mode 100644 index 000000000000..4d6ccbc9cb31 --- /dev/null +++ b/sys-cluster/legion/legion-17.08.0.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils + +DESCRIPTION="A data-centric parallel programming system" +HOMEPAGE="http://legion.stanford.edu/" +if [[ $PV = 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://StanfordLegion/${PN}.git https://github.com/StanfordLegion/${PN}.git" + KEYWORDS="" +else + SRC_URI="https://github.com/StanfordLegion/${PN}/archive/${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/${PN}-${P}" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="gasnet +hwloc test" + +DEPEND=" + gasnet? ( >=sys-cluster/gasnet-1.26.4-r1 ) + hwloc? ( sys-apps/hwloc ) + " + +src_configure() { + mycmakeargs=( + -DLegion_USE_HWLOC=$(usex hwloc) + -DLegion_USE_GASNet=$(usex gasnet) + -DLegion_ENABLE_TESTING=$(usex test) + -DBUILD_SHARED_LIBS=ON + -DLegion_BUILD_EXAMPLES=ON + -DLegion_BUILD_TESTS=ON + -DLegion_BUILD_TUTORIAL=ON + ) + cmake-utils_src_configure +} diff --git a/sys-cluster/legion/legion-9999.ebuild b/sys-cluster/legion/legion-9999.ebuild new file mode 100644 index 000000000000..443814e2abdd --- /dev/null +++ b/sys-cluster/legion/legion-9999.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils + +DESCRIPTION="A data-centric parallel programming system" +HOMEPAGE="http://legion.stanford.edu/" +if [[ $PV = 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="git://StanfordLegion/${PN}.git https://github.com/StanfordLegion/${PN}.git" + KEYWORDS="" +else + SRC_URI="https://github.com/StanfordLegion/${PN}/archive/${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/${PN}-${P}" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="gasnet +hwloc" + +DEPEND=" + gasnet? ( >=sys-cluster/gasnet-1.26.4-r1 ) + hwloc? ( sys-apps/hwloc ) + " + +src_configure() { + mycmakeargs=( + -DLegion_USE_HWLOC=$(usex hwloc) + -DLegion_USE_GASNet=$(usex gasnet) + -DBUILD_SHARED_LIBS=ON + -DLegion_BUILD_EXAMPLES=ON + -DLegion_BUILD_TESTS=ON + -DLegion_BUILD_TUTORIAL=ON + ) + cmake-utils_src_configure +} diff --git a/sys-cluster/legion/metadata.xml b/sys-cluster/legion/metadata.xml new file mode 100644 index 000000000000..15e1c0385f6f --- /dev/null +++ b/sys-cluster/legion/metadata.xml @@ -0,0 +1,19 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>junghans@gentoo.org</email> + <name>Christoph Junghans</name> + </maintainer> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <use> + <flag name="hwloc">Enable HWLoc lib support</flag> + <flag name="gasnet">Enable GASNet lib support</flag> + </use> + <upstream> + <remote-id type="github">StanfordLegion/legion</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/libccs-perl/Manifest b/sys-cluster/libccs-perl/Manifest new file mode 100644 index 000000000000..52247e8c28f1 --- /dev/null +++ b/sys-cluster/libccs-perl/Manifest @@ -0,0 +1,5 @@ +DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf +EBUILD libccs-perl-3.1.5.ebuild 993 SHA256 09b65e0c3e8bd01ae6b7d6240ad22df6c06767b228e63166c3a8a5d23ce7e286 SHA512 0bf725bdc87e0a5ae89e846443ff6b8e6df01f2a4c75f4957fae6a20d964975e13b9f897cd82f088ffa26ca761bd4481c21ff2c04b649187612b81d86bdc31e0 WHIRLPOOL b8c7201e188ea793c95e78316068437adbc54ed9d9c4c7e5acbad222e31f2830d83ac6b4980b0f94598698d35e271a7a490fe5cdbcdbc80632cb69a5c83005c3 +MISC ChangeLog 2442 SHA256 e0dba2ba379b3957087b0947be4766b9429f319601c3ded562d634b3e80c90dc SHA512 36fb7e81c27e40d8ed75e2057983f5f44dc024da4355e943f2757a003ae6a59d412973b859d32bf2801a2cf894028ba5d92c0d83f03b4506344b3b0a8a4741f8 WHIRLPOOL 65c6bd4728535b5a4106d823cb5e7332899e1f779204e697274098a5f28d532ae789c8e6db4e2361bd7cf7304c4626bcf42e82955d51b76d75cd9606cbf04b36 +MISC ChangeLog-2015 363 SHA256 00d1bc5c5606fbb014ea9a1bc0a2de1b339949ffb0d802c07352f3a8f773b6d2 SHA512 997835c83721597b9254607996a417f807a1dc05013cc0e113034cb78db501239980da4c4f980c195ed1bb0eb910526ab96c827724fbd8a88bc26da6261a92b0 WHIRLPOOL 3e53c2b906172e699d085ec067bcc785d5e378aac27af9ea5090c2290f469fbb3131a563910cc6444096bd79e6add82a9d549d41e64e83135f14dca9402eb67e +MISC metadata.xml 344 SHA256 6716304c910404fcec23f706dac9a1f8dbce5c9ca3bf2f994f25977d46379e42 SHA512 4cf5ea22bcee5e35cb8857ab36527a52a407b9c0321251037932fc5ae73b96824aa4f4b7259871dac5021cd311f8a5d26c95b880e27f5cd4186e0b5e3689a379 WHIRLPOOL 8588b82ea62f9f9997e0a1f0833c57ac03afe4695c3a47d4d5361282be079492a7fe59b8a5219edc3e7cae0b20d74e0456ead4a461f4923087e8af3bc46f4d02 diff --git a/sys-cluster/libccs-perl/libccs-perl-3.1.5.ebuild b/sys-cluster/libccs-perl/libccs-perl-3.1.5.ebuild new file mode 100644 index 000000000000..da075781e5b0 --- /dev/null +++ b/sys-cluster/libccs-perl/libccs-perl-3.1.5.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit linux-info versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Cluster Configuration System Library Perl-Bindings" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="sys-cluster/libccs" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-2.6.24" + +S="${WORKDIR}/${MY_P}/bindings/perl" + +src_configure() { + cd "${WORKDIR}/${MY_P}" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --ccslibdir=/usr/$(get_libdir) \ + --ccsincdir=/usr/include \ + || die "configure problem" +} diff --git a/sys-cluster/libccs-perl/metadata.xml b/sys-cluster/libccs-perl/metadata.xml new file mode 100644 index 000000000000..05ae0dded68b --- /dev/null +++ b/sys-cluster/libccs-perl/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription>Cluster Configuration System Library Perl-Bindings</longdescription> +</pkgmetadata> diff --git a/sys-cluster/libccs/Manifest b/sys-cluster/libccs/Manifest new file mode 100644 index 000000000000..e7a49016bc68 --- /dev/null +++ b/sys-cluster/libccs/Manifest @@ -0,0 +1,7 @@ +DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf +DIST cluster-3.2.0.tar.gz 688411 SHA256 96651381645cde0e32b06f83e180b1664232a5c589c72f06206e0539e0036cfb SHA512 00620b89564c4f9b67b679695749cd7515f49af43ace6a565e32e020ee66db219f3db3f53420d6460ea8c1cab03258305735fe5db81aab3953777015119533e9 WHIRLPOOL cc468ac8e879dadc157d585b22615d6ffcf0b38a5c93196f8aa9564467e8b8aae6c2688faa9d9e8a98e68a605b86d84b6a79edb474d0cde231e5a78729ebb4e4 +EBUILD libccs-3.1.5.ebuild 1143 SHA256 563b1db344e7b049b266561cf03ff10143877fc615e83c0802e49d6ce39cdbe3 SHA512 2e1e70d6bf0d7c2b2d9a2d26304952a4ada7b81cd1ca45630f31cdce0f6b3bd02029833f25af0acab41c40ab51e1ed8e55072a70d02018f4901056d565cb2a59 WHIRLPOOL e920861daefd328fb0cbd29edd7309f1baf909b0d2c432e3e7784397ce53f1be4447fda82113cb8dc5679516a0e68f8aa6e37c572411ab086a62786cb01eae11 +EBUILD libccs-3.2.0.ebuild 1150 SHA256 30b48cb02dc8aee882a88ef24add54dffdaef40db446d375c48a88542332e506 SHA512 8a549d811818855a77bbed18b7629ea8a51a832cf5b88c45a4a78f4a97f21cc1e07fe0299051685c0d44832031c419b0b620bca50ca7e3376cdc4820c7271235 WHIRLPOOL c30caffeb25c2b3c2abb9efdc46ea4c42614b01c2fd67766f37a7fbcc78a74e4ca43a6ea71188a9d565db84062ca5fa4bd50ec99b8ddf46250555e9a2eb8371c +MISC ChangeLog 2477 SHA256 e753ca152136d721d1b9018fe40b1f7db22d52f7cfd827dc6d1fee3109865f77 SHA512 cb9de1cffa0955bfc1e5c600b5901e4931539dc812952ec86363eb62f67935df5e6b599ef8cb46d2e9edb68ae56a59993202084ca5dad6ffc373e6e5e07345b2 WHIRLPOOL 2fc569092838990388277b87b7a4fe07c060a81af610956aced3dd43f70f27d165d4e88e2faf4ee342894921c2b0d22b6c87a11c685d6f23f0784a52e77130f8 +MISC ChangeLog-2015 694 SHA256 d3862563be435f152af81d06baaf90961ca6d573cb5bf2818e5164983c2ac20a SHA512 701fca829508b1bf65cc1270ed83b040ad800d498c80f17d399ff0c4a3185b17ab8cbe8b9a148d9416d8ec972858a814050d5bd64cc38d1f7c9179269374e780 WHIRLPOOL 29c65eac7c15a7c4f14874411f9e7dbcde7933a4949190526f0c1c124c0b017eb184ef4e6c335a67da8d97ee773d68e6bc8bd238ec04bf6ad74947b1e405419c +MISC metadata.xml 330 SHA256 b8f1be07daf51b91d0d49b6fbbf19e0105358875d92a0cf5599d393d1ad90b67 SHA512 e41d0df2a7bd4e11f561ffb239ea5fc9b74b0607bb05a7e5e8f4f9a6ab0b7482067ab2d255862b7a891d773b1bb8753b7bdbb5e63dfa734264ad2285b768ccc2 WHIRLPOOL f64e08478504bdcc9958831acf9fb8f8750a7e47b57c7041a13c63ba3353010eef46329d4b1a7f957013d4d2a2a31eec7a8ed524ec79a1bddb64200049a5da1b diff --git a/sys-cluster/libccs/libccs-3.1.5.ebuild b/sys-cluster/libccs/libccs-3.1.5.ebuild new file mode 100644 index 000000000000..d5dc0d2fea45 --- /dev/null +++ b/sys-cluster/libccs/libccs-3.1.5.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit linux-info multilib toolchain-funcs versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Cluster Configuration System Library" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="static-libs" + +RDEPEND=" + =sys-cluster/corosync-1.4.7 + dev-libs/libxml2 + !sys-cluster/ccs" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-2.6.24" + +S="${WORKDIR}/${MY_P}/config/libs" + +src_configure() { + cd "${WORKDIR}/${MY_P}" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --ccslibdir=/usr/$(get_libdir) \ + --ccsincdir=/usr/include \ + || die "configure problem" +} + +src_install() { + default + use static-libs || rm -f "${D}"/usr/lib*/*.a +} diff --git a/sys-cluster/libccs/libccs-3.2.0.ebuild b/sys-cluster/libccs/libccs-3.2.0.ebuild new file mode 100644 index 000000000000..fa9307da647e --- /dev/null +++ b/sys-cluster/libccs/libccs-3.2.0.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit linux-info multilib toolchain-funcs versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Cluster Configuration System Library" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~hppa ~x86" +IUSE="static-libs" + +RDEPEND=" + =sys-cluster/corosync-1.4.7 + dev-libs/libxml2 + !sys-cluster/ccs" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-2.6.24" + +S="${WORKDIR}/${MY_P}/config/libs" + +src_configure() { + cd "${WORKDIR}/${MY_P}" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --ccslibdir=/usr/$(get_libdir) \ + --ccsincdir=/usr/include \ + || die "configure problem" +} + +src_install() { + default + use static-libs || rm -f "${D}"/usr/lib*/*.a +} diff --git a/sys-cluster/libccs/metadata.xml b/sys-cluster/libccs/metadata.xml new file mode 100644 index 000000000000..7c52bc7fad7b --- /dev/null +++ b/sys-cluster/libccs/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription>Cluster Configuration System Library</longdescription> +</pkgmetadata> diff --git a/sys-cluster/libcircle/Manifest b/sys-cluster/libcircle/Manifest new file mode 100644 index 000000000000..a0422914b252 --- /dev/null +++ b/sys-cluster/libcircle/Manifest @@ -0,0 +1,7 @@ +DIST libcircle-0.2.0_rc1.tar.gz 351901 SHA256 59ed75c0bdf2b24f96fbc0230848a5aab57d4eab5a68895489d59a7f68ddd2ee SHA512 1ce07ae012c281fe3e6fbae29bf48e1079768ed5f92f9375c3be02880bed1b1feee6630b31560d7129f76640990e94da1753f55b11a0a8977adaaf9e51144044 WHIRLPOOL 984713d28ee80f686daea7d419a1135360bcda542f904a1aa4ea0ef03b87482e60c2c0858a9e6fd85d7bde1ef557bd61c717ba924f942dfd82d7cbeb9a2e0359 +DIST libcircle-0.2.1_rc1.tar.gz 354251 SHA256 a0d0d75db2be9e47045572ad40f7e1077b7c3540f79180ad1db265ca89438db3 SHA512 9a125bc9f95b1dfb1c777dece4310a709cec46f820651216cd3a34486260f80221e564b82dfaf1ba58b8091b18c6d6b87b0c64d24a940cae6593dc144426fb54 WHIRLPOOL ec77f629c8d5b2391a8f25aa888e0606a0d0240ccf86e6bbe5ba8a04c5e411a6d3f077777da6cdd7badaa87c40b44b6a67b7b901ceb94fb3bec3b118b8465a0a +EBUILD libcircle-0.2.0_rc1.ebuild 939 SHA256 7059ba7a45aa3fadd7c601753571a5577e66861fe31a14d41deda765d59045e0 SHA512 794df2fdd09ed17cc9d9c67a279563f49f123db14b4d1a7b33ab47f1155d60daaa7eb8f673c7631debcaab05591af1307a492e7e46325173cfa351789cf0d8a2 WHIRLPOOL fa5ff9248c9d19146e8e9fe27f93994a0fdda40b36e0fdf82765712e8b5e87d1416af60db8b99b4e94334889d5582f1fbd37e4d58ef7bf34babe6d7dcac6b076 +EBUILD libcircle-0.2.1_rc1.ebuild 939 SHA256 7059ba7a45aa3fadd7c601753571a5577e66861fe31a14d41deda765d59045e0 SHA512 794df2fdd09ed17cc9d9c67a279563f49f123db14b4d1a7b33ab47f1155d60daaa7eb8f673c7631debcaab05591af1307a492e7e46325173cfa351789cf0d8a2 WHIRLPOOL fa5ff9248c9d19146e8e9fe27f93994a0fdda40b36e0fdf82765712e8b5e87d1416af60db8b99b4e94334889d5582f1fbd37e4d58ef7bf34babe6d7dcac6b076 +MISC ChangeLog 2890 SHA256 5894bf6ba2dbe1f711b1b9c5fb150613938ef827129fb17ecacdcb83b8c14a03 SHA512 4f1411741f326d330384d8653c364e4d054e8eb95dfdd6b01ceeed74fe29496cb0a20212709b7bcc8d2bd9354c0627c465fe25cd82294a33143523802b1c46ff WHIRLPOOL aac3f9eebed965a49cd09cf9687397888de093415664b8f58239d17297286d2757ceea73d7fa1c3a099406c56bce956ca99ae6634a8c424d2b5f3056ddc9ca7f +MISC ChangeLog-2015 990 SHA256 1830ed52c65b9045127ae5d8e21b7dcb75190eed76fd0a45ee4e7b9520c1f6fa SHA512 bbb1741fb1abe7caa94c6a7b76b210b50c1826553cb18f7286f5c411e141577e4937695203a93b08f96eaca62c34931b5b08f8ef64929b99bb64a22f88d563f2 WHIRLPOOL 1c189f3e396c8a3338da32cad54a342fed1d5d420ce1ac41b15af04f191592828b78cef7b04f85d1226c5a41a1ba2c7a33717054bf7e4cb7e4c365969a1b1535 +MISC metadata.xml 449 SHA256 d1c2fd031ab6a6d544cd3f2d0c9a3660c5e10bef087e7f7c7c8d394730fb4a13 SHA512 99123cb30ea2d364d8df6997ee9f6498665bc2747f98dcae29a22b477cb6ccaa51aeb27f0e2f405fcc4bce9c810c2230bfc540d04abb520793430a11686dbaff WHIRLPOOL 2746332460dc5cfcd209fabea012dfbd31d87ed5417b32e82be54569085296d3d1b24afb19a2b74f9d100cb729788278cb71e1afb0cc64ce098a42334cdfc120 diff --git a/sys-cluster/libcircle/libcircle-0.2.0_rc1.ebuild b/sys-cluster/libcircle/libcircle-0.2.0_rc1.ebuild new file mode 100644 index 000000000000..8093e3eee7b1 --- /dev/null +++ b/sys-cluster/libcircle/libcircle-0.2.0_rc1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools-utils + +if [ "${PV}" = "9999" ]; then + EGIT_REPO_URI="https://github.com/hpc/${PN}.git" + inherit git-2 + KEYWORDS="" +else + inherit vcs-snapshot + SRC_URI="https://github.com/hpc/${PN}/archive/${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86 ~amd64-linux" +fi + +DESCRIPTION="an API for distributing embarrassingly parallel workloads using self-stabilization" +HOMEPAGE="https://github.com/hpc/libcircle" + +SLOT="0" +LICENSE="BSD" +IUSE="doc test" + +RDEPEND="virtual/mpi" +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen ) + test? ( dev-libs/check )" + +DOCS=( HACKING.md README.md ) + +src_configure() { + local myeconfargs=( + $(use_enable test tests) + $(use_enable doc doxygen) + ) + autotools-utils_src_configure +} + +src_install() { + use doc && HTML_DOCS=( "${BUILD_DIR}/doc/html/" ) + autotools-utils_src_install +} diff --git a/sys-cluster/libcircle/libcircle-0.2.1_rc1.ebuild b/sys-cluster/libcircle/libcircle-0.2.1_rc1.ebuild new file mode 100644 index 000000000000..8093e3eee7b1 --- /dev/null +++ b/sys-cluster/libcircle/libcircle-0.2.1_rc1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools-utils + +if [ "${PV}" = "9999" ]; then + EGIT_REPO_URI="https://github.com/hpc/${PN}.git" + inherit git-2 + KEYWORDS="" +else + inherit vcs-snapshot + SRC_URI="https://github.com/hpc/${PN}/archive/${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86 ~amd64-linux" +fi + +DESCRIPTION="an API for distributing embarrassingly parallel workloads using self-stabilization" +HOMEPAGE="https://github.com/hpc/libcircle" + +SLOT="0" +LICENSE="BSD" +IUSE="doc test" + +RDEPEND="virtual/mpi" +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen ) + test? ( dev-libs/check )" + +DOCS=( HACKING.md README.md ) + +src_configure() { + local myeconfargs=( + $(use_enable test tests) + $(use_enable doc doxygen) + ) + autotools-utils_src_configure +} + +src_install() { + use doc && HTML_DOCS=( "${BUILD_DIR}/doc/html/" ) + autotools-utils_src_install +} diff --git a/sys-cluster/libcircle/metadata.xml b/sys-cluster/libcircle/metadata.xml new file mode 100644 index 000000000000..3f3b2bb2c1ae --- /dev/null +++ b/sys-cluster/libcircle/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>junghans@gentoo.org</email> + <name>Christoph Junghans</name> + </maintainer> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <upstream> + <remote-id type="github">hpc/libcircle</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/libcman/Manifest b/sys-cluster/libcman/Manifest new file mode 100644 index 000000000000..17d85c53ce72 --- /dev/null +++ b/sys-cluster/libcman/Manifest @@ -0,0 +1,7 @@ +DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf +DIST cluster-3.2.0.tar.gz 688411 SHA256 96651381645cde0e32b06f83e180b1664232a5c589c72f06206e0539e0036cfb SHA512 00620b89564c4f9b67b679695749cd7515f49af43ace6a565e32e020ee66db219f3db3f53420d6460ea8c1cab03258305735fe5db81aab3953777015119533e9 WHIRLPOOL cc468ac8e879dadc157d585b22615d6ffcf0b38a5c93196f8aa9564467e8b8aae6c2688faa9d9e8a98e68a605b86d84b6a79edb474d0cde231e5a78729ebb4e4 +EBUILD libcman-3.1.5.ebuild 1069 SHA256 3ffece9b936b3e41bcf81f2c78e567178b3fbd5eb7c2cad1c980391b172aa25c SHA512 4f030908790a3e7d12b5d72cc76a41656203a34a583baf4d985b0e5eb624c6f18d49b5a09799e52d0eaa4060326bac04677ea7c1b9406534f9ca471f54ac2815 WHIRLPOOL de92bf4feb1581284a36144dff7c02a27869cd0f9e6cf02cd4139a402986062fc23718fab55e4a8c4c6125b47ec4e2a55c38fec631da04db90a0e49026a131b4 +EBUILD libcman-3.2.0.ebuild 1076 SHA256 db36742fbc69dec7852cd154da613723aa3806b3b16808ebd9594c0e04de8261 SHA512 5625f1adfd52cccad9f8649a5e380532a65563e6e14e40db41e6f4d82dd7b0f703c7a8e13941b3eea58e2bebc3a8a7ca3b3baaa8a309426930812fa693a9bb55 WHIRLPOOL 1af879e563264b828eb2f28028c126404e3f43b6c041d0c5deec5843a8a334849688817eaf0fa72430ca8e3f456e9c2e218ed539076a7e96a29d92051758e6a2 +MISC ChangeLog 2482 SHA256 426058b7089f6b8695a14fac085abaec56b1dd17e8240e7acfa9e1d1e8ec245f SHA512 cd0885357d900c73c91dc8ba6878680c195cbe0a859219d7d9a03f0b018a1f501e6b51164b5c71356305bf9df94fd1c0bec26ae4723d7809b0cefd6331c6fb81 WHIRLPOOL aafe19d0be314ebeaea5048ed68a4d24cc868f170eb99c23f907e3ca9c16155034f66caec53a580d20a7762614ad16a2972b3c31d33eaa663b2e10f9b113938e +MISC ChangeLog-2015 574 SHA256 24d84e79ad0494305bb9283c0665bc39fbae1752f5cb62a5e4823b930218c78f SHA512 2f3704cb30866d5f2a5fc20cd496c7f9f9a62e6186e9053c119edd75ebfe4639e93945f6919ec9ebc2594df10f57bc57fc4b9f6c161203a55d1786213e3ff4d0 WHIRLPOOL 80f54728893d1f365daeb00844e12c7b93c463c19f4d7b59bf1d3f811ec229924db92339dc34e4982ac44f9508280d3f324a2263fcc7606da5dd2d37014f88f9 +MISC metadata.xml 317 SHA256 2f3e24837fe91091a90ccb1982019ebc22c0db39b013f2b485b2625ec8d3a0de SHA512 797aa2cfe7f61965454cce0043d86979f978fb6f6eee1e0bfc85dc03e776815e5b5b544a58e8ac842df50d14d4e32f14c159e71a4451d50d49377e1bd47d86e9 WHIRLPOOL ecdce32b04d1c72a442b6dd87d0c875c7c1d758ddc37599b14b97a057b7da583b467315c9c54d0460bac7e3b48f382ac372dab9d9f8da749b214c37a9c4164b0 diff --git a/sys-cluster/libcman/libcman-3.1.5.ebuild b/sys-cluster/libcman/libcman-3.1.5.ebuild new file mode 100644 index 000000000000..d5cc61b46a93 --- /dev/null +++ b/sys-cluster/libcman/libcman-3.1.5.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit linux-info multilib toolchain-funcs versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Cluster Manager Library" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="static-libs" + +DEPEND=">=sys-kernel/linux-headers-2.6.24" +RDEPEND="!sys-cluster/cman-lib" + +S="${WORKDIR}/${MY_P}/cman/lib" + +src_configure() { + cd "${WORKDIR}/${MY_P}" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --cmanlibdir=/usr/$(get_libdir) \ + --cmanincdir=/usr/include \ + || die "configure failed" +} + +src_install() { + default + use static-libs || rm -f "${D}"/usr/lib*/*.a +} diff --git a/sys-cluster/libcman/libcman-3.2.0.ebuild b/sys-cluster/libcman/libcman-3.2.0.ebuild new file mode 100644 index 000000000000..226432d5ce8a --- /dev/null +++ b/sys-cluster/libcman/libcman-3.2.0.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit linux-info multilib toolchain-funcs versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Cluster Manager Library" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~hppa ~x86" +IUSE="static-libs" + +DEPEND=">=sys-kernel/linux-headers-2.6.24" +RDEPEND="!sys-cluster/cman-lib" + +S="${WORKDIR}/${MY_P}/cman/lib" + +src_configure() { + cd "${WORKDIR}/${MY_P}" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --cmanlibdir=/usr/$(get_libdir) \ + --cmanincdir=/usr/include \ + || die "configure failed" +} + +src_install() { + default + use static-libs || rm -f "${D}"/usr/lib*/*.a +} diff --git a/sys-cluster/libcman/metadata.xml b/sys-cluster/libcman/metadata.xml new file mode 100644 index 000000000000..d1b9efcd225a --- /dev/null +++ b/sys-cluster/libcman/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription>Cluster Manager Library</longdescription> +</pkgmetadata> diff --git a/sys-cluster/libdlm/Manifest b/sys-cluster/libdlm/Manifest new file mode 100644 index 000000000000..2529fc467c82 --- /dev/null +++ b/sys-cluster/libdlm/Manifest @@ -0,0 +1,7 @@ +DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf +DIST cluster-3.2.0.tar.gz 688411 SHA256 96651381645cde0e32b06f83e180b1664232a5c589c72f06206e0539e0036cfb SHA512 00620b89564c4f9b67b679695749cd7515f49af43ace6a565e32e020ee66db219f3db3f53420d6460ea8c1cab03258305735fe5db81aab3953777015119533e9 WHIRLPOOL cc468ac8e879dadc157d585b22615d6ffcf0b38a5c93196f8aa9564467e8b8aae6c2688faa9d9e8a98e68a605b86d84b6a79edb474d0cde231e5a78729ebb4e4 +EBUILD libdlm-3.1.5.ebuild 1435 SHA256 36a5626895d180e1e5f986e931a46cd3097d959a175a5240d54432157e6acaef SHA512 ee6463c25df6bcd045bbe8cc2b3ea14fa2873fe8b209af6dccb5252c4ae82f0b3288f96699568ee5f7e7f33af5b1ac1ed8ad3dd93ca579a7d9707fc7f2953ad0 WHIRLPOOL ec1445a4c016c2b7fcdaa81029837100e41e7256af49bba0088a0e375ab8e4e227136a345a6f9e86bcab93805e0e266607ae22bd688f4eb19eadcf49f066d580 +EBUILD libdlm-3.2.0.ebuild 1599 SHA256 d1ec50cb17a03bdb081adbd9ca80c6f64f90e5d5c961e043d68808dcc7d1d2ee SHA512 d5df4a9da2f018a4d6098d8977da2ff376226c55a2b5adf96549154944dcefa073c513f39065163aa788c90110064641dc19f1f7623f342e66670ea1314b24ad WHIRLPOOL 5808704bdd45cc84163d817bf90850ef0c30a07021776b4ca3c7ad314a37188c3a525fe3d41d6fc0d7695fc02d87a3f0added01fe757701d9183911f834502b6 +MISC ChangeLog 2798 SHA256 c7469c5801fa55227d7567a8d3df8e1d48cc3e216b88b6a3fe37d53adaf8edcd SHA512 7ae9f37593c16bc982139979f611ea4c6221c0dcd8b121f6b4fe7359503c31ef9ae6bd10170260f867d18e6dc41cbd92ab8cfb7d2d0adf1f82d14026d8c1b344 WHIRLPOOL 5f1be13692fe4cb45b9eef1caf0e5d6f480b6777471f305ecda87f175047bc0095588afde1c200ed46d3e3c4092131c4006c80c13062e38a2334b75dbd396313 +MISC ChangeLog-2015 888 SHA256 04ff6a09be39220ed924b2f815bfd840605420b5be9503710f68b45c37b8f7d3 SHA512 5863747d17bbb6b76fab8730440d4e213d77285f354bcd9c4c1da5bf7752cb99e9ad799294cec75787eb34a5a1a5801f71cddcd9bdf6cbaedbc00c85c6c9ddbb WHIRLPOOL 7d5995bcb5f0f9c9e9526fc70c9dc8d3848f946f5957c1501d04abc254562f1f2303c31444950dfaf9401321d4393a37d35eeb3cbfcf97e9a217c0ff2f21ec5c +MISC metadata.xml 342 SHA256 5988fe5227b410d1211b3743daa55cf499896d723d392d911f5bf4cc54553cd3 SHA512 2acce7a5bf8ca7cdc148b258f9a64c4ad1a3eb7e4385cf4394f0d55891d649c6d7ab1efe5e1235a39afe9a8782b9c7ab36dec4a87f78f1a81cb2df6662ffd6c9 WHIRLPOOL 3c1502af25c54146aef277fab9dd1e9b51ad5acfd906587f3d887c89693c4c75bb24504e71831052283428a1acbc70f47e2b5c448ef7dd0baf91bc12a57fe612 diff --git a/sys-cluster/libdlm/libdlm-3.1.5.ebuild b/sys-cluster/libdlm/libdlm-3.1.5.ebuild new file mode 100644 index 000000000000..8c6593cb92b6 --- /dev/null +++ b/sys-cluster/libdlm/libdlm-3.1.5.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit multilib toolchain-funcs versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="General-purpose Distributed Lock Manager Library" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="static-libs" + +RDEPEND=" + !sys-cluster/dlm-headers + !sys-cluster/dlm-kernel + !sys-cluster/dlm-lib" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-2.6.24" + +S=${WORKDIR}/${MY_P}/dlm + +src_configure() { + cd "${WORKDIR}/${MY_P}" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=/usr/ \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --dlmlibdir=/usr/$(get_libdir) \ + --dlmincdir=/usr/include \ + --dlmcontrollibdir=/usr/$(get_libdir) \ + --dlmcontrolincdir=/usr/include \ + || die "configure problem" +} + +src_compile() { + for i in libdlm libdlmcontrol; do + emake -C ${i} + done +} + +src_install() { + for i in libdlm libdlmcontrol; do + emake DESTDIR="${D}" -C ${i} install + done + use static-libs || rm -f "${D}"/usr/lib*/*.a + doman man/libdlm.3 + dodoc doc/{libdlm.txt,example.c,user-dlm-overview.txt} +} diff --git a/sys-cluster/libdlm/libdlm-3.2.0.ebuild b/sys-cluster/libdlm/libdlm-3.2.0.ebuild new file mode 100644 index 000000000000..84928252827f --- /dev/null +++ b/sys-cluster/libdlm/libdlm-3.2.0.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit multilib toolchain-funcs versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="General-purpose Distributed Lock Manager Library" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~hppa x86" +IUSE="static-libs" + +RDEPEND=" + !sys-cluster/dlm-headers + !sys-cluster/dlm-kernel + !sys-cluster/dlm-lib" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-2.6.24" + +S="${WORKDIR}/${MY_P}/dlm" + +src_prepare() { + sed -i \ + -e "s|/lib|/$(get_libdir)|g" \ + "${WORKDIR}/${MY_P}/make/install.mk" || die "sed failed" +} + +src_configure() { + cd "${WORKDIR}/${MY_P}" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=/usr/ \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --dlmlibdir=/usr/$(get_libdir) \ + --dlmincdir=/usr/include \ + --dlmcontrollibdir=/usr/$(get_libdir) \ + --dlmcontrolincdir=/usr/include \ + || die "configure problem" +} + +src_compile() { + for i in libdlm libdlmcontrol; do + emake -C ${i} + done +} + +src_install() { + for i in libdlm libdlmcontrol; do + emake DESTDIR="${D}" -C ${i} install + done + mv "${D}"/$(get_libdir) "${D}"/lib + use static-libs || rm -f "${D}"/usr/lib*/*.a + doman man/libdlm.3 + dodoc doc/{libdlm.txt,example.c,user-dlm-overview.txt} +} diff --git a/sys-cluster/libdlm/metadata.xml b/sys-cluster/libdlm/metadata.xml new file mode 100644 index 000000000000..d3f8da79cd5a --- /dev/null +++ b/sys-cluster/libdlm/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription>General-purpose Distributed Lock Manager Library</longdescription> +</pkgmetadata> diff --git a/sys-cluster/libfence/Manifest b/sys-cluster/libfence/Manifest new file mode 100644 index 000000000000..5a3b333a879e --- /dev/null +++ b/sys-cluster/libfence/Manifest @@ -0,0 +1,7 @@ +DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf +DIST cluster-3.2.0.tar.gz 688411 SHA256 96651381645cde0e32b06f83e180b1664232a5c589c72f06206e0539e0036cfb SHA512 00620b89564c4f9b67b679695749cd7515f49af43ace6a565e32e020ee66db219f3db3f53420d6460ea8c1cab03258305735fe5db81aab3953777015119533e9 WHIRLPOOL cc468ac8e879dadc157d585b22615d6ffcf0b38a5c93196f8aa9564467e8b8aae6c2688faa9d9e8a98e68a605b86d84b6a79edb474d0cde231e5a78729ebb4e4 +EBUILD libfence-3.1.5.ebuild 1365 SHA256 bc75be6a8d0ff75fe25af5b0432856176b9e53489fb49aeaa4e51d062e0eab04 SHA512 5883b357716337ebaaf0d4aa36ae61362e17e3e8010d6159ed4595702695e54f587a6d40161866ea9a98f40463e7c971c8684ac4cb3ebdb15ee1a382be31a148 WHIRLPOOL 5da10d2c0fb2eea47cd38fa751f6f996f1d36d20f9fa810dbad0f440619c73bf7649ae2ce6c8d7d3174b3fd0080443bdbf041b853ba5556dace3823d6704c695 +EBUILD libfence-3.2.0.ebuild 1372 SHA256 f626906c6724850f90ba0d22e8c08f646d222e8b70b8177915c624089265c055 SHA512 da502b73bf72ab22eb8227cac52d6f3d5b06bcff3a80b930310ecc897572d6614f3ddd3347d056556cafdb03e733197c5eaeaeb8bece5904dba8749f83f7bc66 WHIRLPOOL fd85d5a181cfefc8c4346da896fd09ad501dada4300c9c545d163661ab82eb1b3037a4a453e8c787a53ab7c0fccac54ec9408d6afd0a58c2f2b55a0d1c7cc6e9 +MISC ChangeLog 2487 SHA256 08791d49b567feb5eb1ddd4150ed9d1e28c6a0bad6274e1e8a444721f31cd3cd SHA512 052d27b4da9b2a912ba44a7a83998423c2d1895ffc1ebadaf4eeb47ed5be4b26b0a1e39ea7eeac4e3130a815997c59752605ec39bee0f771fe48586782aab6cd WHIRLPOOL 7fab03f89e0e04655b5e4dff5572115af58379474bbc6958d3991509b2205bfdbbee324349101f6653e96d4343206e01fea0292db5f05605810e05708332c0ba +MISC ChangeLog-2015 569 SHA256 0becf0511ead3ff7e0d68b43519243e8e77c50509d6047b5a3312b5ed115af2a SHA512 cc4474713bdaad6f2b5665c8484b38309dc5cb4d188acbd79083c0b0e8d14dad7ce7282f77c05059daf48b4b136c0a69b7f925df5cb72b5e363eabe1778ef5e6 WHIRLPOOL bc50ce3d665c415b7d6cd8ecfa772bf20f2c2ac2471ef36e292a5020420d17c059d537d445aa98f90ce6cff68113e979bdedce3452a2f69b576bb2126afa1dc8 +MISC metadata.xml 317 SHA256 b392bd5956409ce0c4f534e9ab463e289e23624300b4c398dca7ee54be37dfe3 SHA512 1622dc57ee420ab60a653ab370f0a3142a93efc865c2f8c47c8d0931b8aeeb9bfaef841ce9e9834985630193511002655fb0da2a10fa16707b2d0f4ecd51db05 WHIRLPOOL a2911485b0ffa3428e139f8a924ad448ea648c99a9ebf3a4df24b88b663c3bb943c79c9b0692f85ba12f84456ae342f2c3cb362ec0c5646172a4fd140bcb6655 diff --git a/sys-cluster/libfence/libfence-3.1.5.ebuild b/sys-cluster/libfence/libfence-3.1.5.ebuild new file mode 100644 index 000000000000..024a3122df91 --- /dev/null +++ b/sys-cluster/libfence/libfence-3.1.5.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit linux-info multilib toolchain-funcs versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Cluster Fencing Library" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="static-libs" + +RDEPEND="~sys-cluster/libccs-${PV}" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-2.6.24" + +S="${WORKDIR}/${MY_P}/fence" + +src_configure() { + cd "${WORKDIR}/${MY_P}" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --fencelibdir=/usr/$(get_libdir) \ + --fenceincdir=/usr/include \ + --fencedlibdir=/usr/$(get_libdir) \ + --fencedincdir=/usr/include \ + --ccslibdir=/usr/$(get_libdir) \ + --ccsincdir=/usr/include \ + || die "configure problem" +} + +src_compile() { + for i in libfence libfenced; do + emake -C ${i} + done +} + +src_install() { + for i in libfence libfenced; do + emake DESTDIR="${D}" -C ${i} install + done + use static-libs || rm -f "${D}"/usr/lib*/*.a +} diff --git a/sys-cluster/libfence/libfence-3.2.0.ebuild b/sys-cluster/libfence/libfence-3.2.0.ebuild new file mode 100644 index 000000000000..165a3bc5561d --- /dev/null +++ b/sys-cluster/libfence/libfence-3.2.0.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit linux-info multilib toolchain-funcs versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Cluster Fencing Library" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~hppa ~x86" +IUSE="static-libs" + +RDEPEND="~sys-cluster/libccs-${PV}" +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-2.6.24" + +S="${WORKDIR}/${MY_P}/fence" + +src_configure() { + cd "${WORKDIR}/${MY_P}" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --fencelibdir=/usr/$(get_libdir) \ + --fenceincdir=/usr/include \ + --fencedlibdir=/usr/$(get_libdir) \ + --fencedincdir=/usr/include \ + --ccslibdir=/usr/$(get_libdir) \ + --ccsincdir=/usr/include \ + || die "configure problem" +} + +src_compile() { + for i in libfence libfenced; do + emake -C ${i} + done +} + +src_install() { + for i in libfence libfenced; do + emake DESTDIR="${D}" -C ${i} install + done + use static-libs || rm -f "${D}"/usr/lib*/*.a +} diff --git a/sys-cluster/libfence/metadata.xml b/sys-cluster/libfence/metadata.xml new file mode 100644 index 000000000000..0a34fce91e47 --- /dev/null +++ b/sys-cluster/libfence/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription>Cluster Fencing Library</longdescription> +</pkgmetadata> diff --git a/sys-cluster/liblogthread/Manifest b/sys-cluster/liblogthread/Manifest new file mode 100644 index 000000000000..fc679bfa0799 --- /dev/null +++ b/sys-cluster/liblogthread/Manifest @@ -0,0 +1,7 @@ +DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf +DIST cluster-3.2.0.tar.gz 688411 SHA256 96651381645cde0e32b06f83e180b1664232a5c589c72f06206e0539e0036cfb SHA512 00620b89564c4f9b67b679695749cd7515f49af43ace6a565e32e020ee66db219f3db3f53420d6460ea8c1cab03258305735fe5db81aab3953777015119533e9 WHIRLPOOL cc468ac8e879dadc157d585b22615d6ffcf0b38a5c93196f8aa9564467e8b8aae6c2688faa9d9e8a98e68a605b86d84b6a79edb474d0cde231e5a78729ebb4e4 +EBUILD liblogthread-3.1.5.ebuild 1067 SHA256 5fc70e4725c70a332961b8a0eaba0ca78b4f069b76446c6303296d01d563c6a6 SHA512 4a60cd5d2cd7e4662d0fab9261a86e1be54a9b9654fe0640e4edda338b86763c2711c4a04d027025df7256fb31ddf04be434ab245e314b8542ce5e65aa253f8d WHIRLPOOL 1a23ef9c4c48450c8b69979ea1bbf68a648dd42832b573548bf0b9edd40342222cce1ee2e9ac1f5a92c3af008eed68a1c35130014928f43c375f6fe48ca2dffe +EBUILD liblogthread-3.2.0.ebuild 1074 SHA256 b934fd3077fbccbf8b95c3f5a65cba3e3de15726a9d4c762a73e99e428ac03d4 SHA512 decf3a30f60aabcd387f87cc759a3a9019da9fbb9a54f4d461686759e27b0122db04f2576451e6439170005ec2d9813dfbc60a27c005abdb64cace970d14ffb3 WHIRLPOOL f3ed2449a094a0dca3dfa7702c0bbca41ed7474b7d3c58fbc787b3f9cc88da7e6043174c77d21d83110e0e6560f933058b068ddb07aee4507296107a1a9bcc85 +MISC ChangeLog 2507 SHA256 6544f1291957aa769bdde65098b69d096b3d531421fd45a3e7d3c80f9a512093 SHA512 bb29da28c2e2573820d0f97bdde8d664b716d8ab31d20453bc83874bfa53d8dbf6f8fae69a2f9b301e24f166b1e9a388cc87c52f87092b5a7609e30fe8f90e96 WHIRLPOOL b14048504410af83f4ad82346ba915854b8b15bf9db2d1125bd5762b0335cd4811bfb0e83769ea8a2401ef01213d665841b813a250bdc499893215298f17231c +MISC ChangeLog-2015 597 SHA256 b273858e79608247b217c25aa1ba60bea3e9c5caf02dde04780b706d468eb980 SHA512 efe6906c8554b59d86d7b2af2bd811ddeacdfaf7dc292114f5e735960ba1f312c5c3618360bba1651e870c64b8becd8fc86c957cd21809b5d64aa41fd0b03e61 WHIRLPOOL 52d60b6b037a15c4b3f4ab3006ee4892c12d7f0e3f097221639f662ae58b9c5dead8f1997f3e868320591f061f8544f171e3a108f863e7dbc2b7028ba3413417 +MISC metadata.xml 328 SHA256 e995bec476d9d126386f66c6a26de701bcb85d78a045b81c3a918b8cd937cdb1 SHA512 30edf69ff0d4929a2938cf4c42e173563af4e3f0edeec5ad900fd38858fb8a6d3a0bfa7013982166bb84878120b485bb99da523c5f0169a36dd53c4c9642394a WHIRLPOOL 04ee6c17986e0054e1062fbe590c1237fae46c8072cc8eff6dbcd66f16f2c67126e9deeef014d1a89afdfc3b387fd489bea5c273c88b0b0ac90d88f6f7695208 diff --git a/sys-cluster/liblogthread/liblogthread-3.1.5.ebuild b/sys-cluster/liblogthread/liblogthread-3.1.5.ebuild new file mode 100644 index 000000000000..6f0b960e7dcf --- /dev/null +++ b/sys-cluster/liblogthread/liblogthread-3.1.5.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit linux-info multilib toolchain-funcs versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Thread-Safe Syslog Logging Library" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="static-libs" + +RDEPEND="" +DEPEND=">=sys-kernel/linux-headers-2.6.24" + +S="${WORKDIR}/${MY_P}/common/${PN}" + +src_configure() { + cd "${WORKDIR}/${MY_P}" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --logtlibdir=/usr/$(get_libdir) \ + --logtincdir=/usr/include \ + || die "configure problem" +} + +src_install() { + default + use static-libs || rm -f "${D}"/usr/lib*/*.a +} diff --git a/sys-cluster/liblogthread/liblogthread-3.2.0.ebuild b/sys-cluster/liblogthread/liblogthread-3.2.0.ebuild new file mode 100644 index 000000000000..7f6669c154f4 --- /dev/null +++ b/sys-cluster/liblogthread/liblogthread-3.2.0.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit linux-info multilib toolchain-funcs versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Thread-Safe Syslog Logging Library" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~hppa ~x86" +IUSE="static-libs" + +RDEPEND="" +DEPEND=">=sys-kernel/linux-headers-2.6.24" + +S="${WORKDIR}/${MY_P}/common/${PN}" + +src_configure() { + cd "${WORKDIR}/${MY_P}" + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --kernel_src=${KERNEL_DIR} \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --logtlibdir=/usr/$(get_libdir) \ + --logtincdir=/usr/include \ + || die "configure problem" +} + +src_install() { + default + use static-libs || rm -f "${D}"/usr/lib*/*.a +} diff --git a/sys-cluster/liblogthread/metadata.xml b/sys-cluster/liblogthread/metadata.xml new file mode 100644 index 000000000000..94c3766e291a --- /dev/null +++ b/sys-cluster/liblogthread/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription>Thread-Safe Syslog Logging Library</longdescription> +</pkgmetadata> diff --git a/sys-cluster/libqb/Manifest b/sys-cluster/libqb/Manifest new file mode 100644 index 000000000000..e8282879380e --- /dev/null +++ b/sys-cluster/libqb/Manifest @@ -0,0 +1,9 @@ +DIST libqb-0.17.1.tar.xz 386304 SHA256 7a2115f83bfe20eaa5f2e4ed235e8f2994235d3b87e3e5ca41ba47b320f12e29 SHA512 9705b291a61ca278fd0c9ab631af2cb844cdfc73b19501dd2e12eb162b37f0eded800860127a8a5c5c7c2a0e8db53e4780d3ab9697b099f4560a9a87aa8ec9ca WHIRLPOOL 8b853fd6e26eca02605a49c5b9c0f97a41e98c5667dadd9a9c3ad36024ec1baacf764e40a774c83938d80ea686af61de0474c390337c16673f2abcbe983ec067 +DIST libqb-0.17.2.tar.xz 373540 SHA256 9a419c649ed51f275dc780da8a15babb8a5d33633567bd9e0cb6193b6e21f4fe SHA512 9c6dce7d18aa4da31594faecd0ea2737c2beefa749290094f733fe89ac40f094ec6409f310c534b8144d500e8c204c328386eaf1029995698d7019c014433443 WHIRLPOOL 3a39339893571a9842172c100820eb7324e3caf4c4e8811bdf5f65cdc5b5c96dbe797232d45b5b970cd9b77cee04578582d1b2ef0b28c5f7cb30b2fed4884453 +DIST libqb-1.0.1.tar.xz 438204 SHA256 912e8e7b9f1c2ed96c7308986f612313c4b26c841147a95546247e5ce38714c6 SHA512 9afdf5b7064f4e79f70e3c21d1ae954d1444d202d5903bd84866e502b2afc218d4a84fd21fab637a198357e1dad5da94814a6c0bdaa0ba6ac4a24ff40422c185 WHIRLPOOL 9000ac470a4d37b245a30eaba725ae7b65bec8e30830061ebd60d98c7dafa7d7179973aa3d66824f49007ae004cf56e722d5ba661400a0997ee934c8ea0acb9d +EBUILD libqb-0.17.1.ebuild 1105 SHA256 d4b18e09228d2b7bedc61c9c47f2989c23951ac02c6f1110400054fbdcde2d1a SHA512 929ab8e277508eaba06516e7b4424bba5e81c4a22e7fd5b8b962fcaa1402cad78df56546b56ed14f39b81efe2e9a19f32e0fd921209b2bcd71070ceaf6a11b94 WHIRLPOOL 9b42057afc1b4754a786a1f10fa959232fca0957406b8981e4578a4fadabfcd28bb8bf8a5980a845839f0dba4f487d26de3b8ffe93961339d157a393c9529168 +EBUILD libqb-0.17.2.ebuild 1115 SHA256 1fb3285fdd4a245d08f2e76b8de513e237fc5af184e879a0cd6b7287da3d28b2 SHA512 e9aa9dd53e4a75ac67e45778ce537987d93244ac769888b2ce4cb2d442dac0ad6637a51c658c4e3909b2d7f4d3061efa8e6f18d46876e4729f45eb8469c3b7ea WHIRLPOOL 493fadcd25fe4bd9dd1c2bdcf5e76e98bd9af4f9a8f9057515820ebb9060fdb549535bf764d103842aff5d00d129ce27fa4080718d66ad5b9738b57c61a7ca17 +EBUILD libqb-1.0.1.ebuild 1143 SHA256 632a6d9202626490b2762d2bcd09f8c977e60eaac0e388b979fa15ec99780100 SHA512 59ab3d4399c91a42c943c851dd857ad3cac4e6c70acef525b2a3a22d13867fb24fafa4e12bf55f263a7b633f49dbc153321518f2f858870bc50ac60479fdff5f WHIRLPOOL c16993a9f4e2fa86fbecc27d88e333d578e75a2a8395e1ce07a24748958e03af15767b6667d1af67f6da3d29fbbcb00049e09a1974bb51ff5483dcf88d28bd79 +MISC ChangeLog 2788 SHA256 80f069fe8468ee6157acccfb643a2825356387eea44d97e22d11e7600ff0b9a8 SHA512 31703cf0592d636e54bd97cdb35babcaac0ab965dfd0ab9debd11a1012bb5cab216daf386451db9d6a075744276868159d433cb2a74de544cb0163644b1e7696 WHIRLPOOL 633fc9c342499b0de8cf53a8d979e2069442fe0f2f102546f03bd0eb5c0990721898f7b08ea03c9e8a403e9d983c4bad24e455c9275b4e4776f46b36e7f36a42 +MISC ChangeLog-2015 1333 SHA256 93680a027ed56342e595745cfa15c7ac59919a082223176bb1455d12a7e059da SHA512 0158ef1fedb42ad998ac51fca844d273ce166000fe2912dad857ea9e9544bba110b5c3ad9128f2c8d54fde81cff8b985e47f16e66cd4870a3ad4b4267d3b661c WHIRLPOOL 9cdaf9554ecf74aa17bfed02fab986b61428805cb8b2315b79f6332583605613b35947f915437c19cc846a6998f67338d663449d957455c0bc413e7be9b3d475 +MISC metadata.xml 336 SHA256 cc688c8df5fdf5ff154b527c5f464a668a96e6090bdb27b3796f7be496a0a7f3 SHA512 7138793800d1d53f31019dcd56eb8d44a0442dc25733a777931af10846f0a61488d3e30f2ba7b5540380e1ddb4d7fdc44eaa39c126ed005b8bde7ef75b2b495e WHIRLPOOL 8ab5e3ca8b5fa36cf355a97b6e10bf6b98c38572e61fa89f6ec9a0233d8d0dc2d35fe5e798bc0af36897392a735455721d5202eb5988523790a8f795f0a40235 diff --git a/sys-cluster/libqb/libqb-0.17.1.ebuild b/sys-cluster/libqb/libqb-0.17.1.ebuild new file mode 100644 index 000000000000..b79bf5d082a9 --- /dev/null +++ b/sys-cluster/libqb/libqb-0.17.1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils + +DESCRIPTION="Library providing high performance logging, tracing, ipc, and poll" +HOMEPAGE="https://github.com/asalkeld/libqb" +SRC_URI="http://fedorahosted.org/releases/q/u/quarterback/${P}.tar.xz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 hppa x86" +IUSE="debug doc examples static-libs test" + +RDEPEND="dev-libs/glib:2" +DEPEND="${RDEPEND} + app-arch/xz-utils + test? ( dev-libs/check ) + doc? ( app-doc/doxygen[dot] )" + +DOCS=(README.markdown ChangeLog) + +src_prepare() { + sed -e '/dist_doc_DATA/d' -i Makefile.am || die + autotools-utils_src_prepare +} + +src_configure() { + local myeconfargs=( + $(use_enable debug) + ) + autotools-utils_src_configure +} + +src_compile() { + autotools-utils_src_compile + use doc && autotools-utils_src_compile doxygen +} + +src_install() { + use doc && HTML_DOCS=("${AUTOTOOLS_BUILD_DIR}/docs/html/") + autotools-utils_src_install + if use examples ; then + insinto /usr/share/doc/${PF}/examples + doins examples/*.c + fi +} diff --git a/sys-cluster/libqb/libqb-0.17.2.ebuild b/sys-cluster/libqb/libqb-0.17.2.ebuild new file mode 100644 index 000000000000..8b80054d7eab --- /dev/null +++ b/sys-cluster/libqb/libqb-0.17.2.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils + +DESCRIPTION="Library providing high performance logging, tracing, ipc, and poll" +HOMEPAGE="https://github.com/asalkeld/libqb" +SRC_URI="http://fedorahosted.org/releases/q/u/quarterback/${P}.tar.xz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 hppa ppc ppc64 x86" +IUSE="debug doc examples static-libs test" + +RDEPEND="dev-libs/glib:2" +DEPEND="${RDEPEND} + app-arch/xz-utils + test? ( dev-libs/check ) + doc? ( app-doc/doxygen[dot] )" + +DOCS=(README.markdown ChangeLog) + +src_prepare() { + sed -e '/dist_doc_DATA/d' -i Makefile.am || die + autotools-utils_src_prepare +} + +src_configure() { + local myeconfargs=( + $(use_enable debug) + ) + autotools-utils_src_configure +} + +src_compile() { + autotools-utils_src_compile + use doc && autotools-utils_src_compile doxygen +} + +src_install() { + use doc && HTML_DOCS=("${AUTOTOOLS_BUILD_DIR}/docs/html/") + autotools-utils_src_install + if use examples ; then + insinto /usr/share/doc/${PF}/examples + doins examples/*.c + fi +} diff --git a/sys-cluster/libqb/libqb-1.0.1.ebuild b/sys-cluster/libqb/libqb-1.0.1.ebuild new file mode 100644 index 000000000000..748d05368bf3 --- /dev/null +++ b/sys-cluster/libqb/libqb-1.0.1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +AUTOTOOLS_AUTORECONF=1 + +inherit autotools-utils + +DESCRIPTION="Library providing high performance logging, tracing, ipc, and poll" +HOMEPAGE="https://github.com/ClusterLabs/libqb" +SRC_URI="https://github.com/ClusterLabs/${PN}/releases/download/v${PV}/${P}.tar.xz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~x86" +IUSE="debug doc examples static-libs test" + +RDEPEND="dev-libs/glib:2" +DEPEND="${RDEPEND} + app-arch/xz-utils + test? ( dev-libs/check ) + doc? ( app-doc/doxygen[dot] )" + +DOCS=(README.markdown ChangeLog) + +src_prepare() { + sed -e '/dist_doc_DATA/d' -i Makefile.am || die + autotools-utils_src_prepare +} + +src_configure() { + local myeconfargs=( + $(use_enable debug) + ) + autotools-utils_src_configure +} + +src_compile() { + autotools-utils_src_compile + use doc && autotools-utils_src_compile doxygen +} + +src_install() { + use doc && HTML_DOCS=("${AUTOTOOLS_BUILD_DIR}/docs/html/") + autotools-utils_src_install + if use examples ; then + insinto /usr/share/doc/${PF}/examples + doins examples/*.c + fi +} diff --git a/sys-cluster/libqb/metadata.xml b/sys-cluster/libqb/metadata.xml new file mode 100644 index 000000000000..3b2c851443a0 --- /dev/null +++ b/sys-cluster/libqb/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <upstream> + <remote-id type="github">asalkeld/libqb</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/libquo/Manifest b/sys-cluster/libquo/Manifest new file mode 100644 index 000000000000..517dc6fbf8f0 --- /dev/null +++ b/sys-cluster/libquo/Manifest @@ -0,0 +1,14 @@ +DIST libquo-1.2.2.tar.gz 711528 SHA256 fb1231bde16b5e669caf23f5bfed4c77643cd3d4ae2ae755cfe258610a70667a SHA512 1aad84e65ba9167656ba6ffd53859816ea396239781b51846992766be7d01e33af732ac9c2ddda5839ec518bf304b4882a73f884c714c6e8eb9dc6884a9a6b11 WHIRLPOOL c5d28ddebaf98912b7ee92ab9e765cbff91ad1a29b323babc9db2d534f4261127377906ffbf670a4e38e65b248d4a56c8435290f4b64f39aae7e27b3d6ebaeb7 +DIST libquo-1.2.3.tar.gz 727836 SHA256 8f359b6f9efe0d38d2a7b6999b801297d80cebbf74b30de7b124bccbd77ae04e SHA512 d937253f1444723631439a78e5533d9ce4c8772f04f7c3475fe48c63d0dd827d5d73c4a925efec614a36d1c9680e9d93d53617ac12c00fce65b922fa69cd8c5b WHIRLPOOL 4d35a9e806184051ae56fc5c8f1454e73fa4dfb96b181b13753ac09d8f654f7f1154ca8008514aea0fc2b46bad8011d6a27e022c9811eb852d4e6c78b6041951 +DIST libquo-1.2.4.tar.gz 714871 SHA256 a7324c5e7faa6f99e14e7565d19a657e21e686dd039d8519fad48890bbb6ce18 SHA512 a8b6ab6bcaab3f22cc707ee85ea41c8b8f345bf11319a12bc1e4bceed15577f339b7c797ecee4301d0ba8b8c5ebb7af5961d19982261e41192c3fc777cbfecfe WHIRLPOOL eef090a00843a37a0f9823973bc26220416a0bb6f2db1f727ef964ce8f8b0d664c7703b6fff4e2357cc1d7fd9deca527f4cdd2b368e56ffe9c175df613446df4 +DIST libquo-1.2.9.tar.gz 788507 SHA256 0a64bea8f52f9eecd89e4ab82fde1c5bd271f3866c612da0ce7f38049409429b SHA512 732a737b9d53ca7b530ae5ecfd79cc9200f86e6a39f4c529975b204631165a178f6bb87228985222bf623f2581ecc29c774e8480ce9ebfcace12e14c49f98e62 WHIRLPOOL 1340a48ad031427aaa06f842ceb8068aa451bfdc7dde7435c58ea2ec3b0b961a055010998362447e7d120856709f1ae942ff6950ab2c080c8d5eaa12d7e8354f +DIST libquo-1.2.tar.gz 710465 SHA256 accd7b5fd1d7118897d98929245b8a91baf3d00e477769df66322a7feeed352d SHA512 c9c087490c01af51f47490635dbf42d5433719931afbaa89dfe91bfe812e09e468649cf5a7703b6c3d5b0c0d6d6318731dcff4928a52017505f814750131c75b WHIRLPOOL a209676d6bc8d0b012e8797d5600ec812b35aeae06391b6f3cc5b7bac743198fc17726187d199988fb75e8c5a33706921982b35c8094dee6fef303e57fd5be96 +EBUILD libquo-1.2.2.ebuild 590 SHA256 40ad18ae0deff82677a52c67fef93ac414b4ead4d319741640ac73accca556a9 SHA512 94d9599f247443e5a797fcf2f5fce182f58683e5e57a0c46fc50d5c40490412d1071856545e49c6e35ff4d6dd76c96cb65a03794c82eb691fbdecf7bfdf0f707 WHIRLPOOL f9211052a9f6785b319687186d2168ae9e0bdcbc6bc0e8f1361190f98b49c469a9777f6e75139639bb8fd2bd9244d7efb3ca520621743cae3d19d8fc43ee35d0 +EBUILD libquo-1.2.3.ebuild 718 SHA256 c544cc3869035930a4e3207b2edba17eebab67e26dc10e893eed24057d09a17b SHA512 19ea79f999461ea43bf157347b67c58447e2607f8ea623b68eaee1f0b99c696a1d3ff7e89fac7ee7c300290d276648af9e9d52ac5cd0c31a14edbd15348c0c9a WHIRLPOOL da36582dfbe4365cdd6f18221f0a25192bdbf19209baab53a8e00b4aac305cf608c134e9412bdfbd9e43753b4a8d342ea28e2c38f28e8b6d2c299da5ba87ac52 +EBUILD libquo-1.2.4-r1.ebuild 772 SHA256 64dee9715bf1063a249e0dd85d0b0bd9318426e234941282f21a64105d31ddc8 SHA512 7acd8fd96314780820aa4599b33a0d0c1d4d9d991d26e0d9bd1a3cfe487965c07e1b40f730ddaeceae73fb51ea93b9f438278d0d9bf52f0dfb3891887e4b1988 WHIRLPOOL 16ca58527509d79effeeeab31594d067283e9d458b603af834f0f7171d9bed9cf93d05a3c3f189c9be55f60587299a949f365883220905d8a3084983830ed726 +EBUILD libquo-1.2.9.ebuild 737 SHA256 3dca5960d484e9cebe61a1a66a9ab25af5f935f81988c2c54e2b405b6e20f67a SHA512 4a75c8c72a1eebde7c0bee7edbc4a5776d5bef4730e44a260ae06cd002aabfe1da86a1bb0d366dc5ac6220d18211a6852637fbcc4bc5537331d7b20561bb6248 WHIRLPOOL da6dac4d99e00d6dc650f50c537d3acb1da34f158e4090cd8e6eb4412cc3b2e6fdd946b0e6580ee5c1fa6e517452010a35b63c33588a76a8691baa2386237d64 +EBUILD libquo-1.2.ebuild 541 SHA256 33a42accd02f0af554eb19ad7b6a1fb802d15ab1ad514f17f2a7199b06593104 SHA512 179d109864de8811d2c065bdd430ee4c1a86f32f4e281ed1e1b80984de5e0cd0a584df6bd1a9e192e8d4e18539b812976f179cb2d9af564af360ef43dc2deb01 WHIRLPOOL 3e11f9044bdf2ff4bf55483216975760a8a7628d5987411def6fa4ce836ac5eaabc8037b4cbbe3d42bb42431d845f81160a4f7c466ee3eaa42d45450dc3e476b +EBUILD libquo-9999.ebuild 786 SHA256 c40f973fd9f0763fa7c3a0629938dd9bf63302dce0b1c4628b4a715801afdc8f SHA512 46ba7bab9617cff2099590f67bfca566ffeff0ad227c1c34f2ec3fa0efb62d0a67dac411865ef3794d94fb81b60fdf5bd39cb88b51b7fb368ae566947803ca7f WHIRLPOOL 53c2bf749e142197cbaafd32e08606aba3e9aecf3a9a7ed737936b816059e5ae7dea1bf8e1181ee98035f2320a0bd1dfeaed9fcaf45ca55c90c7fb258488b91f +MISC ChangeLog 3298 SHA256 1885a4da2d5e6fd9e4fb1e46c0ec66e3c3b4121c815dfe7d252446043f50b977 SHA512 7726d4659a17f38162cc56eca8644d8dfa1e40ecf56d48ac03b2272994d4d18b77f1cfafa14f4f8310396a797bd77b4019ae0e771eb1a7177246cfd2a8b95cb8 WHIRLPOOL e70633589ebddbf9877c7ee4658c2f11f50c3c69cd405d8046317fe5dcb3d9e367f6fa1d9ebf89f682bd487220e7622604569bb73f83984612a2c3176f778abd +MISC ChangeLog-2015 586 SHA256 bb257146ad4caec05af53cf4e659c550f9eb78018c95605d63434e8e0805758e SHA512 ca6ae8c516c03fa78ea7021673d27f0205994e68e03bb3300d90a3abe34899ec717dba421cf37b1115330c392c33a54c1e3aa38db8ce27afd31dc5e95c036096 WHIRLPOOL 4dc5f753a0138c5ed5ce2ab8dbf44ba4b4e9797eb19f5d1fa1902e43e19d1762e793345456a2a75bf7e4f147463d44a940fd27a54b1d67d8f8c1058764dc1774 +MISC metadata.xml 443 SHA256 004ef62d2c20eb2a4c76065c499ec4a3da5631f590a4eaf99b3abb3d251878b3 SHA512 24f513273a47dfe443e18a9be97a710d523353daa131ea686de70ec13780d89c64bd7019ad83cf8aec8eeb1c63cd9cd3073cc86cdc27cfd361c5bc9197dba611 WHIRLPOOL d3e084011fefa0cbf3575598ed8cda4fbda564fdca2b54db3c5e9a8cd050060247f3d3bbda838912bd191d5755ca4d3e935ef08e3a9aacc8973bb9795fc83bcf diff --git a/sys-cluster/libquo/libquo-1.2.2.ebuild b/sys-cluster/libquo/libquo-1.2.2.ebuild new file mode 100644 index 000000000000..3a8606d58270 --- /dev/null +++ b/sys-cluster/libquo/libquo-1.2.2.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools-utils + +DESCRIPTION="run-time tuning of process binding policies made easy" +HOMEPAGE="https://lanl.github.io/libquo/" +SRC_URI="https://lanl.github.io/${PN}/dists/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="fortran" + +DEPEND=" + virtual/mpi[fortran?] + sys-process/numactl + sys-apps/hwloc[numa,xml] + " +RDEPEND="${DEPEND}" + +AUTOTOOLS_IN_SOURCE_BUILD=1 + +src_configure() { + autotools-utils_src_configure CC=mpicc FC=$(usex fortran mpif90 false) +} diff --git a/sys-cluster/libquo/libquo-1.2.3.ebuild b/sys-cluster/libquo/libquo-1.2.3.ebuild new file mode 100644 index 000000000000..69867bf0fe21 --- /dev/null +++ b/sys-cluster/libquo/libquo-1.2.3.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools-utils + +if [ "${PV}" = "9999" ]; then + EGIT_REPO_URI="https://github.com/lanl/${PN}.git" + inherit git-r3 + KEYWORDS="" + AUTOTOOLS_AUTORECONF=1 +else + SRC_URI="https://lanl.github.io/${PN}/dists/${P}.tar.gz" + KEYWORDS="~amd64" +fi + +DESCRIPTION="run-time tuning of process binding policies made easy" +HOMEPAGE="https://lanl.github.io/libquo/" + +LICENSE="BSD" +SLOT="0" +IUSE="fortran static-libs" + +DEPEND=" + virtual/mpi[fortran?] + sys-process/numactl + sys-apps/hwloc[numa,xml] + " +RDEPEND="${DEPEND}" + +src_configure() { + autotools-utils_src_configure CC=mpicc FC=$(usex fortran mpif90 false) +} diff --git a/sys-cluster/libquo/libquo-1.2.4-r1.ebuild b/sys-cluster/libquo/libquo-1.2.4-r1.ebuild new file mode 100644 index 000000000000..ca89f8c78fe2 --- /dev/null +++ b/sys-cluster/libquo/libquo-1.2.4-r1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran +FORTRAN_STANDARD=90 + +inherit autotools-utils fortran-2 + +if [ "${PV}" = "9999" ]; then + EGIT_REPO_URI="https://github.com/lanl/${PN}.git" + inherit git-r3 + KEYWORDS="" + AUTOTOOLS_AUTORECONF=1 +else + SRC_URI="https://lanl.github.io/${PN}/dists/${P}.tar.gz" + KEYWORDS="~amd64" +fi + +DESCRIPTION="run-time tuning of process binding policies made easy" +HOMEPAGE="https://lanl.github.io/libquo/" + +LICENSE="BSD" +SLOT="0" +IUSE="fortran static-libs" + +DEPEND=" + virtual/mpi[fortran?] + sys-process/numactl + sys-apps/hwloc[numa,xml] + " +RDEPEND="${DEPEND}" + +src_configure() { + autotools-utils_src_configure CC=mpicc FC=$(usex fortran mpif90 false) +} diff --git a/sys-cluster/libquo/libquo-1.2.9.ebuild b/sys-cluster/libquo/libquo-1.2.9.ebuild new file mode 100644 index 000000000000..0b005031c633 --- /dev/null +++ b/sys-cluster/libquo/libquo-1.2.9.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +FORTRAN_NEEDED=fortran +FORTRAN_STANDARD=90 + +inherit fortran-2 + +if [ "${PV}" = "9999" ]; then + EGIT_REPO_URI="https://github.com/lanl/${PN}.git" + inherit git-r3 + KEYWORDS="" + AUTOTOOLS_AUTORECONF=1 +else + SRC_URI="https://lanl.github.io/${PN}/dists/${P}.tar.gz" + KEYWORDS="~amd64" +fi + +DESCRIPTION="run-time tuning of process binding policies made easy" +HOMEPAGE="https://lanl.github.io/libquo/" + +LICENSE="BSD" +SLOT="0" +IUSE="fortran static-libs test" + +DEPEND=" + virtual/mpi[fortran?] + sys-process/numactl + sys-apps/hwloc[numa,xml] + " +RDEPEND="${DEPEND}" + +src_configure() { + econf CC=mpicc FC=$(usex fortran mpif90 false) +} diff --git a/sys-cluster/libquo/libquo-1.2.ebuild b/sys-cluster/libquo/libquo-1.2.ebuild new file mode 100644 index 000000000000..72ea50f3be66 --- /dev/null +++ b/sys-cluster/libquo/libquo-1.2.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools-utils + +DESCRIPTION="run-time tuning of process binding policies made easy" +HOMEPAGE="https://lanl.github.io/libquo/" +SRC_URI="https://lanl.github.io/${PN}/dists/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND=" + virtual/mpi + sys-process/numactl + sys-apps/hwloc[numa,xml] + " +RDEPEND="${DEPEND}" + +AUTOTOOLS_IN_SOURCE_BUILD=1 + +src_configure() { + autotools-utils_src_configure CC=mpicc +} diff --git a/sys-cluster/libquo/libquo-9999.ebuild b/sys-cluster/libquo/libquo-9999.ebuild new file mode 100644 index 000000000000..88c33d14f348 --- /dev/null +++ b/sys-cluster/libquo/libquo-9999.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +FORTRAN_NEEDED=fortran +FORTRAN_STANDARD=90 + +inherit fortran-2 + +if [ "${PV}" = "9999" ]; then + EGIT_REPO_URI="https://github.com/lanl/${PN}.git" + inherit autotools git-r3 + KEYWORDS="" +else + SRC_URI="https://lanl.github.io/${PN}/dists/${P}.tar.gz" + KEYWORDS="~amd64" +fi + +DESCRIPTION="run-time tuning of process binding policies made easy" +HOMEPAGE="https://lanl.github.io/libquo/" + +LICENSE="BSD" +SLOT="0" +IUSE="fortran static-libs test" + +DEPEND=" + virtual/mpi[fortran?] + sys-process/numactl + sys-apps/hwloc[numa,xml] + " +RDEPEND="${DEPEND}" + +src_prepare() { + default + [[ ${PV} = 9999 ]] && eautoreconf +} + +src_configure() { + econf CC=mpicc FC=$(usex fortran mpif90 false) +} diff --git a/sys-cluster/libquo/metadata.xml b/sys-cluster/libquo/metadata.xml new file mode 100644 index 000000000000..a9b0889886df --- /dev/null +++ b/sys-cluster/libquo/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>junghans@gentoo.org</email> + <name>Christoph Junghans</name> + </maintainer> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <upstream> + <remote-id type="github">lanl/libquo</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/lspbs/Manifest b/sys-cluster/lspbs/Manifest new file mode 100644 index 000000000000..097ce5a90957 --- /dev/null +++ b/sys-cluster/lspbs/Manifest @@ -0,0 +1,5 @@ +DIST lspbs-1.1.tar.gz 69265 SHA256 c22a625578c57c60f2f6d0487b30801b8fce9641bc41603a8559ab3c35b7a9ab SHA512 4732767968d3226a88617fd60796811c8fef6e7ba717e66e31867b06045a1483d4be65f795a8fde81598efdd5e6cdaf688d52cac9cb0c8f888d9420f539b2730 WHIRLPOOL 5a58c8139a68f78b99b29ab15550c8ea8c88903bf14252b38af983a55592c0fb2946493fbc1411196d3b71fdb47c8e0ea7b70c2d37fb2d78ee17a8434e1aa6c3 +EBUILD lspbs-1.1-r1.ebuild 687 SHA256 d19402d0800655c4f33b99c4b8e9f65c200e7f2df2735f92efb5b031747c5c57 SHA512 028be545f670646894e6acd9ee7868f9dd1233d30f4a9a8db8cb853e3e2b4cc0bd7e33b33eb378f23ce0727b488a9292b6894d228e74c019b1589e01b4d6d666 WHIRLPOOL f1ab59da13fb40ccff1b35294603bc5d3a0322f66fc4feaa0eb5ef8b7cae4b41f2e9ebf1d43f97fbf222f9c7ef1a3f8f82e7be02c4c7d61e23c718f9b6865f4b +MISC ChangeLog 2819 SHA256 ffd0e9bfc3202a126d458ce75be63b5b9a2034f658eaac58a89d6b8f40f3ca2f SHA512 230b242c877e20ada9e5b39b26fcb389a26190e41c6d458a7f4d9804ab20c8e3cb7ff9fbc2065205780373803a31b2f9ab6059ef5eaf12de583c0c504c6757a0 WHIRLPOOL 99ba03ec1fb958154bc4a3cbd7ab5cbb01a6152880d22a5a73dfe6064d100d7a7e6ed3c667062e523da31591e7d1848d9d5ddd2a72a0f85abba2cfe5bd6300aa +MISC ChangeLog-2015 1859 SHA256 19957fef3e6ce8c4a39a3fcc4a3f1ec8ac821b7ea60e59bbeb769216355f59e6 SHA512 b7de771ddd26be60cf12d74d3084fa9fe965c4ececd7a8a94d6cd50b2243b8171e34f06d5c5a5020b082a64a55852f8bf5ff9b5b641539a02443723d3a2590c7 WHIRLPOOL b15d0f23baf349cfc2cc9750e5061cbd4c5d31d13af7d40fff250c46fb3940c8e1bdd3a6d3ddbac9b49070dca552cae25415c568633e857839298b0da3bb2720 +MISC metadata.xml 833 SHA256 5cef2835a8bb0804b388a87f4d8e2275aef54c8af8dbf235872ad50c2547578b SHA512 939ff6cd4dcfadca5196014cd570cbf51dfbd5af543a99768d43b3c7c76193f83305d13c718da26e7cc806703067dab6cf5482e8323bd9036895b23ce61ba824 WHIRLPOOL 135792d17a6aac8121215a7423d7edd2ca959dec75380e7e8aee7dc09685c5ea06d4f440be947918d2eac44dbe2aea2bb6570c5d468d45633c2c4e59cafbdc57 diff --git a/sys-cluster/lspbs/lspbs-1.1-r1.ebuild b/sys-cluster/lspbs/lspbs-1.1-r1.ebuild new file mode 100644 index 000000000000..6c7e8850c564 --- /dev/null +++ b/sys-cluster/lspbs/lspbs-1.1-r1.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +DESCRIPTION="Displays clear, concise and up-to-date PBS node and CPU usage information" +SRC_URI="http://homepages.inf.ed.ac.uk/s0239160/misc/lspbs/${P}.tar.gz" +HOMEPAGE="http://homepages.inf.ed.ac.uk/s0239160/misc/lspbs/lspbs.html" +IUSE="" + +DEPEND="sys-cluster/torque" +RDEPEND="${DEPEND}" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~x86 ~amd64 ~ppc" + +src_install() { + emake DESTDIR="${D}" install || die "install failed" + + dodoc README || die "dodoc failed" + + doman "${D}"/usr/share/lspbs.1 || die "doman failed" + rm -f "${D}"/usr/share/lspbs.1 || die "failed to remove old man page" +} diff --git a/sys-cluster/lspbs/metadata.xml b/sys-cluster/lspbs/metadata.xml new file mode 100644 index 000000000000..e40efc65cc22 --- /dev/null +++ b/sys-cluster/lspbs/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription> + Lspbs is a lightweight alternative to the xpbsmon utility, which + is part of the OpenPBS package. It uses the color xterm to + display clear, concise and up-to-date node and CPU usage + information. Lspbs also supports unformatted printing and can + filter nodes by their properties and current state. This generic + filtering feature extends the simplistic functionality provided by + the pbsnodes utility, which is also part of the OpenPBS + package. This makes lspbs useful for managing PBS-based clusters. + </longdescription> +</pkgmetadata> diff --git a/sys-cluster/maui/Manifest b/sys-cluster/maui/Manifest new file mode 100644 index 000000000000..2b8293c19662 --- /dev/null +++ b/sys-cluster/maui/Manifest @@ -0,0 +1,10 @@ +AUX 3.2.6_p21-autoconf-2.60-compat.patch 476 SHA256 52847580ae728a650c9812d017323d2ca9b2ee8b60fb4a81e8c6d68f213156c0 SHA512 28575326cd87c14421fe60ec7f27f8c16e43a8468104082938fa2f0eefb2b477d1fb62a3b0ab584374a0a32be287d4525cfd1c959a9db4b91df00e8668f1e3a5 WHIRLPOOL d461add28eae14b3dcd81eeddc0fb87ce0ed8a03d7444f74ee7fecc2bc4166fecbf55d4746dd9703250f89f0d017d3b0f43af9c5c0906fdcb5f3ceaf8d5928b2 +AUX maui-3.2.6_p21-pbs-nodefile.patch 554 SHA256 3030b9fcdffdb67fca02e691206cfe0acbbcadd5427cbdf05bb903fec6a9f02e SHA512 e488c7e814cf686e14d163d87df98e64de14ee45e00937d4b7eb023d0baebd7132ae4efb5c1db5eda2128f9f080b833ef0d309618a8fac0f5fd2449a8dc81efd WHIRLPOOL 980c8a282745c218cef4aeffb19191bac337d3c9caefb36d5cd43fe9a3a696c19805d026363d5c487d0117e5bbe5f5eadeae7be372d1d12d484b40e221f2e4a7 +AUX maui-3.3.1-torque_4.patch 568 SHA256 1cd02d24716616d554485bbb9d1cb6f2c00e356919f3c0efc61fe27a0e74ac04 SHA512 ac493718454e9d08f9d94aa38ce7a9f6baa58643928eb9d6af738be94aa7dd2b685de98ed0516170656ca94a52b6838a3203c87d64642dfebe81733efc461f18 WHIRLPOOL 3c38e62eabdd46dfbadb5053e9bcce8e81200324bb4725797a79edff6e886dc0c2af646907bc73b0f2473534fe0aa3272fc25de6d275676ac7e43147e51b9413 +AUX maui.initd 477 SHA256 4be34a42832db7447ba552329d724070948793b812e1f2a1dc6120c6816b6f7b SHA512 73748cba13d55a56d7db3e3b36d52726c3e6eb54a177f87dc14aec655e7c19614932116719d121da6808227c9216c3ca59697b4327b3a5fb828ef8c2f6645b3f WHIRLPOOL 2da5699311ae2e3f386310da4ffba13fa34842f283ffb7d8415f811923b50f2247fddb4fdeeb4598d7624d244461f785401b0d952ca852a644a63790015e519c +DIST maui-3.3.1.tar.gz 901179 SHA256 033a1ab40da69bc091ce5d01199ac599de0b6bbdfa404b9b1631ee964dc711a1 SHA512 e22a0f08b40d810792175b5bc15a53831e84eeab43ddc79ebc3e10a2d5c0b77a4634ff67975f9dae06fbb84f84cb3a95e9cbfcb8086734dbd41caee3359675b0 WHIRLPOOL 0d3bcb6284b852881b2ac4faf83abf7d8668db53e94938f82ba73e7f8f4ca9e5e3fbb698b984fd1d053ffa1514431bf18d958915e783045a94578767cd675bf6 +EBUILD maui-3.3.1-r2.ebuild 1353 SHA256 2365f3971e54b202a02e809daa64073b889ae168f24ec9f2eca1a5c3defceabd SHA512 3e4a6d00464c9c6d99c5ce148e13bb72f9b92039d0b2ef6524cb5734df259b9fffe04e9f31ae33be469842cbe971f911caaf9358d48ac9be3bd40bf110673c11 WHIRLPOOL 0aabdc6a0248d0232b468572d992b44f55a068c1e7d0f8c7504d7ea6b3f9017420461d8f80e3fb395a911c52685e538637564954a50f0fd0990843fccaa0706e +EBUILD maui-3.3.1-r3.ebuild 1400 SHA256 e41fe5434e586551e389445fde528ddeca1a460ab158174337a02174a7c48eae SHA512 bba6f57085c1a081d8b0eba96854a12f24bee3cee3eda5f7b81431e5dae5dcc24449021e092ef332b6f6a14e8d2135c269b905c5a7603c95e70b2fec5628629b WHIRLPOOL 738d905410eeb0b24691cfceb7c60566b774f3f8a071415dfe70999468b3a4677878f52533964bfcb445bf4a007ffe1749953215ed399cb3f5cfd3e38e4975b4 +MISC ChangeLog 3106 SHA256 e1b4161ca17a54efaa1aa463a504ab066af67f469e33f2f9489f4e3d9f61ac88 SHA512 4a66a4e4f9be4f9673fcbe2801371ee45022c0c33e9f2220e58c4f056c88985d4fbdd11e9610a4f4bafa4fb69516f1f5ab691053062b385ca024c7183dd66427 WHIRLPOOL dfdfa17ab40b9c2b2ee685edfd889bf77a35a1b747f9dcb8416ca0935caa91c295ec79f265969721be26f60aaf73eedb30c869c7a15401d0bdca6549f307d3fa +MISC ChangeLog-2015 4361 SHA256 656f0497e93df9453bbf6f7fcbadeb4210951d505bdd6e815f71aef8302a5018 SHA512 cd182a61ca803033c8020b10d78a1fd178d09e234483309678c4d098f23b2c7ea0cb6a7f114654f5e53708751fa026d01a6369fa9661d9a0b8614373e44addcb WHIRLPOOL 1734975a11d843052e8ab9b7064eeae1e5c1c4cd3e3b5b1db2b6bf1337cadeaf3beb3429b4e6c39189a92b1a2da7a77c1b5aa043fd9a27cca6011161c42b4d5d +MISC metadata.xml 386 SHA256 79682c24b648f701f226006eba4c53cc2b9253e97e08ef78743323731e1d42c4 SHA512 15a026ae2a40cc79038965dc0cff98f4dc4a5c2e231a9a59f46c1360c6b32e2195e1d354be34870cc7ef3033c9182d4b933c1e7625dd1053d062f12321c8130e WHIRLPOOL eaac5ec23157eb8c9f3f4f31ba621fc9d5c3b21f2a3c6f738ac0cab09d17da58617c830f8985283c2e959adf511e76728fd7b82d016472fcbfb35ef2557c4cf1 diff --git a/sys-cluster/maui/files/3.2.6_p21-autoconf-2.60-compat.patch b/sys-cluster/maui/files/3.2.6_p21-autoconf-2.60-compat.patch new file mode 100644 index 000000000000..9b77a27f88df --- /dev/null +++ b/sys-cluster/maui/files/3.2.6_p21-autoconf-2.60-compat.patch @@ -0,0 +1,11 @@ +--- maui-3.2.6p21.orig/Makefile.in 2006-05-23 15:20:49.000000000 -0700 ++++ maui-3.2.6p21/Makefile.in 2006-09-25 20:42:24.000000000 -0700 +@@ -18,7 +18,7 @@ + # ============================ + # Resource Manager section + # ============================ +-@ll_definitions@@sdr_definitions@@pbs_definitions@@sge_definitions@@lsf_definitions@@mx_definitions@@pcre_definitions@ ++@pbs_definitions@ + + # ============================ + # Master Makefile for @PACKAGE_NAME@-@PACKAGE_VERSION@ diff --git a/sys-cluster/maui/files/maui-3.2.6_p21-pbs-nodefile.patch b/sys-cluster/maui/files/maui-3.2.6_p21-pbs-nodefile.patch new file mode 100644 index 000000000000..90bf80ca661a --- /dev/null +++ b/sys-cluster/maui/files/maui-3.2.6_p21-pbs-nodefile.patch @@ -0,0 +1,23 @@ +--- maui-3.2.6p21/src/moab/MPBSI.c.orig 2010-03-16 12:54:09.000000000 +0100 ++++ maui-3.2.6p21/src/moab/MPBSI.c 2010-03-16 12:57:07.000000000 +0100 +@@ -6406,6 +6406,7 @@ + int tindex; + + char tmpHostName[MAX_MLINE]; ++ char tmpTaskList[MAX_MLINE+10]; + + mnode_t *N; + +@@ -6458,10 +6459,10 @@ + } + else + { +- sprintf(TSBuf,"%s%s:ppn=%d", +- TSBuf, ++ snprintf (tmpTaskList,MAX_MLINE+10,"%s:ppn=%d", + tmpHostName, + NL[tindex].TC); ++ MUStrCat(TSBuf,tmpTaskList,BufSize); + } + } /* END for (tindex) */ + diff --git a/sys-cluster/maui/files/maui-3.3.1-torque_4.patch b/sys-cluster/maui/files/maui-3.3.1-torque_4.patch new file mode 100644 index 000000000000..1e0631555736 --- /dev/null +++ b/sys-cluster/maui/files/maui-3.3.1-torque_4.patch @@ -0,0 +1,14 @@ +diff -ur maui-3.3.1.orig/src/moab/MPBSI.c maui-3.3.1/src/moab/MPBSI.c +--- maui-3.3.1.orig/src/moab/MPBSI.c 2013-07-31 09:36:31.831849229 -0700 ++++ maui-3.3.1/src/moab/MPBSI.c 2013-07-31 09:37:12.951107957 -0700 +@@ -174,8 +174,8 @@ + + extern int pbs_errno; + +-extern int get_svrport(const char *,char *,int); +-extern int openrm(char *,int); ++extern unsigned int get_svrport(char *,char *,unsigned int); ++extern int openrm(char *,unsigned int); + extern int addreq(int,char *); + extern int closerm(int); + extern int pbs_stagein(int,char *,char *,char *); diff --git a/sys-cluster/maui/files/maui.initd b/sys-cluster/maui/files/maui.initd new file mode 100644 index 000000000000..df4f64474f1f --- /dev/null +++ b/sys-cluster/maui/files/maui.initd @@ -0,0 +1,23 @@ +#!/sbin/openrc-run +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net + after pbs_server slurmctld + before pbs_mom slurmd + after logger +} + +start() { + ebegin "Starting Maui scheduler" + start-stop-daemon --start --exec /usr/sbin/maui + eend ${?} +} + +stop() { + ebegin "Stopping Maui scheduler" + start-stop-daemon --stop -p /var/spool/maui/maui.pid + eend ${?} +} +# vim:ts=4 diff --git a/sys-cluster/maui/maui-3.3.1-r2.ebuild b/sys-cluster/maui/maui-3.3.1-r2.ebuild new file mode 100644 index 000000000000..95d331c38e1e --- /dev/null +++ b/sys-cluster/maui/maui-3.3.1-r2.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="4" + +inherit eutils multilib + +DESCRIPTION="Maui Cluster Scheduler" +HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/maui/" +SRC_URI="http://www.adaptivecomputing.com/download/${PN}/${P}.tar.gz" + +LICENSE="maui" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux" +IUSE="pbs slurm" + +REQUIRED_USE="^^ ( pbs slurm )" + +DEPEND=" + pbs? ( sys-cluster/torque ) + slurm? ( sys-cluster/slurm )" +RDEPEND="${DEPEND}" + +RESTRICT="fetch mirror" + +pkg_setup() { + if use slurm; then + if [ -z ${MAUI_KEY} ]; then + eerror "You should set MAUI_KEY to any integer value in make.conf" + return 1 + fi + fi +} + +src_prepare() { + sed -e "s:\$(INST_DIR)/lib:\$(INST_DIR)/$(get_libdir):" \ + -i src/{moab,server,mcom}/Makefile || die +} + +src_configure() { + local myconf + use pbs && myconf="--with-pbs=${EPREFIX}/usr" + use slurm && myconf+=" --with-wiki --with-key=${MAUI_KEY}" + econf \ + --with-spooldir="${EPREFIX}"/var/spool/${PN} \ + ${myconf} +} + +src_install() { + emake BUILDROOT="${D}" INST_DIR="${ED}/usr" install || die + dodoc docs/README CHANGELOG || die + dohtml docs/mauidocs.html || die + newinitd "${FILESDIR}/${PN}.initd" ${PN} || die +} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}, obtain the file" + einfo "${P}.tar.gz and put it in ${DISTDIR}" +} diff --git a/sys-cluster/maui/maui-3.3.1-r3.ebuild b/sys-cluster/maui/maui-3.3.1-r3.ebuild new file mode 100644 index 000000000000..a21bb11735c7 --- /dev/null +++ b/sys-cluster/maui/maui-3.3.1-r3.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="4" + +inherit eutils multilib + +DESCRIPTION="Maui Cluster Scheduler" +HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/maui/" +SRC_URI="http://www.adaptivecomputing.com/download/${PN}/${P}.tar.gz" + +LICENSE="maui" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux" +IUSE="pbs slurm" + +REQUIRED_USE="^^ ( pbs slurm )" + +DEPEND=" + pbs? ( >=sys-cluster/torque-4 ) + slurm? ( sys-cluster/slurm )" +RDEPEND="${DEPEND}" + +RESTRICT="fetch mirror" + +pkg_setup() { + if use slurm; then + if [ -z ${MAUI_KEY} ]; then + eerror "You should set MAUI_KEY to any integer value in make.conf" + return 1 + fi + fi +} + +src_prepare() { + sed -e "s:\$(INST_DIR)/lib:\$(INST_DIR)/$(get_libdir):" \ + -i src/{moab,server,mcom}/Makefile || die + + epatch "${FILESDIR}"/${P}-torque_4.patch +} + +src_configure() { + local myconf + use pbs && myconf="--with-pbs=${EPREFIX}/usr" + use slurm && myconf+=" --with-wiki --with-key=${MAUI_KEY}" + econf \ + --with-spooldir="${EPREFIX}"/var/spool/${PN} \ + ${myconf} +} + +src_install() { + emake BUILDROOT="${D}" INST_DIR="${ED}/usr" install || die + dodoc docs/README CHANGELOG || die + dohtml docs/mauidocs.html || die + newinitd "${FILESDIR}/${PN}.initd" ${PN} || die +} + +pkg_nofetch() { + einfo "Please visit ${HOMEPAGE}, obtain the file" + einfo "${P}.tar.gz and put it in ${DISTDIR}" +} diff --git a/sys-cluster/maui/metadata.xml b/sys-cluster/maui/metadata.xml new file mode 100644 index 000000000000..9baf5ea25211 --- /dev/null +++ b/sys-cluster/maui/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <use> + <flag name="pbs">Enable pbs integration</flag> + <flag name="slurm">Enable slurm integration</flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/metadata.xml b/sys-cluster/metadata.xml new file mode 100644 index 000000000000..6f48783fcc73 --- /dev/null +++ b/sys-cluster/metadata.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<catmetadata> + <longdescription lang="en"> + The sys-cluster category contains cluster-related software. + </longdescription> + <longdescription lang="es"> + La categoría sys-cluster contiene paquetes relacionados con clusters. + </longdescription> + <longdescription lang="de"> + Die Kategorie sys-cluster enthält Software für die Arbeit mit Clustern. + </longdescription> + <longdescription lang="nl"> + De sys-cluster categorie bevat software voor gebruik met clusters. + </longdescription> + <longdescription lang="vi"> + Nhóm sys-cluster chứa các phần mềm liên quan đến cluster. + </longdescription> + <longdescription lang="it"> + La categoria sys-cluster contiene pacchetti per l'utilizzo e la gestione dei clusters. + </longdescription> + <longdescription lang="pt"> + A categoria sys-cluster contém programas relacionados a cluster. + </longdescription> + <longdescription lang="pl"> + Kategoria sys-cluster zawiera oprogramowanie dla klastrów. + </longdescription> +</catmetadata> + diff --git a/sys-cluster/minikube/Manifest b/sys-cluster/minikube/Manifest new file mode 100644 index 000000000000..82604fe8349c --- /dev/null +++ b/sys-cluster/minikube/Manifest @@ -0,0 +1,3 @@ +DIST minikube-0.22.3.tar.gz 18675181 SHA256 c27b870da46048b8d0eb775f86b8351e21583cf234f7c722ac92e18edf098dac SHA512 2ef1f64a5011bb57034e1d873730c55284ce008ab480775c64a66a148118bf0f66608177244a29527ac984aa34d9d39400d4d42006b930bdb35da6551e936833 WHIRLPOOL 92636e47bb9604211979cfcdc8b936fe4b5b1ce9938ceb8121a3c6fc25895fa383626226c7c8107838235fa16e8152162a602b37d8ca1c83962fd65b92d258a5 +EBUILD minikube-0.22.3.ebuild 1250 SHA256 abe8d564bae9bfb5c48464bb1ffb1de5e1b445dea8a0e72b5f42ead98e281597 SHA512 38875170f6d33d604a48d51384fbf3a82641779513ce44167ad9f9165758040c85fabbbbb70a83ad07d4de262213585df6f9b38d3600a7b20ed6bcaa0e7bcde6 WHIRLPOOL 842c2e2f6080b4b12d892c9ef545d0ef0a26589243c748d4e2a57b3a516ec191386d5da39f8d6eec07b5828bd3a220ba2f168941ac58cc33f2f82caef16b0a87 +MISC metadata.xml 329 SHA256 b3600da8b14aec576f9da32558438704a4a31afe04a4b5e91a12ee4ebeb31209 SHA512 4b280d1e0c76f5f571d1b31cda9cad9c564e03d99891ff7ae83f6e61e078636608aed240d088bc2d4b309f9315645abdba751cdba11bfd8268b89adc8c339857 WHIRLPOOL b5e347c694f5fa801e203f738ecdaab2d90025a7090f4f001a6467a4958f9796d8e42e7d46fd2c9e58f151888889985566c3202132eb2d5f7bfdca02588ae826 diff --git a/sys-cluster/minikube/metadata.xml b/sys-cluster/minikube/metadata.xml new file mode 100644 index 000000000000..56bdc5ee4457 --- /dev/null +++ b/sys-cluster/minikube/metadata.xml @@ -0,0 +1,11 @@ +<?xml version='1.0' encoding='UTF-8'?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mrueg@gentoo.org</email> + <name>Manuel Rüger</name> + </maintainer> + <upstream> + <remote-id type="github">kubernetes/minikube</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/minikube/minikube-0.22.3.ebuild b/sys-cluster/minikube/minikube-0.22.3.ebuild new file mode 100644 index 000000000000..1ba40d2ac399 --- /dev/null +++ b/sys-cluster/minikube/minikube-0.22.3.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) + +inherit python-any-r1 golang-build golang-vcs-snapshot + +EGO_PN="k8s.io/minikube" +ARCHIVE_URI="https://github.com/kubernetes/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="Single Node Kubernetes Cluster" +HOMEPAGE="https://github.com/kubernetes/minikube https://kubernetes.io" +SRC_URI="${ARCHIVE_URI}" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="hardened" + +DEPEND="dev-go/go-bindata + ${PYTHON_DEPS}" +RDEPEND=">=sys-cluster/kubectl-1.8.0" + +RESTRICT="test" + +src_prepare() { + default + sed -i -e 's/ -s -w/ -w/' -e 's#$(GOPATH)/bin/go-bindata#go-bindata#' -e 's#GOBIN=$(GOPATH)/bin go get github.com/jteeuwen/go-bindata/...##' src/${EGO_PN}/Makefile || die + sed -i -e "s/get_rev(), get_version(), get_tree_state()/get_rev(), get_version(), 'gitTreeState=clean'/" src/${EGO_PN}/hack/get_k8s_version.py || die +} + +src_compile() { + export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')" + LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -C src/${EGO_PN} +} + +src_install() { + pushd src/${EGO_PN} || die + dobin out/minikube out/localkube + dodoc -r docs CHANGELOG.md README.md + popd || die +} diff --git a/sys-cluster/moosefs/Manifest b/sys-cluster/moosefs/Manifest new file mode 100644 index 000000000000..62517a61c216 --- /dev/null +++ b/sys-cluster/moosefs/Manifest @@ -0,0 +1,11 @@ +AUX mfs.confd 368 SHA256 be22c70e7a40a5373d18bfe17ec5a692f50b914c5c044a121a83cfb90a680c43 SHA512 508b1d99befd1340d3685df3d548399789321edf7f73f11b32baa88291b65dfcba98436b6f85b1975924ae596b962c501391fd783562b12f7cc3862183646e56 WHIRLPOOL 9d566699211cb1acc4c59743bf42571755d472ddca54f06219205aa2a3a167e1f4760a16abf699659e23a941b720c3c6d1ede3bf7f25875a2d55acd16813568e +AUX mfs.initd-r1 1526 SHA256 4c4428861838df08a02a259a1360442ba05ae8cef8db06f028f972743513d61e SHA512 01341b6c67adf7bb2503cbcfd9b039f704763ef5326c132e864ba7265b887a37bb3475b704878c5fb3a238ec46f69498adb5e6840e09ef695716369834131583 WHIRLPOOL e7e0296f3aed81086f2d2ce1896301b578059f5143153e31e17ac4a6d2044c999f85d5b40f513025d291b32ef51fe29bc5a3a6b884b0604a6ff4ff4fa80f7e41 +AUX mfscgiserver.confd 180 SHA256 23ccc3ee023543a162d6b4cfb1406922597b4cd744d35b6db1f4f7ea8bc138f6 SHA512 d0389a3200f3ccad16578970d7c0e4c649df8d35eb25b586ac23ad828d06ce9280a5b977174e7a1d03d67af28817fc35df5544e0190a159b3e7ad1aebb92cc7c WHIRLPOOL a36adaa149eb2314c315831d94998f5c1844510267e25c1e7f124c3a70dc9561d71c6f31d5ae316929fe561966d450c21c86737433ca3b8b314d00e0f6bdeaa3 +AUX mfscgiserver.initd-r1 543 SHA256 81d78d4a4127df523dee9151fe5bff6946267da00783bd7e29eb17bb4bcc901d SHA512 48697c15938f4781d0b2240daa3dfa5680af1d78c5dc8dc2f8a3dc7f4410dd9c251cfe0923b371bd1286508e624e52a4c9e466db41d7e8b06220f368cdc63d51 WHIRLPOOL 31fe0df97c5be31b4d59643639cf7a09d5605298fd797380e7d593264d737771063b0de803c2b51e1d72f359c2644e11021ac68ce0367b2e6bfb20d1a3a3e8e0 +DIST mfs-1.6.26.tar.gz 754573 SHA256 f250f97c6f2a229277fdbf9fe96036873fd6c95a38f484f06e6b87a404c01885 SHA512 42fdf2b43f3d4a81068ecad48da5519adbc9fb753931198f48741e6d7235b80864ee7d8e3c04b5de2e9536be9459b72e3a5b12037adfdb97bf2a7695595e9ec5 WHIRLPOOL 234ea32360db89076d1c1da5875d28277c27a5989195c4fb638b44c86fca0df183c2bb62a73dd3e3e2a5118e04223f8e14b66da5b5a090fed1c1d3f3dae3888a +DIST mfs-1.6.27-1.tar.gz 771983 SHA256 dfe682f0b184ed13e602274825148cd9a7ddfe4f0894e1ab9c1823f66208cb28 SHA512 8e222c0741b09206e7fb6c792d679d2defa4d7f4de4c20551c236453604153fdb6e5ec049c14c675a80afa2d9df283bb4eb2e407f70cd55dbe204c325a473d59 WHIRLPOOL fb0823daf4947157936f2a59b3c7848ab91f480b02f6c49ac88f14abc877fa6a8f7de97724e675a326c4acb634b9701bdb5f0f39db2db35375500f941ea7ee56 +EBUILD moosefs-1.6.26-r1.ebuild 1533 SHA256 f27fcf3ac70b9f73e047f3bbd9761e3bde0f5b2dd1c87f4fe0f60f68a48d7e8d SHA512 04a26d39a9ecaec7639129aabb1f6d0d1fabf70a6d9fd30a7291f8e9756de5e61c115c32498e89aee1e4a302c0f6eea8cac2249480bf5e6548ebf09b47a3a791 WHIRLPOOL 5d08f7167f0718526f8791b0fc508983d7223a7fc2cac7bc178854a05624de4d56776af8ad45af4bac72a2b9331c3287518cc6e6fbde3524af73457ea54aaa1b +EBUILD moosefs-1.6.27.ebuild 1535 SHA256 e328453d583976d83605d997903914df7399da95f730ae2bf48a81cbcdf51567 SHA512 7b3c51b9b649f03f15c0f85b2ecd6f78a384259d967512d3e29e0a1e2ae1ad7adb5abf4142bde1e5c75dbca81b39a68cef0fec2e506eff00cd3699c8acf39085 WHIRLPOOL 001bcc0d4ffecae5163368533a06c5211f1cd69ff25b39aadaa7fd7f588c4d8b64644d4c08eb89c7b190baa52e3b495c6999daaa15ce66094696571f466c3296 +MISC ChangeLog 2752 SHA256 d01ce80510d2e5618748403f57f828a25284fef1b38bf37e34a87680aec2d935 SHA512 c157916c700558df532941b36044368675d885bd1e54ebe391506c6268836aea86feb521ac0a8469172f5e364082d8a5fd1142951dea55ada7f055595bbe0c00 WHIRLPOOL bc1b140e02017b0b482b36462fdbf1680ed594612df535bf9a716595a23172b7cb02480c076ce3d17ff159eb6af7b4fbc81899f259c69bf3804a1745c2de26fd +MISC ChangeLog-2015 1646 SHA256 acfa1cef55f5ab8f0dc6dd2c59469eae3ffbb235b73bf7df6165e7be7c8bc518 SHA512 e5cb884abd8c2f3bffebc211e5b49cedbcd6a82c08459ba76bb5b3c47d5a6a99cf3445504eae7acd3375488a44fd8972268bc73ae283842bfdf13cc86e54c1a2 WHIRLPOOL 90f52bdfe0f9f218de6f806433ef894b26b0b281f870f4986db58faf5cb8a85f5d0676070454561cbd7b3149a7cd8b4efa63d6f272f33cd011965ad00ec9b956 +MISC metadata.xml 657 SHA256 4b9ae0e6378993c64bb14a98c96b507b274ac5ad3a7f40579021e9ff55c67d26 SHA512 0557bc8c5bd3a63fdd08cd8da09e813cc3dff52b6d51292da5c797324cee2b393c2eae5aaedf5f82b0dafc614376f72be2a7e5ba75836189bb0302ab9924d3a4 WHIRLPOOL 41209ae4db6b56259f7f4a8e67c8f59b6599e10488ed64a4d0d3551a0d5abd30fe402483d700cd2c29a75eb2ed6511e71abd667b0af69b5361ea56f286f93e3d diff --git a/sys-cluster/moosefs/files/mfs.confd b/sys-cluster/moosefs/files/mfs.confd new file mode 100644 index 000000000000..423795e33355 --- /dev/null +++ b/sys-cluster/moosefs/files/mfs.confd @@ -0,0 +1,11 @@ +# Which mooseFS roles should we start ? +# +# NOTE: The roles are stopped in *reverse* order of the given list +# so make sure to list mfsmaster *before* the other roles. +# +# Possible values: mfsmaster mfsmetalogger mfschunkserver +#ROLES="" + +# If the role mfsmaster fails to start, should we try to run mfsmetarestore -a ? +# Possible values: 0 (no), 1 (yes) +AUTORESTORE=0
\ No newline at end of file diff --git a/sys-cluster/moosefs/files/mfs.initd-r1 b/sys-cluster/moosefs/files/mfs.initd-r1 new file mode 100644 index 000000000000..89715bf310c9 --- /dev/null +++ b/sys-cluster/moosefs/files/mfs.initd-r1 @@ -0,0 +1,96 @@ +#!/sbin/openrc-run + +extra_started_commands="reload" + +depend() { + need net +} + +chkconfig() { + [ -z "${ROLES}" ] && { eerror "No role defined !"; return 1;} + for ROLE in ${ROLES}; do + if [ ! -f /etc/mfs/${ROLE}.cfg ]; then + eerror "Missing configuration file for role ${ROLE} !" + return 1 + fi + done + return 0 +} + +autorestore() { + einfo "AUTORESTORE set, trying to restore metadata files" + mfsmetarestore -a &>/dev/null + return $? +} + +start_role() { + local ROLE=$1 + local RETURN=0 + + ebegin "${ROLE}" + start-stop-daemon -q --start --exec "${ROLE}" -- start >/dev/null + RETURN=$? + eend ${RETURN} + + return ${RETURN} +} + +start_roles() { + local RETURN=0 + + eindent + for ROLE in ${ROLES}; do + + start_role ${ROLE} || RETURN=$? + eend ${RETURN} + + if [ "${RETURN}" != "0" ] && [ "${ROLE}" == "mfsmaster" ] && [ ${AUTORESTORE} -eq 1 ]; then + eindent + autorestore && start_role ${ROLE} + RETURN=$? + eoutdent + fi + + [ "${RETURN}" != "0" ] && break + done + eoutdent + + return ${RETURN} +} + +start() { + ebegin "Starting mfs node" + chkconfig && start_roles + eend $? +} + +stop() { + local RETURN=0 + + ebegin "Stopping mfs node" + eindent + local REVERSE=$(echo ${ROLES} | tac -s' ') + for ROLE in ${REVERSE}; do + ebegin "${ROLE}" + start-stop-daemon -q --stop -n ${ROLE} || RETURN=$? + eend ${RETURN} + done + eoutdent + + eend ${RETURN} +} + +reload() { + local RETURN=0 + + ebegin "Reloading mfs node" + eindent + for ROLE in ${ROLES}; do + ebegin "${ROLE}" + start-stop-daemon --signal HUP -n ${ROLE} + eend ${RETURN} + done + eoutdent + + eend ${RETURN} +} diff --git a/sys-cluster/moosefs/files/mfscgiserver.confd b/sys-cluster/moosefs/files/mfscgiserver.confd new file mode 100644 index 000000000000..ae93c54f4f94 --- /dev/null +++ b/sys-cluster/moosefs/files/mfscgiserver.confd @@ -0,0 +1,9 @@ +# MooseFS HTTP/CGI server configuration. + +# BIND_HOST: local address to listen on +# default: any +BIND_HOST="0.0.0.0" + +# BIND_PORT: port to listen on +# default: 9425 +BIND_PORT=9425 diff --git a/sys-cluster/moosefs/files/mfscgiserver.initd-r1 b/sys-cluster/moosefs/files/mfscgiserver.initd-r1 new file mode 100644 index 000000000000..d60cf8034cd5 --- /dev/null +++ b/sys-cluster/moosefs/files/mfscgiserver.initd-r1 @@ -0,0 +1,29 @@ +#!/sbin/openrc-run + +PIDFILE=/var/run/mfscgiserv.pid + +extra_started_commands="reload" + +depend() { + need net +} + +start() { + ebegin "Starting mfs CGI server" + start-stop-daemon --start --quiet --exec /usr/sbin/mfscgiserv \ + --pidfile "${PIDFILE}" --make-pidfile --background \ + -- -H ${BIND_HOST} -P ${BIND_PORT} -f + eend $? +} + +stop() { + ebegin "Stopping mfs CGI server" + start-stop-daemon --stop -q --pidfile "${PIDFILE}" + eend $? +} + +reload() { + ebegin "Reloading mfs CGI server" + start-stop-daemon --signal HUP --pidfile "${PIDFILE}" + eend $? +} diff --git a/sys-cluster/moosefs/metadata.xml b/sys-cluster/moosefs/metadata.xml new file mode 100644 index 000000000000..d42432463d97 --- /dev/null +++ b/sys-cluster/moosefs/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription>MooseFS is a fault tolerant, network distributed file system. + It spreads data over several physical servers which are visible to the user as one resource. + For standard file operations MooseFS acts as other Unix-alike file systems + </longdescription> + <use> + <flag name="cgi">Install CGI server and scripts.</flag> + <flag name="fuse">Install the mfsmount utility.</flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/moosefs/moosefs-1.6.26-r1.ebuild b/sys-cluster/moosefs/moosefs-1.6.26-r1.ebuild new file mode 100644 index 000000000000..cdcf22ba0780 --- /dev/null +++ b/sys-cluster/moosefs/moosefs-1.6.26-r1.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils python-single-r1 user + +MY_P="mfs-${PV}" +S="${WORKDIR}/${MY_P}" + +DESCRIPTION="A filesystem for highly reliable petabyte storage" +HOMEPAGE="http://www.moosefs.org/" +SRC_URI="http://pro.hit.gemius.pl/hitredir/id=p4CVHPOzkVa0JJIK.m0Ee6dyHZEgoQb1KaiPmVK29EX.M7/url=moosefs.org/tl_files/mfscode/${MY_P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cgi +fuse static-libs" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + fuse? ( >=sys-fs/fuse-2.6 )" +DEPEND="${RDEPEND}" + +pkg_setup() { + enewgroup mfs + enewuser mfs -1 -1 -1 mfs + python-single-r1_pkg_setup +} + +src_prepare() { + # rename dist config files + sed -i 's@\.cfg\.dist@\.cfg@g' mfsdata/Makefile.in || die +} + +src_configure() { + local myopts="" + use fuse || myopts="--disable-mfsmount" + econf \ + --sysconfdir=/etc/mfs \ + --with-default-user=mfs \ + --with-default-group=mfs \ + $(use_enable cgi mfscgi) \ + $(use_enable cgi mfscgiserv) \ + $(use_enable static-libs static) \ + ${myopts} +} + +src_install() { + emake DESTDIR="${D}" install + + newinitd "${FILESDIR}/mfs.initd-r1" mfs + newconfd "${FILESDIR}/mfs.confd" mfs + if use cgi; then + python_fix_shebang "${D}"/usr/sbin/mfscgiserv + newinitd "${FILESDIR}/mfscgiserver.initd-r1" mfscgiserver + newconfd "${FILESDIR}/mfscgiserver.confd" mfscgiserver + fi + + chown -R mfs:mfs "${D}/var/lib/mfs" || die + chmod 750 "${D}/var/lib/mfs" || die +} diff --git a/sys-cluster/moosefs/moosefs-1.6.27.ebuild b/sys-cluster/moosefs/moosefs-1.6.27.ebuild new file mode 100644 index 000000000000..87cbdf9bdb5b --- /dev/null +++ b/sys-cluster/moosefs/moosefs-1.6.27.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils python-single-r1 user + +MY_P="mfs-${PV}" +S="${WORKDIR}/${MY_P}" + +DESCRIPTION="A filesystem for highly reliable petabyte storage" +HOMEPAGE="http://www.moosefs.org/" +SRC_URI="http://pro.hit.gemius.pl/hitredir/id=.WCbG2t.7Ln5k1s3Q9xPg8cPfX.wVMc5kyXfrKcJTDH.c7/url=moosefs.org/tl_files/mfscode/${MY_P}-1.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cgi +fuse static-libs" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + fuse? ( >=sys-fs/fuse-2.6 )" +DEPEND="${RDEPEND}" + +pkg_setup() { + enewgroup mfs + enewuser mfs -1 -1 -1 mfs + python-single-r1_pkg_setup +} + +src_prepare() { + # rename dist config files + sed -i 's@\.cfg\.dist@\.cfg@g' mfsdata/Makefile.in || die +} + +src_configure() { + local myopts="" + use fuse || myopts="--disable-mfsmount" + econf \ + --sysconfdir=/etc/mfs \ + --with-default-user=mfs \ + --with-default-group=mfs \ + $(use_enable cgi mfscgi) \ + $(use_enable cgi mfscgiserv) \ + $(use_enable static-libs static) \ + ${myopts} +} + +src_install() { + emake DESTDIR="${D}" install + + newinitd "${FILESDIR}/mfs.initd-r1" mfs + newconfd "${FILESDIR}/mfs.confd" mfs + if use cgi; then + python_fix_shebang "${D}"/usr/sbin/mfscgiserv + newinitd "${FILESDIR}/mfscgiserver.initd-r1" mfscgiserver + newconfd "${FILESDIR}/mfscgiserver.confd" mfscgiserver + fi + + chown -R mfs:mfs "${D}/var/lib/mfs" || die + chmod 750 "${D}/var/lib/mfs" || die +} diff --git a/sys-cluster/mpe2/Manifest b/sys-cluster/mpe2/Manifest new file mode 100644 index 000000000000..239193635bca --- /dev/null +++ b/sys-cluster/mpe2/Manifest @@ -0,0 +1,7 @@ +AUX slog2sdk-trace_rlog-makefile-fixes.patch 2734 SHA256 015ac2a9bed7d84a9e101c437b54c689e79f293c318e022a1d6884ed3571545e SHA512 6fee1a5b06cb1394a9263d856af3b5522c8b8f10bbd481b1f94644a93290718cb38c753efbeb426d3aed98827049c7c574e1e529dfb34e35134da672c34bd684 WHIRLPOOL 6dba7ffd10a91ae25c56da7b9a0ee9398f2d1bc4a1ddd92db1ffe1accfb626f2e7a468b6b39a7a5e8668ffd4995ffd7e8a1b39d2f1ecc211186ba2c9ca6f4ae1 +AUX slog2sdk-trace_sample-makefile-fixes.patch 2746 SHA256 e611b08f6c7a2cdccee7d37075ff1f8ab4bce84458b40bc859c87f541d54fd2a SHA512 dd5f1f86a4a2abc9a5248856b0eddfc276f9bfb1376ac65f98ec28280d98fb6039e4425c5fe3a02b3ef38bd993a0440b200734520f25afef52feee7af9cd11f9 WHIRLPOOL b5edc131538295c330a6464d691c693331eadc70dc8efde6d265e7594afd83e8f89d43cbb8d4b54b4e45fd1a332b743ceb161dc3d8c1773a400e917d44367b42 +DIST mpe2-1.0.6p1.tar.gz 9313216 SHA256 23cfef2b8a0a27408b5bdadeb216ba3adb3b02bf40d0fa6fc0a110cefd8c5863 SHA512 89aa4197aef4fdef14db032f058772c179bbb9055ad369338588a883ed9e75c825e396a1233d8dc079db605eeb1aa3a8ccd392c2df6ea0ccd89cd0433ba371b4 WHIRLPOOL a32418610af18401dd36b2908efd040f61196dfc7bf181f144ba4969a103f5ea4811e771d70d2c4eecf4419db9c30ef45193acc374c559c3842ebdb8d18e8b76 +EBUILD mpe2-1.0.6_p1-r2.ebuild 3813 SHA256 7e7082054e4de8524c72dce563cdbd1a4ae201a4dc28cf894763aaa546d43045 SHA512 f766eb771fba7f92f87c1c92dee1499c41d1e1aa32aac86a05a0b52ae3a64fd7e2fb6df947bdc958e8f5ea820358a7074037f04381143a091fbf22780d25f699 WHIRLPOOL 714ccee0a2af831ee3824977cee67fc55939823e8e70f7779c0e44113748305fd6d7276610aa4fad25b474b809bb25eab0db912341446c6f628986f428d2ebcc +MISC ChangeLog 4201 SHA256 d2685184cf70e2f040fe5cc827d1f1da9c0a5b1907d99d3230e319f01d61ddd0 SHA512 dba11e8f06a7505421427b3e8171b538e06576894485b2d5d417ce705aa2c7655c3129599f7c46beb3fb2493e506bd672e632e2617df47d6d4dba3b14dcfa07c WHIRLPOOL 61da5d8a53cd4ed34b36184ff9b66055badec37b6fdaba1d8c382c411585613a846e773b1831de2bef11a339c1f9e55d150d351a410ee9a585330fb6bae1abe0 +MISC ChangeLog-2015 2133 SHA256 8736dc11b3c840bfdcef19cd2209416288a13ff85572487b66e56bd1c5b7b98b SHA512 dd9e3ef8afaeec5a66c714ba9483d7a262b9627243d6c40c1f45c1d764ebd02b9b2430b4e2809693b91406a9acfbe2ad0dbd3304686cfe2eeefd8816b3b08b82 WHIRLPOOL 419f6be79cbe90e404f32fb6be1bf7bf7746b2489683e950f6dd0753175a99f7582a71adb3e4f4911eb407b2329ddc2a570efe67eb43be60f03e1658af254833 +MISC metadata.xml 257 SHA256 eba5a727fcb9e27d2a6e5dac0c92b252de676d434ef19bb09d44534257bed08c SHA512 d01f4b592393076365e924fcc717c807172488f03a7b64542238616207fd00dacd096c383e68b9558142f7dab357578f91904f73acd41ce3a6ba7b7ef72b4980 WHIRLPOOL 8621cedc31dcd2b89dffd18c102b491aea21946189d752b9dfc3b686aea7adfff6782a3c7796d777e18677b7dd99f1cd8584022642eaf009cab3b733918a501b diff --git a/sys-cluster/mpe2/files/slog2sdk-trace_rlog-makefile-fixes.patch b/sys-cluster/mpe2/files/slog2sdk-trace_rlog-makefile-fixes.patch new file mode 100644 index 000000000000..4f2119ec69f0 --- /dev/null +++ b/sys-cluster/mpe2/files/slog2sdk-trace_rlog-makefile-fixes.patch @@ -0,0 +1,68 @@ +From 5bc91497bd4b3d2e4e962ffb2d5b9b471c4183c2 Mon Sep 17 00:00:00 2001 +From: Justin Bronder <jsbronder@gmail.com> +Date: Mon, 13 Sep 2010 14:18:51 -0400 +Subject: [PATCH 1/2] slog2sdk/trace_rlog makefile fixes + +- Respect user-defined LDFLAGS when linking PGM_PRINT and PGM_CHECK. +- Do not install libraries during the compile phase. +--- + src/slog2sdk/trace_rlog/src/Makefile.in | 19 ++++++++----------- + 1 files changed, 8 insertions(+), 11 deletions(-) + +diff --git a/src/slog2sdk/trace_rlog/src/Makefile.in b/src/slog2sdk/trace_rlog/src/Makefile.in +index 9b289b8..2d772e0 100644 +--- a/src/slog2sdk/trace_rlog/src/Makefile.in ++++ b/src/slog2sdk/trace_rlog/src/Makefile.in +@@ -48,7 +48,8 @@ RM = @RM@ + + JNI_INC = @JNI_INC@ + CFLAGS = -I.. $(JNI_INC) -I$(TRACE_INCDIR) @COPTS@ +-LDFLAGS = -module -no-undefined -avoid-version @LDFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LIBLDFLAGS = -module -no-undefined -avoid-version @LDFLAGS@ + + # memory leak checker + MEMLIBS = @DEBUG_LIBS@ +@@ -66,33 +67,29 @@ ALL: $(libbuild_dir)/$(LIB_TRACE) $(binbuild_dir)/$(PGM_PRINT) $(binbuild_dir)/$ + + $(libbuild_dir)/$(LIB_TRACE): $(LOBJ) + if [ "$(EXPORT_SYMBOLS)" = "yes" ] ; then \ +- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \ ++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \ + -export-symbols $(srcdir)/JavaTraceInput.sym \ + -rpath $(libbuild_dir) ; \ + else \ +- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \ ++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \ + -rpath $(libbuild_dir) ; \ + fi +- $(LIBTOOL) --mode=install $(INSTALL) $(LIB_TRACE) $(libbuild_dir) +- $(LIBTOOL) --finish $(libbuild_dir) + + INSTALL_LIBSO: $(LOBJ) + if [ "$(EXPORT_SYMBOLS)" = "yes" ] ; then \ +- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \ ++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \ + -export-symbols $(srcdir)/JavaTraceInput.sym \ + -rpath $(LIBDIR) ; \ + else \ +- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \ ++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \ + -rpath $(LIBDIR) ; \ + fi +- $(LIBTOOL) --mode=install $(INSTALL) $(LIB_TRACE) $(DESTDIR)$(LIBDIR) +- $(LIBTOOL) --finish $(LIBDIR) + + $(binbuild_dir)/$(PGM_PRINT): $(OBJ4T) +- $(CC) @COPTS@ -o $@ $(OBJ4T) $(MEMLIBS) ++ $(CC) @COPTS@ $(LDFLAGS) -o $@ $(OBJ4T) $(MEMLIBS) + + $(binbuild_dir)/$(PGM_CHECK): $(OBJ4E) +- $(CC) @COPTS@ -o $@ $(OBJ4E) $(MEMLIBS) ++ $(CC) @COPTS@ $(LDFLAGS) -o $@ $(OBJ4E) $(MEMLIBS) + + clean: + @-$(RM) *.@OBJEXT@ *.lo *.la +-- +1.7.1 + diff --git a/sys-cluster/mpe2/files/slog2sdk-trace_sample-makefile-fixes.patch b/sys-cluster/mpe2/files/slog2sdk-trace_sample-makefile-fixes.patch new file mode 100644 index 000000000000..717911ffb710 --- /dev/null +++ b/sys-cluster/mpe2/files/slog2sdk-trace_sample-makefile-fixes.patch @@ -0,0 +1,68 @@ +From b23d8d40cf62d03cad7ce777565069368e040a96 Mon Sep 17 00:00:00 2001 +From: Justin Bronder <jsbronder@gmail.com> +Date: Mon, 13 Sep 2010 14:22:10 -0400 +Subject: [PATCH 2/2] slog2sdk/trace_sample makefile fixes + +- Respect user-defined LDFLAGS when linking PGM_PRINT and PGM_CHECK. +- Do not install libraries during the compile phase. +--- + src/slog2sdk/trace_sample/src/Makefile.in | 19 ++++++++----------- + 1 files changed, 8 insertions(+), 11 deletions(-) + +diff --git a/src/slog2sdk/trace_sample/src/Makefile.in b/src/slog2sdk/trace_sample/src/Makefile.in +index f716fff..8d3641a 100644 +--- a/src/slog2sdk/trace_sample/src/Makefile.in ++++ b/src/slog2sdk/trace_sample/src/Makefile.in +@@ -48,7 +48,8 @@ RM = @RM@ + + JNI_INC = @JNI_INC@ + CFLAGS = -I.. $(JNI_INC) -I$(TRACE_INCDIR) @COPTS@ +-LDFLAGS = -module -no-undefined -avoid-version @LDFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LIBLDFLAGS = -module -no-undefined -avoid-version @LDFLAGS@ + + # memory leak checker + MEMLIBS = @DEBUG_LIBS@ +@@ -66,33 +67,29 @@ ALL: $(libbuild_dir)/$(LIB_TRACE) $(binbuild_dir)/$(PGM_PRINT) $(binbuild_dir)/$ + + $(libbuild_dir)/$(LIB_TRACE): $(LOBJ) + if [ "$(EXPORT_SYMBOLS)" = "yes" ] ; then \ +- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \ ++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \ + -export-symbols $(srcdir)/JavaTraceInput.sym \ + -rpath $(libbuild_dir) ; \ + else \ +- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \ ++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \ + -rpath $(libbuild_dir) ; \ + fi +- $(LIBTOOL) --mode=install $(INSTALL) $(LIB_TRACE) $(libbuild_dir) +- $(LIBTOOL) --finish $(libbuild_dir) + + INSTALL_LIBSO: $(LOBJ) + if [ "$(EXPORT_SYMBOLS)" = "yes" ] ; then \ +- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \ ++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \ + -export-symbols $(srcdir)/JavaTraceInput.sym \ + -rpath $(LIBDIR) ; \ + else \ +- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \ ++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \ + -rpath $(LIBDIR) ; \ + fi +- $(LIBTOOL) --mode=install $(INSTALL) $(LIB_TRACE) $(DESTDIR)$(LIBDIR) +- $(LIBTOOL) --finish $(LIBDIR) + + $(binbuild_dir)/$(PGM_PRINT): $(OBJ4T) +- $(CC) @COPTS@ -o $@ $(OBJ4T) $(MEMLIBS) ++ $(CC) @COPTS@ $(LDFLAGS) -o $@ $(OBJ4T) $(MEMLIBS) + + $(binbuild_dir)/$(PGM_CHECK): $(OBJ4E) +- $(CC) @COPTS@ -o $@ $(OBJ4E) $(MEMLIBS) ++ $(CC) @COPTS@ $(LDFLAGS) -o $@ $(OBJ4E) $(MEMLIBS) + + clean: + @-$(RM) *.@OBJEXT@ *.lo *.la +-- +1.7.1 + diff --git a/sys-cluster/mpe2/metadata.xml b/sys-cluster/mpe2/metadata.xml new file mode 100644 index 000000000000..8bf4b5f36954 --- /dev/null +++ b/sys-cluster/mpe2/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/mpe2/mpe2-1.0.6_p1-r2.ebuild b/sys-cluster/mpe2/mpe2-1.0.6_p1-r2.ebuild new file mode 100644 index 000000000000..3c424fdf3c65 --- /dev/null +++ b/sys-cluster/mpe2/mpe2-1.0.6_p1-r2.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit eutils fortran-2 java-pkg-opt-2 toolchain-funcs + +MY_P=${P/_/} + +DESCRIPTION="MPI development tools" +HOMEPAGE="http://www-unix.mcs.anl.gov/perfvis/download/index.htm" +SRC_URI="ftp://ftp.mcs.anl.gov/pub/mpi/${PN%2}/${MY_P}.tar.gz" + +LICENSE="mpich2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug minimal fortran threads" + +COMMON_DEPEND=" + !minimal? ( + x11-libs/libXtst + x11-libs/libXi + ) + || ( + sys-cluster/openmpi[fortran?,threads?] + sys-cluster/mpich2[fortran?,threads?] + )" + +DEPEND=" + !minimal? ( >=virtual/jdk-1.6 ) + ${COMMON_DEPEND}" + +RDEPEND=" + !minimal? ( >=virtual/jre-1.6 ) + ${COMMON_DEPEND}" + +S="${WORKDIR}"/${MY_P} +MPE_IMP="" + +# README: +# This ebuild is created to handle building with both mpich2 and openmpi. +# However, without empi (in the science overlay), and some further +# conversion to use mpi.eclass, we can only handle one implementation +# at a time. I still believe it's better to have the ebuild setup +# correctly in preperation. + +pkg_setup() { + fortran-2_pkg_setup + local i + + if has_version sys-cluster/openmpi; then + MPE_IMP=openmpi + elif has_version sys-cluster/mpich2; then + MPE_IMP=mpich2 + elif has_version sys-cluster/mpich; then + MPE_IMP=mpich2 + else + die "Unknown MPI implementation" + fi + + export JFLAGS="${JFLAGS} $(java-pkg_javac-args)" + + if [[ "${MPE_IMP}" == openmpi ]] && [ -z "${MPE2_FORCE_OPENMPI_TEST}" ]; then + echo + elog "Currently src_test fails on collchk with openmpi, hence" + elog "testing is disabled by default. If you would like to" + elog "force testing, please add MPE_FORCE_OPENMPI_TEST=1" + elog "to your environment." + echo + fi + + einfo "Building with support for: sys-cluster/${MPE_IMP}" + + use minimal || java-pkg-opt-2_pkg_setup +} + +src_prepare() { + # Don't assume path contains ./ + sed -i 's,\($MPERUN\) $pgm,\1 ./$pgm,' sbin/mpetestexeclog.in || die + epatch \ + "${FILESDIR}"/slog2sdk-trace_rlog-makefile-fixes.patch \ + "${FILESDIR}"/slog2sdk-trace_sample-makefile-fixes.patch + + use minimal || java-pkg-opt-2_src_prepare +} + +src_configure() { + local c="--with-mpicc=/usr/bin/mpicc" + + if use fortran; then + c+=" --with-mpif77=/usr/bin/mpif77" + else + c+=" --disable-f77" + fi + + if use minimal; then + c+=" --enable-slog2=no --disable-rlog --disable-sample" + else + c+=" --with-java2=$(java-config --jdk-home) --enable-slog2=build" + fi + + [[ "${MPE_IMP}" == openmpi ]] && c+=" --disable-rlog --disable-sample" + + econf ${c} \ + --sysconfdir=/etc/${PN} \ + --datadir=/usr/share/${PN} \ + --with-htmldir=/usr/share/${PN} \ + --with-docdir=/usr/share/${PN} \ + --enable-collchk \ + --enable-wrappers \ + $(use_enable !minimal graphics) \ + $(use_enable threads threadlogging) \ + $(use_enable debug g) +} + +src_test() { + local rc + + cd "${S}" || die + if [[ "${MPE_IMP}" == mpich2 ]]; then + echo "MPD_SECRETWORD=junk" > "${T}"/mpd.conf || die + chmod 600 "${T}"/mpd.conf || die + export MPD_CONF_FILE="${T}/mpd.conf" + "${ROOT}"usr/bin/mpd -d --pidfile="${T}"/mpd.pid || die + elif [[ "${MPE_IMP}" == openmpi* ]] && [ -z "${MPE2_FORCE_OPENMPI_TEST}" ]; then + echo + einfo "Skipping tests for openmpi" + echo + return 0 + fi + + # No parallel make: + # http://trac.mcs.anl.gov/projects/mpich2/ticket/1095#comment:1 + emake -j1 \ + CC="${S}"/bin/mpecc \ + FC="${S}"/bin/mpefc \ + MPERUN="${ROOT}/usr/bin/mpiexec -n 4" \ + CLOG2TOSLOG2="${S}/src/slog2sdk/bin/clog2TOslog2" \ + check; + rc=${?} + if [[ "${MPE_IMP}" == mpich2 ]]; then + "${ROOT}"usr/bin/mpdallexit || kill $(<"${T}"/mpd.pid) + fi + + return ${rc} +} + +src_install() { + # No parallel make: + # http://trac.mcs.anl.gov/projects/mpich2/ticket/1095#comment:1 + MAKEOPTS+=" -j1" + default + rm -f "${ED}"/usr/sbin/mpeuninstall || die + rm -f "${ED}"/usr/bin/*.in || die +} diff --git a/sys-cluster/mpich/Manifest b/sys-cluster/mpich/Manifest new file mode 100644 index 000000000000..1deb5da29387 --- /dev/null +++ b/sys-cluster/mpich/Manifest @@ -0,0 +1,12 @@ +DIST mpich-3.0.4.tar.gz 10921075 SHA256 cf638c85660300af48b6f776e5ecd35b5378d5905ec5d34c3da7a27da0acf0b3 SHA512 f9d8b2cf561fe5f85c12512ef4dd7b0cf5ec8b53ddb07bfa0d1db2e3c8ae0382c77e0661f46b82ec96b05d18ea2d25328bb84e9528ac06e5925f30ec8ef030d0 WHIRLPOOL 52c811d1adcba26424bb3f05b7b97faff16ab3762782474fcde5f49e9ca77155fb91d80967120d9277eed2adb116443afe444671eb6315a610587d55ac4ec9ed +DIST mpich-3.1.3.tar.gz 11487313 SHA256 afb690aa828467721e9d9ab233fe00c68cae2b7b930d744cb5f7f3eb08c8602c SHA512 3071d75e925808c13ea528aaff81a2ee44a4eb9732c74005a0cedd5a710aeafc691d30c7a035ae0aba14bd2b837c1c788202a7612599d3ffac8e5a9299467c09 WHIRLPOOL ade5a2ab7a98a3ee353a0b41ad8c57b8676ea7e381e625c01237519c88e9e16c5330cf6c569707ded26462022dd8647ba0a24dc2c1559240781b0e4fa1c69511 +DIST mpich-3.1.4.tar.gz 11325036 SHA256 f68b5330e94306c00ca5a1c0e8e275c7f53517d01d6c524d51ce9359d240466b SHA512 55bd4d12a42b9ebc116016bd777eb2b8ed8c51e69f5ea5faf823eba0aeb7eadfe2848c4cca3032aa38841a25a4902c07cec2409811149a057c4aa99a25c6b6da WHIRLPOOL 243ea40dd67b7f8e6fecde58740c21703833ca2857922ad59c5744888145bbf0ee934a69128818cd5bb91f39a3e842c26b2eced20ba23e08c8968b903f1f9992 +DIST mpich-3.2.tar.gz 11862150 SHA256 0778679a6b693d7b7caff37ff9d2856dc2bfc51318bf8373859bfa74253da3dc SHA512 083c51655b4355827bd7fa4fe528046e2bc77b7747d869ff87b79fa324c3cc2a9b5640ccb7271490ccc0dd627e354a33a449bbab448501bbfddcfe5f999ee717 WHIRLPOOL 4196be94f5f5766f06e3f5893153e6d44fe93a5ef17dfcf3fce075b1506d5b762ba175dceeac0668284adc9f4a846917801f2138ed2d81f464d3a191b3f88f1c +EBUILD mpich-3.0.4.ebuild 2525 SHA256 678c9ce3b9ee3b4c2e1c6d47a0afdc360456a6eff6a22673940170bc184efc2c SHA512 f5bf6fc9c4507d36098659bc83b16424f36f34ce4d33e816e3f084ab48dabce3fb3be001d89a18b4ecf2697f24f8559a48839a92effd2e7375edd36862526fd4 WHIRLPOOL 3212a545cfa0d5fedd7d9eb675e097131258a45f232b1154d4dcf825b0b61e4087db49ccaa2065269f07a230231a76e83b15680cc7e9b755a5ca61a64c7ded4e +EBUILD mpich-3.1.3.ebuild 2536 SHA256 f54c1dbfdf626acc1e1314f2512869b8a2361e18e6d1377398fa3755e770aff1 SHA512 6de19ec1f8c1501d4e1ac9f2aaeaa80da5df419acc0c6c8fc098f05fa07f23661e8f196bdcb8219aa10a6d41646a38a8299d4038eb5b1c78e6b95bc6d98eecd4 WHIRLPOOL bda24b88afb86c05510c1ba505254de8f23633bd77a56c33f3305e7c51bbc52f5d1e99a1c02366db0406bfa0ab968ff69a9a3c9bedb95bf6982e2908a46f3de6 +EBUILD mpich-3.1.4.ebuild 2558 SHA256 66569145fbea940f4024dd474ab1c47e1e42fb830be27e7bfb74b4b0f8d9696e SHA512 af2234b1fd821b406f590580c49aa3762dcf478c6ea73ae57cdb748e4cbaeb4ec3c04345e6c06a83db77a122c4d90675253274b867a84b3aaf0150b9fffaa46a WHIRLPOOL c1b176c86cb4d997b286d660bb1bd8e4c6c4a378d076d658d3594f7e4eed6f994662b4e25ee70d2759a1b586a6ad9b37eb735d1f8c4c2bbae70759cdd1c51336 +EBUILD mpich-3.2-r1.ebuild 3121 SHA256 1ae18b8af6273b7b34afd853171dc3f2f60cd1ea530a4ea61890fe1a2af893bd SHA512 afd8bfe874c7da0340afc0c8d45b98297b8ff9976ecad4df3a653777fbf268ca1b3682b4c6f47277b8e63faae9581429d74a432b838aedd1192742ed9b5c6fa4 WHIRLPOOL 367a4a5522272994623c8dea49c864b475200a01a4d144210c7b32e74d4d965a9ee54069aa635961cc2735fef0d94a96a125ed0fc8e9b95aae3f65b92b1113da +EBUILD mpich-3.2.ebuild 2558 SHA256 66569145fbea940f4024dd474ab1c47e1e42fb830be27e7bfb74b4b0f8d9696e SHA512 af2234b1fd821b406f590580c49aa3762dcf478c6ea73ae57cdb748e4cbaeb4ec3c04345e6c06a83db77a122c4d90675253274b867a84b3aaf0150b9fffaa46a WHIRLPOOL c1b176c86cb4d997b286d660bb1bd8e4c6c4a378d076d658d3594f7e4eed6f994662b4e25ee70d2759a1b586a6ad9b37eb735d1f8c4c2bbae70759cdd1c51336 +MISC ChangeLog 3376 SHA256 15f949095b624bbca43e043da1aca775fbdd39c1cdb530301459d702d2b4c18e SHA512 0cc8e14234a0f12de2666177ef05865183fae3dedd7afa3e5a483ceeca75433713a1b275f76bd369df9ffe00d52b93d7e6b122a59c6910dd2549347b15e4a9c1 WHIRLPOOL ceccbe46797aefdb065336af5afaac3e2c093387813409cc0d5950b1e470d969ec617af8221fbfde65feb52e23efa25ca15b9a7a91dd04950d9174a8cac1cdfe +MISC ChangeLog-2015 1135 SHA256 ee778609b1259d3d52507e50cf682e9cb869a45a8dbbe471888cb25e8ab012bd SHA512 0c80fe92dd53bcf463fd3f8315597358f7f7ae6101ba628c233f3a803d6d50832514690e06eb6dca4de89cefe2a588b5d50e3ebf94f4ebe9310ffbf999a6ade4 WHIRLPOOL 1435577c019d8019e4c31203cd5716fa47add34e959b84f21a478dd6171e8f6b1da20b53b6aafdb2e68e37b37ad9fe5dfe2fd81ec8d5256d91ab8b97667beb98 +MISC metadata.xml 658 SHA256 36ba3a7882526eda76a522faddf61a9ecbfc6a6b7c3d5ee80930d8d335968bb5 SHA512 fb8427b6757ba0571f5f78ee71bfd80ebf9e0835a1016b3ef1f66d27a2022033118c7a1fbfe4011e591d321bae9df48c4e4554e3daaa1a3033bee74b5f4c08fe WHIRLPOOL c4f63d413cc3a6d1c8f5b5b4d1026e6ca17db071f719a91d9ce96b70255dd897ae948561250605d005ef34f1601c2e070c9f21c1e319541a10b3c6877a6d040a diff --git a/sys-cluster/mpich/metadata.xml b/sys-cluster/mpich/metadata.xml new file mode 100644 index 000000000000..6cbe440faf21 --- /dev/null +++ b/sys-cluster/mpich/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>jsbronder@gentoo.org</email> + <name>Justin Bronder</name> + </maintainer> + <maintainer type="person"> + <email>balaji@mcs.anl.gov</email> + <name>Pavan Balaji</name> + <description>Upstream Contact</description> + </maintainer> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <use> + <flag name="mpi-threads">Enable MPI_THREAD_MULTIPLE</flag> + <flag name="romio">Build the ROMIO MPI-IO component</flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/mpich/mpich-3.0.4.ebuild b/sys-cluster/mpich/mpich-3.0.4.ebuild new file mode 100644 index 000000000000..63dee55d2a0b --- /dev/null +++ b/sys-cluster/mpich/mpich-3.0.4.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit fortran-2 + +MY_PV=${PV/_/} +DESCRIPTION="A high performance and portable MPI implementation" +HOMEPAGE="http://www.mpich.org/" +SRC_URI="http://www.mpich.org/static/downloads/${PV}/${P}.tar.gz" + +SLOT="0" +LICENSE="mpich" +KEYWORDS="amd64 hppa ppc ppc64 x86 ~amd64-linux ~x86-linux" +IUSE="+cxx doc fortran mpi-threads romio threads" + +COMMON_DEPEND=" + dev-libs/libaio + sys-apps/hwloc + romio? ( net-fs/nfs-utils )" + +DEPEND="${COMMON_DEPEND} + dev-lang/perl + sys-devel/libtool" + +RDEPEND="${COMMON_DEPEND} + !sys-cluster/mpich2 + !sys-cluster/openmpi" + +S="${WORKDIR}"/${PN}-${MY_PV} + +pkg_setup() { + FORTRAN_STANDARD="77 90" + fortran-2_pkg_setup + + if use mpi-threads && ! use threads; then + ewarn "mpi-threads requires threads, assuming that's what you want" + fi +} + +src_prepare() { + # Using MPICHLIB_LDFLAGS doesn't seem to fully work. + sed -i 's| *@WRAPPER_LDFLAGS@ *||' \ + src/packaging/pkgconfig/mpich.pc.in \ + src/env/*.in \ + || die +} + +src_configure() { + local c="--enable-shared" + + # The configure statements can be somewhat confusing, as they + # don't all show up in the top level configure, however, they + # are picked up in the children directories. + + if use mpi-threads; then + # MPI-THREAD requries threading. + c="${c} --with-thread-package=pthreads" + c="${c} --enable-threads=runtime" + else + if use threads ; then + c="${c} --with-thread-package=pthreads" + else + c="${c} --with-thread-package=none" + fi + c="${c} --enable-threads=single" + fi + + c="${c} --sysconfdir=${EPREFIX}/etc/${PN}" + c="${c} --docdir=${EPREFIX}/usr/share/doc/${PF}" + + export MPICHLIB_CFLAGS=${CFLAGS} + export MPICHLIB_CPPFLAGS=${CPPFLAGS} + export MPICHLIB_CXXFLAGS=${CXXFLAGS} + export MPICHLIB_FFLAGS=${FFLAGS} + export MPICHLIB_FCFLAGS=${FCFLAGS} + export MPICHLIB_LDFLAGS=${LDFLAGS} + unset CFLAGS CPPFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS + + econf ${c} \ + --with-pm=hydra \ + --disable-mpe \ + --disable-fast \ + --enable-smpcoll \ + --enable-versioning \ + --with-hwloc-prefix=/usr \ + $(use_enable romio) \ + $(use_enable cxx) \ + $(use_enable fortran f77) \ + $(use_enable fortran fc) +} + +src_test() { + emake -j1 check +} + +src_install() { + default + + dodir /usr/share/doc/${PF} + dodoc README{,.envvar} CHANGES RELEASE_NOTES + newdoc src/pm/hydra/README README.hydra + if use romio; then + newdoc src/mpi/romio/README README.romio + fi + + if ! use doc; then + rm -rf "${D}"usr/share/doc/${PF}/www* + fi +} diff --git a/sys-cluster/mpich/mpich-3.1.3.ebuild b/sys-cluster/mpich/mpich-3.1.3.ebuild new file mode 100644 index 000000000000..0ed79526c4a0 --- /dev/null +++ b/sys-cluster/mpich/mpich-3.1.3.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit fortran-2 + +MY_PV=${PV/_/} +DESCRIPTION="A high performance and portable MPI implementation" +HOMEPAGE="http://www.mpich.org/" +SRC_URI="http://www.mpich.org/static/downloads/${PV}/${P}.tar.gz" + +SLOT="0" +LICENSE="mpich" +KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+cxx doc fortran mpi-threads romio threads" + +COMMON_DEPEND=" + dev-libs/libaio + >=sys-apps/hwloc-1.9 + romio? ( net-fs/nfs-utils )" + +DEPEND="${COMMON_DEPEND} + dev-lang/perl + sys-devel/libtool" + +RDEPEND="${COMMON_DEPEND} + !sys-cluster/mpich2 + !sys-cluster/openmpi" + +S="${WORKDIR}"/${PN}-${MY_PV} + +pkg_setup() { + FORTRAN_STANDARD="77 90" + fortran-2_pkg_setup + + if use mpi-threads && ! use threads; then + ewarn "mpi-threads requires threads, assuming that's what you want" + fi +} + +src_prepare() { + # Using MPICHLIB_LDFLAGS doesn't seem to fully work. + sed -i 's| *@WRAPPER_LDFLAGS@ *||' \ + src/packaging/pkgconfig/mpich.pc.in \ + src/env/*.in \ + || die +} + +src_configure() { + local c="--enable-shared" + + # The configure statements can be somewhat confusing, as they + # don't all show up in the top level configure, however, they + # are picked up in the children directories. + + if use mpi-threads; then + # MPI-THREAD requries threading. + c="${c} --with-thread-package=pthreads" + c="${c} --enable-threads=runtime" + else + if use threads ; then + c="${c} --with-thread-package=pthreads" + else + c="${c} --with-thread-package=none" + fi + c="${c} --enable-threads=single" + fi + + c="${c} --sysconfdir=${EPREFIX}/etc/${PN}" + c="${c} --docdir=${EPREFIX}/usr/share/doc/${PF}" + + export MPICHLIB_CFLAGS=${CFLAGS} + export MPICHLIB_CPPFLAGS=${CPPFLAGS} + export MPICHLIB_CXXFLAGS=${CXXFLAGS} + export MPICHLIB_FFLAGS=${FFLAGS} + export MPICHLIB_FCFLAGS=${FCFLAGS} + export MPICHLIB_LDFLAGS=${LDFLAGS} + unset CFLAGS CPPFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS + + econf ${c} \ + --with-pm=hydra \ + --disable-mpe \ + --disable-fast \ + --enable-smpcoll \ + --enable-versioning \ + --with-hwloc-prefix=/usr \ + $(use_enable romio) \ + $(use_enable cxx) \ + $(use_enable fortran f77) \ + $(use_enable fortran fc) +} + +src_test() { + emake -j1 check +} + +src_install() { + default + + dodir /usr/share/doc/${PF} + dodoc README{,.envvar} CHANGES RELEASE_NOTES + newdoc src/pm/hydra/README README.hydra + if use romio; then + newdoc src/mpi/romio/README README.romio + fi + + if ! use doc; then + rm -rf "${D}"usr/share/doc/${PF}/www* + fi +} diff --git a/sys-cluster/mpich/mpich-3.1.4.ebuild b/sys-cluster/mpich/mpich-3.1.4.ebuild new file mode 100644 index 000000000000..81b842d0f03e --- /dev/null +++ b/sys-cluster/mpich/mpich-3.1.4.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit fortran-2 + +MY_PV=${PV/_/} +DESCRIPTION="A high performance and portable MPI implementation" +HOMEPAGE="http://www.mpich.org/" +SRC_URI="http://www.mpich.org/static/downloads/${PV}/${P}.tar.gz" + +SLOT="0" +LICENSE="mpich" +KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+cxx doc fortran mpi-threads romio threads" + +COMMON_DEPEND=" + dev-libs/libaio + >=sys-apps/hwloc-1.9 + romio? ( net-fs/nfs-utils )" + +DEPEND="${COMMON_DEPEND} + dev-lang/perl + sys-devel/libtool" + +RDEPEND="${COMMON_DEPEND} + !sys-cluster/mpich2 + !sys-cluster/openmpi" + +S="${WORKDIR}"/${PN}-${MY_PV} + +pkg_setup() { + FORTRAN_STANDARD="77 90" + fortran-2_pkg_setup + + if use mpi-threads && ! use threads; then + ewarn "mpi-threads requires threads, assuming that's what you want" + fi +} + +src_prepare() { + # Using MPICHLIB_LDFLAGS doesn't seem to fully work. + sed -i 's| *@WRAPPER_LDFLAGS@ *||' \ + src/packaging/pkgconfig/mpich.pc.in \ + src/env/*.in \ + || die +} + +src_configure() { + local c="--enable-shared" + local hydra_c="--with-hwloc-prefix=/usr" + + # The configure statements can be somewhat confusing, as they + # don't all show up in the top level configure, however, they + # are picked up in the children directories. Hence the separate + # local vars. + + if use mpi-threads; then + # MPI-THREAD requries threading. + c="${c} --with-thread-package=pthreads" + c="${c} --enable-threads=runtime" + else + if use threads ; then + c="${c} --with-thread-package=pthreads" + else + c="${c} --with-thread-package=none" + fi + c="${c} --enable-threads=single" + fi + + c="${c} --sysconfdir=${EPREFIX}/etc/${PN}" + c="${c} --docdir=${EPREFIX}/usr/share/doc/${PF}" + + export MPICHLIB_CFLAGS=${CFLAGS} + export MPICHLIB_CPPFLAGS=${CPPFLAGS} + export MPICHLIB_CXXFLAGS=${CXXFLAGS} + export MPICHLIB_FFLAGS=${FFLAGS} + export MPICHLIB_FCFLAGS=${FCFLAGS} + export MPICHLIB_LDFLAGS=${LDFLAGS} + unset CFLAGS CPPFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS + + econf ${c} \ + --with-pm=hydra \ + --disable-fast \ + --enable-versioning \ + ${hydra_c} + $(use_enable romio) \ + $(use_enable cxx) \ + $(use_enable fortran f77) \ + $(use_enable fortran fc) +} + +src_test() { + emake -j1 check +} + +src_install() { + default + + dodir /usr/share/doc/${PF} + dodoc README{,.envvar} CHANGES RELEASE_NOTES + newdoc src/pm/hydra/README README.hydra + if use romio; then + newdoc src/mpi/romio/README README.romio + fi + + if ! use doc; then + rm -rf "${D}"usr/share/doc/${PF}/www* + fi +} diff --git a/sys-cluster/mpich/mpich-3.2-r1.ebuild b/sys-cluster/mpich/mpich-3.2-r1.ebuild new file mode 100644 index 000000000000..7a865b38f333 --- /dev/null +++ b/sys-cluster/mpich/mpich-3.2-r1.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +FORTRAN_NEEDED=fortran +FORTRAN_STANDARD="77 90" + +inherit fortran-2 multilib-minimal + +MY_PV=${PV/_/} +DESCRIPTION="A high performance and portable MPI implementation" +HOMEPAGE="http://www.mpich.org/" +SRC_URI="http://www.mpich.org/static/downloads/${PV}/${P}.tar.gz" + +SLOT="0" +LICENSE="mpich" +KEYWORDS="amd64 ~arm64 hppa ppc ppc64 x86 ~amd64-linux ~x86-linux" +IUSE="+cxx doc fortran mpi-threads romio threads" + +COMMON_DEPEND=" + >=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-1.10.0-r2[${MULTILIB_USEDEP}] + romio? ( net-fs/nfs-utils )" + +DEPEND="${COMMON_DEPEND} + dev-lang/perl + sys-devel/libtool" + +RDEPEND="${COMMON_DEPEND} + !sys-cluster/mpich2 + !sys-cluster/openmpi + !sys-cluster/nullmpi" + +S="${WORKDIR}"/${PN}-${MY_PV} + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpicxx.h + /usr/include/mpi.h + /usr/include/opa_config.h +) + +src_prepare() { + default + + # Using MPICHLIB_LDFLAGS doesn't seem to fully work. + sed -i 's| *@WRAPPER_LDFLAGS@ *||' \ + src/packaging/pkgconfig/mpich.pc.in \ + src/env/*.in \ + || die +} + +multilib_src_configure() { + # The configure statements can be somewhat confusing, as they + # don't all show up in the top level configure, however, they + # are picked up in the children directories. Hence the separate + # local vars. + + local c= + if use mpi-threads; then + # MPI-THREAD requries threading. + c="${c} --with-thread-package=pthreads" + c="${c} --enable-threads=runtime" + else + if use threads ; then + c="${c} --with-thread-package=pthreads" + else + c="${c} --with-thread-package=none" + fi + c="${c} --enable-threads=single" + fi + + c="${c} --sysconfdir=${EPREFIX}/etc/${PN}" + c="${c} --docdir=${EPREFIX}/usr/share/doc/${PF}" + + export MPICHLIB_CFLAGS="${CFLAGS}" + export MPICHLIB_CPPFLAGS="${CPPFLAGS}" + export MPICHLIB_CXXFLAGS="${CXXFLAGS}" + export MPICHLIB_FFLAGS="${FFLAGS}" + export MPICHLIB_FCFLAGS="${FCFLAGS}" + export MPICHLIB_LDFLAGS="${LDFLAGS}" + unset CFLAGS CPPFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS + + ECONF_SOURCE=${S} econf \ + --enable-shared \ + --with-hwloc-prefix="${EPREFIX}/usr" \ + ${c} \ + --with-pm=hydra \ + --disable-fast \ + --enable-versioning \ + $(use_enable romio) \ + $(use_enable cxx) \ + $(multilib_native_use_enable fortran fortran all) +} + +multilib_src_test() { + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if use fortran; then + if multilib_is_native_abi; then + mkdir "${T}"/fortran || die + mv "${ED}"usr/include/mpif* "${T}"/fortran || die + mv "${ED}"usr/include/*.mod "${T}"/fortran || die + else + rm "${ED}"usr/include/mpif* "${ED}"usr/include/*.mod || die + fi + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/* "${ED}"usr/include || die + fi + + einstalldocs + newdoc src/pm/hydra/README README.hydra + if use romio; then + newdoc src/mpi/romio/README README.romio + fi + + if ! use doc; then + rm -rf "${ED}"usr/share/doc/${PF}/www* || die + fi +} diff --git a/sys-cluster/mpich/mpich-3.2.ebuild b/sys-cluster/mpich/mpich-3.2.ebuild new file mode 100644 index 000000000000..81b842d0f03e --- /dev/null +++ b/sys-cluster/mpich/mpich-3.2.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit fortran-2 + +MY_PV=${PV/_/} +DESCRIPTION="A high performance and portable MPI implementation" +HOMEPAGE="http://www.mpich.org/" +SRC_URI="http://www.mpich.org/static/downloads/${PV}/${P}.tar.gz" + +SLOT="0" +LICENSE="mpich" +KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+cxx doc fortran mpi-threads romio threads" + +COMMON_DEPEND=" + dev-libs/libaio + >=sys-apps/hwloc-1.9 + romio? ( net-fs/nfs-utils )" + +DEPEND="${COMMON_DEPEND} + dev-lang/perl + sys-devel/libtool" + +RDEPEND="${COMMON_DEPEND} + !sys-cluster/mpich2 + !sys-cluster/openmpi" + +S="${WORKDIR}"/${PN}-${MY_PV} + +pkg_setup() { + FORTRAN_STANDARD="77 90" + fortran-2_pkg_setup + + if use mpi-threads && ! use threads; then + ewarn "mpi-threads requires threads, assuming that's what you want" + fi +} + +src_prepare() { + # Using MPICHLIB_LDFLAGS doesn't seem to fully work. + sed -i 's| *@WRAPPER_LDFLAGS@ *||' \ + src/packaging/pkgconfig/mpich.pc.in \ + src/env/*.in \ + || die +} + +src_configure() { + local c="--enable-shared" + local hydra_c="--with-hwloc-prefix=/usr" + + # The configure statements can be somewhat confusing, as they + # don't all show up in the top level configure, however, they + # are picked up in the children directories. Hence the separate + # local vars. + + if use mpi-threads; then + # MPI-THREAD requries threading. + c="${c} --with-thread-package=pthreads" + c="${c} --enable-threads=runtime" + else + if use threads ; then + c="${c} --with-thread-package=pthreads" + else + c="${c} --with-thread-package=none" + fi + c="${c} --enable-threads=single" + fi + + c="${c} --sysconfdir=${EPREFIX}/etc/${PN}" + c="${c} --docdir=${EPREFIX}/usr/share/doc/${PF}" + + export MPICHLIB_CFLAGS=${CFLAGS} + export MPICHLIB_CPPFLAGS=${CPPFLAGS} + export MPICHLIB_CXXFLAGS=${CXXFLAGS} + export MPICHLIB_FFLAGS=${FFLAGS} + export MPICHLIB_FCFLAGS=${FCFLAGS} + export MPICHLIB_LDFLAGS=${LDFLAGS} + unset CFLAGS CPPFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS + + econf ${c} \ + --with-pm=hydra \ + --disable-fast \ + --enable-versioning \ + ${hydra_c} + $(use_enable romio) \ + $(use_enable cxx) \ + $(use_enable fortran f77) \ + $(use_enable fortran fc) +} + +src_test() { + emake -j1 check +} + +src_install() { + default + + dodir /usr/share/doc/${PF} + dodoc README{,.envvar} CHANGES RELEASE_NOTES + newdoc src/pm/hydra/README README.hydra + if use romio; then + newdoc src/mpi/romio/README README.romio + fi + + if ! use doc; then + rm -rf "${D}"usr/share/doc/${PF}/www* + fi +} diff --git a/sys-cluster/mpich2/Manifest b/sys-cluster/mpich2/Manifest new file mode 100644 index 000000000000..69adeaa676cf --- /dev/null +++ b/sys-cluster/mpich2/Manifest @@ -0,0 +1,5 @@ +DIST mpich2-1.5.tar.gz 22826035 SHA256 7175926fc2e4230f00201e880318c08de4f949c0dbe167fe1b2e256ac79d5f66 SHA512 01ef68accdd60af805705c1c7a144a570eee6f01984939fe151a093f963c956fba366247b1058885ba1a2ff626278d30e928e03d394bd6cf2a4b6dab99586c15 WHIRLPOOL 2cffe3dc6942f4d141601fcb51a08405c5c61af84c8e224dc9301b18846862d27f7646637aa199720c3858345471c244cb78800d4f2b484742edd8ef6a674b45 +EBUILD mpich2-1.5.ebuild 2597 SHA256 1e4fc6b7998321f0342117046b1a61cb64b0881c392b7307518285189aaa5158 SHA512 798070431a2fd857dd57c9608dd623e29c14e037db36bafa4c76a4a7d2efe4a32725f555def91d9186162839bb36332d4c7a4aa591d1b80e659f562b6685142d WHIRLPOOL 86610542345dfbb55e5c3c547983fa5cb0ef43a9c620cea973c5913c77bf3a4228d336c08589cd9eecd66a75c541d55d99651a8199bb069f531b30c4999b3cec +MISC ChangeLog 2423 SHA256 39d2e78f94c15410a031573a978d9ec5d15e79f17698a74f9c8b3c8d3e164e4e SHA512 032c15bbdc8d5b27c51a93afba0f7c1be6bdc3c0f06a74916ce53d2f5ad0bb397566d60da6b3faf0b53c87d13f873c3a93cfb6fa039dc695737b84217e04bb2f WHIRLPOOL 86251956fb6637c587836966f977d47392817bec4a080fb613f28a3d0ca37df1c8b91252245509f4972fb1bbb89536f1fd18ec93d4bda799a7655a1c24d5d4ae +MISC ChangeLog-2015 17582 SHA256 9c92113c92ab216448a4e27b44def1defb66646527659f6715a0aaa0976f7fc9 SHA512 5a4e7191941cc986b1880523f8ee4ec5052fba021730c3c5d2a1f50d0e9db8aba0f722a710b138962df31546b7b885d137a6788ef928e7a9f123069fa8ea1081 WHIRLPOOL b1a8654eaf59a0e8158cb5a3e52e54de265ad035540e9e1ac3316a25df449052a61ee4a74502dcec98bab9120ed1e14291dfcaedb07fa384c72a6cc64ef95f2f +MISC metadata.xml 537 SHA256 2a954472dbdda148e5c9f5c8ff1edcda2728ed6de50a40d2c742a3186542de7f SHA512 6fef333f26872e307ad083ef2e9feafcd264b363feb519e61dea1e2b254b5f3035ff152d84f61311eb3e54c0d08f2a858f446da60ceaa74bd31466fee9ac5500 WHIRLPOOL 17f9b0927aacdf957219f4e4b1326d963ab8a72528659b1ba898207f0063179ee42da85e1e8e1ca4c8bb80203b572122952d6977ad4d7f216a93469a76662641 diff --git a/sys-cluster/mpich2/metadata.xml b/sys-cluster/mpich2/metadata.xml new file mode 100644 index 000000000000..d88fa13bcaf8 --- /dev/null +++ b/sys-cluster/mpich2/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>jsbronder@gentoo.org</email> + <name>Justin Bronder</name> + </maintainer> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <use> + <flag name="romio">Enable romio, a high-performance portable MPI-IO + implementation</flag> + <flag name="mpi-threads">Enable MPI_THREAD_MULTIPLE</flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/mpich2/mpich2-1.5.ebuild b/sys-cluster/mpich2/mpich2-1.5.ebuild new file mode 100644 index 000000000000..a962084a710f --- /dev/null +++ b/sys-cluster/mpich2/mpich2-1.5.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit fortran-2 + +MY_PV=${PV/_/} +DESCRIPTION="A high performance and portable MPI implementation" +HOMEPAGE="http://www.mcs.anl.gov/research/projects/mpich2/index.php" +SRC_URI="http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/${MY_PV}/${PN}-${MY_PV}.tar.gz" + +SLOT="0" +LICENSE="mpich2" +KEYWORDS="amd64 ~arm64 hppa ppc ppc64 x86 ~amd64-linux ~x86-linux" +IUSE="+cxx doc fortran mpi-threads romio threads" + +COMMON_DEPEND=" + dev-libs/libaio + sys-apps/hwloc + romio? ( net-fs/nfs-utils )" + +DEPEND="${COMMON_DEPEND} + dev-lang/perl + sys-devel/libtool" + +RDEPEND="${COMMON_DEPEND} + !sys-cluster/mpich + !sys-cluster/openmpi" + +S="${WORKDIR}"/${PN}-${MY_PV} + +pkg_setup() { + FORTRAN_STANDARD="77 90" + fortran-2_pkg_setup + + if use mpi-threads && ! use threads; then + ewarn "mpi-threads requires threads, assuming that's what you want" + fi +} + +src_prepare() { + # Using MPICH2LIB_LDFLAGS doesn't seem to full work. + sed -i 's| *@WRAPPER_LDFLAGS@ *||' \ + src/packaging/pkgconfig/mpich2.pc.in \ + src/env/*.in \ + || die +} + +src_configure() { + local c="--enable-shared" + + # The configure statements can be somewhat confusing, as they + # don't all show up in the top level configure, however, they + # are picked up in the children directories. + + if use mpi-threads; then + # MPI-THREAD requries threading. + c="${c} --with-thread-package=pthreads" + c="${c} --enable-threads=runtime" + else + if use threads ; then + c="${c} --with-thread-package=pthreads" + else + c="${c} --with-thread-package=none" + fi + c="${c} --enable-threads=single" + fi + + export MPICH2LIB_CFLAGS=${CFLAGS} + export MPICH2LIB_CPPFLAGS=${CPPFLAGS} + export MPICH2LIB_CXXFLAGS=${CXXFLAGS} + export MPICH2LIB_FFLAGS=${FFLAGS} + export MPICH2LIB_FCFLAGS=${FCFLAGS} + export MPICH2LIB_LDFLAGS=${LDFLAGS} + unset CFLAGS CPPFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS + + c="${c} --sysconfdir=${EPREFIX}/etc/${PN}" + c="${c} --docdir=${EPREFIX}/usr/share/doc/${PF}" + econf ${c} \ + --with-pm=hydra \ + --disable-mpe \ + --disable-fast \ + --enable-smpcoll \ + --enable-versioning \ + $(use_enable romio) \ + $(use_enable cxx) \ + $(use_enable fortran f77) \ + $(use_enable fortran fc) +} + +src_test() { + emake -j1 check +} + +src_install() { + default + + dodir /usr/share/doc/${PF} + dodoc COPYRIGHT README{,.envvar} CHANGES RELEASE_NOTES + newdoc src/pm/hydra/README README.hydra + if use romio; then + newdoc src/mpi/romio/README README.romio + fi + + if ! use doc; then + rm -rf "${D}"usr/share/doc/${PF}/www* + fi +} diff --git a/sys-cluster/mvapich2/Manifest b/sys-cluster/mvapich2/Manifest new file mode 100644 index 000000000000..9bf801fc0790 --- /dev/null +++ b/sys-cluster/mvapich2/Manifest @@ -0,0 +1,5 @@ +DIST mvapich2-1.6.tgz 23239787 SHA256 e657ba2eaf43119fec70859677a08bb8138a8bf18c1f375891fed0b7c77aa28d SHA512 4a4aac17742f347c4daed40a8360576ff4c644c549d4a3b364c7d2b1eada6aecc514b447b4613111e113d8f9be79b5101a999298cf89ff19ce63523a54702289 WHIRLPOOL 922fce19a07388b2efdae67e921355b532fe32ae1698d50de1aa00b34587f0efaf37de778f2a8c97f4fdc53a475c829e62bd41754322fbcaef71a7376691f296 +EBUILD mvapich2-1.6.ebuild 3905 SHA256 a5a5310426a57e90b60c65d84cf7833af36cda31bf229f9b2af069c01e5422b8 SHA512 856e1c976f39b6cfa83cf111f35a109bd634060851a25f1c26a51178c01893210d43ff2cfa5b9302748e952e045de27a107fb4aac68f5890c5426a6e5cc980f4 WHIRLPOOL 8bc661c3cf310e3d43fa6cb1d10dc30614bd05c71da944971770a105079074bc55fe0dc1521d2e45ca4e3354477bcd07a0559efc92f17205690a4b9099c63250 +MISC ChangeLog 2584 SHA256 78df17220118e47b0b93218fafc4f12760b2ad71245a082ce940b3a616fa493d SHA512 1bded62ad2556a507e8572f29ff098c8c8692799e9d66265e96aa449e195d92dd17346f14058bf4495c69698d342a51b3bc2e90d8213aaeb47824e3d8eff6542 WHIRLPOOL a4fc8617301cd06495abb5f650d8f8a848711571055432c60b1bd5156481d66503f3ef57451520fa525f57615e1f1927c0fdadacefbcb512b30edf991898017e +MISC ChangeLog-2015 358 SHA256 22a408422f68a4eb6ad223ce405a7f072e11d1fa61af21bd4e186ff940b224f7 SHA512 b1a2b9622c7b0194ca9905d5f30828ae7d15d2f4dc172c4b2af992a744f38d304b1cb78d745f87bc709dcc43490deb0ef2e41751e10a28783bfacb7f6d9ecf5b WHIRLPOOL 1f8e48c2f3017c0b7a1778429cff84b5bdacc93bfe5ba351ddf95bc8ff7e9a0185c330984b859cac74f248c7a469669d9f6db8aaa60ae2ad2a826fed8d75cca7 +MISC metadata.xml 646 SHA256 5a6626a1b245f51c6d0962b034dd3265a6ab6f19dce29b16195fa007d4446235 SHA512 251bae667db76befd899a01a8f1c658f4552f2a4c0e0790489c7b0d8e984fcf3f08b2954e9dcb2ddc4d3b7a4d0bb8a82aee5d004c9dabb4b760e1c7d0ec3b67a WHIRLPOOL e3184888e688efc8195f72532b9528ff03c746bf38dad9014bd15bf027d363b2b8c23af9d28189c50bff3db0fdc8378274f8b7ef9e9fa68acf45d87265ad1044 diff --git a/sys-cluster/mvapich2/metadata.xml b/sys-cluster/mvapich2/metadata.xml new file mode 100644 index 000000000000..2c8285bf4d21 --- /dev/null +++ b/sys-cluster/mvapich2/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription> +MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB. +</longdescription> + <use> + <flag name="large-cluster">Automatically generated description for large-cluster</flag> + <flag name="medium-cluster">Automatically generated description for medium-cluster</flag> + <flag name="romio">Automatically generated description for romio</flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/mvapich2/mvapich2-1.6.ebuild b/sys-cluster/mvapich2/mvapich2-1.6.ebuild new file mode 100644 index 000000000000..31fec6cd3d00 --- /dev/null +++ b/sys-cluster/mvapich2/mvapich2-1.6.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="4" + +inherit fortran-2 + +DESCRIPTION="MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB" +HOMEPAGE="http://mvapich.cse.ohio-state.edu/" +SRC_URI="${HOMEPAGE}/download/mvapich2/mvapich2-${PV/_/-}.tgz" + +SLOT="0" +LICENSE="BSD" +KEYWORDS="~x86 ~amd64" +IUSE="debug fortran large-cluster medium-cluster romio threads" + +RDEPEND=" + || ( + ( + sys-fabric/libibverbs + sys-fabric/libibumad + sys-fabric/libibmad + sys-fabric/librdmacm ) + sys-fabric/openib-userspace )" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/mvapich2-${PV/_/-}" + +pkg_setup() { + fortran-2_pkg_setup + + if [ -z "${MVAPICH_HCA_TYPE}" ]; then + elog "${PN} needs to know which HCA it should optimize for. This is" + elog "passed to the ebuild with the variable, \${MVAPICH_HCA_TYPE}." + elog "Please choose one of: _MLX_PCI_EX_SDR_, _MLX_PCI_EX_DDR_," + elog "_MLX_PCI_X, _PATH_HT_, or _IBM_EHCA_." + elog "See make.mvapich2.detect in ${S} for more information." + die "MVAPICH_HCA_TYPE undefined" + fi + + case ${ARCH} in + amd64) + if grep Intel /proc/cpuinfo &>/dev/null; then + BUILD_ARCH=-D_EM64T_ + else + BUILD_ARCH=-D_X86_64_ + fi + ;; + x86) + BUILD_ARCH=-D_IA32_ + ;; + ia64) + BUILD_ARCH=-D_IA64_ + ;; + ppc64) + BUILD_ARCH=-D_PPC64_ + ;; + *) + die "unsupported architecture: ${ARCH}" + ;; + esac +} + +src_prepare() { + einfo "Disabling examples" + # Examples are always compiled with the default 'all' target. This + # causes problems when we don't build support for everything, including + # threads, mpe2, etc. So we're not going to build them. + sed -i 's:.*cd examples && ${MAKE} all.*::' Makefile.in +} + +src_configure() { + local c="--with-device=osu_ch3:mrail + --with-rdma=gen2 + --with-pm=mpd + $(use_enable romio) + --with-mpe=no" + + # TODO Shared libs should build with this, but they don't + # --enable-shared=gcc" + + local enable_srq + local vcluster=-D_SMALL_CLUSTER + + use large-cluster && vcluster=-D_LARGE_CLUSTER + use medium-cluster && vcluster=-D_MEDIUM_CLUSTER + [ "${MVAPICH_HCA_TYPE}" == "_MLX_PCI_X_" ] && enable_srq="-DSRQ" + + append-ldflags "-lrdmacm" + append-flags "-DADAPTIVE_RDMA_FAST_PATH -DRDMA_CM" + + append-ldflags "-libverbs -libumad -libmad" + + append-flags "${BUILD_ARCH} -DUSE_INLINE -D_SMP_ -D_GNU_SOURCE" + append-flags "${enable_srq} -DUSE_HEADER_CACHING -DLAZY_MEM_UNREGISTER" + append-flags "-DONE_SIDED -D${MVAPICH_HCA_TYPE} ${vcluster}" + append-flags "-DMPID_USE_SEQUENCE_NUMBERS -DUSE_MPD_RING" + + use debug && c="${c} --enable-g=all --enable-debuginfo" + + if use threads; then + c="${c} --enable-threads=multiple --with-thread-package=pthreads" + append-flags "-pthread" + else + c="${c} --with-thread-package=none" + fi + + # enable f90 support for appropriate compilers + if use fortran; then + case "$(tc-getFC)" in + gfortran|ifort|f95) + c="${c} --enable-f77 --enable-f90";; + g77|f77|f2c) + c="${c} --enable-f77 --disable-f90";; + esac + else + c="${c} --disable-f77 --disable-f90" + fi + + sed -i \ + -e 's/ ${exec_prefix}/ ${DESTDIR}${exec_prefix}/' \ + -e 's/ ${libdir}/ ${DESTDIR}${libdir}/' \ + ${S/-beta2/}/Makefile.in + sed -i '/bindir/s/ ${bindir}/ ${DESTDIR}${bindir}/' ${S/-beta2/}/src/pm/mpd/Makefile.in + cd ${S/-beta2/} + + econf ${c} +} + +src_install() { + emake DESTDIR="${D}"|| die + dodoc CHANGES_MPICH2 COPYRIGHT COPYRIGHT_MVAPICH2 LICENSE.TXT \ + README* RELEASE_NOTES* +} + +pkg_postinst() { + einfo "To allow normal users to use infiniband, it is necessary to" + einfo "increase the system limits on locked memory." + einfo "You must increase the kernel.shmmax sysctl value, and increase" + einfo "the memlock limits in /etc/security/limits.conf. i.e.:" + echo + einfo "echo 'kernel.shmmax = 512000000' >> /etc/sysctl.conf" + einfo "echo 512000000 > /proc/sys/kernel/shmmax" + einfo "echo -e '* soft memlock 500000\n* hard memlock 500000' > /etc/security/limits.conf" +} diff --git a/sys-cluster/native-mpi/Manifest b/sys-cluster/native-mpi/Manifest new file mode 100644 index 000000000000..8d8fa53ff2f3 --- /dev/null +++ b/sys-cluster/native-mpi/Manifest @@ -0,0 +1,4 @@ +EBUILD native-mpi-0.ebuild 622 SHA256 b51d2ec3279f76641039903ae42eb2dff980c81d2865be7cc293e14bde5edae3 SHA512 9f86900e569535c5e00fdbca9b89269b5d2404b1a88d0c0c30e75ca70950d7d6d73609ac88b7adc986af6e9d8d289264875ec580bb2d051b4785e0e426fc03d0 WHIRLPOOL 5e69ff432b4b1f40ce3cf5728096576a2aaef7ae6a100eae707770ecd3589b9cd8245c2da3095bbad6aa13b2928880d8d73d314cd7d8d341dad3412e7a25f6a3 +MISC ChangeLog 2657 SHA256 0fedfe3a64d08269053a57a4bb8df55a96f1cdbfc65da6d2e11da93cadc3351b SHA512 66c3d768b80b30bbc14bfe8d279b64c074425773df9cda63d1855c9bca7fcd41332a50f8818c62409509b8502b63d5e3055e5972c1dab241a44b0db4703320b5 WHIRLPOOL b4b08541e667ad787851125cb864b3774bd2e19d5ff383325dcdb0628d26be3b74259a2e21f0f0f7cbb7a2bd678c3d7d0fb436010143dbcc2cdfc19516194272 +MISC ChangeLog-2015 474 SHA256 e7dcbf47a47f134d8a5ffb9977d440e1c28dd65d5a7414e6996e0ff6031eed19 SHA512 7f6b53c1b95efcc165b706e0a7621a83758df03bf31f98e0f97a8e491e4d140e21c24dac9f70c5a4f6670d2f479aedb5cfe3a45a96bcb75ab8ca8bf5cb2e1a47 WHIRLPOOL bbdca8f151fb01f1e14f2972156000d6d997c8f893d0db745889357045597867eb12016e346ffb758babfeaee7a790dcf43ef6d414c664d3953193a918735cad +MISC metadata.xml 364 SHA256 42e9a796dc9709d484f90894843a15f129a83108a729388e182b44a649ff2837 SHA512 14e1b1507a36c5de43477ce2596f8e303ed3f01e28f86b378659fcfd08e6a65cf34b9324ebf0e8205cd81b942b70f5169803155740641d4dfaf6809a63fc369b WHIRLPOOL 6fb4cff1de065cc6f1c859f53debe3f117bfacedce7b13b0a9073c32fefaeac8912f5eb6c780475919f2a54723eca5fb2fdd0b7b1f07495d645d6b27c7c19580 diff --git a/sys-cluster/native-mpi/metadata.xml b/sys-cluster/native-mpi/metadata.xml new file mode 100644 index 000000000000..326a015ab7c4 --- /dev/null +++ b/sys-cluster/native-mpi/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="person"> + <email>alexxy@gentoo.org</email> + <name>Alexey Shvetsov</name> + </maintainer> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/native-mpi/native-mpi-0.ebuild b/sys-cluster/native-mpi/native-mpi-0.ebuild new file mode 100644 index 000000000000..5b2cab5d1d15 --- /dev/null +++ b/sys-cluster/native-mpi/native-mpi-0.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=3 + +DESCRIPTION="Use native OS MPI in prefix environment" +HOMEPAGE="https://prefix.gentoo.org" +SRC_URI="" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64-linux ~x86-linux" +IUSE="" + +DEPEND="" +RDEPEND="${DEPEND}" + +src_install() { + cat >> "${T}"/99mpi <<- EOF + MPI_CC=gcc + MPI_CXX=g++ + MPI_FC=gfortran + MPI_F90=gfortran + HPMPI_F77=gfortran + EOF + doenvd "${T}"/99mpi +} + +pkg_postinst() { + einfo + einfo "Please read and edit ${EPREFIX}/etc/env.d/99mpi" + einfo "to add needed values for your os-mpi implentation" + einfo +} diff --git a/sys-cluster/neutron/Manifest b/sys-cluster/neutron/Manifest new file mode 100644 index 000000000000..4f7199366e16 --- /dev/null +++ b/sys-cluster/neutron/Manifest @@ -0,0 +1,37 @@ +AUX neutron-dhcp-agent.confd 75 SHA256 e36fe3d370ad2b4c82ccf1f4caac60882334d93e3abd7e0e6e268d23cb069d71 SHA512 94cf300c9a9d0275e4fcab4ffdb7e29ca26b73c120d6ff683b48ea0e9c21e46123289522aedd295e4d5d28307133b50084541a90a48db456802d675eed6c2d3e WHIRLPOOL 9e77fe1ef65fa8ef46f8272ddea7213a46e71c6f2884eab20f09eaddc977f5cc202c8529c1a75347132c667e4e2d39d5bdd3ab2c94812c4b1f95f398af75c38c +AUX neutron-l3-agent.confd 73 SHA256 560997f3e40d90ef885483e4bd02728bf88720378238fc5e6b3b2abb2ba9dd0e SHA512 4a902c5621abc124424bdad97de8959f63f7c846b4c7b9b3ccaab5522ff3e6938acf748df269980484228d4fc13d2f1e3e3670619207e3c88ea5dd5373699e0a WHIRLPOOL 653156dbbff34606fa0694bab622eb40c2ead171b1ad0a0c934285a50f15db4d8927e40ebff8d2ffe64078a8a079d48a2834e68b049c11a68417dc3945374cb8 +AUX neutron-linuxbridge-agent.confd 133 SHA256 6ab45c510081a0cb25a42bbae3e4b326e3332efedf1bd6b95edf0c7f6b5b54c5 SHA512 d87a21d307dbfcdadaf9655b194a9646dad26a3b138bb02977dcb372cf0a7585ca69fa4bd7085e63b4119daa25f5db314ac4d62839a4d7d106a85a795ac3d1d4 WHIRLPOOL f24a3b450ee92678ee170af2f08e444fd968dfe64322fa27922e9156d3a1c4e2ce173dd334fbde739b56831d77f7fc6535eea4ed348ad9b2b4e341017ca432b5 +AUX neutron-metadata-agent.confd 79 SHA256 6888df2f0bf5332d880ceb5a1076816ee605d30b70879d9972b0c9504399edea SHA512 a7a4af56141f1528f7f9ca222f88d400f7a5f6cba392a603121974f6429ecdb925996b1bd6631b589df70464f910deed688e287668ccb1d61fe1d6aa641272a1 WHIRLPOOL e7fc657e6fd0dcf99dad0bc5b7747b1521e22ba1eced8ad163151a0e1ec8c6c9b4eb46ed17ce23264c8903c5aeb2455f9c057ad956fa925d6ad131345cb2d772 +AUX neutron-openvswitch-agent.confd 142 SHA256 5b58c86356f0f851d5a838bddffe9d86da4ac8a54198859067684ccf37d13715 SHA512 277bc5fe0a55bfc5e6f95ddabee76340a7725d156ca1100bc0dbc6245929322e537129628b5cef353cfe689d14330a7c8e0cd9aff894f7d0b093d909c83fdd87 WHIRLPOOL 5079aaaf0cf32337acb8c74d7de99520f2bd738a9af61844fb276688e1af1b1bc039b9988384914bd8df7aadb03fff7b5f13e57f542f23e489f7660f1afc8519 +AUX neutron-server.confd 70 SHA256 40d09a699fc3bced40c5a9dc7394a76c40c245b579fc270909966e11485564d7 SHA512 79f1a40486c37b2c3486b4ef015864f6b20ee89b05d788ce6ade8af934e2c160da9e0495d22e941a717072c1d8ca3b77963a3ec06f3ec25a3f8af8b24a4e40a0 WHIRLPOOL 59f9ac13d58fd76014090988c642d4cb244d51726fb5733cc30e7fbba5c22226ef955f8e8021dad04ab457df0fe5879d13af8c40a6913d03c15bffb48cf4a5ac +AUX neutron.initd 679 SHA256 9dde94306c7681110eab64122dae7f63ce370d09c724557e9e9e1c7d40371774 SHA512 7c233d3ca96a90201a97772b67e98d50e7dcacc079bee9d7eb62e3900b54d515eb4615bea098148ec5bd02ecab0818dad80f2dcbd9867760b31cb74325218493 WHIRLPOOL 7c0f36b05a6ab346da2941695b1a7fcf8aedd351f3bc380c88b71c5f498582250b55c243dad0e486f6ef88b185c169e2a141172ecb39e5e7b1554c198080aedb +AUX neutron.initd-2 530 SHA256 ae78b7651dd97277c928d478ab809434d0e34402ed3aa90a65d296fd8e7fa5b1 SHA512 56331cbac87b14180e738cb2d3881682344a59f698b8fa67428e058693430363418e31707484786b4eb8053904c061d278d06a56c03cc77d8f6a0372c892d5a7 WHIRLPOOL 192bddf28a05290356a38907e5b3cb3406b8937d3876090d52650bac625101a324bb10af6f81ee379783ed5ed9c6dded76362d36a90eae3aa7bd7ef77b2b8cd4 +AUX neutron.sudoersd 117 SHA256 b40ea04a95deedbb66fe504df61b55905cbd746e5ba26321c01cd25b5cc9dcbe SHA512 143f8a1faa7650bc66b2566d0bd62f71eb743231b9efc4c7df265e53d664418b23182e3f271b86845ed76c537b7f60157e87af59413cf659379f367924d14366 WHIRLPOOL bb0e35d7b7471fab424f86f181601bc87d4bba98f4fbc282cc6302a05128992613097afe1fea159e9c718cd688a03c280b53d72bfe47fc91bd24967a4b4618da +DIST neutron-10.0.3.tar.gz 3125880 SHA256 7f4c455d54647f5f32871b61acac0d66de32dd1e7a589bad04b266560d0ba7ef SHA512 615c5ece84d61c1e3878566cc538af15f32d92a3a3def0bfe627e804c44c9d64cb1160f7adf4f136596e687348036a795035c773213f7d57e79422fb149f560e WHIRLPOOL 1c249112c5f850b6244db7264f2295106ef2b8b68cc472eafe19e407f36c6afcfd8024ac160d9b2e7da85a60c86a88f70bd385763bdd8c22fc276000151ff46c +DIST neutron-10.0.4.tar.gz 3124422 SHA256 1e7c999045c8d5c1e3dcb6aca05984f880bc58935682f6b8146239739a3a121a SHA512 f85949ac08728b6338cf58abfaf2c9e67882d49fefa16104580c73aaea3f0634602712583e88248f261fd3b0c8690172e4a72f550bd159cacf732440274cc844 WHIRLPOOL 6694f8372e8a2af3ff2bcc766523c11837515ebb85548160779d4cc4ea21ee7a68f1bc0636efb56f2f83764521625a1f238b59999df21849c36826c8186b03e4 +DIST neutron-11.0.1.tar.gz 10472277 SHA256 a6ea7a9e57c507bbcffea9373383543f976289c692c9aafc458a530e51db10f0 SHA512 ab353e6ae09e32c9b520a918624a661c5635f2de4df05f78f3e9c6102258ab12ee5c657f89732d89ef182833f80cb70454418a5556cc7738bd7f86b995762b37 WHIRLPOOL cb74b2feaa659f980e619c1f0fd95b5d40ddc1a581a0cc0b6b35fb2d74ec6ff93b2fb675c7b5be4ea59769c878e777ee920a6943c9612b32219a4fc619d5f2eb +DIST neutron-9.4.1.tar.gz 3060881 SHA256 c8a4c5a9f696b3d4455ef4b823d47d2cccfdfff7a160981e4d26c61a9cf41d0a SHA512 94a374a2f03ab9d586d6be6a612aabcc9cb71565d5ec2415442cfdb09463811418b04d1f159f4b5a286798020ae3e83196bb0c9db3f27c43e5abedfe66ecdb33 WHIRLPOOL db09caef44b969fec9b80b1898cab4293bb62d6188938aa943ccd00bc736a64e5b8f85f4a07f12de2866b4b76966e55d01b991f0db82d648b73fc8710095659d +DIST neutron-configs-10.0.3.tar.gz 25094 SHA256 7f210828b0c3fa9d859fca8c4735fd60aefad3cd5d0cf810b762af268df59269 SHA512 40ab9f2f4ea338c061c57d9aa5611ee3f3476ab8f5199ac50577f94fec032ccd27028bd072d9d9d0cc9f12327613e542b4d62a0403540730f9d6efbc4992a00d WHIRLPOOL dbdaff979a40e33cd171390657e39fb9b2a311c972e8d018e301af5361b0224ba62972241febfc4991a06bf9f16390e5c779de86823ed94eaebbee610c8c6657 +DIST neutron-configs-10.0.4.tar.gz 25094 SHA256 7f210828b0c3fa9d859fca8c4735fd60aefad3cd5d0cf810b762af268df59269 SHA512 40ab9f2f4ea338c061c57d9aa5611ee3f3476ab8f5199ac50577f94fec032ccd27028bd072d9d9d0cc9f12327613e542b4d62a0403540730f9d6efbc4992a00d WHIRLPOOL dbdaff979a40e33cd171390657e39fb9b2a311c972e8d018e301af5361b0224ba62972241febfc4991a06bf9f16390e5c779de86823ed94eaebbee610c8c6657 +DIST neutron-configs-11.0.1.tar.gz 25030 SHA256 ad2a57865a13ccf62b852c2d31336e9f0aab0f979caaaa6227856c59a3ef86ac SHA512 d82abfcfe5c911dc8a0689e23aaad810bb3aacaf64bd35439220f41390a71958e7cd34e60500580c24ea9e8b55a6fb0441ce4e5612fad9aba2e48d6f14d4d87a WHIRLPOOL 30a577afb2d48ee5d5c13666dc23843bee1aadcd3369d090ffa150bf7ea60ae97bfac0ecc39aa09d29106f9117aab477632c520b146db4c9a78ec021c959851d +DIST neutron-configs-2016.2.9999.tar.gz 13458 SHA256 111e940f7da24c18673794188f348285997a0e1f250446076700902bab101f71 SHA512 42f9a685f0869c491610c66f5bc5f952b959a0a8514687007814e0ca97e27fb491460bc64eaf8fc47e982c8519b1dc9b5e2b4a3c047535b52521b3325ba38d44 WHIRLPOOL bcceb81f46d69aa02876f2d2a76c642f9b48b472dc3e6217bef48649ecfa64d535c2361d224889f31f21b7fb40bb97930ab93443abe6d9cddfd56f19d84f5601 +DIST neutron-configs-2017.1.9999.tar.gz 25094 SHA256 7f210828b0c3fa9d859fca8c4735fd60aefad3cd5d0cf810b762af268df59269 SHA512 40ab9f2f4ea338c061c57d9aa5611ee3f3476ab8f5199ac50577f94fec032ccd27028bd072d9d9d0cc9f12327613e542b4d62a0403540730f9d6efbc4992a00d WHIRLPOOL dbdaff979a40e33cd171390657e39fb9b2a311c972e8d018e301af5361b0224ba62972241febfc4991a06bf9f16390e5c779de86823ed94eaebbee610c8c6657 +DIST neutron-configs-2017.2.9999.tar.gz 25030 SHA256 ad2a57865a13ccf62b852c2d31336e9f0aab0f979caaaa6227856c59a3ef86ac SHA512 d82abfcfe5c911dc8a0689e23aaad810bb3aacaf64bd35439220f41390a71958e7cd34e60500580c24ea9e8b55a6fb0441ce4e5612fad9aba2e48d6f14d4d87a WHIRLPOOL 30a577afb2d48ee5d5c13666dc23843bee1aadcd3369d090ffa150bf7ea60ae97bfac0ecc39aa09d29106f9117aab477632c520b146db4c9a78ec021c959851d +DIST neutron-configs-9.4.1.tar.gz 13458 SHA256 111e940f7da24c18673794188f348285997a0e1f250446076700902bab101f71 SHA512 42f9a685f0869c491610c66f5bc5f952b959a0a8514687007814e0ca97e27fb491460bc64eaf8fc47e982c8519b1dc9b5e2b4a3c047535b52521b3325ba38d44 WHIRLPOOL bcceb81f46d69aa02876f2d2a76c642f9b48b472dc3e6217bef48649ecfa64d535c2361d224889f31f21b7fb40bb97930ab93443abe6d9cddfd56f19d84f5601 +DIST neutron-ml2-plugins-10.0.3.tar.gz 6811 SHA256 6ad759c8720563e502602fc32a72569884bdaad1443f4b8d23c8e9d240071f70 SHA512 51c01eab8f424b871f55b7dc45bbae6300d477e8bc7be4587c4945f75a4fc65f622ed69dbfe0c63db7fced2118987730204d259bce53e353a6b4d24df89dadcb WHIRLPOOL 5e4bf872895e8354fa9e6d7bb071f3d973f28c22297ea414f1bfc8f1bb3ae3102609ff61f19efda59f9d9d7a515fb8ae8216347a2935af64e4bdeeb6ec610863 +DIST neutron-ml2-plugins-10.0.4.tar.gz 6811 SHA256 6ad759c8720563e502602fc32a72569884bdaad1443f4b8d23c8e9d240071f70 SHA512 51c01eab8f424b871f55b7dc45bbae6300d477e8bc7be4587c4945f75a4fc65f622ed69dbfe0c63db7fced2118987730204d259bce53e353a6b4d24df89dadcb WHIRLPOOL 5e4bf872895e8354fa9e6d7bb071f3d973f28c22297ea414f1bfc8f1bb3ae3102609ff61f19efda59f9d9d7a515fb8ae8216347a2935af64e4bdeeb6ec610863 +DIST neutron-ml2-plugins-11.0.1.tar.gz 6885 SHA256 bcd177baaed1c4438f8852607a7a660aa5d6181c18b42dd52a489a229730b3a5 SHA512 e5acaed2fc370e99c9c8b54040cdc994cd35bfbd3d74682d3c03c381568c89b316a6a87356aa6ae538a19c2ae83b6b3c512095afcc778525c2885b9b6bef04bd WHIRLPOOL a77d3c00d63f21e96d2996ea59af326555499455f63a63d517a2580435d9ec822f1e74d0cb747c3bc04edeb183d65cc918f4e3336b2d6ea5db7ecd72d6a014e4 +DIST neutron-ml2-plugins-2016.2.9999.tar.gz 2073 SHA256 1e12e81673168860a2d7c5172deb00a7301d0a698014113dfcfba74759ba444d SHA512 bcde3a4d5e041c0080503cdf8f60c83e1c09f873010e78f4bc9066f57b17cf69394cf71cedbb8d3819a62d9cfdd545b102f16b53c0e3deb44b1d03136c14d711 WHIRLPOOL 099e19f4ec98fb54187e100af057711db3df3f86ae117a03f38afe37b6c5135666330aeb05867331cc015e8f14bee6e34942d1cb5aec63f92e01e7d6ae69f671 +DIST neutron-ml2-plugins-2017.1.9999.tar.gz 6811 SHA256 6ad759c8720563e502602fc32a72569884bdaad1443f4b8d23c8e9d240071f70 SHA512 51c01eab8f424b871f55b7dc45bbae6300d477e8bc7be4587c4945f75a4fc65f622ed69dbfe0c63db7fced2118987730204d259bce53e353a6b4d24df89dadcb WHIRLPOOL 5e4bf872895e8354fa9e6d7bb071f3d973f28c22297ea414f1bfc8f1bb3ae3102609ff61f19efda59f9d9d7a515fb8ae8216347a2935af64e4bdeeb6ec610863 +DIST neutron-ml2-plugins-2017.2.9999.tar.gz 6885 SHA256 bcd177baaed1c4438f8852607a7a660aa5d6181c18b42dd52a489a229730b3a5 SHA512 e5acaed2fc370e99c9c8b54040cdc994cd35bfbd3d74682d3c03c381568c89b316a6a87356aa6ae538a19c2ae83b6b3c512095afcc778525c2885b9b6bef04bd WHIRLPOOL a77d3c00d63f21e96d2996ea59af326555499455f63a63d517a2580435d9ec822f1e74d0cb747c3bc04edeb183d65cc918f4e3336b2d6ea5db7ecd72d6a014e4 +DIST neutron-ml2-plugins-9.4.1.tar.gz 2073 SHA256 1e12e81673168860a2d7c5172deb00a7301d0a698014113dfcfba74759ba444d SHA512 bcde3a4d5e041c0080503cdf8f60c83e1c09f873010e78f4bc9066f57b17cf69394cf71cedbb8d3819a62d9cfdd545b102f16b53c0e3deb44b1d03136c14d711 WHIRLPOOL 099e19f4ec98fb54187e100af057711db3df3f86ae117a03f38afe37b6c5135666330aeb05867331cc015e8f14bee6e34942d1cb5aec63f92e01e7d6ae69f671 +EBUILD neutron-10.0.3.ebuild 8645 SHA256 ba205bea9d609683143120d0918552df1acf1e163ce463f86e36388ebf772597 SHA512 8069f0a69824c5dfcf127d0e058dd0c0e5cff5a5ae54b3bf82e87bfc55e283379f3e38a095edce156f6533ae2547b3f7a54c1fe09fd44c10d5c28847d73ad0bc WHIRLPOOL 6142edffbe6733b9b04dcee547cf893823491fb7d858ac6c70495983129232f1378e94b656c0e10fc4c0a9516a01951d06b053957e790f7f5309ff4e76fce285 +EBUILD neutron-10.0.4.ebuild 8647 SHA256 8bef9b36cdb64e41f01d4f70ea9d51195f3a06923d4e8e695f22e39ed31e8a55 SHA512 2503c0d4bd453e0aa34abf373e3b3cec4ac68144d744a834656bbfc116ea081ab48171a5595955dd1072ff3e140905e918f2c69972a0d585d2dbe615830908ef WHIRLPOOL 90206aac2b18b50c0fd475cff66dc93587a24602ddfea6addcd125b39791020e5af28b0f1ee7b51d1c890bfc2f583157a7e53aa552bbdb5aaacbd8b475e1262b +EBUILD neutron-11.0.1.ebuild 9547 SHA256 b29ed2fdae67682c0a9b4771b0cf3152f22dd9a1080fed4b9fa149619538e36c SHA512 097ba6eb1aa4a3a3748978f32ccbfa496855eeb9ce34931061380d52210225687952713ceb5940e1a0d4a57213ff815209dc58b7ffba21ea986a6adc7c4c36f0 WHIRLPOOL 640d247edff40330fbf063390dbb9d59449b8e4a5fa89ef1a2f5df40c0f546b8d4d170e1e02cc40e90dce5955541b0bdc63a10d596020a6d5c5804ee1e047b0b +EBUILD neutron-2016.2.9999.ebuild 8606 SHA256 796e2dc0996d2b9a9c009c1d96d4e01496964742df67a8888e55e9eea73baf12 SHA512 fded1fb3ee23382522b2dbf11c8177b72fd1379dd56e3b071c83c457857443369eee9a9bef5fd5d8067b74b89d84b768a541cd2a35e80d8f9207a9b90c1fc7db WHIRLPOOL c05c9aa0adc807e54b36e3f61acf377b0707ddaa6685485adc764fcd8d8a0a5e80a434b86b78a6a125bcf2e807a4f6ed13d236ba816b57a16d38ee3b3719c5de +EBUILD neutron-2017.1.9999.ebuild 8670 SHA256 e9d64cad0e05c54fc38d555bbf66bfa5c3390a88b13a104710ed74ebb21030de SHA512 26022752732fe8171b1e341d36f04b8eb73b3ad64b798a5002856d8d68672d88766ae0a19e66dd0af9122e3a12d0569e3b19b5646495fc45557ffa04d0ddf62f WHIRLPOOL 2ac706a5956e535c910bf563281d8b65eec0ceeff86d6c101d67b7e93fcf370b0db741efee2f190dcc0daf2dac2e015f5df3b84c7d3e44cd6b990dd93a6dc4de +EBUILD neutron-2017.2.9999.ebuild 9571 SHA256 d7e656eac8dbb12c23b766c162c2de57bb5b9c4fc5b74c9f56cb17f4d4bc36b8 SHA512 4769f3f31fc4e9b936a556272dc59614b8f50e3a077afa564472a65ee96baba352ab2dd641537331bdb30349c0114cdc1c0984a1cf809290950eab576dc7ef58 WHIRLPOOL e22263dd546d00ebce12a921ca1bfae564d5cfcb05aa268056013ef88967d05a04310719cd68a6e549b59a73993846e2dd88d913f89b12ed60aa158c0b5e369e +EBUILD neutron-9.4.1.ebuild 8442 SHA256 ecd24101e791d2bb0ce9029e1dc611c14b2bb78f832a5fed6d76d376bebbdd10 SHA512 a833c2f91e88850c9d260cce39b4ecb8973206e86e664fc6cb326280978463ec44b5a60835a38e163a38127295a3c22c5ce5221ebd69f16877c366f6e7c08081 WHIRLPOOL ee09f5eecfed85caf36749b75b50f61a822a8a1dbd99a6c4c302391b8a29b835dd58d1c95545ae28b4fbb1b428176b493a028a33d4ba8baf638a53273d32ad22 +MISC ChangeLog 15147 SHA256 59b54d19ce4b63d1f481c78a60a859ba151022de06846133e428474b177832c9 SHA512 57d48b157628ddc731112f74ce4e9404ef250b068581c883ffdd090150ab80cd11be5771f2fb27c5b5d949df4d821a7dfaf91796902e2533e72f49819c60423c WHIRLPOOL 2c46895d78590674ede2f8aca96c3605e8de6cc145fec9b45caa56eaf5385189debdb318ee2b8fb7f80d4ffad9a13d161b100896dea9fb96138bb57a31eadcd7 +MISC ChangeLog-2015 18698 SHA256 4a6446fb01cf1d8399a4ce110d6eb6ab16544e5620f9fdc5971310a096366f63 SHA512 ba2d79f13f48cb97014e803c285e236bf51121b759109485d60cbb5d1abda48edb041a1040a9c291f3bc57ee116b44baba3b861c26a8c17549fcb986ba790f38 WHIRLPOOL a1edadb7c8edc01c01a1c23b01a37998bf2551988b6f08d602ceda8eb6b1d371f644a28d734504fbead7af94e90665fd4c59eeb3fd1b61c599abfee1fec1e3b1 +MISC metadata.xml 1563 SHA256 6c4260c21c306a8f22a061e8b75aadd074f5fe66e808b954d41f007243b28421 SHA512 137f360c6ad2e71ff87105a260b4fdca88264ad0bcd0be3b4f8f5f111002f1d5c47d1423f443f24fa3d11b6f3f0fa7891999ddea3b74c33a29c9cfdcc8316ac6 WHIRLPOOL b4861a0f2a410404653209d2c4a1a2450121b39502da173999c3838a4347fadcbcf3f48beeba3c274710781992e9d94fdebfa07f8e63341535de3fe5e4f58a13 diff --git a/sys-cluster/neutron/files/neutron-dhcp-agent.confd b/sys-cluster/neutron/files/neutron-dhcp-agent.confd new file mode 100644 index 000000000000..75ddba5ebb7a --- /dev/null +++ b/sys-cluster/neutron/files/neutron-dhcp-agent.confd @@ -0,0 +1,2 @@ +NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/dhcp_agent.ini") + diff --git a/sys-cluster/neutron/files/neutron-l3-agent.confd b/sys-cluster/neutron/files/neutron-l3-agent.confd new file mode 100644 index 000000000000..990278682fbd --- /dev/null +++ b/sys-cluster/neutron/files/neutron-l3-agent.confd @@ -0,0 +1,2 @@ +NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/l3_agent.ini") + diff --git a/sys-cluster/neutron/files/neutron-linuxbridge-agent.confd b/sys-cluster/neutron/files/neutron-linuxbridge-agent.confd new file mode 100644 index 000000000000..9a2d52c70f8a --- /dev/null +++ b/sys-cluster/neutron/files/neutron-linuxbridge-agent.confd @@ -0,0 +1 @@ +NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/plugins/ml2/ml2_conf.ini" "/etc/neutron/plugins/ml2/linuxbridge_agent.ini") diff --git a/sys-cluster/neutron/files/neutron-metadata-agent.confd b/sys-cluster/neutron/files/neutron-metadata-agent.confd new file mode 100644 index 000000000000..6a78b7abe3c9 --- /dev/null +++ b/sys-cluster/neutron/files/neutron-metadata-agent.confd @@ -0,0 +1,2 @@ +NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/metadata_agent.ini") + diff --git a/sys-cluster/neutron/files/neutron-openvswitch-agent.confd b/sys-cluster/neutron/files/neutron-openvswitch-agent.confd new file mode 100644 index 000000000000..30b10b69bbfb --- /dev/null +++ b/sys-cluster/neutron/files/neutron-openvswitch-agent.confd @@ -0,0 +1 @@ +NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/plugins/ml2/ml2_conf.ini" "/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini") diff --git a/sys-cluster/neutron/files/neutron-server.confd b/sys-cluster/neutron/files/neutron-server.confd new file mode 100644 index 000000000000..9b6b2e63f8bc --- /dev/null +++ b/sys-cluster/neutron/files/neutron-server.confd @@ -0,0 +1 @@ +NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/plugin.ini") diff --git a/sys-cluster/neutron/files/neutron.initd b/sys-cluster/neutron/files/neutron.initd new file mode 100644 index 000000000000..803ccb58f70e --- /dev/null +++ b/sys-cluster/neutron/files/neutron.initd @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Starts ${SVCNAME} service for OpenStack" + +command=/usr/bin/"${SVCNAME}" +command_background=yes +pidfile=/var/run/neutron/"${SVCNAME}".pid +required_files=(${NEUTRON_CONFS[@]:-/etc/neutron/neutron.conf}) +command_args="${required_files[@]/#/--config-file } --log-file /var/log/neutron/${SVCNAME#*-}.log" +start_stop_daemon_args="--quiet --user ${NEUTRON_USER:-neutron}" + +depend() { + need net +} + +start_pre() { + checkpath --directory --owner "${NEUTRON_USER:-neutron}":"${NEUTRON_GROUP:-neutron}" --mode 0755 "${NEUTRON_RUN:-/var/run/neutron}" +} diff --git a/sys-cluster/neutron/files/neutron.initd-2 b/sys-cluster/neutron/files/neutron.initd-2 new file mode 100644 index 000000000000..7a7dad6e6865 --- /dev/null +++ b/sys-cluster/neutron/files/neutron.initd-2 @@ -0,0 +1,17 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Starts ${SVCNAME} service for OpenStack" + +command=/usr/bin/"${SVCNAME}" +command_background=yes +command_user="${NEUTRON_USER:-neutron}" +pidfile=/run/"${SVCNAME}".pid +required_files=(${NEUTRON_CONFS[@]:-/etc/neutron/neutron.conf}) +command_args="${required_files[@]/#/--config-file } --log-file ${NEUTRON_LOGDIR:-/var/log/neutron}/${SVCNAME#*-}.log" +retry="SIGTERM/15" + +depend() { + need net +} diff --git a/sys-cluster/neutron/files/neutron.sudoersd b/sys-cluster/neutron/files/neutron.sudoersd new file mode 100644 index 000000000000..0b7002374538 --- /dev/null +++ b/sys-cluster/neutron/files/neutron.sudoersd @@ -0,0 +1,4 @@ +Defaults:neutron !requiretty + +neutron ALL = (root) NOPASSWD: /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf * + diff --git a/sys-cluster/neutron/metadata.xml b/sys-cluster/neutron/metadata.xml new file mode 100644 index 000000000000..b0230af6ee3a --- /dev/null +++ b/sys-cluster/neutron/metadata.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>prometheanfire@gentoo.org</email> + <name>Matthew Thode</name> + </maintainer> + <maintainer type="project"> + <email>openstack@gentoo.org</email> + <name>Openstack</name> + </maintainer> + <longdescription lang="en"> + Just like OpenStack Nova provides an API to dynamically request and + configure virtual servers, Neutron provides an API to dynamically request + and configure virtual networks. These networks connect "interfaces" from + other OpenStack services (e.g., vNICs from Nova VMs). The Neutron API + supports extensions to provide advanced network capabilities + (e.g., QoS, ACLs, network monitoring, etc). + </longdescription> + <use> + <flag name="compute-only">Only install things needed on compute hosts</flag> + <flag name="dhcp">Installs the initscripts for the neutron dhcp service</flag> + <flag name="l3">Installs the initscripts for the neutron l3 agent service</flag> + <flag name="metadata">Installs the initscripts for the neutron metadata agent service</flag> + <flag name="openvswitch">Installs the initscripts for the neutron openvswitch agent service</flag> + <flag name="linuxbridge">Installs the initscripts for the neutron linuxbridge agent service</flag> + <flag name="server">Installs the initscripts for the neutron server service</flag> + </use> + <upstream> + <remote-id type="launchpad">neutron</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/neutron/neutron-10.0.3.ebuild b/sys-cluster/neutron/neutron-10.0.3.ebuild new file mode 100644 index 000000000000..482826b624b0 --- /dev/null +++ b/sys-cluster/neutron/neutron-10.0.3.ebuild @@ -0,0 +1,237 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439 + +inherit distutils-r1 linux-info user + +DESCRIPTION="A virtual network service for Openstack" +HOMEPAGE="https://launchpad.net/neutron" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/configs.tar.gz -> neutron-configs-${PV}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz + https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres" +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server + || ( openvswitch linuxbridge ) )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}] + !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/neutron-lib-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}] + >=dev-python/ryu-4.9[${PYTHON_USEDEP}] + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}] + >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/ovs-2.6.1[${PYTHON_USEDEP}] + >=dev-python/pyroute2-0.4.12[${PYTHON_USEDEP}] + >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + virtual/python-singledispatch[${PYTHON_USEDEP}] + dev-python/pyudev[${PYTHON_USEDEP}] + sys-apps/iproute2 + net-misc/iputils[arping] + net-misc/bridge-utils + net-firewall/ipset + net-firewall/iptables + net-firewall/ebtables + net-firewall/conntrack-tools + openvswitch? ( <=net-misc/openvswitch-2.6.9999 ) + ipv6? ( + net-misc/radvd + >=net-misc/dibbler-1.0.1 + ) + dhcp? ( net-dns/dnsmasq[dhcp-tools] )" + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \ + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi +} + +pkg_setup() { + enewgroup neutron + enewuser neutron -1 -1 /var/lib/neutron neutron +} + +pkg_config() { + fperms 0700 /var/log/neutron + fowners neutron:neutron /var/log neutron +} + +src_prepare() { + sed -i '/^hacking/d' test-requirements.txt || die + # it's /bin/ip not /sbin/ip + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + if use server; then + newinitd "${FILESDIR}/neutron.initd" "neutron-server" + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server" + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini + fi + if use dhcp; then + newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent" + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent" + fi + if use l3; then + newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent" + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent" + fi + if use metadata; then + newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent" + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent" + fi + if use openvswitch; then + newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent" + newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup" + fi + if use linuxbridge; then + newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent" + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent" + fi + diropts -m 755 -o neutron -g neutron + dodir /var/log/neutron /var/lib/neutron + keepdir /etc/neutron + insinto /etc/neutron + insopts -m 0640 -o neutron -g neutron + + doins etc/* + # stupid renames + insinto /etc/neutron + doins -r "etc/neutron/plugins" + insopts -m 0640 -o root -g root + doins "etc/rootwrap.conf" + doins -r "etc/neutron/rootwrap.d" + + #add sudoers definitions for user neutron + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/neutron.sudoersd" neutron + + # add generated configs + cd "${D}/etc/neutron" || die + unpack "neutron-configs-${PV}.tar.gz" + cd "${D}/etc/neutron/plugins/ml2" || die + unpack "neutron-ml2-plugins-${PV}.tar.gz" + + # correcting perms + fowners neutron:neutron -R "/etc/neutron" + fperms o-rwx -R "/etc/neutron/" + + #remove superfluous stuff + rm -R "${D}/usr/etc/" +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insopts -m 0644 + insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/" + doins -r "neutron/db/migration/alembic_migrations/versions" +} + +pkg_postinst() { + elog + elog "neutron-server's conf.d file may need updating to include additional ini files" + elog "We currently assume the ml2 plugin will be used but do not make assumptions" + elog "on if you will use openvswitch or linuxbridge (or something else)" + elog + elog "Other conf.d files may need updating too, but should be good for the default use case" + elog +} diff --git a/sys-cluster/neutron/neutron-10.0.4.ebuild b/sys-cluster/neutron/neutron-10.0.4.ebuild new file mode 100644 index 000000000000..3d7f813965c4 --- /dev/null +++ b/sys-cluster/neutron/neutron-10.0.4.ebuild @@ -0,0 +1,237 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439 + +inherit distutils-r1 linux-info user + +DESCRIPTION="A virtual network service for Openstack" +HOMEPAGE="https://launchpad.net/neutron" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/configs.tar.gz -> neutron-configs-${PV}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz + https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres" +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server + || ( openvswitch linuxbridge ) )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}] + !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/neutron-lib-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}] + >=dev-python/ryu-4.9[${PYTHON_USEDEP}] + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}] + >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/ovs-2.6.1[${PYTHON_USEDEP}] + >=dev-python/pyroute2-0.4.12[${PYTHON_USEDEP}] + >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + virtual/python-singledispatch[${PYTHON_USEDEP}] + dev-python/pyudev[${PYTHON_USEDEP}] + sys-apps/iproute2 + net-misc/iputils[arping] + net-misc/bridge-utils + net-firewall/ipset + net-firewall/iptables + net-firewall/ebtables + net-firewall/conntrack-tools + openvswitch? ( <=net-misc/openvswitch-2.6.9999 ) + ipv6? ( + net-misc/radvd + >=net-misc/dibbler-1.0.1 + ) + dhcp? ( net-dns/dnsmasq[dhcp-tools] )" + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \ + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi +} + +pkg_setup() { + enewgroup neutron + enewuser neutron -1 -1 /var/lib/neutron neutron +} + +pkg_config() { + fperms 0700 /var/log/neutron + fowners neutron:neutron /var/log neutron +} + +src_prepare() { + sed -i '/^hacking/d' test-requirements.txt || die + # it's /bin/ip not /sbin/ip + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + if use server; then + newinitd "${FILESDIR}/neutron.initd" "neutron-server" + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server" + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini + fi + if use dhcp; then + newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent" + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent" + fi + if use l3; then + newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent" + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent" + fi + if use metadata; then + newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent" + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent" + fi + if use openvswitch; then + newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent" + newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup" + fi + if use linuxbridge; then + newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent" + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent" + fi + diropts -m 755 -o neutron -g neutron + dodir /var/log/neutron /var/lib/neutron + keepdir /etc/neutron + insinto /etc/neutron + insopts -m 0640 -o neutron -g neutron + + doins etc/* + # stupid renames + insinto /etc/neutron + doins -r "etc/neutron/plugins" + insopts -m 0640 -o root -g root + doins "etc/rootwrap.conf" + doins -r "etc/neutron/rootwrap.d" + + #add sudoers definitions for user neutron + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/neutron.sudoersd" neutron + + # add generated configs + cd "${D}/etc/neutron" || die + unpack "neutron-configs-${PV}.tar.gz" + cd "${D}/etc/neutron/plugins/ml2" || die + unpack "neutron-ml2-plugins-${PV}.tar.gz" + + # correcting perms + fowners neutron:neutron -R "/etc/neutron" + fperms o-rwx -R "/etc/neutron/" + + #remove superfluous stuff + rm -R "${D}/usr/etc/" +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insopts -m 0644 + insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/" + doins -r "neutron/db/migration/alembic_migrations/versions" +} + +pkg_postinst() { + elog + elog "neutron-server's conf.d file may need updating to include additional ini files" + elog "We currently assume the ml2 plugin will be used but do not make assumptions" + elog "on if you will use openvswitch or linuxbridge (or something else)" + elog + elog "Other conf.d files may need updating too, but should be good for the default use case" + elog +} diff --git a/sys-cluster/neutron/neutron-11.0.1.ebuild b/sys-cluster/neutron/neutron-11.0.1.ebuild new file mode 100644 index 000000000000..575c14d4433d --- /dev/null +++ b/sys-cluster/neutron/neutron-11.0.1.ebuild @@ -0,0 +1,255 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439 + +inherit distutils-r1 linux-info user + +DESCRIPTION="A virtual network service for Openstack" +HOMEPAGE="https://launchpad.net/neutron" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/pike/configs.tar.gz -> neutron-configs-${PV}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/pike/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz + https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres" +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server + || ( openvswitch linuxbridge ) )" + +CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + !~dev-python/pbr-2.1.0" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}] + <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}] + >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}] + !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/neutron-lib-1.9.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}] + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}] + >=dev-python/ryu-4.14[${PYTHON_USEDEP}] + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}] + >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}] + !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/ovs-2.7.0[${PYTHON_USEDEP}] + >=dev-python/ovsdbapp-0.4.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}] + >=dev-python/pyroute2-0.4.21[${PYTHON_USEDEP}] + >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')] + >=dev-python/python-novaclient-9.0.0[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + >=dev-python/os-xenapi-0.2.0[${PYTHON_USEDEP}] + dev-python/pyudev[${PYTHON_USEDEP}] + sys-apps/iproute2 + net-misc/iputils[arping] + net-misc/bridge-utils + net-firewall/ipset + net-firewall/iptables + net-firewall/ebtables + net-firewall/conntrack-tools + net-proxy/haproxy + openvswitch? ( <=net-misc/openvswitch-2.8.9999 ) + ipv6? ( + net-misc/radvd + >=net-misc/dibbler-1.0.1 + ) + dhcp? ( net-dns/dnsmasq[dhcp-tools] )" + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \ + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi +} + +pkg_setup() { + enewgroup neutron + enewuser neutron -1 -1 /var/lib/neutron neutron +} + +pkg_config() { + fperms 0700 /var/log/neutron + fowners neutron:neutron /var/log neutron +} + +src_prepare() { + sed -i '/^hacking/d' test-requirements.txt || die + # it's /bin/ip not /sbin/ip + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + if use server; then + newinitd "${FILESDIR}/neutron.initd-2" "neutron-server" + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server" + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini + fi + if use dhcp; then + newinitd "${FILESDIR}/neutron.initd-2" "neutron-dhcp-agent" + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent" + fi + if use l3; then + newinitd "${FILESDIR}/neutron.initd-2" "neutron-l3-agent" + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent" + fi + if use metadata; then + newinitd "${FILESDIR}/neutron.initd-2" "neutron-metadata-agent" + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent" + fi + if use openvswitch; then + newinitd "${FILESDIR}/neutron.initd-2" "neutron-openvswitch-agent" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent" + newinitd "${FILESDIR}/neutron.initd-2" "neutron-ovs-cleanup" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup" + fi + if use linuxbridge; then + newinitd "${FILESDIR}/neutron.initd-2" "neutron-linuxbridge-agent" + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent" + fi + diropts -m 755 -o neutron -g neutron + dodir /var/log/neutron /var/lib/neutron + keepdir /etc/neutron + insinto /etc/neutron + insopts -m 0640 -o neutron -g neutron + + doins etc/* + # stupid renames + insinto /etc/neutron + doins -r "etc/neutron/plugins" + insopts -m 0640 -o root -g root + doins "etc/rootwrap.conf" + doins -r "etc/neutron/rootwrap.d" + + #add sudoers definitions for user neutron + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/neutron.sudoersd" neutron + + # add generated configs + cd "${D}/etc/neutron" || die + unpack "neutron-configs-${PV}.tar.gz" + cd "${D}/etc/neutron/plugins/ml2" || die + unpack "neutron-ml2-plugins-${PV}.tar.gz" + + # correcting perms + fowners neutron:neutron -R "/etc/neutron" + fperms o-rwx -R "/etc/neutron/" + + #remove superfluous stuff + rm -R "${D}/usr/etc/" +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insopts -m 0644 + insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/" + doins -r "neutron/db/migration/alembic_migrations/versions" +} + +pkg_postinst() { + elog + elog "neutron-server's conf.d file may need updating to include additional ini files" + elog "We currently assume the ml2 plugin will be used but do not make assumptions" + elog "on if you will use openvswitch or linuxbridge (or something else)" + elog + elog "Other conf.d files may need updating too, but should be good for the default use case" + elog +} diff --git a/sys-cluster/neutron/neutron-2016.2.9999.ebuild b/sys-cluster/neutron/neutron-2016.2.9999.ebuild new file mode 100644 index 000000000000..c496dc6a14b3 --- /dev/null +++ b/sys-cluster/neutron/neutron-2016.2.9999.ebuild @@ -0,0 +1,237 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439 + +inherit distutils-r1 git-r3 linux-info user + +DESCRIPTION="A virtual network service for Openstack" +HOMEPAGE="https://launchpad.net/neutron" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/newton/configs.tar.gz -> neutron-configs-${PV}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/newton/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz" +EGIT_REPO_URI="https://github.com/openstack/neutron.git" +EGIT_BRANCH="stable/newton" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres" +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server + || ( openvswitch linuxbridge ) )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}] + !=dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}] + !=dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/neutron-lib-0.4.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/ryu-3.30[${PYTHON_USEDEP}] + !~dev-python/ryu-4.1[${PYTHON_USEDEP}] + !~dev-python/ryu-4.2[${PYTHON_USEDEP}] + !~dev-python/ryu-4.2.1[${PYTHON_USEDEP}] + !~dev-python/ryu-4.4[${PYTHON_USEDEP}] + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/webob-1.2.3[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}] + >=dev-python/alembic-0.8.4[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}] + !~dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/ovs-2.6.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + virtual/python-singledispatch[${PYTHON_USEDEP}] + dev-python/pyudev[${PYTHON_USEDEP}] + sys-apps/iproute2 + net-misc/iputils[arping] + net-misc/bridge-utils + net-firewall/ipset + net-firewall/iptables + net-firewall/ebtables + net-firewall/conntrack-tools + openvswitch? ( <=net-misc/openvswitch-2.6.9999 ) + ipv6? ( + net-misc/radvd + >=net-misc/dibbler-1.0.1 + ) + dhcp? ( net-dns/dnsmasq[dhcp-tools] )" + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \ + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi +} + +pkg_setup() { + enewgroup neutron + enewuser neutron -1 -1 /var/lib/neutron neutron +} + +pkg_config() { + fperms 0700 /var/log/neutron + fowners neutron:neutron /var/log neutron +} + +src_prepare() { + sed -i '/^hacking/d' test-requirements.txt || die + # it's /bin/ip not /sbin/ip + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + if use server; then + newinitd "${FILESDIR}/neutron.initd" "neutron-server" + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server" + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini + fi + if use dhcp; then + newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent" + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent" + fi + if use l3; then + newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent" + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent" + fi + if use metadata; then + newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent" + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent" + fi + if use openvswitch; then + newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent" + newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup" + fi + if use linuxbridge; then + newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent" + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent" + fi + diropts -m 755 -o neutron -g neutron + dodir /var/log/neutron /var/lib/neutron + keepdir /etc/neutron + insinto /etc/neutron + insopts -m 0640 -o neutron -g neutron + + doins etc/* + # stupid renames + insinto /etc/neutron + doins -r "etc/neutron/plugins" + insopts -m 0640 -o root -g root + doins "etc/rootwrap.conf" + doins -r "etc/neutron/rootwrap.d" + + #add sudoers definitions for user neutron + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/neutron.sudoersd" neutron + + # add generated configs + cd "${D}/etc/neutron" || die + unpack "neutron-configs-${PV}.tar.gz" + cd "${D}/etc/neutron/plugins/ml2" || die + unpack "neutron-ml2-plugins-${PV}.tar.gz" + + # correcting perms + fowners neutron:neutron -R "/etc/neutron" + fperms o-rwx -R "/etc/neutron/" + + #remove superfluous stuff + rm -R "${D}/usr/etc/" +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insopts -m 0644 + insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/" + doins -r "neutron/db/migration/alembic_migrations/versions" +} + +pkg_postinst() { + elog + elog "neutron-server's conf.d file may need updating to include additional ini files" + elog "We currently assume the ml2 plugin will be used but do not make assumptions" + elog "on if you will use openvswitch or linuxbridge (or something else)" + elog + elog "Other conf.d files may need updating too, but should be good for the default use case" + elog +} diff --git a/sys-cluster/neutron/neutron-2017.1.9999.ebuild b/sys-cluster/neutron/neutron-2017.1.9999.ebuild new file mode 100644 index 000000000000..1872be64f638 --- /dev/null +++ b/sys-cluster/neutron/neutron-2017.1.9999.ebuild @@ -0,0 +1,238 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439 + +inherit distutils-r1 git-r3 linux-info user + +DESCRIPTION="A virtual network service for Openstack" +HOMEPAGE="https://launchpad.net/neutron" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/configs.tar.gz -> neutron-configs-${PV}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz" +EGIT_REPO_URI="https://github.com/openstack/neutron.git" +EGIT_BRANCH="stable/ocata" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres" +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server + || ( openvswitch linuxbridge ) )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}] + !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/neutron-lib-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}] + >=dev-python/ryu-4.9[${PYTHON_USEDEP}] + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}] + >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/ovs-2.6.1[${PYTHON_USEDEP}] + >=dev-python/pyroute2-0.4.12[${PYTHON_USEDEP}] + >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + virtual/python-singledispatch[${PYTHON_USEDEP}] + dev-python/pyudev[${PYTHON_USEDEP}] + sys-apps/iproute2 + net-misc/iputils[arping] + net-misc/bridge-utils + net-firewall/ipset + net-firewall/iptables + net-firewall/ebtables + net-firewall/conntrack-tools + openvswitch? ( <=net-misc/openvswitch-2.6.9999 ) + ipv6? ( + net-misc/radvd + >=net-misc/dibbler-1.0.1 + ) + dhcp? ( net-dns/dnsmasq[dhcp-tools] )" + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \ + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi +} + +pkg_setup() { + enewgroup neutron + enewuser neutron -1 -1 /var/lib/neutron neutron +} + +pkg_config() { + fperms 0700 /var/log/neutron + fowners neutron:neutron /var/log neutron +} + +src_prepare() { + sed -i '/^hacking/d' test-requirements.txt || die + # it's /bin/ip not /sbin/ip + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + if use server; then + newinitd "${FILESDIR}/neutron.initd" "neutron-server" + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server" + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini + fi + if use dhcp; then + newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent" + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent" + fi + if use l3; then + newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent" + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent" + fi + if use metadata; then + newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent" + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent" + fi + if use openvswitch; then + newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent" + newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup" + fi + if use linuxbridge; then + newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent" + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent" + fi + diropts -m 755 -o neutron -g neutron + dodir /var/log/neutron /var/lib/neutron + keepdir /etc/neutron + insinto /etc/neutron + insopts -m 0640 -o neutron -g neutron + + doins etc/* + # stupid renames + insinto /etc/neutron + doins -r "etc/neutron/plugins" + insopts -m 0640 -o root -g root + doins "etc/rootwrap.conf" + doins -r "etc/neutron/rootwrap.d" + + #add sudoers definitions for user neutron + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/neutron.sudoersd" neutron + + # add generated configs + cd "${D}/etc/neutron" || die + unpack "neutron-configs-${PV}.tar.gz" + cd "${D}/etc/neutron/plugins/ml2" || die + unpack "neutron-ml2-plugins-${PV}.tar.gz" + + # correcting perms + fowners neutron:neutron -R "/etc/neutron" + fperms o-rwx -R "/etc/neutron/" + + #remove superfluous stuff + rm -R "${D}/usr/etc/" +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insopts -m 0644 + insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/" + doins -r "neutron/db/migration/alembic_migrations/versions" +} + +pkg_postinst() { + elog + elog "neutron-server's conf.d file may need updating to include additional ini files" + elog "We currently assume the ml2 plugin will be used but do not make assumptions" + elog "on if you will use openvswitch or linuxbridge (or something else)" + elog + elog "Other conf.d files may need updating too, but should be good for the default use case" + elog +} diff --git a/sys-cluster/neutron/neutron-2017.2.9999.ebuild b/sys-cluster/neutron/neutron-2017.2.9999.ebuild new file mode 100644 index 000000000000..d0129f9df24d --- /dev/null +++ b/sys-cluster/neutron/neutron-2017.2.9999.ebuild @@ -0,0 +1,256 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439 + +inherit distutils-r1 git-r3 linux-info user + +DESCRIPTION="A virtual network service for Openstack" +HOMEPAGE="https://launchpad.net/neutron" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/pike/configs.tar.gz -> neutron-configs-${PV}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/pike/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz" +EGIT_REPO_URI="https://github.com/openstack/neutron.git" +EGIT_BRANCH="stable/pike" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres" +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server + || ( openvswitch linuxbridge ) )" + +CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + !~dev-python/pbr-2.1.0" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}] + <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}] + >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}] + !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/neutron-lib-1.9.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}] + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}] + >=dev-python/ryu-4.14[${PYTHON_USEDEP}] + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}] + >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}] + !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/ovs-2.7.0[${PYTHON_USEDEP}] + >=dev-python/ovsdbapp-0.4.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}] + >=dev-python/pyroute2-0.4.17[${PYTHON_USEDEP}] + >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')] + >=dev-python/python-novaclient-9.0.0[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + >=dev-python/os-xenapi-0.2.0[${PYTHON_USEDEP}] + dev-python/pyudev[${PYTHON_USEDEP}] + sys-apps/iproute2 + net-misc/iputils[arping] + net-misc/bridge-utils + net-firewall/ipset + net-firewall/iptables + net-firewall/ebtables + net-firewall/conntrack-tools + net-proxy/haproxy + openvswitch? ( <=net-misc/openvswitch-2.8.9999 ) + ipv6? ( + net-misc/radvd + >=net-misc/dibbler-1.0.1 + ) + dhcp? ( net-dns/dnsmasq[dhcp-tools] )" + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \ + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi +} + +pkg_setup() { + enewgroup neutron + enewuser neutron -1 -1 /var/lib/neutron neutron +} + +pkg_config() { + fperms 0700 /var/log/neutron + fowners neutron:neutron /var/log neutron +} + +src_prepare() { + sed -i '/^hacking/d' test-requirements.txt || die + # it's /bin/ip not /sbin/ip + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + if use server; then + newinitd "${FILESDIR}/neutron.initd-2" "neutron-server" + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server" + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini + fi + if use dhcp; then + newinitd "${FILESDIR}/neutron.initd-2" "neutron-dhcp-agent" + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent" + fi + if use l3; then + newinitd "${FILESDIR}/neutron.initd-2" "neutron-l3-agent" + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent" + fi + if use metadata; then + newinitd "${FILESDIR}/neutron.initd-2" "neutron-metadata-agent" + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent" + fi + if use openvswitch; then + newinitd "${FILESDIR}/neutron.initd-2" "neutron-openvswitch-agent" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent" + newinitd "${FILESDIR}/neutron.initd-2" "neutron-ovs-cleanup" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup" + fi + if use linuxbridge; then + newinitd "${FILESDIR}/neutron.initd-2" "neutron-linuxbridge-agent" + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent" + fi + diropts -m 755 -o neutron -g neutron + dodir /var/log/neutron /var/lib/neutron + keepdir /etc/neutron + insinto /etc/neutron + insopts -m 0640 -o neutron -g neutron + + doins etc/* + # stupid renames + insinto /etc/neutron + doins -r "etc/neutron/plugins" + insopts -m 0640 -o root -g root + doins "etc/rootwrap.conf" + doins -r "etc/neutron/rootwrap.d" + + #add sudoers definitions for user neutron + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/neutron.sudoersd" neutron + + # add generated configs + cd "${D}/etc/neutron" || die + unpack "neutron-configs-${PV}.tar.gz" + cd "${D}/etc/neutron/plugins/ml2" || die + unpack "neutron-ml2-plugins-${PV}.tar.gz" + + # correcting perms + fowners neutron:neutron -R "/etc/neutron" + fperms o-rwx -R "/etc/neutron/" + + #remove superfluous stuff + rm -R "${D}/usr/etc/" +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insopts -m 0644 + insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/" + doins -r "neutron/db/migration/alembic_migrations/versions" +} + +pkg_postinst() { + elog + elog "neutron-server's conf.d file may need updating to include additional ini files" + elog "We currently assume the ml2 plugin will be used but do not make assumptions" + elog "on if you will use openvswitch or linuxbridge (or something else)" + elog + elog "Other conf.d files may need updating too, but should be good for the default use case" + elog +} diff --git a/sys-cluster/neutron/neutron-9.4.1.ebuild b/sys-cluster/neutron/neutron-9.4.1.ebuild new file mode 100644 index 000000000000..a845ee71fe30 --- /dev/null +++ b/sys-cluster/neutron/neutron-9.4.1.ebuild @@ -0,0 +1,229 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439 + +inherit distutils-r1 linux-info user + +DESCRIPTION="A virtual network service for Openstack" +HOMEPAGE="https://launchpad.net/neutron" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/newton/configs.tar.gz -> neutron-configs-${PV}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/newton/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz + https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres" +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server + || ( openvswitch linuxbridge ) )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}] + !=dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}] + !=dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/neutron-lib-0.4.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/ryu-3.30[${PYTHON_USEDEP}] + !~dev-python/ryu-4.1[${PYTHON_USEDEP}] + !~dev-python/ryu-4.2[${PYTHON_USEDEP}] + !~dev-python/ryu-4.2.1[${PYTHON_USEDEP}] + !~dev-python/ryu-4.4[${PYTHON_USEDEP}] + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/webob-1.2.3[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}] + >=dev-python/alembic-0.8.4[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}] + !~dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/ovs-2.6.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + virtual/python-singledispatch[${PYTHON_USEDEP}] + dev-python/pyudev[${PYTHON_USEDEP}] + sys-apps/iproute2 + net-misc/iputils[arping] + net-misc/bridge-utils + net-firewall/ipset + net-firewall/iptables + net-firewall/ebtables + net-firewall/conntrack-tools + openvswitch? ( <=net-misc/openvswitch-2.6.9999 ) + ipv6? ( + net-misc/radvd + >=net-misc/dibbler-1.0.1 + ) + dhcp? ( net-dns/dnsmasq[dhcp-tools] )" + +#PATCHES=( +#) + +pkg_setup() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \ + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi + enewgroup neutron + enewuser neutron -1 -1 /var/lib/neutron neutron +} + +pkg_config() { + fperms 0700 /var/log/neutron + fowners neutron:neutron /var/log neutron +} + +src_prepare() { + sed -i '/^hacking/d' test-requirements.txt || die + # it's /bin/ip not /sbin/ip + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die + distutils-r1_python_prepare_all +} + +python_install() { + distutils-r1_python_install + if use server; then + newinitd "${FILESDIR}/neutron.initd" "neutron-server" + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server" + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini + fi + if use dhcp; then + newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent" + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent" + fi + if use l3; then + newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent" + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent" + fi + if use metadata; then + newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent" + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent" + fi + if use openvswitch; then + newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent" + newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup" + fi + if use linuxbridge; then + newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent" + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent" + fi + diropts -m 755 -o neutron -g neutron + dodir /var/log/neutron /var/lib/neutron + keepdir /etc/neutron + insinto /etc/neutron + insopts -m 0640 -o neutron -g neutron + + doins etc/* + # stupid renames + insinto /etc/neutron + doins -r "etc/neutron/plugins" + insopts -m 0640 -o root -g root + doins "etc/rootwrap.conf" + doins -r "etc/neutron/rootwrap.d" + + insopts -m 0644 + insinto "/usr/lib64/python2.7/site-packages/neutron/db/migration/alembic_migrations/" + doins -r "neutron/db/migration/alembic_migrations/versions" + + #add sudoers definitions for user neutron + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/neutron.sudoersd" neutron + + # add generated configs + cd "${D}/etc/neutron" || die + unpack "neutron-configs-${PV}.tar.gz" + cd "${D}/etc/neutron/plugins/ml2" || die + unpack "neutron-ml2-plugins-${PV}.tar.gz" + + # correcting perms + fowners neutron:neutron -R "/etc/neutron" + fperms o-rwx -R "/etc/neutron/" + + #remove superfluous stuff + rm -R "${D}/usr/etc/" +} + +pkg_postinst() { + elog + elog "neutron-server's conf.d file may need updating to include additional ini files" + elog "We currently assume the ml2 plugin will be used but do not make assumptions" + elog "on if you will use openvswitch or linuxbridge (or something else)" + elog + elog "Other conf.d files may need updating too, but should be good for the default use case" + elog +} diff --git a/sys-cluster/nova/Manifest b/sys-cluster/nova/Manifest new file mode 100644 index 000000000000..a0f8350fe938 --- /dev/null +++ b/sys-cluster/nova/Manifest @@ -0,0 +1,23 @@ +AUX nova-compute.conf 144 SHA256 977cf4892d44f8957631ce56b5bf8a2457882724c724de1dbbf76fd35cbaa7bd SHA512 88d7207f4d7008e909c276f153e2abd66c2fb34fad85c90fe0bcc65a10f9c9c619ac315aee25e486e85896a2dfdc97eda4c9d2c78bd8b4117eaac7d8ebfb0270 WHIRLPOOL 169fe624b64ae63ae82df23c31d3e0c2f677445f432160a6046ae134febff07282db5235fb3c75816536e907fa4464e9e0cccdb6edb9492ba9296ca178a3c9b8 +AUX nova-sudoers 78 SHA256 9e88c2843fb74cc46802c0b103067ad12915ec50335d05e546a5dba76acb4a76 SHA512 22c0606c6335b2d1a03bd18a319a54f16f76f091b2e8416dbba05ce7c15890beff7f32f0322eb5ba3f2a5c750436cacbe0cee189b390b878e3f0c0df219ef984 WHIRLPOOL bc42ae1d12e9f900b263fd5c3d0f59062f46fbec1ff97c0bceb234082bea5943eb64795b4f5e102b8e2749c6868163e5924467088cad42df09345e3406e5f83c +AUX nova.initd 944 SHA256 16903be9d8350426b2c8c716ff16476afdc9c95cff98be10bb750889ab421c7c SHA512 c71b3af496c3128ed4eef9c459a8a488209a2bd28a7e0439b92505087eacbdcb8546e9bc4a29fd9041d6626b0552ec33856611ce2bccf90b5a4102a657750b32 WHIRLPOOL 601a1a218cf55920b1d9c273bd2e75c50aec4b823f1d60475f8811f9ad1972d93492b2d1ae748c493b9c6d274948cf5f57afa1b3b24b4bbe5500f43ba5dab199 +AUX nova.initd-2 745 SHA256 624181286431ddba997403ebd6ce3b794eff65ef2b73da450eea1c1de927580b SHA512 859c2a55c7a91da4a83a8aad5396c4b692e91c170c70b7705620f90da461b78a9cae6ff1c734bee3b20d245f502c475847e0ec1525cca167693303f326e6e42c WHIRLPOOL c4b6cb73abcf100dd6e3fa2bd066e0327e936516221c2e95ad379653f1ff5ec3c768312ed7e83b5e4a14bb0d313cd301e964c9cb75ab479ba1029497a16e2160 +AUX openstack-scsi-disk.rules 134 SHA256 929cfecc3eae1142ac45923f1de06876af9db7fb41b21d25f4d258d9f3606867 SHA512 6c3734d0b9ce9de887e15b1ddd5f5486dd1d0a55f463f9824ef067d3fe64a93d08ad2ef2b9d288f0dd42d570a5061e7a06976f7223df44b98bd321b73f9d036b WHIRLPOOL fede94215b722c414076f42b07d95036971edce4222ffd04b6be677e51fbea0b682914078f3613a2dd3bf8868ff8170b71e128baed4dbdf69fc08880f22f7ad3 +AUX scsi-openscsi-link.sh 2777 SHA256 4ea97b8b7121092245ae108faf488beb2b11113407eb2b478ff8ee79a87b8290 SHA512 3e7f6fc872f27b6a4d6c991346bd8eafcbc8f2b74439f1c77e93362e57fa1010ff002813cf21bf12d0550bfc165f79c70430862cd4ed5aaa15056777baf34409 WHIRLPOOL 636fff1abe0e8934dde986e9c8f51bc4a4284d57db9efe4b0090479df7516817bbfdc3e3da2fd35d19c80b095bddbcc2f31b1cd54be8d204a62df6da973279f0 +DIST newton-nova.conf.sample 44496 SHA256 a7d9b95e67b77d0335edac760e037ad117d8c9f18c4792939ba8bb02739eae58 SHA512 ac917f0fed24c6705cbe43b4e1af31138bb656ea06f0cbe66d5b820677a47ca854abf6ca7fdf76a9a7f3a5afff758dac294ffd778d1bda82bb9f95c48d103d6e WHIRLPOOL 3c54dc8e4721f4289a8f64e9ac215c4b2e4b6afd2904fea4080659d3c292dcd942535d998b463efa4dd96a6090afb9830dfa6b9b3f2062439a8d03ec09356adc +DIST nova-14.0.8.tar.gz 5608059 SHA256 9c38a74965b4543ddfb2f0baaa2e73673037d47fed86b1a2fc48a09878b6f2ac SHA512 3d8177a00ecef7aa152ecd87d376c7b8d1e5a877b0831e220ba204b022425c688515cfa72a21d4604418b20bd670f3fc263f7040da856f9598682e3d627c8abd WHIRLPOOL 7f4e0ca49809ed2cb0d8bd064c71cd1336b58525e55a7b5d657dabde5bd75af2fc4c0e90bbdde15fddf895fff1a191deaa655a788d87f58bb6768b42a404b559 +DIST nova-15.0.7.tar.gz 5763951 SHA256 75d2f307301396d423e81e817b4c087da08c9db7ab2340fcef7618fc20379fb9 SHA512 3e4b02bebdc8d0c002a09d757a2f1e96e9b7a5c16c6bd9108f0564c9be23da8ae8f90d81924050f01be691b4800c5c0ff2f5b3400fa389964899b1faa509293c WHIRLPOOL 6c8c49509bbee938886c7d2b900cf113ca86105c606c46976f3528afdd215f9ebe34026103c8e36c065ce33efe05a96db4b618be6ab94d0f3c9dceaff0ef10ab +DIST nova-16.0.1.tar.gz 10896414 SHA256 e657675b0ca62fbbe66808cccbb7db84bdfd007b82f9579ced98c13c215b18d6 SHA512 bdeb3254e9ad6b95e7f8c07093192fb511e2a278790afd6336093f817288cd6cddee9c1a3d81b1ea82bddd4d8caf60234183f995f35bad631edaf6b9c0fe2b79 WHIRLPOOL 59750f9b4b849f78156db15c8e692ee0cdb998b786acc7466dd49cae24d6c1d869913b5b7533bba2d7993586f41e9969e10631de57593454926b50adf89a0328 +DIST nova.conf.sample-15.0.7 344760 SHA256 09c086c981505a6e775a4e2073856b1d38998d97b92062f019095f98d7d26e1f SHA512 5c55c752c8752876acbd8d2348abb39d6a8449f637ad2a6515f5c9f4619dbad73c4ae7a6ac4cd164656a0c466ed000a4d68a291050a03a5641fe96b3dd7f732d WHIRLPOOL 22f174d402e6d9c3e1e18da0cdec883209013083c66eb2b5a2921546fb609c1a19de594832afa8f40ee26a999f2596c563eb16ba1a08035895b5d6c72a729125 +DIST nova.conf.sample-16.0.1 360926 SHA256 2fad4c60277289b28ec6de87bbe41086d3f5c88003839c90dda264b0e6e1c835 SHA512 68f548e998396c7b18692fb3b1e9bf267f9bc06d73f602bb8f20bba426b6ede01e270447906f1685133cdbfd43b76ed5a9913b0167ce70f1ff3debd1ca11d378 WHIRLPOOL bb8d5fffb6fd5e6c820a422615abe6cc8398852ce6cbce12eba5dca17e2c71e413c113342916c25d38e7651b0c26b20357fdbaa5dee6d904e4ee9cc08f3b953c +DIST nova.conf.sample-2017.1.9999 344760 SHA256 09c086c981505a6e775a4e2073856b1d38998d97b92062f019095f98d7d26e1f SHA512 5c55c752c8752876acbd8d2348abb39d6a8449f637ad2a6515f5c9f4619dbad73c4ae7a6ac4cd164656a0c466ed000a4d68a291050a03a5641fe96b3dd7f732d WHIRLPOOL 22f174d402e6d9c3e1e18da0cdec883209013083c66eb2b5a2921546fb609c1a19de594832afa8f40ee26a999f2596c563eb16ba1a08035895b5d6c72a729125 +DIST nova.conf.sample-2017.2.9999 360926 SHA256 2fad4c60277289b28ec6de87bbe41086d3f5c88003839c90dda264b0e6e1c835 SHA512 68f548e998396c7b18692fb3b1e9bf267f9bc06d73f602bb8f20bba426b6ede01e270447906f1685133cdbfd43b76ed5a9913b0167ce70f1ff3debd1ca11d378 WHIRLPOOL bb8d5fffb6fd5e6c820a422615abe6cc8398852ce6cbce12eba5dca17e2c71e413c113342916c25d38e7651b0c26b20357fdbaa5dee6d904e4ee9cc08f3b953c +EBUILD nova-14.0.8.ebuild 8523 SHA256 df8976e04da389cca0975450eb4b8ac76f973a4b60d03c4e1ce803b0638f20b6 SHA512 b24f3061d8f9a5981646d4a088d7b6b0d18db12371fa89ec7f329ecdb2074afdc3c96ab51c81394b50db57d2b1c453520aa7dab7b5def1b8908c8e2a2f8b244a WHIRLPOOL 233842f35753f9a4531e65aff6e34976c0ffdb5abd1ed07b2ed5f4494ea0023fe7de82565dc3c008f123474fd8baf0b8391c36f2d85815454a6ba4c941838743 +EBUILD nova-15.0.7.ebuild 8591 SHA256 12a90783f0304604efa69aacda39728b3f37ada4aedfaa57782c392d85b1851f SHA512 89db87c533edf932796f688fea8cac0f2db5e0fd5a950dd26e6560e7b69231379949ff537d9116ae75f57cdbaec6306baaee35d7610284484d08ca33134c961f WHIRLPOOL 1c09faff69e257366d4ef57b47c5772130afe61185c0e9dad20425d2e6b9de7756356397c1e016c21fd6afa922d4883b563d02bc7f6734167bbe8f19ecb642b1 +EBUILD nova-16.0.1.ebuild 9551 SHA256 3f0655394e915f29142e75f04b784b2902cc72a27277cd83504529712113bfc3 SHA512 f4c4e83282dd32be8bf9ebeb89489e456e8ca7a647d5c1d9689556d8238d64d6f5b654be9c9839b17c6708efce9888cb28da98da2e4c179545ea4e3fbfe6d368 WHIRLPOOL 86497228a1f38fec87ff319d3abf9328256ec64993b5c2c0d2e14747179e5d3b7daff45c987850c6fa8c7172873e0ace6893dc3a245013de7e96622522b12b33 +EBUILD nova-2016.2.9999.ebuild 8053 SHA256 f583834a52e3aff76362cc0011c7ad2c5869eb88eaeea00ef52b58669eb128c5 SHA512 12944e02b17616d8f52dbcf4d00dfca9274afde45d6bc41af43bef710c1c048b63d5efe09948e0590262d02904e718778ee0553cbbf54d8688d900a3fb96b6c7 WHIRLPOOL a50d4b880246e115df82123f98e72764101f6b548ee095ca708abbaa05aa99f5de46a69df2e4ad696a2491be6baa376c7125b7aa79117e581eb7b2c728247cb7 +EBUILD nova-2017.1.9999.ebuild 8563 SHA256 c941662be7134e1adda0b0517bfe049b750b4b5fb2ec0704293cca7dd607aa4f SHA512 cea6cfbaafb3c5c0977cabbbc790da256daf851459079aa73c9d4ee0a9e81153051b2bd0cf62c18eeaee4be1c268a9cf35f671b839cc6a97316a8df80679f94a WHIRLPOOL 5eae713ffe93790ba7263573c05f5e7995bfe666d9c82336979baf60fe64510f9ab52abe4bf239820b2d4cf4fa29a4893192f58bade106028b6975621a6310df +EBUILD nova-2017.2.9999.ebuild 9572 SHA256 d0c9b13a305fea4fa388c7984929fe411e8b9f02e87a7bf90e485190e7399594 SHA512 51f966525ad1f5d7b5b611296bbccd2bf81ec58b7a2021e48cee28342f451c19a95158b21aaa4c4f1a03c5e7d7f104e997389905737d4108fb3c666e0566a86d WHIRLPOOL ad7ba84108e74a29e01744470b7a9a0b107d861424ed9152705b49330faf9ec8472b86b347e087da6e1ed2e535cfe0d90b23bf8eaf4cd904eb2b3f9441870679 +MISC ChangeLog 19879 SHA256 6d2732fdce1e774100e6fc0ea79645c59c6e563dc558b4f3a3d83a252a620408 SHA512 aed39b76013532d72711f5925b4f3ae888fddc06bad6bb87c0db553f81bf01b23d587c8287911f70a81c016f28cc826d2d9630173d0ba5a8326eb3902cbff149 WHIRLPOOL 2d89dc73f49a207a0073147be545947f571890b6e34a5f4c6b85a01f034ac12c82f391b2bb06b2d0aa81bc5a59e16b49985a27bd8fa76f6f905c5e81d99e6844 +MISC ChangeLog-2015 22304 SHA256 e33e52b8d5741a0dc8d9ea31b2b46f4120b7dab5a6b678cfe1b8ff7e40bb4809 SHA512 6400c0bbc4b6a7064afa6f40b08057af88bd3710bd16391639a26bb2d9e3a04c283bada292afabd735a7c4a18163b193b4660013b26a77d0a93ac860594cd2b9 WHIRLPOOL 42237f4fd4b4f7ab040a9c225c3c54d3c2960c827805ed6f1ae5f06b3e07299a2d5423e033992e8b60d89fe13726b9bf2028f8847736afd083193676427a104c +MISC metadata.xml 1172 SHA256 34de0236a734011dcc8dd62567ebdec29615c61f9002104925b8d498c2e5f94c SHA512 bb506fa680b064c3d6a48710cac11efedc9e8a340603e234bf5c4c48aaab773e4527d7a8fc66ae36ec894230a1d02a5be995e521d222914f652e03b6f72642e4 WHIRLPOOL 13f62c4c7a3d761627911849f899afb2e65e6a087c0dc4f108159eb94df8c07f02d51a501894a3d445cdba3b6622c5140f423756369d76cff2991bcfe4abeb33 diff --git a/sys-cluster/nova/files/nova-compute.conf b/sys-cluster/nova/files/nova-compute.conf new file mode 100644 index 000000000000..59c7aea2cd24 --- /dev/null +++ b/sys-cluster/nova/files/nova-compute.conf @@ -0,0 +1,4 @@ +[DEFAULT] +# mkisofs_cmd is needed as the default provider for the binary was remvoed as +# a package from Gentoo. +mkisofs_cmd = /usr/bin/mkisofs diff --git a/sys-cluster/nova/files/nova-sudoers b/sys-cluster/nova/files/nova-sudoers new file mode 100644 index 000000000000..f15b3285b7d4 --- /dev/null +++ b/sys-cluster/nova/files/nova-sudoers @@ -0,0 +1,3 @@ +Defaults:nova !requiretty + +nova ALL = (root) NOPASSWD: /usr/bin/nova-rootwrap diff --git a/sys-cluster/nova/files/nova.initd b/sys-cluster/nova/files/nova.initd new file mode 100644 index 000000000000..7d679ed95fc9 --- /dev/null +++ b/sys-cluster/nova/files/nova.initd @@ -0,0 +1,30 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Starts ${SVCNAME} service for OpenStack" + +command="/usr/bin/${SVCNAME} -- --config-file /etc/nova/nova.conf" +pidfile=/var/run/nova/${SVCNAME}.pid +required_files=/etc/nova/nova.conf +start_stop_daemon_args="--quiet --user ${NOVA_USER:-nova}" +if [ "$SVCNAME" == nova-compute ]; then + required_files="${required_files} /etc/nova/nova-compute.conf" + command="${command} --config-file /etc/nova/nova-compute.conf" +fi + + +depend() { + use net +} + +start_pre() { + checkpath --directory --owner ${NOVA_USER:-nova}:${NOVA_GROUP:-nova} --mode 0775 ${NOVA_RUN:-/var/run/nova} + checkpath --directory --owner ${NOVA_USER:-nova}:${NOVA_GROUP:-nova} --mode 0775 ${NOVA_RUN:-/var/lock/nova} +} + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon -S -b -m -p ${pidfile} -q -u ${NOVA_USER:-nova} -x ${command} + eend $? +} diff --git a/sys-cluster/nova/files/nova.initd-2 b/sys-cluster/nova/files/nova.initd-2 new file mode 100644 index 000000000000..cb82c947ddfe --- /dev/null +++ b/sys-cluster/nova/files/nova.initd-2 @@ -0,0 +1,25 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Starts ${SVCNAME} service for OpenStack" + +command="/usr/bin/${SVCNAME}" +command_args="--config-file /etc/nova/nova.conf" +pidfile=/run/${SVCNAME}.pid +command_background=true +required_files=/etc/nova/nova.conf +if [ "$SVCNAME" == nova-compute ]; then + required_files="${required_files} /etc/nova/nova-compute.conf" + command_args="${command_args} --config-file /etc/nova/nova-compute.conf" +fi +start_stop_daemon_args="-u ${NOVA_USER:-nova}" +retry="SIGTERM/15" + +depend() { + use net +} + +start_pre() { + checkpath --directory --owner ${NOVA_USER:-nova}:${NOVA_GROUP:-nova} --mode 0775 ${NOVA_RUN:-/var/lock/nova} +} diff --git a/sys-cluster/nova/files/openstack-scsi-disk.rules b/sys-cluster/nova/files/openstack-scsi-disk.rules new file mode 100644 index 000000000000..ee44d5066291 --- /dev/null +++ b/sys-cluster/nova/files/openstack-scsi-disk.rules @@ -0,0 +1,2 @@ +KERNEL=="sd*", SUBSYSTEM=="block", ENV{ID_BUS}=="scsi", PROGRAM="/etc/nova/scsi-openscsi-link.sh %b $id", SYMLINK+="disk/by-path/%c" + diff --git a/sys-cluster/nova/files/scsi-openscsi-link.sh b/sys-cluster/nova/files/scsi-openscsi-link.sh new file mode 100644 index 000000000000..197eac4438e5 --- /dev/null +++ b/sys-cluster/nova/files/scsi-openscsi-link.sh @@ -0,0 +1,93 @@ +#!/bin/bash + +# Author: Geaaru +# Date: October 23, 2014 +# Version: 0.1.0 +# License: GPL 2.0 + +# Description: Script for udev symlink creation of +# scsi disk attached and visible under +# /dev/disk/by-path/ with name convention +# used in openstack LVM iscsi driver. +# +# Requirements: lsscsi (for retrieve LUN ID, I don't know how can i do that from udev/iscsiadm) + +# Rules for UDEV must in this format: +# KERNEL=="sd*", BUS=="scsi", PROGRAM="/etc/nova/scsi-openscsi-link.sh %b",SYMLINK+="disk/by-path/%c" + +# NOTE: it seems that input params %b or others are not passed to script. +# I try to retrieve it from environment variables. + +if [[ -z "$DEVTYPE" || -z "$ID_BUS" ]] ; then + exit 1 +fi + +echo "--------------------" >> /tmp/udev.log +echo "ENV => `env`" >> /tmp/udev.log +echo "--------------------" >> /tmp/udev.log + +if [[ $DEVTYPE != "disk" || $ID_BUS != "scsi" ]]; then + echo "EXIT 1" >> /tmp/udev.log + exit 1 +fi + +# ID_SCSI variable what identify ? + +HOST=`echo "$DEVPATH" | awk '{ split($0, word, "/"); print substr(word[4], 5); }'` + + + +# Bins +iscsiadm=/usr/sbin/iscsiadm +lsscsi=/usr/bin/lsscsi + +[ -e /sys/class/iscsi_host ] || exit 1 + +# Create file path like this: +# /sys/class/iscsi_host/host11/device/session3/iscsi_session/session3/targetname +file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/session*/targetname" + +target_iqn=$(cat ${file}) + +if [ -z "${target_iqn}" ] ; then + echo "EXIT 2" >> /tmp/udev.log + exit 1 +fi + +# Retrieve target_port because I can't retrieve it with iscsi_id +# /lib/udev/scsi_id -g -x /dev/sdg +# ID_SCSI=1 +# ID_VENDOR=IET +# ID_VENDOR_ENC=IET\x20\x20\x20\x20\x20 +# ID_MODEL=VIRTUAL-DISK +# ID_MODEL_ENC=VIRTUAL-DISK +# ID_REVISION=0001 +# ID_TYPE=disk +# ID_SERIAL=1IET_00010001 +# ID_SERIAL_SHORT=IET_00010001 +# ID_SCSI_SERIAL= beaf11a + +# iscsiadm -m node | grep --colour=none iqn.2014-09.org.openstack:vol-cinder-f48f0a69-e871-4c47-9cd3-3ccb8c811363 | cut -d',' -f 1 + +tp_ispresent=$(${iscsiadm} -m node | grep --colour=none ${target_iqn} | wc -l) +if [ x$tp_ispresent = x0 ] ; then + # Target is not present. Ignore it. + echo "EXIT 3" >> /tmp/udev.log + exit 1 +fi + +target_portal=$(${iscsiadm} -m node | grep --colour=none ${target_iqn} | cut -d',' -f 1) +#target=$(${iscsiadm} -m node | grep --colour=none ${target_iqn} | cut -d' ' -f 1) +#target_portal=$(echo ${target} | cut -d',' -f 1) +target_lun=$(${lsscsi} | grep $DEVNAME | sed 's/.[0-9]*:[0-9]*:[0-9]*:\([0-9]*\).*/\1/') + +echo "TARGET_PORTAL=$target_portal" >> /tmp/udev.log +echo "TARGET_LUN=$target_lun" >> /tmp/udev.log + +linkname="ip-${target_portal}-iscsi-${target_iqn}-lun-${target_lun}" + +echo "RETURN ${linkname}" >> /tmp/udev.log + +echo "${linkname}" + +exit 0 diff --git a/sys-cluster/nova/metadata.xml b/sys-cluster/nova/metadata.xml new file mode 100644 index 000000000000..25bcac3ecf41 --- /dev/null +++ b/sys-cluster/nova/metadata.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>prometheanfire@gentoo.org</email> + <name>Matthew Thode</name> + </maintainer> + <maintainer type="project"> + <email>openstack@gentoo.org</email> + <name>Openstack</name> + </maintainer> + <longdescription lang="en"> + Nova is a cloud computing fabric controller + (the main part of an IaaS system). It is written in Python. + </longdescription> + <use> + <flag name="compute">Installs the initscripts for the nova volume service</flag> + <flag name="compute-only">only install stuff needed for a compute host</flag> + <flag name="iscsi">Installs iscsi helper udev scripts</flag> + <flag name="memcached">Installs the memcached server</flag> + <flag name="novncproxy">Installs the initscripts for the nova novncproxy service</flag> + <flag name="openvswitch">Installs openvswitch for the neutron openvswitch support</flag> + <flag name="rabbitmq">Installs the rabbitmq server</flag> + </use> + <upstream> + <remote-id type="launchpad">nova</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/nova/nova-14.0.8.ebuild b/sys-cluster/nova/nova-14.0.8.ebuild new file mode 100644 index 000000000000..2c2ce969d8c2 --- /dev/null +++ b/sys-cluster/nova/nova-14.0.8.ebuild @@ -0,0 +1,229 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_4 ) + +inherit distutils-r1 eutils linux-info multilib user + +DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python" +HOMEPAGE="https://launchpad.net/nova" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/newton/nova.conf.sample -> newton-nova.conf.sample +https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite" +REQUIRED_USE=" + !compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND=" + >=dev-python/setuptools-16.0[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] + >=dev-python/webob-1.2.3[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/prettytable-0.7[${PYTHON_USEDEP}] + <dev-python/prettytable-0.8[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}] + !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}] + <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}] + >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}] + !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}] + >=dev-python/setuptools-16.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.3[${PYTHON_USEDEP}] + >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}] + !~dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/rfc3986-0.2.2[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/psutil-1.1.1[${PYTHON_USEDEP}] + <dev-python/psutil-2.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.6.1[${PYTHON_USEDEP}] + >=dev-python/os-vif-1.1.0[${PYTHON_USEDEP}] + >=dev-python/os-win-0.2.3[${PYTHON_USEDEP}] + >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}] + >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}] + dev-python/libvirt-python[${PYTHON_USEDEP}] + app-emulation/libvirt[iscsi?] + novncproxy? ( www-apps/novnc ) + sys-apps/iproute2 + openvswitch? ( net-misc/openvswitch ) + rabbitmq? ( net-misc/rabbitmq-server ) + memcached? ( + net-misc/memcached + >=dev-python/python-memcached-1.58 + ) + sys-fs/sysfsutils + sys-fs/multipath-tools + net-misc/bridge-utils + compute? ( + app-cdr/cdrtools + sys-fs/dosfstools + app-emulation/qemu + ) + iscsi? ( + sys-fs/lsscsi + >=sys-block/open-iscsi-2.0.873-r1 + )" + +#PATCHES=( +#) + +pkg_setup() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \ + NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \ + ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi + enewgroup nova + enewuser nova -1 -1 /var/lib/nova nova +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + + if use !compute-only; then + for svc in api cert conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do + newinitd "${FILESDIR}/nova.initd" "nova-${svc}" + done + fi + use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute" + use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy" + + diropts -m 0750 -o nova -g qemu + dodir /var/log/nova /var/lib/nova/instances + diropts -m 0750 -o nova -g nova + + insinto /etc/nova + insopts -m 0640 -o nova -g nova + newins "${DISTDIR}/newton-nova.conf.sample" "nova.conf.sample" + doins "${FILESDIR}/nova-compute.conf" + doins "${S}/etc/nova/"* + # rootwrap filters + insopts -m 0644 + insinto /etc/nova/rootwrap.d + doins "etc/nova/rootwrap.d/api-metadata.filters" + doins "etc/nova/rootwrap.d/compute.filters" + doins "etc/nova/rootwrap.d/network.filters" + + # add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0600 -o root -g root + doins "${FILESDIR}/nova-sudoers" + + if use iscsi ; then + # Install udev rules for handle iscsi disk with right links under /dev + udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules + + insinto /etc/nova/ + doins "${FILESDIR}/scsi-openscsi-link.sh" + fi +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/" + doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg" + # copy the CA cert dir (not coppied on install via setup.py script) + cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed" +} + +pkg_postinst() { + if use iscsi ; then + elog "iscsid needs to be running if you want cinder to connect" + fi +} diff --git a/sys-cluster/nova/nova-15.0.7.ebuild b/sys-cluster/nova/nova-15.0.7.ebuild new file mode 100644 index 000000000000..b419a54d7128 --- /dev/null +++ b/sys-cluster/nova/nova-15.0.7.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils linux-info multilib user + +DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python" +HOMEPAGE="https://launchpad.net/nova" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/ocata/nova.conf.sample -> nova.conf.sample-${PV} + https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite" +REQUIRED_USE=" + !compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )" + +CDEPEND=" + >=dev-python/setuptools-16.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}] + !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}] + >=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND=" + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}] + <dev-python/prettytable-0.8[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}] + !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}] + <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}] + >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}] + >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.0.1[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.8.0[${PYTHON_USEDEP}] + >=dev-python/os-vif-1.4.0[${PYTHON_USEDEP}] + >=dev-python/os-win-1.4.0[${PYTHON_USEDEP}] + >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}] + >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}] + >=dev-python/os-xenapi-0.1.1[${PYTHON_USEDEP}] + dev-python/libvirt-python[${PYTHON_USEDEP}] + app-emulation/libvirt[iscsi?] + novncproxy? ( www-apps/novnc ) + sys-apps/iproute2 + openvswitch? ( net-misc/openvswitch ) + rabbitmq? ( net-misc/rabbitmq-server ) + memcached? ( + net-misc/memcached + >=dev-python/python-memcached-1.58 + ) + sys-fs/sysfsutils + sys-fs/multipath-tools + net-misc/bridge-utils + compute? ( + app-cdr/cdrtools + sys-fs/dosfstools + app-emulation/qemu + ) + iscsi? ( + sys-fs/lsscsi + >=sys-block/open-iscsi-2.0.873-r1 + )" + +#PATCHES=( +#) + +pkg_setup() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \ + NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \ + ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi + enewgroup nova + enewuser nova -1 -1 /var/lib/nova nova +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + + if use !compute-only; then + for svc in api cert conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do + newinitd "${FILESDIR}/nova.initd" "nova-${svc}" + done + fi + use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute" + use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy" + + diropts -m 0750 -o nova -g qemu + dodir /var/log/nova /var/lib/nova/instances + diropts -m 0750 -o nova -g nova + + insinto /etc/nova + insopts -m 0640 -o nova -g nova + newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample" + doins "${FILESDIR}/nova-compute.conf" + doins "${S}/etc/nova/"* + # rootwrap filters + insopts -m 0644 + insinto /etc/nova/rootwrap.d + doins "etc/nova/rootwrap.d/api-metadata.filters" + doins "etc/nova/rootwrap.d/compute.filters" + doins "etc/nova/rootwrap.d/network.filters" + + # add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0600 -o root -g root + doins "${FILESDIR}/nova-sudoers" + + if use iscsi ; then + # Install udev rules for handle iscsi disk with right links under /dev + udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules + + insinto /etc/nova/ + doins "${FILESDIR}/scsi-openscsi-link.sh" + fi +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/" + doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg" + # copy the CA cert dir (not coppied on install via setup.py script) + cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed" +} + +pkg_postinst() { + if use iscsi ; then + elog "iscsid needs to be running if you want cinder to connect" + fi +} diff --git a/sys-cluster/nova/nova-16.0.1.ebuild b/sys-cluster/nova/nova-16.0.1.ebuild new file mode 100644 index 000000000000..4bb4c81e0a24 --- /dev/null +++ b/sys-cluster/nova/nova-16.0.1.ebuild @@ -0,0 +1,251 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils linux-info multilib user + +DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python" +HOMEPAGE="https://launchpad.net/nova" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/pike/nova.conf.sample -> nova.conf.sample-${PV} + https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite" +REQUIRED_USE=" + !compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )" + +CDEPEND=" + >=dev-python/setuptools-16.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}] + !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}] + >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + !~dev-python/pbr-2.1.0" +DEPEND=" + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}] + <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.6.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-2.0.0[${PYTHON_USEDEP}] + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}] + <dev-python/prettytable-0.8[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}] + !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}] + <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}] + >=dev-python/python-cinderclient-3.1.0[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] + >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}] + !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.15.2[${PYTHON_USEDEP}] + >=dev-python/os-traits-0.3.1[${PYTHON_USEDEP}] + >=dev-python/os-vif-1.7.0[${PYTHON_USEDEP}] + >=dev-python/os-win-2.0.0[${PYTHON_USEDEP}] + >=dev-python/castellan-0.7.0[${PYTHON_USEDEP}] + >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}] + >=dev-python/os-xenapi-0.2.0[${PYTHON_USEDEP}] + >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}] + >=dev-python/cursive-0.1.2[${PYTHON_USEDEP}] + >=dev-python/pypowervm-1.1.6[${PYTHON_USEDEP}] + dev-python/libvirt-python[${PYTHON_USEDEP}] + app-emulation/libvirt[iscsi?] + novncproxy? ( www-apps/novnc ) + sys-apps/iproute2 + openvswitch? ( net-misc/openvswitch ) + rabbitmq? ( net-misc/rabbitmq-server ) + memcached? ( + net-misc/memcached + >=dev-python/python-memcached-1.58 + ) + sys-fs/sysfsutils + sys-fs/multipath-tools + net-misc/bridge-utils + compute? ( + app-cdr/cdrtools + sys-fs/dosfstools + app-emulation/qemu + ) + iscsi? ( + sys-fs/lsscsi + >=sys-block/open-iscsi-2.0.873-r1 + )" + +#PATCHES=( +#) + +pkg_setup() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \ + NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \ + ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi + enewgroup nova + enewuser nova -1 -1 /var/lib/nova nova +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + + if use !compute-only; then + for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do + newinitd "${FILESDIR}/nova.initd-2" "nova-${svc}" + done + fi + use compute && newinitd "${FILESDIR}/nova.initd-2" "nova-compute" + use novncproxy && newinitd "${FILESDIR}/nova.initd-2" "nova-novncproxy" + + diropts -m 0750 -o nova -g qemu + dodir /var/log/nova /var/lib/nova/instances + diropts -m 0750 -o nova -g nova + + insinto /etc/nova + insopts -m 0640 -o nova -g nova + newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample" + doins "${FILESDIR}/nova-compute.conf" + doins "${S}/etc/nova/"* + # rootwrap filters + insopts -m 0644 + insinto /etc/nova/rootwrap.d + doins "etc/nova/rootwrap.d/api-metadata.filters" + doins "etc/nova/rootwrap.d/compute.filters" + doins "etc/nova/rootwrap.d/network.filters" + + # add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0600 -o root -g root + doins "${FILESDIR}/nova-sudoers" + + if use iscsi ; then + # Install udev rules for handle iscsi disk with right links under /dev + udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules + + insinto /etc/nova/ + doins "${FILESDIR}/scsi-openscsi-link.sh" + fi +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/" + doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg" + # copy the CA cert dir (not coppied on install via setup.py script) + cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed" +} + +pkg_postinst() { + if use iscsi ; then + elog "iscsid needs to be running if you want cinder to connect" + fi +} diff --git a/sys-cluster/nova/nova-2016.2.9999.ebuild b/sys-cluster/nova/nova-2016.2.9999.ebuild new file mode 100644 index 000000000000..e43137070e8c --- /dev/null +++ b/sys-cluster/nova/nova-2016.2.9999.ebuild @@ -0,0 +1,220 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils git-r3 linux-info multilib user + +DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python" +HOMEPAGE="https://launchpad.net/nova" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/newton/nova.conf.sample -> newton-nova.conf.sample" +EGIT_REPO_URI="https://github.com/openstack/nova.git" +EGIT_BRANCH="stable/newton" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite" +REQUIRED_USE=" + !compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND=" + >=dev-python/setuptools-16.0[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/boto-2.32.1[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] + >=dev-python/webob-1.2.3[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/prettytable-0.7[${PYTHON_USEDEP}] + <dev-python/prettytable-0.8[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}] + !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}] + <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}] + >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}] + !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}] + >=dev-python/setuptools-16.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}] + >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}] + !~dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/rfc3986-0.2.2[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/psutil-1.1.1[${PYTHON_USEDEP}] + <dev-python/psutil-2.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.6.1[${PYTHON_USEDEP}] + >=dev-python/os-vif-1.1.0[${PYTHON_USEDEP}] + >=dev-python/os-win-0.2.3[${PYTHON_USEDEP}] + >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}] + >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}] + >=dev-python/wsgiintercept-0.6.1[${PYTHON_USEDEP}] + dev-python/libvirt-python[${PYTHON_USEDEP}] + app-emulation/libvirt[iscsi?] + novncproxy? ( www-apps/novnc ) + sys-apps/iproute2 + openvswitch? ( net-misc/openvswitch ) + rabbitmq? ( net-misc/rabbitmq-server ) + memcached? ( + net-misc/memcached + >=dev-python/python-memcached-1.58 + ) + sys-fs/sysfsutils + sys-fs/multipath-tools + net-misc/bridge-utils + compute? ( + app-cdr/cdrtools + sys-fs/dosfstools + app-emulation/qemu + ) + iscsi? ( + sys-fs/lsscsi + >=sys-block/open-iscsi-2.0.873-r1 + )" + +#PATCHES=( +#) + +pkg_setup() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \ + NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \ + ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi + enewgroup nova + enewuser nova -1 -1 /var/lib/nova nova +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + + if use !compute-only; then + for svc in api cert conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do + newinitd "${FILESDIR}/nova.initd" "nova-${svc}" + done + fi + use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute" + use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy" + + diropts -m 0750 -o nova -g qemu + dodir /var/log/nova /var/lib/nova/instances + diropts -m 0750 -o nova -g nova + + insinto /etc/nova + insopts -m 0640 -o nova -g nova + newins "${DISTDIR}/newton-nova.conf.sample" "nova.conf.sample" + doins "${FILESDIR}/nova-compute.conf" + doins "${S}/etc/nova/"* + # rootwrap filters + insopts -m 0644 + insinto /etc/nova/rootwrap.d + doins "etc/nova/rootwrap.d/api-metadata.filters" + doins "etc/nova/rootwrap.d/compute.filters" + doins "etc/nova/rootwrap.d/network.filters" + + # add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0600 -o root -g root + doins "${FILESDIR}/nova-sudoers" + + if use iscsi ; then + # Install udev rules for handle iscsi disk with right links under /dev + udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules + + insinto /etc/nova/ + doins "${FILESDIR}/scsi-openscsi-link.sh" + fi +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/" + doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg" + # copy the CA cert dir (not coppied on install via setup.py script) + cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed" +} + +pkg_postinst() { + if use iscsi ; then + elog "iscsid needs to be running if you want cinder to connect" + fi +} diff --git a/sys-cluster/nova/nova-2017.1.9999.ebuild b/sys-cluster/nova/nova-2017.1.9999.ebuild new file mode 100644 index 000000000000..fa38dc987200 --- /dev/null +++ b/sys-cluster/nova/nova-2017.1.9999.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils git-r3 linux-info multilib user + +DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python" +HOMEPAGE="https://launchpad.net/nova" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/ocata/nova.conf.sample -> nova.conf.sample-${PV}" +EGIT_REPO_URI="https://github.com/openstack/nova.git" +EGIT_BRANCH="stable/ocata" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite" +REQUIRED_USE=" + !compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )" + +CDEPEND=" + >=dev-python/setuptools-16.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}] + >=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND=" + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}] + <dev-python/prettytable-0.8[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}] + !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}] + <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}] + >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}] + !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}] + >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.0.1[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.8.0[${PYTHON_USEDEP}] + >=dev-python/os-vif-1.4.0[${PYTHON_USEDEP}] + >=dev-python/os-win-1.4.0[${PYTHON_USEDEP}] + >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}] + >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}] + >=dev-python/os-xenapi-0.1.1[${PYTHON_USEDEP}] + dev-python/libvirt-python[${PYTHON_USEDEP}] + app-emulation/libvirt[iscsi?] + novncproxy? ( www-apps/novnc ) + sys-apps/iproute2 + openvswitch? ( net-misc/openvswitch ) + rabbitmq? ( net-misc/rabbitmq-server ) + memcached? ( + net-misc/memcached + >=dev-python/python-memcached-1.58 + ) + sys-fs/sysfsutils + sys-fs/multipath-tools + net-misc/bridge-utils + compute? ( + app-cdr/cdrtools + sys-fs/dosfstools + app-emulation/qemu + ) + iscsi? ( + sys-fs/lsscsi + >=sys-block/open-iscsi-2.0.873-r1 + )" + +#PATCHES=( +#) + +pkg_setup() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \ + NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \ + ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi + enewgroup nova + enewuser nova -1 -1 /var/lib/nova nova +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + + if use !compute-only; then + for svc in api cert conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do + newinitd "${FILESDIR}/nova.initd" "nova-${svc}" + done + fi + use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute" + use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy" + + diropts -m 0750 -o nova -g qemu + dodir /var/log/nova /var/lib/nova/instances + diropts -m 0750 -o nova -g nova + + insinto /etc/nova + insopts -m 0640 -o nova -g nova + newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample" + doins "${FILESDIR}/nova-compute.conf" + doins "${S}/etc/nova/"* + # rootwrap filters + insopts -m 0644 + insinto /etc/nova/rootwrap.d + doins "etc/nova/rootwrap.d/api-metadata.filters" + doins "etc/nova/rootwrap.d/compute.filters" + doins "etc/nova/rootwrap.d/network.filters" + + # add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0600 -o root -g root + doins "${FILESDIR}/nova-sudoers" + + if use iscsi ; then + # Install udev rules for handle iscsi disk with right links under /dev + udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules + + insinto /etc/nova/ + doins "${FILESDIR}/scsi-openscsi-link.sh" + fi +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/" + doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg" + # copy the CA cert dir (not coppied on install via setup.py script) + cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed" +} + +pkg_postinst() { + if use iscsi ; then + elog "iscsid needs to be running if you want cinder to connect" + fi +} diff --git a/sys-cluster/nova/nova-2017.2.9999.ebuild b/sys-cluster/nova/nova-2017.2.9999.ebuild new file mode 100644 index 000000000000..4bc17bcde842 --- /dev/null +++ b/sys-cluster/nova/nova-2017.2.9999.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils git-r3 linux-info multilib user + +DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python" +HOMEPAGE="https://launchpad.net/nova" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/pike/nova.conf.sample -> nova.conf.sample-${PV}" +EGIT_REPO_URI="https://github.com/openstack/nova.git" +EGIT_BRANCH="stable/pike" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite" +REQUIRED_USE=" + !compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )" + +CDEPEND=" + >=dev-python/setuptools-16.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}] + !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}] + !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}] + >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + !~dev-python/pbr-2.1.0" +DEPEND=" + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}] + <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.6.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-2.0.0[${PYTHON_USEDEP}] + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}] + <dev-python/prettytable-0.8[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}] + !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}] + <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}] + >=dev-python/python-cinderclient-3.1.0[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}] + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] + >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}] + !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.15.2[${PYTHON_USEDEP}] + >=dev-python/os-traits-0.3.1[${PYTHON_USEDEP}] + >=dev-python/os-vif-1.7.0[${PYTHON_USEDEP}] + >=dev-python/os-win-2.0.0[${PYTHON_USEDEP}] + >=dev-python/castellan-0.7.0[${PYTHON_USEDEP}] + >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}] + >=dev-python/os-xenapi-0.2.0[${PYTHON_USEDEP}] + >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}] + >=dev-python/cursive-0.1.2[${PYTHON_USEDEP}] + >=dev-python/pypowervm-1.1.6[${PYTHON_USEDEP}] + dev-python/libvirt-python[${PYTHON_USEDEP}] + app-emulation/libvirt[iscsi?] + novncproxy? ( www-apps/novnc ) + sys-apps/iproute2 + openvswitch? ( net-misc/openvswitch ) + rabbitmq? ( net-misc/rabbitmq-server ) + memcached? ( + net-misc/memcached + >=dev-python/python-memcached-1.58 + ) + sys-fs/sysfsutils + sys-fs/multipath-tools + net-misc/bridge-utils + compute? ( + app-cdr/cdrtools + sys-fs/dosfstools + app-emulation/qemu + ) + iscsi? ( + sys-fs/lsscsi + >=sys-block/open-iscsi-2.0.873-r1 + )" + +#PATCHES=( +#) + +pkg_setup() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \ + NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \ + ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi + enewgroup nova + enewuser nova -1 -1 /var/lib/nova nova +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + + if use !compute-only; then + for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do + newinitd "${FILESDIR}/nova.initd-2" "nova-${svc}" + done + fi + use compute && newinitd "${FILESDIR}/nova.initd-2" "nova-compute" + use novncproxy && newinitd "${FILESDIR}/nova.initd-2" "nova-novncproxy" + + diropts -m 0750 -o nova -g qemu + dodir /var/log/nova /var/lib/nova/instances + diropts -m 0750 -o nova -g nova + + insinto /etc/nova + insopts -m 0640 -o nova -g nova + newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample" + doins "${FILESDIR}/nova-compute.conf" + doins "${S}/etc/nova/"* + # rootwrap filters + insopts -m 0644 + insinto /etc/nova/rootwrap.d + doins "etc/nova/rootwrap.d/api-metadata.filters" + doins "etc/nova/rootwrap.d/compute.filters" + doins "etc/nova/rootwrap.d/network.filters" + + # add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0600 -o root -g root + doins "${FILESDIR}/nova-sudoers" + + if use iscsi ; then + # Install udev rules for handle iscsi disk with right links under /dev + udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules + + insinto /etc/nova/ + doins "${FILESDIR}/scsi-openscsi-link.sh" + fi +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/" + doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg" + # copy the CA cert dir (not coppied on install via setup.py script) + cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed" +} + +pkg_postinst() { + if use iscsi ; then + elog "iscsid needs to be running if you want cinder to connect" + fi +} diff --git a/sys-cluster/nullmpi/Manifest b/sys-cluster/nullmpi/Manifest new file mode 100644 index 000000000000..80c30d167396 --- /dev/null +++ b/sys-cluster/nullmpi/Manifest @@ -0,0 +1,5 @@ +AUX nullmpi-0.7-libtool.patch 1817 SHA256 dea202626599d20abf50c985a9b5b49620a145b32e5c90bf5e6562bd2f1be047 SHA512 b6621053616a1b474214e499de2c89ba92b550de58aa168d66464399de963399cec3b59b0de898de2683e93d7ea0d521a6957a48db63b67cd8bc7cfd8ed7c02f WHIRLPOOL c1be96463b6952d2d20a8f9f75fb9c35a14a3fc8c12dd715d97b78d86824c694c5c521c94f249de1289c656bbc9a77feb0d06e188c793f47eb317d4a33b42361 +DIST nullmpi-0.7.tar.gz 148188 SHA256 88d6d09db717e22627fa7f225225f807d9315e611b903d2076ab0c83e74c8c96 SHA512 8575b019f4ea835f3824dc181a3bea70684ad5c4fa59686ff293ba63dfbf1a90ba7a80dccecc817664d10ea23d131003eed46a5a29cc18cd619176090d8a1ae1 WHIRLPOOL da058909917f0f32dce6086c01337543266e89d7e71ace2fe57f3b558643d6528494eac5e742c336a1c37664df5e195b132648bf87d12b47db4bc581083f1fff +EBUILD nullmpi-0.7.ebuild 903 SHA256 b06b3a94e5ff0b25294266bd90e731d2c08d36cc614c5eb34e3a0c2130fbdfa6 SHA512 3ad9546a1fb63496034a2e8392ce4c3cfb207d005c517e633d0fb6da1e439fcc81ea7d5623b0724aad1e524633193137abc7da0a91bb391edcd213cc9e30b81e WHIRLPOOL c48b7a1062105ef945e5b4c7a04122a05a0c5cde2bac120d4b25b15185189a571c032c2296659c598f1f7b373bcf5bc817c04b584360a865d1b1362ab683b973 +MISC ChangeLog 469 SHA256 3ac6de64d019db8cbcc1b62fba05e8a69720c2901b88c5073e03a802f18495f6 SHA512 2366754e9c4f0069a118fb23cc818ee051583ad432a102f19779affa4dd1121af77459d687d4a17abfdc01475c10b1aac98030d40817bd1119031f094879fbe9 WHIRLPOOL c61cbf9939e93b83a8dac5dea75ba15048b5f1e95f1a9eb955674ac3b8a5febb799038000fc87259ef2fc773a382b99d2068acddadeb6e0003fe45c16c7436c5 +MISC metadata.xml 381 SHA256 d92baf3a7482a6e6f8b2a49717dda94f3311823fc9cac33e71f4376454a5a0ee SHA512 e411c2a9f366d4700fe49ac58189f9dbaa57f4d07435c2731e175c163553e7be6a9ea4e370a0daa76731d4d5bd26c673e86a0a66295eb1eb2757e2e77b3f7c59 WHIRLPOOL 9267363bd216234b49ce615b49d663d9dc6c88fd99b2410f4b5c8621bdc1a5d0ce1eac5e34dbb52785cb1826e0a79c7a7e3ace605532a14f4c264717e73b6cb8 diff --git a/sys-cluster/nullmpi/files/nullmpi-0.7-libtool.patch b/sys-cluster/nullmpi/files/nullmpi-0.7-libtool.patch new file mode 100644 index 000000000000..60b56930938f --- /dev/null +++ b/sys-cluster/nullmpi/files/nullmpi-0.7-libtool.patch @@ -0,0 +1,53 @@ +diff -Naur nullmpi-0.7.orig/configure.ac nullmpi-0.7/configure.ac +--- nullmpi-0.7.orig/configure.ac 2011-01-23 17:20:35.000000000 +0100 ++++ nullmpi-0.7/configure.ac 2011-01-23 17:21:21.000000000 +0100 +@@ -18,6 +18,7 @@ + AC_PROG_RANLIB + AC_PROG_LN_S + AC_PROG_MAKE_SET ++LT_INIT + + # Checks for header files. + AC_HEADER_STDC +diff -Naur nullmpi-0.7.orig/pmpi/Makefile.am nullmpi-0.7/pmpi/Makefile.am +--- nullmpi-0.7.orig/pmpi/Makefile.am 2011-01-23 17:20:35.000000000 +0100 ++++ nullmpi-0.7/pmpi/Makefile.am 2011-01-23 17:41:58.000000000 +0100 +@@ -1,7 +1,7 @@ + ## process this file with automake to produce Makefile.in + +-lib_LIBRARIES = libnullpmpi.a +-libnullpmpi_a_SOURCES = \ ++lib_LTLIBRARIES = libnullpmpi.la ++libnullpmpi_la_SOURCES = \ + abort.c \ + allgather.c \ + allgatherv.c \ +@@ -115,4 +115,6 @@ + waitsome.c \ + pmpi_wrap.h + ++libnullpmpi_la_LIBADD = ../src/libnullmpi.la ++ + AM_CPPFLAGS = -I$(srcdir)/../src -DPROFILELIB +diff -Naur nullmpi-0.7.orig/pmpi/out.c nullmpi-0.7/pmpi/out.c +--- nullmpi-0.7.orig/pmpi/out.c 2011-01-23 17:20:35.000000000 +0100 ++++ nullmpi-0.7/pmpi/out.c 2011-01-23 17:47:38.000000000 +0100 +@@ -1,3 +1,3 @@ + #include "pmpi_wrap.h" + +-PMPI_WRAP2(MPI_Abort, MPI_Comm, int) ++/*PMPI_WRAP2(MPI_Abort, MPI_Comm, int)*/ +diff -Naur nullmpi-0.7.orig/src/Makefile.am nullmpi-0.7/src/Makefile.am +--- nullmpi-0.7.orig/src/Makefile.am 2011-01-23 17:20:35.000000000 +0100 ++++ nullmpi-0.7/src/Makefile.am 2011-01-23 17:22:11.000000000 +0100 +@@ -1,8 +1,8 @@ + ## process this file with automake to produce Makefile.in + + include_HEADERS = $(PUBLICHEADERS) +-lib_LIBRARIES = libnullmpi.a +-libnullmpi_a_SOURCES = $(PUBLICHEADERS) $(PRIVATEHEADERS) $(PRIVATESOURCES) ++lib_LTLIBRARIES = libnullmpi.la ++libnullmpi_la_SOURCES = $(PUBLICHEADERS) $(PRIVATEHEADERS) $(PRIVATESOURCES) + + PUBLICHEADERS = \ + mpi.h \ diff --git a/sys-cluster/nullmpi/metadata.xml b/sys-cluster/nullmpi/metadata.xml new file mode 100644 index 000000000000..394776703b20 --- /dev/null +++ b/sys-cluster/nullmpi/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>junghans@gentoo.org</email> + <name>Christoph Junghans</name> + </maintainer> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/nullmpi/nullmpi-0.7.ebuild b/sys-cluster/nullmpi/nullmpi-0.7.ebuild new file mode 100644 index 000000000000..b5c5cc6dabc2 --- /dev/null +++ b/sys-cluster/nullmpi/nullmpi-0.7.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools multilib-minimal + +DESCRIPTION="MPI substitute library" +HOMEPAGE="http://wissrech.ins.uni-bonn.de/research/projects/nullmpi/" +SRC_URI="http://wissrech.ins.uni-bonn.de/research/projects/nullmpi/${PF}.tar.gz" + +LICENSE="GPL-1" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="static-libs" + +RDEPEND=" + !sys-cluster/openmpi + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/mvapich2 + !sys-cluster/native-mpi" + +DEPEND="${RDEPEND}" + +PATCHES=( "${FILESDIR}/${P}-libtool.patch" ) + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/nullmpi_conf.h +) + +src_prepare() { + default + eautoreconf +} + +multilib_src_configure() { + ECONF_SOURCE="${S}" econf --enable-shared $(use_enable static-libs static) +} + +multilib_src_install_all() { + einstalldocs + + #no deps + find "${ED}" -name '*.la' -delete || die +} diff --git a/sys-cluster/ocfs/Manifest b/sys-cluster/ocfs/Manifest new file mode 100644 index 000000000000..fc81fcfddd9b --- /dev/null +++ b/sys-cluster/ocfs/Manifest @@ -0,0 +1,5 @@ +DIST ocfs-1.0.14.tar.gz 467237 SHA256 bbcd6c88f3687be13ed69b8968df38843e4f3e1c957a69010a81988890de3a5f SHA512 0a081806ef65bb988a85d65221210748b3b6eaeb1191dde333120090c8d54818549bdeadd72dd814497d3aa4053ef474ade18c4ced8cbf3423785ff6fb404264 WHIRLPOOL 26e16d11e582e4ca6679e5d7fd28b9a4ee70c988400cfaec24bc2dafedd7282cef4c9f652a79cebf490b2058bd5e211ab5b676cda7eac311a7df972aa0cc32e2 +EBUILD ocfs-1.0.14.ebuild 1044 SHA256 56c009bb6bb26db713b1df927bee91926a40f7e6bb5db3adbc93bd806a0e9562 SHA512 24328bf22688aee661715bf7afc784f28b08b8ab431f6670d8360be61b2b4a168dd499f4232b2ae345040ab7bebed9141a93ede099f5e0cf98877a56054eab1f WHIRLPOOL e97d8d81382bc5d5c9567127ada72b9aa1e29284837b89f1cd9a5831786a10670e57a8105d4f3f70f9dfbebb47bafaec848ba94af89be39b4231963739dfeacb +MISC ChangeLog 2816 SHA256 55de087f134e3401cb4b89343107f37eceae9353a3b56872f3c80831f0ba0a45 SHA512 29d886aaff8371b105af6f9788d48cd7a8bcd31c1894c9b60b7486b3762e294d08c340c6a8e54287310b8aa771671ae577494a58f7bd6674f0badcc16f2c0bce WHIRLPOOL 3a808d53b793e5378f1bf86694c3d946265e1dc3375075c6b153eabc60f60f0fbc5b9ba4dc915e29ac4c1f422e802b57e4877469f59201d623a9e567c430a9e6 +MISC ChangeLog-2015 1000 SHA256 5778473faf59c1f3d39d25c74e223042b3e72683a675a3c37fa109d7e99b0f5e SHA512 fd1495c7acb74821ce00655386108e4a3d836e8acc332e272c20f11b0e8118701ca7eb5c8bc67c0e4acfe20f18961ab0f1e14a1b4bdcf9f9caa16dc6b03f2c4c WHIRLPOOL c5ceffd9231355b08f22140eeeb7a977ec10d4e0ac3359e351af6fefcb34fc04a9131aaf59523c9886fa4105c36ca8ae636f8142023224a73dd51288fa470755 +MISC metadata.xml 307 SHA256 badbac1a6cbca8b8dcce2d77bad76111fe73257ca3e4f7f06d4758dbc5dad775 SHA512 4373d384ed9713aca4b4b69e7aaa5d1d0c700e9d43a5c23a66bd736fa3b7cecb5dfe0f1a314296a6235e48af76529875425fd9ef0582d8583fc8e1b5a5012461 WHIRLPOOL 9e73db232c5dd3dad7e62ac105dc40fbcf098107028cd72b7f83c9ba214ac413caa39d595043d25ca92d60f5841807d04623d7c0fac5aef3269994e1600a75e3 diff --git a/sys-cluster/ocfs/metadata.xml b/sys-cluster/ocfs/metadata.xml new file mode 100644 index 000000000000..cacaf0222b69 --- /dev/null +++ b/sys-cluster/ocfs/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> +</maintainer> +<use> + <flag name="aio">Add aio support</flag> +</use> +</pkgmetadata> diff --git a/sys-cluster/ocfs/ocfs-1.0.14.ebuild b/sys-cluster/ocfs/ocfs-1.0.14.ebuild new file mode 100644 index 000000000000..ecbeed23ad84 --- /dev/null +++ b/sys-cluster/ocfs/ocfs-1.0.14.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit linux-mod + +DESCRIPTION="The Oracle Cluster Filesystem" +SRC_URI="http://oss.oracle.com/projects/ocfs/dist/files/source/${P}.tar.gz" +HOMEPAGE="http://oss.oracle.com/projects/ocfs" +LICENSE="GPL-2" + +DEPEND="virtual/linux-sources" + +IUSE="aio" +SLOT="0" +KEYWORDS="~x86" + +pkg_setup() { + if kernel_is -ge 2 6; then + die "${P} supports only 2.4 kernels" + fi +} + +src_compile() { + set_arch_to_kernel + local myconf + use aio && myconf="--enable-aio=yes" || myconf="--enable-aio=no" + + econf \ + --with-kernel=${KV_DIR} \ + ${myconf} \ + || die + + emake || die +} + +src_install() { + einstall DESTDIR=${D} || die "Failed to install" + + dodir /etc/ocfs + insinto /etc/ocfs + doins ocfs2/ocfs.conf + + dodoc README docs/ocfs_doc.zip || die +} + +pkg_postinst() { + linux-mod_pkg_postinst + + einfo "" + einfo "Please remember to re-emerge ${PN} when you upgrade your kernel!" + einfo "" + einfo "Please edit the configuration file /etc/ocfs/ocfs.conf" + einfo "" +} diff --git a/sys-cluster/onesis/Manifest b/sys-cluster/onesis/Manifest new file mode 100644 index 000000000000..020529fde091 --- /dev/null +++ b/sys-cluster/onesis/Manifest @@ -0,0 +1,5 @@ +DIST oneSIS-2.0.2.tar.gz 1703998 SHA256 0840f2b7d5e1378aa6e08bc377b0c93ac9411c81edff91bfa2b81ab1f2503eec SHA512 e479b1d261d67247c26cf4c89efe79380c8c0dc759f50dca0613836c05da136922594bffbb2b17fa5007fa91ee5c46c29741429d56fdee91d0d54a1e7dc267bf WHIRLPOOL 4a1ec9b6e12c1831ffe360da3a6a3b2070218f7370816c1d26939e0a186252ef1d81915604774eaed33fe6c20c6c6f4856256f6dd68bc53874499496cfc3b4ac +EBUILD onesis-2.0.2.ebuild 502 SHA256 992ab34b546a732d28db9eac71bd502e11444f05be6a13211f201c6d750b47f5 SHA512 e9c9042393da68ea6d2634c5e8eab0705342e3ab3ec635b795ac17ca74b5ab1e6498c584041413382f658d6ac65b23c2a715b1d89df71f5f5f4a863c1c64b168 WHIRLPOOL fbe26e5f79e44a0b7d72cfeca06c02b6de909da2dde6b1cf4d6703ffa5d729c761f9bf128da0c6a33e06879e3767af8a0653d54807617ae4c5a6503bad2bf03c +MISC ChangeLog 2427 SHA256 a55e19526505f3d3859fc19a265ab8df0f1324889e37b1575ea973393faea3f1 SHA512 4d49dfef0f07c3a6a1337be96ef598c5cf0509879551e808a9b0c6606f811ce45b875287ecc12270ca6114ffa64cd08b8985666dea204f70de2f75f58fd60845 WHIRLPOOL 11d05c2fda1f17cb6e6d95820f5f7828b4e6169e83a7b9ff9b38b970432d9c52345c8c523f6236ce872be41fa8be7a2979d6adadf01956e007fce4186a4125f0 +MISC ChangeLog-2015 1341 SHA256 da4cde7324f3f0bbd5f23507edf264cb9618680f25ed26e93fe8fbec474f5b47 SHA512 c54386b3f2379aa0e8a94c67eb81dbcdd1771b25d5bd8f221fd30b9ecb80f10a09e96ff9d16f9aa43e5e2747e83b93436726e18d77b4b36b65052c9fdc0a7d75 WHIRLPOOL 4261362ec2fc28bc6d53c9be56bafc2a013569194c674477a370dde93d4cd0c4ca27c76419cd4d4841362d0a274457e642418aaeeefaca6f12330e733ff9f316 +MISC metadata.xml 333 SHA256 93f36607ffa6e55e493e5d857032b6dbe29f1fe72815abdf2b14b3c8c8420c81 SHA512 721f59fbc6854e7896342cc51ab7c30b65eb7f227ddaa25cb26141ace67976a556db3d1bebf92b082a1f51a92e5e1f0b9a0c61ef47f5f43d024a18fd4626fb36 WHIRLPOOL 7519037a342492d8e78c7b35622369c18a3d2a6fdf1d2e84ac026d9f5c2baf6874cb69f02ba6688b7e7ac0444d56e557256284f62b667d129393fe24502f9f84 diff --git a/sys-cluster/onesis/metadata.xml b/sys-cluster/onesis/metadata.xml new file mode 100644 index 000000000000..ae7d2150d983 --- /dev/null +++ b/sys-cluster/onesis/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">onesis</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/onesis/onesis-2.0.2.ebuild b/sys-cluster/onesis/onesis-2.0.2.ebuild new file mode 100644 index 000000000000..3262234d696a --- /dev/null +++ b/sys-cluster/onesis/onesis-2.0.2.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +MY_P="oneSIS-${PV/_}" + +DESCRIPTION="Diskless computing made easy" +HOMEPAGE="http://onesis.org/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="" + +DEPEND="dev-lang/perl" +RDEPEND="${DEPEND}" + +S="${WORKDIR}"/${MY_P} + +src_install() { + make prefix="${D}" INSTALLDIRS=vendor install || die "make install failed" +} diff --git a/sys-cluster/open-mx/Manifest b/sys-cluster/open-mx/Manifest new file mode 100644 index 000000000000..cb8b5475543c --- /dev/null +++ b/sys-cluster/open-mx/Manifest @@ -0,0 +1,7 @@ +AUX omxoed.initd 912 SHA256 cf328d447b9db77ec1879f4bbff1c86f9f46021f70cb3623ce0636c486de61f4 SHA512 ecfc0419317ca767d099f8089e92d08396359c5fd223123281bdada1f165619ef73498b1b0732a5f9f280551e7e4fb5efccea69450b68e6c1360405ff84f48dd WHIRLPOOL 71cfdf545a0970bbb1b10020832283c65ad28f235f8ebb2792b3b19d7c94d098d5a7fdf4cf0df251a5cbb8a388e7adf76ac03b1a660de28de14c2594e31d29c8 +AUX open-mx-1.4.0-driver.patch 284 SHA256 cf6b97ecdd350e531c40154ca5efe6e134cec25f60b34d5cebd9f7d5ae3814c8 SHA512 8807f515f6bc29c8500b282b69d5cb7030e25804e0597b44e6015988ea639487882ad3ca3d650aec21ff06815662e11753d8524dcc8b713bcbb9fd318fa78488 WHIRLPOOL 7ae599fec16306bbb3e2bafdf97ee10f0b62929690402ce8a0ecb4171c533a91d0c9e5c60d7882a55e8051a799a45c9762b69ef0cdae39183356d21b73b009b8 +DIST open-mx-1.5.4.tar.gz 1094452 SHA256 78192041c55afc5328fef159499410e40b9d1dd6ab529abbe15f0843278624cc SHA512 df41132de0c6f7a20a1cdb9aff3c654d5e306771369c12086affda785686e1a3ed23ba82e617618ebbd72ffa3b32d1f3c76e4450d6ab772d9e5a3080f6a3e977 WHIRLPOOL 16fb2f0ebaba6b97ec4b58459534d4642afe1e77ce68fdc001f053e4a40555601196a223933c3715a11490cd17b84cfc0f1512d1d4caa0bcb84060077f127485 +EBUILD open-mx-1.5.4.ebuild 1913 SHA256 4e86f46013488b713cf92f564739b545217c3723f5d7da5e34c139cf64493e55 SHA512 134a61592d9bc9ed16edff25b05548543d5b616dab241cc99e9d7a0e015c306b0f46351ec4ff83b6d2c629bfbd2d839fcf1cefb1f5b6042f85032e68c039ba7f WHIRLPOOL a577ac343734c2abced44e1fb0ddb889c9914e1596b1041d82aeef04cfe272973812cc38a54acd7bd5a028f047a601ead1b40052294fb8486453c2b1486d973e +MISC ChangeLog 2999 SHA256 419e37cf9e9d52979de7f2185df99455382561e4fc967ddcf445c33ff36f21ea SHA512 ca798bf5e81eb787466a5fef80624f1df4431a8af0d7e69346ce6818e720ce725bb1733379f25a10d9507be372314a8c0ffffc0bd73acf48a89aeb02bfa0c4ba WHIRLPOOL 3f634cd17433d8112396cb9e9e21a409682b61e229fbf6e351b142f7ab583a401ded11da1fc889a333e0db7a239b9b610c47de19898a32dad8d3322f5edf979e +MISC ChangeLog-2015 1471 SHA256 267c364e5b9395829f611fc4aa8ced22008e0e942bcdd84d053063519e584e2e SHA512 1318f9f6a5cd50b7b11e68fc92c64503760fe0588ea6a91727db2b5e8b7525c4d3a40953050f5b70765fa89ce8859f447b38a336fea671ed8c5d5ab55004bde1 WHIRLPOOL c3259637e0a7b76e5400b39e7c9540f9f444e2432bafb3f684440ee994591fee8569df37becdac48a2cfc2f32d6a1c21592c7eb1208a24700aa6b480f13d5658 +MISC metadata.xml 365 SHA256 90e0eb71575b3b48ddebbb80e17f8a75e2e071f1b8048ec7ad42b62e3179995f SHA512 debd6bb734810af46390ed76b73151e5729999aff31956951cf9482e06ae6d08e4d642f9fc27ff99f0947b0b63214dc9ca6514e760d0d93a79bcd9ea79b60743 WHIRLPOOL 3f4277a73ba9bcbebc283ee05e6d99c5827b52ebe47ba0acd8b02f6207132b1ed6618f7408c85bfbf9588a2b222adac3ff2578a715d21521b95a290be3c9a9a6 diff --git a/sys-cluster/open-mx/files/omxoed.initd b/sys-cluster/open-mx/files/omxoed.initd new file mode 100644 index 000000000000..765842ed7f68 --- /dev/null +++ b/sys-cluster/open-mx/files/omxoed.initd @@ -0,0 +1,45 @@ +#!/sbin/openrc-run +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +checksystem() { + if [ -c /dev/open-mx ]; then + einfo "Open-MX module already loaded" + return 0 + else + einfo "Checking if Open-MX module present" + if [ "x$(modprobe -l open-mx | grep open-mx)" == "x" ]; then + eerror "open-mx not found!" + return 1 + fi + fi +} + +start() { + ebegin "Starting ${SVCNAME}" + checksystem || return 1 + if [ ! -c /dev/open-mx ]; then + ebegin "Loading open-mx module" + modprobe -q open-mx + fi + start-stop-daemon --start --exec /usr/bin/omxoed \ + --background --make-pidfile \ + --pidfile /var/run/omeoed.pid + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --exec /usr/bin/omxoed \ + --pidfile /var/run/omeoed.pid + eend $? +} + +status() { + ebegin "Showing current active Open-MX peers" + omx_info -q +} diff --git a/sys-cluster/open-mx/files/open-mx-1.4.0-driver.patch b/sys-cluster/open-mx/files/open-mx-1.4.0-driver.patch new file mode 100644 index 000000000000..e082865c235a --- /dev/null +++ b/sys-cluster/open-mx/files/open-mx-1.4.0-driver.patch @@ -0,0 +1,14 @@ +--- Makefile.am 2011-07-15 02:42:53.000000000 +0400 ++++ Makefile.am 2011-07-15 02:43:02.000000000 +0400 +@@ -20,11 +20,6 @@ + + SUBDIRS = + +-# Driver +-if OMX_BUILD_DRIVER +- SUBDIRS += driver/linux +-endif +- + # Library + if OMX_BUILD_LIBRARY + SUBDIRS += libopen-mx tools tests tests/mx diff --git a/sys-cluster/open-mx/metadata.xml b/sys-cluster/open-mx/metadata.xml new file mode 100644 index 000000000000..fc70a30f312d --- /dev/null +++ b/sys-cluster/open-mx/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>alexxy@gentoo.org</email> + <name>Alexey Shvetsov</name> + </maintainer> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/open-mx/open-mx-1.5.4.ebuild b/sys-cluster/open-mx/open-mx-1.5.4.ebuild new file mode 100644 index 000000000000..ac461bfced30 --- /dev/null +++ b/sys-cluster/open-mx/open-mx-1.5.4.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit autotools eutils linux-mod multilib toolchain-funcs udev + +DESCRIPTION="Open-MX - Myrinet Express over Generic Ethernet Hardware" +HOMEPAGE="http://open-mx.gforge.inria.fr/" +SRC_URI="http://gforge.inria.fr/frs/download.php/34371/${P}.tar.gz" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug modules static-libs" + +DEPEND=" + sys-apps/hwloc + virtual/linux-sources + virtual/pkgconfig" +RDEPEND=" + sys-apps/hwloc + virtual/modutils" + +MODULE_NAMES="open-mx(misc:${S}/driver/linux)" +BUILD_TARGETS="all" +BUILD_PARAMS="KDIR=${KERNEL_DIR}" + +pkg_setup() { + einfo "You can set desired mtu by setting OPEN_MX_MTU in make.conf" + linux-mod_pkg_setup +} + +src_prepare() { + # We still want to configure driver but dont want to build it at all + epatch "${FILESDIR}/open-mx-1.4.0-driver.patch" + # We dont want tests + sed -e 's:tests/mx::g' \ + -e 's:tests::g' \ + -i Makefile.am || die "sed failed" + eautoreconf +} + +src_configure() { + econf \ + --with-mtu=${OPEN_MX_MTU:-9000} \ + --with-linux="${KERNEL_DIR}" \ + --with-linux-release=${KV_FULL} \ + $(use_enable static-libs static) \ + $(use_enable debug) +} + +src_compile() { + default + if use modules; then + cd "${S}/driver/linux" + linux-mod_src_compile || die "failed to build driver" + fi +} + +src_install() { + default + use static-libs || find "${ED}" -name '*.*a' -exec rm {} + + # Drop init scripts + rm -rf "${ED}/usr/sbin" || die + rm "${ED}/usr/bin/omx_check" + # install udev rules + udev_dorules "${ED}/etc/open-mx/10-open-mx.rules" + dodoc "${ED}/usr/share/open-mx/FAQ.html" + # Drop misc stuff + rm "${ED}/etc/open-mx/10-open-mx.rules" || die + rm -rf "${ED}/usr/share/open-mx" || die + newinitd "${FILESDIR}/omxoed.initd" omxoed + if use modules; then + cd "${S}/driver/linux" + linux-mod_src_install || die "failed to install driver" + fi +} diff --git a/sys-cluster/openais/Manifest b/sys-cluster/openais/Manifest new file mode 100644 index 000000000000..3e01494cf409 --- /dev/null +++ b/sys-cluster/openais/Manifest @@ -0,0 +1,5 @@ +DIST openais-1.1.4.tar.gz 566559 SHA256 974b4959f3c401c16156dab31e65a6d45bbf84dd85a88c2a362712e738c06934 SHA512 9dab2d0c3ac1996fd76385cc89071dc84268065e6992642fefe005962e8367170681fed626c5bd863a8ea24abe57e2b8b3eddc20bc38b14104c729c599f3c79e WHIRLPOOL 2dce858ead76f4008dacde48aa4bd91692625a85c3fec293a593b50d5312df65a2978e05476179bd47e49e99c42df0329f5c54c13594e0e8775fa855332e3ed5 +EBUILD openais-1.1.4-r1.ebuild 1096 SHA256 1a19e6b74dff7f7f421773bb3259963695010dbe8cf2b8b3a2e45924fdaf9079 SHA512 75ac8549f13a7c4b752ffaa5d59b805294ea236c91fe551af70bd66c66ef129a6afcd7b9b701261aca60311cfedcfd78ffae5201c8e16b267e71e787b0fd3d4d WHIRLPOOL c37fa90b748b1d8f2268ea9b634b455e764fc989e35f73d3838853312ac41213bd9d756a719513bb6def592b143afd426c08e11228e60110576fac0cf91fd677 +MISC ChangeLog 2436 SHA256 6329776156ceeaecca62f2a4b9eff80bd271042d77ad0c37e28b440b8d538a49 SHA512 6ecda3379cadce2efd4345da29483fca4d36d607d461fc47214ad5d498c6bac1e7482316301295c8970534db1be003906f15f8604cef4ab6d13fdb305b2a2d28 WHIRLPOOL d90b0ff9f3071572680d9cfae96a3f8ce680ef2ab5c2f6b40d53f0a8b7c9cea19daca7368c2333567dc58aace73b67d9f7aa64071aaf5b39facdc7b77adfada9 +MISC ChangeLog-2015 1953 SHA256 df717398231bebc6312dadadf9f1bdabd988c44581f3671ffc224396e12d465c SHA512 8d7613bd919b801ebdc20b6106574823a1ff509aef6e53b156d59937978423a5584a5ddeef5e66feed2ef922ecf23f21b8ec449ece2850581908420b54268d19 WHIRLPOOL 08932130de25fcdfa4e03c1caf547010cb6e9d71eb51b82b27472d0a3f6cf5e8d299cedcedeb1f2425419e304ad815645f0704ae9fcd4658b13572a30cae4734 +MISC metadata.xml 822 SHA256 de469eb11af541973c727f37c897eb5d98707641702db3b6771792f7c07cdab6 SHA512 85eb8ae73ebc0614b240733110eecf256f00cd694c303c1dc5b42d5b038f8cef72adf65a99866cd270d6cdbc229e6730d947fcfedb2b59e2a51bf8b8a4f12aa3 WHIRLPOOL c49bca79e2681789394b8ba746e9eccbd1e955a6bcd64401f7c14d945862ced273fffde5520109f840223322f7916f0df28308e67a4e1703f4c2f826c25848b1 diff --git a/sys-cluster/openais/metadata.xml b/sys-cluster/openais/metadata.xml new file mode 100644 index 000000000000..c08a18d0927c --- /dev/null +++ b/sys-cluster/openais/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription> + The OpenAIS Standards Based Cluster Framework is an OSI Certified implementation of + the Service Availability Forum Application Interface Specification (AIS). + The Application Interface Specification is a software API and policies which are + used to develop applications that maintain service during faults. + Restarting and failover of applications is also provided for those + deploying applications which may not be modified. The OpenAIS software is built + to operate as plugins to the Corosync Cluster Engine. + </longdescription> +</pkgmetadata> diff --git a/sys-cluster/openais/openais-1.1.4-r1.ebuild b/sys-cluster/openais/openais-1.1.4-r1.ebuild new file mode 100644 index 000000000000..bf42581c57c3 --- /dev/null +++ b/sys-cluster/openais/openais-1.1.4-r1.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="2" + +inherit autotools base + +DESCRIPTION="Open Application Interface Specification cluster framework" +HOMEPAGE="http://www.openais.org/" +SRC_URI="ftp://ftp:${PN}.org@${PN}.org/downloads/${P}/${P}.tar.gz" + +LICENSE="BSD public-domain" +SLOT="0" +KEYWORDS="amd64 ~arm64 hppa x86 ~x86-fbsd" +IUSE="static-libs" + +RDEPEND="<sys-cluster/corosync-2.0.0" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +DOCS=( "${S}/AUTHORS" "${S}/README.amf" ) + +src_prepare() { + # respect CFLAGS + sed -i -e "s/\$OPT_CFLAGS \$GDB_FLAGS//" configure.ac || die + # respect LDFLAGS + sed -i -e "s/\$(CFLAGS) -shared/\$(CFLAGS) \$(LDFLAGS) -shared/" \ + services/Makefile.am || die + # don't install docs + sed -i -e "/^dist_doc/d" Makefile.am || die + eautoreconf +} + +src_configure() { + econf \ + --disable-dependency-tracking \ + --docdir=/usr/share/doc/${PF} \ + --localstatedir=/var +} + +src_install() { + base_src_install + rm -rf "${D}"/etc/init.d/openais || die + use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.a || die +} diff --git a/sys-cluster/openmpi/Manifest b/sys-cluster/openmpi/Manifest new file mode 100644 index 000000000000..3a4c3ca8ba78 --- /dev/null +++ b/sys-cluster/openmpi/Manifest @@ -0,0 +1,27 @@ +AUX hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch 1602 SHA256 551d0aaab2d83bdb9d128fc1bdcbcc0bb4a9b8775defa5d9b4b065151ac1154b SHA512 7732a53f6074432a10bbe7dcca6b64e45bebadb797c214fca9c93d2ec5fd179832f69374c38d2bba5932089fcae6a7045990a1c7bbb048c3b5ab1397e9596c74 WHIRLPOOL 8aba8593a683b1f564a6aa2c4c3d76e1e0a48491c90faa447ce2505555ca74930adb46a5c374011f48d240f925b8f14afba19db9201179ec1df642ba7d1f4528 +AUX openmpi-ltdl.patch 2449 SHA256 e373af4671a3056776fe53a3a12d28641aa8e5a4b400d23f5840deaccc865992 SHA512 4487ecbd2025d561f5ac46c70da5e407f6f201b7588f350d1211790dceb64ec2acdf3ca8f90e2ecbe8a6f7c3a6577e77fb7ae22be0ff3dd4adbded9035a7b6c9 WHIRLPOOL 34712f50ec93e781e2f03d23527a719132b6257f862eb50d7fc20e8186f948fc8dc624e76a9517caab5f7c9d2d794c889def4aff8f0d9c333e3963de17c26e2f +DIST openmpi-1.10.7.tar.bz2 13435131 SHA256 a089ece151fec974905caa35b0a59039b227bdea4e7933069e94bee4ed0e5a90 SHA512 9c5470f9959ca37650a59e56fb8343c028422c709876ab9d25a411dd09a07cdde927c45d8f3db1ad524b1f2847fe799471d469fa1efee48f8018b2ff24427ecb WHIRLPOOL 4ba8c403ac20d5f6db2a4648f35606583b6a38666d65793e726496b99d60179a7a3684874d2ea6e428e301a266fd93db7e4300155bf199eabed77c98ef6438be +DIST openmpi-1.4.3.tar.bz2 6626909 SHA256 220b72b1c7ee35469ff74b4cfdbec457158ac6894635143a33e9178aa3981015 SHA512 c33d5e019ba0b080aa34ecfa085182349da806e4bff26c1bf4dbdc8fb3f8f3c38899b9d96d671e1ae337b523ac9d634ae25c49d9af6eef2bc340c29dba75b1b8 WHIRLPOOL 92349d7bd16ff6e8563df602c215ce98ce5624b38a2975c13832d5b9504691c844206acad4c45376fe53e0116fe591782a3e5f8a132c4ac18ae793470d57db55 +DIST openmpi-1.4.5.tar.bz2 6643760 SHA256 a3857bc69b7d5258cf7fc1ed1581d9ac69110f5c17976b949cb7ec789aae462d SHA512 f89922345cde8978483e397e9016103626db3f1787f9afccaf0f60d59caa2a4409b47b01ac221d60e24e241f2afecb636ca89688bf326dc0ca5c817de96b3e99 WHIRLPOOL 2008bd952f9cc93ead6508267f5a45ee6d9ebf9136e35e25b798400d162173514da73349518bfada4777471c32d315e8556bbee8847a5268719d6b32fd0fd811 +DIST openmpi-1.6.5.tar.bz2 10943881 SHA256 fe37bab89b5ef234e0ac82dc798282c2ab08900bf564a1ec27239d3f1ad1fc85 SHA512 b0ede0264cd9263b8ba59ec51d17ad47b5f20d49d219ca05f7c396d608398d517b2023a46a2535fd6191160d709e4805c4de436dcfee56eda287383bd69f9652 WHIRLPOOL d0288677827c1deba17295ee1b69cd21da294ac314cc49404389b4c286384f9f2f229cae4c4fd62511e7f20abc510998642d6a2edfac3f16f83078f474f8e735 +DIST openmpi-1.7.5.tar.bz2 13286694 SHA256 cb3eef6880537d341d5d098511d390ec853716a6ec94007c03a0d1491b2ac8f2 SHA512 72de2788fa26615a2e7373b5f32e0a2b9e39d56094c45b49348ef19bbb0ea306734b7d3275d76471a18628b5244d882de4ed3595eb46f13683e1c8d2b277f065 WHIRLPOOL 107edd2eeca6e0ce9a9fb9ea1cd920cb1a87e8434390f2ed93279734c61bed63e9942bf2d33081e992d4d892f77a8643abbb58194aa76f7148d8716f1648aa82 +DIST openmpi-1.8.4.tar.bz2 13488749 SHA256 23158d916e92c80e2924016b746a93913ba7fae9fff51bf68d5c2a0ae39a2f8a SHA512 d4c8ce2bd3359cf2e85958b58ba18b52c9cef6676718eb3d948309b164b2f54544f8f8419ef6881c7a51ba268a876cd56e9b2d340a106a16fa25fb9fc3e4eff9 WHIRLPOOL 793f64ad44c2e3451a269bcb53d747d15a01649978d80f13599596e1bdd6a6011b50fdd60222bbe3a4ebe567a4785b2660e3c1eb09bdba77420581a0062480a2 +DIST openmpi-1.8.7.tar.bz2 13228742 SHA256 da629e9bd820a379cfafe15f842ee9b628d7451856085ccc23ee75ab3e1b48c7 SHA512 953e007b00c9753bafc05d13e6f686c9aa47f76f55fcc4eda565174d410de059e07862b7e667d15df13afb80418661d9a8d5ee17fdcc211d3e044992cd9ceede WHIRLPOOL 374edbca97262217dfe405414deff2f6a3cacc06daec56e3356ea76f27804ef3caa3f37050dc8a81f257b83c1ced49fd5f66647c2cba4892fbe4ec9746a6f84e +DIST openmpi-1.8.8.tar.bz2 13231433 SHA256 a28382d1e6a36f4073412dc00836ff2524e42b674da9caf6ca7377baad790b94 SHA512 8ca2e3ebb9d9ba0f33faba9bef76fe95293721b73619cbc18176611074a56c277e9ab6cae7fa6c87ace11f16151c1bc495b2a8dbc8ad064d5a8f89f5d431a660 WHIRLPOOL e36186452978ba7a368c83b84b8b089f6995450fa866b7b8300d32eec7e64a816abf5f301dc716bf25b3b45b987489952ffc4b7057f4407677f2a2df5ee67cdd +DIST openmpi-2.0.2.tar.bz2 8311215 SHA256 cae396e643f9f91f0a795f8d8694adf7bacfb16f967c22fb39e9e28d477730d3 SHA512 87dc3c23db4b9cb92dbacc9b384b21ce8c4288fe4edc204fbf4a3bef70d8ac4329269e777ed190fa87933d78b73b9e5550ea3b925b2039599cfef3953567232a WHIRLPOOL 9403135fbf1682597c211b1ca0d1e300bd6f49294e9a70bf21f030c48a54f85d2d7ce8de8693dccaf81e2b46fbfd9a43a817bf598dc1f96e122b3f6ea6ffc3c6 +DIST openmpi-2.0.3.tar.bz2 8285131 SHA256 b52c0204c0e5954c9c57d383bb22b4181c09934f97783292927394d29f2a808a SHA512 158f90e3fac41540036d0c9cbcbf6abfe3f420c9f295d50a28f00e98181367769167dc3a59bb47ea34bdcd5a1c5a43bd2e77dad5b0c8b08d91f65340ff2b8547 WHIRLPOOL 07740f47814279f239aab0ef52f97fdd2c4a3ed5eb643ec5e9cf8b09d2096cbb8039f60d02153002c1035fc3514f7029b525b1fceb50bdbe05ec307c06fb7501 +DIST openmpi-2.1.2.tar.bz2 8278459 SHA256 3cc5804984c5329bdf88effc44f2971ed244a29b256e0011b8deda02178dd635 SHA512 8a27a67cab384f9f03efe69bfdd51a8e8790f47a156e3a7e34f26a29d033889653070981c0105f142a96f00293fc069536bd020ae28a97afb564eab747e60457 WHIRLPOOL 9dbae8a3b0a35a761a8436bc30a4af36ea3492914f726a0334b39efe3e053e430d85723745ad33ca56d82f2884722532d408b809c25ea478b54c27f52fa99276 +EBUILD openmpi-1.10.7.ebuild 6355 SHA256 3687235863008b94cd0d0c5390fde9593bcdcd7715d78199e4035f0743596ea2 SHA512 1da5f322ebc8e7d0e4858bf005083370d1431559fa445eb0f0b80cdc9cf75d0493ab8db452784f87d052b38f434031b20c01f5eacd780eb720d69b9677b9e140 WHIRLPOOL 6bb2391fea652b4b9d95ac77d461bd3bca85575c08642aa62f89b733979dd49da5ff4182abdbe12f2d7e81f6c937b73a6798396d2dedbfc92bfbed58bcd85c5e +EBUILD openmpi-1.4.3.ebuild 2571 SHA256 b2a48a9b2f7b408f296eca2575636fb9e8d0647352f6a72df61db56c06684b7f SHA512 cbd64eaa022ca3861166ceb5a12b0d113d88c9cf4381c5f4eb9e1ca9c0b0006c2457e7639a2cabdd8118518f313bded89d80eb0b2ccd9a91dbb29018a3dd9efd WHIRLPOOL 020bbf9982fd789387988193181217a210f4a5092e5e136c154120b6cc9322e1d7571d9a1a387d7c21cab1358b010e20cd80d5dde217b44c5f751da8dce0d561 +EBUILD openmpi-1.4.5.ebuild 2580 SHA256 87522c0729e34797f5f84685751ada19f8f21ee93603bba74f204df9436cd564 SHA512 a8b3f8628aa6f8379b959d2c3ea7ad4e8d9edf7c1e5a41e54e42959f831b53355a3dd0590a72e389f3864dcecafbc62f4b4cee03fe475455900e881598a290a1 WHIRLPOOL c31a122e2d2407962b39f4f2edde2622de0ab88a0d3e0b678b8003f36b1ab315c1f8e8fdf4a37966d04cd4dc4e03fad0763d02b5bc8b4962793e11d828e33479 +EBUILD openmpi-1.6.5-r1.ebuild 5294 SHA256 8b5aff80d3313970602ba4d6bec90aabd5297d7270e95a27e085406bf053fb63 SHA512 9598d7407d6af3fa0c726aebc087731fa612590127da79fe559a151fd339991fd955c2825538dcfbc0ef255efba47952cbfe7af591e629c590a31c73443390f6 WHIRLPOOL 206459dfdbb9552e68cc6e16a68b82e4d53d8942913ab4090eafd5c9b4f85bbd260393b71efd17e6838c6bcd2c7ad7dc3ec7657062d9c70a9294ad67afee13bf +EBUILD openmpi-1.7.5-r1.ebuild 4989 SHA256 58b2eb1c9d052782e4f409be1fd29449e144728065a04077c2339a6e3a6cb34a SHA512 b69c89d38fed3d7345a12d783f8ef553cc1156e2f8058d990c8a866155a8aeca76b93a514f9980099dc378fdc49752392854d4c432af6cc17fc38e72cb2a7ae8 WHIRLPOOL a56555ae9349fc6dd3eb46033e9093d2fa9629a79eb40d5c28190f0faba52853861ca88cb101242f6c4b9ef8375a6b31859eac997e1f1f74564d6d429491cd0f +EBUILD openmpi-1.8.4-r4.ebuild 5032 SHA256 437c5f61eb00831f551e31af2f1044efe00b8272d8f229f2a132edc6cd18e1a9 SHA512 2ebcedba5301d5e70b6c91f958ff902b83ab977187aec96956d468499880788851fe36996a04245c559a6c3eea447467620ac040e3d944c12ba18444c7fca634 WHIRLPOOL 1c15a03ff5555d4a586fe4ded93e9e49dc8a3f79bcea6679531a8d83a5ccfc6d028b9419e9ad52034afd77c9958eb2b06d8060d6947a0bff1dc507dc7750b407 +EBUILD openmpi-1.8.7-r1.ebuild 5544 SHA256 421715bdea5bfa5fde86e5698127edf611c9ba1c3b5fad0179d999003801097b SHA512 2b3de9e53b8cb911a5ab1a1181f734fb115f77b2ceeadaaf04eaaf776eb476150633d307431c7294a602ab48a6fb9c7172fbf057c1ec0d2155c8a5eb72953ef0 WHIRLPOOL 624f24a298c30c61036daf00a525e06a43c95ce46fd00315188ab8e4f69396a1473fd57d4674f053147b21ed455f34e905fe7534ba70bea586c70b427c125224 +EBUILD openmpi-1.8.8.ebuild 5550 SHA256 2e6b7826f6f3b16e65b3dcbdd2a1303c946180c610f857b3c2e6bacea8684429 SHA512 51a5e3282133dbcc1d54e21f5f3957804c32df6d799d968dba43263cb7aba089fe9f7338b09c0e285b2d007758d446a8e64a02b2609a211b03bf984ec0fe3192 WHIRLPOOL 52db3acfcd35809e2f737587647dbbf08e8470e0cc300f2b1b8a2472065b6fc739dec20fdf599d8c191524be9947fe14a3efd6cfcc14f11bacc860ce3734020a +EBUILD openmpi-2.0.2.ebuild 5865 SHA256 2b115648f0eaa1fa1cac159238c3b70c5b316d371310d8d3f5069a5efce2a16c SHA512 52b5c8c601d20988b06fb96d88b4afa4d81c759ab5526ced4f5844e7fd7b94003dfeca2ab50c9344352d448a0dfc88a09effd518dfc91cebabb311427ebd35af WHIRLPOOL e47692aeb34d14fb82f884d160131a5c57ee271b94f69a7503859a9aa3eb310ee3e470ef05a550a4dccaa41b11503987897c1324686b4d15479e80dbb411d49d +EBUILD openmpi-2.0.3.ebuild 5869 SHA256 6fa4e35ed7f96b6f762e38cdb7094809b94000c02dc83511569e4705a6d5c13e SHA512 3806f6cb1b58c7065f8762c3991a2b4cac3d66c86402f7107bb9c683c53415f0091145a69640ddd0209eba8c0eaa1b831a4ae38143643d92d5656e25abc9419d WHIRLPOOL 6297101ba2099ff43033cc0e29ef085c2b16ba757a0f08556b1dca290b1e329a42994b2f334b5df16736682d0d7a153b91477feb723fe754c4d13395dcab6541 +EBUILD openmpi-2.1.2.ebuild 5580 SHA256 60f61d68edb0ea8cf9148a4825af142ca81494173d30d0c6a7f02dcfb9beeefe SHA512 86bdd21e669732ee8bb13fb9b6461d75b7680dc5ee1ca90985562e479ab4df06f3bde2d7c4e765e3fbf893eb967f81d6092648eb16071e365ba008ab1dd0a2e5 WHIRLPOOL 443ef64891016239dffaad5c10c58cfa2d0a1de6d18e86b3ce9d6c5bf1d2f39b3cc216d3d084221c22e350d3f50168879207b7a1362fa9b6e016b54536fde95a +MISC ChangeLog 6199 SHA256 527fd29f393545c06272aac0dd472b12d31e7fcfa18f6509d3afc21ab7e54dcc SHA512 f9dfbb1f4311f40d39bcbfebbe32152036d7a776611e151ada0806127fd5e6ef9e2da645782da08869e248a5dcd2cf789c39bd3e19f2131a6eb35c1849f28cef WHIRLPOOL 4aa0606aab2800e4f1a8f3110331d9bafa5077a57d1863b2d02e73cc5232f33a3518155dedbf2b5566d247cb1043a033eaad57fd47575b95c7f1183f343f3056 +MISC ChangeLog-2015 22605 SHA256 98728cdd98b01ef2bfddb2ab3e29c3593f561957385158cecff415a6ed440e9b SHA512 bdaec10229fb19b70c9c3bf601e40cc2d8796889b640a158a49e8db7304f1709c1532a22357ee78969bd5e96d0bba887fb56e9f5a3594d6e2d83eb56149a9277 WHIRLPOOL bfa30e308a856dd5673f69e053ce3608c6f64f3e0307a88f8764df98fcdad3921dc703806ccc47dcf3001645a989de32a5499dbf7369ae39171f62b833baa715 +MISC metadata.xml 901 SHA256 4dd4e2cb3cd8c47d97ddd98a966181d3eb968683fb6621f303b0178ee3702e96 SHA512 6f30f50d2f2173a01e7ef0d4b808352be98b64945b6af1f05cfaa28024f6efccad28984fe0ad31094f8822c5e251c1270765d5905c7737e1b84302143fe4ac09 WHIRLPOOL 0d39eb4ea06fc52023043732c1397ec778c8e033726aea1f6b3b9735722e02ca6b095cfb042c1ffcda36b3544a8559a584735adb2e8bab39fe2e53f3b30b43c2 diff --git a/sys-cluster/openmpi/files/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch b/sys-cluster/openmpi/files/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch new file mode 100644 index 000000000000..197430aee6f2 --- /dev/null +++ b/sys-cluster/openmpi/files/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch @@ -0,0 +1,42 @@ +From 3bd5897c7ca8ab61fb024957aeae891e204b3e3f Mon Sep 17 00:00:00 2001 +From: Justin Bronder <jsbronder@gmail.com> +Date: Mon, 1 Jul 2013 20:37:17 -0400 +Subject: [PATCH] hooks: disable malloc override inside of Gentoo sandbox + +As described in the comments in the source, Gentoo's own version of +fakeroot, sandbox, also runs into hangs when malloc is overridden. +Sandbox environments can easily be detected by looking for SANDBOX_PID +in the environment. When detected, employ the same fix used for +fakeroot. + +See https://bugs.gentoo.org/show_bug.cgi?id=462602 +--- + opal/mca/memory/linux/hooks.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/opal/mca/memory/linux/hooks.c b/opal/mca/memory/linux/hooks.c +index 6a1646f..5ded08c 100644 +--- a/opal/mca/memory/linux/hooks.c ++++ b/opal/mca/memory/linux/hooks.c +@@ -747,9 +747,16 @@ static void opal_memory_linux_malloc_init_hook(void) + "fakeroot" build environment that allocates memory during + stat() (see http://bugs.debian.org/531522). It may not be + necessary any more since we're using access(), not stat(). But +- we'll leave the check, anyway. */ ++ we'll leave the check, anyway. ++ ++ This is also an issue when using Gentoo's version of 'fakeroot', ++ sandbox v2.5. Sandbox environments can also be detected fairly ++ easily by looking for SANDBOX_ON. ++ */ ++ + if (getenv("FAKEROOTKEY") != NULL || +- getenv("FAKED_MODE") != NULL) { ++ getenv("FAKED_MODE") != NULL || ++ getenv("SANDBOX_ON") != NULL ) { + return; + } + +-- +1.8.1.5 + diff --git a/sys-cluster/openmpi/files/openmpi-ltdl.patch b/sys-cluster/openmpi/files/openmpi-ltdl.patch new file mode 100644 index 000000000000..a288ea272473 --- /dev/null +++ b/sys-cluster/openmpi/files/openmpi-ltdl.patch @@ -0,0 +1,78 @@ +diff -up openmpi-1.6.3/ompi/debuggers/dlopen_test.c.ltdl openmpi-1.6.3/ompi/debuggers/dlopen_test.c +--- openmpi-1.6.3/ompi/debuggers/dlopen_test.c.ltdl 2012-04-03 08:30:25.000000000 -0600 ++++ openmpi-1.6.3/ompi/debuggers/dlopen_test.c 2012-11-02 14:50:12.613702426 -0600 +@@ -13,7 +13,17 @@ + #include <string.h> + #include <stdlib.h> + +-#include "opal/libltdl/ltdl.h" ++#if OPAL_WANT_LIBLTDL ++ #ifndef __WINDOWS__ ++ #if OPAL_LIBLTDL_INTERNAL ++ #include "opal/libltdl/ltdl.h" ++ #else ++ #include "ltdl.h" ++ #endif ++ #else ++ #include "ltdl.h" ++ #endif ++#endif + + static int do_test(void); + +diff -up openmpi-1.6.3/ompi/debuggers/Makefile.am.ltdl openmpi-1.6.3/ompi/debuggers/Makefile.am +--- openmpi-1.6.3/ompi/debuggers/Makefile.am.ltdl 2012-04-03 08:30:25.000000000 -0600 ++++ openmpi-1.6.3/ompi/debuggers/Makefile.am 2012-11-02 15:04:53.636926260 -0600 +@@ -47,7 +47,7 @@ headers = \ + + dlopen_test_SOURCES = dlopen_test.c + dlopen_test_CPPFLAGS = -I$(top_srcdir)/opal/libltdl +-dlopen_test_LDADD = $(top_builddir)/opal/libltdl/libltdlc.la ++dlopen_test_LDADD = $(LIBLTDL) + + predefined_gap_test_SOURCES = predefined_gap_test.c + predefined_gap_test_LDFLAGS = $(WRAPPER_EXTRA_LDFLAGS) +diff -up openmpi-1.6.3/test/support/components.c.ltdl openmpi-1.6.3/test/support/components.c +--- openmpi-1.6.3/test/support/components.c.ltdl 2012-04-03 08:29:44.000000000 -0600 ++++ openmpi-1.6.3/test/support/components.c 2012-11-02 14:50:29.204705380 -0600 +@@ -24,7 +24,17 @@ + + #include "opal/constants.h" + #include "opal/mca/mca.h" +-#include "opal/libltdl/ltdl.h" ++#if OPAL_WANT_LIBLTDL ++ #ifndef __WINDOWS__ ++ #if OPAL_LIBLTDL_INTERNAL ++ #include "opal/libltdl/ltdl.h" ++ #else ++ #include "ltdl.h" ++ #endif ++ #else ++ #include "ltdl.h" ++ #endif ++#endif + + #include "components.h" + +diff -up openmpi-1.6.3/test/support/components.h.ltdl openmpi-1.6.3/test/support/components.h +--- openmpi-1.6.3/test/support/components.h.ltdl 2012-04-03 08:29:44.000000000 -0600 ++++ openmpi-1.6.3/test/support/components.h 2012-11-02 14:50:22.409703519 -0600 +@@ -20,7 +20,17 @@ + #ifndef OMPI_SUPPORT_COMPONENTS_H + #define OMPI_SUPPORT_COMPONENTS_H + +-#include "opal/libltdl/ltdl.h" ++#if OPAL_WANT_LIBLTDL ++ #ifndef __WINDOWS__ ++ #if OPAL_LIBLTDL_INTERNAL ++ #include "opal/libltdl/ltdl.h" ++ #else ++ #include "ltdl.h" ++ #endif ++ #else ++ #include "ltdl.h" ++ #endif ++#endif + #include "opal/mca/mca.h" + + BEGIN_C_DECLS diff --git a/sys-cluster/openmpi/metadata.xml b/sys-cluster/openmpi/metadata.xml new file mode 100644 index 000000000000..d909acfe0a0a --- /dev/null +++ b/sys-cluster/openmpi/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>jsbronder@gentoo.org</email> + </maintainer> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <use> + <flag name="cma">Enable the CMA (Cross Memory Attach) MCA</flag> + <flag name="cuda">Add GPU direct support</flag> + <flag name="heterogeneous">Enable features required for heterogeneous + platform support</flag> + <flag name="romio">Build the ROMIO MPI-IO component</flag> + <flag name="mpi-threads">Enable MPI_THREAD_MULTIPLE</flag> + <flag name="numa">Enable numactl to allow binding processes to CPUs</flag> + <flag name="vt">Enable bundled VampirTrace support</flag> + <flag name="pbs">Add support for the Portable Batch System (PBS)</flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/openmpi/openmpi-1.10.7.ebuild b/sys-cluster/openmpi/openmpi-1.10.7.ebuild new file mode 100644 index 000000000000..b5f0b4edbf30 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.10.7.ebuild @@ -0,0 +1,195 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs versionator multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_connectx-xrc + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl + openmpi_ofed_features_failover" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="http://www.open-mpi.org" +SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" +IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 java mpi-threads numa romio threads vt + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" + +MPI_UNCLASSED_DEP_STR=" + vt? ( + !dev-libs/libotf + !app-text/lcdf-typetools + )" + +# dev-util/nvidia-cuda-toolkit is always multilib +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + !sys-cluster/mpiexec + >=dev-libs/libevent-2.0.21[${MULTILIB_USEDEP}] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-1.10.0-r2[${MULTILIB_USEDEP},numa?] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1 ) + elibc_FreeBSD? ( dev-libs/libexecinfo ) + openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + if use mpi-threads; then + ewarn + ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" + ewarn "default and officially unsupported by upstream." + ewarn "You may stop now and set USE=-mpi-threads" + ewarn + fi + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die + fi +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ECONF_SOURCE=${S} econf \ + --sysconfdir="${EPREFIX}/etc/${PN}" \ + --enable-pretty-print-stacktrace \ + --enable-orterun-prefix-by-default \ + --with-hwloc="${EPREFIX}/usr" \ + --with-libltdl="${EPREFIX}/usr" \ + --enable-mpi-fortran=$(usex fortran all no) \ + $(usex !vt --enable-contrib-no-build=vt "") \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(multilib_native_use_enable java) \ + $(multilib_native_use_enable java mpi-java) \ + $(multilib_native_use_enable mpi-threads mpi-thread-multiple) \ + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(multilib_native_use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(multilib_native_use_enable openmpi_ofed_features_failover btl-openib-failover) \ + $(multilib_native_use_with openmpi_rm_pbs tm) \ + $(multilib_native_use_with openmpi_rm_slurm slurm) +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm "${ED}"usr/include/mpif* "${ED}"usr/bin/mpif* || die + fi +} + +multilib_src_install_all() { + # From USE=vt see #359917 + rm -rf "${ED}"usr/share/libtool &> /dev/null || die + + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"usr/include || die + fi + + # Avoid collisions with libevent + rm -rf "${ED}"usr/include/event2 &> /dev/null || die + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-1.4.3.ebuild b/sys-cluster/openmpi/openmpi-1.4.3.ebuild new file mode 100644 index 000000000000..4b8de0f2d9e8 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.4.3.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit eutils fortran-2 multilib flag-o-matic toolchain-funcs + +MY_P=${P/-mpi} + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="http://www.open-mpi.org" +SRC_URI="http://www.open-mpi.org/software/ompi/v1.4/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +RESTRICT="mpi-threads? ( test )" +KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~x86-fbsd" +IUSE="+cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads pbs romio threads vt" +RDEPEND=" + pbs? ( sys-cluster/torque ) + vt? ( + !dev-libs/libotf + !app-text/lcdf-typetools + ) + elibc_FreeBSD? ( dev-libs/libexecinfo ) + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/mpiexec" +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + fortran-2_pkg_setup + if use mpi-threads; then + echo + ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" + ewarn "default and officially unsupported by upstream." + ewarn "You may stop now and set USE=-mpi-threads" + echo + fi + + echo + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + echo +} + +src_prepare() { + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf + fi +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --without-slurm) + + if use mpi-threads; then + myconf+=(--enable-mpi-threads + --enable-progress-threads) + fi + + if use fortran; then + if [[ $(tc-getFC) =~ g77 ]]; then + myconf+=(--disable-mpi-f90) + elif [[ $(tc-getFC) =~ if ]]; then + # Enabled here as gfortran compile times are huge with this enabled. + myconf+=(--with-mpi-f90-size=medium) + fi + else + myconf+=(--disable-mpi-f90 --disable-mpi-f77) + fi + + ! use vt && myconf+=(--enable-contrib-no-build=vt) + + econf "${myconf[@]}" \ + $(use_enable cxx mpi-cxx) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_with pbs tm) \ + $(use_enable ipv6) +} + +src_install () { + emake DESTDIR="${D}" install || die "make install failed" + dodoc README AUTHORS NEWS VERSION || die +} + +src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check || die "emake check failed" +} diff --git a/sys-cluster/openmpi/openmpi-1.4.5.ebuild b/sys-cluster/openmpi/openmpi-1.4.5.ebuild new file mode 100644 index 000000000000..a810a5a3e3ce --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.4.5.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit eutils fortran-2 multilib flag-o-matic toolchain-funcs + +MY_P=${P/-mpi} + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="http://www.open-mpi.org" +SRC_URI="http://www.open-mpi.org/software/ompi/v1.4/downloads/${MY_P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +RESTRICT="mpi-threads? ( test )" + +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" +IUSE="+cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads pbs romio threads vt" +RDEPEND=" + pbs? ( sys-cluster/torque ) + vt? ( + !dev-libs/libotf + !app-text/lcdf-typetools + ) + elibc_FreeBSD? ( dev-libs/libexecinfo ) + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/mpiexec" +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + fortran-2_pkg_setup + if use mpi-threads; then + echo + ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" + ewarn "default and officially unsupported by upstream." + ewarn "You may stop now and set USE=-mpi-threads" + echo + fi + + echo + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + echo +} + +src_prepare() { + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf + fi +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --without-slurm) + + if use mpi-threads; then + myconf+=(--enable-mpi-threads + --enable-progress-threads) + fi + + if use fortran; then + if [[ $(tc-getFC) =~ g77 ]]; then + myconf+=(--disable-mpi-f90) + elif [[ $(tc-getFC) =~ if ]]; then + # Enabled here as gfortran compile times are huge with this enabled. + myconf+=(--with-mpi-f90-size=medium) + fi + else + myconf+=(--disable-mpi-f90 --disable-mpi-f77) + fi + + ! use vt && myconf+=(--enable-contrib-no-build=vt) + + econf "${myconf[@]}" \ + $(use_enable cxx mpi-cxx) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_with pbs tm) \ + $(use_enable ipv6) +} + +src_install () { + emake DESTDIR="${D}" install || die "make install failed" + dodoc README AUTHORS NEWS VERSION || die +} + +src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check || die "emake check failed" +} diff --git a/sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild b/sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild new file mode 100644 index 000000000000..51c493411e17 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit autotools eutils fortran-2 multilib flag-o-matic toolchain-funcs versionator + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_dapl + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_open-mx + openmpi_fabrics_psm + openmpi_fabrics_sctp" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_connectx-xrc + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl + openmpi_ofed_features_failover + " + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="http://www.open-mpi.org" +SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" +IUSE="+cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads romio threads vt + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" + +RDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/mpiexec + >=sys-apps/hwloc-1.3 + dev-libs/libltdl:0 + elibc_FreeBSD? ( dev-libs/libexecinfo ) + openmpi_fabrics_dapl? ( sys-fabric/dapl ) + openmpi_fabrics_ofed? ( sys-fabric/ofed ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_open-mx? ( sys-cluster/open-mx ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm ) + openmpi_fabrics_sctp? ( net-misc/lksctp-tools ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm ) + vt? ( + !dev-libs/libotf + !app-text/lcdf-typetools + ) + " +DEPEND="${RDEPEND}" +# TODO: Newer releases of Vampir use otf2 which would resolve the above blockers. + +pkg_setup() { + fortran-2_pkg_setup + if use mpi-threads; then + echo + ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" + ewarn "default and officially unsupported by upstream." + ewarn "You may stop now and set USE=-mpi-threads" + echo + fi + + echo + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + echo + +} + +src_prepare() { + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf + fi + + # https://svn.open-mpi.org/trac/ompi/ticket/3649 + # https://svn.open-mpi.org/trac/ompi/ticket/3648 + epatch "${FILESDIR}"/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch + + # https://github.com/open-mpi/ompi/issues/163 + epatch "${FILESDIR}"/openmpi-ltdl.patch + + AT_M4DIR="config opal/config orte/config ompi/config" eautoreconf +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --with-hwloc="${EPREFIX}/usr" + --with-libltdl=external + ) + + if use mpi-threads; then + myconf+=( + --enable-mpi-thread-multiple + --enable-opal-multi-threads + ) + fi + + if use fortran; then + if [[ $(tc-getFC) =~ g77 ]]; then + myconf+=(--disable-mpi-f90) + elif [[ $(tc-getFC) =~ if ]]; then + # Enabled here as gfortran compile times are huge with this enabled. + myconf+=(--with-mpi-f90-size=medium) + fi + else + myconf+=(--disable-mpi-f90 --disable-mpi-f77) + fi + + ! use vt && myconf+=(--enable-contrib-no-build=vt) + + econf "${myconf[@]}" \ + $(use_enable cxx mpi-cxx) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(use_with openmpi_fabrics_dapl udapl "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_ofed openib "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ + $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(use_enable openmpi_ofed_features_failover btl-openib-failover) \ + $(use_with openmpi_fabrics_sctp sctp) \ + $(use_with openmpi_rm_pbs tm) \ + $(use_with openmpi_rm_slurm slurm) +} + +src_install () { + emake DESTDIR="${D}" install || die "make install failed" + # From USE=vt see #359917 + rm "${ED}"/usr/share/libtool &> /dev/null + dodoc README AUTHORS NEWS VERSION || die +} + +src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check || die "emake check failed" +} diff --git a/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild b/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild new file mode 100644 index 000000000000..ad59007d9d7b --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit autotools cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_open-mx + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_connectx-xrc + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl + openmpi_ofed_features_failover" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="http://www.open-mpi.org" +SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" +IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads romio threads vt + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" + +MPI_UNCLASSED_DEP_STR=" + vt? ( + !dev-libs/libotf + !app-text/lcdf-typetools + )" + +RDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/mpiexec + dev-libs/libevent + dev-libs/libltdl:0 + >=sys-apps/hwloc-1.7.2 + cuda? ( dev-util/nvidia-cuda-toolkit ) + elibc_FreeBSD? ( dev-libs/libexecinfo ) + openmpi_fabrics_ofed? ( sys-fabric/ofed ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_open-mx? ( sys-cluster/open-mx ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm ) + " +DEPEND="${RDEPEND}" + +pkg_setup() { + fortran-2_pkg_setup + + if use mpi-threads; then + echo + ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" + ewarn "default and officially unsupported by upstream." + ewarn "You may stop now and set USE=-mpi-threads" + echo + fi + + echo + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + echo +} + +src_prepare() { + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf + fi + + # https://github.com/open-mpi/ompi/issues/163 + epatch "${FILESDIR}"/openmpi-ltdl.patch + + AT_M4DIR=config eautoreconf +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --with-hwloc="${EPREFIX}/usr" + --with-libltdl=external + ) + + if use mpi-threads; then + myconf+=(--enable-mpi-threads + --enable-opal-multi-threads) + fi + + if use fortran; then + if [[ $(tc-getFC) =~ g77 ]]; then + myconf+=(--disable-mpi-f90) + elif [[ $(tc-getFC) =~ if ]]; then + # Enabled here as gfortran compile times are huge with this enabled. + myconf+=(--with-mpi-f90-size=medium) + fi + else + myconf+=(--disable-mpi-f90 --disable-mpi-f77) + fi + + ! use vt && myconf+=(--enable-contrib-no-build=vt) + + econf "${myconf[@]}" \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "$EPREFIX"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ + $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(use_enable openmpi_ofed_features_failover btl-openib-failover) \ + $(use_with openmpi_rm_pbs tm) \ + $(use_with openmpi_rm_slurm slurm) +} + +src_install () { + emake DESTDIR="${D}" install + # From USE=vt see #359917 + rm "${ED}"/usr/share/libtool &> /dev/null + # Avoid collisions with libevent + rm -rf "${ED}"/usr/include/event2 &> /dev/null + dodoc README AUTHORS NEWS VERSION || die +} + +src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + + # Do not override malloc during build. Works around #462602 + emake -j1 check +} diff --git a/sys-cluster/openmpi/openmpi-1.8.4-r4.ebuild b/sys-cluster/openmpi/openmpi-1.8.4-r4.ebuild new file mode 100644 index 000000000000..f028d4301614 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.8.4-r4.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit autotools cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_open-mx + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_connectx-xrc + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl + openmpi_ofed_features_failover" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="http://www.open-mpi.org" +SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="alpha ~amd64 ~ia64 ppc ppc64 sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" +IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads numa romio threads vt + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" + +MPI_UNCLASSED_DEP_STR=" + vt? ( + !dev-libs/libotf + !app-text/lcdf-typetools + )" + +RDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/mpiexec + dev-libs/libevent + dev-libs/libltdl:0 + >=sys-apps/hwloc-1.9.1[numa?] + sys-libs/zlib + cuda? ( dev-util/nvidia-cuda-toolkit ) + elibc_FreeBSD? ( dev-libs/libexecinfo ) + openmpi_fabrics_ofed? ( sys-fabric/ofed ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_open-mx? ( sys-cluster/open-mx ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm ) + " +DEPEND="${RDEPEND}" + +pkg_setup() { + fortran-2_pkg_setup + + if use mpi-threads; then + echo + ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" + ewarn "default and officially unsupported by upstream." + ewarn "You may stop now and set USE=-mpi-threads" + echo + fi + + echo + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + echo +} + +src_prepare() { + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf + fi + + # https://github.com/open-mpi/ompi/issues/163 + epatch "${FILESDIR}"/openmpi-ltdl.patch + + AT_M4DIR=config eautoreconf +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --with-hwloc="${EPREFIX}/usr" + --with-libltdl=external + ) + + if use mpi-threads; then + myconf+=(--enable-mpi-threads + --enable-opal-multi-threads) + fi + + if use fortran; then + myconf+=(--enable-mpi-fortran=all) + else + myconf+=(--enable-mpi-fortran=no) + fi + + ! use vt && myconf+=(--enable-contrib-no-build=vt) + + econf "${myconf[@]}" \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ + $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(use_enable openmpi_ofed_features_failover btl-openib-failover) \ + $(use_with openmpi_rm_pbs tm) \ + $(use_with openmpi_rm_slurm slurm) +} + +src_install () { + emake DESTDIR="${D}" install + + # From USE=vt see #359917 + rm "${ED}"/usr/share/libtool &> /dev/null + + # Avoid collisions with libevent + rm -rf "${ED}"/usr/include/event2 &> /dev/null + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete + + dodoc README AUTHORS NEWS VERSION || die +} + +src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} diff --git a/sys-cluster/openmpi/openmpi-1.8.7-r1.ebuild b/sys-cluster/openmpi/openmpi-1.8.7-r1.ebuild new file mode 100644 index 000000000000..fccf7a7c8285 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.8.7-r1.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit cuda eutils flag-o-matic fortran-2 java-pkg-opt-2 multilib toolchain-funcs versionator + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_open-mx + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_connectx-xrc + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl + openmpi_ofed_features_failover" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="http://www.open-mpi.org" +SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" +IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 java mpi-threads numa romio threads vt + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" + +MPI_UNCLASSED_DEP_STR=" + vt? ( + !dev-libs/libotf + !app-text/lcdf-typetools + )" + +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/mpiexec + dev-libs/libevent + dev-libs/libltdl:0 + >=sys-apps/hwloc-1.9.1[numa?] + sys-libs/zlib + cuda? ( dev-util/nvidia-cuda-toolkit ) + elibc_FreeBSD? ( dev-libs/libexecinfo ) + openmpi_fabrics_ofed? ( sys-fabric/ofed ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_open-mx? ( sys-cluster/open-mx ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + if use mpi-threads; then + echo + ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" + ewarn "default and officially unsupported by upstream." + ewarn "You may stop now and set USE=-mpi-threads" + echo + fi + + echo + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + echo +} + +src_prepare() { + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf + fi +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --with-hwloc="${EPREFIX}/usr" + --with-libltdl="${EPREFIX}/usr" + ) + + if use fortran; then + myconf+=(--enable-mpi-fortran=all) + else + myconf+=(--enable-mpi-fortran=no) + fi + + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ! use vt && myconf+=(--enable-contrib-no-build=vt) + + econf "${myconf[@]}" \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(use_enable mpi-threads mpi-thread-multiple) \ + $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ + $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(use_enable openmpi_ofed_features_failover btl-openib-failover) \ + $(use_with openmpi_rm_pbs tm) \ + $(use_with openmpi_rm_slurm slurm) \ + $(use_enable java) \ + $(use_enable java mpi-java) +} + +src_install () { + emake DESTDIR="${D}" install + + # From USE=vt see #359917 + rm "${ED}"/usr/share/libtool &> /dev/null + + # Avoid collisions with libevent + rm -rf "${ED}"/usr/include/event2 &> /dev/null + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + + dodoc README AUTHORS NEWS VERSION || die +} + +src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} diff --git a/sys-cluster/openmpi/openmpi-1.8.8.ebuild b/sys-cluster/openmpi/openmpi-1.8.8.ebuild new file mode 100644 index 000000000000..af6407a8a709 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.8.8.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit cuda eutils flag-o-matic fortran-2 java-pkg-opt-2 multilib toolchain-funcs versionator + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_open-mx + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_connectx-xrc + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl + openmpi_ofed_features_failover" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="http://www.open-mpi.org" +SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" +IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 java mpi-threads numa romio threads vt + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" + +MPI_UNCLASSED_DEP_STR=" + vt? ( + !dev-libs/libotf + !app-text/lcdf-typetools + )" + +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/mpiexec + dev-libs/libevent + dev-libs/libltdl:0 + >=sys-apps/hwloc-1.9.1[numa?] + sys-libs/zlib + cuda? ( dev-util/nvidia-cuda-toolkit ) + elibc_FreeBSD? ( dev-libs/libexecinfo ) + openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_open-mx? ( sys-cluster/open-mx ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + if use mpi-threads; then + echo + ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by" + ewarn "default and officially unsupported by upstream." + ewarn "You may stop now and set USE=-mpi-threads" + echo + fi + + echo + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + echo +} + +src_prepare() { + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf + fi +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --with-hwloc="${EPREFIX}/usr" + --with-libltdl="${EPREFIX}/usr" + ) + + if use fortran; then + myconf+=(--enable-mpi-fortran=all) + else + myconf+=(--enable-mpi-fortran=no) + fi + + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ! use vt && myconf+=(--enable-contrib-no-build=vt) + + econf "${myconf[@]}" \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(use_enable mpi-threads mpi-thread-multiple) \ + $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \ + $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ + $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(use_enable openmpi_ofed_features_failover btl-openib-failover) \ + $(use_with openmpi_rm_pbs tm) \ + $(use_with openmpi_rm_slurm slurm) \ + $(use_enable java) \ + $(use_enable java mpi-java) +} + +src_install () { + emake DESTDIR="${D}" install + + # From USE=vt see #359917 + rm "${ED}"/usr/share/libtool &> /dev/null + + # Avoid collisions with libevent + rm -rf "${ED}"/usr/include/event2 &> /dev/null + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete + + if use java; then + local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + + dodoc README AUTHORS NEWS VERSION || die +} + +src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} diff --git a/sys-cluster/openmpi/openmpi-2.0.2.ebuild b/sys-cluster/openmpi/openmpi-2.0.2.ebuild new file mode 100644 index 000000000000..5553a3fcd9ce --- /dev/null +++ b/sys-cluster/openmpi/openmpi-2.0.2.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs versionator multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_connectx-xrc + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl + openmpi_ofed_features_failover" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="http://www.open-mpi.org" +SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ~ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" +IUSE="cma cuda cxx elibc_FreeBSD fortran heterogeneous ipv6 java mpi-threads numa romio threads + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" + +# dev-util/nvidia-cuda-toolkit is always multilib +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + !sys-cluster/mpiexec + >=dev-libs/libevent-2.0.22[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-1.11.2[${MULTILIB_USEDEP},numa?] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1 ) + elibc_FreeBSD? ( dev-libs/libexecinfo ) + openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die + fi +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ECONF_SOURCE=${S} econf \ + --sysconfdir="${EPREFIX}/etc/${PN}" \ + --enable-pretty-print-stacktrace \ + --enable-orterun-prefix-by-default \ + --with-hwloc="${EPREFIX}/usr" \ + --with-libltdl="${EPREFIX}/usr" \ + --with-libevent="${EPREFIX}/usr" \ + --enable-mpi-fortran=$(usex fortran all no) \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(multilib_native_use_enable java) \ + $(multilib_native_use_enable java mpi-java) \ + $(multilib_native_use_enable mpi-threads mpi-thread-multiple) \ + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(multilib_native_use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(multilib_native_use_enable openmpi_ofed_features_failover btl-openib-failover) \ + $(multilib_native_use_with openmpi_rm_pbs tm) \ + $(multilib_native_use_with openmpi_rm_slurm slurm) +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm "${ED}"usr/include/mpif* "${ED}"usr/bin/mpif* || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-2.0.3.ebuild b/sys-cluster/openmpi/openmpi-2.0.3.ebuild new file mode 100644 index 000000000000..a711f2778004 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-2.0.3.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs versionator multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_connectx-xrc + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl + openmpi_ofed_features_failover" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="http://www.open-mpi.org" +SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" +IUSE="cma cuda cxx elibc_FreeBSD fortran heterogeneous ipv6 java mpi-threads numa romio threads + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )" + +# dev-util/nvidia-cuda-toolkit is always multilib +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + !sys-cluster/mpiexec + >=dev-libs/libevent-2.0.22[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-1.11.2[${MULTILIB_USEDEP},numa?] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1 ) + elibc_FreeBSD? ( dev-libs/libexecinfo ) + openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die + fi +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ECONF_SOURCE=${S} econf \ + --sysconfdir="${EPREFIX}/etc/${PN}" \ + --enable-pretty-print-stacktrace \ + --enable-orterun-prefix-by-default \ + --with-hwloc="${EPREFIX}/usr" \ + --with-libltdl="${EPREFIX}/usr" \ + --with-libevent="${EPREFIX}/usr" \ + --enable-mpi-fortran=$(usex fortran all no) \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(multilib_native_use_enable java) \ + $(multilib_native_use_enable java mpi-java) \ + $(multilib_native_use_enable mpi-threads mpi-thread-multiple) \ + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(multilib_native_use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \ + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(multilib_native_use_enable openmpi_ofed_features_failover btl-openib-failover) \ + $(multilib_native_use_with openmpi_rm_pbs tm) \ + $(multilib_native_use_with openmpi_rm_slurm slurm) +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm "${ED}"usr/include/mpif* "${ED}"usr/bin/mpif* || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + + einstalldocs +} diff --git a/sys-cluster/openmpi/openmpi-2.1.2.ebuild b/sys-cluster/openmpi/openmpi-2.1.2.ebuild new file mode 100644 index 000000000000..0ef453d9dc78 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-2.1.2.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +FORTRAN_NEEDED=fortran + +inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs versionator multilib-minimal + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +IUSE_OPENMPI_FABRICS=" + openmpi_fabrics_ofed + openmpi_fabrics_knem + openmpi_fabrics_psm" + +IUSE_OPENMPI_RM=" + openmpi_rm_pbs + openmpi_rm_slurm" + +IUSE_OPENMPI_OFED_FEATURES=" + openmpi_ofed_features_control-hdr-padding + openmpi_ofed_features_udcm + openmpi_ofed_features_rdmacm + openmpi_ofed_features_dynamic-sl" + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="http://www.open-mpi.org" +SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux" +IUSE="cma cuda cxx elibc_FreeBSD fortran heterogeneous ipv6 java mpi-threads numa romio threads + ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}" + +REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs ) + openmpi_rm_pbs? ( !openmpi_rm_slurm ) + openmpi_fabrics_psm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed ) + openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )" + +# dev-util/nvidia-cuda-toolkit is always multilib +CDEPEND=" + !sys-cluster/mpich + !sys-cluster/mpich2 + !sys-cluster/nullmpi + !sys-cluster/mpiexec + >=dev-libs/libevent-2.0.22[${MULTILIB_USEDEP},threads] + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + >=sys-apps/hwloc-1.11.2[${MULTILIB_USEDEP},numa?] + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1 ) + elibc_FreeBSD? ( dev-libs/libexecinfo ) + openmpi_fabrics_ofed? ( sys-fabric/ofed:* ) + openmpi_fabrics_knem? ( sys-cluster/knem ) + openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* ) + openmpi_rm_pbs? ( sys-cluster/torque ) + openmpi_rm_slurm? ( sys-cluster/slurm ) + openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )" + +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.6 )" + +DEPEND="${CDEPEND} + java? ( >=virtual/jdk-1.6 )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/mpi.h + /usr/include/openmpi/ompi/mpi/java/mpiJava.h +) + +pkg_setup() { + fortran-2_pkg_setup + java-pkg-opt-2_pkg_setup + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog +} + +src_prepare() { + default + + # Necessary for scalibility, see + # http://www.open-mpi.org/community/lists/users/2008/09/6514.php + if use threads; then + echo 'oob_tcp_listen_mode = listen_thread' \ + >> opal/etc/openmpi-mca-params.conf || die + fi +} + +multilib_src_configure() { + if use java; then + # We must always build with the right -source and -target + # flags. Passing flags to javac isn't explicitly supported here + # but we can cheat by overriding the configure test for javac. + export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + fi + + ECONF_SOURCE=${S} econf \ + --sysconfdir="${EPREFIX}/etc/${PN}" \ + --enable-pretty-print-stacktrace \ + --enable-orterun-prefix-by-default \ + --with-hwloc="${EPREFIX}/usr" \ + --with-libltdl="${EPREFIX}/usr" \ + --with-libevent="${EPREFIX}/usr" \ + --enable-mpi-fortran=$(usex fortran all no) \ + $(use_enable cxx mpi-cxx) \ + $(use_with cma) \ + $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \ + $(use_enable romio io-romio) \ + $(use_enable heterogeneous) \ + $(use_enable ipv6) \ + $(multilib_native_use_enable java) \ + $(multilib_native_use_enable java mpi-java) \ + $(multilib_native_use_enable mpi-threads mpi-thread-multiple) \ + $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \ + $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \ + $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \ + $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \ + $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \ + $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \ + $(multilib_native_use_with openmpi_rm_pbs tm) \ + $(multilib_native_use_with openmpi_rm_slurm slurm) +} + +multilib_src_test() { + # Doesn't work with the default src_test as the dry run (-n) fails. + emake -j1 check +} + +multilib_src_install() { + default + + # fortran header cannot be wrapped (bug #540508), workaround part 1 + if multilib_is_native_abi && use fortran; then + mkdir "${T}"/fortran || die + mv "${ED}"usr/include/mpif* "${T}"/fortran || die + else + # some fortran files get installed unconditionally + rm \ + "${ED}"usr/include/mpif* \ + "${ED}"usr/bin/mpif* \ + "${ED}"usr/bin/oshfort \ + "${ED}"usr/bin/shmemfort \ + || die + fi +} + +multilib_src_install_all() { + # fortran header cannot be wrapped (bug #540508), workaround part 2 + if use fortran; then + mv "${T}"/fortran/mpif* "${ED}"usr/include || die + fi + + # Remove la files, no static libs are installed and we have pkg-config + find "${ED}" -name '*.la' -delete || die + + if use java; then + local mpi_jar="${ED}"usr/$(get_libdir)/mpi.jar + java-pkg_dojar "${mpi_jar}" + # We don't want to install the jar file twice + # so let's clean after ourselves. + rm "${mpi_jar}" || die + fi + + einstalldocs +} diff --git a/sys-cluster/openstack-meta/Manifest b/sys-cluster/openstack-meta/Manifest new file mode 100644 index 000000000000..3086ac187ebf --- /dev/null +++ b/sys-cluster/openstack-meta/Manifest @@ -0,0 +1,6 @@ +EBUILD openstack-meta-2016.2.9999.ebuild 615 SHA256 b932fbcf2c2a5a43906b81b87945e5d6ce25661060480a2e041bf7fa64ef5167 SHA512 3ecb4da9176487240fc53d853cda6e8257fc2fe761508b0e3ebb0148ed47cbc93ce967e4f6a30036113d4997537a0f146160b34d5be5922d1d6be2f2e35ce5d1 WHIRLPOOL ae6beb35fcf5b47618c926f8cee58946ff50f51cfb955ec3272a3f3b4713cbe5297fad083cfdf33d8183b6c33b366c3ef6e388e592f1deba06decd5d9eba377f +EBUILD openstack-meta-2017.1.9999.ebuild 616 SHA256 02c3540d2471b68b8e8c676733d9cabcc2e4498b31b8ee5e7c5c6fb5a392797d SHA512 c81135f7019bb9dafbb5da967a559848cac7445728beb76749dbac3881ae5945e8518cf21b3528daf2f8010887e3cccd22d1148797d054f24b9a62278d6e82c3 WHIRLPOOL 90fec1934d21d7149339baf73dec1ff82743f93ecdc70c71ad8fcb922d0852b3cf4fd3d4985c66d3891d31abb3380a3d9d45e8724e34457fc4932b9ea7636d67 +EBUILD openstack-meta-2017.2.9999.ebuild 616 SHA256 02c3540d2471b68b8e8c676733d9cabcc2e4498b31b8ee5e7c5c6fb5a392797d SHA512 c81135f7019bb9dafbb5da967a559848cac7445728beb76749dbac3881ae5945e8518cf21b3528daf2f8010887e3cccd22d1148797d054f24b9a62278d6e82c3 WHIRLPOOL 90fec1934d21d7149339baf73dec1ff82743f93ecdc70c71ad8fcb922d0852b3cf4fd3d4985c66d3891d31abb3380a3d9d45e8724e34457fc4932b9ea7636d67 +MISC ChangeLog 3442 SHA256 70495346ba00a4fa94cba2fff8d276ad942b875814953f3f9653fbce85af0d79 SHA512 90adc4f7070cc9910785f4f754d75fb18e4db824dc0a79368fa66e72643c143b4af774428b0a49985a6c1c6bf7df7628e3ae38382a59b19243cb91022bf31d4f WHIRLPOOL 4837b023473b260dc20e8a6abcaad8557ec9a86fe2220bc5a4d6597a95dd4afbc0c0a52d4f696af428aa8c1c1d29155fcf17497a4f25b9824cc244a676df47c3 +MISC ChangeLog-2015 1394 SHA256 95b539e23232cc8465e5f34016ef3217ab8a75226fcf62b7e8c62235cdf475c3 SHA512 945418b68c4b1bd5902ce73ac82de481e5ed4085181d0491f1cd62e96fa0148c27f590b59488f4fbb36bea380300474ab6f7ca8237b1fef2c9ef543a96b592ca WHIRLPOOL f0d84823cc76517ef399bafe705c791d8d9cd7bb02dc085e0ce9b9b308c70018c746fce5d882826054fa6fd7e4130fb1c0117162f6dcde67aeffd68dcab29dbd +MISC metadata.xml 868 SHA256 acfea9094bce26b731e1786296fa5582c030bed509e0aab513903c478ee01166 SHA512 20cad66e79a57fbe4e17bd8bd53a30b71746f5efa8ddaa9c6c7bebfa8db5fd64275dc213f927c433f1e6621d1b5d053efaef38c1144806cf736c44b56c5d967c WHIRLPOOL 4538336541a0f1e2a2ed60cc4ecb8c8f4629ab3f5c932eccf32c02f96e8a6539ca48befe2926eb90660a1be410ef98d0de4ad818aee7539a888834a19710318d diff --git a/sys-cluster/openstack-meta/metadata.xml b/sys-cluster/openstack-meta/metadata.xml new file mode 100644 index 000000000000..bc6326bac805 --- /dev/null +++ b/sys-cluster/openstack-meta/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>prometheanfire@gentoo.org</email> + <name>Matthew Thode</name> + </maintainer> + <longdescription lang="en"> + An openstack meta package to allow for easier installation of openstack. + </longdescription> + <use> + <flag name="keystone">Installs Openstack Keystone</flag> + <flag name="swift">Installs Openstack Swift</flag> + <flag name="glance">Installs Openstack Glance</flag> + <flag name="cinder">Installs Openstack Cinder</flag> + <flag name="neutron">Installs Openstack Neutron</flag> + <flag name="nova">Installs Openstack Nova</flag> + <flag name="heat">Installs Openstack Heat</flag> + <!-- <flag name="horizon">Installs Openstack Horizon</flag> --> + </use> +</pkgmetadata> diff --git a/sys-cluster/openstack-meta/openstack-meta-2016.2.9999.ebuild b/sys-cluster/openstack-meta/openstack-meta-2016.2.9999.ebuild new file mode 100644 index 000000000000..0d8f1662a682 --- /dev/null +++ b/sys-cluster/openstack-meta/openstack-meta-2016.2.9999.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="A openstack meta-package for installing the various openstack pieces" +HOMEPAGE="https://openstack.org" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="cinder glance heat keystone neutron nova swift" + +DEPEND="" +RDEPEND=" + keystone? ( ~sys-auth/keystone-${PV} ) + swift? ( <sys-cluster/swift-2.11 ) + neutron? ( ~sys-cluster/neutron-${PV} ) + glance? ( ~app-admin/glance-${PV} ) + cinder? ( ~sys-cluster/cinder-${PV} ) + nova? ( ~sys-cluster/nova-${PV} ) + heat? ( ~sys-cluster/heat-${PV} ) +" diff --git a/sys-cluster/openstack-meta/openstack-meta-2017.1.9999.ebuild b/sys-cluster/openstack-meta/openstack-meta-2017.1.9999.ebuild new file mode 100644 index 000000000000..59b9ec4d4271 --- /dev/null +++ b/sys-cluster/openstack-meta/openstack-meta-2017.1.9999.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="A openstack meta-package for installing the various openstack pieces" +HOMEPAGE="https://openstack.org" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="cinder glance heat keystone neutron nova swift" + +DEPEND="" +RDEPEND=" + keystone? ( ~sys-auth/keystone-${PV} ) + swift? ( ~sys-cluster/swift-${PV} ) + neutron? ( ~sys-cluster/neutron-${PV} ) + glance? ( ~app-admin/glance-${PV} ) + cinder? ( ~sys-cluster/cinder-${PV} ) + nova? ( ~sys-cluster/nova-${PV} ) + heat? ( ~sys-cluster/heat-${PV} ) +" diff --git a/sys-cluster/openstack-meta/openstack-meta-2017.2.9999.ebuild b/sys-cluster/openstack-meta/openstack-meta-2017.2.9999.ebuild new file mode 100644 index 000000000000..59b9ec4d4271 --- /dev/null +++ b/sys-cluster/openstack-meta/openstack-meta-2017.2.9999.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="A openstack meta-package for installing the various openstack pieces" +HOMEPAGE="https://openstack.org" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="cinder glance heat keystone neutron nova swift" + +DEPEND="" +RDEPEND=" + keystone? ( ~sys-auth/keystone-${PV} ) + swift? ( ~sys-cluster/swift-${PV} ) + neutron? ( ~sys-cluster/neutron-${PV} ) + glance? ( ~app-admin/glance-${PV} ) + cinder? ( ~sys-cluster/cinder-${PV} ) + nova? ( ~sys-cluster/nova-${PV} ) + heat? ( ~sys-cluster/heat-${PV} ) +" diff --git a/sys-cluster/osc-mpiexec/Manifest b/sys-cluster/osc-mpiexec/Manifest new file mode 100644 index 000000000000..de7fcf54d16f --- /dev/null +++ b/sys-cluster/osc-mpiexec/Manifest @@ -0,0 +1,5 @@ +DIST mpiexec-0.83.tgz 207619 SHA256 4485c6f5ced0889ea7fb88b49af001904348dee24a23cd85dd8402f606e2128d SHA512 e82828bad6d6f0cf8b2fa879d239460483af5164f696b26b21b138eeddf0d63a37748f8b540ceba6d328f90a64797a337934ba7152bdf2cbdde40be3f990a57d WHIRLPOOL e498f6e95daa459bdf7697d761b2daedc6005b07350c32a2a19b8ff0a6cb556262acf4012e5036d9efe3dd28487308682afa69b1b715d22a482227498e6d0cd5 +EBUILD osc-mpiexec-0.83.ebuild 1856 SHA256 b16aa951a9ad8e9d04b72b86ec2ad1028492822c3f452ae49033144ebca4a0f2 SHA512 d633f9b437ab6417b8bff2cc8475db8f9ad6111255bb6aeb731226982cb1f947ddfaa8b60fdc00aa16f43c029eb241a946dffaab8a950e70816929b03392e10d WHIRLPOOL 42088087453a4c7ce7b06b628bb104714dd48c2555e4fc3eb69460c328ca1744201820e554c4528b3734da05550448d4c71f3afa1b038d58ef9f484bad99c311 +MISC ChangeLog 2440 SHA256 8f5471ac8835cda0cf0cf2d728b40560f082a771152bde9728110e19f55be697 SHA512 08ffc741dbdc2432c02c4a5622497bdb12ec41aafec78a1461e7f1d0436f072c94dd2c7a9764b5bb23cd16640d7bfc7766e6ef8844a4300e4668a230fd69eaea WHIRLPOOL a43505adcaedfed95a41f301ed1daf2bb4d12b2441524d86081050666f08fbe0713e98a76295e81dbf618d634c64dc4bd0c3e976956e56a0de908f7fefad252a +MISC ChangeLog-2015 1086 SHA256 62233b943c3504e398c2001f80289fdd33a7bc45d5a553736a3437b596a5e441 SHA512 d3b29efe967c8fc6bdfab8aad1d8a105f3fd5046811865bca994a9f4dea7bc271bf79b65085a358bac87d301233c1fee910e27a1489c472a684b1126df610556 WHIRLPOOL bdd982765f0ba630c2c9d439effd63d8a7a211d70f5027e229897400fbf8101c1072577a6e813cddd6d4acba375b6e6a77366af6b9c504183b10a46207c58328 +MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e diff --git a/sys-cluster/osc-mpiexec/metadata.xml b/sys-cluster/osc-mpiexec/metadata.xml new file mode 100644 index 000000000000..4a09d7ba8d61 --- /dev/null +++ b/sys-cluster/osc-mpiexec/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> +</maintainer> +</pkgmetadata> diff --git a/sys-cluster/osc-mpiexec/osc-mpiexec-0.83.ebuild b/sys-cluster/osc-mpiexec/osc-mpiexec-0.83.ebuild new file mode 100644 index 000000000000..58b0836bf837 --- /dev/null +++ b/sys-cluster/osc-mpiexec/osc-mpiexec-0.83.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +MY_PN=${PN#osc-} +DESCRIPTION="replacement for mpirun, integrates MPI with PBS" +SRC_URI="http://www.osc.edu/~djohnson/mpiexec/${MY_PN}-${PV}.tgz" +HOMEPAGE="http://www.osc.edu/~djohnson/mpiexec/index.php" + +DEPEND="sys-cluster/torque" +RDEPEND="${DEPEND} + net-misc/openssh" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="amd64 ~ppc x86" +IUSE="" + +S="${WORKDIR}"/${MY_PN}-${PV} + +RESTRICT="test" +# The test suite that is included with the source requires +# the ability to qsub a number of jobs. Such behavior +# obviously does not belong in the ebuild. + +src_compile() { + local c="--with-default-comm=mpich-p4 + --with-pbs=/usr/ + --with-mpicc=/usr/bin/mpicc + --with-mpif77=/usr/bin/mpif77" + + # The following at the recommendation of README, Cray specific. + c="${c} --disable-mpich-rai" + + econf ${c} || die + emake || die "compile failed" +} + +src_install() { + local f + emake DESTDIR="${D}" install || die + + # And the following so that osc-mpiexec doesn't conflict with + # the packaged mpiexec's that all the MPI-2 implementations have. + for f in $(find "${D}" -name 'mpiexec*'); do + mv ${f} $(dirname ${f})/osc-$(basename ${f}) \ + || die "Failed to prefix binary ${f} with osc-" + done + + dodoc README README.lam ChangeLog +} + +pkg_postinst() { + elog "The OSC Mpiexec package typically installs it's binaries" + elog "and manpages as 'mpiexec'. However, this ebuild renames" + elog "those to be prefixed with 'osc-' in order to avoid blocking" + elog "against the exact packages that osc-mpiexec is meant to" + elog "work with." + elog + elog "The default communication device has been set to mpich-p4" + elog "(ethernet). If you wish to use another communication" + elog "device, either set MPIEXEC_COMM in your environment or use" + elog "the --comm argument to mpiexec." +} diff --git a/sys-cluster/pacemaker/Manifest b/sys-cluster/pacemaker/Manifest new file mode 100644 index 000000000000..b5d71c74980f --- /dev/null +++ b/sys-cluster/pacemaker/Manifest @@ -0,0 +1,15 @@ +AUX pacemaker-1.1.10-tinfo.patch 767 SHA256 5ed6ba9d70df8c288005cf73d9080cd842998485565ba9aa5b62ba69873c0949 SHA512 2418cb275d69e5a589ed5e7aba707719c23bbdae83f2700b4fdabe9df03bf6f6922ef7db6f09b0c06d6d66e8cd661eed37f9c905a5781f865842517a3bd56358 WHIRLPOOL e7e0291140e302fcbd007befaf7ca87ecc2da437ab79cb5bd8db1feee7c58e76d97cabe2296ee29cdcf1d1c3dff2ac572708afa381727201199958b3a7ffb822 +AUX pacemaker-1.1.12-glib.patch 1634 SHA256 577cad59c99929397b45a9e76fa0b15848259bcab40815f7ffad49218b86fdb9 SHA512 11d95e0b85c61b845d9465d1d5dd6ebf2b33a3cba40a89a085fbe4c16eabbc9262546a62fbcdcaab22071de2bbb3967e041527965b61d8bf9a978904128cba0b WHIRLPOOL ea0a481afce1cc2e82deea45c63f1321315cc56c3898174671ccf45c42823f90a330adcd63868cd372eafe3e1e7434636082a666614e24130c686409d81c7947 +AUX pacemaker-1.1.12-stonith.patch 690 SHA256 85e7ce9239b239236eab0aa7d6ba6d3d50c449a9abf954eb31c1d4b244f84e72 SHA512 168811591d18aea99d260c53d4e8307a8c65e0b756f50cd939d05c37697e1c2d0018d3422065add6d126ca23e4fc2371cf8d9f24e68bac2bab74d438112d80d1 WHIRLPOOL c311318f2d5318b778b44e0373954e20ccf661db53f09a9f253b7089dfece178b8566133d3042e449e0ae2284b07bdc1766317ee555eaca0f331ceb8af33b8ae +AUX pacemaker.initd 862 SHA256 0b22c755fa0333f2d72526b5d70549f4fe61c783331e73c86e15c30a433c9e1f SHA512 9578a47ea9271a5b8b5939dc32ff49736504c2e6318f3e9f906b554b1b11a334c01cae8900e946318cdffd3cf9611d748013bdcc63b3ae68919709ebb12e7e7c WHIRLPOOL 915713c85e4061fc20b56082aea3952896e64c3529868a588b897171db5abbef08b21a1f711ddcc946e74a7c91806f80196714594cfa0207c7c4947ab7c561d4 +AUX pacemaker.service 105 SHA256 43034635a3a92ef55bf638ea3e29c2285240228283a70fbd88fe5e28c0d57c8c SHA512 478e1040811f16c0c26fad8feb55cf803e5c4ec4a25e7c82ec771663f25270500fce2dd53622abd7126006c4629bdc3a82fb7f16361eb19543619824a56e848b WHIRLPOOL ec891f83ec9f561060b08bd39e9e0ecf5b243617958bd68f07a2f087a881af85895a4f25f810657ababb6d4541dfcc63e59e195fb6006717dc0cb69a1f869376 +AUX ping 10389 SHA256 021c85d8019b182be7a3603d3363328219ba0b165ea2fe37495dc77d0308f2b4 SHA512 832cd68dab0844b9cee1d1b1453314d42497bc497e97a5cbb78aafbd43b696aa97786b71d1b4d175c1aa8c5f7f240432f1fd4421d16a40ceecdc008d911c0288 WHIRLPOOL 2919972abd1eb4cc78952d39021fcddae07de3f5c193f4872bef07a7745d5d956ba3fff4610f32ef6a107acce6245ad0b8b919585619fe8a03f5436f15b3ce80 +DIST Pacemaker-1.1.12.tar.gz 10459675 SHA256 f5c72b609fac18d362880d120f08f990e8afd9388e6ff86c55cd93900ba54d9c SHA512 cf88a313f5e91f445a159a5d800d27fd891f63c082c92d3f09bfd2aff856325e8ef6e0ebab8c0b2b9cd6eb15cc593c58c8e23e888e17d5286ebc651dd096f9c1 WHIRLPOOL e737d70288936d2f76d310848940bde78537c32e703c68d8dd37a78e54a66dc9d34cf2fe0037f1621fbc5ba10bb9688490da96394cde65f0668d4b62eccf3f03 +DIST Pacemaker-1.1.14.tar.gz 4729808 SHA256 2f73043a5de5e66a47462d37cd68c4c6861f71a03c0ea02eb4ae2b1a550cd7b0 SHA512 81927061bcc0a0b88c472f87a2cbdb26b88a2443b06112cd8c8d58d8491da4e9ae03997108c9d40aa408e80e2998bdc0ac03691f1732d2629c4cef0adcc4b7fa WHIRLPOOL cbae34051a406a9379157fe13171ea8b04c9793528c5f346a7845b2ffa894df4a74fd008e708d99207c6064acf2a39bf569dff0200c47552c0b3b124de00e7eb +DIST Pacemaker-1.1.16.tar.gz 4897772 SHA256 dffcae035975669a66ab545d45216a637496a251ee2114fa03d58acfcc969202 SHA512 967c860fab7b9e73dd8643e6d09083a2a1298a77d71c3b138187803c89153bee7219da13e6b94b20f2881b53ba7fc1c8584a43ff058a265e76708fd5dbccf534 WHIRLPOOL 8beb0188968743d6415c7158790582f01192a643a13246e61cafd6eb8e0d22cd2565dd31e5cfcda04b3aa3e9c749b4c1f0c44bd9419c3fffcc815909e836a92f +EBUILD pacemaker-1.1.12-r2.ebuild 2357 SHA256 a410522c772ca704ef6394ab90ae023c0d1c0667d85ec02d48075a52ce76f761 SHA512 2d1eceed9491e95b2e87b37056ea8b63c1a0fc491ed88a91d4e80a0c79144714392887547f5491ec2c43c9eed272a217fc847097bd5e4dbc6517f8d5b34924f4 WHIRLPOOL 53c34f179b7c6b91b8774115c849606d4618b5b2856b5f6e143c573f6ad30c8029fd1344556791218864e37263d76824f10421139a04b981a7d6617cf2c05a71 +EBUILD pacemaker-1.1.14.ebuild 2197 SHA256 ca8c48d1db3e32fd6cf957af2f96b2d67ac364102cd584b4c177007f3f441c44 SHA512 e39e2084d9a409df027cf3fa9f506e8b5076ac93c6217219d29e19d1b69585ce42094e4873ed8249366abb1b330dd13565a1b0363f5993946fa197ca908ff13c WHIRLPOOL 8a9098b8e876b97678a8b27f4db328e1d0a4aeacff85d8b272be4cf0289388849a6482536ced08259580318cf753b80495916e67f16d026f9a246b031d6f4b0b +EBUILD pacemaker-1.1.16.ebuild 1801 SHA256 8a5fe2a0c9578a03bf10860155e72ff02db8bac532c27d9ad9f4af375620cbbf SHA512 c01c388c60cbd0be7bef5b7df979994fc57cf0ed2ab4b047c6ab64fcc794d8e62b6778871206fc6d2cfbaf191cc75e6aea5c5458ac2442b2d60f92fe2b7d9b53 WHIRLPOOL a3e0bae2bdb0ac005018795aed526aaae9fae388fc035e6ad5deb1bd3edbdfe3e99ab565870675b127d32fdf54a1bf68269712b477d13425da867c238c8cf194 +MISC ChangeLog 3264 SHA256 a9e5b5eb2db190c0d44147947d421342c0c34556cab75432f251e31b6fef8855 SHA512 ce1c6977a6f90f1b56364c468533b91ff101bc0b9ad86fed50ebd77c5d2f61a079507e0c477863095b547aa73641ae245bea553f593f7fe1714f8e4e8bed4262 WHIRLPOOL a77f6cfd51b825f16743a77dc76336734b03089ad5b5d806956816b0d7ea3f71ef3e6aa4275f3d47eb5b6cd34fcb532a3f4d0ea5a215773e5b6d5dfecfebaa2f +MISC ChangeLog-2015 8024 SHA256 7c53f5f74ec8cf5d30d97a1a5ea752524b0b5cdf2a6a48de3fb5382412f23750 SHA512 fe69e97802784a74be5cd102b18ab6e1fac13927a2529e58d5a4035740cef11b8cee857b9fff708aeda614633c73fc903308561db08bbe9f1bde739d358ea0ca WHIRLPOOL 9ab3163a8c0565d19e7854fa3d6454c0955d9076fcbab745555a49fad215b7d57fb99f5c1ce8bbf0b6f086e10cced069f377b7fd5d3ae257af2a892b5a0b4005 +MISC metadata.xml 983 SHA256 181db433b3073e72221ac0b08fa2ea4df98f4de896ac190080daf7752c808fa6 SHA512 0e0f2363d68a4bfb4918b0ca59eca6377c30f6a56a80eb9b12f14a13f59b2a52c3a74ae2152b9866a82b451c75bf14e6040d650733373237c3e9fcc68b38f157 WHIRLPOOL 022877eb7bb335f3215d2b953d6e6ca508b8b4e2644fba29effc4be090a280ccee37d386ed30270b9491b17f21a933b44f4560df1bc4e2795d6a9d5a1b3da1a9 diff --git a/sys-cluster/pacemaker/files/pacemaker-1.1.10-tinfo.patch b/sys-cluster/pacemaker/files/pacemaker-1.1.10-tinfo.patch new file mode 100644 index 000000000000..1dba440c9e79 --- /dev/null +++ b/sys-cluster/pacemaker/files/pacemaker-1.1.10-tinfo.patch @@ -0,0 +1,21 @@ +--- a/configure.ac 2014-12-12 14:13:07.262413254 +0100 ++++ b/configure.ac 2014-12-12 14:13:14.922480835 +0100 +@@ -885,14 +885,16 @@ + CURSESLIBS='' + if test "$ac_cv_header_ncurses_h" = "yes"; then + AC_CHECK_LIB(ncurses, printw, +- [CURSESLIBS='-lncurses'; AC_DEFINE(HAVE_LIBNCURSES,1, have ncurses library)] ++ [AC_DEFINE(HAVE_LIBNCURSES,1, have ncurses library)] + ) ++ CURSESLIBS=`$PKGCONFIG --libs ncurses`; + fi + + if test "$ac_cv_header_ncurses_ncurses_h" = "yes"; then + AC_CHECK_LIB(ncurses, printw, +- [CURSESLIBS='-lncurses'; AC_DEFINE(HAVE_LIBNCURSES,1, have ncurses library)] ++ [AC_DEFINE(HAVE_LIBNCURSES,1, have ncurses library)] + ) ++ CURSESLIBS=`$PKGCONFIG --libs ncurses`; + fi + + dnl Only look for non-n-library if there was no n-library. diff --git a/sys-cluster/pacemaker/files/pacemaker-1.1.12-glib.patch b/sys-cluster/pacemaker/files/pacemaker-1.1.12-glib.patch new file mode 100644 index 000000000000..8233f98a17e8 --- /dev/null +++ b/sys-cluster/pacemaker/files/pacemaker-1.1.12-glib.patch @@ -0,0 +1,47 @@ +From 568e41db929a34106c8c2ff7c48716ab5c13ef49 Mon Sep 17 00:00:00 2001 +From: Andrew Beekhof <andrew@beekhof.net> +Date: Mon, 13 Oct 2014 13:30:58 +1100 +Subject: [PATCH] Fix: lrmd: Prevent glib assert triggered by timers being + removed from mainloop more than once + +--- + lib/services/services.c | 3 +++ + lib/services/services_linux.c | 1 + + 2 files changed, 4 insertions(+) + +--- a/lib/services/services.c ++++ b/lib/services/services.c +@@ -313,6 +313,7 @@ services_action_free(svc_action_t * op) + + if (op->opaque->repeat_timer) { + g_source_remove(op->opaque->repeat_timer); ++ op->opaque->repeat_timer = 0; + } + if (op->opaque->stderr_gsource) { + mainloop_del_fd(op->opaque->stderr_gsource); +@@ -425,6 +426,7 @@ services_action_kick(const char *name, c + } else { + if (op->opaque->repeat_timer) { + g_source_remove(op->opaque->repeat_timer); ++ op->opaque->repeat_timer = 0; + } + recurring_action_timer(op); + return TRUE; +@@ -459,6 +461,7 @@ handle_duplicate_recurring(svc_action_t + if (dup->pid != 0) { + if (op->opaque->repeat_timer) { + g_source_remove(op->opaque->repeat_timer); ++ op->opaque->repeat_timer = 0; + } + recurring_action_timer(dup); + } +--- a/lib/services/services_linux.c ++++ b/lib/services/services_linux.c +@@ -226,6 +226,7 @@ recurring_action_timer(gpointer data) + op->stdout_data = NULL; + free(op->stderr_data); + op->stderr_data = NULL; ++ op->opaque->repeat_timer = 0; + + services_action_async(op, NULL); + return FALSE; diff --git a/sys-cluster/pacemaker/files/pacemaker-1.1.12-stonith.patch b/sys-cluster/pacemaker/files/pacemaker-1.1.12-stonith.patch new file mode 100644 index 000000000000..31c729559f35 --- /dev/null +++ b/sys-cluster/pacemaker/files/pacemaker-1.1.12-stonith.patch @@ -0,0 +1,21 @@ +Description: Fix: stonith-ng: Reset mainloop source IDs after removing them + +Origin: upstream, commit: 0326f05c9e26f39a394fa30830e31a76306f49c7 +Author: Andrew Beekhof <andrew@beekhof.net> +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1412962 +Last-Update: 2015-01-20 + +--- a/lib/fencing/st_client.c ++++ b/lib/fencing/st_client.c +@@ -663,9 +663,11 @@ stonith_action_async_done(mainloop_child + + if (action->timer_sigterm > 0) { + g_source_remove(action->timer_sigterm); ++ action->timer_sigterm = 0; + } + if (action->timer_sigkill > 0) { + g_source_remove(action->timer_sigkill); ++ action->timer_sigkill = 0; + } + + if (action->last_timeout_signo) { diff --git a/sys-cluster/pacemaker/files/pacemaker.initd b/sys-cluster/pacemaker/files/pacemaker.initd new file mode 100644 index 000000000000..8dbcea6ce37d --- /dev/null +++ b/sys-cluster/pacemaker/files/pacemaker.initd @@ -0,0 +1,41 @@ +#!/sbin/openrc-run +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +PIDFILE=/var/run/pacemaker.pid + +depend() { + need net corosync + use syslog +} + +start() { + nc=0 + ebegin "Starting Pacemaker Cluster Manager" + + checkpath -d -m 0750 -o hacluster:haclient /var/run/crm + + einfon "Waiting for Corosync startup ." + while true; do + /usr/sbin/corosync-cfgtool -s &>/dev/null && break + nc=$(expr $nc + 1) + if [ $nc -gt 30 ]; then + echo + eend 1 "Failed to detect Corosync startup, is it really running ?" + exit 1 + fi + sleep 1 + echo -n "." + done + echo + start-stop-daemon --start -q --exec /usr/sbin/pacemakerd \ + --pidfile "${PIDFILE}" --make-pidfile --background \ + -- -f + eend $? +} + +stop() { + ebegin "Stopping Pacemaker Cluster Manager" + start-stop-daemon --stop -q --pidfile "${PIDFILE}" + eend $? +} diff --git a/sys-cluster/pacemaker/files/pacemaker.service b/sys-cluster/pacemaker/files/pacemaker.service new file mode 100644 index 000000000000..6383499ba923 --- /dev/null +++ b/sys-cluster/pacemaker/files/pacemaker.service @@ -0,0 +1,5 @@ +service { + # Load the Pacemaker Cluster Resource Manager + name: pacemaker + ver: 1 +}
\ No newline at end of file diff --git a/sys-cluster/pacemaker/files/ping b/sys-cluster/pacemaker/files/ping new file mode 100644 index 000000000000..52c4c3d4cad8 --- /dev/null +++ b/sys-cluster/pacemaker/files/ping @@ -0,0 +1,380 @@ +#!/bin/sh +# +# +# Ping OCF RA that utilizes the system ping +# +# Copyright (c) 2009 Andrew Beekhof +# All Rights Reserved. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of version 2 of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it would be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Further, this software is distributed without any warranty that it is +# free of the rightful claim of any third person regarding infringement +# or the like. Any license provided herein, whether implied or +# otherwise, applies only to this software file. Patent licenses, if +# any, provided herein do not apply to combinations of this program with +# other software, or any other product whatsoever. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. +# + +####################################################################### +# Initialization: + +: ${OCF_FUNCTIONS=${OCF_ROOT}/resource.d/heartbeat/.ocf-shellfuncs} +. ${OCF_FUNCTIONS} +: ${__OCF_ACTION=$1} + +####################################################################### + +meta_data() { + cat <<END +<?xml version="1.0"?> +<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd"> +<resource-agent name="ping"> +<version>1.0</version> + +<longdesc lang="en"> +Every time the monitor action is run, this resource agent records (in the CIB) the current number of ping nodes the host can connect to. +It is essentially the same as pingd except that it uses the system ping tool to obtain the results. +</longdesc> +<shortdesc lang="en">node connectivity</shortdesc> + +<parameters> + +<parameter name="pidfile" unique="0"> +<longdesc lang="en">PID file</longdesc> +<shortdesc lang="en">PID file</shortdesc> +<content type="string" default="$HA_VARRUN/ping-${OCF_RESOURCE_INSTANCE}" /> +</parameter> + +<parameter name="dampen" unique="0"> +<longdesc lang="en"> +The time to wait (dampening) further changes occur +</longdesc> +<shortdesc lang="en">Dampening interval</shortdesc> +<content type="integer" default="5s"/> +</parameter> + +<parameter name="name" unique="0"> +<longdesc lang="en"> +The name of the attributes to set. This is the name to be used in the constraints. +</longdesc> +<shortdesc lang="en">Attribute name</shortdesc> +<content type="string" default="pingd"/> +</parameter> + +<parameter name="multiplier" unique="0"> +<longdesc lang="en"> +The number by which to multiply the number of connected ping nodes by +</longdesc> +<shortdesc lang="en">Value multiplier</shortdesc> +<content type="integer" default=""/> +</parameter> + +<parameter name="host_list" unique="0" required="1"> +<longdesc lang="en"> +The list of ping nodes to count. +</longdesc> +<shortdesc lang="en">Host list</shortdesc> +<content type="string" default=""/> +</parameter> + +<parameter name="attempts" unique="0"> +<longdesc lang="en"> +Number of ping attempts, per host, before declaring it dead +</longdesc> +<shortdesc lang="en">no. of ping attempts</shortdesc> +<content type="integer" default="2"/> +</parameter> + +<parameter name="timeout" unique="0"> +<longdesc lang="en"> +How long, in seconds, to wait before declaring a ping lost +</longdesc> +<shortdesc lang="en">ping timeout in seconds</shortdesc> +<content type="integer" default="2"/> +</parameter> + +<parameter name="options" unique="0"> +<longdesc lang="en"> +A catch all for any other options that need to be passed to ping. +</longdesc> +<shortdesc lang="en">Extra Options</shortdesc> +<content type="string" default=""/> +</parameter> + +<parameter name="failure_score" unique="0"> +<longdesc lang="en"> +Resource is failed if the score is less than failure_score. +Default never fails. +</longdesc> +<shortdesc lang="en">failure_score</shortdesc> +<content type="integer" default=""/> +</parameter> + +<parameter name="debug" unique="0"> +<longdesc lang="en"> +Enables to use default attrd_updater verbose logging on every call. +</longdesc> +<shortdesc lang="en">Verbose logging</shortdesc> +<content type="string" default="false"/> +</parameter> + +</parameters> + +<actions> +<action name="start" timeout="60" /> +<action name="stop" timeout="20" /> +<action name="reload" timeout="100" /> +<action name="monitor" depth="0" timeout="60" interval="10"/> +<action name="meta-data" timeout="5" /> +<action name="validate-all" timeout="30" /> +</actions> +</resource-agent> +END +} + +####################################################################### + +ping_conditional_log() { + level=$1; shift + if [ ${OCF_RESKEY_debug} = "true" ]; then + ocf_log $level "$*" + fi +} + +ping_usage() { + cat <<END +usage: $0 {start|stop|monitor|migrate_to|migrate_from|validate-all|meta-data} + +Expects to have a fully populated OCF RA-compliant environment set. +END +} + +ping_start() { + ping_monitor + if [ $? = $OCF_SUCCESS ]; then + return $OCF_SUCCESS + fi + touch ${OCF_RESKEY_pidfile} + ping_update +} + +ping_stop() { + + rm -f ${OCF_RESKEY_pidfile} + + attrd_updater -D -n $OCF_RESKEY_name -d $OCF_RESKEY_dampen $attrd_options + + return $OCF_SUCCESS +} + +ping_monitor() { + if [ -f ${OCF_RESKEY_pidfile} ]; then + ping_update + if [ $? -eq 0 ]; then + return $OCF_SUCCESS + fi + return $OCF_ERR_GENERIC + fi + return $OCF_NOT_RUNNING +} + +ping_validate() { + # Is the state directory writable? + state_dir=`dirname "$OCF_RESKEY_pidfile"` + touch "$state_dir/$$" + if [ $? != 0 ]; then + ocf_log err "Invalid location for 'state': $state_dir is not writable" + return $OCF_ERR_ARGS + fi + rm "$state_dir/$$" + +# Pidfile better be an absolute path + case $OCF_RESKEY_pidfile in + /*) ;; + *) ocf_log warn "You should use an absolute path for pidfile not: $OCF_RESKEY_pidfile" ;; + esac + +# Check the host list + if [ "x" = "x$OCF_RESKEY_host_list" ]; then + ocf_log err "Empty host_list. Please specify some nodes to ping" + exit $OCF_ERR_CONFIGURED + fi + + check_binary ping + + return $OCF_SUCCESS +} + + +fping_check() { + active=0 + f_out=`mktemp` + f_err=`mktemp` + + n=$OCF_RESKEY_attempts + timeout=`expr $OCF_RESKEY_timeout \* 1000 / $OCF_RESKEY_attempts` + + cmd="fping -r $OCF_RESKEY_attempts -t $timeout -B 1.0 $OCF_RESKEY_host_list" + $cmd>$f_out 2>$f_err; rc=$? + active=`grep alive $f_out|wc -l` + + case $rc in + 0) + ;; + 1) + for h in `grep unreachable $f_out | awk '{print $1}'`; do + ping_conditional_log warn "$h is inactive" + done + ;; + *) + ocf_log err "Unexpected result for '$cmd' $rc: `tr '\n' ';' < $f_err`" + ;; + esac + rm -f $f_out $f_err + + return $active +} + +ping_check() { + active=0 + for host in $OCF_RESKEY_host_list; do + p_exe=ping + + case `uname` in + Linux) p_args="-n -q -W $OCF_RESKEY_timeout -c $OCF_RESKEY_attempts";; + Darwin) p_args="-n -q -t $OCF_RESKEY_timeout -c $OCF_RESKEY_attempts -o";; + *) ocf_log err "Unknown host type: `uname`"; exit $OCF_ERR_INSTALLED;; + esac + + case $host in + *:*) p_exe=ping6 + esac + + p_out=`$p_exe $p_args $OCF_RESKEY_options $host 2>&1`; rc=$? + + case $rc in + 0) active=`expr $active + 1`;; + 1) ping_conditional_log warn "$host is inactive: $p_out";; + *) ocf_log err "Unexpected result for '$p_exe $p_args $OCF_RESKEY_options $host' $rc: $p_out";; + esac + done + return $active +} + +ping_update() { + + if have_binary fping; then + fping_check + active=$? + else + ping_check + active=$? + fi + + score=`expr $active \* $OCF_RESKEY_multiplier` + attrd_updater -n $OCF_RESKEY_name -v $score -d $OCF_RESKEY_dampen $attrd_options + rc=$? + case $rc in + 0) ping_conditional_log debug "Updated $OCF_RESKEY_name = $score" ;; + *) ocf_log warn "Could not update $OCF_RESKEY_name = $score: rc=$rc";; + esac + if [ $rc -ne 0 ]; then + return $rc + fi + + if [ -n "$OCF_RESKEY_failure_score" -a "$score" -lt "$OCF_RESKEY_failure_score" ]; then + ocf_log warn "$OCF_RESKEY_name is less than failure_score($OCF_RESKEY_failure_score)" + return 1 + fi + return 0 +} + +: ${OCF_RESKEY_name:="pingd"} +: ${OCF_RESKEY_dampen:="5s"} +: ${OCF_RESKEY_attempts:="3"} +: ${OCF_RESKEY_multiplier:="1"} +: ${OCF_RESKEY_debug:="false"} +: ${OCF_RESKEY_failure_score:="0"} + +: ${OCF_RESKEY_CRM_meta_timeout:="20000"} +: ${OCF_RESKEY_CRM_meta_globally_unique:="true"} + +integer=`echo ${OCF_RESKEY_timeout} | egrep -o '[0-9]*'` +case ${OCF_RESKEY_timeout} in + *[0-9]ms|*[0-9]msec) OCF_RESKEY_timeout=`expr $integer / 1000`;; + *[0-9]m|*[0-9]min) OCF_RESKEY_timeout=`expr $integer \* 60`;; + *[0-9]h|*[0-9]hr) OCF_RESKEY_timeout=`expr $integer \* 60 \* 60`;; + *) OCF_RESKEY_timeout=$integer;; +esac + +if [ -z ${OCF_RESKEY_timeout} ]; then + if [ x"$OCF_RESKEY_host_list" != x ]; then + host_count=`echo $OCF_RESKEY_host_list | awk '{print NF}'` + OCF_RESKEY_timeout=`expr $OCF_RESKEY_CRM_meta_timeout / $host_count / $OCF_RESKEY_attempts` + OCF_RESKEY_timeout=`expr $OCF_RESKEY_timeout / 1100` # Convert to seconds and finish 10% early + else + OCF_RESKEY_timeout=5 + fi +fi + +if [ ${OCF_RESKEY_timeout} -lt 1 ]; then + OCF_RESKEY_timeout=5 +elif [ ${OCF_RESKEY_timeout} -gt 1000 ]; then + # ping actually complains if this value is too high, 5 minutes is plenty + OCF_RESKEY_timeout=300 +fi + +if [ ${OCF_RESKEY_CRM_meta_globally_unique} = "false" ]; then + : ${OCF_RESKEY_pidfile:="$HA_VARRUN/ping-${OCF_RESKEY_name}"} +else + : ${OCF_RESKEY_pidfile:="$HA_VARRUN/ping-${OCF_RESOURCE_INSTANCE}"} +fi + +case $__OCF_ACTION in + meta-data) + meta_data + exit $OCF_SUCCESS + ;; + usage|help) + ping_usage + exit $OCF_SUCCESS + ;; +esac + +attrd_options='-q' +if ocf_is_true ${OCF_RESKEY_debug} ; then + attrd_options='' +fi + +# Check the debug option + case "${OCF_RESKEY_debug}" in + true|True|TRUE|1) OCF_RESKEY_debug=true;; + false|False|FALSE|0) OCF_RESKEY_debug=false;; + *) + ocf_log warn "Value for 'debug' is incorrect. Please specify 'true' or 'false' not: ${OCF_RESKEY_debug}" + OCF_RESKEY_debug=false + ;; + esac + +case $__OCF_ACTION in +start) ping_start;; +stop) ping_stop;; +monitor) ping_monitor;; +reload) ping_start;; +validate-all) ping_validate;; +*) ping_usage + exit $OCF_ERR_UNIMPLEMENTED + ;; +esac +exit $? diff --git a/sys-cluster/pacemaker/metadata.xml b/sys-cluster/pacemaker/metadata.xml new file mode 100644 index 000000000000..c486adbd93a7 --- /dev/null +++ b/sys-cluster/pacemaker/metadata.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription>Pacemaker is a cluster resource manager. + It achieves maximum availability for your cluster services (aka. resources) by detecting and + recovering from node and resource-level failures by making use of the messaging and membership + capabilities provided by your preferred cluster infrastructure (either OpenAIS or Heartbeat). + </longdescription> + <use> + <flag name="cman">Enable <pkg>sys-cluster/cman</pkg> support.</flag> + <flag name="heartbeat">Enable <pkg>sys-cluster/heartbeat</pkg> support.</flag> + <flag name="smtp">Enable SMTP support via <pkg>net-libs/libesmtp</pkg></flag> + </use> + <upstream> + <remote-id type="github">ClusterLabs/pacemaker</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/pacemaker/pacemaker-1.1.12-r2.ebuild b/sys-cluster/pacemaker/pacemaker-1.1.12-r2.ebuild new file mode 100644 index 000000000000..fc65ae9855a1 --- /dev/null +++ b/sys-cluster/pacemaker/pacemaker-1.1.12-r2.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" +PYTHON_COMPAT=( python2_7 ) +WANT_AUTOMAKE="1.12" + +inherit autotools eutils python-single-r1 + +MY_PN="Pacemaker" +MY_P=${MY_PN}-${PV/_/-} + +DESCRIPTION="Pacemaker CRM" +HOMEPAGE="http://www.linux-ha.org/wiki/Pacemaker" +SRC_URI="https://github.com/ClusterLabs/${PN}/archive/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 hppa x86" +REQUIRED_USE="cman? ( !heartbeat )" +IUSE="acl cman heartbeat smtp snmp static-libs" + +DEPEND="${PYTHON_DEPS} + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + sys-cluster/cluster-glue + >=sys-cluster/libqb-0.14.0 + sys-cluster/resource-agents + cman? ( sys-cluster/cman ) + heartbeat? ( >=sys-cluster/heartbeat-3.0.0 ) + !heartbeat? ( sys-cluster/corosync ) + smtp? ( net-libs/libesmtp ) + snmp? ( net-analyzer/net-snmp ) +" +RDEPEND="${DEPEND}" + +REQUIRED_USE=${PYTHON_REQUIRED_USE} + +PATCHES=( + "${FILESDIR}"/pacemaker-1.1.10-tinfo.patch + "${FILESDIR}"/pacemaker-1.1.12-glib.patch + "${FILESDIR}"/pacemaker-1.1.12-stonith.patch +) + +S="${WORKDIR}/${PN}-${MY_P}" + +src_prepare() { + epatch "${PATCHES[@]}" + epatch_user + + # bug #490908 + cp "${FILESDIR}/ping" extra/resources/ping || die + + sed -i -e "/ggdb3/d" configure.ac || die + sed -i -e "s/ -ggdb//g" configure.ac || die + sed -i -e "s/uid2username(uid)/uid2username(uid_client)/g" lib/common/ipc.c || die + sed -i -e "s:<glib/ghash.h>:<glib.h>:" lib/ais/plugin.c || die + eautoreconf + + python_fix_shebang . +} + +src_configure() { + local myopts="" + if use heartbeat ; then + myopts="--without-corosync" + else + myopts="--with-ais" + fi + # appends lib to localstatedir automatically + econf \ + --libdir=/usr/$(get_libdir) \ + --localstatedir=/var \ + --disable-dependency-tracking \ + --disable-fatal-warnings \ + $(use_with acl) \ + $(use_with cman cs-quorum) \ + $(use_with cman cman) \ + $(use_with heartbeat) \ + $(use_with smtp esmtp) \ + $(use_with snmp) \ + $(use_enable static-libs static) \ + ${myopts} +} + +src_install() { + default + rm -rf "${D}"/var/run "${D}"/etc/init.d + newinitd "${FILESDIR}/${PN}.initd" ${PN} || die + if has_version "<sys-cluster/corosync-2.0"; then + insinto /etc/corosync/service.d + newins "${FILESDIR}/${PN}.service" ${PN} || die + fi +} + +pkg_postinst() { + elog " " + elog "Looking for the crm CLI ? emerge sys-cluster/crmsh !" + elog " " +} diff --git a/sys-cluster/pacemaker/pacemaker-1.1.14.ebuild b/sys-cluster/pacemaker/pacemaker-1.1.14.ebuild new file mode 100644 index 000000000000..492f531c7022 --- /dev/null +++ b/sys-cluster/pacemaker/pacemaker-1.1.14.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) +WANT_AUTOMAKE="1.12" + +inherit autotools eutils python-single-r1 + +MY_PN="Pacemaker" +MY_P=${MY_PN}-${PV/_/-} + +DESCRIPTION="Pacemaker CRM" +HOMEPAGE="http://www.linux-ha.org/wiki/Pacemaker" +SRC_URI="https://github.com/ClusterLabs/${PN}/archive/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +REQUIRED_USE="cman? ( !heartbeat )" +IUSE="acl cman heartbeat smtp snmp static-libs" + +DEPEND="${PYTHON_DEPS} + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + sys-cluster/cluster-glue + >=sys-cluster/libqb-0.14.0 + sys-cluster/resource-agents + cman? ( sys-cluster/cman ) + heartbeat? ( >=sys-cluster/heartbeat-3.0.0 ) + !heartbeat? ( sys-cluster/corosync ) + smtp? ( net-libs/libesmtp ) + snmp? ( net-analyzer/net-snmp ) +" +RDEPEND="${DEPEND}" + +REQUIRED_USE=${PYTHON_REQUIRED_USE} + +S="${WORKDIR}/${PN}-${MY_P}" + +src_prepare() { + default + epatch_user + + # bug #490908 + cp "${FILESDIR}/ping" extra/resources/ping || die + + sed -i -e "/ggdb3/d" configure.ac || die + sed -i -e "s/ -ggdb//g" configure.ac || die + sed -i -e "s/uid2username(uid)/uid2username(uid_client)/g" lib/common/ipc.c || die + sed -i -e "s:<glib/ghash.h>:<glib.h>:" lib/ais/plugin.c || die + eautoreconf + + python_fix_shebang . +} + +src_configure() { + local myopts="" + if use heartbeat ; then + myopts="--without-corosync" + else + myopts="--with-ais" + fi + # appends lib to localstatedir automatically + econf \ + --libdir=/usr/$(get_libdir) \ + --localstatedir=/var \ + --disable-dependency-tracking \ + --disable-fatal-warnings \ + $(use_with acl) \ + $(use_with cman cs-quorum) \ + $(use_with cman cman) \ + $(use_with heartbeat) \ + $(use_with smtp esmtp) \ + $(use_with snmp) \ + $(use_enable static-libs static) \ + ${myopts} +} + +src_install() { + default + rm -rf "${D}"/var/run "${D}"/etc/init.d + newinitd "${FILESDIR}/${PN}.initd" ${PN} || die + if has_version "<sys-cluster/corosync-2.0"; then + insinto /etc/corosync/service.d + newins "${FILESDIR}/${PN}.service" ${PN} || die + fi +} + +pkg_postinst() { + elog " " + elog "Looking for the crm CLI ? emerge sys-cluster/crmsh !" + elog " " +} diff --git a/sys-cluster/pacemaker/pacemaker-1.1.16.ebuild b/sys-cluster/pacemaker/pacemaker-1.1.16.ebuild new file mode 100644 index 000000000000..300cc72025e1 --- /dev/null +++ b/sys-cluster/pacemaker/pacemaker-1.1.16.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit autotools eutils python-single-r1 + +MY_PN="Pacemaker" +MY_P=${MY_PN}-${PV/_/-} + +DESCRIPTION="Pacemaker CRM" +HOMEPAGE="http://www.linux-ha.org/wiki/Pacemaker" +SRC_URI="https://github.com/ClusterLabs/${PN}/archive/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~hppa x86" +REQUIRED_USE="cman? ( !heartbeat )" +IUSE="acl cman heartbeat smtp snmp static-libs" + +DEPEND="${PYTHON_DEPS} + app-text/docbook-xsl-stylesheets + dev-libs/libxslt + sys-cluster/cluster-glue + >=sys-cluster/libqb-0.14.0 + sys-cluster/resource-agents + cman? ( sys-cluster/cman ) + heartbeat? ( >=sys-cluster/heartbeat-3.0.0 ) + !heartbeat? ( sys-cluster/corosync ) + smtp? ( net-libs/libesmtp ) + snmp? ( net-analyzer/net-snmp ) +" +RDEPEND="${DEPEND}" + +REQUIRED_USE=${PYTHON_REQUIRED_USE} + +S="${WORKDIR}/${PN}-${MY_P}" + +src_prepare() { + default + sed -i -e "s/ -ggdb//g" configure.ac || die + eautoreconf + python_fix_shebang . +} + +src_configure() { + local myopts="" + if use heartbeat ; then + myopts="--without-corosync" + else + myopts="--with-ais" + fi + # appends lib to localstatedir automatically + econf \ + --libdir=/usr/$(get_libdir) \ + --localstatedir=/var \ + --disable-dependency-tracking \ + --disable-fatal-warnings \ + $(use_with acl) \ + $(use_with cman cs-quorum) \ + $(use_with cman cman) \ + $(use_with heartbeat) \ + $(use_with smtp esmtp) \ + $(use_with snmp) \ + $(use_enable static-libs static) \ + ${myopts} +} + +src_install() { + default + rm -rf "${D}"/var/run "${D}"/etc/init.d + newinitd "${FILESDIR}/${PN}.initd" ${PN} || die + if has_version "<sys-cluster/corosync-2.0"; then + insinto /etc/corosync/service.d + newins "${FILESDIR}/${PN}.service" ${PN} || die + fi +} diff --git a/sys-cluster/pbs-python/Manifest b/sys-cluster/pbs-python/Manifest new file mode 100644 index 000000000000..8ba9162031bc --- /dev/null +++ b/sys-cluster/pbs-python/Manifest @@ -0,0 +1,5 @@ +DIST pbs_python-4.3.3.tar.gz 185442 SHA256 d149803973f8db52ca62a49e69e9e34b4d8726d8b7fa480f909d345dca9dd2b8 SHA512 2a8c49d0be887cd7c5f9c17bd7ce679c7c04481c70e6949fd430007b7678c15636e8416fd30ac16d06cc387680bd4f9d3df8cad8be7b512b6fa2785891338044 WHIRLPOOL 15db1b5bae67b3eca4924a596d7040305f13b37c030314c268734b3d5c1145aa8f99196dd405ee802062daa41fd24cacc02f60ccd738c84e83601ef2309aef02 +EBUILD pbs-python-4.3.3-r1.ebuild 760 SHA256 4ffc108b728de4bd736221a912ee4696c55e65b6e13d351aa86102bd5ee7f270 SHA512 aa8a60da40ca583713285734313804c350d106500e58ebb966c203936eb297e054d77daaf5a133d6cc72f59f2378ddfd59760ef9bd52e67ecf76ebb8f0b1b0ae WHIRLPOOL 3326c5370f828d94f5357c331cbd456a361380fe972f07099f58d44bd498f92cf9e4807788c56810caeffed9d624195a1e30a06fc9caf6b1814e19e74e8a177f +MISC ChangeLog 2445 SHA256 50c3bcaf3008330ba425e4ad4ffee0fca529be9e45a8360f66ad32c6b887516b SHA512 548bdbc0ef3229f856d590c7e73d336b42b2aaf573955ccec9a3599a8fc978edfb0134fd21a4f175d8380306aff8436f8371d64bf90b9f1b39b2459d905a1087 WHIRLPOOL 5836387ef43e714d804914983f8af9fb3568df8559a5c34c4efa836cf037e837b073e4e1ced98322bc0668c660ee694f4bd98fd1deca07d2ae4681a82db3d762 +MISC ChangeLog-2015 1540 SHA256 eae3322c88659bc2b5fc26310ca6b43a37c3d0fbc0a2c2bd7092be94bc1a6564 SHA512 a3a844664d842bff5de9a927f58f935ebaa90d960268b2862be994c2cd882dbadfd0ac08cc40a6833206180c5a86a80c27021f0f8391773d473758c615fa159a WHIRLPOOL ae21a0c6e0c4859667b334a9e04063129c6823b468898d1ecd8f21734da81badfdf7f1eb92736c015e6c1d093b7f820d19a2f01a0b4591705ed4d94c3bafd388 +MISC metadata.xml 257 SHA256 eba5a727fcb9e27d2a6e5dac0c92b252de676d434ef19bb09d44534257bed08c SHA512 d01f4b592393076365e924fcc717c807172488f03a7b64542238616207fd00dacd096c383e68b9558142f7dab357578f91904f73acd41ce3a6ba7b7ef72b4980 WHIRLPOOL 8621cedc31dcd2b89dffd18c102b491aea21946189d752b9dfc3b686aea7adfff6782a3c7796d777e18677b7dd99f1cd8584022642eaf009cab3b733918a501b diff --git a/sys-cluster/pbs-python/metadata.xml b/sys-cluster/pbs-python/metadata.xml new file mode 100644 index 000000000000..8bf4b5f36954 --- /dev/null +++ b/sys-cluster/pbs-python/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/pbs-python/pbs-python-4.3.3-r1.ebuild b/sys-cluster/pbs-python/pbs-python-4.3.3-r1.ebuild new file mode 100644 index 000000000000..d7f9338f422a --- /dev/null +++ b/sys-cluster/pbs-python/pbs-python-4.3.3-r1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 + +MY_P=${P/-/_} + +DESCRIPTION="Python bindings to the Torque C API" +HOMEPAGE="https://subtrac.sara.nl/oss/pbs_python/" +SRC_URI="ftp://ftp.sara.nl/pub/outgoing/${MY_P}.tar.gz" + +LICENSE="openpbs" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="examples" + +DEPEND="sys-cluster/torque" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${MY_P} + +python_prepare_all() { + sed -i -e "s/4.1.3/${PV}/" setup.py.in || die + distutils-r1_python_prepare_all +} + +python_configure_all() { + econf +} + +python_install_all() { + distutils-r1_python_install_all + + if use examples; then + insinto /usr/share/doc/${P} + doins "${S}"/examples/* + fi +} diff --git a/sys-cluster/pconsole/Manifest b/sys-cluster/pconsole/Manifest new file mode 100644 index 000000000000..2e1b38bdd18c --- /dev/null +++ b/sys-cluster/pconsole/Manifest @@ -0,0 +1,6 @@ +AUX pconsole-1.0-exit-warn.patch 248 SHA256 4d2f01afc46cbc67fecbebf0173fda19aca7b3a5666230cd237727432518598b SHA512 583f869efa7d11db5c1de623af473fced1b0b7a07d363246702b705ff7e50e8ecce817fbb8fe98584f3cc266f420165f5255dbc666a741611d92b6688a9aff3c WHIRLPOOL 0108b02b96520223f558452dd7162cfc8d3fbc50372bfbbd07fc5eb95cf098c5a346fa89c51482e60aadf65638499236d49e9a2696020d4c37ad3126ffb3af6a +DIST pconsole-1.0.tar.gz 215426 SHA256 94520bf65f726df9d7e686bb486e9a2828c29d09a20b9522f1da4f7d66700bb2 SHA512 b03f189e4030a417bbe1ee19dc55f5149581b084d89edecdf857916d66c0e235f1b4bfecf6a198f865ad187d7630b0c266940eafadd576e829d20366dc9cc248 WHIRLPOOL b4b711e07f34b4c477df0585f75bd40a4cd1c5143937fbaa72f81e30b43e578d3c56958d2b1545b5671c17dfe8682656c8fe65f1dc962f2767f3bc90ef718eb4 +EBUILD pconsole-1.0-r3.ebuild 818 SHA256 d45592817f6fb662c688017208d068c7de5e2186444fec631bb3b45e1b0beddc SHA512 2deab7f0b0cb8aaa8628e5322731b5191d0401f3dd036d779ace8336adf4646b28ebb6df2d9fe75d15cd8f8151e850a14b19f47fa5dc4f8b4148ca3b1dfe4fc8 WHIRLPOOL 596150d9b91606ca220f6b59f926b612403ecc36df6ed01b21fac41623f7a14d3ffa9c9c0e2a1f70117b9bc7a8f315f4cab045ce14521c16975e83b3b96c32ef +MISC ChangeLog 2472 SHA256 3a71b74eb698a38733908c7cfc9eea25ca7e7d798a1a6637d3c60240a4beeb99 SHA512 34f21d4adb2f58c9a4a231c68b0a724bafe246807287f0c111fa6102e01db8f5c168ce09d38c7ffa430c0199c8f1007a3720f6cb80649763c45c11bd759cceb7 WHIRLPOOL cc0c7ea187fa95268dc4e082abffa0a8bd4dc33a25c437e2e019e923a9dba553abcbe2a6ce529542f90f075485516a66e1921b7cb4df17e1ebe83e907663b294 +MISC ChangeLog-2015 2047 SHA256 9f316ec193120605ba5ff49fcf42c08f234b2a3cdb9d59e3f2bf9fcc2fc3bbe9 SHA512 378dc323299be3605f016e71aa0ec132c4e52befc00fdad5cbb4eaab069d8f227ffc089993d843ebd52b9f952215ac7a3f04aeb6e6db2829d95e59cfa4cb4946 WHIRLPOOL 1e775c7aa151c099f1d91091af645e59b4bc40a332dde28ed95fec39ffe056a9dada862cf88eeeb30762efe1c4ca14b08565206948a9fac0454e12612ad4726a +MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e diff --git a/sys-cluster/pconsole/files/pconsole-1.0-exit-warn.patch b/sys-cluster/pconsole/files/pconsole-1.0-exit-warn.patch new file mode 100644 index 000000000000..f306d6408ee8 --- /dev/null +++ b/sys-cluster/pconsole/files/pconsole-1.0-exit-warn.patch @@ -0,0 +1,10 @@ +--- pconsole.c 2001-04-09 12:51:49.000000000 +0400 ++++ pconsole.c~vox 2004-08-16 11:37:49.606267087 +0400 +@@ -28,6 +28,7 @@ + #include "Conn.h" + + #include <stdio.h> ++#include <stdlib.h> + #include <unistd.h> + #include <errno.h> + #include <signal.h> diff --git a/sys-cluster/pconsole/metadata.xml b/sys-cluster/pconsole/metadata.xml new file mode 100644 index 000000000000..4a09d7ba8d61 --- /dev/null +++ b/sys-cluster/pconsole/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> +</maintainer> +</pkgmetadata> diff --git a/sys-cluster/pconsole/pconsole-1.0-r3.ebuild b/sys-cluster/pconsole/pconsole-1.0-r3.ebuild new file mode 100644 index 000000000000..e071f8b28ba4 --- /dev/null +++ b/sys-cluster/pconsole/pconsole-1.0-r3.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=2 + +inherit eutils toolchain-funcs + +DESCRIPTION="Tool for managing multiple xterms simultaneously" +HOMEPAGE="http://www.heiho.net/pconsole/" +SRC_URI="http://www.xs4all.nl/~walterj/pconsole/${P}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +DEPEND="" +RDEPEND="virtual/ssh" + +src_prepare() { + epatch "${FILESDIR}"/${P}-exit-warn.patch +} + +src_compile() { + emake LFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS}" \ + CC="$(tc-getCC)" || die +} + +src_install() { + dobin pconsole || die + fperms 4110 /usr/bin/pconsole || die + dodoc ChangeLog README.pconsole || die + dohtml public_html/pconsole.html || die +} + +pkg_postinst() { + echo + ewarn "Warning:" + ewarn "pconsole installed with suid root!" + echo +} diff --git a/sys-cluster/ploop/Manifest b/sys-cluster/ploop/Manifest new file mode 100644 index 000000000000..41eb55471c71 --- /dev/null +++ b/sys-cluster/ploop/Manifest @@ -0,0 +1,8 @@ +AUX disable_create_run_dir.patch 632 SHA256 0334ed939108d23b914caf28db9562e71af21713cebb630fb403a34e3343d487 SHA512 4ef81f24a21f200881f2ff94ba9d39f1b097362eb371623a62dc7d66c7e174e3e7a465be85856c7c5ca8a01d8fe725bd9d713f871af8cec3c25bc94811d7c415 WHIRLPOOL 8356827f291afa87c45400368e2f1b88380ab8d966b4549d5601aedb02530f2ef55030805ba663dbf600fbba3bb88bfa6861a721e42d35a99c14630349bb7adb +DIST ploop-1.13.2.tar.bz2 122821 SHA256 c1705c3bebd4f0f8860fecadf57cca457216b2abad880eb36098351244f9c1c3 SHA512 85a3314dc1114b692cd98290412fd2ea78c516964c712487dd72f8347fd583172d8836f997d63ccade89ee39be031669074d9bc957926b97175e659ec505ddfb WHIRLPOOL aea714ec18aa82cce2fcffa9aafdfe0e627ed83db9b8eaf0621b2dddb58fd300fdd9a3896e2e5192154cc5e0b6b11668128ed2e66fd04c1daae84e23d41c7a99 +DIST ploop-1.14.1.tar.bz2 123962 SHA256 841fde81c46632072ff8bcc29a4074a15b3c8359967254deeba51f0af34a6c0e SHA512 7a235865f071de6e2762923d6591c8c6ee00d0d05ec80c6a2a1332f5b6881ccf827f7ddc40dfe1d663b8abf492a188a23f7d28a43dd553d6e37c8091cb3bc484 WHIRLPOOL 8e80385233cbd5be0a26a20fb5442f82fa57adffe22f78a1207c73ece65822091c7fbbf90b59b97b8cf6ff760447a93c391e828af5402ecdc59285a74c114332 +EBUILD ploop-1.13.2.ebuild 1356 SHA256 e2cff247c64251906cef1005d5803e0393a889628cc4aff0f92894d0c14124c6 SHA512 544277674af1130d8042e7404cb00d72ab7f27abef7a1c020542a25faaba52354a431082b0e1f16e426523fa4c90254a561ca62b6557483fecfbd41a74a5c30b WHIRLPOOL d2e0de76b5d47f4f0aebd1a8f40c2a9d007b4defcc6960dd5db78b5d9b1987cc92b23497ed5dcfed360ddae207ab4249fe49da9a4a2040ebe9e3f6825d8fd438 +EBUILD ploop-1.14.1.ebuild 1410 SHA256 460e943257c550c4b0edac17a3e2942331cc2a510a77a47cb56e03ced8d7426f SHA512 c3eaa46a0f9ba5588c7d2c06a0b0887b156dbb552e7787a73762a34829c0832d76808c1c85ebc17484b554eb3dc03921f1561611d2d9b140a105d5cae61f15ad WHIRLPOOL 75447cdc81aae4179085f4e588bfb96368b10c3441729b32bbf5d6fc06b39ce94bf9e6d85a7bf0524bf57a8a5024ce60fe14c541ce17c339588120dc27852c1a +MISC ChangeLog 2677 SHA256 62f9b949605956cb878ee3a371e6277d05127a9c2fff010a60a5fe47d8f495fa SHA512 4d548ef140c49ea0c304c850a9fd6c37611de49b2e9b9fa492a3ecd9cbe4009f9673070a8130da39fae40ecf5e62a7e3db87a7ea43d1f5d2e347a46c7d08728b WHIRLPOOL 22c3f92aa52a9f4f0c184ca12bfa978c3014fc7760d7467d6868062a502ab868e0dd72ce48d4b15696c24781c41d0ed490cbc6d4bfdc47cbaf77750997438e8b +MISC ChangeLog-2015 5197 SHA256 1b7e504d362d95f9ef6bf6fe6591da4d072582723aff3653e376c163177e8d64 SHA512 1fc7f4916a245e74cadab4ce1f603bcae1146b877397a9e0a1caacc516f723be1a40537ceff4a6683f93fe0872196bc3d3f87e06ea510db31997ec6b9fb7313f WHIRLPOOL 0258a17ca5d0cf36e1759c4a4480c2955ea8aca89edd46430965d8140114ccf29e962c019584b7db6b48ee863124d80e26208dd364c1501a3bc47074b3a2e4f0 +MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968 diff --git a/sys-cluster/ploop/files/disable_create_run_dir.patch b/sys-cluster/ploop/files/disable_create_run_dir.patch new file mode 100644 index 000000000000..726094903b51 --- /dev/null +++ b/sys-cluster/ploop/files/disable_create_run_dir.patch @@ -0,0 +1,21 @@ +--- lib/Makefile.old 2015-10-10 15:49:25.377235002 +0300 ++++ lib/Makefile 2015-10-10 15:49:50.021464544 +0300 +@@ -76,17 +76,13 @@ + .depend: $(filter-out $(GENERATED),$(SOURCES)) + -include .depend + +-install-lockdir: +- $(Q) $(INSTALL) -d $(DESTDIR)$(LOCKDIR) +-.PHONY: install-lockdir +- + install-pc: $(PC) + $(E) " INSTALL " $(PC) + $(Q) $(INSTALL) -d $(DESTDIR)$(PCDIR) + $(Q) $(INSTALL) $(PC) $(DESTDIR)$(PCDIR) + .PHONY: install-pc + +-install: all install-lockdir install-pc ++install: all install-pc + $(Q) $(INSTALL) -d $(DESTDIR)$(LIBDIR) + $(E) " INSTALL " $(LIBPLOOP) + $(Q) $(INSTALL) -m 644 $(LIBPLOOP) $(DESTDIR)$(LIBDIR) diff --git a/sys-cluster/ploop/metadata.xml b/sys-cluster/ploop/metadata.xml new file mode 100644 index 000000000000..6f49eba8f496 --- /dev/null +++ b/sys-cluster/ploop/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<!-- maintainer-needed --> +</pkgmetadata> diff --git a/sys-cluster/ploop/ploop-1.13.2.ebuild b/sys-cluster/ploop/ploop-1.13.2.ebuild new file mode 100644 index 000000000000..153867c91c88 --- /dev/null +++ b/sys-cluster/ploop/ploop-1.13.2.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils toolchain-funcs multilib systemd + +DESCRIPTION="openvz tool and a library to control ploop block devices" +HOMEPAGE="http://wiki.openvz.org/Download/ploop" +SRC_URI="http://download.openvz.org/utils/ploop/${PV}/src/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug static-libs" + +DEPEND=" + dev-libs/libxml2 + virtual/pkgconfig + " + +RDEPEND="dev-libs/libxml2 + !<sys-cluster/vzctl-4.8 + sys-block/parted + sys-fs/e2fsprogs + sys-process/lsof + sys-apps/findutils + " + +DOCS=( tools/README ) + +src_prepare() { + # Respect CFLAGS and CC, do not add debug by default + sed -i \ + -e 's|CFLAGS =|CFLAGS +=|' \ + -e '/CFLAGS/s/-g -O0 //' \ + -e '/CFLAGS/s/-O2//' \ + -e 's|CC=|CC?=|' \ + -e 's/-Werror//' \ + -e '/DEBUG=yes/d' \ + -e '/LOCKDIR/s/var/run/' \ + Makefile.inc || die 'sed on Makefile.inc failed' + # Avoid striping of binaries + sed -e '/INSTALL/{s: -s::}' -i tools/Makefile || die 'sed on tools/Makefile failed' + + # respect AR and RANLIB, bug #452092 + tc-export AR RANLIB + sed -i -e 's/ranlib/$(RANLIB)/' lib/Makefile || die 'sed on lib/Makefile failed' +} + +src_compile() { + emake CC="$(tc-getCC)" V=1 $(usex debug 'DEBUG' '' '=yes' '') +} + +src_install() { + default + ldconfig -n "${D}/usr/$(get_libdir)/" || die +} diff --git a/sys-cluster/ploop/ploop-1.14.1.ebuild b/sys-cluster/ploop/ploop-1.14.1.ebuild new file mode 100644 index 000000000000..c38b72e9f7e8 --- /dev/null +++ b/sys-cluster/ploop/ploop-1.14.1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils toolchain-funcs multilib systemd + +DESCRIPTION="openvz tool and a library to control ploop block devices" +HOMEPAGE="http://wiki.openvz.org/Download/ploop" +SRC_URI="http://download.openvz.org/utils/ploop/${PV}/src/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug static-libs" + +DEPEND=" + dev-libs/libxml2 + virtual/pkgconfig + " + +RDEPEND="dev-libs/libxml2 + !<sys-cluster/vzctl-4.8 + sys-block/parted + sys-fs/e2fsprogs + sys-process/lsof + sys-apps/findutils + " + +DOCS=( tools/README ) + +src_prepare() { + epatch "${FILESDIR}/disable_create_run_dir.patch" + + # Respect CFLAGS and CC, do not add debug by default + sed -i \ + -e 's|CFLAGS =|CFLAGS +=|' \ + -e '/CFLAGS/s/-g -O0 //' \ + -e '/CFLAGS/s/-O2//' \ + -e 's|CC=|CC?=|' \ + -e 's/-Werror//' \ + -e '/DEBUG=yes/d' \ + -e '/LOCKDIR/s/var/run/' \ + Makefile.inc || die 'sed on Makefile.inc failed' + # Avoid striping of binaries + sed -e '/INSTALL/{s: -s::}' -i tools/Makefile || die 'sed on tools/Makefile failed' + + # respect AR and RANLIB, bug #452092 + tc-export AR RANLIB + sed -i -e 's/ranlib/$(RANLIB)/' lib/Makefile || die 'sed on lib/Makefile failed' +} + +src_compile() { + emake CC="$(tc-getCC)" V=1 $(usex debug 'DEBUG' '' '=yes' '') +} + +src_install() { + default + ldconfig -n "${D}/usr/$(get_libdir)/" || die +} diff --git a/sys-cluster/polysh/Manifest b/sys-cluster/polysh/Manifest new file mode 100644 index 000000000000..479875a28669 --- /dev/null +++ b/sys-cluster/polysh/Manifest @@ -0,0 +1,5 @@ +DIST polysh-0.4.tar.bz2 62770 SHA256 0456c25c664dad80ebf7bf748a1661fddf5fbea0a3788328621029c4d0b8b04f SHA512 84d77a2272e9a5a577c17a4e1b791db0f8d2bf58f1ef4c52ebfbe7ba9396de3744bf6fafa72df126c3a3958d97bdb9feb8da002209b0dd0eb9b16b19b859e43d WHIRLPOOL ba0c7f8b07fcd280b20b66a743fb32226f7791309d19e92de7e416ecf0ab03a42a74cee49df4f1a6211426e4d1cc750d0051376c6f0d8c315ec8c4816ce556db +EBUILD polysh-0.4-r1.ebuild 412 SHA256 ef72c9849e7780c89d17383c183f9880c3de59625e107bccc8d38305d839809f SHA512 e439dd28dfbf11a84e1f626468a047959fdc7a971b0c8858a5486fd24cc36d176cdab03dec22dfea02a5f568de4d0314b1fe91b5c42982a5da79c1eca02f2a56 WHIRLPOOL 8fb0bf3c39118889d6c8302e9e73e22e1f37688e558dd8c5ad4eebbdd9d47e4a683ace8c1bd425bc3572383035b545e7b6b40f9206349a3508555a1938218398 +MISC ChangeLog 2524 SHA256 dc3bd363bf93401138c90b4e89a3560cdf0f54164f1fe72823f16e5b7ff21af8 SHA512 94100782241948b852046d2eb0ed1c0b7025de84510a707f2c088f556b482a835563027c2a05a128dd0a48b50fb7756877d9dc2d6be896ebc8d6dcc72c9c821f WHIRLPOOL 39c7f05f3092b167b730eefd5960b46b650e3bcfc6a7faaec141bfa12cefe0614a07e84c15d768832ec5fc05f650e1624c39facbdd98ccb3fe982adbb8ef256e +MISC ChangeLog-2015 2141 SHA256 ccab680aca1b5a68883a2b44c38aa6e185eff4758b8ac6fae17c1b987fbe9db1 SHA512 196581e632eb8fed82656fb1b68e647fe56f7116f39d1ec6302b724f4e5918838bfd2d4ce51e80700b099858511b302f12681ca04fdc43ed80402ce9e54a5187 WHIRLPOOL 2528824288602769abc581a2704e33556bccde3426bb6ac423ec490a3f67236ea06d68c276804f923858ce98518eb200dd966f9058f64117f95ff0a544c56833 +MISC metadata.xml 347 SHA256 78f291e501a7f67671fc3b8892596e661648e20b060adda481e3f152c046446b SHA512 8d1d0e69924c2a83222d376b72d9e777927763ae869de6f5609c6cf746035e4ab5e6258c3c124dc2265334a0f286132546f34a46ef093262b78b142502409fe3 WHIRLPOOL 82386477ece2df282e01bec36126380854f60543d05b8fe80bbc822000258d8d2cdf2b04d525e2749222041153cb6b8771a3e1708729d04880a7aaf853d43cc4 diff --git a/sys-cluster/polysh/metadata.xml b/sys-cluster/polysh/metadata.xml new file mode 100644 index 000000000000..0477ed06c415 --- /dev/null +++ b/sys-cluster/polysh/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <longdescription> + Polysh is a tool to aggregate several remote shells into one. It is used to + launch an interactive remote shell on many machines at once. + </longdescription> +</pkgmetadata> diff --git a/sys-cluster/polysh/polysh-0.4-r1.ebuild b/sys-cluster/polysh/polysh-0.4-r1.ebuild new file mode 100644 index 000000000000..b6f9c52ccc77 --- /dev/null +++ b/sys-cluster/polysh/polysh-0.4-r1.ebuild @@ -0,0 +1,16 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 + +DESCRIPTION="Aggregate several remote shells into one" +HOMEPAGE="http://guichaz.free.fr/polysh/" +SRC_URI="http://guichaz.free.fr/polysh/files/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="" diff --git a/sys-cluster/poolmon/Manifest b/sys-cluster/poolmon/Manifest new file mode 100644 index 000000000000..e95d0bd753a1 --- /dev/null +++ b/sys-cluster/poolmon/Manifest @@ -0,0 +1,8 @@ +AUX poolmon.conf 67 SHA256 cce26febefa84d2e184786f04760cddbce373c6ebdfcba614c9c4008f705ef7c SHA512 74641c17776aa8cc3d3155d92a731da05eb9ca18c053de216ccc7b98ad684ca3aff9f8a7972955670f2b8e4210c6ac469a3a124686824efa91f6c6c537ee35b2 WHIRLPOOL 8740ef5321326cf46d5f0823ecf21ca8387aba35c1775657a38f20d2433df16c9f804ea97a447243985dcf073e9a08ddba6daf210d570b3bc19272e3692c4376 +AUX poolmon.init 416 SHA256 9183a6508d132a875dd683291f9dd29b6a578d03ead06aad677759e19337fba2 SHA512 f82e806ae9b57dc91a42e53ff1a7ce40423a48c8220616be3bf3ec0e9b2035baed2304b9e82fab0a8cc2ccd3f8e8fb325b319f587595d4c31f66db84b47f9e59 WHIRLPOOL d9e6865f98c34b20572d71aa2056856ad32a30b33188d035e97422355503f963d289647c55a9820e75d7b51c9280e47788c16aaef8489bbdd953e1e9da9b5306 +AUX poolmon.logrotate 132 SHA256 d689c9a79043d6cb5d6797fe143f1ecb59e46bd4ce48a620bc1f357b6e26dd24 SHA512 b18cca84d2d12aca84a5b53369631a34cc93d58fd74877c38f7577e68657510d741e3897e42b8ceab8c8c109916d1992dbf7bc4bb886803c9f3de7e640738590 WHIRLPOOL 28764293af9e247c6cc1667599c0901090db67e12e255d2cfc5f3351d353a21ab1bae6895de2e29fddd231218d2aadc5a0185c430b92eb74a361733b87a8e6e0 +DIST poolmon-0.5.tar.gz 6902 SHA256 7418c1486e9cf34740ca82f72f32be97eeaeb4b4ddeda74ce1972ca4735ed6dc SHA512 17faa13e6b9b42f0913673598002aa5ad65e7d35b6ed4f5d6a1bb36d7fce630a7e9f1afc6979d7a098a2b66e5943901213b5617ba6190b5b7e1e9a6a55f6cbf5 WHIRLPOOL d72866b0675724eb2787818799152a94c75ee76351db96f36f4a1bd9c4ec1c90e2e314eb2acc980c90149ca82133c2369996a14dd4386718259e7700139414ba +EBUILD poolmon-0.5.ebuild 650 SHA256 b9177977f4d6fa39e5ec1e60ae79e255300bc69476b7d296813e0ec8612bf760 SHA512 674d185811dc2ed7709fae06e8e241072d0dc349c6a027858e47fea1c783408094398e10ad324b082d07bc42f95aab838dde7c5de6bbe38a21a56663ae07d195 WHIRLPOOL 9e834220f5e0ba6d3956b9211bc75dafdd0da2afc2817fb4eabf5c85d091fcf6d91366c8d47054b04ed847f5aa23e71a97fddcd3b4f8ce7fdedaad4d424803ad +MISC ChangeLog 2374 SHA256 61b6a2dbc34c8937801a1a009bb6dbe60efa6610efa58fbaf415e20dabac3530 SHA512 bdb3317b98a2db353d0b3da22284ecca4123b3d1add434b2ad5b1fdc4796deb618dc0e84d67721b521f5709be84402abd8458c54d1e1f25b0ac997fe484421db WHIRLPOOL 8223012e3aef940f0d66eac82493f87d77a026656677c590046b4892b56656951f2142e73835b2533fd6896e9603c06d977a57927d75baba142e3e61ce8ec351 +MISC ChangeLog-2015 671 SHA256 132e52288fee128123afef0e8518ff41212524b9e5a716a0f714cee028e637a6 SHA512 b2080c1aedacff8614da9ceccfceaced32ba93315dc8c5432888039102dc2766f77e67c57ac37c948702cde91b3a26fe866bb1eabf5e860b64a2430e2343eda4 WHIRLPOOL 7fc758d654e749695120a15c14316ef1e5acdbee437bcac09abe8b8525c11037fba4c938754553988339376c647d324f30a8da389c509210824cca41eacdccf6 +MISC metadata.xml 341 SHA256 07d1da75d90b59be36c56557e44323cff28786773a3f4590f556fe2fe86029a1 SHA512 38660612f1c77312b67e4fbc505cbb32fe7f9052b7aeca505f8ee5ed8dba2d4e1755a9bd7f326c65de24719558d0bf13bd8921f1ab12f5b7c6b744283ad9e215 WHIRLPOOL 6f4e069c25424fef8af4461180478143aa59a918a10d2f0e10ca38dda29c75b4dcb783af32cea1e14a8e25cb123534f19813a2eeef9fcd17f42e107443971261 diff --git a/sys-cluster/poolmon/files/poolmon.conf b/sys-cluster/poolmon/files/poolmon.conf new file mode 100644 index 000000000000..930a58c9c012 --- /dev/null +++ b/sys-cluster/poolmon/files/poolmon.conf @@ -0,0 +1,3 @@ +# /etc/conf.d/poolmon +# set poolmon commandline options +OPTIONS="" diff --git a/sys-cluster/poolmon/files/poolmon.init b/sys-cluster/poolmon/files/poolmon.init new file mode 100644 index 000000000000..d62c922c050e --- /dev/null +++ b/sys-cluster/poolmon/files/poolmon.init @@ -0,0 +1,17 @@ +#!/sbin/openrc-run +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +start() { + local pidfile=/run/poolmon.pid + ebegin "Starting poolmon" + start-stop-daemon --pidfile "${pidfile}" --exec /usr/bin/poolmon -- ${OPTIONS} + eend $? +} + +stop() { + local pidfile=/run/poolmon.pid + ebegin "Stopping poolmon" + start-stop-daemon --stop --pidfile "${pidfile}" + eend $? +} diff --git a/sys-cluster/poolmon/files/poolmon.logrotate b/sys-cluster/poolmon/files/poolmon.logrotate new file mode 100644 index 000000000000..5925635a70c1 --- /dev/null +++ b/sys-cluster/poolmon/files/poolmon.logrotate @@ -0,0 +1,6 @@ +/var/log/poolmon.log { + missingok + postrotate + /bin/kill -HUP `cat /run/poolmon.pid 2> /dev/null` 2>/dev/null || true + endscript +} diff --git a/sys-cluster/poolmon/metadata.xml b/sys-cluster/poolmon/metadata.xml new file mode 100644 index 000000000000..a9e709493af1 --- /dev/null +++ b/sys-cluster/poolmon/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mschiff@gentoo.org</email> + <name>Marc Schiffbauer</name> + </maintainer> + <upstream> + <remote-id type="github">brandond/poolmon</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/poolmon/poolmon-0.5.ebuild b/sys-cluster/poolmon/poolmon-0.5.ebuild new file mode 100644 index 000000000000..f22108a82c96 --- /dev/null +++ b/sys-cluster/poolmon/poolmon-0.5.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +DESCRIPTION="A director mailserver pool monitoring script for Dovecot" +HOMEPAGE="https://github.com/brandond/poolmon" +SRC_URI="https://github.com/brandond/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND=" + dev-perl/IO-Socket-SSL + net-mail/dovecot + " + +src_install() { + dobin poolmon + dodoc README + newinitd "${FILESDIR}"/poolmon.init poolmon + newconfd "${FILESDIR}"/poolmon.conf poolmon + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/poolmon.logrotate poolmon +} diff --git a/sys-cluster/projections/Manifest b/sys-cluster/projections/Manifest new file mode 100644 index 000000000000..4c37fe5b6ac8 --- /dev/null +++ b/sys-cluster/projections/Manifest @@ -0,0 +1,5 @@ +DIST projections_6.2.1.tar.gz 3713748 SHA256 8d47164f3765a1d7dae28bf35d2963dc87542f1f08025b6aa01d3952199deaa8 SHA512 2a6e4b787491066dec31de05d777243252c08b4504743577297da7e3ecd9c4c3b96db46c295c55c413a98ebe5e338e6b90c213346925a20d89b47bb0b77eeaf8 WHIRLPOOL 10a8a8ac6ec283d95c7485b02075d69eb37b9445b89db000ebcd4ffeec62dc74773807b564af9f89d2e488ec3965eb58f937fb53b889d54b72bfa5c2abc2dad1 +EBUILD projections-6.2.1.ebuild 641 SHA256 8d64c9379d490bfe64e200eb3a0c4031576aefce810c9687333a6a6743b05aa8 SHA512 ae0715c1d71d12fafb03388400b1cf806ac60592119be9466fd8a78c4d6a14a1c618845b77f5bf39d4b9a1d65657e12b4cab933c397fba77a1ec60e6af142c3b WHIRLPOOL eea577de3e2e8c4a87a0352f1206a5fc347f98354cc4d5758d60f2895b604c5eda9e0f6d5693e471220c3a76eef335741eb2681c64c1502299dc7f1e65f5949b +MISC ChangeLog 2442 SHA256 a34d24c22709fd9b7d4f3ac6469c60de22c3990031c347825252da3d1d0062a2 SHA512 577e74f297dae4ce47e31e200e7d5a32fe8995fcb7367ac258795061a6d589e0b678fc57d7861115ca0fb2b0a5f74f7cffcf5d6b0a3fb91c0e9bd489b681d87a WHIRLPOOL 481e7ef8c775af7bcf977061afd8638d1911061584c933d5a80e2cdbc513b4ba6db9fcf410d7951606a722f15e20191661a8941e8ff3c2e2c3ea25374e800dd0 +MISC ChangeLog-2015 512 SHA256 8dbd9ce44bc1b28f2e2ef40ef150233959982554a09d2183b9e1d4f0898d956b SHA512 8e6e15e3943cbcd232efc0d61c93c2a6e11b484d6c5745236706aede775571dca357b0b658f824b2fe62adc3014b11552b3112f585874084955039c57dc6622f WHIRLPOOL 52ad0984358ee51d721705064f18aa46e3f1b8a85ee009b75cc878ac3ce22e1f246c247b07c684d4ae0386f2a845d4818bd41725d71f31a9b5c7aba2d0b11443 +MISC metadata.xml 363 SHA256 cf6240d8dbc499458d8d87988a68859a852f74f406280f22e614d96ae2bf6eac SHA512 49a2f641562ba04ec39effc18cd4a917e6147307f6c780836d60db936b7d38ed9144a816420c00096290ca16256cb5cc88913d481a6e838498ab2ac9775c22d1 WHIRLPOOL 7458c4ca458d8e407eb22366ec833115bfe39ba11c748a7a8e47fe625be1d643393618aa58e39362d3b073d5b86132d1cd4be00c6cc24fe63adbd2de5ef0f8fe diff --git a/sys-cluster/projections/metadata.xml b/sys-cluster/projections/metadata.xml new file mode 100644 index 000000000000..d61970e70ce8 --- /dev/null +++ b/sys-cluster/projections/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>nicolasbock@gentoo.org</email> + <name>Nicolas Bock</name> + </maintainer> +<maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/projections/projections-6.2.1.ebuild b/sys-cluster/projections/projections-6.2.1.ebuild new file mode 100644 index 000000000000..a3d6764d546a --- /dev/null +++ b/sys-cluster/projections/projections-6.2.1.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit java-pkg-2 + +DESCRIPTION="Projections Performance Analysis Framework for Charm++ Applications" +HOMEPAGE="http://charm.cs.uiuc.edu/" +SRC_URI="http://charm.cs.illinois.edu/distrib/binaries/projections/projections_${PV}.tar.gz" + +S="${WORKDIR}/${PN}_${PV}" + +LICENSE="charm" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND=" + >=virtual/jre-1.6 + sys-cluster/charm[charmtracing]" + +src_install() { + java-pkg_newjar ${PN}.jar + java-pkg_dolauncher ${PN} \ + --main projections.analysis.ProjMain \ + --jar ${PN}.jar +} diff --git a/sys-cluster/resource-agents/Manifest b/sys-cluster/resource-agents/Manifest new file mode 100644 index 000000000000..09dd2c0b98cc --- /dev/null +++ b/sys-cluster/resource-agents/Manifest @@ -0,0 +1,8 @@ +AUX 3.9.4-configure.patch 1052 SHA256 8e02d6ae231099bb35b2ea5daec0cc072560f4811f748ada2f35a9df3c63c032 SHA512 3d716f9ddd24fe7bf6080525a106bb84bd83f684890fef8e88ef2bdf6fcf38409a9b83b0800e6f040b2f38450c8a8a47eb076ee1facd4ec730fbdf08fb98390e WHIRLPOOL bc2688aad7aa3b382bf1cbf8aaa1f5ff02fa72ece27b6ae1112dc772e016abb84338f5f816a09ab156d12bc280d63f67187a871d38751aa3c6e77a8fbdd8649a +DIST resource-agents-3.9.6.tar.gz 617790 SHA256 39722cdee68ff96d06788f05f325bd21ec2fc59c59d847e5e4b23c6df23bf678 SHA512 b4ca8b8cc3e09508847af3f1cf50cef946f374eae4ee7903700ba49ef7a3357b1ceaa26dca0616feaa79fb290713f18939dda42ee92a5a7bca2fab807fc77901 WHIRLPOOL d5210c70096d45dc91f49f1333711a3d2350d682d9e5720eeda1470b680fcba2b7cbe8c0dd1fbcd26408e88c40ad0ec60951b06a6e2174131f0c588d2a10720c +DIST resource-agents-4.0.1.tar.gz 659123 SHA256 863f83c724bad3a8bcff12b9c8712406c43e010041868826cad7b78fd8cfb9fb SHA512 9c92bca7775e3c47c6463587fd7eea89f019997cfab0361ef37ee97192604d3b3d0dcd1cb70f774e01689b803dc856af170bd10e86a9d4824597293c264735d5 WHIRLPOOL 8fe3ce305b0b6b37fce83464bcf2ac45c3c060d9b4021fdb8cf5bb7972ab547fea8ec19603210d473c917d7314268296c682b0b9366c7a735cee1b0f7e767496 +EBUILD resource-agents-3.9.6.ebuild 1521 SHA256 f2aed202fd2bf976d3a18d836b1421e7703c757b7d3a5f061da85e2b6a45fee0 SHA512 0bb816f54d9b9ad8ac3958cee5247fe85546245ae6327d61277163062a0d9aa2f90995a866c47775c69bc6572b878255f2e122a38db9b9db6e351ce8b7e6e095 WHIRLPOOL a746d6339f4bdb185fd0c27790de494b06613968ead8ddf7dade1e7b863feedb97be0cb637e5d6c73cc7270132bdbee0dfba72895cd8f2540cd3a6fed450e091 +EBUILD resource-agents-4.0.1.ebuild 1524 SHA256 5c1d81c9268509c1c0323d3e31bebb3724ebe21e7ffa710aa7fc169fa0138508 SHA512 dc5803facc4c2bfc64a8bd8f2ca96c6041ddfc81705d4c2b8cd2e50265e9638a8e4e1f381f96157378c8755a579732b1aba592fdca4efba354b081bba2d8935e WHIRLPOOL fe596ecfb41a5f6eb899029a44ec58ab663a0952087ab9ba71ff6cea60cb52bfc056a7a5bd8a77ee7f35deec0fc278059846e904950245493aaef3ab7c1b5591 +MISC ChangeLog 3679 SHA256 bc2fa29e7bb6d8968265a4f7f6eff395e481ba94df7f4b6b01113cd10512bb2b SHA512 08c5bd4be6ddec39189b6fe872d124b90af3f81151671a4c1434d09d51319cf03f5df2452f505d0ce83363e05c9c8df10ba10bfbec37d1511aec833fea192e46 WHIRLPOOL a835c21e1579810a652460673c9afe712ea8fe5f6d0a0c2c70ea9631e5b685f8d779b1230d88eeb78e9f550fefd31c6f31c62eb78ba36104400c37a591ca66a2 +MISC ChangeLog-2015 3069 SHA256 5c4236212552a234e81e800a0e3b8cc76126813d32f952a20b40c31b8a5aafb6 SHA512 94267d76f7cd4068657377809bc83cd7a2601287c7e9e1fac5531d780e0d6340a232452e99be41624b5fca947b783384c0428cbdefb0c5cff120411de5a1d611 WHIRLPOOL 4da650b74106a168800624682423c4d2c92f7a417b4b2a27d576cf399490956d4059abfe9b1f3be9953a9b0adab1500c99803c1809acad382818a00278754620 +MISC metadata.xml 888 SHA256 273c20b5aa734c672ef0168bc54a6b6e52b2c113bb8ab9a7d86c54e534c5baaf SHA512 e46229794660b7f8f870c66eee90a3450722a0ef4fcf07ec538b86059585ef8c849270ccec4062865d7505a45cad80dffb614a71a23a8155f34d6cfe86b4282d WHIRLPOOL 6dab16cf43da47440d617219b883f9043691833c1093a16cdfc1ad76a23af14af49df4247bb303e88c2a3cf7be3abff8a732d0439b2a6cd668c60193c9157fe0 diff --git a/sys-cluster/resource-agents/files/3.9.4-configure.patch b/sys-cluster/resource-agents/files/3.9.4-configure.patch new file mode 100644 index 000000000000..bb2f7bec62a4 --- /dev/null +++ b/sys-cluster/resource-agents/files/3.9.4-configure.patch @@ -0,0 +1,30 @@ +--- a/configure.ac 2013-01-18 13:14:54.492191322 +0100 ++++ b/configure.ac 2013-01-18 13:17:17.559551891 +0100 +@@ -557,11 +557,13 @@ + AC_DEFINE_UNQUOTED(POWEROFF_CMD, "$POWEROFF_CMD", path to the poweroff command) + AC_DEFINE_UNQUOTED(POWEROFF_OPTIONS, "$POWEROFF_OPTIONS", poweroff options) + +-AC_PATH_PROGS(XSLTPROC, xsltproc) +-AM_CONDITIONAL(BUILD_DOC, test "x$XSLTPROC" != "x" ) +-if test "x$XSLTPROC" = "x"; then +- AC_MSG_WARN([xsltproc not installed, unable to (re-)build manual pages]) +-fi ++AC_ARG_ENABLE([doc], ++ AS_HELP_STRING([--enable-doc],[Build documentation])) ++ ++AS_IF([test "x$enable_doc" = "xyes"], [ ++ AC_PATH_PROGS(XSLTPROC, xsltproc) ++]) ++AM_CONDITIONAL([BUILD_DOC], [test "x$enable_doc" = "xyes"] ) + AC_SUBST(XSLTPROC) + + AC_PATH_PROGS(POD2MAN, pod2man) +@@ -732,8 +734,6 @@ + CFLAGS="$CFLAGS -g" + enable_fatal_warnings=no + else +- CFLAGS="$CFLAGS -ggdb3" +- + # We had to eliminate -Wnested-externs because of libtool changes + # Also remove -Waggregate-return because we use one libnet + # call which returns a struct diff --git a/sys-cluster/resource-agents/metadata.xml b/sys-cluster/resource-agents/metadata.xml new file mode 100644 index 000000000000..de22179c7fa9 --- /dev/null +++ b/sys-cluster/resource-agents/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription> + Resource agents are a standardized interfaces for a cluster resource. + They translate a standard set of operations into steps specific to + the resource or application, and interpret their results as success or + failure. Previously, they were a part of the then-monolithic Heartbeat + project, and had no collective name. + </longdescription> + <use> + <flag name="libnet">Force use of <pkg>net-libs/libnet</pkg></flag> + <flag name="rgmanager">Install resources for <pkg>sys-cluster/rgmanager</pkg></flag> + </use> + <upstream> + <remote-id type="github">ClusterLabs/resource-agents</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/resource-agents/resource-agents-3.9.6.ebuild b/sys-cluster/resource-agents/resource-agents-3.9.6.ebuild new file mode 100644 index 000000000000..70c075ce6545 --- /dev/null +++ b/sys-cluster/resource-agents/resource-agents-3.9.6.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +MY_P="${P/resource-}" +inherit autotools eutils multilib + +DESCRIPTION="Resources pack for Heartbeat / Pacemaker" +HOMEPAGE="http://www.linux-ha.org/wiki/Resource_Agents" +SRC_URI="https://github.com/ClusterLabs/resource-agents/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 hppa x86" +IUSE="doc libnet rgmanager" + +RDEPEND="sys-apps/iproute2 + sys-cluster/cluster-glue + !<sys-cluster/heartbeat-3.0 + libnet? ( net-libs/libnet:1.1 )" +DEPEND="${RDEPEND} + doc? ( + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + )" + +PATCHES=( + "${FILESDIR}/3.9.4-configure.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + --disable-dependency-tracking \ + --disable-fatal-warnings \ + --localstatedir=/var \ + --docdir=/usr/share/doc/${PF} \ + --libdir=/usr/$(get_libdir) \ + --with-ocf-root=/usr/$(get_libdir)/ocf \ + $(use_enable doc) \ + $(use_enable libnet) +} + +src_install() { + default + rm -rf "${D}"/etc/init.d/ || die + rm -rf "${D}"/var/run || die + use rgmanager || rm -rf "${D}"/usr/share/cluster/ "${D}"/var/ +} + +pkg_postinst() { + elog "To use Resource Agents installed in /usr/$(get_libdir)/ocf/resource.d" + elog "you have to emerge required runtime dependencies manually." + elog "" + elog "Description and dependencies of all Agents can be found on" + elog "http://www.linux-ha.org/wiki/Resource_Agents" + elog "or in the documentation of this package." +} diff --git a/sys-cluster/resource-agents/resource-agents-4.0.1.ebuild b/sys-cluster/resource-agents/resource-agents-4.0.1.ebuild new file mode 100644 index 000000000000..dcbb842b6cdc --- /dev/null +++ b/sys-cluster/resource-agents/resource-agents-4.0.1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +MY_P="${P/resource-}" +inherit autotools eutils multilib + +DESCRIPTION="Resources pack for Heartbeat / Pacemaker" +HOMEPAGE="http://www.linux-ha.org/wiki/Resource_Agents" +SRC_URI="https://github.com/ClusterLabs/resource-agents/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="doc libnet rgmanager" + +RDEPEND="sys-apps/iproute2 + sys-cluster/cluster-glue + !<sys-cluster/heartbeat-3.0 + libnet? ( net-libs/libnet:1.1 )" +DEPEND="${RDEPEND} + doc? ( + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + )" + +PATCHES=( + "${FILESDIR}/3.9.4-configure.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + --disable-dependency-tracking \ + --disable-fatal-warnings \ + --localstatedir=/var \ + --docdir=/usr/share/doc/${PF} \ + --libdir=/usr/$(get_libdir) \ + --with-ocf-root=/usr/$(get_libdir)/ocf \ + $(use_enable doc) \ + $(use_enable libnet) +} + +src_install() { + default + rm -rf "${D}"/etc/init.d/ || die + rm -rf "${D}"/var/run || die + use rgmanager || rm -rf "${D}"/usr/share/cluster/ "${D}"/var/ +} + +pkg_postinst() { + elog "To use Resource Agents installed in /usr/$(get_libdir)/ocf/resource.d" + elog "you have to emerge required runtime dependencies manually." + elog "" + elog "Description and dependencies of all Agents can be found on" + elog "http://www.linux-ha.org/wiki/Resource_Agents" + elog "or in the documentation of this package." +} diff --git a/sys-cluster/rgmanager-agents/Manifest b/sys-cluster/rgmanager-agents/Manifest new file mode 100644 index 000000000000..c098261b7968 --- /dev/null +++ b/sys-cluster/rgmanager-agents/Manifest @@ -0,0 +1,5 @@ +DIST rgmanager-agents-3.9.2.tar.gz 1103104 SHA256 e62cedf54cdfec0e1532a6ca08a1b4d6e1686586001bd695e45c28eed0c4a887 SHA512 6ca12715ebbf43fda8acfe17932f79629f55e98e50f79f846c5d66c067389f72357a14474352cfb3bb545efaedde47ffc31b9f60b4237a374f9b76a586378935 WHIRLPOOL 9c20292e29b141f829c28b9a5ee20bb1e2c1c96ea5888758a2a26123782f8a0409a700c1f2cb47f51c922e092b248ca0ee54e990544b6af655709bea692fca23 +EBUILD rgmanager-agents-3.9.2.ebuild 1677 SHA256 fdaefe4895843a0501152ec2e3bc06efd7473f220196823796a34fcd075a2eaa SHA512 29a7d6e22ca5fe13fb0965da857e526dbd2f2460a2f8e8eb373e581b3fd9cda581e3a26f50f048134600893ff737264f8afa7878aa1635f305dd3fa4b273e1b7 WHIRLPOOL 74937b097325f36f4302967ea22569d6d07af6ebe5024265de51f2c11c55e31bdb49b3c79d51bda4df9b66bac489112442e1a46db3459cf364427ecc55fccce6 +MISC ChangeLog 2457 SHA256 27987de8289b4b092c377343ff2eed23bf899a433a20c6c07bf5983a76d722b3 SHA512 7f838a829a2d1c9f4852fc06cc9f8130c3dd7145a259e9f9f1b37a80dff1d56b3ff4bc0caac27c886d5df46490746989796775730846b2eef9bed39801f360b2 WHIRLPOOL ee06323a84a4cb0d61af8f1a8f109185caee30bd966dd817888457ab0516a0567ede2bc7da58ae7f4cf40e620335a6b8b9fd9466fee3c1699e03e6601223f5f3 +MISC ChangeLog-2015 383 SHA256 218ea521f4763562fab8690e3df6e39de149e06ddcdd7e352bbe43208be11756 SHA512 e89d0db3ed77c6d6c274405a387c54b3238343e128672e0d747d2cdaf0f5d45183fa76c73d537fcb9fcc09113c6e17b6eb658e7a72b7bf7ae1e84f582b5c2dda WHIRLPOOL 0e5d4738a5b617a534527e9456b58babfd133a436ca9772f5c757f9c22f6d3b80799af0138b6d8939d57d37e3600a704b1cdb8b929849390950323470459cc25 +MISC metadata.xml 317 SHA256 fbbbb1354d161ebfb47b6e54673a8d57a63ed79f6c0f7fe255db22a09035f068 SHA512 969b84373fae066dff00e89008411a4fc5e73270126aaf50fe731d54056d04491ad0641ebc7dcc8a8d0cad2c77053b48fa07031b09be4af2ad5d89dd3399525d WHIRLPOOL 7589595dcac2d0671abf580bb23acbe3fefab07d7b6850da56745b6a77e2ddcd7481d50b200eb7ee07f2933bd16a2296b35e1bb4a6b859cd50f7b76ecccb3113 diff --git a/sys-cluster/rgmanager-agents/metadata.xml b/sys-cluster/rgmanager-agents/metadata.xml new file mode 100644 index 000000000000..70466e153364 --- /dev/null +++ b/sys-cluster/rgmanager-agents/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <longdescription>Resource Manager Agents</longdescription> +</pkgmetadata> diff --git a/sys-cluster/rgmanager-agents/rgmanager-agents-3.9.2.ebuild b/sys-cluster/rgmanager-agents/rgmanager-agents-3.9.2.ebuild new file mode 100644 index 000000000000..280fff2162e2 --- /dev/null +++ b/sys-cluster/rgmanager-agents/rgmanager-agents-3.9.2.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit multilib versionator + +CLUSTER_RELEASE="3.1.5" +MY_PN="resource-agents" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Resource Manager Agents" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/r/e/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="~sys-cluster/rgmanager-${CLUSTER_RELEASE} + ~sys-cluster/cman-${CLUSTER_RELEASE}" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${MY_P}" + +src_configure() { + econf \ + --docdir=/usr/share/doc/${P} \ + --libdir=/usr/$(get_libdir) \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --with-ras-set=rgmanager +} + +src_install() { + default + + # remove useless RHEV check script and log directory + rm -rf "${D}/usr/sbin" "${D}/var" +} + +pkg_postinst() { + if [[ "${ROOT}" != "/" ]] ; then + ewarn "You have to run 'ccs_update_schema' in the chroot-environment" + ewarn "to update the schema file for the cluster configuration." + ewarn "Otherwise you will not be able to define ressources." + else + elog "Running ccs_update_schema to update the configuration file schema" + /usr/sbin/ccs_update_schema -v -f + fi +} + +pkg_postrm() { + if [[ "${ROOT}" != "/" ]] ; then + ewarn "You have to run 'ccs_update_schema' in the chroot-environment" + ewarn "to update the schema file for the cluster configuration." + ewarn "Otherwise you may be able to define ressources even though they" + ewarn "are not present anymore." + else + elog "Running ccs_update_schema to update the configuration file schema" + /usr/sbin/ccs_update_schema -v -f + fi +} diff --git a/sys-cluster/rgmanager/Manifest b/sys-cluster/rgmanager/Manifest new file mode 100644 index 000000000000..efe406e533cb --- /dev/null +++ b/sys-cluster/rgmanager/Manifest @@ -0,0 +1,14 @@ +AUX rgmanager-2.03.09-CVE-2010-3389.patch 1404 SHA256 cd7c3ef38d317531c807768f195bb2eb64c1943aec9b114c47d557067171eb3e SHA512 35a9654e074a04fe1fb8dbce8262dfeab1f011ce611e630ec21c4cc0e7f3c1586a53cdb803e155ebf738c6a2f1e08959f96b004c4d5ac3560c585975e93929c6 WHIRLPOOL b24a28923c6bf7ac4ef20dde7d6772336221f214a302b23e9c3095c91a12fb3ab2e0e4383a32fde8b0b13ca89d40999284be2b0cda3dc797339a519dd1efbbd1 +AUX rgmanager-2.0x.conf 122 SHA256 7b0706d649375a41e17a3b394d09f2276ce4e7894dc34e1c76b4dbbd6432a1d9 SHA512 35e51d4ce26c51cf78ddf05aa82c03f168dff74c31aadba8a6435f57e8dd3c9db6a4ce6d7e763d7cef4f0e3c093382cb58c586c5d689129a655dc75543583110 WHIRLPOOL 7856a12f82f9238bc8063eb32106fcd8978021001e7225ac8c0b9256d8e6d9165915843396baa07a75b0edf1fcfc0a90099dbb145e3bfbdb483453f55d7af575 +AUX rgmanager-2.0x.rc 1871 SHA256 0643b0fca662187eb895ca1c61d15112cf8635f8a8f4330fdff92cf79ecb07e1 SHA512 f07f5a73b3c193e8ad80d43eeebd48c22bc7e77a3c51dc7a0cd5ffbea0b7bc9c00cdd949b21d640d56dd1726033dda346b76ca60b5ed01668f4dea93d08b8a7b WHIRLPOOL 5c85a13c7aefb7495e1a6d10e998eb9f8ec5369db20823ed98a26188c115e601322688cff48919ed5ed39cd82902a757145b797325e83ac7495d7398f1cd3856 +AUX rgmanager-3.1.5-fix_libxml2.patch 731 SHA256 b939dec463869b3b3c21b4a9dfad61f14eee57e0cd006e661387c408a0537ced SHA512 1ed141c77d138fd91e9ba290a43c1c2c90caa37746b9450ccd75fa1ec2633a8f718a8dece6f3819e8e8cb34ab6c4f1a1104fc5f52e9bcf664edd0f5b6e8022f9 WHIRLPOOL 79836501e4d15da9e40aff10fab8e1b5fc891da7264ac20b63ca7def2fbdb75f73f7dd02086c83c73b25137f3f7516eef1085c4c14c635dfd8af70715700f839 +AUX rgmanager.confd 157 SHA256 3104c1a46c8f7e9027854dc44b458e5f92075cd9b38b3bf7ea2ea31730767d12 SHA512 ffda3bd80dccb70dd75723dd63185354a69380f076aecbbc5e13cd8949730a139c518e03f8e75aa99d6f12f6d6e7b577030c0763fc7a167002945b166aebc56f WHIRLPOOL 31a892fc08fadce818e7f69181ad38e4dbecebfb256879bfaaf3035ea26c5845f84e962da8f3f01b1d07c752fb60dbe063639537bd7975467a21ea7ba5d57e29 +AUX rgmanager.initd 634 SHA256 4142f555ba942a61bd0a668fe5a9e489714b58eab63aecae3d7f401bb7494869 SHA512 345146c9f4bc7492a39b6a0b50d4529046843b353a2d66443ca35f8b759d7bec833addca650210b2a699b66012de09410ad86be49ad82cd92f84cd2754254559 WHIRLPOOL 9602bf9ea207f76ff089ec40d68409aaf667e7350e7b55e7d7a863b0443064e05b016ade9b4d5e78c05f50b021e17e970935d79d902bb6997bce5d9bb8efae59 +DIST cluster-2.03.09.tar.gz 1784357 SHA256 b6d6f35f58b2f8628c369391e0fd01b1803af40029ec1e6ef88865dda38b855f SHA512 5dbcf978336a6b7998df0d3dfcff037e1e77e9e69b43d78eb573a65432445e572e69d7783e7874e9edf2632627f02426f428103831e10f5d1f338afa91a62c28 WHIRLPOOL 30158d495677d9cd0d8a8915dd062f75b60ca99a5d937fa10862d746608bab0e500565e94d14f6b2a4f6e8dc13674d342347aecd24546df6d3f578c0cf87113d +DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf +EBUILD rgmanager-2.03.09-r1.ebuild 1530 SHA256 21de86b827eebee3a867d25cf3daa5f9b44e6fe375c2c522c0b3e175bd5df839 SHA512 4a8d4a655c8107f23e26844b5785fb1d44a9cb427a05e2a2c66ae5ac3b59df7b5f22e948ec2d127117c02ade4d70daaa7bd45e4d5aaa14878b9ce2a734fb4eef WHIRLPOOL bafa32989ad392f6531968b4e588e96616b2cadbbc60ea5ab1c939fd06db7ac61a5387f7adaf087577a0e6025fe2f9019bbea9a2415d75764d7e3ee17ce84660 +EBUILD rgmanager-2.03.09.ebuild 1526 SHA256 70a8ee31c7d78fd1a856a65d854da8aef7a1410455c36df82a62e9b3dbf3e0f4 SHA512 dc3c457934da82e25b1ac4673b04acd4b0d220fab201837bfe7bb64633d0df4d78e479d65c1e500dec8bdc23fa105e54250eec57aefd81ce62b25a3a31609fa5 WHIRLPOOL 1ffe537bcd6e9f82d666c0a682963d80104709649d8ca80f9f8a56b50098ad6fd872cd9297148c67fdf0d972023233bb7582ae8c199ee985783d4e12110c331b +EBUILD rgmanager-3.1.5.ebuild 1400 SHA256 33de5599ed917641916c9828877cbee0f1d0b1d63289434d6612bca0e21b2cb3 SHA512 4292c6b6a31f136a963747698181b995c8e56a509f7db9a92f9c56860fdf7cad47d474a843c5060cd0388bad90c6a30cced047dfc0a497cf09e17697137669a2 WHIRLPOOL 8c2cb47097d8f41a45695d62b94408914131b29f411d7f44f769f42683dea8f2f3301c3e42add01fad4e4aa4bf2326561866c90517854634c297107629f1ba0c +MISC ChangeLog 3396 SHA256 1c06132553360899fe9b9d26ee871cef62e2fe86c5c7281e5bf8109d8f528788 SHA512 a1ff65ec69d2315edd08d1144db8fb871a0fd6b39d0396352be20299f65ee6e7e849fa8ac6b70d5cc94f6af309dc637f475c1d4b424f5fe6eaaff61729eab2b7 WHIRLPOOL 28a1fcb52f0f5f99578620a43b327930613dbab9bb24f4392dfdc25278e8220d5cbf42a513d1bc112dcfa573c033f10976ef56e9e6bf101a6e4ed29cd167bea3 +MISC ChangeLog-2015 3619 SHA256 b1e13e34205591a6ff23a1e5c20718ab483279e99a48fb26fbc1aa819b80efe6 SHA512 435d94b1dce411568b73945f9f2968206bc6ad22e9536c643e9ff024e81a3badc9b9c2c070a8a4ffecb716c4f72418786b1950a3e5d3afc0de5603ac81032963 WHIRLPOOL 06a2752cc367ab39e5e68eb9f1645c8723890b8cd6b2844008c592e37848c9f1a41fc401b56779dd0ebe5c5a9971f902faa0debdbf040d0394d17afd8dcd2715 +MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e diff --git a/sys-cluster/rgmanager/files/rgmanager-2.03.09-CVE-2010-3389.patch b/sys-cluster/rgmanager/files/rgmanager-2.03.09-CVE-2010-3389.patch new file mode 100644 index 000000000000..86e1f138eed1 --- /dev/null +++ b/sys-cluster/rgmanager/files/rgmanager-2.03.09-CVE-2010-3389.patch @@ -0,0 +1,36 @@ +https://bugs.gentoo.org/show_bug.cgi?id=352213 +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=598549 + +Patch by Jari Aalto <jari.aalto@cante.net> +--- a/rgmanager/src/resources/SAPDatabase ++++ b/rgmanager/src/resources/SAPDatabase +@@ -670,8 +670,11 @@ + fi + + # as root user we need the library path to the SAP kernel to be able to call executables +-if [ `echo $LD_LIBRARY_PATH | grep -c "^$DIR_EXECUTABLE\>"` -eq 0 ]; then +- LD_LIBRARY_PATH=$DIR_EXECUTABLE:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH ++if [ "$DIR_EXECUTABLE" ]; then ++ if [ `echo $LD_LIBRARY_PATH | grep -c "^$DIR_EXECUTABLE\>"` -eq 0 ]; then ++ LD_LIBRARY_PATH="$DIR_EXECUTABLE${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" ++ export LD_LIBRARY_PATH ++ fi + fi + sidadm="`echo $SID | tr [:upper:] [:lower:]`adm" + +--- a/rgmanager/src/resources/SAPInstance ++++ b/rgmanager/src/resources/SAPInstance +@@ -382,8 +382,11 @@ + fi + + # as root user we need the library path to the SAP kernel to be able to call sapcontrol +-if [ `echo $LD_LIBRARY_PATH | grep -c "^$DIR_EXECUTABLE\>"` -eq 0 ]; then +- LD_LIBRARY_PATH=$DIR_EXECUTABLE:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH ++if [ "$DIR_EXECUTABLE" ]; then ++ if [ `echo $LD_LIBRARY_PATH | grep -c "^$DIR_EXECUTABLE\>"` -eq 0 ]; then ++ LD_LIBRARY_PATH="$DIR_EXECUTABLE${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" ++ export LD_LIBRARY_PATH ++ fi + fi + sidadm="`echo $SID | tr [:upper:] [:lower:]`adm" + diff --git a/sys-cluster/rgmanager/files/rgmanager-2.0x.conf b/sys-cluster/rgmanager/files/rgmanager-2.0x.conf new file mode 100644 index 000000000000..ba5587060f76 --- /dev/null +++ b/sys-cluster/rgmanager/files/rgmanager-2.0x.conf @@ -0,0 +1,4 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +RGMGR_OPTS="" diff --git a/sys-cluster/rgmanager/files/rgmanager-2.0x.rc b/sys-cluster/rgmanager/files/rgmanager-2.0x.rc new file mode 100644 index 000000000000..d7d77d47fbe2 --- /dev/null +++ b/sys-cluster/rgmanager/files/rgmanager-2.0x.rc @@ -0,0 +1,109 @@ +#!/sbin/openrc-run +# Copyright 1999-2005 Gentoo Foundation +# Adaption of the original RedHat script +# Original Copyright (C) 2003 Red Hat, Inc. +# Distributed under the terms of the GNU General Public License v2 + +depend() { + use net + need cman +} + +# We'd like a reload method as well +opts="${opts} reload" + +ID="Cluster Resource Manager" +RGMGRD=$(which clurgmgrd) +RMTABD=$(which clurmtabd) +CFG_FILE="/etc/cluster/cluster.conf" + +LOG_ERR=3 +LOG_WARNING=4 +LOG_NOTICE=5 +LOG_INFO=6 + +# +# If we're not configured, then don't start anything. +# +[ -f "$CFG_FILE" ] || exit 0 + + +# +# log_and_print <level> <message> +# +function log_and_print() +{ + if [ -z "$1" -o -z "$2" ]; then + return 1; + fi + + clulog -p $$ -n "rgmanager" -s $1 "$2" + echo $2 + + return 0; +} + + +# +# Bring down the cluster on a node. +# +function stop_cluster() +{ + kill -TERM $(pidof $RGMGRD) + + while [ 0 ]; do + if [ -n "`pidof $RGMGRD`" ]; then + while [ -n "`pidof $RGMGRD`" ]; do + sleep 1 + done + einfo "Waiting for $(basename ${RGMGRD})" + else + eend "Services are stopped." + fi + + # Ensure all NFS rmtab daemons are dead. + killall $(basename ${RMTABD}) &> /dev/null + + rm -f /var/run/$(basename ${RGMGRD}).pid + + return 0 + done +} + + + +function start() { + ebegin "Starting cluster resource manager" + start-stop-daemon --start --quiet --exec ${RGMGRD} ${RGMGR_OPTS} + ret=$? + if [ $ret -eq 0 ]; then + touch /var/lock/subsys/rgmanager + fi + eend $ret +} + +function restart() { + pidof ${RGMGRD} &> /dev/null + if [ ${?} -ne 1 ]; then + svc_stop + fi + svc_start +} + +function reload() { + clulog -p ${LOG_NOTICE} "Reloading Resource Configuration." + ebegin "Reloading Resource Configuration " + kill -s HUP $(pidof ${RGMGRD} ) + rv=${?} + eend + exit ${rv} +} + +function stop() { + ebegin "Shutting down cluster resource manager" + if [ -n "$(pidof ${RGMGRD})" ]; then + stop_cluster + fi + rm -f /var/lock/subsys/rgmanager + eend +} diff --git a/sys-cluster/rgmanager/files/rgmanager-3.1.5-fix_libxml2.patch b/sys-cluster/rgmanager/files/rgmanager-3.1.5-fix_libxml2.patch new file mode 100644 index 000000000000..eff23ef495bc --- /dev/null +++ b/sys-cluster/rgmanager/files/rgmanager-3.1.5-fix_libxml2.patch @@ -0,0 +1,23 @@ +* Use double underline as header-protectors to avoid collision with icu's platform.h +* (pulled in via libxml2 when built with icu support) resulting in int64_t defined twice +* (once in icu's ptypes.h and once in stdint.h) +* patch by Tiziano Mueller <dev-zero@gentoo.org> +--- a/rgmanager/include/platform.h 2011-03-07 19:58:22.000000000 +0100 ++++ b/rgmanager/include/platform.h 2011-03-08 15:59:36.773871936 +0100 +@@ -1,8 +1,8 @@ + /** @file + * Defines for byte-swapping + */ +-#ifndef _PLATFORM_H +-#define _PLATFORM_H ++#ifndef __PLATFORM_H ++#define __PLATFORM_H + + #include <endian.h> + #include <sys/param.h> +@@ -56,4 +56,4 @@ + #define PACKED __attribute__((packed)) + #endif + +-#endif /* _PLATFORM_H */ ++#endif /* __PLATFORM_H */ diff --git a/sys-cluster/rgmanager/files/rgmanager.confd b/sys-cluster/rgmanager/files/rgmanager.confd new file mode 100644 index 000000000000..fa9f66830bd5 --- /dev/null +++ b/sys-cluster/rgmanager/files/rgmanager.confd @@ -0,0 +1,7 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +PIDFILE="/var/run/rgmanager.pid" + +RGMGR_OPTS="" + diff --git a/sys-cluster/rgmanager/files/rgmanager.initd b/sys-cluster/rgmanager/files/rgmanager.initd new file mode 100644 index 000000000000..caaa86f551e7 --- /dev/null +++ b/sys-cluster/rgmanager/files/rgmanager.initd @@ -0,0 +1,34 @@ +#!/sbin/openrc-run +# Copyright 1999-2011 Gentoo Foundation +# Adaption of the original RedHat script +# Original Copyright (C) 2003 Red Hat, Inc. +# Distributed under the terms of the GNU General Public License v2 + +depend() { + use net +# need cman +} + +start() { + ebegin "Starting cluster resource manager" + + # recreate run-directory + mkdir -p /var/run/cluster + + start-stop-daemon \ + --start \ + --quiet \ + --exec "/usr/sbin/rgmanager" \ + --pidfile "${PIDFILE}" \ + -- ${RGMGR_OPTS} + eend $ret +} + +stop() { + ebegin "Shutting down cluster resource manager" + start-stop-daemon \ + --stop \ + --pidfile "${PIDFILE}" \ + --retry 0 + eend $? +} diff --git a/sys-cluster/rgmanager/metadata.xml b/sys-cluster/rgmanager/metadata.xml new file mode 100644 index 000000000000..4a09d7ba8d61 --- /dev/null +++ b/sys-cluster/rgmanager/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> +</maintainer> +</pkgmetadata> diff --git a/sys-cluster/rgmanager/rgmanager-2.03.09-r1.ebuild b/sys-cluster/rgmanager/rgmanager-2.03.09-r1.ebuild new file mode 100644 index 000000000000..916463bc0271 --- /dev/null +++ b/sys-cluster/rgmanager/rgmanager-2.03.09-r1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=2 + +inherit eutils multilib versionator + +CLUSTER_RELEASE=${PV} +MY_P=cluster-${CLUSTER_RELEASE} + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)" + +DESCRIPTION="Clustered resource group manager" +HOMEPAGE="https://sourceware.org/cluster/wiki/" +SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +RDEPEND="=sys-cluster/ccs-${CLUSTER_RELEASE}* + =sys-cluster/dlm-lib-${CLUSTER_RELEASE}* + =sys-cluster/cman-lib-${CLUSTER_RELEASE}*" + +DEPEND="${RDEPEND} + dev-libs/libxml2[-icu] + =sys-libs/slang-2*" + +S=${WORKDIR}/${MY_P}/${PN} + +src_prepare() { + epatch "${FILESDIR}"/${P}-CVE-2010-3389.patch + sed -i -e 's/-Werror//g' src/{clulib,utils,daemons}/Makefile || die +} + +src_configure() { + (cd "${WORKDIR}"/${MY_P}; + ./configure \ + --cc="$(tc-getCC)" \ + --cflags="-Wall" \ + --disable_kernel_check \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --dlmlibdir=/usr/$(get_libdir) \ + --dlmincdir=/usr/include \ + --cmanlibdir=/usr/$(get_libdir) \ + --cmanincdir=/usr/include \ + ) || die "configure problem" +} + +src_compile() { + # There's a problem with -O2 right now, a patch was submitted. + env -u CFLAGS emake -j1 clean all || die +} + +src_install() { + emake DESTDIR="${D}" install || die + + newinitd "${FILESDIR}"/${PN}-2.0x.rc ${PN} || die + newconfd "${FILESDIR}"/${PN}-2.0x.conf ${PN} || die +} diff --git a/sys-cluster/rgmanager/rgmanager-2.03.09.ebuild b/sys-cluster/rgmanager/rgmanager-2.03.09.ebuild new file mode 100644 index 000000000000..6b626ebc17ac --- /dev/null +++ b/sys-cluster/rgmanager/rgmanager-2.03.09.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit eutils versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)" + +DESCRIPTION="Clustered resource group manager" +HOMEPAGE="https://sourceware.org/cluster/wiki/" +SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +RDEPEND="=sys-cluster/ccs-${CLUSTER_RELEASE}* + =sys-cluster/dlm-lib-${CLUSTER_RELEASE}* + =sys-cluster/cman-lib-${CLUSTER_RELEASE}* + " + +DEPEND="${RDEPEND} + dev-libs/libxml2 + =sys-libs/slang-2* + " + +S="${WORKDIR}/${MY_P}/${PN}" + +src_compile() { + (cd "${WORKDIR}"/${MY_P}; + ./configure \ + --cc=$(tc-getCC) \ + --cflags="-Wall" \ + --disable_kernel_check \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --dlmlibdir=/usr/lib \ + --dlmincdir=/usr/include \ + --cmanlibdir=/usr/lib \ + --cmanincdir=/usr/include \ + ) || die "configure problem" + + # fix the manual pages have executable bit + sed -i -e ' + /\tinstall -d/s/install/& -m 0755/; t + /\tinstall/s/install/& -m 0644/' \ + man/Makefile + + # There's a problem with -O2 right now, a patch was submitted. + env -u CFLAGS emake -j1 clean all || die "compile problem" +} + +src_install() { + emake DESTDIR="${D}" install || die "install problem" + + newinitd "${FILESDIR}"/${PN}-2.0x.rc ${PN} || die + newconfd "${FILESDIR}"/${PN}-2.0x.conf ${PN} || die +} diff --git a/sys-cluster/rgmanager/rgmanager-3.1.5.ebuild b/sys-cluster/rgmanager/rgmanager-3.1.5.ebuild new file mode 100644 index 000000000000..14508c6668c9 --- /dev/null +++ b/sys-cluster/rgmanager/rgmanager-3.1.5.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=4 + +inherit eutils multilib versionator + +CLUSTER_RELEASE="${PV}" +MY_P="cluster-${CLUSTER_RELEASE}" + +MAJ_PV="$(get_major_version)" +MIN_PV="$(get_version_component_range 2-3)" + +DESCRIPTION="Clustered resource group manager" +HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" +SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dbus" + +DEPEND="~sys-cluster/libcman-${PV} + ~sys-cluster/liblogthread-${PV} + ~sys-cluster/libccs-${PV} + ~sys-cluster/libdlm-${PV} + dev-libs/libxml2 + =sys-libs/slang-2* + dbus? ( sys-apps/dbus )" +RDEPEND="${DEPEND} + ~sys-cluster/cman-${PV}" + +S=${WORKDIR}/${MY_P}/${PN} + +src_prepare() { + epatch "${FILESDIR}/${P}-fix_libxml2.patch" +} + +src_configure() { + local myopts="" + use dbus || myopts="--disable_dbus" + cd "${WORKDIR}"/${MY_P} + ./configure \ + --cc="$(tc-getCC)" \ + --cflags="-Wall" \ + --libdir=/usr/$(get_libdir) \ + --disable_kernel_check \ + --somajor="$MAJ_PV" \ + --sominor="$MIN_PV" \ + --dlmlibdir=/usr/$(get_libdir) \ + --dlmincdir=/usr/include \ + --cmanlibdir=/usr/$(get_libdir) \ + --cmanincdir=/usr/include \ + ${myopts} \ + || die "configure problem" +} + +src_install() { + default + + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} +} diff --git a/sys-cluster/sanlock/Manifest b/sys-cluster/sanlock/Manifest new file mode 100644 index 000000000000..47276557673e --- /dev/null +++ b/sys-cluster/sanlock/Manifest @@ -0,0 +1,5 @@ +AUX sanlock.initd 249 SHA256 339371540c4167c7705c1bd1d010c00beb62e4763f6c7a11bd5e83258013093a SHA512 5ed7b2d96cb875e2db0914ec7232fe8443c05de69e07d214ffc0adfafac5123694173373f831c5acf46d11aa4fca304b88e6e4c4ee2fbe5b033d173eea5aec36 WHIRLPOOL 05a4154c0978c0566aa4e0c1f01f15ac835562af882b977d95e64b03d6172fa12c5ba006d428d5db5bf95a2c0c7f266f3a8883be9f5fd1b7a0424d897d19af39 +AUX wdmd.initd 261 SHA256 93bbb7fd52e14ef5285e1f2676d9a5a48b956cda618d3c95061dd641469b8eab SHA512 9c7e980817c1c76868caff229b42a3d70e912abfd8c974bf5b856067bef79fbd3a5942b30bcb7d02869e2eba85e6f6ba3c861e9780046b01b25df1b39661b6c0 WHIRLPOOL dc4e5cbaab1ef1f001874f7f5f99f027a0321fd44a595e74e23ead0fba02225d5da6b099e5edaa58ae330e6cb0f181bc6281851be5132d9eaa0918270d2f74b5 +DIST sanlock-3.4.0.tar.xz 157016 SHA256 b4b18eb0af1bfc730a037f9da7dd84777c9a4ceb1a1ac2e577705124c4c9e891 SHA512 8a10faaa5b9ce9f0506ca16620ad482804c9ca860b84a60a6f0b525a256059229a202163d366a57fb59169c0f4f822ced570b42562e412747f6f716509341f19 WHIRLPOOL 500ccc9ab323bed28fc6b65dbdc04588deae03d3bb500ab623b9b922c436db896b793965bf4e780800138cd780d4fb659a952dc064bb01065e629c69062c330e +EBUILD sanlock-3.4.0-r1.ebuild 2051 SHA256 e2cbf7a94384c29ae15ee7a7e25814f9bef99156dfb36fa395ca025681d15c98 SHA512 35c102a99b0e44073e97cc03e591ac1a1c95a886675b16a90c390414674440cf2d1cf88e52c805d63cbf34d1520f48604e74f32d925841e93aa8bab8b2c9fbcf WHIRLPOOL 0a16d2797b03755347c2185a556526436505b524f168611f8e0175124011a719e9e88cd627a7e9e5aa4985a3972ca5e52c1dea7166b92b02103cb226c8264802 +MISC metadata.xml 368 SHA256 b4e92de3890c887828ee9e71a4bbb69bd98de5e6f5c065bf78b22710dc7ee1a7 SHA512 2cc3ec3c99cfff2e0c576ab6c7b0a39460af875ba826ce0cf3c5a1a4f0f3def6170753c8d42af2fc7a139ad7f2135e309c3165bde83b4e7574292768c96e8086 WHIRLPOOL 6a427e2e2c9fd1d4a002a603487b87b04a1834a8525e9942be1966aeb3595201303550e14252d718db1aa801153e027ee9a5e969a32b728e8ba1451fac568676 diff --git a/sys-cluster/sanlock/files/sanlock.initd b/sys-cluster/sanlock/files/sanlock.initd new file mode 100644 index 000000000000..823e5edf26b8 --- /dev/null +++ b/sys-cluster/sanlock/files/sanlock.initd @@ -0,0 +1,8 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +pidfile="/var/run/sanlock.pid" +command="/usr/sbin/sanlock" +command_args="daemon ${SANLOCKOPTS:-"-U sanlock -G sanlock"}" + diff --git a/sys-cluster/sanlock/files/wdmd.initd b/sys-cluster/sanlock/files/wdmd.initd new file mode 100644 index 000000000000..a87106aaa853 --- /dev/null +++ b/sys-cluster/sanlock/files/wdmd.initd @@ -0,0 +1,11 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +pidfile="/var/run/wdmd.pid" +command="/usr/sbin/wdmd" +command_args="${WDMDOPTS:-"-G sanlock"}" + +start_pre() { + $command -p || exit 1 +} diff --git a/sys-cluster/sanlock/metadata.xml b/sys-cluster/sanlock/metadata.xml new file mode 100644 index 000000000000..f854e201fabf --- /dev/null +++ b/sys-cluster/sanlock/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mschiff@gentoo.org</email> + <name>Marc Schiffbauer</name> + </maintainer> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/sanlock/sanlock-3.4.0-r1.ebuild b/sys-cluster/sanlock/sanlock-3.4.0-r1.ebuild new file mode 100644 index 000000000000..a4d7474e909b --- /dev/null +++ b/sys-cluster/sanlock/sanlock-3.4.0-r1.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5} ) +inherit linux-info python-r1 systemd user + +DESCRIPTION="shared storage lock manager" +HOMEPAGE="https://pagure.io/sanlock" +SRC_URI="https://git.fedorahosted.org/cgit/${PN}.git/snapshot/${P}.tar.xz" + +LICENSE="LGPL-2+ GPL-2 GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86" +IUSE="python" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +DEPEND=" + sys-apps/util-linux + python? ( ${PYTHON_DEPS} ) +" +RDEPEND="${DEPEND}" + +pkg_setup() { + local warning="You need to have CONFIG_SOFT_WATCHDOG enabled in your kernel for wdmd" + if linux_config_exists; then + if ! linux_chkconfig_present SOFT_WATCHDOG; then + ewarn "" + ewarn "$warning" + ewarn "" + fi + else + ewarn "" + ewarn "Could not be checked automatically: $warning" + ewarn "" + fi +} + +pkg_preinst() { + enewgroup sanlock + enewuser sanlock -1 -1 -1 sanlock,disk + +} + +src_compile() { + for d in wdmd src fence_sanlock reset; do + cd $d; emake; cd .. + done + if use python; then + cd python; python_foreach_impl emake; cd .. + fi +} + +src_install() { + for d in wdmd src fence_sanlock reset; do + cd $d; emake DESTDIR="${D}" LIBDIR="${EROOT}usr/$(get_libdir)" install; cd .. + done + if use python; then + cd python; python_foreach_impl emake DESTDIR="${D}" install; cd .. + fi + + # config + dodir /etc/wdmd.d + dodir /etc/sanlock + insinto /etc/sanlock + doins src/sanlock.conf + + # init + newconfd init.d/sanlock.sysconfig sanlock + newconfd init.d/wdmd.sysconfig wdmd + newinitd "${FILESDIR}"/sanlock.initd sanlock + newinitd "${FILESDIR}"/wdmd.initd wdmd + #doinitd ${FILESDIR}/sanlk-resetd.initd + #doinitd ${FILESDIR}/fence_sanlockd.initd + + # systemd + systemd_newunit init.d/sanlock.service.native sanlock.service + sed -i 's,^ExecStartPre=,#ExecStartPre=,' init.d/wdmd.service.native + systemd_newunit init.d/wdmd.service.native wdmd.service + systemd_dounit init.d/sanlk-resetd.service + #systemd_dounit ${FILESDIR}/fence_sanlockd.service +} diff --git a/sys-cluster/singularity/Manifest b/sys-cluster/singularity/Manifest new file mode 100644 index 000000000000..9014873c0759 --- /dev/null +++ b/sys-cluster/singularity/Manifest @@ -0,0 +1,8 @@ +AUX singularity-2.2.1-glibc-2.25.patch 742 SHA256 836cd7544d3ee88003ea032b2b7def8b09aae5b2515c372c22bf3f2e2caf776d SHA512 745fe14112e72fb06b5956516a3ad37fd18b96e024d80444b7e6844019e7a0c7ab1adc0887cb6591c1fba01484e659be50dc1a3cf03e6feb1065d98ecd4ac5c1 WHIRLPOOL 7e6afa455881605c75110ab392f8aebac024a2b545405d2d825a46086bffe4f8238fc906263c8c4b2d15ee25a70b7a5364f8147cae8fb211d1e2e58934f34e7e +AUX singularity-2.3.1-slurm.patch 1597 SHA256 85e1995332f2589859de6cc590c06a04c0eeb11ef7a75911d33b951dd4f82ef8 SHA512 174dc15dcd5bff0a0b6796d4623f829fb4b7d0e8483308cafe179beb6321d31cf3ee9913decd91aebac0689a62181096cc0ac3a283f8c88927c00e113a476224 WHIRLPOOL 538a295dff1e92252696d54e054ae1578d2180bd594afbdaea808f1b9609ad7390e1b85b9d64ce8c26bbb51955a748d790a93dc7ca8237c74df002ac3b031d51 +DIST singularity-2.2.1.tar.gz 493368 SHA256 0e2a0b0cf6c8d4dc041365f715b2df157e0d8d89986e4eb111c61716df031c8a SHA512 b1195e98254957cd8d80b35b13d4f11060c5836f05ed450d242544fc30f8c298b837ba8986b1184288bc9a5ff2ebb5b1f56dc55a0686b540242b0042a152f902 WHIRLPOOL 3d3c5cb0928bd5beb683c4075c88453d076795c0e41ad30676f7169ccbd6d71a70ad64104833925913138f47b8fc318e90366af79259a05bad41bb0a42703b05 +DIST singularity-2.3.1.tar.gz 643021 SHA256 dcccae9ff67a550d142c94e932c0fb59442dd59ae69ce1deeb7ba45829ef2cd7 SHA512 36c581e8dba57d133013c2fcfea26886b54a1a9a9165b011d2cebacb2a6249fe0f8e5aa91ed90f7a18855c658300682436c431a226629408f31422cc8a036600 WHIRLPOOL d9bb8604ce2afb6bb2b5b257eb88276a93987916cd4c08ecc800d98761f5d1ae54e48ed615d77b1c992bcc8bb6202e9bf5e04637d10d1126fba6d1c2619cb98c +EBUILD singularity-2.2.1.ebuild 603 SHA256 284ddda57f6ab272b912705b7bfb5f4e601864b8878e75c96aed805a9807bbf3 SHA512 030a1a39ea1915d75ef5ebdaa8b6b6d4b0eb0c45222a1d4492cb3a3b41cb4e6ad50c1fa6b85d13413d34bb232b62db14f12f4db48ea9876127d0fe32fdbff5d0 WHIRLPOOL 4afd0755887fe98ccf3fdbafacb61f7a0874590a2c7256323ffca8da1e2b7f33d4657ccf006c28a2ae270569937b5a21447f4ef48f6a94d9d1ae5e1dcd68c035 +EBUILD singularity-2.3.1.ebuild 952 SHA256 b45c03e3a2ca5de21b14144967c2da9727f477709332a9c32bc357c3de9dc815 SHA512 60ed34f1ab7543ae5f728b51595640dc671ebb514028dce2fb82c72f1d192ca896c761fe38b4c786641f1df678adfd45d855eac262b68ee00c2b1048072e6d2c WHIRLPOOL 07f332ecdc9de4af06a10941cec0db76c20b04695e6ecde0f11cbd02edaeffa134ff7188e595e8dab5f44849fad32403c246bc355f23ec1c645c0e6c9ad12bc4 +MISC ChangeLog 771 SHA256 37adb96a35be0b0dcb6bc1c64e47203bc7836c7d6cb944ca69db79007b0bd446 SHA512 1e6fb03f5d3c4329a3c22c8274610ee940406c8bfcdf0e0ec9b3c3caed4b51f2ff1e34079c76e27940eab7470c8c1447bf02fa5d3f9ff985006ec65f0be76536 WHIRLPOOL dcbfd8b7040b56025c5567b78237aeb14bda64684dc6995a9cef05c6da392d5c6fb5f56bdee89c720dec3c0f67e3b745105f0fc3ca1e0e55477725ce1df28627 +MISC metadata.xml 440 SHA256 f01b881c69a798ee1e24df0d25e7deef12e41a1bbad55dc9440e9f8c733fcc91 SHA512 d8363de6994afc68b776ee6330a56b6a5e6d3156f440633c01160a9e9967654e4a564e235fc126be9400f436ec099fb05bd7754739cf8221666913b244d3b559 WHIRLPOOL 012b025cbbb9a777ba198613d872d47cbc82336424d1eef7b15fdbb0f479b5f5d1617cfe734aad27d6b1c73a366f268355283d6e82f3f36d2fb2977bd79da5b8 diff --git a/sys-cluster/singularity/files/singularity-2.2.1-glibc-2.25.patch b/sys-cluster/singularity/files/singularity-2.2.1-glibc-2.25.patch new file mode 100644 index 000000000000..e550811dc676 --- /dev/null +++ b/sys-cluster/singularity/files/singularity-2.2.1-glibc-2.25.patch @@ -0,0 +1,28 @@ + src/lib/loop-control.c | 1 + + src/lib/mount/dev/dev.c | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/lib/loop-control.c b/src/lib/loop-control.c +index f9ab2d6f..4bfed843 100644 +--- a/src/lib/loop-control.c ++++ b/src/lib/loop-control.c +@@ -26,6 +26,7 @@ + #include <sys/file.h> + #include <sys/stat.h> + #include <sys/types.h> ++#include <sys/sysmacros.h> + #include <errno.h> + #include <string.h> + #include <fcntl.h> +diff --git a/src/lib/mount/dev/dev.c b/src/lib/mount/dev/dev.c +index 547157a4..c994c264 100644 +--- a/src/lib/mount/dev/dev.c ++++ b/src/lib/mount/dev/dev.c +@@ -25,6 +25,7 @@ + #include <sys/mount.h> + #include <sys/stat.h> + #include <sys/types.h> ++#include <sys/sysmacros.h> + #include <unistd.h> + #include <stdlib.h> + diff --git a/sys-cluster/singularity/files/singularity-2.3.1-slurm.patch b/sys-cluster/singularity/files/singularity-2.3.1-slurm.patch new file mode 100644 index 000000000000..71a8d9972b75 --- /dev/null +++ b/sys-cluster/singularity/files/singularity-2.3.1-slurm.patch @@ -0,0 +1,54 @@ +From e858cfaf73eadb4cf4076a754c4836816c908d44 Mon Sep 17 00:00:00 2001 +From: Petr Votava <votava.petr@gene.com> +Date: Thu, 29 Jun 2017 16:53:48 +0000 +Subject: [PATCH] A patch for slurm plugin build + +--- + src/slurm/Makefile.am | 2 +- + src/slurm/singularity.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/slurm/Makefile.am b/src/slurm/Makefile.am +index 860c7667d..152e41450 100644 +--- a/src/slurm/Makefile.am ++++ b/src/slurm/Makefile.am +@@ -4,7 +4,7 @@ plugindir = $(libdir)/slurm + if WITH_SLURM + plugin_LTLIBRARIES = singularity_spank.la + singularity_spank_la_SOURCES = singularity.c +-singularity_spank_la_LIBADD = ../lib/libsingularity_internal.la ++singularity_spank_la_LIBADD = ../lib/runtime/libinternal.la + singularity_spank_la_LDFLAGS = -module -no-undefined -avoid-version -export-symbols-regex '^slurm_spank_|^plugin_' + endif + +diff --git a/src/slurm/singularity.c b/src/slurm/singularity.c +index acddddfd1..3509f4d8e 100644 +--- a/src/slurm/singularity.c ++++ b/src/slurm/singularity.c +@@ -22,6 +22,7 @@ + + #define _GNU_SOURCE 1 + ++#include <stdio.h> + #include <stdlib.h> + #include <unistd.h> + #include <sys/types.h> +@@ -29,9 +30,9 @@ + #include <string.h> + + #include "config.h" +-#include "lib/singularity.h" + #include "util/util.h" + #include "util/file.h" ++#include "util/registry.h" + + #include "slurm/spank.h" + +@@ -169,7 +170,6 @@ static int setup_container(spank_t spank) + } + + +- char *image; + if ( ( image = singularity_registry_get("IMAGE") ) == NULL ) { + singularity_message(ERROR, "SINGULARITY_CONTAINER not defined!\n"); + } diff --git a/sys-cluster/singularity/metadata.xml b/sys-cluster/singularity/metadata.xml new file mode 100644 index 000000000000..bb97aa8832e8 --- /dev/null +++ b/sys-cluster/singularity/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>jlec@gentoo.org</email> + <name>Justin Lecher</name> + </maintainer> + <upstream> + <remote-id type="github">singularityware/singularity</remote-id> + </upstream> + <use> + <flag name="slurm"> + Compile spank plugin for <pkg>sys-cluster/slurm</pkg> + </flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/singularity/singularity-2.2.1.ebuild b/sys-cluster/singularity/singularity-2.2.1.ebuild new file mode 100644 index 000000000000..0d679f703fed --- /dev/null +++ b/sys-cluster/singularity/singularity-2.2.1.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils + +DESCRIPTION="Application containers for Linux" +HOMEPAGE="http://singularity.lbl.gov/" +SRC_URI="https://github.com/${PN}ware/${PN}/releases/download/${PV}/${P}.tar.gz" + +SLOT="0" +LICENSE="cctbx-2.0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="examples" + +PATCHES=( + "${FILESDIR}"/${P}-glibc-2.25.patch +) + +src_configure() { + econf --with-userns +} + +src_install() { + MAKEOPTS+=" -j1" + default + prune_libtool_files + dodoc ChangeLog + use examples && dodoc -r examples +} diff --git a/sys-cluster/singularity/singularity-2.3.1.ebuild b/sys-cluster/singularity/singularity-2.3.1.ebuild new file mode 100644 index 000000000000..68fad22fedfe --- /dev/null +++ b/sys-cluster/singularity/singularity-2.3.1.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) + +inherit autotools eutils python-single-r1 + +DESCRIPTION="Application containers for Linux" +HOMEPAGE="http://singularity.lbl.gov/" +SRC_URI="https://github.com/${PN}ware/${PN}/releases/download/${PV}/${P}.tar.gz" + +SLOT="0" +LICENSE="cctbx-2.0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="examples slurm static-libs +suid" + +RDEPEND=" + slurm? ( sys-cluster/slurm ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-slurm.patch +) + +src_prepare() { + default + # automake version hardcoding + eautoreconf +} + +src_configure() { + econf \ + --with-userns \ + $(use_with slurm) \ + $(usex suid "" "--disable-suid") \ + $(use_enable static-libs static) +} + +src_install() { + MAKEOPTS+=" -j1" + default + prune_libtool_files + dodoc ChangeLog AUTHORS.md CONTRIBUTING.md + use examples && dodoc -r examples +} diff --git a/sys-cluster/slurm/Manifest b/sys-cluster/slurm/Manifest new file mode 100644 index 000000000000..c9c46b169ae7 --- /dev/null +++ b/sys-cluster/slurm/Manifest @@ -0,0 +1,16 @@ +AUX logrotate 360 SHA256 22a0e4bf21c9387f34245ec3cdd3a59512e377f6a0509451088b17e6c5201f89 SHA512 f6edceef15960accbe72ddd34ff34934fa46b6d647c83e0d3a512d2ddc1ae6c60352e377cfa5332fd5cd817689e23680f7384f1b27fc49677b2e671e1bfe86b9 WHIRLPOOL f210575af8ce123646e78c05980f1953b409e19e678221e4a17d97423fae6a9bd14a7ecc6cdb046102c3439d50718349063c01ef29f507500e3259f33b85e3e4 +AUX slurm-16.05.2-disable-sview.patch 2317 SHA256 adffddff2230af0bca6c0acea655852eec5613e93b168cac4faa673c3bea6bbd SHA512 d351f3293976e49971a70fdfaf18247babfff870f6d8be216ad5beee8b866157405fd30afee832b29484064535dfa64eec17c720e8c6b72042481d17ac95eaff WHIRLPOOL eade950c8c7b818a7924373d4dd43ae89ec4ee46813684ca9a3860ccb7d4e81f68ae44d883bda1986ed8b610d2820fdb354e211a13e7b91d5cfbec715e710d96 +AUX slurm-16.05.2-sysmacros.patch 983 SHA256 ecf8280d8ab2e7ac37b860fe8062c1696bd206a0dd60aa50b360ba8714718fe0 SHA512 f9c2ce668e1ec0c191b809ffe7d94d4a47623a0325b63dcc7a51cce6a95bf322e03f03c81f02f26162df20c320bf45d810bdc6f7ebbfecb1bf651a8dac88f04c WHIRLPOOL 8f6df5f9a378bf85325185d78980e458856223b3e658ad80571a4b9136746a3d2e239bee7c2d8c3daf35a12819d17e715038a580bb3f8f816d01be38d6bb1f87 +AUX slurm-17.02.6-disable-sview.patch 2831 SHA256 3cc774398903c6a167d16802449ebb7bf2d9459030a04bd5c8bf641066816782 SHA512 3ea30226b721b982ddad78d538c280da78b311d66b0be63087ef606d7f9008731c583e276504b668d8fde74c45ac8aa80babf4d693eca1d274d27dc72479d5e7 WHIRLPOOL e8db83bb3de2c9541307b761697f647d6ef241f502f5efdd4bdb170659fe57c985e584362de4a311371fe16a65b938f75f7b4ab7ad1772668621b961f5412b07 +AUX slurm-17.02.6-glibc-2.25.patch 1575 SHA256 06d6dde16eded793a1c18be2bf4f349aa402f34a93f2512835d87f7a8b1a4c47 SHA512 09bf1e74ce81d2715608d9eab1875fbdd5ac487f24e8e350dc6de765e46d18e7ffd35807d4d017cc1b4cdb0dfcb44e877663c5652252cdcd5b269505e155d7e0 WHIRLPOOL 409975fddc03782e463542e35ddb3e5ea48ad7b2cccaf02bc1ec30929ce8a5c168fe79a15e3ccdaadd06f32df134888126e909882a1944ad42147ef8c4c5765f +AUX slurm.confd 155 SHA256 bc1b32f7b3c4a2fb5d97ae227ff15d40da16c346c0eed33a7956ed780a1a0d96 SHA512 e4d21cdb6a427f0beaef0e157202308f9e86a41dea4532ee98b274a5979b5e82ec2ca4ca2996f6cb59045fd8b01e815aaad71673e2011cead788de3d879aa11f WHIRLPOOL c836f20aae1fc4619757fe0db935f22736cc73077d51792427c8c629248af1e35d5f0f8c54342e41f45729ae6cdbb2b7dad2bf4db0f0689c46656a5cfc652564 +AUX slurmctld.initd 1833 SHA256 8adfe93adf1e8f7e5f2c442fa70cfcf4a0d55c84abbfd6bf64482ad31e2c15c6 SHA512 14246262aaf70642237f2ad13194d2bdc64f72b26e34113c2e7d340cf7661c62c79c4f939c61684c98fc5181680c08dbc55807dea0e382a3b2d1e26d0e57ce1c WHIRLPOOL 3816014acf2b45d79531fba9ed84d5592383de9e21f1222930b9512f085b08dcbdb33c8858374501a73541a3c40e3e7c832ebe8fd89aaa5a23ce799c4c585e9f +AUX slurmd.initd 1993 SHA256 79c8a084b6125d18d88e254a8346020aa2662d99e046b1490f07758c094bd93e SHA512 f58b68c3fb5e9109b6fa261cbb816ef240f9d1465229ec418f3a2bba9a1bc47ca22bf1386d7014ea62a23d0807d73b263c4a4df86e8c354fcb760af3cc9d0250 WHIRLPOOL 93ce03deb62f54012ec6d59c1feb37543b670f5f2eba3fcb2c429aaae40e00cc859456eda90e36fd348742a57d7edbdad11887384a2dc2211a80720295caa78f +AUX slurmdbd.initd 1709 SHA256 860a405f4b222221399e557bfcf2a169d4cb5759c6a115e6890ce8628e5e118f SHA512 323852ab3ae1cbec55c51e54f7f7acc2e60a694e46a91454638b7f167f5dc0c1ecdba8bdb82641aee9ad303558c445d7551e774a6b470da279173b5c44123911 WHIRLPOOL c93cd55891a499a9cfd72de41ca6cc7a38cd02d3795292546f753c3f367a199a828c1ae53c67bb6b9aa3785e246a7c7f909ff480c57d496ee2ef4e1691977345 +DIST slurm-16.05.2.tar.bz2 5982329 SHA256 de57ab107c98499f7184c54de8d5ac115a55657aa03d29d69cd0b7e737a42852 SHA512 8b4296481c5ad83da2bde1530937b3da9b6e32b6606ba0b0a3899e0f2f0b4fc42ca8a802d4bf346d0de28852d75839e9359e28c4ce77588cd22a08ddbd34dd21 WHIRLPOOL 925902c9432b24a2c85488d1ba6a867abed0adaaecaa94b648402e48d250d924000741b2be486b34d3b7f6890aeabb9aea6c47e2e8fd9896dda3a3ae416a4a89 +DIST slurm-17.02.6.tar.bz2 6017979 SHA256 f057127870544be5b3476594fc58b3c35727e6db3a18d84c4ea63059c2ebe4ea SHA512 e7e33ae037f8b30ccf467fa19c90786c28a527df80cf1362075634ada7072bffcd172d79d2af9ac9ad2b2206b50c0560584c7b8193bfaa9dfa1b1d2c7216e5f6 WHIRLPOOL 9dec9fae0d6def7fc0c243ceec8a2d3bf3c10ecf230f8ef5df03804ce048481279691572fb9bd83a509f344639d4b73313e7f7615bfa1d17c279010e44a2e63e +EBUILD slurm-16.05.2.ebuild 7616 SHA256 3ddb80565765cd1011ad7fdeff6d5728a8b9b8a7eab7625266130d87572bec4b SHA512 d8b1af2cdb9d73c1bdc9dedc632ca3e3b9d267624cef96a2ed8c12a87c4029bfe0e463bdf804772cfa11cd50e52cdb0ea29dce404aa55f8cecc806c38e058fc0 WHIRLPOOL d94a0834f2344f7407b3fac0e4c95b405efdb0e5fb320287ef061a0d2409dc17fe1b9fc20a878abb6f439f231c25302c030f36b76f8d746b2747c9f3310a3123 +EBUILD slurm-17.02.6.ebuild 7074 SHA256 15964b60f52f2b047b29ee6ce1cbf65d36c18b1a2447f6b3cad63140d68b4fef SHA512 69a0fc69676909b2397d7e4c58d1b70d44fbf88306223a75336950731a22e2cf46a9777a296a5c02e6b5c2f090dedb6884036f06dfa4dcb98c69128f8c1ea4bc WHIRLPOOL c639cdc7f6202bb63d196baff05a1f732653da456f3905c7444bc0818f78461409211459ab8f5d7bcc9ec2637c83fe2bb1c59fe2b2a12b9bf70fd91a03151fcd +MISC ChangeLog 3725 SHA256 7964056017afcbdaeea15b1ef42977054401b7cc8b464b74d59b80959b7bbedf SHA512 c1ec255817322d3b8d05391590ad9a0ea6039c29017224c33356338687a5207a9318dfeb9e5cf9fc8da991842d329a91fee0ded41a5a5c4443bdd0739c5e2a2e WHIRLPOOL 33aa9ebd54a980f8fac0541312415ede25d1b66f4a26ab3beaf5d2157fd711a2c877dbb59c98597331797603f0b0a00cb020ce627150f522794f3f1464be8835 +MISC ChangeLog-2015 5064 SHA256 1804adae45f9e76d1a30c0b82d1358989bc10051da47d81d152d3de70503b4fb SHA512 59ceea08c3ac6d518f969d459b5c9f1d3c740da5e44afdda859fb5ae5ef658dda6b444c827049e19e307ad4a832543bc6470b9ecea4c18bd13258b52578f491f WHIRLPOOL dc12bf2ac7f8a623954ff58ff2dbc12031eebc0caf1fc497d4c5826d5dddaecbaa95476cb583251fdb662ac9e1afb4a001cfe36191e0eab46d0878e81d2ed776 +MISC metadata.xml 563 SHA256 3227f64ff0a943f6ee51560a9d0f287cac5c69e898a371df441efba5a244ab0d SHA512 31d52fcdcd9526f8dc9ac00d173986943303b74ff6c554f6be30f2c059a0e1cc54330871ec132c451ab6f23ac062b3a9161293c13f3fffa13343f964d6cb959b WHIRLPOOL db656967776adccc8ce75f72a483f56a001270825096cff85674c2ada57b3c9dd5f4da059307395c31c1a4d53aa9343f24e2a52bb884d5c0deb96b7dcafd7ab5 diff --git a/sys-cluster/slurm/files/logrotate b/sys-cluster/slurm/files/logrotate new file mode 100644 index 000000000000..978a869eb993 --- /dev/null +++ b/sys-cluster/slurm/files/logrotate @@ -0,0 +1,20 @@ +/var/log/slurm/*.log { + weekly + compress + missingok + nocopytruncate + nocreate + nodelaycompress + nomail + notifempty + noolddir + rotate 5 + sharedscripts + size=5M + create 640 slurm slurm + postrotate + /etc/init.d/slurmd reload + /etc/init.d/slurmctld reload + /etc/init.d/slurmdbd reload + endscript +} diff --git a/sys-cluster/slurm/files/slurm-16.05.2-disable-sview.patch b/sys-cluster/slurm/files/slurm-16.05.2-disable-sview.patch new file mode 100644 index 000000000000..1e4a5b4fae3a --- /dev/null +++ b/sys-cluster/slurm/files/slurm-16.05.2-disable-sview.patch @@ -0,0 +1,69 @@ +diff -urN slurm-16.05.2.orig/configure.ac slurm-16.05.2/configure.ac +--- slurm-16.05.2.orig/configure.ac 2016-07-07 02:51:37.000000000 +0300 ++++ slurm-16.05.2/configure.ac 2016-07-15 20:02:41.373270765 +0300 +@@ -261,44 +261,6 @@ + PKG_CHECK_MODULES([CHECK], [check >= 0.9.8], [ac_have_check="yes"], [ac_have_check="no"]) + AM_CONDITIONAL(HAVE_CHECK, test "x$ac_have_check" = "xyes") + +-# +-# Tests for GTK+ +-# +- +-# use the correct libs if running on 64bit +-if test -d "/usr/lib64/pkgconfig"; then +- PKG_CONFIG_PATH="/usr/lib64/pkgconfig/:$PKG_CONFIG_PATH" +-fi +- +-if test -d "/opt/gnome/lib64/pkgconfig"; then +- PKG_CONFIG_PATH="/opt/gnome/lib64/pkgconfig/:$PKG_CONFIG_PATH" +-fi +- +-AM_PATH_GLIB_2_0([2.7.1], [ac_glib_test="yes"], [ac_glib_test="no"], [gthread]) +- +-if test ${glib_config_minor_version=0} -ge 32 ; then +- AC_DEFINE([GLIB_NEW_THREADS], 1, [Define to 1 if using glib-2.32.0 or higher]) +-fi +- +-AM_PATH_GTK_2_0([2.7.1], [ac_gtk_test="yes"], [ac_gtk_test="no"], [gthread]) +-if test ${gtk_config_minor_version=0} -ge 10 ; then +- AC_DEFINE([GTK2_USE_RADIO_SET], 1, [Define to 1 if using gtk+-2.10.0 or higher]) +-fi +- +-if test ${gtk_config_minor_version=0} -ge 12 ; then +- AC_DEFINE([GTK2_USE_TOOLTIP], 1, [Define to 1 if using gtk+-2.12.0 or higher]) +-fi +- +-if test ${gtk_config_minor_version=0} -ge 14 ; then +- AC_DEFINE([GTK2_USE_GET_FOCUS], 1, [Define to 1 if using gtk+-2.14.0 or higher]) +-fi +- +-if test "x$ac_glib_test" != "xyes" -o "x$ac_gtk_test" != "xyes"; then +- AC_MSG_WARN([cannot build sview without gtk library]); +-fi +- +-AM_CONDITIONAL(BUILD_SVIEW, [test "x$ac_glib_test" = "xyes"] && [test "x$ac_gtk_test" = "xyes"]) +- + X_AC_DATABASES + + dnl Cray ALPS/Basil support depends on mySQL +@@ -503,7 +465,6 @@ + src/sshare/Makefile + src/sstat/Makefile + src/strigger/Makefile +- src/sview/Makefile + src/plugins/Makefile + src/plugins/accounting_storage/Makefile + src/plugins/accounting_storage/common/Makefile +diff -urN slurm-16.05.2.orig/src/Makefile.am slurm-16.05.2/src/Makefile.am +--- slurm-16.05.2.orig/src/Makefile.am 2016-07-07 02:51:37.000000000 +0300 ++++ slurm-16.05.2/src/Makefile.am 2016-07-15 20:02:41.373270765 +0300 +@@ -27,8 +27,7 @@ + srun_cr \ + sshare \ + sstat \ +- strigger \ +- sview ++ strigger + + if !REAL_BG_L_P_LOADED + SUBDIRS += srun diff --git a/sys-cluster/slurm/files/slurm-16.05.2-sysmacros.patch b/sys-cluster/slurm/files/slurm-16.05.2-sysmacros.patch new file mode 100644 index 000000000000..f9d22f479f89 --- /dev/null +++ b/sys-cluster/slurm/files/slurm-16.05.2-sysmacros.patch @@ -0,0 +1,34 @@ + configure.ac | 2 +- + src/plugins/task/cgroup/task_cgroup_devices.c | 6 ++++++ + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 869a989..2936983 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -141,7 +141,7 @@ AC_CHECK_HEADERS(mcheck.h values.h socket.h sys/socket.h \ + AC_HEADER_SYS_WAIT + AC_HEADER_TIME + AC_HEADER_STDC +- ++AC_HEADER_MAJOR + + dnl Checks for structures. + dnl +diff --git a/src/plugins/task/cgroup/task_cgroup_devices.c b/src/plugins/task/cgroup/task_cgroup_devices.c +index 554583c..9be99d8 100644 +--- a/src/plugins/task/cgroup/task_cgroup_devices.c ++++ b/src/plugins/task/cgroup/task_cgroup_devices.c +@@ -42,6 +42,12 @@ + #include <sched.h> + #include <glob.h> + #include <sys/types.h> ++#ifdef MAJOR_IN_MKDEV ++# include <sys/mkdev.h> ++#endif ++#ifdef MAJOR_IN_SYSMACROS ++# include <sys/sysmacros.h> ++#endif + #include <sys/stat.h> + #include <slurm/slurm.h> + #include <slurm/slurm_errno.h> diff --git a/sys-cluster/slurm/files/slurm-17.02.6-disable-sview.patch b/sys-cluster/slurm/files/slurm-17.02.6-disable-sview.patch new file mode 100644 index 000000000000..f7e2c5b26739 --- /dev/null +++ b/sys-cluster/slurm/files/slurm-17.02.6-disable-sview.patch @@ -0,0 +1,99 @@ + configure.ac | 39 --------------------------------------- + doc/man/man1/Makefile.am | 8 -------- + src/Makefile.am | 3 +-- + 3 files changed, 1 insertion(+), 49 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 2f177ec..ff4d69b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -238,44 +238,6 @@ AC_SUBST(HAVE_SOME_CURSES) + PKG_CHECK_MODULES([CHECK], [check >= 0.9.8], [ac_have_check="yes"], [ac_have_check="no"]) + AM_CONDITIONAL(HAVE_CHECK, test "x$ac_have_check" = "xyes") + +-# +-# Tests for GTK+ +-# +- +-# use the correct libs if running on 64bit +-if test -d "/usr/lib64/pkgconfig"; then +- PKG_CONFIG_PATH="/usr/lib64/pkgconfig/:$PKG_CONFIG_PATH" +-fi +- +-if test -d "/opt/gnome/lib64/pkgconfig"; then +- PKG_CONFIG_PATH="/opt/gnome/lib64/pkgconfig/:$PKG_CONFIG_PATH" +-fi +- +-AM_PATH_GLIB_2_0([2.7.1], [ac_glib_test="yes"], [ac_glib_test="no"], [gthread]) +- +-if test ${glib_config_minor_version=0} -ge 32 ; then +- AC_DEFINE([GLIB_NEW_THREADS], 1, [Define to 1 if using glib-2.32.0 or higher]) +-fi +- +-AM_PATH_GTK_2_0([2.7.1], [ac_gtk_test="yes"], [ac_gtk_test="no"], [gthread]) +-if test ${gtk_config_minor_version=0} -ge 10 ; then +- AC_DEFINE([GTK2_USE_RADIO_SET], 1, [Define to 1 if using gtk+-2.10.0 or higher]) +-fi +- +-if test ${gtk_config_minor_version=0} -ge 12 ; then +- AC_DEFINE([GTK2_USE_TOOLTIP], 1, [Define to 1 if using gtk+-2.12.0 or higher]) +-fi +- +-if test ${gtk_config_minor_version=0} -ge 14 ; then +- AC_DEFINE([GTK2_USE_GET_FOCUS], 1, [Define to 1 if using gtk+-2.14.0 or higher]) +-fi +- +-if test "x$ac_glib_test" != "xyes" -o "x$ac_gtk_test" != "xyes"; then +- AC_MSG_WARN([cannot build sview without gtk library]); +-fi +- +-AM_CONDITIONAL(BUILD_SVIEW, [test "x$ac_glib_test" = "xyes"] && [test "x$ac_gtk_test" = "xyes"]) +- + dnl Cray ALPS/Basil support depends on mySQL + X_AC_CRAY + +@@ -477,7 +439,6 @@ AC_CONFIG_FILES([Makefile + src/sshare/Makefile + src/sstat/Makefile + src/strigger/Makefile +- src/sview/Makefile + src/plugins/Makefile + src/plugins/accounting_storage/Makefile + src/plugins/accounting_storage/common/Makefile +diff --git a/doc/man/man1/Makefile.am b/doc/man/man1/Makefile.am +index 246f16d..ba39af2 100644 +--- a/doc/man/man1/Makefile.am ++++ b/doc/man/man1/Makefile.am +@@ -29,10 +29,6 @@ if WITH_BLCR + man1_MANS += srun_cr.1 + endif + +-if BUILD_SVIEW +-man1_MANS += sview.1 +-endif +- + EXTRA_DIST = $(man1_MANS) + + if HAVE_MAN2HTML +@@ -65,10 +61,6 @@ if WITH_BLCR + html_DATA += srun_cr.html + endif + +-if BUILD_SVIEW +-html_DATA += sview.html +-endif +- + MOSTLYCLEANFILES = ${html_DATA} + + EXTRA_DIST += $(html_DATA) +diff --git a/src/Makefile.am b/src/Makefile.am +index bcd5aa7..a8cbf17 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -28,5 +28,4 @@ SUBDIRS = \ + srun_cr \ + sshare \ + sstat \ +- strigger \ +- sview ++ strigger diff --git a/sys-cluster/slurm/files/slurm-17.02.6-glibc-2.25.patch b/sys-cluster/slurm/files/slurm-17.02.6-glibc-2.25.patch new file mode 100644 index 000000000000..dc48f8475c00 --- /dev/null +++ b/sys-cluster/slurm/files/slurm-17.02.6-glibc-2.25.patch @@ -0,0 +1,53 @@ +commit 056d9ff26b1d2ccac45da3c26a6918f182f8c559 +Author: Justin Lecher <jlec@gentoo.org> +Date: Sun Jul 9 15:54:20 2017 +0100 + + Include sysmacros.h in addition for major() & minor() + + Starting from glibc-2.25 [1] the macros major and minor are only available + from sys/sysmacros.h. This patch uses an autoconf macro to detect the + location and includes the header accordingly. + + 1) + https://sourceware.org/ml/libc-alpha/2017-02/msg00079.html + + Signed-off-by: Justin Lecher <jlec@gentoo.org> + +diff --git a/configure.ac b/configure.ac +index 44699ae095..66d4350d44 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -124,7 +124,7 @@ AC_CHECK_HEADERS(mcheck.h values.h socket.h sys/socket.h \ + AC_HEADER_SYS_WAIT + AC_HEADER_TIME + AC_HEADER_STDC +- ++AC_HEADER_MAJOR + + dnl Checks for structures. + dnl +diff --git a/src/plugins/task/cgroup/task_cgroup_devices.c b/src/plugins/task/cgroup/task_cgroup_devices.c +index 6a09b3d52a..63c0a11c9e 100644 +--- a/src/plugins/task/cgroup/task_cgroup_devices.c ++++ b/src/plugins/task/cgroup/task_cgroup_devices.c +@@ -34,12 +34,20 @@ + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + \*****************************************************************************/ + ++#include "config.h" ++ + #define _GNU_SOURCE + #include <glob.h> + #include <limits.h> + #include <sched.h> + #include <sys/stat.h> + #include <sys/types.h> ++#ifdef MAJOR_IN_MKDEV ++# include <sys/mkdev.h> ++#endif ++#ifdef MAJOR_IN_SYSMACROS ++# include <sys/sysmacros.h> ++#endif + + #include "slurm/slurm.h" + #include "slurm/slurm_errno.h" diff --git a/sys-cluster/slurm/files/slurm.confd b/sys-cluster/slurm/files/slurm.confd new file mode 100644 index 000000000000..c406dc3f2a2c --- /dev/null +++ b/sys-cluster/slurm/files/slurm.confd @@ -0,0 +1,6 @@ +# /etc/conf.d/slurm: config file for /etc/init.d/slurm* +SLURMCTLD_OPTIONS="" +SLURMDBD_OPTIONS="" +SLURMD_OPTIONS="" +SLURM_USE_MUNGE="0" +SLURM_USE_YPBIND="0"
\ No newline at end of file diff --git a/sys-cluster/slurm/files/slurmctld.initd b/sys-cluster/slurm/files/slurmctld.initd new file mode 100644 index 000000000000..e87dfdb83ad3 --- /dev/null +++ b/sys-cluster/slurm/files/slurmctld.initd @@ -0,0 +1,68 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="reload" + +[[ -f /etc/conf.d/slurm ]] && . /etc/conf.d/slurm + +depend() { + local _need + [[ ${SLURM_USE_MUNGE} -ne 0 ]] && _need="${_need} munged" + [[ ${SLURM_USE_YPBIND} -ne 0 ]] && _need="${_need} ypbind" + after logger slurmdbd + need ${_need} +} + +create_folder_and_set_permission() { + folder=${1} + # Fix permissions (/tmp is wiped at boot) + if [[ "${folder}" == "/tmp" ]]; then + eerror "SLURM: folder == ${folder} == /tmp" + exit + fi + if [[ "${folder}" == "/var/tmp" ]]; then + eerror "SLURM: folder == ${folder} == /var/tmp" + exit + fi + checkpath -d -o slurm:slurm ${folder} +} + +checkconfig() { + if [ ! -e "/etc/slurm/slurm.conf" ]; then + eerror "Missing config /etc/slurm/slurm.conf" + eerror "Customize sample one or generate new by configurator.html" + eerror "in slurm doc directory" + return 1 + fi + + # Make sure folders exists + . /etc/slurm/slurm.conf + folders=(${SlurmdSpoolDir} `dirname ${SlurmctldLogFile}` `dirname ${SlurmctldPidFile}` `dirname ${SlurmdLogFile}` `dirname ${SlurmdPidFile}` ${SlurmdSpoolDir} ${StateSaveLocation}) + for folder in ${folders[*]}; do + create_folder_and_set_permission ${folder} + done +} + +start() { + ebegin "Starting slurm control daemon" + checkconfig + start-stop-daemon --start --quiet --background \ + --pidfile /var/run/slurm/slurmctld.pid \ + --user slurm \ + --group slurm \ + --exec /usr/sbin/slurmctld -- ${SLURMCTLD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping slurm control daemon" + start-stop-daemon --stop --pidfile /var/run/slurm/slurmctld.pid + eend $? +} + +reload() { + ebegin "Reloading slurm daemon configuration" + start-stop-daemon --signal HUP --pidfile /var/run/slurm/slurmctld.pid + eend $? +} diff --git a/sys-cluster/slurm/files/slurmd.initd b/sys-cluster/slurm/files/slurmd.initd new file mode 100644 index 000000000000..a4a165be87d3 --- /dev/null +++ b/sys-cluster/slurm/files/slurmd.initd @@ -0,0 +1,71 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="reload" + +[[ -f /etc/conf.d/slurm ]] && . /etc/conf.d/slurm + +depend() { + local _need + [[ ${SLURM_USE_MUNGE} -ne 0 ]] && _need="${_need} munged" + [[ ${SLURM_USE_YPBIND} -ne 0 ]] && _need="${_need} ypbind" + after logger + need ${_need} +} + +create_folder_and_set_permission() { + folder=${1} + # Fix permissions (/tmp is wiped at boot) + if [[ "${folder}" == "/tmp" ]]; then + eerror "SLURM: folder == ${folder} == /tmp" + exit + fi + if [[ "${folder}" == "/var/tmp" ]]; then + eerror "SLURM: folder == ${folder} == /var/tmp" + exit + fi + checkpath -d -o slurm:slurm ${folder} +} + +checkconfig() { + if [ ! -e "/etc/slurm/slurm.conf" ]; then + eerror "Missing config /etc/slurm/slurm.conf" + eerror "Customize sample one or generate new by configurator.html" + eerror "in slurm doc directory" + return 1 + fi + # Make sure folders exists + . /etc/slurm/slurm.conf + folders=(${SlurmdSpoolDir} `dirname ${SlurmctldLogFile}` `dirname ${SlurmctldPidFile}` `dirname ${SlurmdLogFile}` `dirname ${SlurmdPidFile}` ${SlurmdSpoolDir} ${StateSaveLocation}) + for folder in ${folders[*]}; do + create_folder_and_set_permission ${folder} + done +} + +start() { + ebegin "Starting slurm daemon" + checkconfig + # Slurm does not propagate limits, which can brakes InfiniBand + # See http://www.open-mpi.org/faq/?category=openfabrics + # and https://computing.llnl.gov/linux/slurm/faq.html#rlimit + ulimit -l unlimited + start-stop-daemon --start --quiet --background \ + --pidfile /var/run/slurm/slurmd.pid \ + --user root \ + --group root \ + --exec /usr/sbin/slurmd -- ${SLURMD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping slurm daemon" + start-stop-daemon --stop --pidfile /var/run/slurm/slurmd.pid + eend $? +} + +reload() { + ebegin "Reloading slurm daemon configuration" + start-stop-daemon --signal HUP --pidfile /var/run/slurm/slurmd.pid + eend $? +} diff --git a/sys-cluster/slurm/files/slurmdbd.initd b/sys-cluster/slurm/files/slurmdbd.initd new file mode 100644 index 000000000000..296afaf9421c --- /dev/null +++ b/sys-cluster/slurm/files/slurmdbd.initd @@ -0,0 +1,66 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="reload" + +[[ -f /etc/conf.d/slurm ]] && . /etc/conf.d/slurm + +depend() { + local _need + [[ ${SLURM_USE_MUNGE} -ne 0 ]] && _need="${_need} munged" + [[ ${SLURM_USE_YPBIND} -ne 0 ]] && _need="${_need} ypbind" + after logger + need ${_need} +} + +create_folder_and_set_permission() { + folder=${1} + # Fix permissions (/tmp is wiped at boot) + if [[ "${folder}" == "/tmp" ]]; then + eerror "SLURM: folder == ${folder} == /tmp" + exit + fi + if [[ "${folder}" == "/var/tmp" ]]; then + eerror "SLURM: folder == ${folder} == /var/tmp" + exit + fi + checkpath -d -o slurm:slurm ${folder} +} + +checkconfig() { + if [ ! -e "/etc/slurm/slurmdbd.conf" ]; then + eerror "Missing config /etc/slurm/slurmdbd.conf" + return 1 + fi + + # Make sure folders exists + . /etc/slurm/slurm.conf + folders=(${SlurmdSpoolDir} `dirname ${SlurmctldLogFile}` `dirname ${SlurmctldPidFile}` `dirname ${SlurmdLogFile}` `dirname ${SlurmdPidFile}` ${SlurmdSpoolDir} ${StateSaveLocation}) + for folder in ${folders[*]}; do + create_folder_and_set_permission ${folder} + done +} + +start() { + ebegin "Starting slurmdb daemon" + checkconfig + start-stop-daemon --start --quiet --background \ + --pidfile /var/run/slurm/slurmdbd.pid \ + --user slurm \ + --group slurm \ + --exec /usr/sbin/slurmdbd -- ${SLURMD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping slurmdb daemon" + start-stop-daemon --stop --pidfile /var/run/slurm/slurmdbd.pid + eend $? +} + +reload() { + ebegin "Reloading slurmdb daemon configuration" + start-stop-daemon --signal HUP --pidfile /var/run/slurm/slurmdbd.pid + eend $? +} diff --git a/sys-cluster/slurm/metadata.xml b/sys-cluster/slurm/metadata.xml new file mode 100644 index 000000000000..3ea81217548b --- /dev/null +++ b/sys-cluster/slurm/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>alexxy@gentoo.org</email> + </maintainer> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <use> + <flag name="munge">Enable authentication via munge</flag> + <flag name="multiple-slurmd">Allow multiple slurmd to run</flag> + <flag name="torque">Enable perl scripts that emulates pbs (qstat, qsub etc.)</flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/slurm/slurm-16.05.2.ebuild b/sys-cluster/slurm/slurm-16.05.2.ebuild new file mode 100644 index 000000000000..956fa3e12514 --- /dev/null +++ b/sys-cluster/slurm/slurm-16.05.2.ebuild @@ -0,0 +1,243 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://github.com/SchedMD/slurm.git" + INHERIT_GIT="git-r3" + SRC_URI="" + KEYWORDS="" +else + inherit versionator + if [[ ${PV} == *pre* || ${PV} == *rc* ]]; then + MY_PV=$(replace_version_separator 3 '-0.') # pre-releases or release-candidate + else + MY_PV=$(replace_version_separator 3 '-') # stable releases + fi + MY_P="${PN}-${MY_PV}" + INHERIT_GIT="" + SRC_URI="https://www.schedmd.com/download/latest/${MY_P}.tar.bz2" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${MY_P}" +fi + +inherit autotools eutils pam perl-module user prefix ${INHERIT_GIT} + +DESCRIPTION="SLURM: A Highly Scalable Resource Manager" +HOMEPAGE="https://www.schedmd.com" + +LICENSE="GPL-2" +SLOT="0" +IUSE="lua multiple-slurmd +munge mysql pam perl ssl static-libs torque" + +DEPEND=" + !sys-cluster/torque + !net-analyzer/slurm + !net-analyzer/sinfo + mysql? ( virtual/mysql ) + munge? ( sys-auth/munge ) + pam? ( virtual/pam ) + ssl? ( dev-libs/openssl:0= ) + lua? ( dev-lang/lua:0= ) + !lua? ( !dev-lang/lua ) + >=sys-apps/hwloc-1.1.1-r1" +RDEPEND="${DEPEND} + dev-libs/libcgroup" + +REQUIRED_USE="torque? ( perl )" + +LIBSLURM_PERL_S="${WORKDIR}/${P}/contribs/perlapi/libslurm/perl" +LIBSLURMDB_PERL_S="${WORKDIR}/${P}/contribs/perlapi/libslurmdb/perl" + +RESTRICT="primaryuri" + +PATCHES=( + "${FILESDIR}"/${P}-disable-sview.patch + "${FILESDIR}"/${P}-sysmacros.patch +) + +src_unpack() { + if [[ ${PV} == *9999* ]]; then + git-2_src_unpack + else + default + fi +} + +pkg_setup() { + enewgroup slurm 500 + enewuser slurm 500 -1 /var/spool/slurm slurm +} + +src_prepare() { + if [ ${#PATCHES[0]} -ne 0 ]; then + epatch "${PATCHES[@]}" + fi + eapply_user + # pids should go to /var/run/slurm + sed -e "s:/var/run/slurmctld.pid:${EPREFIX}/var/run/slurm/slurmctld.pid:g" \ + -e "s:/var/run/slurmd.pid:${EPREFIX}/var/run/slurm/slurmd.pid:g" \ + -i "${S}/etc/slurm.conf.example" \ + || die "Can't sed for /var/run/slurmctld.pid" + # also state dirs are in /var/spool/slurm + sed -e "s:StateSaveLocation=*.:StateSaveLocation=${EPREFIX}/var/spool/slurm:g" \ + -e "s:SlurmdSpoolDir=*.:SlurmdSpoolDir=${EPREFIX}/var/spool/slurm/slurmd:g" \ + -i "${S}/etc/slurm.conf.example" \ + || die "Can't sed ${S}/etc/slurm.conf.example for StateSaveLocation=*. or SlurmdSpoolDir=*" + # and tmp should go to /var/tmp/slurm + sed -e 's:/tmp:/var/tmp:g' \ + -i "${S}/etc/slurm.conf.example" \ + || die "Can't sed for StateSaveLocation=*./tmp" + + hprefixify auxdir/{ax_check_zlib,x_ac_{lz4,ofed,munge}}.m4 + eautoreconf +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --with-hwloc="${EPREFIX}/usr" + --docdir="${EPREFIX}/usr/share/doc/${P}" + --htmldir="${EPREFIX}/usr/share/doc/${P}" + ) + use pam && myconf+=( --with-pam_dir=$(getpam_mod_dir) ) + use mysql || myconf+=( --without-mysql_config ) + econf "${myconf[@]}" \ + $(use_enable pam) \ + $(use_with ssl) \ + $(use_with munge) \ + $(use_enable static-libs static) \ + $(use_enable multiple-slurmd) + + # --htmldir does not seems to propagate... Documentations are installed + # in /usr/share/doc/slurm-2.3.0/html + # instead of /usr/share/doc/slurm-2.3.0.2/html + sed -e "s|htmldir = .*/html|htmldir = \${prefix}/share/doc/slurm-${PVR}/html|g" -i doc/html/Makefile || die + if use perl ; then + # small hack to make it compile + mkdir -p "${S}/src/api/.libs" + mkdir -p "${S}/src/db_api/.libs" + touch "${S}/src/api/.libs/libslurm.so" + touch "${S}/src/db_api/.libs/libslurmdb.so" + cd "${LIBSLURM_PERL_S}" + S="${LIBSLURM_PERL_S}" SRC_PREP="no" perl-module_src_configure + cd "${LIBSLURMDB_PERL_S}" + S="${LIBSLURMDB_PERL_S}" SRC_PREP="no" perl-module_src_configure + cd "${S}" + rm -rf "${S}/src/api/.libs" "${S}/src/db_api/.libs" + fi +} + +src_compile() { + default + use pam && emake -C contribs/pam + if use perl ; then + cd "${LIBSLURM_PERL_S}" + S="${LIBSLURM_PERL_S}" perl-module_src_compile + cd "${LIBSLURMDB_PERL_S}" + S="${LIBSLURMDB_PERL_S}" perl-module_src_compile + cd "${S}" + fi + if use torque ; then + emake -C contribs/torque + fi +} + +src_install() { + default + use pam && emake DESTDIR="${D}" -C contribs/pam install + if use perl; then + cd "${LIBSLURM_PERL_S}" + S="${LIBSLURM_PERL_S}" perl-module_src_install + cd "${LIBSLURMDB_PERL_S}" + S="${LIBSLURMDB_PERL_S}" perl-module_src_install + cd "${S}" + fi + if use torque; then + emake DESTDIR="${D}" -C contribs/torque + rm -f "${ED}/usr/bin/mpiexec" || die + fi + use static-libs || find "${ED}" -name '*.la' -exec rm {} + + # install sample configs + keepdir /etc/slurm + insinto /etc/slurm + doins etc/bluegene.conf.example + doins etc/cgroup.conf.example + doins etc/cgroup_allowed_devices_file.conf.example + doins etc/slurm.conf.example + doins etc/slurmdbd.conf.example + exeinto /etc/slurm + doexe etc/cgroup.release_common.example + doexe etc/slurm.epilog.clean + # install init.d files + newinitd "$(prefixify_ro "${FILESDIR}/slurmd.initd")" slurmd + newinitd "$(prefixify_ro "${FILESDIR}/slurmctld.initd")" slurmctld + newinitd "$(prefixify_ro "${FILESDIR}/slurmdbd.initd")" slurmdbd + # install conf.d files + newconfd "${FILESDIR}/slurm.confd" slurm + # Install logrotate file + insinto /etc/logrotate.d + newins "${FILESDIR}/logrotate" slurm + # cgroups support + exeinto /etc/slurm/cgroup + doexe etc/cgroup.release_common.example + mv "${ED}"/etc/slurm/cgroup/{cgroup.release_common.example,release_common} || die "Can't move cgroup.release_common.example" + ln -s release_common "${ED}"/etc/slurm/cgroup/release_cpuset || die "Can't create symbolic link release_cpuset" + ln -s release_common "${ED}"/etc/slurm/cgroup/release_devices || die "Can't create symbolic link release_devices" + ln -s release_common "${ED}"/etc/slurm/cgroup/release_freezer || die "Can't create symbolic link release_freezer" +} + +pkg_preinst() { + if use munge; then + sed -i 's,\(SLURM_USE_MUNGE=\).*,\11,' "${ED}"etc/conf.d/slurm || die + fi +} + +create_folders_and_fix_permissions() { + einfo "Fixing permissions in ${@}" + mkdir -p ${@} + chown -R ${PN}:${PN} ${@} +} + +pkg_postinst() { + paths=( + "${EROOT}"var/${PN}/checkpoint + "${EROOT}"var/${PN} + "${EROOT}"var/spool/${PN}/slurmd + "${EROOT}"var/spool/${PN} + "${EROOT}"var/run/${PN} + "${EROOT}"var/log/${PN} + /var/tmp/${PN}/${PN}d + /var/tmp/${PN} + ) + for folder_path in ${paths[@]}; do + create_folders_and_fix_permissions $folder_path + done + einfo + + elog "Please visit the file '/usr/share/doc/${P}/html/configurator.html" + elog "through a (javascript enabled) browser to create a configureation file." + elog "Copy that file to /etc/slurm/slurm.conf on all nodes (including the headnode) of your cluster." + einfo + elog "For cgroup support, please see https://www.schedmd.com/slurmdocs/cgroup.conf.html" + elog "Your kernel must be compiled with the wanted cgroup feature:" + elog " General setup --->" + elog " [*] Control Group support --->" + elog " [*] Freezer cgroup subsystem" + elog " [*] Device controller for cgroups" + elog " [*] Cpuset support" + elog " [*] Simple CPU accounting cgroup subsystem" + elog " [*] Resource counters" + elog " [*] Memory Resource Controller for Control Groups" + elog " [*] Group CPU scheduler --->" + elog " [*] Group scheduling for SCHED_OTHER" + elog "Then, set these options in /etc/slurm/slurm.conf:" + elog " ProctrackType=proctrack/cgroup" + elog " TaskPlugin=task/cgroup" + einfo + ewarn "Paths were created for slurm. Please use these paths in /etc/slurm/slurm.conf:" + for folder_path in ${paths[@]}; do + ewarn " ${folder_path}" + done +} diff --git a/sys-cluster/slurm/slurm-17.02.6.ebuild b/sys-cluster/slurm/slurm-17.02.6.ebuild new file mode 100644 index 000000000000..72d5cafc9948 --- /dev/null +++ b/sys-cluster/slurm/slurm-17.02.6.ebuild @@ -0,0 +1,236 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://github.com/SchedMD/slurm.git" + INHERIT_GIT="git-r3" + SRC_URI="" + KEYWORDS="" +else + inherit versionator + if [[ ${PV} == *pre* || ${PV} == *rc* ]]; then + MY_PV=$(replace_version_separator 3 '-0.') # pre-releases or release-candidate + else + MY_PV=$(replace_version_separator 3 '-') # stable releases + fi + MY_P="${PN}-${MY_PV}" + INHERIT_GIT="" + SRC_URI="https://www.schedmd.com/download/latest/${MY_P}.tar.bz2" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${MY_P}" +fi + +inherit autotools eutils pam perl-module user prefix ${INHERIT_GIT} + +DESCRIPTION="A Highly Scalable Resource Manager" +HOMEPAGE="https://www.schedmd.com" + +LICENSE="GPL-2" +SLOT="0" +IUSE="debug lua multiple-slurmd +munge mysql pam perl ssl static-libs torque" + +DEPEND=" + !sys-cluster/torque + !net-analyzer/slurm + !net-analyzer/sinfo + mysql? ( virtual/mysql ) + munge? ( sys-auth/munge ) + pam? ( virtual/pam ) + ssl? ( dev-libs/openssl:0= ) + lua? ( dev-lang/lua:0= ) + !lua? ( !dev-lang/lua ) + >=sys-apps/hwloc-1.1.1-r1" +RDEPEND="${DEPEND} + dev-libs/libcgroup" + +REQUIRED_USE="torque? ( perl )" + +LIBSLURM_PERL_S="${WORKDIR}/${P}/contribs/perlapi/libslurm/perl" +LIBSLURMDB_PERL_S="${WORKDIR}/${P}/contribs/perlapi/libslurmdb/perl" + +RESTRICT="primaryuri" + +PATCHES=( + "${FILESDIR}"/${P}-disable-sview.patch + "${FILESDIR}"/${P}-glibc-2.25.patch +) + +src_unpack() { + if [[ ${PV} == *9999* ]]; then + git-2_src_unpack + else + default + fi +} + +pkg_setup() { + enewgroup slurm 500 + enewuser slurm 500 -1 /var/spool/slurm slurm +} + +src_prepare() { + default + + # pids should go to /var/run/slurm + sed -e "s:/var/run/slurmctld.pid:${EPREFIX}/var/run/slurm/slurmctld.pid:g" \ + -e "s:/var/run/slurmd.pid:${EPREFIX}/var/run/slurm/slurmd.pid:g" \ + -i "${S}/etc/slurm.conf.example" \ + || die "Can't sed for /var/run/slurmctld.pid" + # also state dirs are in /var/spool/slurm + sed -e "s:StateSaveLocation=*.:StateSaveLocation=${EPREFIX}/var/spool/slurm:g" \ + -e "s:SlurmdSpoolDir=*.:SlurmdSpoolDir=${EPREFIX}/var/spool/slurm/slurmd:g" \ + -i "${S}/etc/slurm.conf.example" \ + || die "Can't sed ${S}/etc/slurm.conf.example for StateSaveLocation=*. or SlurmdSpoolDir=*" + # and tmp should go to /var/tmp/slurm + sed -e 's:/tmp:/var/tmp:g' \ + -i "${S}/etc/slurm.conf.example" \ + || die "Can't sed for StateSaveLocation=*./tmp" + + hprefixify auxdir/{ax_check_zlib,x_ac_{lz4,ofed,munge}}.m4 + eautoreconf +} + +src_configure() { + local myconf=( + --sysconfdir="${EPREFIX}/etc/${PN}" + --with-hwloc="${EPREFIX}/usr" + --docdir="${EPREFIX}/usr/share/doc/${P}" + --htmldir="${EPREFIX}/usr/share/doc/${P}" + ) + use debug || myconf+=( --disable-debug ) + use pam && myconf+=( --with-pam_dir=$(getpam_mod_dir) ) + use mysql || myconf+=( --without-mysql_config ) + econf "${myconf[@]}" \ + $(use_enable pam) \ + $(use_with ssl) \ + $(use_with munge) \ + $(use_enable static-libs static) \ + $(use_enable multiple-slurmd) + + # --htmldir does not seems to propagate... Documentations are installed + # in /usr/share/doc/slurm-2.3.0/html + # instead of /usr/share/doc/slurm-2.3.0.2/html + sed \ + -e "s|htmldir = .*/html|htmldir = \${prefix}/share/doc/slurm-${PVR}/html|g" \ + -i doc/html/Makefile || die + if use perl ; then + # small hack to make it compile + mkdir -p "${S}/src/api/.libs" || die + mkdir -p "${S}/src/db_api/.libs" || die + touch "${S}/src/api/.libs/libslurm.so" || die + touch "${S}/src/db_api/.libs/libslurmdb.so" || die + cd "${LIBSLURM_PERL_S}" || die + S="${LIBSLURM_PERL_S}" SRC_PREP="no" perl-module_src_configure + cd "${LIBSLURMDB_PERL_S}" || die + S="${LIBSLURMDB_PERL_S}" SRC_PREP="no" perl-module_src_configure + cd "${S}" || die + rm -rf "${S}/src/api/.libs" "${S}/src/db_api/.libs" || die + fi +} + +src_compile() { + default + use pam && emake -C contribs/pam + if use perl ; then + cd "${LIBSLURM_PERL_S}" || die + S="${LIBSLURM_PERL_S}" perl-module_src_compile + cd "${LIBSLURMDB_PERL_S}" || die + S="${LIBSLURMDB_PERL_S}" perl-module_src_compile + cd "${S}" || die + fi + use torque && emake -C contribs/torque +} + +src_install() { + default + use pam && emake DESTDIR="${D}" -C contribs/pam install + if use perl; then + cd "${LIBSLURM_PERL_S}" || die + S="${LIBSLURM_PERL_S}" perl-module_src_install + cd "${LIBSLURMDB_PERL_S}" || die + S="${LIBSLURMDB_PERL_S}" perl-module_src_install + cd "${S}" || die + fi + if use torque; then + emake DESTDIR="${D}" -C contribs/torque + rm -f "${ED}/usr/bin/mpiexec" || die + fi + use static-libs || find "${ED}" -name '*.la' -exec rm {} + + # install sample configs + keepdir /etc/slurm + insinto /etc/slurm + doins \ + etc/bluegene.conf.example \ + etc/cgroup.conf.example \ + etc/cgroup_allowed_devices_file.conf.example \ + etc/slurm.conf.example \ + etc/slurmdbd.conf.example + exeinto /etc/slurm + doexe \ + etc/slurm.epilog.clean + # install init.d files + newinitd "$(prefixify_ro ${FILESDIR}/slurmd.initd)" slurmd + newinitd "$(prefixify_ro ${FILESDIR}/slurmctld.initd)" slurmctld + newinitd "$(prefixify_ro ${FILESDIR}/slurmdbd.initd)" slurmdbd + # install conf.d files + newconfd "${FILESDIR}/slurm.confd" slurm + # Install logrotate file + insinto /etc/logrotate.d + newins "${FILESDIR}/logrotate" slurm +} + +pkg_preinst() { + if use munge; then + sed -i 's,\(SLURM_USE_MUNGE=\).*,\11,' "${ED}"etc/conf.d/slurm || die + fi +} + +create_folders_and_fix_permissions() { + einfo "Fixing permissions in ${@}" + mkdir -p ${@} + chown -R ${PN}:${PN} ${@} +} + +pkg_postinst() { + paths=( + "${EROOT}"var/${PN}/checkpoint + "${EROOT}"var/${PN} + "${EROOT}"var/spool/${PN}/slurmd + "${EROOT}"var/spool/${PN} + "${EROOT}"var/run/${PN} + "${EROOT}"var/log/${PN} + /var/tmp/${PN}/${PN}d + /var/tmp/${PN} + ) + for folder_path in ${paths[@]}; do + create_folders_and_fix_permissions $folder_path + done + echo + + elog "Please visit the file '/usr/share/doc/${P}/html/configurator.html" + elog "through a (javascript enabled) browser to create a configureation file." + elog "Copy that file to /etc/slurm/slurm.conf on all nodes (including the headnode) of your cluster." + echo + elog "For cgroup support, please see https://www.schedmd.com/slurmdocs/cgroup.conf.html" + elog "Your kernel must be compiled with the wanted cgroup feature:" + elog " General setup --->" + elog " [*] Control Group support --->" + elog " [*] Freezer cgroup subsystem" + elog " [*] Device controller for cgroups" + elog " [*] Cpuset support" + elog " [*] Simple CPU accounting cgroup subsystem" + elog " [*] Resource counters" + elog " [*] Memory Resource Controller for Control Groups" + elog " [*] Group CPU scheduler --->" + elog " [*] Group scheduling for SCHED_OTHER" + elog "Then, set these options in /etc/slurm/slurm.conf:" + elog " ProctrackType=proctrack/cgroup" + elog " TaskPlugin=task/cgroup" + einfo + ewarn "Paths were created for slurm. Please use these paths in /etc/slurm/slurm.conf:" + for folder_path in ${paths[@]}; do + ewarn " ${folder_path}" + done +} diff --git a/sys-cluster/swift/Manifest b/sys-cluster/swift/Manifest new file mode 100644 index 000000000000..132fc62a8d6b --- /dev/null +++ b/sys-cluster/swift/Manifest @@ -0,0 +1,15 @@ +AUX swift-account.initd 867 SHA256 edb769d425cb2b67f75a860636c3c345f1db2cf85e3061ecbdcf75cefbf3b5a6 SHA512 7526cf09a582eba4607b22038e632c82eddd89fb6930ad00ca26f565b58682031eef0e1f4e0b2798d1e98b55a7309455fe2b68398d70cdf26c734c75f3f58087 WHIRLPOOL 6ea137b67a627396063310740f9462454e9e49e05c467f515691e6b55bc8e261fadc59e261e81dd3ffbe7300b62802d950769e5f39e652c7bc6fbe782107450a +AUX swift-container.initd 877 SHA256 a9d328e4c75dc48c108a0263979b98655b6de8fac50aa983ff49f517fa8c4c6e SHA512 46ae66806db3cb8b9416ccde1a08f0f8af5dd1bbeeda23fc547f8ed29f979c554b47ff0c9ca13f8944ec8c3f4c2d0ffd0616bead4ac9b42078ffaf0ba238d52b WHIRLPOOL 3b1e52d4018459e30d79511b3bd6fc228f4eec6894e03cfbcb2ccd16b3cbe6f5555568bbc8ee2f17889c7419566b657cca9b7ddd187469d223d37fe1b13ca15e +AUX swift-object.initd 862 SHA256 758efeedb3eea1fa6a8a030a194307a45ed604d197d2f854bf53e0e0f48f6593 SHA512 a977e3d81e22785b4999e5dbe6c51c020f98fe4ba08d52ff971477fca606a7fbd8e80f4c45ac6ba6afa213ddca7b81acc6238d91bb5c45635cc68c174575aa05 WHIRLPOOL 0504782e703bd8791ee10effb759f9574229e6e93f617aaec3c2787a2b8793caa050611509c26167e6a6b454883330f74d49812843752df9b5f4b9f2e53ab54d +AUX swift-proxy.initd 1379 SHA256 3be32a94fa09a0d8de2113da8e6f32a557814596038122ceec1eb9f9282e9f6c SHA512 dd32e4249686b51d2ed6add8e2e91eb9e520c662ebdf068f68b4e52faf4d508d3c87e996c6c2f7ba2a7d1f5fdf639d08e1e6878cd4c9918408e007ccbd7c84ec WHIRLPOOL ec94804328502de8e799bc245ac301e8b045979f5b5afb9a52328a5810b86c0bff1ad781ec68dea3bacc184ccdc0ef550e30abeed55334ff8275f9484c8bded2 +DIST swift-2.10.2.tar.gz 1899226 SHA256 310d0c762fc4bfae7beaa7a2a1d7cddcc7478e817f40b5322f9b7403772ce53b SHA512 9efcb764d18524327a1e3164bcf79fbeb25fefafb7b8cf24dda22477d5d08e9d9a76c851d3b51c86e22a02f30004d5421500150c42f5963e15882aec894e09e8 WHIRLPOOL ded7d106277a8c493a494633039b19eae6d8e3783d9a4a05f73ed75869402758e3650a292f6758334d45197d4995a08d6b6f1cc88fd68b6a005c3e026a460159 +DIST swift-2.13.1.tar.gz 1940686 SHA256 785a098b93eceeb745fe85bafba8a8bda20a6aec64f76fb9e4d58bb671eb2bab SHA512 6f08239bbeebfd213d2d7bb23c83507bf033288bb5125f5fd7f37517d8b3ad0b050220c1ad03632c1ab4723a98a9068b146e38c360e6786159a6f8638f4d5d79 WHIRLPOOL 016ddab1201c0895b00b05a1c5a84628e3f69f306780e730ada5c8cae63e75c0959cec8be8c170abba42ea6b63bd32dd5ed6d9b6d37f72534c3a05f3c2cea4e4 +DIST swift-2.15.1.tar.gz 2429235 SHA256 f7f03fe30f845655bb15dfc0850b13a38069a555ea2c23b2cf40924559031409 SHA512 8b01831c6c9103953a3dd61fbaf0b18287af0ee3a2e4be376352266e8442bea54bcd32e7e6de89376feb5e492c5b49f623b8eda5e5ea3e58fe0dcea1547bc1ac WHIRLPOOL 7debf87925504bbafa453e63493c2777b8dbd93b35e3ecc4454f300008f4870da45a9e77e0b8152b02d83bcdd07731dfd59fdd14e2bdd5116c967397b71a3a88 +EBUILD swift-2.10.2-r1.ebuild 3802 SHA256 86cd7cc39d10e8170ba41f2d4b25586178f877e38ece07ebcb4dd2ca2700bc71 SHA512 048094181424de9f7136662c2951632d56ab8dd9055fff492f3faad346950291dee97e75f37a68a6ce6baa18aa3620cc2e179831bd8a3713eaae80c0bfdcf2ab WHIRLPOOL c47c40b1830e4a1d8a41f3b5ecfcacb79920b048b9d079bfdd5f238755cecb8cb9dc569b57804d134b1614d14b8f6475a7f7ab0e965dd2be3570c1ae8e363c94 +EBUILD swift-2.13.1-r1.ebuild 3698 SHA256 26cada26b84e615fb9ea3c6e27b0296ec1c1e08925b2b924d56625ef3d38f5de SHA512 fafcb23cdce1866d55f8ba8af42896da5b9cd47b667066da9da967ddd8f82388d49af28e29e2d78306bfa77bd1c67364ece90fb4f605e8df491b7dc8d55a9ef6 WHIRLPOOL 44fb91200d4a4446d5773c2ac6e189da376802290d5affede36a20dc3edbf970ddf7831a70ed069b554b6bb9aeb780c29f7f8b0a0ede7c9ede0feaf4c9dbc5d3 +EBUILD swift-2.15.1-r1.ebuild 3698 SHA256 26cada26b84e615fb9ea3c6e27b0296ec1c1e08925b2b924d56625ef3d38f5de SHA512 fafcb23cdce1866d55f8ba8af42896da5b9cd47b667066da9da967ddd8f82388d49af28e29e2d78306bfa77bd1c67364ece90fb4f605e8df491b7dc8d55a9ef6 WHIRLPOOL 44fb91200d4a4446d5773c2ac6e189da376802290d5affede36a20dc3edbf970ddf7831a70ed069b554b6bb9aeb780c29f7f8b0a0ede7c9ede0feaf4c9dbc5d3 +EBUILD swift-2017.1.9999.ebuild 3712 SHA256 e9733f0d363428d162e0ee79fc1c106fbcf62e1c4299c2028f505196d7f587ee SHA512 9ebee6f9ada811dbb326c907865508bb5759ba0da0548b1b246cf79c8489c1b4f04646bed5d655a12544c8e9073d73f4589fd7ce635829fe4e2623e563767178 WHIRLPOOL 5292ee88dfb1e41b10f42d7a4b823ed15e2efc56a5a8c8a8c6a61d8463e988143d22cd62399ac2477d7b43520e53864d892955fcf7fdf8565a613932e5c6d2bd +EBUILD swift-2017.2.9999.ebuild 3711 SHA256 09843cc20d29895885787087eab92ce7320996a3ca321e0c40106ec65f3a94b3 SHA512 9aaf45d59410e93fe55c9aacdd2c0de697ce6d076af71b703b7c51df14eecf5fb1edc0d0e62a95240092a624f586a7e79167b33688087a2363208f22f4191bff WHIRLPOOL d0afaf67280078184dec01646edf7f2b152154c740a15b5e921e2c2ef6f5ca1ef6cca8f4f0fd288440fb5fa36df5a5970b0c757a1cc8d3374fc43da694ac0090 +MISC ChangeLog 8171 SHA256 73f547e590b0be08d84dbfc132ab9f8a64d4aac685465be669426ff33dc5afe7 SHA512 b4ed6419e4ec5997e19f59496c57d8a303f4407643e8834850e5aa9a242df669a141581e8c60d06b847f73de4d53118834730e50eb3d962ef007305b49b3b1bc WHIRLPOOL 8eadc21035afae4d00a5da4a67959bb650ecc197e2cb2dada5b1507126a3cdff907c3212026becb4ded9480be147f3e8309a95cc47d5b22bb7a43d678d7d6815 +MISC ChangeLog-2015 8352 SHA256 6a48ac3e4b56264d6cfacce7bc8dce7ce7f993fba30d3c7a01fa4e01124c3cda SHA512 762884001779daed5284cb870e4a55881f563bccd198b6e12339f56b0ee3811d53624be423f12f5a29f11c217245796b59be793d060a87e5d9377e96b25c0894 WHIRLPOOL e88baf8886e23a37deeb1428f294b838f326b4cff6c3349c45614976214731ad730c65b83dc426fab7822eefb8fcaf57f01e5938f47c9b674430008d2ae4d654 +MISC metadata.xml 898 SHA256 8de123416e23bb73757c3fccc041b3076e4adfab2cbc9e1641b4e0b59d2e63df SHA512 3f9d2cf7538fe32010b811d3a49802eb085dde793b29d9590fe3032d63a743f620e3c1dcf1226b59aa5938ea239f440997a3d4d489f9887816621879e19a0c4c WHIRLPOOL 0b9065706a9d6ea8caf5cf17ba40d9c3790d0ebdffa9c739e1444721b253052153e03cdb9c8371f609b5bcc2f015baa545e28449df2b767a8a1065aa7a263430 diff --git a/sys-cluster/swift/files/swift-account.initd b/sys-cluster/swift/files/swift-account.initd new file mode 100644 index 000000000000..205280c76ae0 --- /dev/null +++ b/sys-cluster/swift/files/swift-account.initd @@ -0,0 +1,35 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +COMMAND=/usr/bin/swift-init +PIDFILE=/run/swift/account-server.pid + +depend() { + after net +} + +checkconfig() { + if [ ! -r /etc/swift/swift.conf ]; then + eerror "Missing required config file: /etc/swift/swift.conf" + return 1 + fi + if [ ! -r /etc/swift/account-server.conf ]; then + eerror "Missing required config file: /etc/swift/account-server.conf" + return 1 + fi + return 0 +} + +start() { + checkconfig || return $? + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- account start + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- account stop + eend $? +} diff --git a/sys-cluster/swift/files/swift-container.initd b/sys-cluster/swift/files/swift-container.initd new file mode 100644 index 000000000000..051951af138d --- /dev/null +++ b/sys-cluster/swift/files/swift-container.initd @@ -0,0 +1,35 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +COMMAND=/usr/bin/swift-init +PIDFILE=/run/swift/container-server.pid + +depend() { + after net +} + +checkconfig() { + if [ ! -r /etc/swift/swift.conf ]; then + eerror "Missing required config file: /etc/swift/swift.conf" + return 1 + fi + if [ ! -r /etc/swift/container-server.conf ]; then + eerror "Missing required config file: /etc/swift/container-server.conf" + return 1 + fi + return 0 +} + +start() { + checkconfig || return $? + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- container start + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- container stop + eend $? +} diff --git a/sys-cluster/swift/files/swift-object.initd b/sys-cluster/swift/files/swift-object.initd new file mode 100644 index 000000000000..59ec78ca039a --- /dev/null +++ b/sys-cluster/swift/files/swift-object.initd @@ -0,0 +1,35 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +COMMAND=/usr/bin/swift-init +PIDFILE=/run/swift/object-server.pid + +depend() { + after net +} + +checkconfig() { + if [ ! -r /etc/swift/swift.conf ]; then + eerror "Missing required config file: /etc/swift/swift.conf" + return 1 + fi + if [ ! -r /etc/swift/object-server.conf ]; then + eerror "Missing required config file: /etc/swift/object-server.conf" + return 1 + fi + return 0 +} + +start() { + checkconfig || return $? + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- object start + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- object stop + eend $? +} diff --git a/sys-cluster/swift/files/swift-proxy.initd b/sys-cluster/swift/files/swift-proxy.initd new file mode 100644 index 000000000000..cce9c32e335b --- /dev/null +++ b/sys-cluster/swift/files/swift-proxy.initd @@ -0,0 +1,56 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +COMMAND=/usr/bin/swift-init +PIDFILE=/run/swift/proxy-server.pid + +depend() { + after net +} + +opts="reload" + +checkconfig() { + if [ ! -r /etc/swift/swift.conf ]; then + eerror "Missing required config file: /etc/swift/swift.conf" + return 1 + fi + if [ ! -r /etc/swift/proxy-server.conf ]; then + eerror "Missing required config file: /etc/swift/proxy-server.conf" + return 1 + fi + return 0 +} + +start() { + checkconfig || return $? + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- proxy start + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- proxy stop + eend $? +} + +reload() { + checkconfig || return $? + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --quiet -i ${COMMAND} -- proxy reload + eend $? "Failed to reload ${SVCNAME}" +} + +restart() { + checkconfig || return $? + ebegin "Restarting ${SVCNAME}" + start-stop-daemon --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- proxy restart + eend $? "Failed to restart ${SVCNAME}" +} + +status() { + start-stop-daemon --quiet -i ${COMMAND} -- proxy status + eend $? "Failed to get status for ${SVCNAME}" +} diff --git a/sys-cluster/swift/metadata.xml b/sys-cluster/swift/metadata.xml new file mode 100644 index 000000000000..14aa35f3e4a6 --- /dev/null +++ b/sys-cluster/swift/metadata.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <use> + <flag name="account">adds swift account support</flag> + <flag name="container">adds swift container support</flag> + <flag name="memcached">adds memcached support</flag> + <flag name="object">adds swift object support</flag> + <flag name="proxy">adds swift proxy support</flag> + </use> + <maintainer type="person"> + <email>prometheanfire@gentoo.org</email> + <name>Matthew Thode</name> + </maintainer> + <maintainer type="project"> + <email>openstack@gentoo.org</email> + <name>Openstack</name> + </maintainer> + <longdescription lang="en"> + Swift is a highly available, distributed, eventually consistent object/blob + store. + </longdescription> + <upstream> + <remote-id type="launchpad">swift</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/swift/swift-2.10.2-r1.ebuild b/sys-cluster/swift/swift-2.10.2-r1.ebuild new file mode 100644 index 000000000000..30e158655806 --- /dev/null +++ b/sys-cluster/swift/swift-2.10.2-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 eutils linux-info user + +DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store" +HOMEPAGE="https://launchpad.net/swift" +SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="proxy account container object +memcached" +REQUIRED_USE="|| ( proxy account container object )" + +CDEPEND=" + >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}] + <dev-python/pbr-2.0[${PYTHON_USEDEP}]" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND}" + +RDEPEND=" + ${CDEPEND} + >=dev-python/dnspython-1.14.0:0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.17.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.5[${PYTHON_USEDEP}] + !~dev-python/netifaces-0.10.0[${PYTHON_USEDEP}] + !~dev-python/netifaces-0.10.1[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + dev-python/pyxattr[${PYTHON_USEDEP}] + >=dev-python/PyECLib-1.2.0[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] + memcached? ( net-misc/memcached ) + net-misc/rsync[xattr]" + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK="~EXT3_FS_XATTR ~SQUASHFS_XATTR ~CIFS_XATTR ~JFFS2_FS_XATTR + ~TMPFS_XATTR ~UBIFS_FS_XATTR ~EXT2_FS_XATTR ~REISERFS_FS_XATTR ~EXT4_FS_XATTR + ~ZFS" + if linux_config_exists; then + for module in ${CONFIG_CHECK}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled" + done + fi +} + +pkg_setup() { + enewuser swift + enewgroup swift +} + +src_prepare() { + sed -i 's/xattr/pyxattr/g' swift.egg-info/requires.txt || die + sed -i 's/xattr/pyxattr/g' requirements.txt || die + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +src_test () { + # https://bugs.launchpad.net/swift/+bug/1249727 + find . \( -name test_wsgi.py -o -name test_locale.py -o -name test_utils.py \) -delete || die + SKIP_PIP_INSTALL=1 PBR_VERSION=0.6.0 sh .unittests || die +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/swift + insinto /etc/swift + + newins "etc/swift.conf-sample" "swift.conf" + newins "etc/rsyncd.conf-sample" "rsyncd.conf" + newins "etc/mime.types-sample" "mime.types-sample" + newins "etc/memcache.conf-sample" "memcache.conf-sample" + newins "etc/drive-audit.conf-sample" "drive-audit.conf-sample" + newins "etc/dispersion.conf-sample" "dispersion.conf-sample" + + if use proxy; then + newinitd "${FILESDIR}/swift-proxy.initd" "swift-proxy" + newins "etc/proxy-server.conf-sample" "proxy-server.conf" + if use memcached; then + sed -i '/depend/a\ + need memcached' "${D}/etc/init.d/swift-proxy" + fi + fi + if use account; then + newinitd "${FILESDIR}/swift-account.initd" "swift-account" + newins "etc/account-server.conf-sample" "account-server.conf" + fi + if use container; then + newinitd "${FILESDIR}/swift-container.initd" "swift-container" + newins "etc/container-server.conf-sample" "container-server.conf" + fi + if use object; then + newinitd "${FILESDIR}/swift-object.initd" "swift-object" + newins "etc/object-server.conf-sample" "object-server.conf" + newins "etc/object-expirer.conf-sample" "object-expirer.conf" + fi + + fowners root:swift "/etc/swift" || die "fowners failed" + fperms 0750 /etc/swift +} + +pkg_postinst() { + elog "Openstack swift will default to using insecure http unless a" + elog "certificate is created in /etc/swift/cert.crt and the associated key" + elog "in /etc/swift/cert.key. These can be created with the following:" + elog " * cd /etc/swift" + elog " * openssl req -new -x509 -nodes -out cert.crt -keyout cert.key" +} diff --git a/sys-cluster/swift/swift-2.13.1-r1.ebuild b/sys-cluster/swift/swift-2.13.1-r1.ebuild new file mode 100644 index 000000000000..20394c0afbb4 --- /dev/null +++ b/sys-cluster/swift/swift-2.13.1-r1.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 eutils linux-info user + +DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store" +HOMEPAGE="https://launchpad.net/swift" +SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="proxy account container object +memcached" +REQUIRED_USE="|| ( proxy account container object )" + +CDEPEND=">=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND}" + +RDEPEND=" + ${CDEPEND} + >=dev-python/dnspython-1.14.0:0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.17.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.5[${PYTHON_USEDEP}] + !~dev-python/netifaces-0.10.0[${PYTHON_USEDEP}] + !~dev-python/netifaces-0.10.1[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + dev-python/pyxattr[${PYTHON_USEDEP}] + >=dev-python/PyECLib-1.3.1[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] + memcached? ( net-misc/memcached ) + net-misc/rsync[xattr]" + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK="~EXT3_FS_XATTR ~SQUASHFS_XATTR ~CIFS_XATTR ~JFFS2_FS_XATTR + ~TMPFS_XATTR ~UBIFS_FS_XATTR ~EXT2_FS_XATTR ~REISERFS_FS_XATTR ~EXT4_FS_XATTR + ~ZFS" + if linux_config_exists; then + for module in ${CONFIG_CHECK}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled" + done + fi +} + +pkg_setup() { + enewuser swift + enewgroup swift +} + +src_prepare() { + sed -i 's/xattr/pyxattr/g' requirements.txt || die + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +src_test () { + # https://bugs.launchpad.net/swift/+bug/1249727 + find . \( -name test_wsgi.py -o -name test_locale.py -o -name test_utils.py \) -delete || die + SKIP_PIP_INSTALL=1 PBR_VERSION=0.6.0 sh .unittests || die +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/swift + insinto /etc/swift + + newins "etc/swift.conf-sample" "swift.conf" + newins "etc/rsyncd.conf-sample" "rsyncd.conf" + newins "etc/mime.types-sample" "mime.types-sample" + newins "etc/memcache.conf-sample" "memcache.conf-sample" + newins "etc/drive-audit.conf-sample" "drive-audit.conf-sample" + newins "etc/dispersion.conf-sample" "dispersion.conf-sample" + + if use proxy; then + newinitd "${FILESDIR}/swift-proxy.initd" "swift-proxy" + newins "etc/proxy-server.conf-sample" "proxy-server.conf" + if use memcached; then + sed -i '/depend/a\ + need memcached' "${D}/etc/init.d/swift-proxy" + fi + fi + if use account; then + newinitd "${FILESDIR}/swift-account.initd" "swift-account" + newins "etc/account-server.conf-sample" "account-server.conf" + fi + if use container; then + newinitd "${FILESDIR}/swift-container.initd" "swift-container" + newins "etc/container-server.conf-sample" "container-server.conf" + fi + if use object; then + newinitd "${FILESDIR}/swift-object.initd" "swift-object" + newins "etc/object-server.conf-sample" "object-server.conf" + newins "etc/object-expirer.conf-sample" "object-expirer.conf" + fi + + fowners root:swift "/etc/swift" || die "fowners failed" + fperms 0750 /etc/swift +} + +pkg_postinst() { + elog "Openstack swift will default to using insecure http unless a" + elog "certificate is created in /etc/swift/cert.crt and the associated key" + elog "in /etc/swift/cert.key. These can be created with the following:" + elog " * cd /etc/swift" + elog " * openssl req -new -x509 -nodes -out cert.crt -keyout cert.key" +} diff --git a/sys-cluster/swift/swift-2.15.1-r1.ebuild b/sys-cluster/swift/swift-2.15.1-r1.ebuild new file mode 100644 index 000000000000..20394c0afbb4 --- /dev/null +++ b/sys-cluster/swift/swift-2.15.1-r1.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 eutils linux-info user + +DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store" +HOMEPAGE="https://launchpad.net/swift" +SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="proxy account container object +memcached" +REQUIRED_USE="|| ( proxy account container object )" + +CDEPEND=">=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND}" + +RDEPEND=" + ${CDEPEND} + >=dev-python/dnspython-1.14.0:0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.17.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.5[${PYTHON_USEDEP}] + !~dev-python/netifaces-0.10.0[${PYTHON_USEDEP}] + !~dev-python/netifaces-0.10.1[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + dev-python/pyxattr[${PYTHON_USEDEP}] + >=dev-python/PyECLib-1.3.1[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] + memcached? ( net-misc/memcached ) + net-misc/rsync[xattr]" + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK="~EXT3_FS_XATTR ~SQUASHFS_XATTR ~CIFS_XATTR ~JFFS2_FS_XATTR + ~TMPFS_XATTR ~UBIFS_FS_XATTR ~EXT2_FS_XATTR ~REISERFS_FS_XATTR ~EXT4_FS_XATTR + ~ZFS" + if linux_config_exists; then + for module in ${CONFIG_CHECK}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled" + done + fi +} + +pkg_setup() { + enewuser swift + enewgroup swift +} + +src_prepare() { + sed -i 's/xattr/pyxattr/g' requirements.txt || die + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +src_test () { + # https://bugs.launchpad.net/swift/+bug/1249727 + find . \( -name test_wsgi.py -o -name test_locale.py -o -name test_utils.py \) -delete || die + SKIP_PIP_INSTALL=1 PBR_VERSION=0.6.0 sh .unittests || die +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/swift + insinto /etc/swift + + newins "etc/swift.conf-sample" "swift.conf" + newins "etc/rsyncd.conf-sample" "rsyncd.conf" + newins "etc/mime.types-sample" "mime.types-sample" + newins "etc/memcache.conf-sample" "memcache.conf-sample" + newins "etc/drive-audit.conf-sample" "drive-audit.conf-sample" + newins "etc/dispersion.conf-sample" "dispersion.conf-sample" + + if use proxy; then + newinitd "${FILESDIR}/swift-proxy.initd" "swift-proxy" + newins "etc/proxy-server.conf-sample" "proxy-server.conf" + if use memcached; then + sed -i '/depend/a\ + need memcached' "${D}/etc/init.d/swift-proxy" + fi + fi + if use account; then + newinitd "${FILESDIR}/swift-account.initd" "swift-account" + newins "etc/account-server.conf-sample" "account-server.conf" + fi + if use container; then + newinitd "${FILESDIR}/swift-container.initd" "swift-container" + newins "etc/container-server.conf-sample" "container-server.conf" + fi + if use object; then + newinitd "${FILESDIR}/swift-object.initd" "swift-object" + newins "etc/object-server.conf-sample" "object-server.conf" + newins "etc/object-expirer.conf-sample" "object-expirer.conf" + fi + + fowners root:swift "/etc/swift" || die "fowners failed" + fperms 0750 /etc/swift +} + +pkg_postinst() { + elog "Openstack swift will default to using insecure http unless a" + elog "certificate is created in /etc/swift/cert.crt and the associated key" + elog "in /etc/swift/cert.key. These can be created with the following:" + elog " * cd /etc/swift" + elog " * openssl req -new -x509 -nodes -out cert.crt -keyout cert.key" +} diff --git a/sys-cluster/swift/swift-2017.1.9999.ebuild b/sys-cluster/swift/swift-2017.1.9999.ebuild new file mode 100644 index 000000000000..088cba57d7fe --- /dev/null +++ b/sys-cluster/swift/swift-2017.1.9999.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 eutils git-r3 linux-info user + +DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store" +HOMEPAGE="https://launchpad.net/swift" +EGIT_REPO_URI="https://github.com/openstack/swift.git" +EGIT_BRANCH="stable/ocata" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="proxy account container object +memcached" +REQUIRED_USE="|| ( proxy account container object )" + +CDEPEND=">=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND}" + +RDEPEND=" + ${CDEPEND} + >=dev-python/dnspython-1.14.0:0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.17.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.5[${PYTHON_USEDEP}] + !~dev-python/netifaces-0.10.0[${PYTHON_USEDEP}] + !~dev-python/netifaces-0.10.1[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + dev-python/pyxattr[${PYTHON_USEDEP}] + >=dev-python/PyECLib-1.3.1[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] + memcached? ( net-misc/memcached ) + net-misc/rsync[xattr]" + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK="~EXT3_FS_XATTR ~SQUASHFS_XATTR ~CIFS_XATTR ~JFFS2_FS_XATTR + ~TMPFS_XATTR ~UBIFS_FS_XATTR ~EXT2_FS_XATTR ~REISERFS_FS_XATTR ~EXT4_FS_XATTR + ~ZFS" + if linux_config_exists; then + for module in ${CONFIG_CHECK}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled" + done + fi +} + +pkg_setup() { + enewuser swift + enewgroup swift +} + +src_prepare() { + sed -i 's/xattr/pyxattr/g' requirements.txt || die + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +src_test () { + # https://bugs.launchpad.net/swift/+bug/1249727 + find . \( -name test_wsgi.py -o -name test_locale.py -o -name test_utils.py \) -delete || die + SKIP_PIP_INSTALL=1 PBR_VERSION=0.6.0 sh .unittests || die +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/swift + insinto /etc/swift + + newins "etc/swift.conf-sample" "swift.conf" + newins "etc/rsyncd.conf-sample" "rsyncd.conf" + newins "etc/mime.types-sample" "mime.types-sample" + newins "etc/memcache.conf-sample" "memcache.conf-sample" + newins "etc/drive-audit.conf-sample" "drive-audit.conf-sample" + newins "etc/dispersion.conf-sample" "dispersion.conf-sample" + + if use proxy; then + newinitd "${FILESDIR}/swift-proxy.initd" "swift-proxy" + newins "etc/proxy-server.conf-sample" "proxy-server.conf" + if use memcached; then + sed -i '/depend/a\ + need memcached' "${D}/etc/init.d/swift-proxy" + fi + fi + if use account; then + newinitd "${FILESDIR}/swift-account.initd" "swift-account" + newins "etc/account-server.conf-sample" "account-server.conf" + fi + if use container; then + newinitd "${FILESDIR}/swift-container.initd" "swift-container" + newins "etc/container-server.conf-sample" "container-server.conf" + fi + if use object; then + newinitd "${FILESDIR}/swift-object.initd" "swift-object" + newins "etc/object-server.conf-sample" "object-server.conf" + newins "etc/object-expirer.conf-sample" "object-expirer.conf" + fi + + fowners root:swift "/etc/swift" || die "fowners failed" + fperms 0750 /etc/swift +} + +pkg_postinst() { + elog "Openstack swift will default to using insecure http unless a" + elog "certificate is created in /etc/swift/cert.crt and the associated key" + elog "in /etc/swift/cert.key. These can be created with the following:" + elog " * cd /etc/swift" + elog " * openssl req -new -x509 -nodes -out cert.crt -keyout cert.key" +} diff --git a/sys-cluster/swift/swift-2017.2.9999.ebuild b/sys-cluster/swift/swift-2017.2.9999.ebuild new file mode 100644 index 000000000000..bba5692f08cc --- /dev/null +++ b/sys-cluster/swift/swift-2017.2.9999.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 eutils git-r3 linux-info user + +DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store" +HOMEPAGE="https://launchpad.net/swift" +EGIT_REPO_URI="https://github.com/openstack/swift.git" +EGIT_BRANCH="stable/pike" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="proxy account container object +memcached" +REQUIRED_USE="|| ( proxy account container object )" + +CDEPEND=">=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND}" + +RDEPEND=" + ${CDEPEND} + >=dev-python/dnspython-1.14.0:0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.17.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.5[${PYTHON_USEDEP}] + !~dev-python/netifaces-0.10.0[${PYTHON_USEDEP}] + !~dev-python/netifaces-0.10.1[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + dev-python/pyxattr[${PYTHON_USEDEP}] + >=dev-python/PyECLib-1.3.1[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.0[${PYTHON_USEDEP}] + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}] + memcached? ( net-misc/memcached ) + net-misc/rsync[xattr]" + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK="~EXT3_FS_XATTR ~SQUASHFS_XATTR ~CIFS_XATTR ~JFFS2_FS_XATTR + ~TMPFS_XATTR ~UBIFS_FS_XATTR ~EXT2_FS_XATTR ~REISERFS_FS_XATTR ~EXT4_FS_XATTR + ~ZFS" + if linux_config_exists; then + for module in ${CONFIG_CHECK}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled" + done + fi +} + +pkg_setup() { + enewuser swift + enewgroup swift +} + +src_prepare() { + sed -i 's/xattr/pyxattr/g' requirements.txt || die + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +src_test () { + # https://bugs.launchpad.net/swift/+bug/1249727 + find . \( -name test_wsgi.py -o -name test_locale.py -o -name test_utils.py \) -delete || die + SKIP_PIP_INSTALL=1 PBR_VERSION=0.6.0 sh .unittests || die +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/swift + insinto /etc/swift + + newins "etc/swift.conf-sample" "swift.conf" + newins "etc/rsyncd.conf-sample" "rsyncd.conf" + newins "etc/mime.types-sample" "mime.types-sample" + newins "etc/memcache.conf-sample" "memcache.conf-sample" + newins "etc/drive-audit.conf-sample" "drive-audit.conf-sample" + newins "etc/dispersion.conf-sample" "dispersion.conf-sample" + + if use proxy; then + newinitd "${FILESDIR}/swift-proxy.initd" "swift-proxy" + newins "etc/proxy-server.conf-sample" "proxy-server.conf" + if use memcached; then + sed -i '/depend/a\ + need memcached' "${D}/etc/init.d/swift-proxy" + fi + fi + if use account; then + newinitd "${FILESDIR}/swift-account.initd" "swift-account" + newins "etc/account-server.conf-sample" "account-server.conf" + fi + if use container; then + newinitd "${FILESDIR}/swift-container.initd" "swift-container" + newins "etc/container-server.conf-sample" "container-server.conf" + fi + if use object; then + newinitd "${FILESDIR}/swift-object.initd" "swift-object" + newins "etc/object-server.conf-sample" "object-server.conf" + newins "etc/object-expirer.conf-sample" "object-expirer.conf" + fi + + fowners root:swift "/etc/swift" || die "fowners failed" + fperms 0750 /etc/swift +} + +pkg_postinst() { + elog "Openstack swift will default to using insecure http unless a" + elog "certificate is created in /etc/swift/cert.crt and the associated key" + elog "in /etc/swift/cert.key. These can be created with the following:" + elog " * cd /etc/swift" + elog " * openssl req -new -x509 -nodes -out cert.crt -keyout cert.key" +} diff --git a/sys-cluster/teleport/Manifest b/sys-cluster/teleport/Manifest new file mode 100644 index 000000000000..f5012b024bd2 --- /dev/null +++ b/sys-cluster/teleport/Manifest @@ -0,0 +1,14 @@ +AUX teleport-makefile-buildflags.patch 402 SHA256 a703d044a527736b4e6e4a0397b988464e992e29c8de9877ad66a6930bca9d76 SHA512 e9101609ec4155e3e77f99c7ff69abd47f75e1f0b7b6c75a639efc8df3e782b1e790c57c2f9a37c0f03e136c6084d4bd530a570ff67e17eaa4d518cdcc103d37 WHIRLPOOL 773632599d9f2058f8142e9a615826ddc256e21c0b5da2d2e268a874d7735e4fe98823d83dfe319ee9cc30f0b06c360d2fd176eceff23d9a47164785dc3b4183 +AUX teleport.conf.d 442 SHA256 741b26473c069d48da42ed244a5f2aa30b36854dca618f495bd1e73da5058892 SHA512 e50e3d0030e467afcfaf42c8f56ba1c0397e3dc6a445981b3f1533d7a0a9e550aabdc8bff394a5b01e44d3445b1981e2e955ea38b079386f675df8a37d7d20de WHIRLPOOL 86095a578040637175e6009fedbf67283361fa1f0bbe5b3db2899f47ca06c3728fb0b1e971dde61841b0775d6440dfcd36333696c78cde0ca043c79cc461fd06 +AUX teleport.init.d 763 SHA256 82e7ca98beb2f587deedf04c36ca94d545c4557f2bb88539900020cbf57eee90 SHA512 ea8803c27ed1b89615183ed17b6772726c4cc2f976bc008d6752a5d10a814e381baccd7c6cc354120b3707f351f1cc6592a9f55f6aff2010946eca9f17566f46 WHIRLPOOL 8278cdcd81df54469d5ba91020e420fbb173b5a8f09a927ca34395321ef48ad7a611b0c43f3c6cc76ff81d617246fbbfc0d49bb614d7808ebfc98392e76b7e17 +AUX teleport.service 209 SHA256 9b7f950ccf4d6795b70319389c7241a0f78bd5f6f27bd33076126926e9ae68d5 SHA512 c71665c287575b1e127fdf5c580552aeb17bff55627d537999964be3a86ba2b11dce9d46bf10ab8e909c65a9d94263ced590191b7ea9e5ee2f0c3f65a044816e WHIRLPOOL ad3501e68b828dafe34ca2c4c18832c87203994aebd8777df96ea23b5848e3b71e3b23b5a8b2335687ac51d1c548b8e7a0ebdc37e66a729413c7826a37eb3631 +AUX teleport.service.conf 90 SHA256 626001d9737938cafdf65b1dd83f50903889c6969cbd1446ba0f0178fd2cfe08 SHA512 d17faa0deaf3c864e5159d3567e542e36d09c6ea0ac91c663d3ae9729d1bccf7d2139f1f48fec132eccc473e023ffdaed0b8f2ee75db5dedc6ff36f637f68e1c WHIRLPOOL 61d4bb3847a4e35437ad58144c1cbd25fe0127e25d32a6ca12925867c5dcdb3246fc79beacfc07e22eb29fced0514c280de638499df21f2feba10bf073f80953 +AUX teleport.yaml 5177 SHA256 3de8389f6b87378fc0a3aa09b74917eb5e1d34f98cccb8e024006eab806fdab1 SHA512 f9f854472d469d0822d5766517cc68364feca4f3345a69d616d073aaaf9af7be6f72aa55c7d0c801426c3fef42714c09b884e0e086a58a07208ebef0ffe3ca80 WHIRLPOOL 13ffe73b8d75437dd46765f66477b9253fdac2bc3ea82dd7d7a3bce60ee5f560e26eb61c1cafeb937123a62c00f073783a3f81a1315960b99c8d4408cbd27b3b +DIST teleport-2.2.0.tar.gz 7229371 SHA256 b12bea0474a0ce5f4df10729607661b1afbecd5e95083835ccee7b54493c9452 SHA512 bec288983371bd3807b7ce994b1533a5e869d903251f8a8ce6315768a1d3ae95d72f832037345c36c9cd4789fbc449c54b86359988b1e74d4f46f9e0db6b3239 WHIRLPOOL 5b128fda80b1ce4afe60e10e6d5d9e83f621f6a405e713af7d1b988562038aa927c9f7c733a927a3aa724c261d058dba1fa75526dd2eb9051b1e6fe4c984004c +DIST teleport-2.2.1.tar.gz 7235188 SHA256 5a5c7be4615a3ef3e6915a4330b71cd063dd3a86013b8a72a5dbbca882eb28ac SHA512 011ffd8fdf42131455c32b8a8ed1ddee0181a8dcd3424dc9cf5ac96c53ce719d369e0bfac4392cc0dec14e78fed94732bbcb56c2db5987ee778ad29e4f7a749d WHIRLPOOL 988da053d7c85acfe1103696e33eff9fbb37d4feb5af580b1fb7b8995ca7ec449786c997619f81717816298b4cdc0bf26b823ac62b3c85ce72d3bdd783d02215 +DIST teleport-2.2.4.tar.gz 7234252 SHA256 25624d3b8dff987eab70cfadd0fe55a96d741ef8955064cd6e51e718da7f0363 SHA512 859bc34c90c4d1a504b9fa2958e49803c7af8bee3c2692d70590095ef0356a00cf963c5fc30613f3a7852b602fc7fbbd81ca99fc24ce51787f6d8d2e05af4762 WHIRLPOOL 4572b9b0cd9b84a579b99135759cd270d6b6c1f4590a990f3652bd4a80ce80f54e061564518500615ac77a321bebfd1476596a83e822b33a166fa1b3ae62311f +EBUILD teleport-2.2.0.ebuild 1542 SHA256 63d498de0fb9999b59633bab0267d9eab225eaf222cad8b9757e9388c1d438a5 SHA512 416f9685b2b50788476043d7130ac358b68621da05237ea84502220fe065dff96b10f44e29b068690c79a9a0f528dfabee7430a87e25ef4b86c64e1d288c78a8 WHIRLPOOL 0e389dd9d5dfb02d8c8b3b6e046e3a9b952d93f265e42669250f68abdb86e5024466dc86b6873ac5b4ce8a8922c0b10181dc80e5d30d413ef4c467a47dab2724 +EBUILD teleport-2.2.1.ebuild 1542 SHA256 63d498de0fb9999b59633bab0267d9eab225eaf222cad8b9757e9388c1d438a5 SHA512 416f9685b2b50788476043d7130ac358b68621da05237ea84502220fe065dff96b10f44e29b068690c79a9a0f528dfabee7430a87e25ef4b86c64e1d288c78a8 WHIRLPOOL 0e389dd9d5dfb02d8c8b3b6e046e3a9b952d93f265e42669250f68abdb86e5024466dc86b6873ac5b4ce8a8922c0b10181dc80e5d30d413ef4c467a47dab2724 +EBUILD teleport-2.2.4.ebuild 1542 SHA256 63d498de0fb9999b59633bab0267d9eab225eaf222cad8b9757e9388c1d438a5 SHA512 416f9685b2b50788476043d7130ac358b68621da05237ea84502220fe065dff96b10f44e29b068690c79a9a0f528dfabee7430a87e25ef4b86c64e1d288c78a8 WHIRLPOOL 0e389dd9d5dfb02d8c8b3b6e046e3a9b952d93f265e42669250f68abdb86e5024466dc86b6873ac5b4ce8a8922c0b10181dc80e5d30d413ef4c467a47dab2724 +EBUILD teleport-9999.ebuild 1460 SHA256 0b70586206bb346e9725430ef5528e960cc23ead7c24a161801a4ea83acccdf2 SHA512 74ff9bb734b5b47ad2ac475413af8721c818293eb8166bc99887f75f3e9fa4b8e66e5abeb6fcbf58bb8a4f63db34f010d85471b1a5a7cd1c28c70e43019fa2cd WHIRLPOOL 3e91ec924a2c1c53278b437044049f7ca59e1105b2afd52f7c7a68680a321a7a80041657436919503b6702897261980501795b23e24e23554b38a29ae8fdd857 +MISC metadata.xml 630 SHA256 dde12b45aed05bd498cedda65f05c118e615b2ff246d404304782481b5ab83a1 SHA512 2aa911f2a91bfdea340b38715d69cbe59bcd460d34ac6d1d641f2badf2ba72f4e02cdd2f8a2ca387c9a9d19ea2c22e2be80ab4bb582d9395c1517b818f343c74 WHIRLPOOL 7a4feaf6cc59a3386c3fcb41304b8a1a799deea87c2957bdd9915dfc9f8a922dc802a8a6e8bd3d761d27a35dba46baf53bf3305b059922314ab5764c57fa99ee diff --git a/sys-cluster/teleport/files/teleport-makefile-buildflags.patch b/sys-cluster/teleport/files/teleport-makefile-buildflags.patch new file mode 100644 index 000000000000..d3da35350d86 --- /dev/null +++ b/sys-cluster/teleport/files/teleport-makefile-buildflags.patch @@ -0,0 +1,11 @@ +--- work/src/github.com/gravitational/teleport/Makefile ++++ work/src/github.com/gravitational/teleport/Makefile +@@ -12,7 +12,7 @@ + PWD ?= `pwd` + TELEPORT_DEBUG ?= no + GITTAG=v$(VERSION) +-BUILDFLAGS := $(ADDFLAGS) -ldflags '-w -s' ++BUILDFLAGS ?= $(ADDFLAGS) -ldflags '-w -s' + + RELEASE=teleport-$(GITTAG)-`go env GOOS`-`go env GOARCH`-bin + BINARIES=$(BUILDDIR)/tsh $(BUILDDIR)/teleport $(BUILDDIR)/tctl diff --git a/sys-cluster/teleport/files/teleport.conf.d b/sys-cluster/teleport/files/teleport.conf.d new file mode 100644 index 000000000000..e4b2cbb1a7e8 --- /dev/null +++ b/sys-cluster/teleport/files/teleport.conf.d @@ -0,0 +1,17 @@ +# /etc/conf.d/teleport: config file for /etc/init.d/teleport + +# Where is your teleport.yaml file stored? +TELEPORT_CONFDIR="/etc/teleport" + +# Any random options you want to pass to teleport. +TELEPORT_OPTS="" + +# Pid file to use (needs to be absolute path). +#TELEPORT_PIDFILE="/var/run/teleport.pid" + +# Path to log file +#TELEPORT_LOGFILE="/var/log/teleport.log" + +# Startup dependency +# Un-comment when using etcd storage backend +#rc_need="etcd" diff --git a/sys-cluster/teleport/files/teleport.init.d b/sys-cluster/teleport/files/teleport.init.d new file mode 100644 index 000000000000..a5d08b7f3f69 --- /dev/null +++ b/sys-cluster/teleport/files/teleport.init.d @@ -0,0 +1,29 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +: ${TELEPORT_CONFDIR:=/etc/teleport} +: ${TELEPORT_PIDFILE:=/var/run/${SVCNAME}.pid} +: ${TELEPORT_BINARY:=/usr/bin/teleport} +: ${TELEPORT_LOGFILE:=/var/log/teleport.log} + +depend() { + need net +} + +start() { + ebegin "Starting Teleport SSH Service" + start-stop-daemon --start --exec /usr/bin/teleport \ + --background --make-pidfile --pidfile "${TELEPORT_PIDFILE}" \ + --stderr "${TELEPORT_LOGFILE}" \ + -- start --config="${TELEPORT_CONFDIR}/teleport.yaml" \ + ${TELEPORT_OPTS} + eend $? +} + +stop() { + ebegin "Stopping Teleport SSH Service" + start-stop-daemon --stop --exec /usr/bin/teleport \ + --pidfile "${TELEPORT_PIDFILE}" + eend $? +} diff --git a/sys-cluster/teleport/files/teleport.service b/sys-cluster/teleport/files/teleport.service new file mode 100644 index 000000000000..b74734bbf9ef --- /dev/null +++ b/sys-cluster/teleport/files/teleport.service @@ -0,0 +1,11 @@ +[Unit] +Description=Teleport SSH Service +After=network.target + +[Service] +Type=simple +Restart=always +ExecStart=/usr/bin/teleport start --config=/etc/teleport/teleport.yaml + +[Install] +WantedBy=multi-user.target diff --git a/sys-cluster/teleport/files/teleport.service.conf b/sys-cluster/teleport/files/teleport.service.conf new file mode 100644 index 000000000000..2ff7ffbf3a4e --- /dev/null +++ b/sys-cluster/teleport/files/teleport.service.conf @@ -0,0 +1,3 @@ +# Uncomment the following when using the etcd storage backend +#[Unit] +#Wants=etcd.service diff --git a/sys-cluster/teleport/files/teleport.yaml b/sys-cluster/teleport/files/teleport.yaml new file mode 100644 index 000000000000..e297bb89b571 --- /dev/null +++ b/sys-cluster/teleport/files/teleport.yaml @@ -0,0 +1,142 @@ +# By default, this file should be stored in /etc/teleport.yaml + +# This section of the configuration file applies to all teleport +# services. +teleport: + # nodename allows to assign an alternative name this node can be reached by. + # by default it's equal to hostname + # nodename: graviton + + # Data directory where Teleport keeps its data, like keys/users for + # authentication (if using the default BoltDB back-end) + data_dir: /var/lib/teleport + + # one-time invitation token used to join a cluster. it is not used on + # subsequent starts + auth_token: xxxx-token-xxxx + + # when running in multi-homed or NATed environments Teleport nodes need + # to know which IP it will be reachable at by other nodes + # advertise_ip: 10.1.0.5 + + # list of auth servers in a cluster. you will have more than one auth server + # if you configure teleport auth to run in HA configuration + auth_servers: + - localhost:3025 + + # Teleport throttles all connections to avoid abuse. These settings allow + # you to adjust the default limits + connection_limits: + max_connections: 1000 + max_users: 250 + + # Logging configuration. Possible output values are 'stdout', 'stderr' and + # 'syslog'. Possible severity values are INFO, WARN and ERROR (default). + log: + output: stderr + severity: ERROR + + # Type of storage used for keys. You need to configure this to use etcd + # backend if you want to run Teleport in HA configuration. + storage: + type: bolt + +# This section configures the 'auth service': +auth_service: + # Turns 'auth' role on. Default is 'yes' + enabled: yes + + # Turns on dynamic configuration. Dynamic configuration defines the source + # for configuration information, configuration files on disk or what's + # stored in the backend. Default is false if no backend is specified, + # otherwise if backend is specified, it is assumed to be true. + dynamic_config: false + + # defines the types and second factors the auth server supports + authentication: + # type can be local or oidc + type: local + # second_factor can be off, otp, or u2f + second_factor: otp + + # this section is only used if using u2f + u2f: + # app_id should point to the Web UI. + app_id: https://localhost:3080 + + # facets should list all proxy servers. + facets: + - https://localhost + - https://localhost:3080 + + # IP and the port to bind to. Other Teleport nodes will be connecting to + # this port (AKA "Auth API" or "Cluster API") to validate client + # certificates + listen_addr: 0.0.0.0:3025 + + # Pre-defined tokens for adding new nodes to a cluster. Each token specifies + # the role a new node will be allowed to assume. The more secure way to + # add nodes is to use `ttl node add --ttl` command to generate auto-expiring + # tokens. + # + # We recommend to use tools like `pwgen` to generate sufficiently random + # tokens of 32+ byte length. + tokens: + - "proxy,node:xxxxx" + - "auth:yyyy" + + # Optional "cluster name" is needed when configuring trust between multiple + # auth servers. A cluster name is used as part of a signature in certificates + # generated by this CA. + # + # By default an automatically generated GUID is used. + # + # IMPORTANT: if you change cluster_name, it will invalidate all generated + # certificates and keys (may need to wipe out /var/lib/teleport directory) + cluster_name: "main" + +# This section configures the 'node service': +ssh_service: + # Turns 'ssh' role on. Default is 'yes' + enabled: yes + + # IP and the port for SSH service to bind to. + listen_addr: 0.0.0.0:3022 + # See explanation of labels in "Labeling Nodes" section below + labels: + role: master + type: postgres + # List (YAML array) of commands to periodically execute and use + # their output as labels. + # See explanation of how this works in "Labeling Nodes" section below + commands: + - name: hostname + command: [/usr/bin/hostname] + period: 1m0s + - name: arch + command: [/usr/bin/uname, -p] + period: 1h0m0s + +# This section configures the 'proxy servie' +proxy_service: + # Turns 'proxy' role on. Default is 'yes' + enabled: yes + + # SSH forwarding/proxy address. Command line (CLI) clients always begin their + # SSH sessions by connecting to this port + listen_addr: 0.0.0.0:3023 + + # Reverse tunnel listening address. An auth server (CA) can establish an + # outbound (from behind the firewall) connection to this address. + # This will allow users of the outside CA to connect to behind-the-firewall + # nodes. + tunnel_listen_addr: 0.0.0.0:3024 + + # The HTTPS listen address to serve the Web UI and also to authenticate the + # command line (CLI) users via password+HOTP + web_listen_addr: 0.0.0.0:3080 + + # TLS certificate for the HTTPS connection. Configuring these properly is + # critical for Teleport security. + https_key_file: /etc/teleport/teleport.key + https_cert_file: /etc/teleport/teleport.crt diff --git a/sys-cluster/teleport/metadata.xml b/sys-cluster/teleport/metadata.xml new file mode 100644 index 000000000000..224f5639f024 --- /dev/null +++ b/sys-cluster/teleport/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <name>Graeme Lawes</name> + <email>graemelawes@gmail.com</email> + </maintainer> + <maintainer type="project"> + <name>Gentoo Proxy Maintainers Project</name> + <email>proxy-maint@gentoo.org</email> + </maintainer> + <upstream> + <changelog>https://github.com/gravitational/teleport/blob/master/CHANGELOG.md</changelog> + <bugs-to>https://github.com/gravitational/teleport/issues</bugs-to> + <remote-id type="github">gravitational/teleport</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/teleport/teleport-2.2.0.ebuild b/sys-cluster/teleport/teleport-2.2.0.ebuild new file mode 100644 index 000000000000..90fddb344c0c --- /dev/null +++ b/sys-cluster/teleport/teleport-2.2.0.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit eutils golang-build systemd user + +DESCRIPTION="Modern SSH server for teams managing distributed infrastructure" +HOMEPAGE="https://gravitational.com/teleport" + +EGO_PN="github.com/gravitational/${PN}/..." + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 golang-vcs + EGIT_REPO_URI="https://github.com/gravitational/${PN}.git" +else + inherit golang-vcs-snapshot + SRC_URI="https://github.com/gravitational/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" +RESTRICT="test" + +DEPEND=" + app-arch/zip + >=dev-lang/go-1.8.3" +RDEPEND="" + +PATCHES=( "${FILESDIR}"/${PN}-makefile-buildflags.patch ) + +src_compile() { + BUILDFLAGS="" GOPATH="${S}" emake -C src/${EGO_PN%/*} + pushd src/${EGO_PN%/*}/web/dist >/dev/null || die + zip -qr "${S}/src/${EGO_PN%/*}/build/webassets.zip" . || die + popd >/dev/null || die + cat "${S}/src/${EGO_PN%/*}/build/webassets.zip" >> "src/${EGO_PN%/*}/build/${PN}" || die + zip -q -A "${S}/src/${EGO_PN%/*}/build/${PN}" || die +} + +src_install() { + dodir /var/lib/${PN} /etc/${PN} + dobin src/${EGO_PN%/*}/build/{tsh,tctl,teleport} + + insinto /etc/${PN} + doins "${FILESDIR}"/${PN}.yaml + + newinitd "${FILESDIR}"/${PN}.init.d ${PN} + newconfd "${FILESDIR}"/${PN}.conf.d ${PN} + + systemd_dounit "${FILESDIR}"/${PN}.service + systemd_install_serviced "${FILESDIR}"/${PN}.service.conf ${PN}.service +} + +src_test() { + GOPATH="${S}" emake -C src/${EGO_PN%/*} test +} diff --git a/sys-cluster/teleport/teleport-2.2.1.ebuild b/sys-cluster/teleport/teleport-2.2.1.ebuild new file mode 100644 index 000000000000..90fddb344c0c --- /dev/null +++ b/sys-cluster/teleport/teleport-2.2.1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit eutils golang-build systemd user + +DESCRIPTION="Modern SSH server for teams managing distributed infrastructure" +HOMEPAGE="https://gravitational.com/teleport" + +EGO_PN="github.com/gravitational/${PN}/..." + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 golang-vcs + EGIT_REPO_URI="https://github.com/gravitational/${PN}.git" +else + inherit golang-vcs-snapshot + SRC_URI="https://github.com/gravitational/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" +RESTRICT="test" + +DEPEND=" + app-arch/zip + >=dev-lang/go-1.8.3" +RDEPEND="" + +PATCHES=( "${FILESDIR}"/${PN}-makefile-buildflags.patch ) + +src_compile() { + BUILDFLAGS="" GOPATH="${S}" emake -C src/${EGO_PN%/*} + pushd src/${EGO_PN%/*}/web/dist >/dev/null || die + zip -qr "${S}/src/${EGO_PN%/*}/build/webassets.zip" . || die + popd >/dev/null || die + cat "${S}/src/${EGO_PN%/*}/build/webassets.zip" >> "src/${EGO_PN%/*}/build/${PN}" || die + zip -q -A "${S}/src/${EGO_PN%/*}/build/${PN}" || die +} + +src_install() { + dodir /var/lib/${PN} /etc/${PN} + dobin src/${EGO_PN%/*}/build/{tsh,tctl,teleport} + + insinto /etc/${PN} + doins "${FILESDIR}"/${PN}.yaml + + newinitd "${FILESDIR}"/${PN}.init.d ${PN} + newconfd "${FILESDIR}"/${PN}.conf.d ${PN} + + systemd_dounit "${FILESDIR}"/${PN}.service + systemd_install_serviced "${FILESDIR}"/${PN}.service.conf ${PN}.service +} + +src_test() { + GOPATH="${S}" emake -C src/${EGO_PN%/*} test +} diff --git a/sys-cluster/teleport/teleport-2.2.4.ebuild b/sys-cluster/teleport/teleport-2.2.4.ebuild new file mode 100644 index 000000000000..90fddb344c0c --- /dev/null +++ b/sys-cluster/teleport/teleport-2.2.4.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit eutils golang-build systemd user + +DESCRIPTION="Modern SSH server for teams managing distributed infrastructure" +HOMEPAGE="https://gravitational.com/teleport" + +EGO_PN="github.com/gravitational/${PN}/..." + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 golang-vcs + EGIT_REPO_URI="https://github.com/gravitational/${PN}.git" +else + inherit golang-vcs-snapshot + SRC_URI="https://github.com/gravitational/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" +RESTRICT="test" + +DEPEND=" + app-arch/zip + >=dev-lang/go-1.8.3" +RDEPEND="" + +PATCHES=( "${FILESDIR}"/${PN}-makefile-buildflags.patch ) + +src_compile() { + BUILDFLAGS="" GOPATH="${S}" emake -C src/${EGO_PN%/*} + pushd src/${EGO_PN%/*}/web/dist >/dev/null || die + zip -qr "${S}/src/${EGO_PN%/*}/build/webassets.zip" . || die + popd >/dev/null || die + cat "${S}/src/${EGO_PN%/*}/build/webassets.zip" >> "src/${EGO_PN%/*}/build/${PN}" || die + zip -q -A "${S}/src/${EGO_PN%/*}/build/${PN}" || die +} + +src_install() { + dodir /var/lib/${PN} /etc/${PN} + dobin src/${EGO_PN%/*}/build/{tsh,tctl,teleport} + + insinto /etc/${PN} + doins "${FILESDIR}"/${PN}.yaml + + newinitd "${FILESDIR}"/${PN}.init.d ${PN} + newconfd "${FILESDIR}"/${PN}.conf.d ${PN} + + systemd_dounit "${FILESDIR}"/${PN}.service + systemd_install_serviced "${FILESDIR}"/${PN}.service.conf ${PN}.service +} + +src_test() { + GOPATH="${S}" emake -C src/${EGO_PN%/*} test +} diff --git a/sys-cluster/teleport/teleport-9999.ebuild b/sys-cluster/teleport/teleport-9999.ebuild new file mode 100644 index 000000000000..a16c3c133705 --- /dev/null +++ b/sys-cluster/teleport/teleport-9999.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit eutils golang-build systemd user + +DESCRIPTION="Modern SSH server for teams managing distributed infrastructure" +HOMEPAGE="https://gravitational.com/teleport" + +EGO_PN="github.com/gravitational/${PN}/..." + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 golang-vcs + EGIT_REPO_URI="https://github.com/gravitational/${PN}.git" +else + inherit golang-vcs-snapshot + SRC_URI="https://github.com/gravitational/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" + +DEPEND=" + app-arch/zip + >=dev-lang/go-1.7" +RDEPEND="" + +src_compile() { + BUILDFLAGS="" GOPATH="${S}" emake -C src/${EGO_PN%/*} + pushd src/${EGO_PN%/*}/web/dist >/dev/null || die + zip -qr "${S}/src/${EGO_PN%/*}/build/webassets.zip" . || die + popd >/dev/null || die + cat "${S}/src/${EGO_PN%/*}/build/webassets.zip" >> "src/${EGO_PN%/*}/build/${PN}" || die + zip -q -A "${S}/src/${EGO_PN%/*}/build/${PN}" || die +} + +src_install() { + dodir /var/lib/${PN} /etc/${PN} + dobin src/${EGO_PN%/*}/build/{tsh,tctl,teleport} + + insinto /etc/${PN} + doins "${FILESDIR}"/${PN}.yaml + + newinitd "${FILESDIR}"/${PN}.init.d ${PN} + newconfd "${FILESDIR}"/${PN}.conf.d ${PN} + + systemd_dounit "${FILESDIR}"/${PN}.service + systemd_install_serviced "${FILESDIR}"/${PN}.service.conf ${PN}.service +} + +src_test() { + GOPATH="${S}" emake -C src/${EGO_PN%/*} test +} diff --git a/sys-cluster/torque/Manifest b/sys-cluster/torque/Manifest new file mode 100644 index 000000000000..f84a47ec7748 --- /dev/null +++ b/sys-cluster/torque/Manifest @@ -0,0 +1,31 @@ +AUX CVE-2013-4319-2.x-root-submit-fix.patch 1253 SHA256 a6ebd0c0966148ecb34fb885911e163f93749be72fc5a2e58f11f3c7a9523f45 SHA512 78780ad87e997f22b6abbc3cb51c313616e90320d997705c534c35fbc7f5738b7a2e0ace33051e6e15d4f6e0ab6f97ab9f1ef60dcee5fc4544db13b0a72ea5c4 WHIRLPOOL 64eaf701099da902282b3e1debb6bbfa323fc266ad067047c43dcb353463bf2df7475066f9e263cc9a506b2905aba19c290d50a419ee56a0daa65f237693ede7 +AUX CVE-2013-4495.4.1.patch 9063 SHA256 78a368607133cc9daeca9872ef61ac4117268e091a11554b72ccd48c1a34e781 SHA512 52d0105c8d756e50252926c764eff46653544584c25c43d4dbaf70ed45a1c610c9381b1f735ff6c436774fb8d77a2a7607e0ea2b70eaae927e9a1024b3048913 WHIRLPOOL 815c1719548f21c4cf712c96577701f084ab5f6fc7287e4cd1ddd4fd9678c19a303a94546842c890d0e994c84bae8768aa2ddf49e6ef3094c6b1c61193873d32 +AUX CVE-2013-4495.patch 836 SHA256 4cfaef5ced3b336920821089a97a86f38d71fcc573951912be701d2c51253d45 SHA512 91522f5c8b6fa2e5de80f02e24b2a6827422c335d88600bcbb1a763dd985b3e52b850eab5059adbe4e543311551ec0da21cd69fcb7dc6e01ff93bff843769d8c WHIRLPOOL 17e2790d362a16dcd58b0cb0a9acc81d5f920b96ad8d4eb99fff6cbd58a49e312414c9c9b580b9fbdbd35b4314fb0ea820888e4d93723ffec5ec02cc3c72bbf2 +AUX CVE-2014-0749.patch 750 SHA256 e79c9c2e08aec2e0adc4a10c2d97510ccc6780d5d2944e9fd646bf99b0a5e5aa SHA512 8830f4d1a0190876e97fc568a3ac84341c042686a630cc5a7d8f254414dd13063f08db3b490e447698d9c16430ab6c8990c70ee1acda2435a0b0debfb2666829 WHIRLPOOL 76a459649865456b1d004de5d728c97697f4351870f54980748dfc2046df26ed791738cea96189d3f82b76f8aa370904060ecdbcc0b52c5e092d2870221a132c +AUX TRQ-2885-limit-tm_adopt-to-only-adopt-a-session-id-t.patch 4292 SHA256 67338a9c338b71b4dff5a911978798a4e51a2f84ce1429d80d70819511874e43 SHA512 15bb5b271b62be03df2b6aeab89082f3003abc67e00aaef96539ab88f21879f3cf30a95303fe68b3e4984cdc4f4c020e61328a4e3c26b4e44be9eafa9be3b5a6 WHIRLPOOL 00342548ab024f70f4f3de6c5982dbcdf5a4acedad94d46d340368bff58e7023a97d386486805a93a1f3da415345bf56ae5b93d7cfec320695bdb4461949b3ac +AUX pbs_mom-init.d 1084 SHA256 b9f65c9d2fa74835e0737d3ffa3c54a15a6b27a1a42a84f7a2058c2b48874443 SHA512 698707c833070f77224e55788799ae4b32088b47221bfd9ed8fbb4097095bb4771ec39db831bbfd5af46d0a6addee04464bc71ef548ca94f3a324ebb97ce8a9c WHIRLPOOL 8884a378af2ef147314709dc133375e41099ffcc0b2afaf8dec1a62e8c50f2928558614b5302084ce80a661fc65bdad68a25b67f6b8ed2e5fa0bbf04831ce3ce +AUX pbs_mom-init.d-munge 1149 SHA256 ed2bdf0ac4469dde1c19f9beb5aa6fa69840dc9a471a4195eea952ecfc91d1b7 SHA512 643deb1f21983dbdd8aa53416899db01ff651d81b3d989299eef9c2d3e1aab0e9b083cfae9bb559b6c3195238998a881ec5bf2a663e09f7f8508bb895bc11027 WHIRLPOOL 98ff6b73f83f4ed1859337b126473bc1915cea8dd358caea4aa19aa9880859c66fa6b1e96363838481c465a3237beaee2fa2fa91a079fd0b6f5d9cb7698b5c4f +AUX pbs_sched-init.d 1165 SHA256 b04d43a838d271c2d78dee950ed9ea2f87a4cd6f3eb4409537a015d286f4c68d SHA512 9417ffe5a417d69e03262221816b2778aacfe7cf393ea5b5ea535497f4dfcbad9545d49cdbcacaaa5e8a0fd01432806aac8e050b4979cabb59656c1256a91dd0 WHIRLPOOL cca5750647349612ad9bd534fe53fb33d851fdb4c9ac705bcb685276538e11c867e6acbbd1dfb6124e2832dbef77ee16c96a925eb650e61afa33f1c3ca4b8c7c +AUX pbs_server-init.d 1615 SHA256 e6c4bdd33ab79b9e0ca085269e845fbd8794d7427b8ca45cfafa7187a1317dab SHA512 459334236d5614522dafa15c0144bbf9e9b5fe89ce73d61fde6b1bfbcc96c284d8f827069c4dd77f7a6c5fb2828923d60a9381c158123d5f6edd5ca50a471c21 WHIRLPOOL 7cd157ebe0a30099172c48ec774b8256825350a06b6ce0619dc99d465b82e210e6f5facda756743700fc054103af776f08f1d4809a014776e7dd914f07faf5ae +AUX pbs_server-init.d-munge 1689 SHA256 9d1972d5fdbb31a7ab74a45a77631b96ac23d47e4b814b3fb31964fd1084863f SHA512 b9628241581fbed629d0edf83a3f987de894fb5711061239e737f63ef7dbe9033d35aa87a38b56dbd8da887a3058f9f284bfe101ee13db3464e6e814b537ea23 WHIRLPOOL b9fe25f9097f369e5a944a0e9d2efdf2a1c48bd0b0a6e9504a438956be5e4682ae44c7fc09dbbbffcf07bcbbfc786c2c7fe8f2dc34ac92d69b6f1c5268a9f39e +AUX tcl8.6.patch 2396 SHA256 02905289c2707b2bc60b3aed513d9d4578cb597b346ee79deb89b1e72131af2b SHA512 a288526bf43cd39d0b5505938f02ee38ccd70481a1b6351a80c5cd151376604d5cdc925293d3bd7f2d4bbe50182993448da645ca42f58e3f1bdf59bce9363b4a WHIRLPOOL cbccee8ce08d3bf36bc30b49cf0740753f10d1d309558a702aa8df8f0d9ec5069e37cc3e7cb47caa686d69935f90c6b6f2dbdae55eba98864f3bbc22f4fa7ada +AUX torque-4.1.5.1-tcl8.6.patch 2546 SHA256 3b03036181df73cee7e2dea6746b822368a92d4f76953018e226c4e7c26abe86 SHA512 0cd584784b5254daf11635e1d6252fa4fe3c5f2e46a0771452016f66ff0e3be01b91d154cef0a793cf0ab0df223ef5c51303d35c419f1d9addc64ea26a892521 WHIRLPOOL b335acece9491ecfa5adbb9a64122826f8e6944ac33aac862ac4c57c7cf73c0ed823b60228a3567c249f1710d1a8ab0fac8ce2fbb301500eeb0bf8d832c0f117 +AUX torque-4.2-dont-mess-with-cflags.patch 806 SHA256 e3f0028dc7c9ecd9df3d9c849159a980130af0db8859fb4e7c9624ffa64c8c56 SHA512 23aeb87fc75ec8b916817264501240b9f0fae7b3e81662496824dcccc21d1a07b2b58221ea22ca6551b6830e76347416a09da6c22de4aea173a32fe13c90c7ff WHIRLPOOL 0a45b03fffcd6fe9a64b207ab3e6a07b373476423a979012738b984ae999171f25bcef85188130af58181deb1e4ff4405ce8df494936b667b1730bb5146cfb77 +AUX torque-4.2.9-tcl8.6.patch 2702 SHA256 cd894a32a300b9b8b5fa343c79ac0ff9f44dc02e12eae9d7bb69d5f8799ead34 SHA512 9844a1f633f049a66cf31d3721f6a5e205ede26186da1357e0b0aa2c0c4d064cbdff45e2f7e685d6c4afd09d961e59ff1759163e4a2ae349fa866e960c1bcf77 WHIRLPOOL a4acb94a7d64e84b25c8ebb0898ab3c4523a141c17719f51eb19276604a3543041374de5e828664dcc1dc35269148512231628d3990c09a9872ade353aa7479f +AUX torque-conf.d 649 SHA256 4139da44a55dbcb4a8227fd0aedede8e091971fd63c0e08644712f4a91e7b174 SHA512 b82f6c1d661bed03a32c3761530c4b303715167a317e467371091b11d3ae0e19e9784b1588577ee5f65397cb0699818ed5f621aeb66d3f2d218df12d0cf39bde WHIRLPOOL 0f0db60c037400ce87013d7639a5e126b65388e914e1f3bde81548ebc1e8fcefb17972c4deec03509973973a263c5006856699d3f51fad0133b8428e13e2e04c +AUX torque-conf.d-munge 784 SHA256 7b8e47737211fd0d05dcc7938021ea5dbb1575010c53075440ef0b6b5d43d8b1 SHA512 a78634a6f2bdf3c24e8c99d3cd7a9634daa32d69244a9ddfcc26199f4d04e901abbfa79ad057f5a4e4c492c9e21bc0c65edd8465ac6935fb7c67c8c639e75d68 WHIRLPOOL 90ed407a5a98fb7b4509610c3c23dd1d38566886e4b02fa4db4a9708f8c45b500369e782c25b7b9f02fc685bdcb965049e681c829bad58206729690e6eeadbb9 +AUX torque-env.d 240 SHA256 d04eab3b1314645ee2014c718c4cf79ca74950dee1357d814b85c9faa5ef6002 SHA512 275ce5ccf9f138bcee504a9996c9d838cd34714d352d4b7ac2d631d0fca662bf38a2ef7e8745605d9b3847049015e0791c937340cfdacbf44800482ce73bb042 WHIRLPOOL b7cdc4d6752d00b315fb369f6382e1a6684c1cb8a3486545bd406270ed09811936c2735755fc01175fceed0422139e5d7d8dcd67868e2e40c8ebbb406c2eec57 +AUX trqauthd-init.d 477 SHA256 41d9dfdb64b2512b6da3a0e87fbaf9ac6d7a988ce398c63d918ccf069aa81e4e SHA512 55f19b5effc21444addb465967bbd44d6f67dc48945221753512216c4fc26878d90569cdee7b277676d157aa241c04dc08df65505d21f59f046fa5448d43b81d WHIRLPOOL f1b7f0429d77619099bac9e27c849cfb7fac2f1c0306e8ab6f878a452cf67db3adfb748684a43bc78d644d48f5681ae0e3d3d641ca2457825a40820b84bb36e6 +DIST torque-2.5.13.tar.gz 5854910 SHA256 ab59d4c8e8b45383ddd8202fa83956816175e348bb955a4ad5f7e3cd4dde5ff9 SHA512 e08ddf3950bb32177f4bc504a502fae3928a616739c28ca9687c5207606817d4589583306508a2c568cf19fc8c5617dc4a9decc81576c2875660b715c256cfcf WHIRLPOOL 29eefb89d1eb9d6a81735aa117922a1eb0b72e14eeccab7dbd70cdcf01431b7ecd9c3927e1c5c28b7f42d6739b28f45386740b92adb790ccdf9803e4c6e38534 +DIST torque-4.1.7.tar.gz 6218108 SHA256 3c86b2d84589f54ac222e81dd1953d153e1d836163d2000412369fefd25fb2af SHA512 5a085c0a7b205fed075bff4599db90ca5c4bb5f22d87d76fd56539d5cc1935bb8eeffcd4d18ba84401bd4ca128718070b69c8b91ab6814a4638622ba351654e6 WHIRLPOOL cae9216f0cebc22927eec2d1f007b1a3c4a6cc619f2926c40a5f46e0bd0eec19691f9aafcad4fe727e2c5ed2485d11c972603cca613269f82147ff1dc41f1ba4 +DIST torque-4.2.10.tar.gz 6294022 SHA256 46f1f319683af6d3820e18cda69ce59113c9a5c192e1f07826007be69385889b SHA512 898703fa1d02310c22e2a02b86d67ca52ebed46684597931944edebb39f8293746739c8dca9cd10e07c2e7274c3dd7f65a5664d1980817e3feec58952c4cf4d1 WHIRLPOOL e65be66b056a519ebd1c30c2c1ae2ddf43bc4e617a52d3caced1e6dfd2b0d8b2a83c26a0f2e6e41cfae791aca68b6f91424745b2baffa2085fccc8f6ae9b8e04 +DIST torque-4.2.9.tar.gz 6294022 SHA256 46f1f319683af6d3820e18cda69ce59113c9a5c192e1f07826007be69385889b SHA512 898703fa1d02310c22e2a02b86d67ca52ebed46684597931944edebb39f8293746739c8dca9cd10e07c2e7274c3dd7f65a5664d1980817e3feec58952c4cf4d1 WHIRLPOOL e65be66b056a519ebd1c30c2c1ae2ddf43bc4e617a52d3caced1e6dfd2b0d8b2a83c26a0f2e6e41cfae791aca68b6f91424745b2baffa2085fccc8f6ae9b8e04 +DIST torque-6.0.3-1485300822_19e79ad.tar.gz 41660338 SHA256 dcbc806379596848f9887ff3b518d4ca7031e888d29d0b12e4e270c0e677dd80 SHA512 40531f2e7732a11ffc224c536f61adc48ce5699a7caebb8aa1fbe7536b5ca4ed66c8436420bc918f7538ef980818141888aa26390a5a2c8185c8cc57373a0ac1 WHIRLPOOL f504106f33a031f9e578b5aa9992423ecc50fad88ec0b380e10284007d1271aeee10da494b32d9a3f7da5a012eeaadbbae2f91f0180ef0abcda9309942eb7777 +EBUILD torque-2.5.13-r1.ebuild 7741 SHA256 9de9ea394760c905c44572e12be1f3e1566d0298e4377031c72fddeda3434393 SHA512 d17389297c11f28c4f849e95d2f5c87f428d2b8d3c6a907d5863f4cbdd19a41532cb5abf5b9d78092f99b2838c2e1892b8fb7111b4dcb98338bfa11c4bbc5e5d WHIRLPOOL bba4e436413e131f1baa143501ff81f86ed2305104960a50490c516aff2874504aa01ea317880db498b4c5ae7f8bc738e8330b737d5cf0d1f62c7ecb6f89922e +EBUILD torque-4.1.7-r1.ebuild 7491 SHA256 0e8dd567a22c62fd9c6b4869c9d1b7878bc6d33d8c539c5afffc3e7300d02f86 SHA512 e7213e0df29564fa24a48bf8b96e59a69fbd56abf5c470b794eb19fbdefe705ead880d9d908f006c9c79eeab325b0f6ccc3ae64973cb1e50061c2020c64aa816 WHIRLPOOL 6d8be71bae13d46ad27a4536c5b73685e53ed75a808f158faa47fd9cfca6ef15caa29b77b4fd1530c838c7b836c651f4dd4f37dc16497b182e11f592e17dd64f +EBUILD torque-4.2.10.ebuild 5942 SHA256 d6379c131cf7dcb1b3c643d86c7ace72b65a93184aaec8592621a9cb7f74e937 SHA512 b31613ee3bbf1623180a55e20a61ef21909a520d9fe04f776a885b06ba3335a4f684c8b18017d658c36151663a6baecbe804d6750a954bb38fc90160b0e52ad6 WHIRLPOOL 62a672550d8a75342ffe9e71bd53f49b0474c1cb8c7ab7a2adbfeb5a28cfc6cabdf5b47d5bb06afd54f7cf8f7075bbb040d21d100b7babcf4725b385b02b3ffa +EBUILD torque-4.2.9-r5.ebuild 5687 SHA256 d0ecd4e5dfa095ff14883b2ea0c0927c282dd2bbb6497c20d545219f91f8d041 SHA512 faa2b1e99265f1222123a4b30c0edeb512d67d2285cf56789c21dcf85d43daab2ebbf38a6d768614d9124b1b0b43ffec895da4010b4fab36574b79be461c8860 WHIRLPOOL b411d3f32ac0c286e3a3757b4cc7cab44bc4841ae400da69d6e25b2d8934cfca09368c99962849f5eeba612944d195e7121e1286c5ee9e701979f3594a37d114 +EBUILD torque-6.0.3.ebuild 5639 SHA256 8e3c74b82bcab83bd8914eaa871e8b9e188d987819908e616335e76c7510f678 SHA512 4043dce415db5d59743901c95a3b43301671b24515879ba5b67a98a712ba61bcce0434d607a861324c128378730b008b0c53afc9744360674c9ed9c3096f3147 WHIRLPOOL 873dd468bda5790b7b1d5a44e57d0b6b82f551aedf2da872af97097b51815527862e9c44c17b622be880b479b69794982e33aa4a5f788ff28555dde8478970d0 +MISC ChangeLog 4882 SHA256 47c534a744f898d4d7a9b6f3755dad6787f08fa35ab83be9782bc239e1fcc930 SHA512 903940262569bfe38fc67b2ad7238f449075e2c70ee9855875041eca59e7c912fa0803bc4afa23b1c83318e30a9e3e26cfcb9afb974286e2e8b66ebc5d52bccc WHIRLPOOL ca993f5e7712ffc8c8d8d3be553a9f2e1c120eeb7601a37d21d6068e644a5448684f5b313319baa95baf7374af6254a857711d22125bca48ba12b01012d93969 +MISC ChangeLog-2015 31920 SHA256 2007f50e617be4bdd277b65705450288d2eec8067f7dabf231dfedc9365094c3 SHA512 a5cc38230ce5ddc05770e7fe8b8eb19e9cfa707cedfed761d69fc2c9054942a8436860dea440b8a05830113dbf997f3649d15fd78d2c1d57484fbf0d7e560e72 WHIRLPOOL 8a2983c9e98a3dc0e434f4fb0e94e46048484f3ec1d44a3665463ff6d5047222050d8c5593f6af52e2199c5553c391aca3da3b98af0252c0ac6bdf8451f13ada +MISC metadata.xml 988 SHA256 e27586f33abc567b80daafafc201613b99068c875849b4fee3957e845ca2d942 SHA512 46f2eb41303c17e84aacf5b8548b645772ab923bf9a4847892260cc5c6aaf354acc0bb0128186acf312ed77a24d9429c97f18914d759c7c5c97c19ad62489a43 WHIRLPOOL 9b06e825891730374b1ab286a8664a9648c5de91d60b59828b5e2e267d047845f342af9072b184b020bc7aeee0feb0c41f47f7ce08275e9af0131dd33529ee70 diff --git a/sys-cluster/torque/files/CVE-2013-4319-2.x-root-submit-fix.patch b/sys-cluster/torque/files/CVE-2013-4319-2.x-root-submit-fix.patch new file mode 100644 index 000000000000..aa53239f157c --- /dev/null +++ b/sys-cluster/torque/files/CVE-2013-4319-2.x-root-submit-fix.patch @@ -0,0 +1,40 @@ +From 5dee0365a56dd2cc4cfd0b182bc843b4f32c086c Mon Sep 17 00:00:00 2001 +From: Justin Bronder <jsbronder@gmail.com> +Date: Mon, 23 Dec 2013 12:40:27 -0500 +Subject: [PATCH] CVE-2013-4319: 2.x root submit fix + +https://bugs.gentoo.org/show_bug.cgi?id=484320 +http://nvd.nist.gov/nvd.cfm?cvename=CVE-2013-4319\ +--- + src/server/process_request.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/src/server/process_request.c b/src/server/process_request.c +index d4a3c92..b06a333 100644 +--- a/src/server/process_request.c ++++ b/src/server/process_request.c +@@ -640,6 +640,21 @@ void process_request( + log_buffer); + } + ++ if (svr_conn[sfds].cn_authen != PBS_NET_CONN_FROM_PRIVIL) ++ { ++ sprintf(log_buffer, "request type %s from host %s rejected (connection not privileged)", ++ reqtype_to_txt(request->rq_type), ++ request->rq_host); ++ ++ log_record(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, id, log_buffer); ++ ++ req_reject(PBSE_BADHOST, 0, request, NULL, "request not authorized"); ++ ++ close_client(sfds); ++ ++ return; ++ } ++ + if (!tfind(svr_conn[sfds].cn_addr, &okclients)) + { + sprintf(log_buffer, "request type %s from host %s rejected (host not authorized)", +-- +1.8.3.2 + diff --git a/sys-cluster/torque/files/CVE-2013-4495.4.1.patch b/sys-cluster/torque/files/CVE-2013-4495.4.1.patch new file mode 100644 index 000000000000..810a4f0944a5 --- /dev/null +++ b/sys-cluster/torque/files/CVE-2013-4495.4.1.patch @@ -0,0 +1,343 @@ +From 2aad72c3d2ac612ecbb66828ac6ed5ab51eff5f3 Mon Sep 17 00:00:00 2001 +From: David Beer <dbeer@adaptivecomputing.com> +Date: Mon, 11 Nov 2013 11:55:58 -0700 +Subject: [PATCH] Fix CVE 2013-4495. Note: this patch has been verified as + fixing this security hole but has not received other regression testing. + Could not cherry-pick as 2.5 and 4.1 are very different. + +--- + src/server/svr_mail.c | 265 ++++++++++++++++++++++++++++++++------------------ + 1 file changed, 170 insertions(+), 95 deletions(-) + +diff --git a/src/server/svr_mail.c b/src/server/svr_mail.c +index b269e82..52f2f1f 100644 +--- a/src/server/svr_mail.c ++++ b/src/server/svr_mail.c +@@ -89,6 +89,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> ++#include <unistd.h> + #include "list_link.h" + #include "attribute.h" + #include "server_limits.h" +@@ -136,6 +137,77 @@ void free_mail_info( + + + ++void add_body_info( ++ ++ char *bodyfmtbuf /* I */, ++ mail_info *mi /* I */) ++ ++ { ++ char *bodyfmt = NULL; ++ bodyfmt = strcpy(bodyfmtbuf, "PBS Job Id: %i\n" ++ "Job Name: %j\n"); ++ if (mi->exec_host != NULL) ++ { ++ strcat(bodyfmt, "Exec host: %h\n"); ++ } ++ ++ strcat(bodyfmt, "%m\n"); ++ ++ if (mi->text != NULL) ++ { ++ strcat(bodyfmt, "%d\n"); ++ } ++ } ++ ++ ++/* ++ * write_email() ++ * ++ * In emailing, the mail body is written to a pipe connected to ++ * standard input for sendmail. This function supplies the body ++ * of the message. ++ * ++ */ ++void write_email( ++ ++ FILE *outmail_input, ++ mail_info *mi) ++ ++ { ++ char *bodyfmt = NULL; ++ char *subjectfmt = NULL; ++ ++ /* Pipe in mail headers: To: and Subject: */ ++ fprintf(outmail_input, "To: %s\n", mi->mailto); ++ ++ /* mail subject line formating statement */ ++ get_svr_attr_str(SRV_ATR_MailSubjectFmt, (char **)&subjectfmt); ++ if (subjectfmt == NULL) ++ { ++ subjectfmt = "PBS JOB %i"; ++ } ++ ++ fprintf(outmail_input, "Subject: "); ++ svr_format_job(outmail_input, mi, subjectfmt); ++ fprintf(outmail_input, "\n"); ++ ++ /* Set "Precedence: bulk" to avoid vacation messages, etc */ ++ fprintf(outmail_input, "Precedence: bulk\n\n"); ++ ++ /* mail body formating statement */ ++ get_svr_attr_str(SRV_ATR_MailBodyFmt, &bodyfmt); ++ if (bodyfmt == NULL) ++ { ++ char bodyfmtbuf[MAXLINE]; ++ add_body_info(bodyfmtbuf, mi); ++ bodyfmt = bodyfmtbuf; ++ } ++ ++ /* Now pipe in the email body */ ++ svr_format_job(outmail_input, mi, bodyfmt); ++ ++ } /* write_email() */ ++ + + + void *send_the_mail( +@@ -143,15 +215,19 @@ void *send_the_mail( + void *vp) + + { +- mail_info *mi = (mail_info *)vp; +- +- int i; +- char *mailfrom = NULL; +- char *subjectfmt = NULL; +- char *bodyfmt = NULL; +- char *cmdbuf = NULL; +- char bodyfmtbuf[MAXLINE]; +- FILE *outmail; ++ mail_info *mi = (mail_info *)vp; ++ ++ int status = 0; ++ int numargs = 0; ++ int pipes[2]; ++ int counter; ++ pid_t pid; ++ char *mailptr; ++ char *mailfrom = NULL; ++ char tmpBuf[LOG_BUF_SIZE]; ++ // We call sendmail with cmd_name + 2 arguments + # of mailto addresses + 1 for null ++ char *sendmail_args[100]; ++ FILE *stream; + + /* Who is mail from, if SRV_ATR_mailfrom not set use default */ + get_svr_attr_str(SRV_ATR_mailfrom, &mailfrom); +@@ -173,124 +249,123 @@ void *send_the_mail( + mailfrom = PBS_DEFAULT_MAIL; + } + +- /* mail subject line formating statement */ +- get_svr_attr_str(SRV_ATR_MailSubjectFmt, &subjectfmt); +- if (subjectfmt == NULL) +- { +- subjectfmt = "PBS JOB %i"; +- } ++ sendmail_args[numargs++] = (char *)SENDMAIL_CMD; ++ sendmail_args[numargs++] = (char *)"-f"; ++ sendmail_args[numargs++] = (char *)mailfrom; + +- /* mail body formating statement */ +- get_svr_attr_str(SRV_ATR_MailBodyFmt, &bodyfmt); +- if (bodyfmt == NULL) ++ /* Add the e-mail addresses to the command line */ ++ mailptr = strdup(mi->mailto); ++ sendmail_args[numargs++] = mailptr; ++ for (counter=0; counter < (int)strlen(mailptr); counter++) + { +- bodyfmt = strcpy(bodyfmtbuf, "PBS Job Id: %i\n" +- "Job Name: %j\n"); +- if (mi->exec_host != NULL) ++ if (mailptr[counter] == ',') + { +- strcat(bodyfmt, "Exec host: %h\n"); +- } +- +- strcat(bodyfmt, "%m\n"); +- +- if (mi->text != NULL) +- { +- strcat(bodyfmt, "%d\n"); ++ mailptr[counter] = '\0'; ++ sendmail_args[numargs++] = mailptr + counter + 1; ++ if (numargs >= 99) ++ break; + } + } + +- /* setup sendmail command line with -f from_whom */ +- i = strlen(SENDMAIL_CMD) + strlen(mailfrom) + strlen(mi->mailto) + 6; +- +- if ((cmdbuf = calloc(1, i + 1)) == NULL) ++ sendmail_args[numargs] = NULL; ++ ++ /* Create a pipe to talk to the sendmail process we are about to fork */ ++ if (pipe(pipes) == -1) + { +- char tmpBuf[LOG_BUF_SIZE]; +- +- snprintf(tmpBuf,sizeof(tmpBuf), +- "Unable to popen() command '%s' for writing: '%s' (error %d)\n", +- SENDMAIL_CMD, +- strerror(errno), +- errno); ++ snprintf(tmpBuf, sizeof(tmpBuf), "Unable to pipes for sending e-mail\n"); + log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB, + PBS_EVENTCLASS_JOB, + mi->jobid, + tmpBuf); +- +- free_mail_info(mi); + ++ free_mail_info(mi); ++ free(mailptr); + return(NULL); + } + +- sprintf(cmdbuf, "%s -f %s %s", +- SENDMAIL_CMD, +- mailfrom, +- mi->mailto); +- +- outmail = popen(cmdbuf, "w"); +- +- if (outmail == NULL) ++ if ((pid=fork()) == -1) + { +- char tmpBuf[LOG_BUF_SIZE]; +- +- snprintf(tmpBuf,sizeof(tmpBuf), +- "Unable to popen() command '%s' for writing: '%s' (error %d)\n", +- cmdbuf, +- strerror(errno), +- errno); ++ snprintf(tmpBuf, sizeof(tmpBuf), "Unable to fork for sending e-mail\n"); + log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB, + PBS_EVENTCLASS_JOB, + mi->jobid, + tmpBuf); + + free_mail_info(mi); +- free(cmdbuf); +- ++ free(mailptr); ++ close(pipes[0]); ++ close(pipes[1]); + return(NULL); + } ++ else if (pid == 0) ++ { ++ /* CHILD */ + +- /* Pipe in mail headers: To: and Subject: */ +- fprintf(outmail, "To: %s\n", mi->mailto); ++ /* Make stdin the read end of the pipe */ ++ dup2(pipes[0], 0); + +- fprintf(outmail, "Subject: "); +- svr_format_job(outmail, mi, subjectfmt); +- fprintf(outmail, "\n"); ++ /* Close the rest of the open file descriptors */ ++ int numfds = sysconf(_SC_OPEN_MAX); ++ while (--numfds > 0) ++ close(numfds); + +- /* Set "Precedence: bulk" to avoid vacation messages, etc */ +- fprintf(outmail, "Precedence: bulk\n\n"); ++ execv(SENDMAIL_CMD, sendmail_args); ++ /* This never returns, but if the execv fails the child should exit */ ++ exit(1); ++ } ++ else ++ { ++ /* This is the parent */ + +- /* Now pipe in the email body */ +- svr_format_job(outmail, mi, bodyfmt); ++ /* Close the read end of the pipe */ ++ close(pipes[0]); + +- errno = 0; +- if ((i = pclose(outmail)) != 0) +- { +- char tmpBuf[LOG_BUF_SIZE]; ++ /* Write the body to the pipe */ ++ stream = fdopen(pipes[1], "w"); ++ write_email(stream, mi); + +- snprintf(tmpBuf,sizeof(tmpBuf), +- "Email '%c' to %s failed: Child process '%s' %s %d (errno %d:%s)\n", +- mi->mail_point, +- mi->mailto, +- cmdbuf, +- ((WIFEXITED(i)) ? ("returned") : ((WIFSIGNALED(i)) ? ("killed by signal") : ("croaked"))), +- ((WIFEXITED(i)) ? (WEXITSTATUS(i)) : ((WIFSIGNALED(i)) ? (WTERMSIG(i)) : (i))), +- errno, +- strerror(errno)); +- log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB, +- PBS_EVENTCLASS_JOB, +- mi->jobid, +- tmpBuf); +- } +- else if (LOGLEVEL >= 4) +- { +- log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB, +- PBS_EVENTCLASS_JOB, +- mi->jobid, +- "Email sent successfully\n"); +- } ++ fflush(stream); ++ ++ /* Close and wait for the command to finish */ ++ if (fclose(stream) != 0) ++ { ++ snprintf(tmpBuf,sizeof(tmpBuf), ++ "Piping mail body to sendmail closed: errno %d:%s\n", ++ errno, strerror(errno)); ++ ++ log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB, ++ PBS_EVENTCLASS_JOB, ++ mi->jobid, ++ tmpBuf); ++ } ++ ++ // we aren't going to block in order to find out whether or not sendmail worked ++ if ((waitpid(pid, &status, WNOHANG) != 0) && ++ (status != 0)) ++ { ++ snprintf(tmpBuf,sizeof(tmpBuf), ++ "Sendmail command returned %d. Mail may not have been sent\n", ++ status); ++ ++ log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB, ++ PBS_EVENTCLASS_JOB, ++ mi->jobid, ++ tmpBuf); ++ } + +- free_mail_info(mi); +- free(cmdbuf); ++ // don't leave zombies ++ while (waitpid(-1, &status, WNOHANG) != 0) ++ { ++ // zombie reaped, NO-OP ++ } ++ ++ free_mail_info(mi); ++ free(mailptr); ++ return(NULL); ++ } + ++ /* NOT REACHED */ ++ + return(NULL); + } /* END send_the_mail() */ + +-- +1.8.3.2 + diff --git a/sys-cluster/torque/files/CVE-2013-4495.patch b/sys-cluster/torque/files/CVE-2013-4495.patch new file mode 100644 index 000000000000..41232c07ec72 --- /dev/null +++ b/sys-cluster/torque/files/CVE-2013-4495.patch @@ -0,0 +1,32 @@ +From 8246d967bbcf174482ef01b1bf4920a5944b1011 Mon Sep 17 00:00:00 2001 +From: David Beer <dbeer@adaptivecomputing.com> +Date: Wed, 13 Nov 2013 10:47:48 -0700 +Subject: [PATCH] Use Michael Jenning's patch for CVE 2013-4495 instead of the + original. This one is being used because 2.5 should face the minimal possible + change. + +--- + src/server/svr_mail.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/src/server/svr_mail.c b/src/server/svr_mail.c +index 26b6dd7..241bdfc 100644 +--- a/src/server/svr_mail.c ++++ b/src/server/svr_mail.c +@@ -372,11 +372,9 @@ void svr_mailowner( + exit(1); + } + +- sprintf(cmdbuf, "%s -f %s %s", +- ++ sprintf(cmdbuf, "%s -t -f %s", + SENDMAIL_CMD, +- mailfrom, +- mailto); ++ mailfrom); + + outmail = (FILE *)popen(cmdbuf, "w"); + +-- +1.8.3.2 + diff --git a/sys-cluster/torque/files/CVE-2014-0749.patch b/sys-cluster/torque/files/CVE-2014-0749.patch new file mode 100644 index 000000000000..52131edcf7e0 --- /dev/null +++ b/sys-cluster/torque/files/CVE-2014-0749.patch @@ -0,0 +1,32 @@ +From 3ed749263abe3d69fa3626d142a5789dcb5a5684 Mon Sep 17 00:00:00 2001 +From: David Beer <dbeer@adaptivecomputing.com> +Date: Fri, 23 Aug 2013 15:53:09 -0600 +Subject: [PATCH] Merge pull request #171 into 2.5-fixes. + +--- + src/lib/Libdis/disrsi_.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/lib/Libdis/disrsi_.c b/src/lib/Libdis/disrsi_.c +index 69edd28..154514c 100644 +--- a/src/lib/Libdis/disrsi_.c ++++ b/src/lib/Libdis/disrsi_.c +@@ -112,6 +112,15 @@ int disrsi_( + if (dis_umaxd == 0) + disiui_(); + ++ if (count >= dis_umaxd) ++ { ++ if (count > dis_umaxd) ++ goto overflow; ++ ++ if (memcmp(scratch, dis_umax, dis_umaxd) > 0) ++ goto overflow; ++ } ++ + switch (c = (*dis_getc)(stream)) + { + +-- +1.8.3.2 + diff --git a/sys-cluster/torque/files/TRQ-2885-limit-tm_adopt-to-only-adopt-a-session-id-t.patch b/sys-cluster/torque/files/TRQ-2885-limit-tm_adopt-to-only-adopt-a-session-id-t.patch new file mode 100644 index 000000000000..63713a0bc16f --- /dev/null +++ b/sys-cluster/torque/files/TRQ-2885-limit-tm_adopt-to-only-adopt-a-session-id-t.patch @@ -0,0 +1,134 @@ +From f2f4c950f3d461a249111c8826da3beaafccace9 Mon Sep 17 00:00:00 2001 +From: Chad Vizino <cvizino@adaptivecomputing.com> +Date: Tue, 23 Sep 2014 17:40:59 -0600 +Subject: [PATCH 1/2] TRQ-2885 - limit tm_adopt() to only adopt a session id + that is owned by the calling user. + +--- + src/cmds/pbs_track.c | 6 ++++++ + src/include/tm.h | 2 +- + src/include/tm_.h | 1 + + src/lib/Libifl/tm.c | 37 ++++++++++++++++++++++++++++++++++--- + 5 files changed, 56 insertions(+), 4 deletions(-) + +diff --git a/src/cmds/pbs_track.c b/src/cmds/pbs_track.c +index 7a90fda..9383ea5 100644 +--- a/src/cmds/pbs_track.c ++++ b/src/cmds/pbs_track.c +@@ -164,6 +164,12 @@ int main( + + break; + ++ case TM_EPERM: ++ ++ fprintf(stderr, "pbs_track: permission denied: %s (%d)\n", ++ pbse_to_txt(rc), ++ rc); ++ + default: + + /* Unexpected error occurred */ +diff --git a/src/include/tm.h b/src/include/tm.h +index 106d3fb..2288828 100644 +--- a/src/include/tm.h ++++ b/src/include/tm.h +@@ -125,7 +125,7 @@ int tm_register(tm_whattodo_t *what, + /* + * DJH 15 Nov 2001. + * Generic "out-of-band" task adoption call for tasks parented by +- * another job management system. Minor security hole? ++ * another job management system. + * Cannot be called with any other tm call. + * 26 Feb 2002. Allows id to be jobid (adoptCmd = TM_ADOPT_JOBID) + * or some altid (adoptCmd = TM_ADOPT_ALTID) +diff --git a/src/include/tm_.h b/src/include/tm_.h +index c9393b9..8cae7b0 100644 +--- a/src/include/tm_.h ++++ b/src/include/tm_.h +@@ -136,6 +136,7 @@ typedef unsigned int tm_task_id; + #define TM_EBADENVIRONMENT 17005 + #define TM_ENOTFOUND 17006 + #define TM_BADINIT 17007 ++#define TM_EPERM 17008 + + #define TM_TODO_NOP 5000 /* Do nothing (the nodes value may be new) */ + #define TM_TODO_CKPT 5001 /* Checkpoint <what> and continue it */ +diff --git a/src/lib/Libifl/iff --git a/src/lib/Libifl/tm.c b/src/lib/Libifl/tm.c +index edb6273..4f38529 100644 +--- a/src/lib/Libifl/tm.c ++++ b/src/lib/Libifl/tm.c +@@ -94,6 +94,7 @@ + #include <errno.h> + #include <assert.h> + #include <sys/types.h> ++#include <sys/stat.h> + #include <sys/socket.h> + #include <sys/time.h> + #include <netinet/in.h> +@@ -169,6 +170,31 @@ typedef struct event_info + static event_info *event_hash[EVENT_HASH]; + + /* ++ * check if the owner of this process matches the owner of pid ++ * returns TRUE if so, FALSE otherwise ++ */ ++bool ispidowner(pid_t pid) ++ { ++ char path[MAXPATHLEN]; ++ struct stat sbuf; ++ ++ /* build path to pid */ ++ snprintf(path, sizeof(path), "/proc/%d", pid); ++ ++ /* do the stat */ ++ /* if it fails, assume not owner */ ++ if (stat(path, &sbuf) != 0) ++ return(FALSE); ++ ++ /* see if caller is the owner of pid */ ++ if (getuid() != sbuf.st_uid) ++ return(FALSE); ++ ++ /* caller is owner */ ++ return(TRUE); ++ } ++ ++/* + ** Find an event number or return a NULL. + */ + event_info *find_event( +@@ -1800,8 +1826,8 @@ tm_poll_error: + * some mpiruns simply use rsh to start remote processes - no AMS + * tracking or management facilities are available. + * +- * This function allows any task (session) to be adopted into a PBS +- * job. It is used by: ++ * This function allows any task (session) owned by the owner ++ * of the job to be adopted into a PBS job. It is used by: + * - "adopter" (which is in turn used by our pvmrun) + * - our rmsloader wrapper (a home-brew replacement for RMS' + * rmsloader that does some work and then exec()s the real +@@ -1835,7 +1861,8 @@ tm_poll_error: + * the mom. Returns TM_ENOTFOUND if the mom couldn't find a job + * with the given RMS resource id. Returns TM_ESYSTEM or + * TM_ENOTCONNECTED if there was some sort of comms error talking +- * to the mom ++ * to the mom. Returns TM_EPERM if an attempt was made to adopt ++ * a session not owned by the owner of the job. + * + * Side effects: + * Sets the tm_* globals to fake values if tm_init() has never +@@ -1860,6 +1887,10 @@ int tm_adopt( + + sid = getsid(pid); + ++ /* do not adopt a sid not owned by caller */ ++ if (!ispidowner(sid)) ++ return(TM_EPERM); ++ + /* Must be the only call to call to tm and + must only be called once */ + +-- +1.8.3.2 + diff --git a/sys-cluster/torque/files/pbs_mom-init.d b/sys-cluster/torque/files/pbs_mom-init.d new file mode 100644 index 000000000000..7f267838f693 --- /dev/null +++ b/sys-cluster/torque/files/pbs_mom-init.d @@ -0,0 +1,48 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the Torque 2.5+ License + +. /etc/conf.d/torque +PBS_SERVER_HOME="$(. /etc/env.d/25torque; echo ${PBS_SERVER_HOME})" + +depend() { + need net + after pbs_server + after pbs_sched + after logger +} + +checkconfig() { + for i in "server_name" "mom_priv/config"; do + if [ ! -e ${PBS_SERVER_HOME}/${i} ]; then + eerror "Missing config file ${PBS_SERVER_HOME}/${i}" + return 1 + fi + done +} + +start() { + checkconfig || return 1 + + ebegin "Starting Torque pbs_mom" + local extra_args="" + if [ -n "${PBS_MOM_LOG}" ]; then + extra_args="-L ${PBS_MOM_LOG}" + fi + start-stop-daemon --start -p ${PBS_SERVER_HOME}/mom_priv/mom.lock \ + --exec /usr/sbin/pbs_mom -- -d ${PBS_SERVER_HOME} ${extra_args} + eend ${?} +} + +stop() { + ebegin "Stopping Torque pbs_mom" + /usr/sbin/momctl -s || start-stop-daemon --stop -p ${PBS_SERVER_HOME}/mom_priv/mom.lock + eend ${?} +} + +restart() { + svc_stop + sleep 3 + svc_start +} +# vim:ts=4 diff --git a/sys-cluster/torque/files/pbs_mom-init.d-munge b/sys-cluster/torque/files/pbs_mom-init.d-munge new file mode 100644 index 000000000000..062645ed5dc0 --- /dev/null +++ b/sys-cluster/torque/files/pbs_mom-init.d-munge @@ -0,0 +1,48 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the Torque 2.5+ License + +. /etc/conf.d/torque +PBS_SERVER_HOME="$(. /etc/env.d/25torque; echo ${PBS_SERVER_HOME})" + +depend() { + local _need="net" + after pbs_server pbs_sched logger + [ ${PBS_USE_MUNGE} -ne 0 ] && _need="${_need} munged" + need ${_need} +} + +checkconfig() { + for i in "server_name" "mom_priv/config"; do + if [ ! -e ${PBS_SERVER_HOME}/${i} ]; then + eerror "Missing config file ${PBS_SERVER_HOME}/${i}" + return 1 + fi + done +} + +start() { + checkconfig || return 1 + + ebegin "Starting Torque pbs_mom" + local extra_args="" + if [ -n "${PBS_MOM_LOG}" ]; then + extra_args="-L ${PBS_MOM_LOG}" + fi + start-stop-daemon --start -p ${PBS_SERVER_HOME}/mom_priv/mom.lock \ + --exec /usr/sbin/pbs_mom -- -d ${PBS_SERVER_HOME} ${extra_args} + eend ${?} +} + +stop() { + ebegin "Stopping Torque pbs_mom" + /usr/sbin/momctl -s || start-stop-daemon --stop -p ${PBS_SERVER_HOME}/mom_priv/mom.lock + eend ${?} +} + +restart() { + svc_stop + sleep 3 + svc_start +} +# vim:ts=4 diff --git a/sys-cluster/torque/files/pbs_sched-init.d b/sys-cluster/torque/files/pbs_sched-init.d new file mode 100644 index 000000000000..006ef58b51cb --- /dev/null +++ b/sys-cluster/torque/files/pbs_sched-init.d @@ -0,0 +1,48 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the Torque 2.5+ License + +. /etc/conf.d/torque +PBS_SERVER_HOME="$(. /etc/env.d/25torque; echo ${PBS_SERVER_HOME})" + +depend() { + need net + after pbs_server + before pbs_mom + after logger +} + +checkconfig() { + for i in "server_name"; do + if [ ! -e ${PBS_SERVER_HOME}/${i} ]; then + eerror "Missing config file ${PBS_SERVER_HOME}/${i}" + return 1 + fi + done + + if [ -z "$(grep 'queue_type' ${PBS_SERVER_HOME}/server_priv/queues/*)" ]; then + eerror "No queues have been defined yet." + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting Torque pbs_sched" + local extra_args="" + if [ -n "${PBS_SCHED_LOG}" ]; then + extra_args="-L ${PBS_SCHED_LOG}" + fi + + start-stop-daemon --start -p ${PBS_SERVER_HOME}/sched_priv/sched.lock \ + --exec /usr/sbin/pbs_sched -- -d ${PBS_SERVER_HOME} ${extra_args} + eend ${?} +} + +stop() { + ebegin "Stopping Torque pbs_sched" + start-stop-daemon --stop -p ${PBS_SERVER_HOME}/sched_priv/sched.lock + eend ${?} +} +# vim:ts=4 diff --git a/sys-cluster/torque/files/pbs_server-init.d b/sys-cluster/torque/files/pbs_server-init.d new file mode 100644 index 000000000000..1fafa8db336c --- /dev/null +++ b/sys-cluster/torque/files/pbs_server-init.d @@ -0,0 +1,60 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the Torque 2.5+ License + +. /etc/conf.d/torque +PBS_SERVER_HOME="$(. /etc/env.d/25torque; echo ${PBS_SERVER_HOME})" + +depend() { + need net + before pbs_sched + before pbs_mom + after logger +} + +checkconfig() { + for i in "server_name" "server_priv/nodes"; do + if [ ! -e "${PBS_SERVER_HOME}/${i}" ]; then + eerror "Missing config file ${PBS_SERVER_HOME}/${i}" + return 1 + fi + done + + if [ ! -e "${PBS_SERVER_HOME}/server_priv/serverdb" ]; then + eerror "Torque has not been fully configured to run." + eerror "Missing ${PBS_SERVER_HOME}/server_priv/serverdb" + return 1 + fi + + if [ -z "$(grep 'queue_type' ${PBS_SERVER_HOME}/server_priv/queues/*)" ]; then + eerror "No queues have been defined yet." + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting Torque pbs_server" + local extra_args="" + if [ -n "${PBS_SERVER_LOG}" ]; then + extra_args="-L ${PBS_SERVER_LOG}" + fi + + start-stop-daemon --start -p ${PBS_SERVER_HOME}/server_priv/server.lock \ + --exec /usr/sbin/pbs_server -- -d ${PBS_SERVER_HOME} ${extra_args} + eend ${?} +} + +stop() { + ebegin "Stopping Torque pbs_server" + stop_type="${PBS_SERVER_STOP}" + if [ -z "${stop_type}" ]; then + ewarn "PBS_SERVER_STOP is not defined, defaulting to quick" + stop_type=quick + fi + + /usr/bin/qterm -t ${stop_type} || start-stop-daemon --stop -p ${PBS_SERVER_HOME}/server_priv/server.lock + eend ${?} +} +# vim:ts=4 diff --git a/sys-cluster/torque/files/pbs_server-init.d-munge b/sys-cluster/torque/files/pbs_server-init.d-munge new file mode 100644 index 000000000000..d5e303f955ac --- /dev/null +++ b/sys-cluster/torque/files/pbs_server-init.d-munge @@ -0,0 +1,61 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the Torque 2.5+ License + +. /etc/conf.d/torque +PBS_SERVER_HOME="$(. /etc/env.d/25torque; echo ${PBS_SERVER_HOME})" + +depend() { + local _need="net" + before pbs_sched pbs_mom + after logger + [ ${PBS_USE_MUNGE} -ne 0 ] && _need="${_need} munged" + need ${_need} +} + +checkconfig() { + for i in "server_name" "server_priv/nodes"; do + if [ ! -e "${PBS_SERVER_HOME}/${i}" ]; then + eerror "Missing config file ${PBS_SERVER_HOME}/${i}" + return 1 + fi + done + + if [ ! -e "${PBS_SERVER_HOME}/server_priv/serverdb" ]; then + eerror "Torque has not been fully configured to run." + eerror "Missing ${PBS_SERVER_HOME}/server_priv/serverdb" + return 1 + fi + + if [ -z "$(grep 'queue_type' ${PBS_SERVER_HOME}/server_priv/queues/*)" ]; then + eerror "No queues have been defined yet." + return 1 + fi +} + +start() { + checkconfig || return 1 + + ebegin "Starting Torque pbs_server" + local extra_args="" + if [ -n "${PBS_SERVER_LOG}" ]; then + extra_args="-L ${PBS_SERVER_LOG}" + fi + + start-stop-daemon --start -p ${PBS_SERVER_HOME}/server_priv/server.lock \ + --exec /usr/sbin/pbs_server -- -d ${PBS_SERVER_HOME} ${extra_args} + eend ${?} +} + +stop() { + ebegin "Stopping Torque pbs_server" + stop_type="${PBS_SERVER_STOP}" + if [ -z "${stop_type}" ]; then + ewarn "PBS_SERVER_STOP is not defined, defaulting to quick" + stop_type=quick + fi + + /usr/bin/qterm -t ${stop_type} || start-stop-daemon --stop -p ${PBS_SERVER_HOME}/server_priv/server.lock + eend ${?} +} +# vim:ts=4 diff --git a/sys-cluster/torque/files/tcl8.6.patch b/sys-cluster/torque/files/tcl8.6.patch new file mode 100644 index 000000000000..0361dbfead0a --- /dev/null +++ b/sys-cluster/torque/files/tcl8.6.patch @@ -0,0 +1,87 @@ +From 061f15e06d6cf85e951cd321360067de5f0b2ce0 Mon Sep 17 00:00:00 2001 +From: Justin Bronder <jsbronder@gmail.com> +Date: Thu, 7 Mar 2013 22:33:04 -0500 +Subject: [PATCH] support tcl-8.6 + +--- + src/cmds/qstat.c | 13 +++++++++---- + src/scheduler.tcl/pbs_tclWrap.c | 6 +++--- + 2 files changed, 12 insertions(+), 7 deletions(-) + +diff --git a/src/cmds/qstat.c b/src/cmds/qstat.c +index 5f85de7..7f289ba 100644 +--- a/src/cmds/qstat.c ++++ b/src/cmds/qstat.c +@@ -88,6 +88,11 @@ + #if TCL_QSTAT + #include <sys/stat.h> + #include <tcl.h> ++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6 ++#define Tcl_GetStringResult(x) x->result ++#define Tcl_GetErrorLine(x) x->errorLine ++#define Tcl_SetResult(x, y, z) x->result = y ++#endif + #if TCLX + #include <tclExtend.h> + #endif +@@ -1856,7 +1861,7 @@ tcl_init(void) + if (Tcl_Init(interp) == TCL_ERROR) + { + fprintf(stderr, "Tcl_Init error: %s", +- interp->result); ++ Tcl_GetStringResult(interp)); + } + + #if TCLX +@@ -1869,7 +1874,7 @@ tcl_init(void) + { + #endif + fprintf(stderr, "Tclx_Init error: %s", +- interp->result); ++ Tcl_GetStringResult(interp)); + } + + #endif /* TCLX */ +@@ -1980,10 +1985,10 @@ void tcl_run( + trace = (char *)Tcl_GetVar(interp, "errorInfo", 0); + + if (trace == NULL) +- trace = interp->result; ++ trace = Tcl_GetStringResult(interp); + + fprintf(stderr, "%s: TCL error @ line %d: %s\n", +- script, interp->errorLine, trace); ++ script, Tcl_GetErrorLine(interp), trace); + } + + Tcl_DeleteInterp(interp); +diff --git a/src/scheduler.tcl/pbs_tclWrap.c b/src/scheduler.tcl/pbs_tclWrap.c +index e859ae5..194c24b 100644 +--- a/src/scheduler.tcl/pbs_tclWrap.c ++++ b/src/scheduler.tcl/pbs_tclWrap.c +@@ -924,7 +924,7 @@ char *argv[]; + + if (argc != 2) + { +- sprintf(interp->result, ++ sprintf(Tcl_GetStringResult(interp), + "%s: wrong # args: job_id", argv[0]); + return TCL_ERROR; + } +@@ -936,11 +936,11 @@ char *argv[]; + return TCL_OK; + } + +- interp->result = "0"; ++ Tcl_SetResult(interp, "0", TCL_STATIC); + + if (pbs_rerunjob(connector, argv[1], extend)) + { +- interp->result = "-1"; ++ Tcl_SetResult(interp, "-1", TCL_STATIC); + msg = pbs_geterrmsg(connector); + sprintf(log_buffer, "%s (%d)", msg ? msg : fail, pbs_errno); + log_err(-1, argv[0], log_buffer); +-- +1.7.12.4 + diff --git a/sys-cluster/torque/files/torque-4.1.5.1-tcl8.6.patch b/sys-cluster/torque/files/torque-4.1.5.1-tcl8.6.patch new file mode 100644 index 000000000000..2e8a8ed8f359 --- /dev/null +++ b/sys-cluster/torque/files/torque-4.1.5.1-tcl8.6.patch @@ -0,0 +1,93 @@ + src/cmds/qstat.c | 18 ++++++++++++++++++ + src/scheduler.tcl/pbs_tclWrap.c | 13 +++++++++++++ + 2 files changed, 31 insertions(+) + +diff --git a/src/cmds/qstat.c b/src/cmds/qstat.c +index 4e1c6b6..07ed448 100644 +--- a/src/cmds/qstat.c ++++ b/src/cmds/qstat.c +@@ -1795,8 +1795,13 @@ tcl_init(void) + + if (Tcl_Init(interp) == TCL_ERROR) + { ++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6 + fprintf(stderr, "Tcl_Init error: %s", + interp->result); ++#else ++ fprintf(stderr, "Tcl_Init error: %s", ++ Tcl_GetStringResult(interp)); ++#endif + } + + #if TCLX +@@ -1808,8 +1813,14 @@ tcl_init(void) + if (Tclx_Init(interp) == TCL_ERROR) + { + #endif ++ ++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6 + fprintf(stderr, "Tclx_Init error: %s", + interp->result); ++#else ++ fprintf(stderr, "Tclx_Init error: %s", ++ Tcl_GetStringResult(interp)); ++#endif + } + + #endif /* TCLX */ +@@ -1920,10 +1931,17 @@ void tcl_run( + trace = (char *)Tcl_GetVar(interp, "errorInfo", 0); + + if (trace == NULL) ++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6 + trace = interp->result; + + fprintf(stderr, "%s: TCL error @ line %d: %s\n", + script, interp->errorLine, trace); ++#else ++ trace = Tcl_GetStringResult(interp); ++ ++ fprintf(stderr, "%s: TCL error @ line %d: %s\n", ++ script, Tcl_GetErrorLine(interp), trace); ++#endif + } + + Tcl_DeleteInterp(interp); +diff --git a/src/scheduler.tcl/pbs_tclWrap.c b/src/scheduler.tcl/pbs_tclWrap.c +index a85e8ff..46c1012 100644 +--- a/src/scheduler.tcl/pbs_tclWrap.c ++++ b/src/scheduler.tcl/pbs_tclWrap.c +@@ -900,8 +900,13 @@ char *argv[]; + + if (argc != 2) + { ++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6 + sprintf(interp->result, + "%s: wrong # args: job_id", argv[0]); ++#else ++ sprintf(Tcl_GetStringResult(interp), ++ "%s: wrong # args: job_id", argv[0]); ++#endif + return TCL_ERROR; + } + +@@ -912,11 +917,19 @@ char *argv[]; + return TCL_OK; + } + ++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6 + interp->result = "0"; ++#else ++ Tcl_SetResult(interp, "0", TCL_STATIC); ++#endif + + if (pbs_rerunjob_err(connector, argv[1], extend, &local_errno)) + { ++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6 + interp->result = "-1"; ++#else ++ Tcl_SetResult(interp, "-1", TCL_STATIC); ++#endif + msg = pbs_geterrmsg(connector); + sprintf(log_buffer, "%s (%d)", msg ? msg : fail, local_errno); + log_err(-1, argv[0], log_buffer); diff --git a/sys-cluster/torque/files/torque-4.2-dont-mess-with-cflags.patch b/sys-cluster/torque/files/torque-4.2-dont-mess-with-cflags.patch new file mode 100644 index 000000000000..aec54aff030f --- /dev/null +++ b/sys-cluster/torque/files/torque-4.2-dont-mess-with-cflags.patch @@ -0,0 +1,27 @@ +--- a/configure.ac 2014-09-10 21:06:26.000000000 -0400 ++++ b/configure.ac 2017-05-23 10:43:59.051759539 -0400 +@@ -703,24 +703,6 @@ + AC_HELP_STRING([--with-debug], [compile with debugging symbols]), + DEBUG_SYMBOLS=$withval, DEBUG_SYMBOLS="yes") + AC_MSG_RESULT([DEBUG_SYMBOLS=$DEBUG_SYMBOLS]) +-dnl remove -O* and add -g +-if test "$DEBUG_SYMBOLS" = 'yes'; then +- AC_MSG_RESULT([before tweak CFLAGS=$CFLAGS]) +- CFLAGS=`echo $CFLAGS | sed 's/ \?-O[[^ ]]*//g'` +- AC_MSG_RESULT([mid tweak CFLAGS=$CFLAGS]) +- case $CFLAGS in +- *-g*) +- ;; +- *) +- if test "$CFLAGS" = ''; then +- CFLAGS="-g" +- else +- CFLAGS="-g $CFLAGS" +- fi +- ;; +- esac +- AC_MSG_RESULT([after tweak CFLAGS=$CFLAGS]) +-fi + + dnl if using gcc, we can be very strict + AC_ARG_ENABLE(gcc_warnings, [ diff --git a/sys-cluster/torque/files/torque-4.2.9-tcl8.6.patch b/sys-cluster/torque/files/torque-4.2.9-tcl8.6.patch new file mode 100644 index 000000000000..3a2a28ce4a2b --- /dev/null +++ b/sys-cluster/torque/files/torque-4.2.9-tcl8.6.patch @@ -0,0 +1,99 @@ + src/cmds/qstat.c | 20 +++++++++++++++++++- + src/scheduler.tcl/pbs_tclWrap.c | 13 +++++++++++++ + 2 files changed, 32 insertions(+), 1 deletion(-) + +diff --git a/src/cmds/qstat.c b/src/cmds/qstat.c +index f275cf8..23414b8 100644 +--- a/src/cmds/qstat.c ++++ b/src/cmds/qstat.c +@@ -2203,8 +2203,13 @@ tcl_init(void) + + if (Tcl_Init(interp) == TCL_ERROR) + { ++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6 + fprintf(stderr, "Tcl_Init error: %s", + interp->result); ++#else ++ fprintf(stderr, "Tcl_Init error: %s", ++ Tcl_GetStringResult(interp)); ++#endif + } + + #if TCLX +@@ -2216,8 +2221,14 @@ tcl_init(void) + if (Tclx_Init(interp) == TCL_ERROR) + { + #endif ++ ++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6 + fprintf(stderr, "Tclx_Init error: %s", + interp->result); ++#else ++ fprintf(stderr, "Tclx_Init error: %s", ++ Tcl_GetStringResult(interp)); ++#endif + } + + #endif /* TCLX */ +@@ -2328,15 +2339,22 @@ void tcl_run( + + if (f_opt && Tcl_EvalFile(interp, script) != TCL_OK) + { +- char *trace; ++ const char *trace; + + trace = (char *)Tcl_GetVar(interp, "errorInfo", 0); + + if (trace == NULL) ++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6 + trace = interp->result; + + fprintf(stderr, "%s: TCL error @ line %d: %s\n", + script, interp->errorLine, trace); ++#else ++ trace = Tcl_GetStringResult(interp); ++ ++ fprintf(stderr, "%s: TCL error @ line %d: %s\n", ++ script, Tcl_GetErrorLine(interp), trace); ++#endif + } + + Tcl_DeleteInterp(interp); +diff --git a/src/scheduler.tcl/pbs_tclWrap.c b/src/scheduler.tcl/pbs_tclWrap.c +index 3eea0b0..7d0d610 100644 +--- a/src/scheduler.tcl/pbs_tclWrap.c ++++ b/src/scheduler.tcl/pbs_tclWrap.c +@@ -935,8 +935,13 @@ int PBS_ReRun( + + if (argc != 2) + { ++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6 + sprintf(interp->result, + "%s: wrong # args: job_id", argv[0]); ++#else ++ Tcl_SetObjResult(interp, Tcl_ObjPrintf( ++ "%s: wrong # args: job_id", argv[0])); ++#endif + return TCL_ERROR; + } + +@@ -947,11 +952,19 @@ int PBS_ReRun( + return TCL_OK; + } + ++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6 + interp->result = strdup("0"); ++#else ++ Tcl_SetResult(interp, "0", TCL_STATIC); ++#endif + + if (pbs_rerunjob_err(connector, strdup(argv[1]), extend, &local_errno)) + { ++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6 + interp->result = strdup("-1"); ++#else ++ Tcl_SetResult(interp, "-1", TCL_STATIC); ++#endif + msg = pbs_geterrmsg(connector); + sprintf(log_buffer, "%s (%d)", msg ? msg : fail, local_errno); + log_err(-1, argv[0], log_buffer); diff --git a/sys-cluster/torque/files/torque-conf.d b/sys-cluster/torque/files/torque-conf.d new file mode 100644 index 000000000000..a6e6b08beace --- /dev/null +++ b/sys-cluster/torque/files/torque-conf.d @@ -0,0 +1,14 @@ +# The default logging takes place in $PBS_SERVER_HOME/<mom/server/sched>_priv. +# If you'd like to change that, use the following per service. +PBS_SERVER_LOG=/var/log/pbs_server.log +PBS_MOM_LOG=/var/log/pbs_mom.log +PBS_SCHED_LOG=/var/log/pbs_sched.log + + +# There are a number of ways to stop the pbs server. For more details, man qterm +# At the time of writing, checkpoint is probably not working. +# immediate: All jobs are killed. +# delay: Checkpoint, rerun or wait for jobs to finish before stopping +# quick: Remember running jobs, and let them run without interaction with pbs_server. +# This is the default action +PBS_SERVER_STOP=quick diff --git a/sys-cluster/torque/files/torque-conf.d-munge b/sys-cluster/torque/files/torque-conf.d-munge new file mode 100644 index 000000000000..a8456d526d46 --- /dev/null +++ b/sys-cluster/torque/files/torque-conf.d-munge @@ -0,0 +1,18 @@ +# The default logging takes place in $PBS_SERVER_HOME/<mom/server/sched>_priv. +# If you'd like to change that, use the following per service. +PBS_SERVER_LOG=/var/log/pbs_server.log +PBS_MOM_LOG=/var/log/pbs_mom.log +PBS_SCHED_LOG=/var/log/pbs_sched.log + + +# There are a number of ways to stop the pbs server. For more details, man qterm +# At the time of writing, checkpoint is probably not working. +# immediate: All jobs are killed. +# delay: Checkpoint, rerun or wait for jobs to finish before stopping +# quick: Remember running jobs, and let them run without interaction with pbs_server. +# This is the default action +PBS_SERVER_STOP=quick + +# Use munge auth by default. This causes all pbs service to require +# the munge service. Set to non-zero to enable. +PBS_USE_MUNGE=0 diff --git a/sys-cluster/torque/files/torque-env.d b/sys-cluster/torque/files/torque-env.d new file mode 100644 index 000000000000..40a08c016dee --- /dev/null +++ b/sys-cluster/torque/files/torque-env.d @@ -0,0 +1,7 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the Torque 2.5+ License + +# Configuration files that are included in the initial Torque install +PBS_SERVER_HOME="/var/spool/torque" +CONFIG_PROTECT="/var/spool/torque" + diff --git a/sys-cluster/torque/files/trqauthd-init.d b/sys-cluster/torque/files/trqauthd-init.d new file mode 100644 index 000000000000..46565f655e49 --- /dev/null +++ b/sys-cluster/torque/files/trqauthd-init.d @@ -0,0 +1,26 @@ +#!/sbin/openrc-run +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net + after logger + + # 4.0+ only, make sure we run before the other torque services + before pbs_mom + before pbs_sched + before pbs_server +} + +start() { + start-stop-daemon \ + --start \ + --exec /usr/sbin/trqauthd +} + +stop() { + start-stop-daemon \ + --stop \ + --exec /usr/sbin/trqauthd +} + diff --git a/sys-cluster/torque/metadata.xml b/sys-cluster/torque/metadata.xml new file mode 100644 index 000000000000..ce0da419e927 --- /dev/null +++ b/sys-cluster/torque/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> + <maintainer type="person"> + <email>axs@gentoo.org</email> + <name>Ian Stakenvicius</name> + </maintainer> + <use> + <flag name="autorun">Enable the AUTORUN_JOBS codebase</flag> + <flag name="cgroups">Enable pbs_mom to use linux cgroups to isolate jobs</flag> + <flag name="cpusets">Enable pbs_mom to utilize linux cpusets if available</flag> + <flag name="drmaa">Enable the Distributed Resource Management Application API</flag> + <flag name="munge">Enable authentication via munge</flag> + <flag name="nvidia">Enable management of Nvidia GPUs</flag> + <flag name="quickcommit">Enable the QUICKCOMMIT codebase</flag> + <flag name="server">Enable compilation of pbs_server and pbs_sched</flag> + </use> +</pkgmetadata> diff --git a/sys-cluster/torque/torque-2.5.13-r1.ebuild b/sys-cluster/torque/torque-2.5.13-r1.ebuild new file mode 100644 index 000000000000..7a45fb1c9002 --- /dev/null +++ b/sys-cluster/torque/torque-2.5.13-r1.ebuild @@ -0,0 +1,253 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit autotools-utils eutils flag-o-matic linux-info + +DESCRIPTION="Resource manager and queuing system based on OpenPBS" +HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/torque" +SRC_URI="http://www.adaptivecomputing.com/index.php?wpfb_dl=1643 -> ${P}.tar.gz" + +LICENSE="torque-2.5" + +SLOT="0" +KEYWORDS="alpha amd64 hppa ia64 ~mips ppc ppc64 sparc x86" +IUSE="cpusets +crypt doc drmaa kernel_linux munge server static-libs +syslog threads tk xml" + +# ed is used by makedepend-sh +DEPEND_COMMON=" + sys-libs/readline:0= + munge? ( sys-auth/munge ) + tk? ( + dev-lang/tk:0= + dev-lang/tcl:0= + ) + syslog? ( virtual/logger ) + !!games-util/qstat" + +# libncurses.so is just needed so that configure will pass for the readline check +DEPEND="${DEPEND_COMMON} + sys-libs/ncurses:* + sys-apps/ed + !!sys-cluster/slurm" + +RDEPEND="${DEPEND_COMMON} + crypt? ( net-misc/openssh ) + !crypt? ( net-misc/netkit-rsh )" + +DOCS=( Release_Notes ) + +AUTOTOOLS_IN_SOURCE_BUILD=1 + +pkg_setup() { + PBS_SERVER_HOME="${PBS_SERVER_HOME:-/var/spool/torque}" + + # Find a Torque server to use. Check environment, then + # current setup (if any), and fall back on current hostname. + if [ -z "${PBS_SERVER_NAME}" ]; then + if [ -f "${ROOT}${PBS_SERVER_HOME}/server_name" ]; then + PBS_SERVER_NAME="$(<${ROOT}${PBS_SERVER_HOME}/server_name)" + else + PBS_SERVER_NAME=$(hostname -f) + fi + fi + + if use cpusets; then + if ! use kernel_linux; then + einfo + elog " Torque currently only has support for cpusets in linux." + elog "Assuming you didn't really want this USE flag and ignoring." + einfo + else + linux-info_pkg_setup + einfo + elog " Torque support for cpusets is still in development, you may" + elog "wish to disable it for production use." + einfo + if ! linux_config_exists || ! linux_chkconfig_present CPUSETS; then + einfo + elog " Torque support for cpusets will require that you recompile" + elog "your kernel with CONFIG_CPUSETS enabled." + einfo + fi + fi + fi +} + +src_prepare() { + epatch "${FILESDIR}"/CVE-2013-4319-2.x-root-submit-fix.patch + epatch "${FILESDIR}"/tcl8.6.patch + + # 510726 + epatch "${FILESDIR}"/CVE-2014-0749.patch + + # 491270 + epatch "${FILESDIR}"/CVE-2013-4495.patch + + # Unused and causes breakage when switching from glibc to tirpc. + # https://github.com/adaptivecomputing/torque/pull/148 + sed -i '/rpc\/rpc\.h/d' src/lib/Libnet/net_client.c || die +} + +src_configure() { + local myeconfargs=( --with-rcp=mom_rcp ) + + use crypt && myeconfargs=( --with-rcp=scp ) + myeconfargs+=( + $(use_enable tk gui) + $(use_enable tk tcl-qstat) + $(use_enable syslog) + $(use_enable server) + $(use_enable drmaa) + $(use_enable threads high-availability) + $(use_enable xml server-xml) + $(use_enable munge munge-library) + $(usex kernel_linux $(use_enable cpusets cpuset) --disable-cpuset) + --with-server-home=${PBS_SERVER_HOME} + --with-environ=/etc/pbs_environment + --with-default-server=${PBS_SERVER_NAME} + --disable-gcc-warnings + --with-tcp-retry-limit=2 + ) + autotools-utils_src_configure +} + +# WARNING +# OpenPBS is extremely stubborn about directory permissions. Sometimes it will +# just fall over with the error message, but in some spots it will just ignore +# you and fail strangely. Likewise it also barfs on our .keep files! +pbs_createspool() { + local root="$1" + local s="$(dirname "${PBS_SERVER_HOME}")" + local h="${PBS_SERVER_HOME}" + local sp="${h}/server_priv" + einfo "Building spool directory under ${D}${h}" + local a d m + local dir_spec=" + 0755:${h}/aux 0700:${h}/checkpoint + 0755:${h}/mom_logs 0751:${h}/mom_priv 0751:${h}/mom_priv/jobs + 1777:${h}/spool 1777:${h}/undelivered" + + if use server; then + dir_spec="${dir_spec} 0755:${h}/sched_logs + 0755:${h}/sched_priv/accounting 0755:${h}/server_logs + 0750:${h}/server_priv 0755:${h}/server_priv/accounting + 0750:${h}/server_priv/acl_groups 0750:${h}/server_priv/acl_hosts + 0750:${h}/server_priv/acl_svr 0750:${h}/server_priv/acl_users + 0750:${h}/server_priv/jobs 0750:${h}/server_priv/queues" + fi + + for a in ${dir_spec}; do + d="${a/*:}" + m="${a/:*}" + if [[ ! -d "${root}${d}" ]]; then + install -d -m${m} "${root}${d}" || die + else + chmod ${m} "${root}${d}" || die + fi + # (#149226) If we're running in src_*, then keepdir + if [[ "${root}" = "${D}" ]]; then + keepdir ${d} + fi + done +} + +src_install() { + # Make directories first + pbs_createspool "${D}" + + autotools-utils_src_install + + use doc && dodoc doc/admin_guide.ps doc/*.pdf + + # The build script isn't alternative install location friendly, + # So we have to fix some hard-coded paths in tclIndex for xpbs* to work + for file in `find "${D}" -iname tclIndex`; do + sed -e "s/${D//\// }/ /" "${file}" > "${file}.new" + mv "${file}.new" "${file}" || die + done + + if use server; then + newinitd "${FILESDIR}"/pbs_server-init.d-munge pbs_server + newinitd "${FILESDIR}"/pbs_sched-init.d pbs_sched + fi + newinitd "${FILESDIR}"/pbs_mom-init.d-munge pbs_mom + newconfd "${FILESDIR}"/torque-conf.d-munge torque + newenvd "${FILESDIR}"/torque-env.d 25torque +} + +pkg_preinst() { + if [[ -f "${ROOT}etc/pbs_environment" ]]; then + cp "${ROOT}etc/pbs_environment" "${D}"/etc/pbs_environment || die + fi + + echo "${PBS_SERVER_NAME}" > "${D}${PBS_SERVER_HOME}/server_name" || die + + # Fix up the env.d file to use our set server home. + sed -i \ + "s:/var/spool/torque:${PBS_SERVER_HOME}:g" "${D}"/etc/env.d/25torque \ + || die + + if use munge; then + sed -i 's,\(PBS_USE_MUNGE=\).*,\11,' "${D}"etc/conf.d/torque || die + fi +} + +pkg_postinst() { + pbs_createspool "${ROOT}" + elog " If this is the first time torque has been installed, then you are not" + elog "ready to start the server. Please refer to the documentation located at:" + elog "http://www.clusterresources.com/wiki/doku.php?id=torque:torque_wiki" + echo + elog " For a basic setup, you may use emerge --config ${PN}" +} + +# root will be setup as the primary operator/manager, the local machine +# will be added as a node and we'll create a simple queue, batch. +pkg_config() { + local h="$(echo "${ROOT}/${PBS_SERVER_HOME}" | sed 's:///*:/:g')" + local rc=0 + + ebegin "Configuring Torque" + einfo "Using ${h} as the pbs homedir" + einfo "Using ${PBS_SERVER_NAME} as the pbs_server" + + # Check for previous configuration and bail if found. + if [ -e "${h}/server_priv/acl_svr/operators" ] \ + || [ -e "${h}/server_priv/nodes" ] \ + || [ -e "${h}/mom_priv/config" ]; then + ewarn "Previous Torque configuration detected. Press Enter to" + ewarn "continue or Control-C to abort now" + read + fi + + # pbs_mom configuration. + echo "\$pbsserver ${PBS_SERVER_NAME}" > "${h}/mom_priv/config" || die + echo "\$logevent 255" >> "${h}/mom_priv/config" || die + + if use server; then + local qmgr="${ROOT}/usr/bin/qmgr -c" + # pbs_server bails on repeated backslashes. + if ! "${ROOT}"/usr/sbin/pbs_server -f -d "${h}" -t create; then + eerror "Failed to start pbs_server" + rc=1 + else + ${qmgr} "set server operators = root@$(hostname -f)" ${PBS_SERVER_NAME} \ + && ${qmgr} "create queue batch" ${PBS_SERVER_NAME} \ + && ${qmgr} "set queue batch queue_type = Execution" ${PBS_SERVER_NAME} \ + && ${qmgr} "set queue batch started = True" ${PBS_SERVER_NAME} \ + && ${qmgr} "set queue batch enabled = True" ${PBS_SERVER_NAME} \ + && ${qmgr} "set server default_queue = batch" ${PBS_SERVER_NAME} \ + && ${qmgr} "set server resources_default.nodes = 1" ${PBS_SERVER_NAME} \ + && ${qmgr} "set server scheduling = True" ${PBS_SERVER_NAME} \ + || die + + "${ROOT}"/usr/bin/qterm -t quick ${PBS_SERVER_NAME} || rc=1 + + # Add the local machine as a node. + echo "$(hostname -f) np=1" > "${h}/server_priv/nodes" || die + fi + fi + eend ${rc} +} diff --git a/sys-cluster/torque/torque-4.1.7-r1.ebuild b/sys-cluster/torque/torque-4.1.7-r1.ebuild new file mode 100644 index 000000000000..c3c2cac28b35 --- /dev/null +++ b/sys-cluster/torque/torque-4.1.7-r1.ebuild @@ -0,0 +1,233 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit flag-o-matic eutils linux-info + +DESCRIPTION="Resource manager and queuing system based on OpenPBS" +HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/torque" +# TODO: hopefully moving to github tags soon +# http://www.supercluster.org/pipermail/torquedev/2013-May/004519.html +SRC_URI="http://www.adaptivecomputing.com/index.php?wpfb_dl=1690 -> ${P}.tar.gz" + +LICENSE="torque-2.5" +SLOT="0" +KEYWORDS="alpha amd64 hppa ia64 ~mips ppc ppc64 sparc x86" +IUSE="cpusets +crypt doc drmaa kernel_linux libressl munge nvidia server +syslog tk" + +DEPEND_COMMON=" + sys-libs/zlib + sys-libs/readline:0= + libressl? ( dev-libs/libressl:0= ) + !libressl? ( dev-libs/openssl:0= ) + cpusets? ( sys-apps/hwloc ) + munge? ( sys-auth/munge ) + nvidia? ( >=x11-drivers/nvidia-drivers-275 ) + tk? ( + dev-lang/tk:0= + dev-lang/tcl:0= + ) + syslog? ( virtual/logger ) + !!games-util/qstat" + +# libncurses.so is only needed for the configure check on readline to pass +DEPEND="${DEPEND_COMMON} + sys-libs/ncurses:* + !!sys-cluster/slurm" + +RDEPEND="${DEPEND_COMMON} + crypt? ( net-misc/openssh ) + !crypt? ( net-misc/netkit-rsh ) + !dev-libs/uthash" + +# Torque should depend on dev-libs/uthash but that's pretty much impossible +# to patch in as they ship with a broken configure such that files referenced +# by the configure.ac and Makefile.am are missing. +# http://www.supercluster.org/pipermail/torquedev/2014-October/004773.html + +pkg_setup() { + PBS_SERVER_HOME="${PBS_SERVER_HOME:-/var/spool/${PN}}" + + # Find a Torque server to use. Check environment, then + # current setup (if any), and fall back on current hostname. + if [ -z "${PBS_SERVER_NAME}" ]; then + if [ -f "${ROOT}${PBS_SERVER_HOME}/server_name" ]; then + PBS_SERVER_NAME="$(<${ROOT}${PBS_SERVER_HOME}/server_name)" + else + PBS_SERVER_NAME=$(hostname -f) + fi + fi + + if use cpusets; then + if ! use kernel_linux; then + einfo + elog " Torque currently only has support for cpusets in linux." + elog "Assuming you didn't really want this USE flag, and ignoring its state." + einfo + else + linux-info_pkg_setup + if ! linux_config_exists || ! linux_chkconfig_present CPUSETS; then + einfo + elog " Torque support for cpusets will require that you recompile" + elog "your kernel with CONFIG_CPUSETS enabled." + einfo + fi + fi + fi +} + +src_prepare() { + # Unused and causes breakage when switching from glibc to tirpc. + # https://github.com/adaptivecomputing/torque/pull/148 + sed -i '/rpc\/rpc\.h/d' src/lib/Libnet/net_client.c || die + + # We install to a valid location, no need to muck with ld.so.conf + # --without-loadlibfile is supposed to do this for us... + sed -i '/mk_default_ld_lib_file || return 1/d' buildutils/pbs_mkdirs.in || die + + epatch "${FILESDIR}"/${PN}-4.1.5.1-tcl8.6.patch + + # 491270 + epatch "${FILESDIR}"/CVE-2013-4495.4.1.patch +} + +src_configure() { + local myconf="--with-rcp=mom_rcp" + + use crypt && myconf="--with-rcp=scp" + + econf \ + $(use_enable tk gui) \ + $(use_enable syslog) \ + $(use_enable server) \ + $(use_enable drmaa) \ + $(use_enable munge munge-auth) \ + $(use_enable nvidia nvidia-gpus) \ + $(usex kernel_linux $(use_enable cpusets cpuset) --disable-cpuset) \ + --with-server-home=${PBS_SERVER_HOME} \ + --with-environ=/etc/pbs_environment \ + --with-default-server=${PBS_SERVER_NAME} \ + --disable-gcc-warnings \ + --with-tcp-retry-limit=2 \ + --without-loadlibfile \ + ${myconf} +} + +src_install() { + local dir + + DOCS=( CHANGELOG README.* Release_Notes ) + use doc && DOCS+=( doc/admin_guide.ps doc/*.pdf ) + + default + + # The build script isn't alternative install location friendly, + # So we have to fix some hard-coded paths in tclIndex for xpbs* to work + for file in $(find "${ED}" -iname tclIndex); do + sed \ + -e "s/${ED//\// }/ /" \ + -i "${file}" || die + done + + for dir in $(find "${ED}/${PBS_SERVER_HOME}" -type d); do + keepdir "${dir#${ED}}" + done + + if use server; then + newinitd "${FILESDIR}"/pbs_server-init.d-munge pbs_server + newinitd "${FILESDIR}"/pbs_sched-init.d pbs_sched + fi + newinitd "${FILESDIR}"/pbs_mom-init.d-munge pbs_mom + newconfd "${FILESDIR}"/${PN}-conf.d-munge ${PN} + newinitd "${FILESDIR}"/trqauthd-init.d trqauthd + newenvd "${FILESDIR}"/${PN}-env.d 25${PN} +} + +pkg_preinst() { + if [[ -f "${ROOT}etc/pbs_environment" ]]; then + cp "${ROOT}etc/pbs_environment" "${ED}"/etc/pbs_environment || die + fi + + if use server && [[ -f "${ROOT}${PBS_SERVER_HOME}/server_priv/nodes" ]]; then + cp \ + "${EROOT}${PBS_SERVER_HOME}/server_priv/nodes" \ + "${ED}/${PBS_SERVER_HOME}/server_priv/nodes" || die + fi + + echo "${PBS_SERVER_NAME}" > "${ED}${PBS_SERVER_HOME}/server_name" || die + + # Fix up the env.d file to use our set server home. + sed \ + -e "s:/var/spool/${PN}:${PBS_SERVER_HOME}:g" \ + -i "${ED}"/etc/env.d/25${PN} || die + + if use munge; then + sed -i 's,\(PBS_USE_MUNGE=\).*,\11,' "${ED}"/etc/conf.d/${PN} || die + fi +} + +pkg_postinst() { + elog " If this is the first time torque has been installed, then you are not" + elog "ready to start the server. Please refer to the documentation located at:" + elog "http://www.clusterresources.com/wiki/doku.php?id=torque:torque_wiki" + echo "" + elog " For a basic setup, you may use emerge --config ${PN}" + echo "" + if [[ -z "${REPLACING_VERSIONS}" ]] || [[ ${REPLACING_VERSIONS} < 4 ]]; then + elog "Important 4.0+ updates" + elog " - The on-wire protocol version has been changed." + elog " Versions of Torque before 4.0.0 are no longer able to communicate." + elog " - pbs_iff has been replaced by trqauthd, you will now need to add" + elog " trqauthd to your default runlevel." + fi +} + +# root will be setup as the primary operator/manager, the local machine +# will be added as a node and we'll create a simple queue, batch. +pkg_config() { + local h="$(echo "${ROOT}/${PBS_SERVER_HOME}" | sed 's:///*:/:g')" + local rc=0 + + ebegin "Configuring Torque" + einfo "Using ${h} as the pbs homedir" + einfo "Using ${PBS_SERVER_NAME} as the pbs_server" + + # Check for previous configuration and bail if found. + if [ -e "${h}/server_priv/acl_svr/operators" ] \ + || [ -e "${h}/server_priv/nodes" ] \ + || [ -e "${h}/mom_priv/config" ]; then + ewarn "Previous Torque configuration detected. Press Enter to" + ewarn "continue or Control-C to abort now" + read + fi + + # pbs_mom configuration. + echo "\$pbsserver ${PBS_SERVER_NAME}" > "${h}/mom_priv/config" || die + echo "\$logevent 255" >> "${h}/mom_priv/config" || die + + if use server; then + local qmgr="${EROOT}/usr/bin/qmgr -c" + # pbs_server bails on repeated backslashes. + if ! "${EROOT}"/usr/sbin/pbs_server -f -d "${h}" -t create; then + eerror "Failed to start pbs_server" + rc=1 + else + ${qmgr} "set server operators = root@$(hostname -f)" ${PBS_SERVER_NAME} \ + && ${qmgr} "create queue batch" ${PBS_SERVER_NAME} \ + && ${qmgr} "set queue batch queue_type = Execution" ${PBS_SERVER_NAME} \ + && ${qmgr} "set queue batch started = True" ${PBS_SERVER_NAME} \ + && ${qmgr} "set queue batch enabled = True" ${PBS_SERVER_NAME} \ + && ${qmgr} "set server default_queue = batch" ${PBS_SERVER_NAME} \ + && ${qmgr} "set server resources_default.nodes = 1" ${PBS_SERVER_NAME} \ + && ${qmgr} "set server scheduling = True" ${PBS_SERVER_NAME} \ + || die + + "${EROOT}"/usr/bin/qterm -t quick ${PBS_SERVER_NAME} || rc=1 + + # Add the local machine as a node. + echo "$(hostname -f) np=1" > "${h}/server_priv/nodes" || die + fi + fi + eend ${rc} +} diff --git a/sys-cluster/torque/torque-4.2.10.ebuild b/sys-cluster/torque/torque-4.2.10.ebuild new file mode 100644 index 000000000000..769264fd387c --- /dev/null +++ b/sys-cluster/torque/torque-4.2.10.ebuild @@ -0,0 +1,196 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools eutils linux-info + +DESCRIPTION="Resource manager and queuing system based on OpenPBS" +HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/torque" +# TODO: hopefully moving to github tags soon +# http://www.supercluster.org/pipermail/torquedev/2013-May/004519.html +SRC_URI="http://www.adaptivecomputing.com/index.php?wpfb_dl=2849 -> ${P}.tar.gz" + +LICENSE="torque-2.5" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="cpusets +crypt doc drmaa kernel_linux libressl munge nvidia server +syslog tk" + +DEPEND_COMMON=" + sys-libs/zlib + sys-libs/readline:0= + dev-libs/libxml2 + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + cpusets? ( sys-apps/hwloc ) + munge? ( sys-auth/munge ) + nvidia? ( >=x11-drivers/nvidia-drivers-275 ) + tk? ( + dev-lang/tk:0= + dev-lang/tcl:0= + ) + syslog? ( virtual/logger ) + !!games-util/qstat" + +# libncurses.so is only needed for configure check on readline +DEPEND="${DEPEND_COMMON} + sys-libs/ncurses:* + !!sys-cluster/slurm" + +RDEPEND="${DEPEND_COMMON} + crypt? ( net-misc/openssh ) + !crypt? ( net-misc/netkit-rsh ) + !dev-libs/uthash" + +S="${WORKDIR}"/${PN}-4.2.9 + +# Torque should depend on dev-libs/uthash but that's pretty much impossible +# to patch in as they ship with a broken configure such that files referenced +# by the configure.ac and Makefile.am are missing. +# http://www.supercluster.org/pipermail/torquedev/2014-October/004773.html + +pkg_setup() { + PBS_SERVER_HOME="${PBS_SERVER_HOME:-/var/spool/${PN}}" + + # Find a Torque server to use. Check environment, then + # current setup (if any), and fall back on current hostname. + if [ -z "${PBS_SERVER_NAME}" ]; then + if [ -f "${ROOT}${PBS_SERVER_HOME}/server_name" ]; then + PBS_SERVER_NAME="$(<${ROOT}${PBS_SERVER_HOME}/server_name)" + else + PBS_SERVER_NAME=$(hostname -f) + fi + fi + + if use cpusets; then + if ! use kernel_linux; then + einfo + elog " Torque currently only has support for cpusets in linux." + elog "Assuming you didn't really want this USE flag and ignoring its state." + einfo + else + linux-info_pkg_setup + if ! linux_config_exists || ! linux_chkconfig_present CPUSETS; then + einfo + elog " Torque support for cpusets will require that you recompile" + elog "your kernel with CONFIG_CPUSETS enabled." + einfo + fi + fi + fi +} + +src_prepare() { + # Unused and causes breakage when switching from glibc to tirpc. + # https://github.com/adaptivecomputing/torque/pull/148 + sed -i '/rpc\/rpc\.h/d' src/lib/Libnet/net_client.c || die + + # We install to a valid location, no need to muck with ld.so.conf + # --without-loadlibfile is supposed to do this for us... + sed -i '/mk_default_ld_lib_file || return 1/d' buildutils/pbs_mkdirs.in || die + + eapply "${FILESDIR}"/${PN}-4.2.9-tcl8.6.patch + + # 524362 + eapply "${FILESDIR}"/TRQ-2885-limit-tm_adopt-to-only-adopt-a-session-id-t.patch + + eapply "${FILESDIR}"/${PN}-4.2-dont-mess-with-cflags.patch + eapply_user + mkdir -p "${S}"/m4 + eautoconf +} + +src_configure() { + econf \ + $(use_enable tk gui) \ + $(use_enable syslog) \ + $(use_enable server) \ + $(use_enable drmaa) \ + $(use_enable munge munge-auth) \ + $(use_enable nvidia nvidia-gpus) \ + $(usex kernel_linux $(use_enable cpusets cpuset) --disable-cpuset) \ + $(usex crypt --with-rcp=scp --with-rcp=mom_rcp) \ + --with-server-home=${PBS_SERVER_HOME} \ + --with-environ=/etc/pbs_environment \ + --with-default-server=${PBS_SERVER_NAME} \ + --disable-gcc-warnings \ + --with-tcp-retry-limit=2 \ + --without-loadlibfile +} + +src_install() { + local dir + + DOCS=( CHANGELOG README.* Release_Notes ) + use doc && DOCS+=( doc/admin_guide.ps doc/*.pdf ) + + default + + # The build script isn't alternative install location friendly, + # So we have to fix some hard-coded paths in tclIndex for xpbs* to work + for file in $(find "${ED}" -iname tclIndex); do + sed \ + -e "s/${ED//\// }/ /" \ + -i "${file}" || die + done + + for dir in $(find "${ED}/${PBS_SERVER_HOME}" -type d); do + keepdir "${dir#${ED}}" + done + + if use server; then + newinitd "${FILESDIR}"/pbs_server-init.d-munge pbs_server + newinitd "${FILESDIR}"/pbs_sched-init.d pbs_sched + fi + newinitd "${FILESDIR}"/pbs_mom-init.d-munge pbs_mom + newconfd "${FILESDIR}"/${PN}-conf.d-munge ${PN} + newinitd "${FILESDIR}"/trqauthd-init.d trqauthd + newenvd "${FILESDIR}"/${PN}-env.d 25${PN} +} + +pkg_preinst() { + if [[ -f "${ROOT}etc/pbs_environment" ]]; then + cp "${ROOT}etc/pbs_environment" "${ED}"/etc/pbs_environment || die + fi + + if use server && [[ -f "${ROOT}${PBS_SERVER_HOME}/server_priv/nodes" ]]; then + cp \ + "${EROOT}${PBS_SERVER_HOME}/server_priv/nodes" \ + "${ED}/${PBS_SERVER_HOME}/server_priv/nodes" || die + fi + + echo "${PBS_SERVER_NAME}" > "${ED}${PBS_SERVER_HOME}/server_name" || die + + # Fix up the env.d file to use our set server home. + sed \ + -e "s:/var/spool/${PN}:${PBS_SERVER_HOME}:g" \ + -i "${ED}"/etc/env.d/25${PN} || die + + if use munge; then + sed -i 's,\(PBS_USE_MUNGE=\).*,\11,' "${ED}"/etc/conf.d/${PN} || die + fi +} + +pkg_postinst() { + local showmessage=1 + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + showmessage=0; + elog "If this is the first time torque has been installed, then you are not" + elog "ready to start the server. Please refer to the documentation located at:" + elog "http://docs.adaptivecomputing.com/torque/${PN//./-}/Content/topics/1-installConfig/initializeConfigOnServer.htm" + elog + else + for i in ${REPLACING_VERSIONS} ; do + if [[ ${i} == 4* ]]; then + showmessage=0; break; + fi + done + fi + if [[ ${showmessage} > 0 ]]; then + elog "Important v4.x changes:" + elog " - The on-wire protocol version has been changed." + elog " Versions of Torque before 4.0.0 are no longer able to communicate." + elog " - pbs_iff has been replaced by trqauthd, you will now need to add" + elog " trqauthd to your default runlevel." + fi +} diff --git a/sys-cluster/torque/torque-4.2.9-r5.ebuild b/sys-cluster/torque/torque-4.2.9-r5.ebuild new file mode 100644 index 000000000000..d972010f7c74 --- /dev/null +++ b/sys-cluster/torque/torque-4.2.9-r5.ebuild @@ -0,0 +1,183 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit flag-o-matic eutils linux-info + +DESCRIPTION="Resource manager and queuing system based on OpenPBS" +HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/torque" +# TODO: hopefully moving to github tags soon +# http://www.supercluster.org/pipermail/torquedev/2013-May/004519.html +SRC_URI="http://www.adaptivecomputing.com/index.php?wpfb_dl=2849 -> ${P}.tar.gz" + +LICENSE="torque-2.5" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="cpusets +crypt doc drmaa kernel_linux libressl munge nvidia server +syslog tk" + +DEPEND_COMMON=" + sys-libs/zlib + sys-libs/readline:0= + dev-libs/libxml2 + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + cpusets? ( sys-apps/hwloc ) + munge? ( sys-auth/munge ) + nvidia? ( >=x11-drivers/nvidia-drivers-275 ) + tk? ( + dev-lang/tk:0= + dev-lang/tcl:0= + ) + syslog? ( virtual/logger ) + !!games-util/qstat" + +# libncurses.so is only needed for configure check on readline +DEPEND="${DEPEND_COMMON} + sys-libs/ncurses:* + !!sys-cluster/slurm" + +RDEPEND="${DEPEND_COMMON} + crypt? ( net-misc/openssh ) + !crypt? ( net-misc/netkit-rsh ) + !dev-libs/uthash" + +# Torque should depend on dev-libs/uthash but that's pretty much impossible +# to patch in as they ship with a broken configure such that files referenced +# by the configure.ac and Makefile.am are missing. +# http://www.supercluster.org/pipermail/torquedev/2014-October/004773.html + +pkg_setup() { + PBS_SERVER_HOME="${PBS_SERVER_HOME:-/var/spool/${PN}}" + + # Find a Torque server to use. Check environment, then + # current setup (if any), and fall back on current hostname. + if [ -z "${PBS_SERVER_NAME}" ]; then + if [ -f "${ROOT}${PBS_SERVER_HOME}/server_name" ]; then + PBS_SERVER_NAME="$(<${ROOT}${PBS_SERVER_HOME}/server_name)" + else + PBS_SERVER_NAME=$(hostname -f) + fi + fi + + if use cpusets; then + if ! use kernel_linux; then + einfo + elog " Torque currently only has support for cpusets in linux." + elog "Assuming you didn't really want this USE flag and ignoring its state." + einfo + else + linux-info_pkg_setup + if ! linux_config_exists || ! linux_chkconfig_present CPUSETS; then + einfo + elog " Torque support for cpusets will require that you recompile" + elog "your kernel with CONFIG_CPUSETS enabled." + einfo + fi + fi + fi +} + +src_prepare() { + # Unused and causes breakage when switching from glibc to tirpc. + # https://github.com/adaptivecomputing/torque/pull/148 + sed -i '/rpc\/rpc\.h/d' src/lib/Libnet/net_client.c || die + + # We install to a valid location, no need to muck with ld.so.conf + # --without-loadlibfile is supposed to do this for us... + sed -i '/mk_default_ld_lib_file || return 1/d' buildutils/pbs_mkdirs.in || die + + epatch "${FILESDIR}"/${P}-tcl8.6.patch + + # 524362 + epatch "${FILESDIR}"/TRQ-2885-limit-tm_adopt-to-only-adopt-a-session-id-t.patch +} + +src_configure() { + local myconf="--with-rcp=mom_rcp" + + use crypt && myconf="--with-rcp=scp" + + econf \ + $(use_enable tk gui) \ + $(use_enable syslog) \ + $(use_enable server) \ + $(use_enable drmaa) \ + $(use_enable munge munge-auth) \ + $(use_enable nvidia nvidia-gpus) \ + $(usex kernel_linux $(use_enable cpusets cpuset) --disable-cpuset) \ + --with-server-home=${PBS_SERVER_HOME} \ + --with-environ=/etc/pbs_environment \ + --with-default-server=${PBS_SERVER_NAME} \ + --disable-gcc-warnings \ + --with-tcp-retry-limit=2 \ + --without-loadlibfile \ + ${myconf} +} + +src_install() { + local dir + + DOCS=( CHANGELOG README.* Release_Notes ) + use doc && DOCS+=( doc/admin_guide.ps doc/*.pdf ) + + default + + # The build script isn't alternative install location friendly, + # So we have to fix some hard-coded paths in tclIndex for xpbs* to work + for file in $(find "${ED}" -iname tclIndex); do + sed \ + -e "s/${ED//\// }/ /" \ + -i "${file}" || die + done + + for dir in $(find "${ED}/${PBS_SERVER_HOME}" -type d); do + keepdir "${dir#${ED}}" + done + + if use server; then + newinitd "${FILESDIR}"/pbs_server-init.d-munge pbs_server + newinitd "${FILESDIR}"/pbs_sched-init.d pbs_sched + fi + newinitd "${FILESDIR}"/pbs_mom-init.d-munge pbs_mom + newconfd "${FILESDIR}"/${PN}-conf.d-munge ${PN} + newinitd "${FILESDIR}"/trqauthd-init.d trqauthd + newenvd "${FILESDIR}"/${PN}-env.d 25${PN} +} + +pkg_preinst() { + if [[ -f "${ROOT}etc/pbs_environment" ]]; then + cp "${ROOT}etc/pbs_environment" "${ED}"/etc/pbs_environment || die + fi + + if use server && [[ -f "${ROOT}${PBS_SERVER_HOME}/server_priv/nodes" ]]; then + cp \ + "${EROOT}${PBS_SERVER_HOME}/server_priv/nodes" \ + "${ED}/${PBS_SERVER_HOME}/server_priv/nodes" || die + fi + + echo "${PBS_SERVER_NAME}" > "${ED}${PBS_SERVER_HOME}/server_name" || die + + # Fix up the env.d file to use our set server home. + sed \ + -e "s:/var/spool/${PN}:${PBS_SERVER_HOME}:g" \ + -i "${ED}"/etc/env.d/25${PN} || die + + if use munge; then + sed -i 's,\(PBS_USE_MUNGE=\).*,\11,' "${ED}"/etc/conf.d/${PN} || die + fi +} + +pkg_postinst() { + elog " If this is the first time torque has been installed, then you are not" + elog "ready to start the server. Please refer to the documentation located at:" + elog "http://docs.adaptivecomputing.com/torque/${PN//./-}/Content/topics/1-installConfig/initializeConfigOnServer.htm" + if [[ -z "${REPLACING_VERSIONS}" ]] || [[ ${REPLACING_VERSIONS} < 4 ]]; then + echo + elog "Important 4.0+ updates" + elog " - The on-wire protocol version has been changed." + elog " Versions of Torque before 4.0.0 are no longer able to communicate." + elog " - pbs_iff has been replaced by trqauthd, you will now need to add" + elog " trqauthd to your default runlevel." + fi +} diff --git a/sys-cluster/torque/torque-6.0.3.ebuild b/sys-cluster/torque/torque-6.0.3.ebuild new file mode 100644 index 000000000000..74409b48eef8 --- /dev/null +++ b/sys-cluster/torque/torque-6.0.3.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit flag-o-matic eutils linux-info + +DESCRIPTION="Resource manager and queuing system based on OpenPBS" +HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/torque" +DISTFILEHASH="1485300822_19e79ad" +SRC_URI="http://wpfilebase.s3.amazonaws.com/torque/${P}-${DISTFILEHASH}.tar.gz" + +LICENSE="torque-2.5" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="autorun cgroups cpusets +crypt doc drmaa kernel_linux libressl munge nvidia quickcommit server +syslog tk" + +DEPEND_COMMON=" + sys-libs/zlib + sys-libs/readline:0= + dev-libs/libxml2 + >=dev-libs/boost-1.41 + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + cpusets? ( sys-apps/hwloc ) + munge? ( sys-auth/munge ) + nvidia? ( >=x11-drivers/nvidia-drivers-275 ) + tk? ( + dev-lang/tk:0= + dev-lang/tcl:0= + ) + syslog? ( virtual/logger ) + !!games-util/qstat" + +# libncurses.so is only needed for configure check on readline +DEPEND="${DEPEND_COMMON} + sys-libs/ncurses:* + !!sys-cluster/slurm" + +RDEPEND="${DEPEND_COMMON} + crypt? ( net-misc/openssh ) + !crypt? ( net-misc/netkit-rsh ) + !dev-libs/uthash" + +# Torque should depend on dev-libs/uthash but that's pretty much impossible +# to patch in as they ship with a broken configure such that files referenced +# by the configure.ac and Makefile.am are missing. +# http://www.supercluster.org/pipermail/torquedev/2014-October/004773.html + +S="${WORKDIR}"/${P}-${DISTFILEHASH} + +pkg_setup() { + PBS_SERVER_HOME="${PBS_SERVER_HOME:-/var/spool/${PN}}" + + # Find a Torque server to use. Check environment, then + # current setup (if any), and fall back on current hostname. + if [ -z "${PBS_SERVER_NAME}" ]; then + if [ -f "${ROOT}${PBS_SERVER_HOME}/server_name" ]; then + PBS_SERVER_NAME="$(<${ROOT}${PBS_SERVER_HOME}/server_name)" + else + PBS_SERVER_NAME=$(hostname -f) + fi + fi + + if use cpusets || use cgroups; then + if ! use kernel_linux; then + einfo + elog " Torque currently only has support for cpusets and cgroups in linux." + elog "Assuming you didn't really want this USE flag and ignoring its state." + einfo + else + linux-info_pkg_setup + if ! linux_config_exists || ! linux_chkconfig_present CPUSETS; then + einfo + elog " Torque support for cpusets will require that you recompile" + elog "your kernel with CONFIG_CPUSETS enabled." + einfo + fi + fi + fi +} + +src_prepare() { + # We install to a valid location, no need to muck with ld.so.conf + # --without-loadlibfile is supposed to do this for us... + sed -i '/mk_default_ld_lib_file || return 1/d' buildutils/pbs_mkdirs.in || die +} + +src_configure() { + econf \ + $(use_enable tk gui) \ + $(use_enable tk tcl-qstat) \ + $(use_enable syslog) \ + $(use_enable server) \ + $(use_enable drmaa) \ + $(use_enable munge munge-auth) \ + $(use_enable nvidia nvidia-gpus) \ + $(usex crypt "--with-rcp=scp" "--with-rcp=mom_rcp") \ + $(usex kernel_linux $(use_enable cpusets cpuset) --disable-cpuset) \ + $(usex kernel_linux $(use_enable cpusets geometry-request) --disable-geometry-request) \ + $(usex kernel_linux $(use_enable cgroups) --disable-cgroups) \ + $(use_enable autorun) \ + $(use_enable quickcommit) \ + --with-server-home=${PBS_SERVER_HOME} \ + --with-environ=/etc/pbs_environment \ + --with-default-server=${PBS_SERVER_NAME} \ + --disable-gcc-warnings \ + --disable-silent-rules \ + --with-tcp-retry-limit=2 \ + --without-loadlibfile +} + +src_install() { + local dir + + DOCS=( CHANGELOG README.* Release_Notes ) + use doc && DOCS+=( doc/admin_guide.ps doc/*.pdf ) + + default + + # The build script isn't alternative install location friendly, + # So we have to fix some hard-coded paths in tclIndex for xpbs* to work + for file in $(find "${ED}" -iname tclIndex); do + sed \ + -e "s/${ED//\// }/ /" \ + -i "${file}" || die + done + + for dir in $(find "${ED}/${PBS_SERVER_HOME}" -type d); do + keepdir "${dir#${ED}}" + done + + if use server; then + newinitd "${FILESDIR}"/pbs_server-init.d-munge pbs_server + newinitd "${FILESDIR}"/pbs_sched-init.d pbs_sched + fi + newinitd "${FILESDIR}"/pbs_mom-init.d-munge pbs_mom + newconfd "${FILESDIR}"/${PN}-conf.d-munge ${PN} + newinitd "${FILESDIR}"/trqauthd-init.d trqauthd + newenvd "${FILESDIR}"/${PN}-env.d 25${PN} +} + +pkg_preinst() { + if [[ -f "${ROOT}etc/pbs_environment" ]]; then + cp "${ROOT}etc/pbs_environment" "${ED}"/etc/pbs_environment || die + fi + + if use server && [[ -f "${ROOT}${PBS_SERVER_HOME}/server_priv/nodes" ]]; then + cp \ + "${EROOT}${PBS_SERVER_HOME}/server_priv/nodes" \ + "${ED}/${PBS_SERVER_HOME}/server_priv/nodes" || die + fi + + echo "${PBS_SERVER_NAME}" > "${ED}${PBS_SERVER_HOME}/server_name" || die + + # Fix up the env.d file to use our set server home. + sed \ + -e "s:/var/spool/${PN}:${PBS_SERVER_HOME}:g" \ + -i "${ED}"/etc/env.d/25${PN} || die + + if use munge; then + sed -i 's,\(PBS_USE_MUNGE=\).*,\11,' "${ED}"/etc/conf.d/${PN} || die + fi +} + +pkg_postinst() { + elog " If this is the first time torque has been installed, then you are not" + elog "ready to start the server. Please refer to the documentation located at:" + elog "http://docs.adaptivecomputing.com/torque/${PN//./-}/Content/topics/1-installConfig/initializeConfigOnServer.htm" + if [[ -z "${REPLACING_VERSIONS}" ]] || [[ ${REPLACING_VERSIONS} < 4 ]]; then + echo + elog "Important 4.0+ updates" + elog " - The on-wire protocol version has been changed." + elog " Versions of Torque before 4.0.0 are no longer able to communicate." + elog " - pbs_iff has been replaced by trqauthd, you will now need to add" + elog " trqauthd to your default runlevel." + fi +} diff --git a/sys-cluster/util-vserver/Manifest b/sys-cluster/util-vserver/Manifest new file mode 100644 index 000000000000..c5ddec8f02df --- /dev/null +++ b/sys-cluster/util-vserver/Manifest @@ -0,0 +1,6 @@ +AUX bash_completion 7568 SHA256 2232166a5aed9857a7a5c30adfdd4ea944e0608a29fad05f229b8cef2d61795d SHA512 b9e5745775121107da14540103bbf4943692a514cf3cd69b71c999a5e0eb1c81253b6ac4ca635cdb6e64cd1f1c1204dfecd4a6f83cbe7d5448625c53f80ed3bb WHIRLPOOL a17cc603408cf178c0d8299e6f36133715f6ec6c5a21c7440dca49338dde2280d24bb26852a21326ab2b62ac787ed84d06d0baf3097c0188f2448fbf055e79ab +DIST util-vserver-0.30.216-pre3120.tar.gz 990833 SHA256 00df201b3f103a9f5663734b5931abe2e575ff1dabeb7c8035c1ba21c7f4b6d2 SHA512 eca7680a8b06fecd678b4dad5824c92b53d872b3e7ec9cc275425437fb7fcfb3991f58770096f20d8274e37927a39b64ed9db082ef806e76d0c603b2cd64ef32 WHIRLPOOL 4f2191a339786d2d911a3bf31051972c993f95621824d7dfc11d30755070bfab3da2eb4d85ac80139e022c44aaf2313fe0042991a91ae828b12217cadfd6a331 +EBUILD util-vserver-0.30.216_pre3120.ebuild 2636 SHA256 c7bc346985fe12ba62c38ce1f943cb8cbacc2f6dcfb1c5d0f5c2d51cc972bfd5 SHA512 7a2be4456a29ee7abb0b0b612624c5e642f50789cf430edea9146e412e6b14324de90c2cc52c44a0313b9365017876910f545e9db8cb87647b3328684d04ff0e WHIRLPOOL 283291d3fba9436f0e295ac4f89b17c48d09187294ac11101baae0261efbc30edfec84d22791553377d17dc1999809338a65ca0f871d05063bcd959b5b265aed +MISC ChangeLog 4101 SHA256 8dfd2b9b8d315e05fd9fbd212fed5b288d0707a25e89f732f5b196f37e145abe SHA512 74f863d4dde2c5b6bc7b3780a31d968d120b0e0aa9ea40da4cacd6fd6160f0c0ade506738392c3f6d78e47ebb25f27ea2cf4f8073560064454d06903cd5e3d53 WHIRLPOOL 289a430351b6ce292b9a2980cc8e72e8953c21897a44f31c9ed9741305e99d501e2f5aacc161c1cb554043e7805dbb6f9c949348c4b70bf812753f7c29c0a9d8 +MISC ChangeLog-2015 24548 SHA256 93b43b7f26553db1247ac1f183304e27436a238f858bce9e79117f76299c130a SHA512 d238343c79442c0a909e7256af1e19e00bdfae43b85feae3426e5fc2792963604ac3eaed155ccc9ddc22259075cbb7a97157a99370a931467642749d8e1c3d57 WHIRLPOOL 12befea47c8f7ab9478de392728fc57c6720d3eee55a0aad7ff6ba4e45277bf842a7bb48e584bf739d5106ec4533e85ff89149cfca92a939cadf20e1142f61ae +MISC metadata.xml 873 SHA256 98e77b863f7f07ab9725d931b5028e5948c036fbb350db4ba7850cbfead96535 SHA512 1f1a943e7fd63dc53cde611ec0b359ac89bccc8dbd7538152bea9a88f938ff240faea693f66e40d77348070cd895797dba132e9e91f333a967ee4097f32e17ea WHIRLPOOL ea4e48b9feb89a49819fcecbd6af827dfaa756e95d18e6c51dc8be1fc8d5b876a971a5cff8479038705025dfa063d6d320f8972b592e6e48987f0bd2da6831d0 diff --git a/sys-cluster/util-vserver/files/bash_completion b/sys-cluster/util-vserver/files/bash_completion new file mode 100644 index 000000000000..73a9fef89f85 --- /dev/null +++ b/sys-cluster/util-vserver/files/bash_completion @@ -0,0 +1,300 @@ +# Completion for the vserver command. Source this file (or on some systems +# add it to ~/.bash_completion and start a new shell) and bash's completion +# mechanism will know all about vserver's options! +# +# Copyright (C) Thomas Champagne <lafeuil@gmail.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# The latest version of this software can be obtained here: +# +# http://linux-vserver.org/Vserver+Completion +# +# version 0.4.0 + +have vserver-info && { +: ${UTIL_VSERVER_VARS:=$(vserver-info - SYSINFO |grep prefix: | awk '{ print $2}')/lib/util-vserver/util-vserver-vars} + +test -e "$UTIL_VSERVER_VARS" && { + +. "$UTIL_VSERVER_VARS" +. "$_LIB_FUNCTIONS" + +_vserver() { + local cur cmds cmdOpts cmdMethodOpts helpCmds names names_pipe func i j method + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + # find available vServers: + # call function getAllVservers in vserver library + getAllVservers names + names_pipe=`echo ${names[@]} | sed 's/ /|/g'` + + # available commands + cmds='start stop restart condrestart suexec exec enter chkconfig \ + running status unify pkg apt-get apt-config apt-cache \ + rpm pkgmgmt delete' + + # options (long and short name) + cmdOpts='--help --version --debug --defaulttty -s --sync -v \ + --verbose --silent --' + + cmdMethodOpts='-m -n --context --confdir --lockfile \ + --hostname --netdev --netbcast --netmask \ + --netprefix --interface --cpuset \ + --cpusetcpus --cpusetmems --cpusetvirt \ + --initstyle --flags --help --' + + # if the previous option is a single option + helpCmds='--help|--version' + if [[ ${COMP_WORDS[1]} == @($helpCmds) ]] ; then + return 0 + fi + + # lookup the vServer name + for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do + if [[ ${COMP_WORDS[i]} == @($names_pipe) ]] ; then + # found it! + break + fi + done + + #a vserver has been found + if (( $i < ${#COMP_WORDS[@]}-1 )) ; then + # Show the vserver command without build + case "${COMP_WORDS[i+1]}" in + start) + COMPREPLY=( $( compgen -W "--rescue --rescue-cmd" -- $cur ) ) + ;; + # No completion for apt-config + stop|restart|condrestart|enter|running|status|apt-config|delete) + ;; + suexec) + # I don't know how to do + COMPREPLY=( $( compgen -W -- $cur ) ) + ;; + exec) + #I don't know how to do + COMPREPLY=( $( compgen -W "" -- $cur ) ) + ;; + unify) + COMPREPLY=( $( compgen -W "-R" -- $cur ) ) + ;; + apt-get|apt-cache) + func=${COMP_WORDS[i+1]} + COMP_WORDS=( ${COMP_WORDS[@]:$((i+1))} ) + COMP_CWORD=$((COMP_CWORD-i-1)) + declare -f _${func//-/_} > /dev/null && _${func//-/_} + ;; + *) + COMPREPLY=( $( compgen -W "$cmds" -- $cur ) ) + ;; + esac + return 0 + else + #no vserver name found + prev=${COMP_WORDS[COMP_CWORD-1]} + + #search the new name of vserver + for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )) ; do + if [[ ${COMP_WORDS[i]} == !(vserver|-*) ]] ; then + # found it! + break + fi + done + + if (( $i < ${#COMP_WORDS[@]}-1 )) ; then + j=$i + i=${#COMP_WORDS[@]} + for (( ; j < ${#COMP_WORDS[@]}-1; j++ )) ; do + if [[ ${COMP_WORDS[j]} == "--" ]]; then + # method's parameter + case "$method" in + legacy|copy) + ;; + apt-rpm) + COMPREPLY=( $( compgen -W "-d" -- $cur ) ) + ;; + yum) + COMPREPLY=( $( compgen -W "-d" -- $cur ) ) + ;; + rpm) + COMPREPLY=( $( compgen -W "-d --empty --force --nodeps" -- $cur ) ) + ;; + skeleton) + ;; + debootstrap) + COMPREPLY=( $( compgen -W "-d -m -s --" -- $cur ) ) + ;; + *) + ;; + esac + return 0 + break + fi + + if [[ ${COMP_WORDS[j]} == @(build|-m) ]]; then + i=$j + if (( $j+1 < ${#COMP_WORDS[@]}-1 )) ; then + method=${COMP_WORDS[j+1]} + fi + fi + done + + if (( $i < ${#COMP_WORDS[@]}-1 )) ; then + case $prev in + --help) + ;; + -n|--context|--confdir|--lockfile|--hostname|--netdev|--netbcast|--netmask|--netprefix|--interface|--cpuset|--cpusetcpus|--cpusetmems|--cpusetvirt|--initstyle|--flags) + COMPREPLY=( $( compgen -W "" -- $cur ) ) + ;; + -m) + COMPREPLY=( $( compgen -W "legacy copy apt-rpm yum rpm skeleton debootstrap" -- $cur ) ) + ;; + *) + COMPREPLY=( $( compgen -W "$cmdMethodOpts" -- $cur ) ) + ;; + esac + else + COMPREPLY=( $( compgen -W "build" -- $cur ) ) + fi + else + COMPREPLY=( $( compgen -W "${names[@]} $cmdOpts" -- $cur ) ) + fi + + return 0 + fi + + return 0 +} + +complete -F _vserver vserver + +_vapt_rpm_yum() +{ + local cur cmds cmdOpts helpCmds names func i + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + # options (long and short name) + cmdOpts='--help --version --quiet -q --all' + + # if the previous option is a single option + helpCmds='--help|--version' + + if [[ "${COMP_WORDS[1]}" == "@($helpCmds)" ]] ; then + return 0 + fi + + # search -- + for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )) ; do + if [[ ${COMP_WORDS[i]} = "--" ]] ; then + # found it! + break + fi + done + + # find available vServers + # call function getAllVservers in vserver library + getAllVservers names + names_pipe=`echo ${names[@]}" --all" | sed 's/ /|/g'` + + if (( $i < ${#COMP_WORDS[@]}-1 )) && (( $i < $COMP_CWORD )) ; then + func=${COMP_WORDS[0]:1} + COMP_WORDS=( $func ${COMP_WORDS[@]:$((i+1))} ) + COMP_CWORD=$((COMP_CWORD-i)) + declare -f _${func//-/_} > /dev/null && _${func//-/_} + else + # search vServer name + for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )) ; do + if [[ ${COMP_WORDS[i]} == @($names_pipe) ]] ; then + # found it! + break + fi + done + + if (( $i < ${#COMP_WORDS[@]}-1 )) ; then + if [[ "${COMP_WORDS[i]}" = "--all" ]] ; then + cmdOpts='--' + COMPREPLY=( $( compgen -W "$cmdOpts" -- $cur ) ) + else + cmdOpts='--' + COMPREPLY=( $( compgen -W "${names[@]} $cmdOpts" -- $cur ) ) + fi + else + COMPREPLY=( $( compgen -W "${names[@]} $cmdOpts" -- $cur ) ) + fi + fi + + return 0 +} + +_vserver_copy() +{ + local cur prev cmdOpts helpCmds confCmds names names_pipe i + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + # find available vServers + # call function getAllVservers in vserver library + getAllVservers names + names_pipe=`echo ${names[@]} | sed 's/ /|/g'` + + # options (long and short name) + cmdOpts='--help -h --version -V --verbose -v --quiet -q \ + --vsroot -r --rsh -R --stopstart -s \ + --domain -d --ip -i' + + # if the previous option is a single option + helpCmds='--help|-h|--version|-V' + + if [[ ${COMP_WORDS[1]} == @($helpCmds) ]] ; then + return 0 + fi + + confCmds='--ip|-i|--domain|-d' + prev=${COMP_WORDS[COMP_CWORD-1]} + + if [[ $prev == @($confCmds) ]] ; then + return 0 + fi + + # search a vServer name + for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do + if [[ ${COMP_WORDS[i]} == @($names_pipe) ]] ; then + # found it! + break + fi + done + + if (( $i < ${#COMP_WORDS[@]}-1 )) ; then + return 0 + else + COMPREPLY=( $( compgen -W "${names[@]} $cmdOpts" -- $cur ) ) + fi + + return 0 +} + +complete -F _vapt_rpm_yum vapt-get +complete -F _vapt_rpm_yum vrpm +complete -F _vapt_rpm_yum vyum +complete -F _vserver_copy vserver-copy + +} +} diff --git a/sys-cluster/util-vserver/metadata.xml b/sys-cluster/util-vserver/metadata.xml new file mode 100644 index 000000000000..a5775a67d746 --- /dev/null +++ b/sys-cluster/util-vserver/metadata.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>monsieurp@gentoo.org</email> + <name>Patrice Clement</name> + </maintainer> + <maintainer type="person"> + <email>ccx@volny.cz</email> + <name>Jan Pobrislo</name> + <description>Proxied Maintainer</description> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> +<longdescription> + util-vserver is a Linux virtual server utility framework, + allowing an administrator to set up multiple, isolated + virtual servers. It can be used to run various services + securely separated, without requiring special configuration. + Virtual servers are unable to interact with each other, or + the main server. + </longdescription> +</pkgmetadata> diff --git a/sys-cluster/util-vserver/util-vserver-0.30.216_pre3120.ebuild b/sys-cluster/util-vserver/util-vserver-0.30.216_pre3120.ebuild new file mode 100644 index 000000000000..135626f3308f --- /dev/null +++ b/sys-cluster/util-vserver/util-vserver-0.30.216_pre3120.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit eutils bash-completion-r1 + +MY_P="${P/_/-}" + +DESCRIPTION="Linux-VServer admin utilities" +HOMEPAGE="http://www.nongnu.org/util-vserver/" +SRC_URI="http://people.linux-vserver.org/~dhozac/t/uv-testing/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~sparc x86" + +CDEPEND=" + dev-libs/beecrypt + net-firewall/iptables + net-misc/vconfig + sys-apps/iproute2" + +DEPEND=" + ${CDEPEND} + >dev-libs/dietlibc-0.33" + +RDEPEND=" + ${CDEPEND}" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + if [[ -z "${VDIRBASE}" ]]; then + einfo + einfo "You can change the default vserver base directory (/vservers)" + einfo "by setting the VDIRBASE environment variable." + fi + + : ${VDIRBASE:=/vservers} + + einfo + einfo "Using \"${VDIRBASE}\" as vserver base directory" + einfo +} + +src_test() { + # do not use $D from portage by accident (#297982) + sed -i -e 's/^\$D //' "${S}"/src/testsuite/vunify-test.sh || die + + default +} + +src_configure() { + local myeconf=( + --with-vrootdir="${VDIRBASE}" + --with-initscripts=gentoo + --localstatedir=/var + ) + + econf "${myeconf[@]}" +} + +src_compile() { + emake -j1 || die "emake failed!" +} + +src_install() { + make DESTDIR="${D}" install install-distribution \ + || die "make install failed!" + + # keep dirs + keepdir /var/cache/vservers + keepdir "${VDIRBASE}" + keepdir "${VDIRBASE}"/.pkg + + # bash-completion + newbashcomp "${FILESDIR}"/bash_completion ${PN} + + dodoc README ChangeLog NEWS AUTHORS THANKS util-vserver.spec +} + +pkg_postinst() { + # Create VDIRBASE in postinst, so it is (a) not unmerged and (b) also + # present when merging. + + mkdir -p "${VDIRBASE}" || die + if ! setattr --barrier "${VDIRBASE}"; then + ewarn "Filesystem on ${VDIRBASE} does not support chroot barriers." + ewarn "Chroot barrier is additional security measure that is used" + ewarn "when two vservers or the host system share the same filesystem." + ewarn "If you intend to use separate filesystem for every vserver" + ewarn "you can safely ignore this warning." + ewarn "To manually apply a barrier use: setattr --barrier ${VDIRBASE}" + ewarn "For details see: http://linux-vserver.org/Secure_chroot_Barrier" + fi + + rm /etc/vservers/.defaults/vdirbase || die + ln -sf "${VDIRBASE}" /etc/vservers/.defaults/vdirbase || die + + elog + elog "You have to run the vprocunhide command after every reboot" + elog "in order to setup /proc permissions correctly for vserver" + elog "use. An init script has been installed by this package." + elog "To use it you should add it to a runlevel:" + elog + elog " rc-update add vprocunhide default" + elog +} diff --git a/sys-cluster/vzctl/Manifest b/sys-cluster/vzctl/Manifest new file mode 100644 index 000000000000..b48ffa51f2c0 --- /dev/null +++ b/sys-cluster/vzctl/Manifest @@ -0,0 +1,5 @@ +DIST vzctl-4.9.4.tar.bz2 550370 SHA256 bc3c63841b5244181e71bd1daf7c9aca6df3d42ed886a161fa5ba4b1b4520420 SHA512 651aa7882ba77442666a09441769f821a7374f417199380667b27c9980203597575dfe12ad5c261da22941b6a2bc6e032d3f9c2d88dcb03af6412634cc5b4706 WHIRLPOOL ed3c2531919b68fc2ae8acd9ac7b582b91f0eb6976155f12e2b35dbb236044c538e6499129aca579f9bc7697379c323bc6b32d0796a74a28b816a2dfb188c84f +EBUILD vzctl-4.9.4.ebuild 2116 SHA256 e1ca4b31f54d458c2598fab656261f6b02a842b612e2546c0620173f5ec91aa0 SHA512 a1af0a7f1dcf5cbdc4ada93c648387de74ddaf0f2c3908ba5ba4950324c1e8855fe6be3d56944271bf646935c7c62866866cef34f49c362fbe9d62047b2940e6 WHIRLPOOL adb5bbaa16542041cbcb9d9413c1634ff47ad5b87742b7507e6e7f4001f61bc99dc9aae0e3be919b9f896df9ecbb1553d7c068801eb6d4ef520652751404fda3 +MISC ChangeLog 3310 SHA256 575b30ede9e0121adc781dcb6e593bbb9539b82ccfb62810489649bf5d1c8591 SHA512 47fd9b3b5edd103ecc3a069222ab6b2267ea522c0ecf09a404be5ce2e11d9c87cd594f432d344234b79fb4b1059fb8bf08630765b6c7ea1cad4244aff3ab1672 WHIRLPOOL ffbc5379c1eb4b04d5df9e7c71176ebd9f9b7c5cacbf817b1ee539fbef80327edc2508bbf01bc5c565f34f779d6c61568f874cd278043b4cf0ad6b02678391bd +MISC ChangeLog-2015 26509 SHA256 654eed1c50e25106e50861b84db3bf8d5493a86675a04d5762590516581f38d8 SHA512 ae61904b6824173f90f79bc9dbc43921b50c8456be1d04ee7f9dcbcefd5747ea6cc564733d87dc7ee814e0ed1118d5ba4449d7196140105199ab08e03d323c46 WHIRLPOOL 6601849e4ee597ff988f3944f736003fb31273a34b8b782135a5a6642cbf199587ecfd773ace91da0c4c8e4e35362db6f3054fbcb39f03a1cd3e25d84e957681 +MISC metadata.xml 476 SHA256 36378f13330379a93f3e73359e04d71ed8bdaefbadcb802a4f96eabaedd96100 SHA512 0530fde605015304c81e13ae82da0fcd230a97766dcd775632515d7368d701b3ecae16988ad6447d0e77a1ae9d08f31bd28a3e0e3f5ce0f03b915ff2ad453389 WHIRLPOOL eec1dd7c7cc89fdf650309b1e974ea6ade5d84853b95783af0f4e99a029422853f868e8c129185c59762d4623e117c15dd2dedd6101847be470ee371d1da8e76 diff --git a/sys-cluster/vzctl/metadata.xml b/sys-cluster/vzctl/metadata.xml new file mode 100644 index 000000000000..66ec10550002 --- /dev/null +++ b/sys-cluster/vzctl/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <use> + <flag name="ploop">Add support for ploop devices via <pkg>sys-cluster/ploop</pkg></flag> + <flag name="vzmigrate">Add support for container migration</flag> + </use> + <upstream> + <maintainer status="active"> + <email>kir@openvz.org</email> + <name>Kir Kolyshkin</name> + </maintainer> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/vzctl/vzctl-4.9.4.ebuild b/sys-cluster/vzctl/vzctl-4.9.4.ebuild new file mode 100644 index 000000000000..5623e9d70c87 --- /dev/null +++ b/sys-cluster/vzctl/vzctl-4.9.4.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +inherit base bash-completion-r1 eutils toolchain-funcs udev + +DESCRIPTION="OpenVZ ConTainers control utility" +HOMEPAGE="http://openvz.org/" +SRC_URI="http://download.openvz.org/utils/${PN}/${PV}/src/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc64 x86 -amd64-fbsd -sparc-fbsd -x86-fbsd" +IUSE="+ploop +vzmigrate" + +RDEPEND="net-firewall/iptables + sys-apps/ed + >=sys-apps/iproute2-3.3.0 + >=sys-fs/vzquota-3.1 + ploop? ( + >=sys-cluster/ploop-1.13 + sys-block/parted + sys-fs/quota + dev-libs/libxml2 + ) + >=dev-libs/libcgroup-0.38 + vzmigrate? ( + net-misc/openssh + net-misc/rsync[xattr,acl] + app-arch/tar[xattr,acl] + net-misc/bridge-utils + virtual/awk + ) + virtual/udev + sys-apps/attr + " + +DEPEND="${RDEPEND} + virtual/pkgconfig + " + +src_prepare() { + + # Set default OSTEMPLATE on gentoo + sed -i -e 's:=redhat-:=gentoo-:' etc/dists/default || die 'sed on etc/dists/default failed' + # Set proper udev directory + sed -i -e "s:/lib/udev:$(get_udevdir):" src/lib/dev.c || die 'sed on src/lib/dev.c failed' +} + +src_configure() { + + econf \ + --localstatedir=/var \ + --enable-udev \ + --enable-bashcomp \ + --enable-logrotate \ + --with-vz \ + $(use_with ploop) \ + --with-cgroup +} + +src_install() { + + emake DESTDIR="${D}" udevdir="$(get_udevdir)"/rules.d install install-gentoo + + # install the bash-completion script into the right location + rm -rf "${ED}"/etc/bash_completion.d + newbashcomp etc/bash_completion.d/vzctl.sh ${PN} + + # We need to keep some dirs + keepdir /vz/{dump,lock,root,private,template/cache} + keepdir /etc/vz/names /var/lib/vzctl/veip +} + +pkg_postinst() { + einfo "This vzctl release required kernel above 2.6.32.92" + + einfo "If you have checkpoint suspend/restore feature in vanilla kernel" + einfo "please install "sys-process/criu" " + einfo "This is experimental and not stable ( in gentoo ) now" + + einfo "if you have work with .xz compressed template, please install app-arch/xz-utils" + einfo "if you have check signature downloaded template - install gpg " +} diff --git a/sys-cluster/wulfware/Manifest b/sys-cluster/wulfware/Manifest new file mode 100644 index 000000000000..fc29e951c6be --- /dev/null +++ b/sys-cluster/wulfware/Manifest @@ -0,0 +1,6 @@ +AUX wulfware-2.6.0-opts_and_strip.patch 5085 SHA256 59b1ddb5492c7e4f0475b36dd37a9138dd43bd5ae231685ee04db82c4dad7600 SHA512 2c2f897374a5a81feef97a0db425961b4e58cbc62cfebe026dd3661bacd1737ce5e023385f0e6725160087c9a549c37c23be02cdfa0c680b473b94cd6ed212a0 WHIRLPOOL 2619ba1ce5e3e9300c7a5e7b9a5fd8f54d97b81d44e591e34dfed97b1fbb2b29e299532e8c30392484af0adbeeea44e0d5b8dbec7907cedaffcb8b9aba95e4f4 +DIST wulfware-2.6.0.tgz 469000 SHA256 b89fe5bd46a687811ac682a59b63d0fac9e9b4218eaa1d6ffbae56590b71cc9c SHA512 626314124c836ee937f860a4093272d5b6e12b5d3aca631647bde6ef03880e2dd7916ab2805f34c4863e915ea3295e5c5d69ced9c5ec05b224cdf849738c78cd WHIRLPOOL dfa8eede62d7cc7b2f57dfb52d46d92a808dcc4913c28f35e3d05b8b3b0534f56534061b30ba944c1d8e00a92ebb0ee5f418e05de2b276abf2559bfee2d731ad +EBUILD wulfware-2.6.0.ebuild 1309 SHA256 e47b7315fb09d1a5ab8daaaa549bf2801882132885098abf603b4b55866d5b24 SHA512 3db95ca5197c7c96aef901e3658a36e2bf85c8784803e118c12328454863c34322c4bea833d24fa0ac07edc88d76c954072713957b1d574c59b1551cec125d34 WHIRLPOOL 4fba5b0bef9582c24865f72c5eccf3c21217a1eba27a2ae626b372b115d578e43cfbfc8b24bdfdfe4f0a78f36f51964fe30f67eb39d6092c86a52dfbd10f053e +MISC ChangeLog 2574 SHA256 0743acfcc814d8be8512e7155bf8c7305f9cb2da4a4a6493d417e4baf6a60b93 SHA512 dce5c6a5ad95b3a778343511ab34722d94da1bd92348185c954ee1af3713e655ce6677007e6c516b5d0c19db7b7adecfa192a4693e5e521ba13ae7d6ecfaf36d WHIRLPOOL a4234e8b555cfdc9717089f10dd645f78a0f80315819752b857611ca4b0c91cf7950d97c7e55f3d3e79b874e75f246472217d380fa5a126f093c522500ab477e +MISC ChangeLog-2015 844 SHA256 aad088cbee9290b217b2980e5836f9310f790ca581ba8a74299b5a49e617301c SHA512 89dda96bdea1d5bb626864d99990bb8693383614d757daa91ea115e42c8f8dde43058c1c4e40bde7fa238dde21e65a041ede27756157e7777612fe8a03ad4fac WHIRLPOOL e77856838d19a096ded22b2ad63ca80f8fe00cd8af96246cd034544fa14b9b2e950df1009432e86d5d443b6130522960b86884512b7fa57c5c8ded79803d6958 +MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968 diff --git a/sys-cluster/wulfware/files/wulfware-2.6.0-opts_and_strip.patch b/sys-cluster/wulfware/files/wulfware-2.6.0-opts_and_strip.patch new file mode 100644 index 000000000000..bc26b7baa997 --- /dev/null +++ b/sys-cluster/wulfware/files/wulfware-2.6.0-opts_and_strip.patch @@ -0,0 +1,142 @@ +diff -ur wulfware-2.6.0.orig/libwulf/Makefile.am wulfware-2.6.0/libwulf/Makefile.am +--- wulfware-2.6.0.orig/libwulf/Makefile.am 2007-07-12 00:58:25.000000000 +0300 ++++ wulfware-2.6.0/libwulf/Makefile.am 2008-05-22 16:25:18.000000000 +0300 +@@ -48,14 +48,14 @@ + # Define parameters and directives needed in compile/link steps. + #======================================================================== + # C Compiler +-CC = gcc ++CC ?= gcc + + # Compile flags. -fpic creates "position independent code" for + # shared libraries! +-CFLAGS = -O3 -I/usr/include/libxml2 -I ../include $(DEFINES) ++CFLAGS += -I/usr/include/libxml2 -I ../include $(DEFINES) + + # Linker flags +-LDFLAGS = -g -fpic --shared -Wl,-soname,$(PROGLIB_SONAME) ++LDFLAGS += -fpic --shared -Wl,-soname,$(PROGLIB_SONAME) + + # Libraries + LIBS = -lpthread -lxml2 -lm +@@ -110,7 +110,7 @@ + install: $(PROGLIB_SO_VERSION) $(PROGMAN) + (install -d $(libdir); \ + install -m 755 $(PROGLIB_SO_VERSION) $(libdir)/$(PROGLIB_SO_VERSION); \ +- ln -sf $(libdir)/$(PROGLIB_SO_VERSION) $(libdir)/$(PROGLIB_SO); \ ++ ln -sf $(PROGLIB_SO_VERSION) $(libdir)/$(PROGLIB_SO); \ + install -d $(includedir)/wulfware; \ + install -m 644 ../include/wulfware/*.h $(includedir)/wulfware; \ + install -d $(prefix)/share/man/man3; \ +diff -ur wulfware-2.6.0.orig/wulf2html/Makefile.am wulfware-2.6.0/wulf2html/Makefile.am +--- wulfware-2.6.0.orig/wulf2html/Makefile.am 2007-07-12 00:58:25.000000000 +0300 ++++ wulfware-2.6.0/wulf2html/Makefile.am 2008-05-22 12:52:36.000000000 +0300 +@@ -62,8 +62,7 @@ + echo "Clean does nothing" + + install : $(PROGRAM) +- (strip $(PROGRAM);\ +- install -d $(prefix)/bin; \ ++ (install -d $(prefix)/bin; \ + install -m 755 $(PROGRAM) $(prefix)/bin; \ + install -d $(sysconfdir); \ + install -d $(sysconfdir)/init.d; \ +diff -ur wulfware-2.6.0.orig/wulflogger/Makefile.am wulfware-2.6.0/wulflogger/Makefile.am +--- wulfware-2.6.0.orig/wulflogger/Makefile.am 2007-07-12 00:58:25.000000000 +0300 ++++ wulfware-2.6.0/wulflogger/Makefile.am 2008-05-22 16:25:14.000000000 +0300 +@@ -54,13 +54,13 @@ + # Define parameters and directives needed in compile/link steps. + #======================================================================== + # C Compiler +-CC = gcc ++CC ?= gcc + + # Compile flags +-CFLAGS = -O3 -I/usr/include/libxml2 -I ../include $(DEFINES) ++CFLAGS += -I/usr/include/libxml2 -I ../include $(DEFINES) + + # Linker flags +-LDFLAGS = ++LDFLAGS += + + # Libraries + LIBS = -L ../libwulf -lwulf -lpthread -lcurses -lxml2 -lm +@@ -108,8 +108,7 @@ + - rm -f core $(PROGRAM) *.o $(PROGRAM).1.gz + + install : $(PROGRAM) +- (strip $(PROGRAM);\ +- install -d $(prefix)/bin; \ ++ (install -d $(prefix)/bin; \ + install -m 755 $(PROGRAM) $(prefix)/bin; \ + install -d $(prefix)/share/man/man1; \ + gzip -c -9 $(PROGRAM).1 > $(PROGRAM).1.gz; \ +diff -ur wulfware-2.6.0.orig/wulfstat/Makefile.am wulfware-2.6.0/wulfstat/Makefile.am +--- wulfware-2.6.0.orig/wulfstat/Makefile.am 2007-07-12 00:58:25.000000000 +0300 ++++ wulfware-2.6.0/wulfstat/Makefile.am 2008-05-22 16:23:57.000000000 +0300 +@@ -54,13 +54,13 @@ + # Define parameters and directives needed in compile/link steps. + #======================================================================== + # C Compiler +-CC = gcc ++CC ?= gcc + + # Compile flags +-CFLAGS = -O3 -I/usr/include/libxml2 -I ../include $(DEFINES) ++CFLAGS += -I/usr/include/libxml2 -I ../include $(DEFINES) + + # Linker flags +-LDFLAGS = ++LDFLAGS += + + # Libraries + LIBS = -L ../libwulf -lwulf -lpthread -lcurses -lxml2 -lm +@@ -108,8 +108,7 @@ + - rm -f core $(PROGRAM) *.o $(PROGRAM).1.gz + + install : $(PROGRAM) +- (strip $(PROGRAM);\ +- install -d $(prefix)/bin; \ ++ (install -d $(prefix)/bin; \ + install -m 755 $(PROGRAM) $(prefix)/bin; \ + install -d $(prefix)/share/man/man1; \ + gzip -c -9 $(PROGRAM).1 > $(PROGRAM).1.gz; \ +diff -ur wulfware-2.6.0.orig/xmlsysd/Makefile.am wulfware-2.6.0/xmlsysd/Makefile.am +--- wulfware-2.6.0.orig/xmlsysd/Makefile.am 2007-07-12 00:58:25.000000000 +0300 ++++ wulfware-2.6.0/xmlsysd/Makefile.am 2008-05-22 16:28:30.000000000 +0300 +@@ -60,13 +60,13 @@ + # Define parameters and directives needed in compile/link steps. + #======================================================================== + # C Compiler +-CC = gcc ++CC ?= gcc + + # Compile flags +-CFLAGS = -O3 -I/usr/include/libxml2 $(DEFINES) ++CFLAGS += -I/usr/include/libxml2 $(DEFINES) + + # Linker flags +-LDFLAGS = ++LDFLAGS += + + # Libraries + LIBS = -lxml2 -lz -lm +@@ -79,7 +79,7 @@ + all: $(PROGRAM) + + $(PROGRAM): $(OBJECTS) $(INCLUDES) +- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(LIBS) $(OBJECTS) ++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@ + + #======================================================================== + # The only safe place to do commits is in the toplevel directory +@@ -109,8 +109,7 @@ + # Application installation. + #======================================================================== + install : $(PROGRAM) +- (strip $(PROGRAM); \ +- install -d $(sbindir); \ ++ (install -d $(sbindir); \ + install -m 755 $(PROGRAM) $(sbindir); \ + install -d $(sysconfdir); \ + install -d $(sysconfdir)/xinetd.d; \ diff --git a/sys-cluster/wulfware/metadata.xml b/sys-cluster/wulfware/metadata.xml new file mode 100644 index 000000000000..6f49eba8f496 --- /dev/null +++ b/sys-cluster/wulfware/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<!-- maintainer-needed --> +</pkgmetadata> diff --git a/sys-cluster/wulfware/wulfware-2.6.0.ebuild b/sys-cluster/wulfware/wulfware-2.6.0.ebuild new file mode 100644 index 000000000000..2bf28cbab2f2 --- /dev/null +++ b/sys-cluster/wulfware/wulfware-2.6.0.ebuild @@ -0,0 +1,52 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +inherit autotools eutils multilib toolchain-funcs + +DESCRIPTION="Applications to monitor on a beowulf- or GRID-style clusters" +HOMEPAGE="http://www.phy.duke.edu/~rgb/Beowulf/wulfware.php" +SRC_URI="http://www.phy.duke.edu/~rgb/Beowulf/${PN}/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="dev-libs/libxml2 + sys-libs/ncurses + sys-libs/zlib" +DEPEND="${RDEPEND} + !sys-cluster/wulfstat + !sys-cluster/xmlsysd" + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-opts_and_strip.patch + eautoreconf +} + +src_compile() { + tc-export CC + econf --disable-dependency-tracking + emake -j1 || die "emake failed." +} + +src_install() { + emake prefix="${D}/usr" libdir="${D}/usr/$(get_libdir)" \ + includedir="${D}/usr/include" sysconfdir="${D}/etc" \ + install || die "emake install failed." + + dodoc AUTHORS ChangeLog NEWS NOTES README xmlsysd/DESIGN + + # FIXME: Update to Gentoo style init script. + rm -rf "${D}"/etc/init.d/wulf2html +} + +pkg_postinst() { + elog "Add following line to /etc/services if you haven't done so already:" + elog + elog "xmlsysd 7887/tcp # xmlsysd remote system stats" + elog + elog "Be sure to edit /etc/xinetd.d/xmylsysd to suit your own options." +} diff --git a/sys-cluster/zetcd/Manifest b/sys-cluster/zetcd/Manifest new file mode 100644 index 000000000000..e6d51f79ed1e --- /dev/null +++ b/sys-cluster/zetcd/Manifest @@ -0,0 +1,9 @@ +AUX zetcd.confd 86 SHA256 80c37009568e98ff7cee3fbffbb15872a1a7f83b4a047bee3e71f209632064c8 SHA512 6375022e8ed703ab87d1f8d22377ac831d4488835da566c108f6ee8c1b45bbbb40bab99d27f4845f3f1eb35e562ae3cb1aaec8ca135864b9a24cb612b1234845 WHIRLPOOL 0d653e2bf4d8d4860c25c237e3808e48bc3901916682837faf8654a64ecf421f6e43dcaf13fa44d829a29b324f78c9b60a853a18f295967900b09ef82722678a +AUX zetcd.initd 588 SHA256 ef04ece44747018f17e8b039b1baa7f44d6f50819cde36ad45470921d14f5c20 SHA512 642aede75ab87f54ca950baa259215527e27de259e623e4ac378beb07bb2f2f410cdb85d4cd90200da784881d45d055b7776713ae497ffc292375f090b169810 WHIRLPOOL a58fe8a1e86d614fc9ef06c1145631ae370e0f7fa6692ab849e3a2b627f6ee2aeeb37f37d08e660328693a012347643fdeaa9f393424e0d1518fc151b5b67483 +DIST github.com-coreos-etcd-714e7ec8db7f8398880197be10771fe89c480ee5.tar.gz 2522134 SHA256 abeab9a1b93144e97c2161ccc4a976dca5dcc5c13ddd98cf1d67946edd108d14 SHA512 49fda050ed682177b8b61a6b715fc163df307bccae9801547774593b86afe4fa0d80d49cf19a56f3bd4af162263bb9a7f57952a8c9ed824caac1c39d87f178d1 WHIRLPOOL 41a818bb2f25ea47bd2db0cc6dcf601722e9c269fe7bb070f9ff3938c8b727733fb0e6370ea5c8ab2c6fdfa7b0131d7124c780497262631233981b5931256f23 +DIST github.com-golang-protobuf-4bd1920723d7b7c925de087aa32e2187708897f7.tar.gz 242813 SHA256 868e51ac5f618fce24ae295c14be2872defbc1a31c3bdcc622c20f4a50a86aeb SHA512 4c22c8f9287066d4e035f2f638e91b78a8731aac23e15ced5ddaf1e386125a89d196300772d59006e72f07c5d1b21fd01ef8ebdc8de5323606b6ff4667e62c31 WHIRLPOOL fbb5301c22568e0872a90283aae5f2db744064d7508f8c61f235b47cea7560243279255f7881825223a8b04febabf6d4119db8ca913731dd89d4c30a42047822 +DIST github.com-google-go-genproto-ee236bd376b077c7a89f260c026c4735b195e459.tar.gz 968271 SHA256 2d7dba8b354e4dd88383a925d8d195c00617fe708d30016183dd6c5cd0a8ee5c SHA512 a3a9e923926da62e097ee1775332cc5550334e4f96975f2ac5f0d3bdaa148f6583dcce10db68d1d4606ee471072b3248f40ae276bd9409c0d31a9f9bb3803bc1 WHIRLPOOL f82fc636cf61028ce3791c28b68d885d10851e86744f465ed1466e9d924a15ba22f0b55b90a755e649cf3858caac5e69d6526fa17fbeedb136a7075950a3ced8 +DIST github.com-grpc-grpc-go-777daa17ff9b5daef1cfdf915088a2ada3332bf0.tar.gz 220340 SHA256 c50b8f8542546791a6946eef488d6767226a8d077fa526fb02b7795de890b0bf SHA512 ca79d38bc7d68f1d98869bee21dcdc563c3fee1a8d28b77d474752376fb91cc7b368466dfac41ddebbec13c1560ac3c22257a52deb6d844add5d208646d2e3f5 WHIRLPOOL 0d64d65d3c54c8559b735beefa31dcbf882a599ac7505b60b8c2aede4c6f8b3d195a420f28cfa18b98f7ad9d07b36bcb0ec46fd4eaff273381b359b1060df8f8 +DIST zetcd-0.0.4.tar.gz 1781564 SHA256 72df949f30e0dcf313cad377caeec9b945a1b9810ff6fdc14a6ab4cd481f8979 SHA512 d01cf89f500c6caf0ca4b60adda82d662d3f8948aeb3963f72872363f31ecd4e99b2b839ad8ae826906b0abdc46fbdacd6f996778d2a51cf2a1ddc6ba09b3fc6 WHIRLPOOL c6095a94beaa8559eed091adf54f23f4334d7b2f6fda8b11aa58dc038e0d2e2b7944378501cb683eae83f5426557b47472b928d981df92d349152bc0c92df2bb +EBUILD zetcd-0.0.4.ebuild 1396 SHA256 c5f2599a5cec649e599554c1d129b8aa1366418a495f7bf19c4724fdb5955c90 SHA512 6d9496328e56a2b02f05b88367b58900f570daf2635e0dcf725feaeba8c66b5e76bd1aa14865af1b6eaa0d1fae4c98d01509ca9f4d97821115c40521de697773 WHIRLPOOL cebd186311adfc880643856067ed9850969a33720c4711bc0ce27983113e419feeb20faae0e4a33193a9449c5dac2668ef58d3c708ba0592d12339ff91168e46 +MISC metadata.xml 322 SHA256 173bab2d7fdbf067373d64a84bf8a790748741de32b695c780f392d0d65a061d SHA512 e681c838e33e7aa6c998909f53816657fbf851319a4fafcd50e8e0ef0e5f6274427f8edf931a997c3ac25d8a9b92c36cad5aea9018dd223c0ca3a47d93272e87 WHIRLPOOL f4c28be3e35e0dea87f7916bf444fa96daa06755de6467835a14da23a8fc14f783603fab2c93271b4579c53d3e4c5c5beafa4dbe3b50be483493498d2fcb563a diff --git a/sys-cluster/zetcd/files/zetcd.confd b/sys-cluster/zetcd/files/zetcd.confd new file mode 100644 index 000000000000..c16dd309d00a --- /dev/null +++ b/sys-cluster/zetcd/files/zetcd.confd @@ -0,0 +1,2 @@ +# arguments for zetcd +command_args="--zkaddr 0.0.0.0:2181 --endpoints localhost:2379" diff --git a/sys-cluster/zetcd/files/zetcd.initd b/sys-cluster/zetcd/files/zetcd.initd new file mode 100644 index 000000000000..93b3a48b43ad --- /dev/null +++ b/sys-cluster/zetcd/files/zetcd.initd @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Zetcd Zookeeper frontend for etcd" +pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"} +user=${user:-${SVCNAME}} +group=${group:-${SVCNAME}} + +command="/usr/bin/zetcd" +command_args="${command_args}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + --stdout /var/log/${SVCNAME}/${SVCNAME}.log \ + --stderr /var/log/${SVCNAME}/${SVCNAME}.log" + +start_pre() { + checkpath -d -m 0755 -o "${user}":"${group}" "${pidfile%/*}" +} diff --git a/sys-cluster/zetcd/metadata.xml b/sys-cluster/zetcd/metadata.xml new file mode 100644 index 000000000000..3534b95e8b93 --- /dev/null +++ b/sys-cluster/zetcd/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mrueg@gentoo.org</email> + <name>Manuel Rüger</name> + </maintainer> + <upstream> + <remote-id type="github">coreos/zetcd</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/zetcd/zetcd-0.0.4.ebuild b/sys-cluster/zetcd/zetcd-0.0.4.ebuild new file mode 100644 index 000000000000..0f92ae748b79 --- /dev/null +++ b/sys-cluster/zetcd/zetcd-0.0.4.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +EGO_PN="github.com/coreos/zetcd" + +EGO_VENDOR=( "github.com/coreos/etcd 714e7ec8db7f8398880197be10771fe89c480ee5" + "google.golang.org/grpc 777daa17ff9b5daef1cfdf915088a2ada3332bf0 github.com/grpc/grpc-go" + "github.com/golang/protobuf 4bd1920723d7b7c925de087aa32e2187708897f7" + "google.golang.org/genproto ee236bd376b077c7a89f260c026c4735b195e459 github.com/google/go-genproto" +) + +ZETCD_COMMIT="e4352ce3cc940bc5b60bb3dd69c14f16dac2980a" + +inherit golang-build golang-vcs-snapshot user + +ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64" + +DESCRIPTION="A ZooKeeper personality for etcd" +HOMEPAGE="https://github.com/coreos/zetcd" +SRC_URI="${ARCHIVE_URI} + ${EGO_VENDOR_URI}" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" + +RESTRICT="test" + +pkg_setup() { + enewgroup ${PN} + enewuser ${PN} -1 -1 -1 ${PN} +} + +src_compile() { + pushd src || die + GOPATH="${WORKDIR}/${P}" go build -o ${EGO_PN}/bin/zetcd -v \ + -ldflags "-X ${EGO_PN}/version.Version=${PV} -X ${EGO_PN}/version.SHA=$ZETCD_COMMIT" \ + ${EGO_PN}/cmd/zetcd || die + popd || die +} + +src_install() { + dobin src/${EGO_PN}/bin/* + dodoc src/${EGO_PN}/README.md + keepdir /var/log/zetcd + fowners -R ${PN}:${PN} /var/log/${PN} + newinitd "${FILESDIR}"/${PN}.initd ${PN} + newconfd "${FILESDIR}"/${PN}.confd ${PN} +} diff --git a/sys-cluster/zookeeper-bin/Manifest b/sys-cluster/zookeeper-bin/Manifest new file mode 100644 index 000000000000..ecdff3980092 --- /dev/null +++ b/sys-cluster/zookeeper-bin/Manifest @@ -0,0 +1,7 @@ +AUX log4j.properties 2191 SHA256 bf9df5ca06d8ffd2c11b13f2ea0b78879afab7d05cb2d48603425b50d7dade85 SHA512 a465aef274e3f325730c150fdebe3ca27f9debe723af6680b187daf83d6da663fa8a51bb9813ec8cba3b4d59c9e28848032083a44686b08fd2c246a461ada0c6 WHIRLPOOL 57281e789d6742d3363152b4deac0405ca74448d61c070df7fd4610db7b9a6ba87c58085f66dccabf895b42457512965249807a6247f9f192b4f3eb568c078c1 +AUX zookeeper.confd 398 SHA256 19ea9c2a4d63d008a8a2e4e7db2d0fd0f8f30958bb87fb7cc064161a83a4c59d SHA512 76ad4796faa2d267ae30d85e573de2dbad00c566764cf6757d71c00c68b10c99383dd87d2352f521c872ce22edde85bb2d3896bb6258f57ce3fc6b423a16296f WHIRLPOOL 37e15ade438d9a0b6d9173ae5a9a4e5d000e0a0fe2bf7a40b9bcbc0a3c2519ebe64e286be7f26d66975ff56e4df8db52837e9d7fa80f9ffa107e6a7567ffee05 +AUX zookeeper.initd 373 SHA256 36a0f24af9aeb11c639d9f028b6be7ac6312e4c14d58b018b59958add5e8f0d1 SHA512 34a4011ecb5d8739e57dbc9222b528a0b323c6aa0aa45391621e724106571a632908782e3a4e14e953be72fa0e525b4c7cab0440af37bbef26a100fd1d92da81 WHIRLPOOL 1a195751e2554d746127153983c2fd66205df7a491a793a880d4bdaf2417696545995ded791e3487b45b17e7966d35093dcd89163b7f2026a408ec6a7247946e +DIST zookeeper-3.4.10.tar.gz 35042811 SHA256 7f7f5414e044ac11fee2a1e0bc225469f51fb0cdf821e67df762a43098223f27 SHA512 4c54e40ac8d0b267db4a188a30e39ed0ac2c3e8a8fadaf244be45ff5adee956df28f6cb9f1eb56f175e924fa3629b64f98286a090c46764c91c017613c80a51b WHIRLPOOL 10fb08b7a351f688b187e38b8dd84578f765eee87fdcfc63e9813bf7c5878048cc4ffba21e660ec9e1af7b58e68de69994b5938791b7ae83a5b014456f35a57a +EBUILD zookeeper-bin-3.4.10.ebuild 1956 SHA256 8a03fe62af42ce643df0f397b77a4c8429918d3048b882e222440d4655646226 SHA512 21b72660fbd7cfe4aa3b9a6af3d04641e2cee78b0eaf249ef678a93d1c1cb8aee1f12ff61152f9d33fed1a880956e54fbd5c7141916976eeec5679423675f437 WHIRLPOOL 381717af5515b4ef63e688abadc9c3da92fa24de03305c5db7723a38ef36fae4b344c8f126d6e9f6dbc50519d6e7c8f059d413b1fe8e4bb14b57e6ade118ee2c +MISC ChangeLog 489 SHA256 89d05384ced0b5bcb2d1ca1b9b2d7d160cf1fa1730278bdf909b83a02e8b5fe9 SHA512 2ee57dc90b07040dc417ca300b24bc4ce4a58e8d0dc83d9d0b84924d8683f4e83dd7aeb9f74931e028b369e3b49ce20ee2b9b51478f4b7912ed11852b5380534 WHIRLPOOL 6e338891a0346c67a080461f074930173a72c4b1697469b7f7fae3c4e5188cff0b5dfc05b2dff057ac4397819eed48c7ee8c50ba9fc9899b889decfa5de9226b +MISC metadata.xml 377 SHA256 7d5b1a42196f5f343f961ac1bf7ad668fcd059306518731fd68f17f4c1ea369b SHA512 2ad1600101d36b70c32cb76894e55f01717a544d689bd28ffb41a727d7d23b6f8e9565eea71f252a721bcd4e516692921796f24266485a216a6015a5a9e74f26 WHIRLPOOL a5865d5f873628d1498b2bc2d73813748135e72dedd645dca6f52180216f61a0e3338e528afd21c6bf55e739dc056ec6109607af324d17cf25f22a816f1a3d52 diff --git a/sys-cluster/zookeeper-bin/files/log4j.properties b/sys-cluster/zookeeper-bin/files/log4j.properties new file mode 100644 index 000000000000..c462993d96ac --- /dev/null +++ b/sys-cluster/zookeeper-bin/files/log4j.properties @@ -0,0 +1,58 @@ +# Define some default values that can be overridden by system properties +zookeeper.root.logger=INFO, CONSOLE +zookeeper.console.threshold=INFO +zookeeper.log.dir=/var/log/zookeeper/ +zookeeper.log.file=zookeeper.log +zookeeper.log.threshold=DEBUG +zookeeper.tracelog.dir=/var/log/zookeeper/ +zookeeper.tracelog.file=zookeeper_trace.log + +# +# ZooKeeper Logging Configuration +# + +# Format is "<default threshold> (, <appender>)+ + +# DEFAULT: console appender only +#log4j.rootLogger=${zookeeper.root.logger} + +# Example with rolling log file +log4j.rootLogger=CONSOLE, ROLLINGFILE + +# Example with rolling log file and tracing +#log4j.rootLogger=TRACE, CONSOLE, ROLLINGFILE, TRACEFILE + +# +# Log INFO level and above messages to the console +# +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.Threshold=${zookeeper.console.threshold} +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n + +# +# Add ROLLINGFILE to rootLogger to get log file output +# Log DEBUG level and above messages to a log file +log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender +log4j.appender.ROLLINGFILE.Threshold=${zookeeper.log.threshold} +log4j.appender.ROLLINGFILE.File=${zookeeper.log.dir}/${zookeeper.log.file} + +# Max log file size of 256MB +log4j.appender.ROLLINGFILE.MaxFileSize=256MB +# uncomment the next line to limit number of backup files +log4j.appender.ROLLINGFILE.MaxBackupIndex=10 + +log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout +log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n + + +# +# Add TRACEFILE to rootLogger to get log file output +# Log DEBUG level and above messages to a log file +log4j.appender.TRACEFILE=org.apache.log4j.FileAppender +log4j.appender.TRACEFILE.Threshold=TRACE +log4j.appender.TRACEFILE.File=${zookeeper.tracelog.dir}/${zookeeper.tracelog.file} + +log4j.appender.TRACEFILE.layout=org.apache.log4j.PatternLayout +### Notice we are including log4j's NDC here (%x) +log4j.appender.TRACEFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L][%x] - %m%n diff --git a/sys-cluster/zookeeper-bin/files/zookeeper.confd b/sys-cluster/zookeeper-bin/files/zookeeper.confd new file mode 100644 index 000000000000..c6c6f0a6d929 --- /dev/null +++ b/sys-cluster/zookeeper-bin/files/zookeeper.confd @@ -0,0 +1,18 @@ +# JVM options +JVM_OPTS="" + +# zookeeper files +MAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain" +CONFIG="/opt/zookeeper-bin/conf/zoo.cfg" + +# build the classpath +INSTALL_DIR=/opt/zookeeper-bin +CLASSPATH="${INSTALL_DIR}/conf:${CLASSPATH}" + +for i in ${INSTALL_DIR}/zookeeper-*.jar; do + CLASSPATH="${i}:${CLASSPATH}" +done + +for i in ${INSTALL_DIR}/lib/*.jar; do + CLASSPATH="${i}:${CLASSPATH}" +done diff --git a/sys-cluster/zookeeper-bin/files/zookeeper.initd b/sys-cluster/zookeeper-bin/files/zookeeper.initd new file mode 100644 index 000000000000..ba66c2162a7a --- /dev/null +++ b/sys-cluster/zookeeper-bin/files/zookeeper.initd @@ -0,0 +1,14 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +name="zookeeper" +command="/usr/bin/java" +command_args="${JVM_OPTS} -cp ${CLASSPATH} ${MAIN} ${CONFIG}" +command_background="true" +start_stop_daemon_args="--user zookeeper --group zookeeper" +pidfile="/var/run/zookeeper.pid" + +depend() { + need net +} diff --git a/sys-cluster/zookeeper-bin/metadata.xml b/sys-cluster/zookeeper-bin/metadata.xml new file mode 100644 index 000000000000..56c47e96183d --- /dev/null +++ b/sys-cluster/zookeeper-bin/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>patrick@gentoo.org</email> + <name>Patrick Lauer</name> + </maintainer> + <maintainer type="project"> + <email>cluster@gentoo.org</email> + <name>Gentoo Cluster Project</name> + </maintainer> +</pkgmetadata> diff --git a/sys-cluster/zookeeper-bin/zookeeper-bin-3.4.10.ebuild b/sys-cluster/zookeeper-bin/zookeeper-bin-3.4.10.ebuild new file mode 100644 index 000000000000..bc0ae0982c2b --- /dev/null +++ b/sys-cluster/zookeeper-bin/zookeeper-bin-3.4.10.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) + +inherit distutils-r1 eutils java-utils-2 user + +MY_P="zookeeper" +MY_PN=${MY_P}-${PV} + +DESCRIPTION="A high-performance coordination service for distributed applications." +HOMEPAGE="http://zookeeper.apache.org/" +SRC_URI="mirror://apache/${MY_P}/${MY_PN}/${MY_PN}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +RESTRICT="mirror binchecks" +IUSE="" + +DEPEND="" +RDEPEND=">=virtual/jre-1.7" + +S=${WORKDIR}/${MY_PN} + +INSTALL_DIR=/opt/${PN} +export CONFIG_PROTECT="${CONFIG_PROTECT} ${INSTALL_DIR}/conf" + +pkg_setup() { + enewgroup zookeeper + enewuser zookeeper -1 /bin/sh /var/lib/zookeeper zookeeper +} + +src_prepare() { + # python + sed -e "s|src/c/zookeeper.c|zookeeper.c|g" \ + -e "s|../../../|${S}|g" \ + -i contrib/zkpython/src/python/setup.py || die +} + +src_configure() { + cd "${S}"/src/c || die + econf +} + +src_compile() { + cd "${S}"/src/c || die + emake +} + +src_install() { + local DATA_DIR=/var/lib/${MY_P} + + # python + cd "${S}"/contrib/zkpython/ || die + mv src/python/setup.py . + mv src/c/* . + python_foreach_impl distutils-r1_src_install + cd "${S}" || die + + # cleanup sources + rm -rf src/ || die + rm bin/*.cmd || die + + keepdir "${DATA_DIR}" + sed "s:^dataDir=.*:dataDir=${DATA_DIR}:" conf/zoo_sample.cfg > conf/zoo.cfg || die "sed failed" + cp "${FILESDIR}"/log4j.properties conf/ || die "cp log4j conf failed" + + dodir "${INSTALL_DIR}" + cp -a "${S}"/* "${D}${INSTALL_DIR}" || die "install failed" + + # data dir perms + fowners zookeeper:zookeeper "${DATA_DIR}" + + # log dir + keepdir /var/log/zookeeper + fowners zookeeper:zookeeper /var/log/zookeeper + + # init script + newinitd "${FILESDIR}"/zookeeper.initd zookeeper + newconfd "${FILESDIR}"/zookeeper.confd zookeeper + + # env file + cat > 99"${PN}" <<-EOF + PATH=${INSTALL_DIR}/bin + CONFIG_PROTECT=${INSTALL_DIR}/conf + EOF + doenvd 99"${PN}" || die "doenvd failed" +} diff --git a/sys-cluster/zookeepercli/Manifest b/sys-cluster/zookeepercli/Manifest new file mode 100644 index 000000000000..9dabdb27e50f --- /dev/null +++ b/sys-cluster/zookeepercli/Manifest @@ -0,0 +1,6 @@ +DIST go-zookeeper-218e9c81c0dd8b3b18172b2bbfad92cc7d6db55f.tar.gz 29301 SHA256 f90c7f318c92b9ad6fee417af842d9b9fc5b6635121e3f8035e236272ad41f28 SHA512 0fda62feaa668b43bdc7866270780b30069d7dace5c25c69d27d5df17bc3331885c9a7d3575b822c4da712e8a4af0465c6370cd3e89f6c39e73d70aed346d599 WHIRLPOOL f02c8c9edbf464111bc3302e23c986a73f7bc6684fb0e37136822cb910fc92136e0e2ca65420bcf98dce02245b42951acce17b0a062c4a0eb01df5b2b103e61f +DIST golib-2418949ac30d9933e7412ccce41f1aa2ae8d5ae8.tar.gz 5892 SHA256 cf524e0dcb1dfd664b668950bf459288f98f92630ef943af8670cd6e3c78e39c SHA512 924b9e296f5d0051f321115b542603653d8868d3bc8cb933b16eaa511c34bb9869fc763ea2f2261a71e8dbe06c5e1963ff202986f496d7d889a55ae7694704ec WHIRLPOOL a099036eabe3bb62b7cc0dedb34c960531b0c3fa0a197f49a86d4c3d6ab80a95bb8b4ec8359b4d2f6c72ac7843184f9b4b182ff4d1d89e8f18aae76fdd1689dd +DIST zookeepercli-1.0.10.tar.gz 11942 SHA256 2a32f1c1706e1df20f6229c163d42e2b0c3e4c2793e0a2ae71cb7add25cb28c5 SHA512 793de5eb2b62265a97c6e82f14c7ba1f9d32dacb86a02375a18ca6cbf472d5b7649e94107e3c497e81d4b81f7131b85032ba100c2d8f14a47fd8fc972c6be47d WHIRLPOOL 60a0cb4f9b3dc512d3dfef1440e4ae677d54601df3877013fa00d8ffe205d66c3d74c71b9956f55eebece56ef4421ae1d01d0fec0b8a2ee053bd6ec2bc814ad9 +EBUILD zookeepercli-1.0.10.ebuild 1555 SHA256 6f094361ddef6ba2c513743190ab4a2bfe55f8b7b01844f1e546b844fcd8bc96 SHA512 ce6cb8822dc01b4d21bd9bb80d25ae903f5147155faec00faf6827352a5cfc187fa4742edaeeb5783e063d2d28f36076506e05e2ea7eee3905d7539bf8aeb273 WHIRLPOOL de11344bda4a5ea03776d8f134760450848ae02a3883f23163f6d9e839b6dfd121bc0fd573908e3a5e7b798e737f59073d93e2159eb7efbf2042f65ea270e358 +MISC ChangeLog 787 SHA256 9a03cc5f330d08735e078484a797105568927ac15a0252a403a5486457ac27ba SHA512 0259d9b5fb3063bd64cd47eed14ed05833a56fcdb7f0073b163fc1330b881df25de6b22dfceb8dcf7a569b81fac2a9f972356a0fde4e80b097f7a67eafef75f1 WHIRLPOOL 756b04ac8fc03a2315c164fdcf26f50050110f6ecf5c2cc7c38549acb39ae418fa1640e68356fc7f69f1940a5314cc7bd53f513ebb5446a1b15e10238a0a6c53 +MISC metadata.xml 330 SHA256 362b8142f2d6a2131e77c66a4728083de04caf442121692366726dfcbedbfeac SHA512 4330eb8e97dbe6441726384149b6090b77c6276ce02547731756968bf255f8d632fdf5f1ebf77f66c977fdd5d75672b2dbc31e1ac0f29678e0f07b27484f37b6 WHIRLPOOL a102279766279f1b45ffe5e6920013c811502b4cca816e25deb30f1356dcd8c97de2109fb4cf51e43b01ffbaf5da5ac09050b663c4ad6fa0499ae5aee046a5ca diff --git a/sys-cluster/zookeepercli/metadata.xml b/sys-cluster/zookeepercli/metadata.xml new file mode 100644 index 000000000000..81b3c8f181ff --- /dev/null +++ b/sys-cluster/zookeepercli/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>zmedico@gentoo.org</email> + <name>Zac Medico</name> + </maintainer> + <upstream> + <remote-id type="github">outbrain/zookeepercli</remote-id> + </upstream> +</pkgmetadata> diff --git a/sys-cluster/zookeepercli/zookeepercli-1.0.10.ebuild b/sys-cluster/zookeepercli/zookeepercli-1.0.10.ebuild new file mode 100644 index 000000000000..690ea9db1f15 --- /dev/null +++ b/sys-cluster/zookeepercli/zookeepercli-1.0.10.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +KEYWORDS="~amd64" +EGO_PN="github.com/outbrain/zookeepercli/..." +EGIT_COMMIT="v${PV}" +SRC_URI="https://${EGO_PN%/*}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz +https://github.com/outbrain/golib/archive/2418949ac30d9933e7412ccce41f1aa2ae8d5ae8.tar.gz -> golib-2418949ac30d9933e7412ccce41f1aa2ae8d5ae8.tar.gz +https://github.com/samuel/go-zookeeper/archive/218e9c81c0dd8b3b18172b2bbfad92cc7d6db55f.tar.gz -> go-zookeeper-218e9c81c0dd8b3b18172b2bbfad92cc7d6db55f.tar.gz" +DESCRIPTION="Simple, lightweight, dependable CLI for ZooKeeper" +HOMEPAGE="https://${EGO_PN%/*}" +LICENSE="Apache-2.0" +SLOT="0" +IUSE="" +DEPEND=">=dev-lang/go-1.4.2:=" + +get_archive_go_package() { + local archive=${1} uri x + for x in ${SRC_URI}; do + if [[ ${x} == http* ]]; then + uri=${x} + elif [[ ${x} == ${archive} ]]; then + break + fi + done + uri=${uri#https://} + echo ${uri%/archive/*} +} + +unpack_go_packages() { + local go_package x + # Unpack packages to appropriate locations for GOPATH + for x in ${A}; do + unpack ${x} + if [[ ${x} == *.tar.gz ]]; then + go_package=$(get_archive_go_package ${x}) + mkdir -p "${S}/src/${go_package%/*}" + for x in ${go_package##*/}-*; do + [[ ${x} -ef ${S} ]] && continue + mv "${x}" "${S}/src/${go_package}" || die + done + fi + done +} + +src_unpack() { + unpack_go_packages +} + +src_compile() { + GOPATH="${S}" \ + go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die +} + +src_install() { + dobin bin/${PN} + dodoc README.md +} |