diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-01-29 18:03:51 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-01-29 18:03:51 +0000 |
commit | d7ed2b01311f15ba54fe8ea872aab7d59ab2b193 (patch) | |
tree | 1814dd2b5bbf2e7639fdafbeef48d228cfaf5e9b /sys-cluster | |
parent | abaa75b10f899ada8dd05b23cc03205064394bc6 (diff) |
gentoo resync : 29.01.2021
Diffstat (limited to 'sys-cluster')
-rw-r--r-- | sys-cluster/Manifest.gz | bin | 12742 -> 12744 bytes | |||
-rw-r--r-- | sys-cluster/glusterfs/Manifest | 8 | ||||
-rw-r--r-- | sys-cluster/glusterfs/glusterfs-7.9.ebuild | 211 | ||||
-rw-r--r-- | sys-cluster/glusterfs/glusterfs-8.3.ebuild | 198 | ||||
-rw-r--r-- | sys-cluster/glusterfs/glusterfs-9.0.ebuild | 198 | ||||
-rw-r--r-- | sys-cluster/glusterfs/metadata.xml | 4 | ||||
-rw-r--r-- | sys-cluster/neutron/Manifest | 8 | ||||
-rw-r--r-- | sys-cluster/neutron/neutron-16.3.0.ebuild | 230 | ||||
-rw-r--r-- | sys-cluster/neutron/neutron-17.1.0.ebuild | 227 |
9 files changed, 1083 insertions, 1 deletions
diff --git a/sys-cluster/Manifest.gz b/sys-cluster/Manifest.gz Binary files differindex df13546f4c92..c65dd0a43d56 100644 --- a/sys-cluster/Manifest.gz +++ b/sys-cluster/Manifest.gz diff --git a/sys-cluster/glusterfs/Manifest b/sys-cluster/glusterfs/Manifest index 4e905fb5a146..3461bbdf104d 100644 --- a/sys-cluster/glusterfs/Manifest +++ b/sys-cluster/glusterfs/Manifest @@ -7,7 +7,13 @@ AUX glusterfs.logrotate 611 BLAKE2B e79718d43b8123e8bcc63336977f972e58332536e0bc AUX glusterfs.vim 139 BLAKE2B 73fdcb49c0c252784718b461541d5483e118bf1b83f445a6ced3119600aa46c469291e19aa439e2c1e35ffc88c83a74977571d8ccfddf078f65c5c16a44ed3e0 SHA512 6ea3b56b71d7e206a57611dd68160b6b9242a19b5c927560f60881dc28d250f7958c50f788a7b9a41fb46010fdac2d67a8289b909ed1f05b793c900f37ccbfb7 DIST glusterfs-7.7.tar.gz 7675420 BLAKE2B cadd415053d791f5fe4fddbc45bf237275b29fb0340202eaf81bbd2e98c8e7a1b59fa276b8b47679224198675759287a2245095a751602a866d512155dfa73c8 SHA512 0a301802920e337a4931ed36133c76ef551e0c1794d324e5a0a120d289a53fb8a4a2fd8adaa7abe5a40b8b17cc2bb18d01426c9f18d91f68b1589429ddbaa125 DIST glusterfs-7.8.tar.gz 7703665 BLAKE2B 39a2b459fc021bf17c2ea12661d8c808a688c5934de087d23550409f6c68dff5ea94156dcba52f15d78db8b600ebf9418152a6d6bf10d1ac6291d43d14f3ceda SHA512 40f7df4bb80a372b370366e8f370f9efdf838122be84d5524b2353027b4eb6005a43b808911214c56411264764164d6480418329db94ed0fe284fdcbd9bccbea +DIST glusterfs-7.9.tar.gz 7702149 BLAKE2B e23b5a45a8c2c4f02f0992dfc78bea942a1dcc621082cb5c6aebf73e0cba17a7c0334700aec8c82dc7d093fbddcf9f579320561412b94ec010cf51c0210f2654 SHA512 5683bf2ff3550b8286e27b70981cb176c445e432624db79f065eb5928bc4afdf009f54f3b1d5abde1f6d2c532c9c4820860685aea0d0f709dc78fcf35bfea688 +DIST glusterfs-8.3.tar.gz 7829522 BLAKE2B 1ba60f7209db4f1ce21237c3adea94df1b9eae04d15f99eb414bf961ea67aa7e08d01ea47c8793a33afbc0ff6cf63ecb81f78fa1ba74d66e2d4358ef2bdadacc SHA512 7ca9d3d8938eb27a7347461a07457e90d1ee6e8d5417970e38245c819cf09bf2ecf9de3954b75edf5cf14816e1059fb381b95935ae1f973ebd14ee7531322aa9 +DIST glusterfs-9.0.tar.gz 8171193 BLAKE2B f9f9905515607b4877432bde264075f73c4c076ae435a67ab803affc468f5f88d02235419fea6e25db19adecff9b797a41eb5ac63772fe81251c064389f7aca6 SHA512 daa5a7342c067c75668910e8fed17145636e7a576830b4cd68e81d9fceedaab918228b8780ebd5014e2397e0606858af650cd2c52bec0883ccd2126955ad07e7 EBUILD glusterfs-7.7.ebuild 6021 BLAKE2B 1dd2f57ea59477a40c6b1ce62323134b38813beedf4330e52a153cbf2d892f1364f3d482472bd725e630ae116cd3747543b3696ecdc964f35633635580d7581d SHA512 95e90355346f4edb887d0c5a343b0acb09450d3ad7ef7ce743d835c7d2968c81cdd1fefbfb321c06000c61ecb28ceab985f5edcc7f1a7cba5aa1070fda2e6005 EBUILD glusterfs-7.8-r1.ebuild 6051 BLAKE2B b724c69f30e04d9e3767d11c0fcacf0e844276516bced38496d02f6d695ec2eeac8b632ea5a4afe9c98618633e19ea8fdfe92688e4bffa0c8efbcc1e08f66e9f SHA512 53790619cc6504f9c0a8172c1b5e68698a3c8003abe83e0513ab72c141c5ecfd226179a9500b9a14663e916086520b3546684ccbc36f47a970a9055a80fde448 +EBUILD glusterfs-7.9.ebuild 6061 BLAKE2B 7baec7d360fcb47f0ef5bba76af5dce306a4fc2773d22d871081204a3b03dbcda22de73c4cf66fcfcbbff2ab7ad80e43a84a78c13bd5fa6fe01c0caa681511cc SHA512 40fb1926dd3e3cc2d8bd6b649635e111e8ede10abb65b29732737de837a6280287e42162f6d649b5905078173d2a467cddbda28cbd4cd2095f82bfa7c7f431e7 +EBUILD glusterfs-8.3.ebuild 5575 BLAKE2B 99f344c639b942e9313071560e745048c65a97bd0e97f39c897aa1e6630c87d020a4223d30a39d10c571cf4fb3a36c9c4c09802accea3bd83f854c6de769062b SHA512 befabf6d6aa1d0d73a87ffe59ebac6a6d3ac235104365ee3c4bbacf4e0c3125c671449973a8247241de93e0dd2fa72afd12b86988f1c55ce9a34b304423c97a5 +EBUILD glusterfs-9.0.ebuild 5575 BLAKE2B 99f344c639b942e9313071560e745048c65a97bd0e97f39c897aa1e6630c87d020a4223d30a39d10c571cf4fb3a36c9c4c09802accea3bd83f854c6de769062b SHA512 befabf6d6aa1d0d73a87ffe59ebac6a6d3ac235104365ee3c4bbacf4e0c3125c671449973a8247241de93e0dd2fa72afd12b86988f1c55ce9a34b304423c97a5 EBUILD glusterfs-9999.ebuild 5975 BLAKE2B e7dff556a3ce1af02657aa623f86870c574524a731ac24b15890e49c1ac1d7c80224354141b4aa59b64c47f851996aafb76ce34fc790b88ba8a8faf12f34bd4d SHA512 6daf0254c09e6d04580a3dfb819380f50fb4721b1afb2c2e765f9c1f80acaa7bfbe131d587ec0a5d44cb56263e03808422b60731eb9b2209698b66a28ccde9c8 -MISC metadata.xml 1361 BLAKE2B 3a105a6248cd2b4c785b15518bca119697aa9b7d3b8609cc38fdd4ec8a401caff9c772f900c65de9b75050994d5b147dd5461747b10b4aac5080ee3c83e8efb1 SHA512 d4aa9447507f9e3e145765e048089e31eac7b5969844798429a142e0089568254ff5ce1401db62addfa4584022f5e84bc1756cb0c7338f4fe08ac348feba77ae +MISC metadata.xml 1472 BLAKE2B d4aa7cc4c10e383af3c4cdb201894e8bdcf85822a98920c8ab7d262bf6c028b02ca0f4a06e6717c8bb4d11d803cba7daffa917be64392dd26dca677a00312af7 SHA512 0de0bb313c559ed3623e84960dee5e3c5628f8c793e7ed376fb7f88311f6879d15dfe112e27ce4dbcba69dbec00b73a03ed78e5d4eafcaec6383ea13908b6c31 diff --git a/sys-cluster/glusterfs/glusterfs-7.9.ebuild b/sys-cluster/glusterfs/glusterfs-7.9.ebuild new file mode 100644 index 000000000000..3b847b2aa4ac --- /dev/null +++ b/sys-cluster/glusterfs/glusterfs-7.9.ebuild @@ -0,0 +1,211 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) + +inherit autotools elisp-common python-single-r1 systemd + +if [[ ${PV#9999} != ${PV} ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/gluster/glusterfs.git" +else + SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +fi + +DESCRIPTION="GlusterFS is a powerful network/cluster filesystem" +HOMEPAGE="https://www.gluster.org/ https://github.com/gluster/glusterfs/" + +LICENSE="|| ( GPL-2 LGPL-3+ )" +SLOT="0/${PV%%.*}" +IUSE="debug emacs +fuse +georeplication infiniband ipv6 libressl +libtirpc rsyslog static-libs +syslog test +xml" + +REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} ) + ipv6? ( libtirpc )" + +# the tests must be run as root +RESTRICT="test" + +# sys-apps/util-linux is required for libuuid +RDEPEND=" + acct-group/gluster + acct-user/gluster + dev-libs/libaio + dev-libs/userspace-rcu:= + net-libs/rpcsvc-proto + sys-apps/util-linux + sys-libs/readline:= + emacs? ( >=app-editors/emacs-23.1:* ) + fuse? ( >=sys-fs/fuse-2.7.0:0 ) + georeplication? ( ${PYTHON_DEPS} ) + infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* ) + xml? ( dev-libs/libxml2 ) + !elibc_glibc? ( sys-libs/argp-standalone ) + libtirpc? ( net-libs/libtirpc:= ) + !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) ) + !libressl? ( dev-libs/openssl:=[-bindist] ) + libressl? ( dev-libs/libressl:= ) +" +DEPEND=" + ${RDEPEND} + sys-devel/bison + sys-devel/flex + virtual/acl + 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 ) +" +BDEPEND=" + virtual/pkgconfig +" + +SITEFILE="50${PN}-mode-gentoo.el" + +DOCS=( AUTHORS ChangeLog NEWS README.md THANKS ) + +PATCHES=( + "${FILESDIR}/${PN}-7.7-flock.patch" +) + +# 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 "python3*" + python-single-r1_pkg_setup +} + +src_prepare() { + default + + # build rpc-transport and xlators only once as shared libs + find rpc/rpc-transport xlators -name Makefile.am -exec \ + sed -i 's|.*$(top_srcdir).*\.sym|\0 -shared|' {} + || die + + # fix execution permissions + chmod +x libglusterfs/src/gen-defaults.py || die + + eautoreconf +} + +src_configure() { + econf \ + --disable-fusermount \ + $(use_enable debug) \ + $(use_enable fuse fuse-client) \ + $(use_enable georeplication) \ + $(use_enable infiniband ibverbs) \ + $(use_enable static-libs static) \ + $(use_enable syslog) \ + $(use_enable test cmocka) \ + $(use_enable xml xml-output) \ + $(use libtirpc || echo --without-libtirpc) \ + $(use ipv6 && echo --with-ipv6-default) \ + --with-tmpfilesdir="${EPREFIX}"/etc/tmpfiles.d \ + --localstatedir="${EPREFIX}"/var +} + +src_compile() { + default + use emacs && elisp-compile extras/glusterfs-mode.el +} + +src_install() { + default + + rm \ + "${ED}"/etc/glusterfs/glusterfs-{georep-,}logrotate \ + "${ED}"/etc/glusterfs/gluster-rsyslog-*.conf \ + "${ED}"/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 + + insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim + insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim + + # 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-r3.initd" glusterd + newconfd "${FILESDIR}/${PN}.confd" glusterfsd + + keepdir /var/log/${PN} + keepdir /var/lib/glusterd/{events,glusterfind/.keys} + + # QA + rm -r "${ED}/var/run/" || die + if ! use static-libs; then + find "${D}" -type f -name '*.la' -delete || die + fi + + python_optimize "${ED}" +} + +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." + echo + elog "If you are upgrading from a previous version of ${PN}, please read:" + elog " http://docs.gluster.org/en/latest/Upgrade-Guide/upgrade_to_$(ver_cut '1-2')/" + + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sys-cluster/glusterfs/glusterfs-8.3.ebuild b/sys-cluster/glusterfs/glusterfs-8.3.ebuild new file mode 100644 index 000000000000..f8603e0e9ea4 --- /dev/null +++ b/sys-cluster/glusterfs/glusterfs-8.3.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) + +inherit autotools elisp-common python-single-r1 systemd + +if [[ ${PV#9999} != ${PV} ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/gluster/glusterfs.git" +else + SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +fi + +DESCRIPTION="GlusterFS is a powerful network/cluster filesystem" +HOMEPAGE="https://www.gluster.org/ https://github.com/gluster/glusterfs/" + +LICENSE="|| ( GPL-2 LGPL-3+ )" +SLOT="0/${PV%%.*}" +IUSE="debug emacs +fuse +georeplication ipv6 libressl +libtirpc rsyslog static-libs +syslog test +xml" + +REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} xml ) + ipv6? ( libtirpc )" + +# the tests must be run as root +RESTRICT="test" + +# sys-apps/util-linux is required for libuuid +RDEPEND=" + acct-group/gluster + acct-user/gluster + dev-libs/libaio + dev-libs/userspace-rcu:= + net-libs/rpcsvc-proto + sys-apps/util-linux + sys-libs/readline:= + emacs? ( >=app-editors/emacs-23.1:* ) + fuse? ( >=sys-fs/fuse-2.7.0:0 ) + georeplication? ( ${PYTHON_DEPS} ) + xml? ( dev-libs/libxml2 ) + !elibc_glibc? ( sys-libs/argp-standalone ) + libtirpc? ( net-libs/libtirpc:= ) + !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) ) + !libressl? ( dev-libs/openssl:=[-bindist] ) + libressl? ( dev-libs/libressl:= ) +" +DEPEND=" + ${RDEPEND} + sys-devel/bison + sys-devel/flex + virtual/acl + 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 ) +" +BDEPEND=" + virtual/pkgconfig +" + +SITEFILE="50${PN}-mode-gentoo.el" + +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 "python3*" + python-single-r1_pkg_setup +} + +src_prepare() { + default + + # build rpc-transport and xlators only once as shared libs + find rpc/rpc-transport xlators -name Makefile.am -exec \ + sed -i 's|.*$(top_srcdir).*\.sym|\0 -shared|' {} + || die + + # fix execution permissions + chmod +x libglusterfs/src/gen-defaults.py || die + + eautoreconf +} + +src_configure() { + econf \ + --disable-fusermount \ + $(use_enable debug) \ + $(use_enable fuse fuse-client) \ + $(use_enable georeplication) \ + $(use_enable static-libs static) \ + $(use_enable syslog) \ + $(use_enable test cmocka) \ + $(use_enable xml xml-output) \ + $(use libtirpc || echo --without-libtirpc) \ + $(use ipv6 && echo --with-ipv6-default) \ + --with-tmpfilesdir="${EPREFIX}"/etc/tmpfiles.d \ + --localstatedir="${EPREFIX}"/var +} + +src_compile() { + default + use emacs && elisp-compile extras/glusterfs-mode.el +} + +src_install() { + default + + rm \ + "${ED}"/etc/glusterfs/glusterfs-{georep-,}logrotate \ + "${ED}"/etc/glusterfs/gluster-rsyslog-*.conf \ + "${ED}"/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 + + insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim + insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim + + # 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 + + newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd + newinitd "${FILESDIR}/glusterd-r3.initd" glusterd + newconfd "${FILESDIR}/${PN}.confd" glusterfsd + + keepdir /var/log/${PN} + keepdir /var/lib/glusterd/{events,glusterfind/.keys} + + # QA + rm -r "${ED}/var/run/" || die + if ! use static-libs; then + find "${D}" -type f -name '*.la' -delete || die + fi + + python_optimize "${ED}" +} + +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." + echo + elog "If you are upgrading from a previous version of ${PN}, please read:" + elog " http://docs.gluster.org/en/latest/Upgrade-Guide/upgrade_to_$(ver_cut '1-2')/" + + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sys-cluster/glusterfs/glusterfs-9.0.ebuild b/sys-cluster/glusterfs/glusterfs-9.0.ebuild new file mode 100644 index 000000000000..f8603e0e9ea4 --- /dev/null +++ b/sys-cluster/glusterfs/glusterfs-9.0.ebuild @@ -0,0 +1,198 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) + +inherit autotools elisp-common python-single-r1 systemd + +if [[ ${PV#9999} != ${PV} ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/gluster/glusterfs.git" +else + SRC_URI="https://download.gluster.org/pub/gluster/${PN}/$(ver_cut 1)/${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +fi + +DESCRIPTION="GlusterFS is a powerful network/cluster filesystem" +HOMEPAGE="https://www.gluster.org/ https://github.com/gluster/glusterfs/" + +LICENSE="|| ( GPL-2 LGPL-3+ )" +SLOT="0/${PV%%.*}" +IUSE="debug emacs +fuse +georeplication ipv6 libressl +libtirpc rsyslog static-libs +syslog test +xml" + +REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} xml ) + ipv6? ( libtirpc )" + +# the tests must be run as root +RESTRICT="test" + +# sys-apps/util-linux is required for libuuid +RDEPEND=" + acct-group/gluster + acct-user/gluster + dev-libs/libaio + dev-libs/userspace-rcu:= + net-libs/rpcsvc-proto + sys-apps/util-linux + sys-libs/readline:= + emacs? ( >=app-editors/emacs-23.1:* ) + fuse? ( >=sys-fs/fuse-2.7.0:0 ) + georeplication? ( ${PYTHON_DEPS} ) + xml? ( dev-libs/libxml2 ) + !elibc_glibc? ( sys-libs/argp-standalone ) + libtirpc? ( net-libs/libtirpc:= ) + !libtirpc? ( elibc_glibc? ( sys-libs/glibc[rpc(-)] ) ) + !libressl? ( dev-libs/openssl:=[-bindist] ) + libressl? ( dev-libs/libressl:= ) +" +DEPEND=" + ${RDEPEND} + sys-devel/bison + sys-devel/flex + virtual/acl + 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 ) +" +BDEPEND=" + virtual/pkgconfig +" + +SITEFILE="50${PN}-mode-gentoo.el" + +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 "python3*" + python-single-r1_pkg_setup +} + +src_prepare() { + default + + # build rpc-transport and xlators only once as shared libs + find rpc/rpc-transport xlators -name Makefile.am -exec \ + sed -i 's|.*$(top_srcdir).*\.sym|\0 -shared|' {} + || die + + # fix execution permissions + chmod +x libglusterfs/src/gen-defaults.py || die + + eautoreconf +} + +src_configure() { + econf \ + --disable-fusermount \ + $(use_enable debug) \ + $(use_enable fuse fuse-client) \ + $(use_enable georeplication) \ + $(use_enable static-libs static) \ + $(use_enable syslog) \ + $(use_enable test cmocka) \ + $(use_enable xml xml-output) \ + $(use libtirpc || echo --without-libtirpc) \ + $(use ipv6 && echo --with-ipv6-default) \ + --with-tmpfilesdir="${EPREFIX}"/etc/tmpfiles.d \ + --localstatedir="${EPREFIX}"/var +} + +src_compile() { + default + use emacs && elisp-compile extras/glusterfs-mode.el +} + +src_install() { + default + + rm \ + "${ED}"/etc/glusterfs/glusterfs-{georep-,}logrotate \ + "${ED}"/etc/glusterfs/gluster-rsyslog-*.conf \ + "${ED}"/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 + + insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim + insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim + + # 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 + + newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd + newinitd "${FILESDIR}/glusterd-r3.initd" glusterd + newconfd "${FILESDIR}/${PN}.confd" glusterfsd + + keepdir /var/log/${PN} + keepdir /var/lib/glusterd/{events,glusterfind/.keys} + + # QA + rm -r "${ED}/var/run/" || die + if ! use static-libs; then + find "${D}" -type f -name '*.la' -delete || die + fi + + python_optimize "${ED}" +} + +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." + echo + elog "If you are upgrading from a previous version of ${PN}, please read:" + elog " http://docs.gluster.org/en/latest/Upgrade-Guide/upgrade_to_$(ver_cut '1-2')/" + + 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 index 2b36a91f63e6..4b9042d82440 100644 --- a/sys-cluster/glusterfs/metadata.xml +++ b/sys-cluster/glusterfs/metadata.xml @@ -5,6 +5,10 @@ <email>jaco@uls.co.za</email> <name>Jaco Kroon</name> </maintainer> + <maintainer type="person"> + <email>jpds@protonmail.com</email> + <name>Jonathan Davies</name> + </maintainer> <maintainer type="project"> <email>cluster@gentoo.org</email> <name>Gentoo Cluster Project</name> diff --git a/sys-cluster/neutron/Manifest b/sys-cluster/neutron/Manifest index 37050b56cb22..0d1c1fc48a61 100644 --- a/sys-cluster/neutron/Manifest +++ b/sys-cluster/neutron/Manifest @@ -7,17 +7,25 @@ AUX neutron-server.confd 70 BLAKE2B 88309872ce864e4dfa9072c1472bd6f1e8116f71106f AUX neutron.initd 530 BLAKE2B 48900bdde5770a0b0db90490d6ae8541dafc96e3fa2aa1c8d75eab5f547be35fa5adb792db8960f71a98bbeb71d56b29e5f5166a47735ebe85804019aa4e1f11 SHA512 c9c7386ae8d97205859f02edb0c7d601059af78def3f232f87e676131c5e6fcdb6e880ccee5b1b15397b1dffe83446421145c90ed448f5e9d55994efd1629f92 AUX neutron.sudoersd 117 BLAKE2B 30e903fd3d681b779ad7e4758b56bfd78df6165ae030f0a5017dccd1873570db450efd3e7b232f77d6d2e3fcb81cb64d9d44901802310ebe2d88f882d334acda SHA512 143f8a1faa7650bc66b2566d0bd62f71eb743231b9efc4c7df265e53d664418b23182e3f271b86845ed76c537b7f60157e87af59413cf659379f367924d14366 DIST neutron-16.2.0.tar.gz 12771467 BLAKE2B d3dbfbffcf7321a195d3cadf0bd4864763f6a1c6c3022ec32d20ffeb1770d522446c78e2bad9c7dc281fdb67b445b3ecbf8908741dd7a42ebc1efde56af642bb SHA512 d5c39296c925af8b69e23a3faf75e99e6d4d2e5b1daf0da7883a75bcce1e41990392aa90499510c7dee552178cb908c1cd80add48ac894015255842d15711641 +DIST neutron-16.3.0.tar.gz 12866714 BLAKE2B 67436c96f52a6d1a60d8af13ce7d8d7b375def861ca83fddca0986649c7f2df6bae41763459feb2bba7e6cd16fab0c0c7ad970582be6d8798350efab11216a3d SHA512 f1901b672925248e08a239fdaf4c691cfcae90d53858ab0eed46919464a2dad8d27e89c46fb47563744e2a569995f5fbc540c8b69eef0273d6a605ea13ef5051 DIST neutron-17.0.0.tar.gz 12801363 BLAKE2B 7297e5832e19f6543bbfdcaed7f4240ed54bb976dc40f0bc90ffbc00e8d5b97b4f194fd9c451f08f7f6c431c66f99562f0fce63456ff66418aad73c3effb3bac SHA512 5a67896376110cdae407c4ba3b758b1b12883c1355e30e927e1c705c6ad3df5126c1555870f7e9b130b35663c5f748f33078c588b3c4b94750f47b5db58b0662 +DIST neutron-17.1.0.tar.gz 12910659 BLAKE2B 30634389e9caf77e7bc36b61f26c8ff24013171f1dc0cef52e2ebb55363b526bb6146a578e21c027ef6902f8881985c5a06d4d0b98992e13720a8118cd876b05 SHA512 62bd2691878c93f9c51adfecf7f7aa6fbb51485a259a419e9797738626fb2527c167ea568cd54f5fdc60a5210c53fafb2b754817123742b27150ed1cfbffca2b DIST neutron-configs-16.2.0.tar.gz 24350 BLAKE2B 8f6eeae762fa297651f07667387beac6677cfa9a6c0d13d3fc90ac09753022fd284fc56c53557ab83cda99ab4fe03acc2d2049e4bb62f9496b310b1cd6f42099 SHA512 b087b23a1aa19678d4b9a76ae82243d03fe82706712e8c37b759a8521062f79e83307769b4ba639f67aa402f8b03cdf12d3274d821c3f8ecfd17ded9f4f2c881 +DIST neutron-configs-16.3.0.tar.gz 24350 BLAKE2B 8f6eeae762fa297651f07667387beac6677cfa9a6c0d13d3fc90ac09753022fd284fc56c53557ab83cda99ab4fe03acc2d2049e4bb62f9496b310b1cd6f42099 SHA512 b087b23a1aa19678d4b9a76ae82243d03fe82706712e8c37b759a8521062f79e83307769b4ba639f67aa402f8b03cdf12d3274d821c3f8ecfd17ded9f4f2c881 DIST neutron-configs-17.0.0.tar.gz 30314 BLAKE2B 885d00259fde0200f6a52d91b18e884012c04cb06e5e4ba6c72b77fbb0a8df30d50efd6db16faa009328eac9b7c5fb31854feb81595a542b4ac5d8172c8056b6 SHA512 cf85a563c417e1fb01f7d329c7021c20782fe67f64c5dfd542deed07e09d6a717e472976df8f1f4c3bb4a6a10e8d8b8300f18e1a3759358b3db12f77dad7bd5b +DIST neutron-configs-17.1.0.tar.gz 30314 BLAKE2B 885d00259fde0200f6a52d91b18e884012c04cb06e5e4ba6c72b77fbb0a8df30d50efd6db16faa009328eac9b7c5fb31854feb81595a542b4ac5d8172c8056b6 SHA512 cf85a563c417e1fb01f7d329c7021c20782fe67f64c5dfd542deed07e09d6a717e472976df8f1f4c3bb4a6a10e8d8b8300f18e1a3759358b3db12f77dad7bd5b DIST neutron-configs-2020.1.9999.tar.gz 24350 BLAKE2B 8f6eeae762fa297651f07667387beac6677cfa9a6c0d13d3fc90ac09753022fd284fc56c53557ab83cda99ab4fe03acc2d2049e4bb62f9496b310b1cd6f42099 SHA512 b087b23a1aa19678d4b9a76ae82243d03fe82706712e8c37b759a8521062f79e83307769b4ba639f67aa402f8b03cdf12d3274d821c3f8ecfd17ded9f4f2c881 DIST neutron-configs-2020.2.9999.tar.gz 30314 BLAKE2B 885d00259fde0200f6a52d91b18e884012c04cb06e5e4ba6c72b77fbb0a8df30d50efd6db16faa009328eac9b7c5fb31854feb81595a542b4ac5d8172c8056b6 SHA512 cf85a563c417e1fb01f7d329c7021c20782fe67f64c5dfd542deed07e09d6a717e472976df8f1f4c3bb4a6a10e8d8b8300f18e1a3759358b3db12f77dad7bd5b DIST neutron-ml2-plugins-16.2.0.tar.gz 8887 BLAKE2B 5887027ce4585a523bb3379c002acdde1faa9ed24d0c83c931f2a387b56e8baf8352ae9f82ba46c85a6a3e5b1d68792da1e1ca1fae9b6dde525e6f6c67849ac4 SHA512 4ae70fe3e386932e0327333d29dc526b5f0f0f800ac14d17faa4c1e3fc2dd8524760b84bbb4767e73e70647984aa50702e5e47dc42deb47f66c47c5e3e965111 +DIST neutron-ml2-plugins-16.3.0.tar.gz 8887 BLAKE2B 5887027ce4585a523bb3379c002acdde1faa9ed24d0c83c931f2a387b56e8baf8352ae9f82ba46c85a6a3e5b1d68792da1e1ca1fae9b6dde525e6f6c67849ac4 SHA512 4ae70fe3e386932e0327333d29dc526b5f0f0f800ac14d17faa4c1e3fc2dd8524760b84bbb4767e73e70647984aa50702e5e47dc42deb47f66c47c5e3e965111 DIST neutron-ml2-plugins-17.0.0.tar.gz 9011 BLAKE2B d9f8cb4d26699ca44a4cf4cd422bd88b9bb5a2138a80fec469021491d87b158502801c2ce79316f52a900877f7706dc93c2a5a5a33c868918effeaa6b65a7931 SHA512 a225310f0f54991a079d515512189b3c08de22c5b13d58960ef24498401fc54b0878ed879d895e696b789e703a0bb3f4a184eccbbfb9ac9fe9447086cb952b37 +DIST neutron-ml2-plugins-17.1.0.tar.gz 9011 BLAKE2B d9f8cb4d26699ca44a4cf4cd422bd88b9bb5a2138a80fec469021491d87b158502801c2ce79316f52a900877f7706dc93c2a5a5a33c868918effeaa6b65a7931 SHA512 a225310f0f54991a079d515512189b3c08de22c5b13d58960ef24498401fc54b0878ed879d895e696b789e703a0bb3f4a184eccbbfb9ac9fe9447086cb952b37 DIST neutron-ml2-plugins-2020.1.9999.tar.gz 8887 BLAKE2B 5887027ce4585a523bb3379c002acdde1faa9ed24d0c83c931f2a387b56e8baf8352ae9f82ba46c85a6a3e5b1d68792da1e1ca1fae9b6dde525e6f6c67849ac4 SHA512 4ae70fe3e386932e0327333d29dc526b5f0f0f800ac14d17faa4c1e3fc2dd8524760b84bbb4767e73e70647984aa50702e5e47dc42deb47f66c47c5e3e965111 DIST neutron-ml2-plugins-2020.2.9999.tar.gz 9011 BLAKE2B d9f8cb4d26699ca44a4cf4cd422bd88b9bb5a2138a80fec469021491d87b158502801c2ce79316f52a900877f7706dc93c2a5a5a33c868918effeaa6b65a7931 SHA512 a225310f0f54991a079d515512189b3c08de22c5b13d58960ef24498401fc54b0878ed879d895e696b789e703a0bb3f4a184eccbbfb9ac9fe9447086cb952b37 EBUILD neutron-16.2.0.ebuild 8434 BLAKE2B f44ea199a0dd10a05c3fed5b85c199df61ba2f7ea33dd2983d5d47522afb1f9fd06b7e7f11e12ce5dde7519a158c640ca12240b2eaa0704e1d79e554e00686a4 SHA512 040cbb03ffcd068f94f0e2beeb3eeff9153b4c01c06d67f7a93c5fc17f1283a5d15c83007efcdf4d1f8a58c59c7a53092d0f1797ce6ef64c4c64569f5dc51415 +EBUILD neutron-16.3.0.ebuild 8436 BLAKE2B 99f83376346c81b89cf30883395652d4e34c5c570f3517d072485a147cf9684c455ddea0db79bdd1581c4582bae6c7dca8b256b524dcd5f0960e8a83a50e667b SHA512 bd4c22ebb06a4a918cc8e79135b0868e1f793afcd42a1be8731f62e6ef53f112702df93349dda5dfe9861867403dc323b939f2a5d9926a766f5ba5dde57f2768 EBUILD neutron-17.0.0.ebuild 8313 BLAKE2B f8a69f329757370c6a9e6bc25fcdafeb4988ac9fa90ef101e58d59ead17c54af0dcc8b782d44b6b5c11f3cde49223a8185b3bf82ac39cab42a37fb629c78e351 SHA512 0147ec97514e24ebce0afa2675019fecdcddf5fc7539de5c717332ff83193e018f4280b330880b661d5f4372f5ed5ef18e3b2e1e869d1f25edb15bb89903ac88 +EBUILD neutron-17.1.0.ebuild 8315 BLAKE2B fa52a494ae8ac76d7fcb824243c8bad91afe71c109ef4c45c6126a0a08b81553c418d2531688b1dc2f5f2ca0d5a7318b21b8271c507fcac7088baaf4b79d6ef3 SHA512 c25ab2bb8f98080a2a7d29e509d09a9a2bf644ccf0ad9cd828ab5d4c4a887538da57eb884b0c3a5a3f1837998e8bdf050a1a7c1f0ebab0100f20d2539ebc3822 EBUILD neutron-2020.1.9999.ebuild 8436 BLAKE2B 597fd963d5359060fb293eaebe0eb87b1549aabb5d33048c0d7590980ccf406793eaa541861e988424e93cd969a5d4b7d7210be1eab05765f78e8813c157d509 SHA512 34f3cd5c78d91d817e4c25a993cb56d70ab4005f15d9c7b4869e6aa1c349baa354d76eff6792ca3e5ebe2efd6f681e47b24e2e2130569648fe6501baa35b46f7 EBUILD neutron-2020.2.9999.ebuild 8315 BLAKE2B f4f2ee602d5c871dde01f017b6b2b215ff62369a65d264412c6dff7fcea9ebf3791ab9502e63b284160145f629cef2a518f74e9771c18ad97b69a11dfbb43b9a SHA512 990e58211592aabe206ccebda35505cc85407cbbbd12f13bbb996f92a8aa35b28ca1084883825fdba0df821f8d92b87f7b0062f31c7f6515ef4776d8c4e92f4a MISC metadata.xml 1619 BLAKE2B 462b212e519778c98632ec3230e5f0d1a006a229edef034ed0d462559cb0c1763dafb997198241cca4f9c7cb056ebada214c82745dce35b269c2c27d554145a4 SHA512 8f9075719eeec3c3a939e8a1b05a5604bc1e801b227feb5775bfa9f2812e67c41165dc0b2b377685645d9fd9988523356ac77a8db8e73139ab3f035ae59b70ce diff --git a/sys-cluster/neutron/neutron-16.3.0.ebuild b/sys-cluster/neutron/neutron-16.3.0.ebuild new file mode 100644 index 000000000000..1ec4c3997360 --- /dev/null +++ b/sys-cluster/neutron/neutron-16.3.0.ebuild @@ -0,0 +1,230 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_7 ) +DISTUTILS_USE_SETUPTOOLS=rdepend + +inherit distutils-r1 linux-info + +DESCRIPTION="A virtual network service for Openstack" +HOMEPAGE="https://launchpad.net/neutron" +if [[ ${PV} == *9999 ]];then + inherit git-r3 + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ussuri/configs.tar.gz -> neutron-configs-${PV}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ussuri/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz" + EGIT_REPO_URI="https://github.com/openstack/neutron.git" + EGIT_BRANCH="stable/ussuri" +else + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ussuri/configs.tar.gz -> neutron-configs-${PV}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ussuri/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz + https://tarballs.openstack.org/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="compute-only dhcp haproxy 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-4.0.0[${PYTHON_USEDEP}]" +DEPEND="${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/paste-2.0.2[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.19.0[${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/pecan-1.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}] + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}] + >=dev-python/jinja-2.10[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/neutron-lib-2.2.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}] + >=dev-python/tenacity-4.4.0[${PYTHON_USEDEP}] + compute-only? ( + >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.2.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.2.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}] + ) + >=dev-python/webob-1.8.2[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-3.14.0[${PYTHON_USEDEP}] + >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}] + >=dev-python/six-1.10.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.37.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.32.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}] + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}] + !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}] + >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.35.1[${PYTHON_USEDEP}] + >=dev-python/osprofiler-2.3.0[${PYTHON_USEDEP}] + >=dev-python/os-ken-0.3.0[${PYTHON_USEDEP}] + >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}] + >=dev-python/ovsdbapp-1.0.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}] + >=dev-python/pyroute2-0.5.7[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-17.1.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}] + >=dev-python/openstacksdk-0.31.2[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}] + >=dev-python/os-xenapi-0.3.1[${PYTHON_USEDEP}] + >=dev-python/os-vif-1.15.1[${PYTHON_USEDEP}] + >=dev-python/futurist-1.2.0[${PYTHON_USEDEP}] + >=dev-python/tooz-1.58.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 + haproxy? ( net-proxy/haproxy ) + openvswitch? ( net-misc/openvswitch ) + ipv6? ( + net-misc/radvd + >=net-misc/dibbler-1.0.1 + ) + dhcp? ( net-dns/dnsmasq[dhcp-tools] ) + acct-group/neutron + acct-user/neutron" + +#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_DEFRAG_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_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 ../../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) + python_moduleinto neutron/db/migration/alembic_migrations + python_domodule "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-17.1.0.ebuild b/sys-cluster/neutron/neutron-17.1.0.ebuild new file mode 100644 index 000000000000..7ba8c9f50879 --- /dev/null +++ b/sys-cluster/neutron/neutron-17.1.0.ebuild @@ -0,0 +1,227 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python3_7 python3_8 ) +DISTUTILS_USE_SETUPTOOLS=rdepend + +inherit distutils-r1 linux-info + +DESCRIPTION="A virtual network service for Openstack" +HOMEPAGE="https://launchpad.net/neutron" +if [[ ${PV} == *9999 ]];then + inherit git-r3 + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/victoria/configs.tar.gz -> neutron-configs-${PV}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/victoria/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz" + EGIT_REPO_URI="https://github.com/openstack/neutron.git" + EGIT_BRANCH="stable/victoria" +else + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/victoria/configs.tar.gz -> neutron-configs-${PV}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/victoria/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz + https://tarballs.openstack.org/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="compute-only dhcp haproxy 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 ) )" + +DEPEND=" + >=dev-python/pbr-4.0.0[${PYTHON_USEDEP}] + app-admin/sudo +" +RDEPEND=" + >=dev-python/pbr-4.0.0[${PYTHON_USEDEP}] + >=dev-python/paste-2.0.2[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.19.0[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.21.0[${PYTHON_USEDEP}] + >=dev-python/pecan-1.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}] + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}] + >=dev-python/jinja-2.10[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/neutron-lib-2.6.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}] + >=dev-python/tenacity-6.0.0[${PYTHON_USEDEP}] + compute-only? ( + >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.2.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.2.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}] + ) + >=dev-python/webob-1.8.2[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-3.14.0[${PYTHON_USEDEP}] + >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.20.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.44.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-3.20.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-4.2.1[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-7.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-2.3.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-2.25.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}] + !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}] + >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-4.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.35.1[${PYTHON_USEDEP}] + >=dev-python/osprofiler-2.3.0[${PYTHON_USEDEP}] + >=dev-python/os-ken-0.3.0[${PYTHON_USEDEP}] + >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}] + >=dev-python/ovsdbapp-1.3.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}] + >=dev-python/pyroute2-0.5.13[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-17.1.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}] + >=dev-python/openstacksdk-0.31.2[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}] + >=dev-python/os-xenapi-0.3.1[${PYTHON_USEDEP}] + >=dev-python/os-vif-1.15.1[${PYTHON_USEDEP}] + >=dev-python/futurist-1.2.0[${PYTHON_USEDEP}] + >=dev-python/tooz-1.58.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 + haproxy? ( net-proxy/haproxy ) + openvswitch? ( net-misc/openvswitch ) + ipv6? ( + net-misc/radvd + >=net-misc/dibbler-1.0.1 + ) + dhcp? ( net-dns/dnsmasq[dhcp-tools] ) + acct-group/neutron + acct-user/neutron" + +#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_DEFRAG_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_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 ../../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) + python_moduleinto neutron/db/migration/alembic_migrations + python_domodule "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 +} |