From 38423c67c8a23f6a1bc42038193182e2da3116eb Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 25 Apr 2020 11:37:10 +0100 Subject: gentoo resync : 25.04.2020 --- app-admin/rex/Manifest | 6 +- app-admin/rex/metadata.xml | 7 ++ app-admin/rex/rex-1.9.0.ebuild | 185 +++++++++++++++++++++++++++++++++++++++++ app-admin/rex/rex-9999.ebuild | 88 ++++++++++++++------ 4 files changed, 260 insertions(+), 26 deletions(-) create mode 100644 app-admin/rex/rex-1.9.0.ebuild (limited to 'app-admin/rex') diff --git a/app-admin/rex/Manifest b/app-admin/rex/Manifest index 3b32a556e997..73bf46386f8c 100644 --- a/app-admin/rex/Manifest +++ b/app-admin/rex/Manifest @@ -3,10 +3,12 @@ DIST Rex-1.4.0.tar.gz 289330 BLAKE2B 70d74753e5b04b05ea7a5507f5c8c19ae953b4cc28e DIST Rex-1.4.1.tar.gz 317358 BLAKE2B 8c12d54e86684ec224a75693f82fd4728af32a986f166d530bccc2d06c5087fdb29f067d4419f3160244d37c12ace6cd29ba1322992bcc9f4a481c06e00efa51 SHA512 07e7d950326aaa60e05977f2acb2ac90f07efe0d56411ba202a4c60a890c37e984c6786383623ac67f8e36052cf8436e8430fd024dde282a7d2530425b420e8e DIST Rex-1.5.0.tar.gz 327424 BLAKE2B ea735ebeef7a4d879ec61783c7ee803f198b4091882bbdbaee1b415330fcb20ba408f082e7ecaaa5c63664d905690bd6b5601d2d726ff20f5dc9d1f8c6d470a4 SHA512 43a1e147e5d2dccdc641479f2bf5449b0051651d152823738caf946bb3ceecb444011c3273f0c70ca5feab737702f6cd609f5b211eec8261e1facd80c82b6c73 DIST Rex-1.6.0.tar.gz 331330 BLAKE2B cb3a2895c1b7fd775aa762e8af7fbfdf3d14aac0d4ed5cd32bc65f4eb2b7794e438015daf9602cea3a852ed17dd207c9647303a106d8fff2cc89b5ce7a5ff0a2 SHA512 8e4421e034ddf7337266ce2002e96cad12a632ff37742991685d2919e3b11a4f6f3348097fd36717ab83a38e2e46aa974d0e56c67568a857c30f7ea673a51cda +DIST Rex-1.9.0.tar.gz 331106 BLAKE2B 74bdf06be9454bc41c444a7d2bf576740e8ecfd2dd575d96172becaac5ee6031506b5ef111c6755a3bc3dcb1eb45722a14c050578cf816815954686a0e79a5ab SHA512 9f9f629d681cc9af3fabccbbb31a881ab7a0414b51e6f1fc45600772b5f7207f8bf27a757955576b15eb7e8e7339e9f4746c497e4111904ad57614ebf1e3cb55 EBUILD rex-1.3.3.ebuild 1165 BLAKE2B 18d0b4b997e062eac059e348c19cc77f3dd20142f6b912ce9122029f9b020d06a757b6c42d36f9441c2d6f48649bbd93466d6eaad81325787b18a2bd124e1ca8 SHA512 f5a0e607a75089199e5a1979816916f3592844d8bf07eeced566aac2cf706b98096832e7303835cad200d2f8485c45bf5c1e92541beda4c321028c68e0884395 EBUILD rex-1.4.0-r1.ebuild 1153 BLAKE2B b375b15001291702988f07603af9b54afc32c3762a5e78ea6f67706c943cc6af766e003dc1ad318bf299cf79a42f0e1c06c15de40d059487c0ee022958d0169a SHA512 819c53956bea6a3d165a9fe2528ddfb0b56743fe9d4389dae3f213432097a3cd30bfab396c96033c3cfc1cd6b0ed1d9594adaa026a0156cb8c4a38aa3a45bc76 EBUILD rex-1.4.1.ebuild 1154 BLAKE2B 3f927f61e1d09229803df0e9e9fa9782ca819f4925b20e0b54ee9d4c3dc276d169c531ee0adc38bda25f6ef9834b70ab4c7b4e4d8712d501778e03a36df73d76 SHA512 0e3216353cd6861dfa8101599bf12e91fca589b0a085562d0b8aea95243506136725383a240a81bed32671e3e8d16cf2bc600a9cb31c81e55e75e2cd9433d273 EBUILD rex-1.5.0.ebuild 3666 BLAKE2B f35b76024072e22c7252bc46fc568e6f16160e14ccce6aa684d177cfcd4febfe313aa4d3f5d13df9d1c43f48e62e4618cc226eccf408bfc2b65bd3c5270a11a6 SHA512 dc3f9ac8c3fa6c27ff6186950fd7a6af96839a4f52266a6a4749db85bcbc46d02f6806c35f8498f0a06e1c052deb3b882eb86b6403f599a91946ba1e156d388a EBUILD rex-1.6.0.ebuild 3690 BLAKE2B c7a716cdfaaae93100d0ad413ce33df190d73622502a2e75e2d21864dd60c5a03cef80ec6242af378c27594ae0f7ad303479d71cf5f2dffcc5e7081000daec46 SHA512 5421142ad66676135e369912ce069c01652b1d1436cd57030f282011e1c3fd7b695cc6ec2a446bd162e0eef31ff46cbe3ed4837c5505995e4b8ef04646fbac78 -EBUILD rex-9999.ebuild 3666 BLAKE2B f35b76024072e22c7252bc46fc568e6f16160e14ccce6aa684d177cfcd4febfe313aa4d3f5d13df9d1c43f48e62e4618cc226eccf408bfc2b65bd3c5270a11a6 SHA512 dc3f9ac8c3fa6c27ff6186950fd7a6af96839a4f52266a6a4749db85bcbc46d02f6806c35f8498f0a06e1c052deb3b882eb86b6403f599a91946ba1e156d388a -MISC metadata.xml 23689 BLAKE2B 5aa6d9627f8f5b5564e231338a4b31893232a6593ba63278fdecf7cd345f1d7eadf756c4f0c77077c3b11b4b26646f9f1492c442cafb6f253d46cb3f72370e33 SHA512 136db3e5b2495b8e3b08feafeb4426c7692ee13d7366bec18e56e231d30823c3e36066a70538f0c3c972ec06955f746e8400819c22751caa164e1a72331a6148 +EBUILD rex-1.9.0.ebuild 5099 BLAKE2B 03c38fc711dd43055b32e4e29b9c8e095772d51e4e6c4e419da34e2b41b8d11fb469ef9b79ae94bcb85ac6472aea755c4d84bc9c702d72005e7f096f4c234c9e SHA512 99721ba1d4cd612aa6fe36af8d43e2ddd6087a999925676c3be4326a41092e0e92bd4b06bbcd3b064d9d3fc00ff450a2ecaecf37ca590d579f4eaf2cd9273f01 +EBUILD rex-9999.ebuild 5099 BLAKE2B 03c38fc711dd43055b32e4e29b9c8e095772d51e4e6c4e419da34e2b41b8d11fb469ef9b79ae94bcb85ac6472aea755c4d84bc9c702d72005e7f096f4c234c9e SHA512 99721ba1d4cd612aa6fe36af8d43e2ddd6087a999925676c3be4326a41092e0e92bd4b06bbcd3b064d9d3fc00ff450a2ecaecf37ca590d579f4eaf2cd9273f01 +MISC metadata.xml 24205 BLAKE2B 76aa5370179f64adaaf79cb730a4cc53deb191a27e97b10cbb26efd804572eb79d67d9abdb09c5e62d08d73d969848286516a2176099237feba2a5c855cd263d SHA512 a6cae05b4f46b10502da5acc2905f622b61a30329c300483cea39348e92d182d190dd61433c551a1948d4ac6a281b9f91c47b759f425055970e8c5a6349b8693 diff --git a/app-admin/rex/metadata.xml b/app-admin/rex/metadata.xml index 8ff646c52b5c..a1b89deccc29 100644 --- a/app-admin/rex/metadata.xml +++ b/app-admin/rex/metadata.xml @@ -29,6 +29,7 @@ Rex::Box Rex::Box::Amazon Rex::Box::Base + Rex::Box::Docker Rex::Box::KVM Rex::Box::VBox Rex::CLI @@ -224,6 +225,7 @@ Rex::Pkg::SunOS::OpenCSW Rex::Pkg::SunOS::pkg Rex::Pkg::Ubuntu + Rex::Pkg::VoidLinux Rex::PkgConf Rex::PkgConf::Base Rex::PkgConf::Debian @@ -263,6 +265,7 @@ Rex::Service::SunOS Rex::Service::SunOS::svcadm Rex::Service::Ubuntu + Rex::Service::VoidLinux Rex::Shared::Var Rex::Shared::Var::Array Rex::Shared::Var::Common @@ -306,11 +309,15 @@ Rex::Virtualization::Docker::daemon Rex::Virtualization::Docker::delete Rex::Virtualization::Docker::destroy + Rex::Virtualization::Docker::guestinfo + Rex::Virtualization::Docker::images + Rex::Virtualization::Docker::import Rex::Virtualization::Docker::info Rex::Virtualization::Docker::list Rex::Virtualization::Docker::reboot Rex::Virtualization::Docker::shutdown Rex::Virtualization::Docker::start + Rex::Virtualization::Docker::status Rex::Virtualization::LibVirt Rex::Virtualization::LibVirt::blklist Rex::Virtualization::LibVirt::clone diff --git a/app-admin/rex/rex-1.9.0.ebuild b/app-admin/rex/rex-1.9.0.ebuild new file mode 100644 index 000000000000..26385e391279 --- /dev/null +++ b/app-admin/rex/rex-1.9.0.ebuild @@ -0,0 +1,185 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +if [[ ${PV} == 9999 ]]; then + GITHUB_USER=RexOps + GITHUB_REPO=Rex + EGIT_REPO_URI="https://github.com/${GITHUB_USER}/${GITHUB_REPO}.git" + EGIT_BRANCH="master" + EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}-git" + VCS_ECLASS="git-r3" +else + # This is intentional to stop perl-module.eclass doing magic things when it + # shouldn't. Like making ${S} contain "Rex" when the git clone has "rex" + # Also prevents perl-module.eclass provisioning SRC_URI + DIST_AUTHOR=FERKI + DIST_NAME=Rex + KEYWORDS="~amd64 ~x86" +fi +inherit perl-module ${VCS_ECLASS} + +DESCRIPTION="(R)?ex, the friendly automation framework" + +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +DZIL_DEPENDS=" + dev-perl/Dist-Zilla + dev-perl/Dist-Zilla-Plugin-CheckExtraTests + dev-perl/Dist-Zilla-Plugin-ContributorsFile + dev-perl/Dist-Zilla-Plugin-Git-Contributors + dev-perl/Dist-Zilla-Plugin-MakeMaker-Awesome + dev-perl/Dist-Zilla-Plugin-Meta-Contributors + dev-perl/Dist-Zilla-Plugin-MetaProvides-Package + dev-perl/Dist-Zilla-Plugin-NextVersion-Semantic + dev-perl/Dist-Zilla-Plugin-OSPrereqs + dev-perl/Dist-Zilla-Plugin-OurPkgVersion + dev-perl/Dist-Zilla-Plugin-Run + dev-perl/Software-License +" +RDEPEND=" + virtual/perl-Carp + virtual/perl-Data-Dumper + dev-perl/Data-Validate-IP + dev-perl/DBI + dev-perl/Devel-Caller + dev-perl/Digest-HMAC + virtual/perl-Digest-MD5 + dev-perl/Expect + virtual/perl-Exporter + virtual/perl-File-Spec + dev-perl/HTTP-Message + dev-perl/Hash-Merge + virtual/perl-IO + dev-perl/IO-String + dev-perl/IO-Tty + dev-perl/IPC-Shareable + dev-perl/JSON-MaybeXS + dev-perl/List-MoreUtils + virtual/perl-MIME-Base64 + dev-perl/Net-OpenSSH + dev-perl/Net-SFTP-Foreign + virtual/perl-Scalar-List-Utils + dev-perl/Parallel-ForkManager + dev-perl/Sort-Naturally + dev-perl/String-Escape + virtual/perl-Storable + dev-perl/TermReadKey + virtual/perl-Test-Simple + dev-perl/Text-Glob + virtual/perl-Text-Tabs+Wrap + virtual/perl-Time-HiRes + dev-perl/URI + dev-perl/XML-LibXML + dev-perl/XML-Simple + dev-perl/libwww-perl + dev-perl/YAML + virtual/perl-version +" + +BDEPEND=" + ${RDEPEND} + >=virtual/perl-ExtUtils-MakeMaker-7.110.100 + test? ( + virtual/perl-File-Temp + dev-perl/Test-Deep + >=dev-perl/Test-UseAllModules-0.150.0 + ) +" + +[[ ${PV} == 9999 ]] && BDEPEND+=" ${DZIL_DEPENDS}" + +src_unpack() { + if [[ $PV == 9999 ]]; then + "${VCS_ECLASS}"_src_unpack + mkdir -p "${S}" || die "Can't make ${S}" + else + default + fi +} + +dzil_src_prep() { + einfo "Patching dist.ini" + + # This block of sed invocations removes all plugins that aren't + # useful for users to have on Gentoo, because all of them are + # conditional and subjective style checks, which don't indicate + # a real issue for users, and paying the price of their dependencies is undesired. + + # The {N;d} trick adds the [n]ext line after the match to the pattern-space + # so that the final [d]elete deletes the next line too. Can be expanded for each + # line, ie: {N;N;N;d} deletes 3 lines after the match as well as the match. + sed -e '/^\[Test::Kwalitee\]/d' \ + -e '/^\[Test::Perl::Critic\]/d' \ + -e '/^\[PodSyntaxTests\]/d' \ + -e '/^Test::Kwalitee =/d' \ + -e '/^Test::PerlTidy =/d' \ + -e '/^Test::Pod =/d' \ + -e '/^\[Test::CPAN::Changes\]/{N;d}' \ + -e '/^\[Test::MinimumVersion\]/{N;d}' \ + -i dist.ini || die "Can't patch dist.ini" +} +dzil_env_setup() { + # NextVersion noise :( + mkdir -p ~/.dzil/ + local user="$(whoami)" + local host="$(hostname)" + printf '[%%User]\nname = %s\nemail = %s' "${user}" "${user}@${host}" >> ~/.dzil/config.ini + +} +dzil_to_distdir() { + local dzil_root dest has_missing modname dzil_version + dzil_root="$1" + dest="$2" + + cd "${dzil_root}" || die "Can't enter git workdir '${dzil_root}'"; + + dzil_src_prep + dzil_env_setup + + dzil_version="$(dzil version)" || die "Error invoking 'dzil version'" + einfo "Generating CPAN dist with ${dzil_version}" + + has_missing="" + + einfo "Checking dzil authordeps" + while IFS= read -d $'\n' -r modname; do + if [[ -z "${has_missing}" ]]; then + has_missing=1 + eerror "'dzil authordeps' indicates missing build dependencies" + eerror "These will prevent building, please report a bug" + eerror "Missing:" + fi + eerror " ${modname}" + done < <( dzil authordeps --missing --versions ) + + [[ -z "${has_missing}" ]] || die "Satisfy all missing authordeps first" + + einfo "Checking dzil build deps" + while IFS= read -d $'\n' -r modname; do + if [[ -z "${has_missing}" ]]; then + has_missing=1 + ewarn "'dzil listdeps' indicates missing build dependencies" + ewarn "These may prevent building, please report a bug if they do" + ewarn "Missing:" + fi + ewarn " ${modname}" + done < <( dzil listdeps --missing --versions --author ) + + einfo "Generating release" + dzil build --notgz --in "${dest}" || die "Unable to build CPAN dist in '${dest}'" +} + +src_prepare() { + if [[ ${PV} == 9999 ]]; then + # Uses git sources in WORKDIR/rex-git + # to generate a CPAN-style tree in ${S} + # before letting perl-module.eclass do the rest + dzil_to_distdir "${EGIT_CHECKOUT_DIR}" "${S}" + fi + cd "${S}" || die "Can't enter build dir" + perl-module_src_prepare +} diff --git a/app-admin/rex/rex-9999.ebuild b/app-admin/rex/rex-9999.ebuild index 4eedb99641f8..26385e391279 100644 --- a/app-admin/rex/rex-9999.ebuild +++ b/app-admin/rex/rex-9999.ebuild @@ -1,27 +1,26 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 if [[ ${PV} == 9999 ]]; then GITHUB_USER=RexOps GITHUB_REPO=Rex EGIT_REPO_URI="https://github.com/${GITHUB_USER}/${GITHUB_REPO}.git" - EGIT_BRANCH="development-1.x" + EGIT_BRANCH="master" EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}-git" VCS_ECLASS="git-r3" else # This is intentional to stop perl-module.eclass doing magic things when it # shouldn't. Like making ${S} contain "Rex" when the git clone has "rex" # Also prevents perl-module.eclass provisioning SRC_URI - DIST_AUTHOR=JFRIED + DIST_AUTHOR=FERKI DIST_NAME=Rex KEYWORDS="~amd64 ~x86" fi - inherit perl-module ${VCS_ECLASS} -DESCRIPTION="(R)?ex is a small script to ease the execution of remote commands" +DESCRIPTION="(R)?ex, the friendly automation framework" SLOT="0" IUSE="test" @@ -29,60 +28,69 @@ RESTRICT="!test? ( test )" DZIL_DEPENDS=" dev-perl/Dist-Zilla + dev-perl/Dist-Zilla-Plugin-CheckExtraTests + dev-perl/Dist-Zilla-Plugin-ContributorsFile + dev-perl/Dist-Zilla-Plugin-Git-Contributors dev-perl/Dist-Zilla-Plugin-MakeMaker-Awesome + dev-perl/Dist-Zilla-Plugin-Meta-Contributors dev-perl/Dist-Zilla-Plugin-MetaProvides-Package + dev-perl/Dist-Zilla-Plugin-NextVersion-Semantic dev-perl/Dist-Zilla-Plugin-OSPrereqs dev-perl/Dist-Zilla-Plugin-OurPkgVersion - dev-perl/Dist-Zilla-Plugin-Test-MinimumVersion - dev-perl/Dist-Zilla-Plugin-Test-Perl-Critic + dev-perl/Dist-Zilla-Plugin-Run + dev-perl/Software-License " - RDEPEND=" + virtual/perl-Carp + virtual/perl-Data-Dumper dev-perl/Data-Validate-IP dev-perl/DBI dev-perl/Devel-Caller dev-perl/Digest-HMAC - dev-perl/Digest-SHA1 + virtual/perl-Digest-MD5 dev-perl/Expect + virtual/perl-Exporter + virtual/perl-File-Spec + dev-perl/HTTP-Message dev-perl/Hash-Merge + virtual/perl-IO dev-perl/IO-String dev-perl/IO-Tty dev-perl/IPC-Shareable - dev-perl/JSON-XS + dev-perl/JSON-MaybeXS dev-perl/List-MoreUtils + virtual/perl-MIME-Base64 dev-perl/Net-OpenSSH dev-perl/Net-SFTP-Foreign + virtual/perl-Scalar-List-Utils dev-perl/Parallel-ForkManager dev-perl/Sort-Naturally dev-perl/String-Escape + virtual/perl-Storable dev-perl/TermReadKey - dev-perl/Test-Deep + virtual/perl-Test-Simple dev-perl/Text-Glob + virtual/perl-Text-Tabs+Wrap + virtual/perl-Time-HiRes dev-perl/URI dev-perl/XML-LibXML dev-perl/XML-Simple dev-perl/libwww-perl dev-perl/YAML - virtual/perl-Carp - virtual/perl-Data-Dumper - virtual/perl-Digest-MD5 - virtual/perl-Exporter - virtual/perl-File-Spec - virtual/perl-MIME-Base64 - virtual/perl-Scalar-List-Utils - virtual/perl-Storable - virtual/perl-Time-HiRes + virtual/perl-version " -DEPEND=" +BDEPEND=" ${RDEPEND} + >=virtual/perl-ExtUtils-MakeMaker-7.110.100 test? ( - dev-perl/Test-UseAllModules virtual/perl-File-Temp + dev-perl/Test-Deep + >=dev-perl/Test-UseAllModules-0.150.0 ) " -[[ ${PV} == 9999 ]] && DEPEND+=" ${DZIL_DEPENDS}" +[[ ${PV} == 9999 ]] && BDEPEND+=" ${DZIL_DEPENDS}" src_unpack() { if [[ $PV == 9999 ]]; then @@ -93,6 +101,35 @@ src_unpack() { fi } +dzil_src_prep() { + einfo "Patching dist.ini" + + # This block of sed invocations removes all plugins that aren't + # useful for users to have on Gentoo, because all of them are + # conditional and subjective style checks, which don't indicate + # a real issue for users, and paying the price of their dependencies is undesired. + + # The {N;d} trick adds the [n]ext line after the match to the pattern-space + # so that the final [d]elete deletes the next line too. Can be expanded for each + # line, ie: {N;N;N;d} deletes 3 lines after the match as well as the match. + sed -e '/^\[Test::Kwalitee\]/d' \ + -e '/^\[Test::Perl::Critic\]/d' \ + -e '/^\[PodSyntaxTests\]/d' \ + -e '/^Test::Kwalitee =/d' \ + -e '/^Test::PerlTidy =/d' \ + -e '/^Test::Pod =/d' \ + -e '/^\[Test::CPAN::Changes\]/{N;d}' \ + -e '/^\[Test::MinimumVersion\]/{N;d}' \ + -i dist.ini || die "Can't patch dist.ini" +} +dzil_env_setup() { + # NextVersion noise :( + mkdir -p ~/.dzil/ + local user="$(whoami)" + local host="$(hostname)" + printf '[%%User]\nname = %s\nemail = %s' "${user}" "${user}@${host}" >> ~/.dzil/config.ini + +} dzil_to_distdir() { local dzil_root dest has_missing modname dzil_version dzil_root="$1" @@ -100,6 +137,9 @@ dzil_to_distdir() { cd "${dzil_root}" || die "Can't enter git workdir '${dzil_root}'"; + dzil_src_prep + dzil_env_setup + dzil_version="$(dzil version)" || die "Error invoking 'dzil version'" einfo "Generating CPAN dist with ${dzil_version}" -- cgit v1.2.3