Gentoo Archives: gentoo-commits

From: Kent Fredric <kentnl@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-admin/rex/
Date: Wed, 22 Apr 2020 20:17:44
Message-Id: 1587586640.39868a637839ba1b3eb52e645a855cb5babfeb52.kentnl@gentoo
1 commit: 39868a637839ba1b3eb52e645a855cb5babfeb52
2 Author: Ferenc Erki <erkiferenc <AT> gmail <DOT> com>
3 AuthorDate: Sat Apr 11 16:34:24 2020 +0000
4 Commit: Kent Fredric <kentnl <AT> gentoo <DOT> org>
5 CommitDate: Wed Apr 22 20:17:20 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39868a63
7
8 app-admin/rex: bump version to 1.9.0
9
10 Closes: https://bugs.gentoo.org/705190
11 Closes: https://github.com/gentoo/gentoo/pull/14313
12 Package-Manager: Portage-2.3.98, Repoman-2.3.22
13 Signed-off-by: Ferenc Erki <erkiferenc <AT> gmail.com>
14 Signed-off-by: Kent Fredric <kentnl <AT> gentoo.org>
15
16 app-admin/rex/Manifest | 1 +
17 app-admin/rex/metadata.xml | 7 ++
18 app-admin/rex/rex-1.9.0.ebuild | 185 +++++++++++++++++++++++++++++++++++++++++
19 3 files changed, 193 insertions(+)
20
21 diff --git a/app-admin/rex/Manifest b/app-admin/rex/Manifest
22 index 0f9e21d527b..c4495a8f5b3 100644
23 --- a/app-admin/rex/Manifest
24 +++ b/app-admin/rex/Manifest
25 @@ -3,3 +3,4 @@ DIST Rex-1.4.0.tar.gz 289330 BLAKE2B 70d74753e5b04b05ea7a5507f5c8c19ae953b4cc28e
26 DIST Rex-1.4.1.tar.gz 317358 BLAKE2B 8c12d54e86684ec224a75693f82fd4728af32a986f166d530bccc2d06c5087fdb29f067d4419f3160244d37c12ace6cd29ba1322992bcc9f4a481c06e00efa51 SHA512 07e7d950326aaa60e05977f2acb2ac90f07efe0d56411ba202a4c60a890c37e984c6786383623ac67f8e36052cf8436e8430fd024dde282a7d2530425b420e8e
27 DIST Rex-1.5.0.tar.gz 327424 BLAKE2B ea735ebeef7a4d879ec61783c7ee803f198b4091882bbdbaee1b415330fcb20ba408f082e7ecaaa5c63664d905690bd6b5601d2d726ff20f5dc9d1f8c6d470a4 SHA512 43a1e147e5d2dccdc641479f2bf5449b0051651d152823738caf946bb3ceecb444011c3273f0c70ca5feab737702f6cd609f5b211eec8261e1facd80c82b6c73
28 DIST Rex-1.6.0.tar.gz 331330 BLAKE2B cb3a2895c1b7fd775aa762e8af7fbfdf3d14aac0d4ed5cd32bc65f4eb2b7794e438015daf9602cea3a852ed17dd207c9647303a106d8fff2cc89b5ce7a5ff0a2 SHA512 8e4421e034ddf7337266ce2002e96cad12a632ff37742991685d2919e3b11a4f6f3348097fd36717ab83a38e2e46aa974d0e56c67568a857c30f7ea673a51cda
29 +DIST Rex-1.9.0.tar.gz 331106 BLAKE2B 74bdf06be9454bc41c444a7d2bf576740e8ecfd2dd575d96172becaac5ee6031506b5ef111c6755a3bc3dcb1eb45722a14c050578cf816815954686a0e79a5ab SHA512 9f9f629d681cc9af3fabccbbb31a881ab7a0414b51e6f1fc45600772b5f7207f8bf27a757955576b15eb7e8e7339e9f4746c497e4111904ad57614ebf1e3cb55
30
31 diff --git a/app-admin/rex/metadata.xml b/app-admin/rex/metadata.xml
32 index 8ff646c52b5..a1b89deccc2 100644
33 --- a/app-admin/rex/metadata.xml
34 +++ b/app-admin/rex/metadata.xml
35 @@ -29,6 +29,7 @@
36 <remote-id type="cpan-module">Rex::Box</remote-id>
37 <remote-id type="cpan-module">Rex::Box::Amazon</remote-id>
38 <remote-id type="cpan-module">Rex::Box::Base</remote-id>
39 + <remote-id type="cpan-module">Rex::Box::Docker</remote-id>
40 <remote-id type="cpan-module">Rex::Box::KVM</remote-id>
41 <remote-id type="cpan-module">Rex::Box::VBox</remote-id>
42 <remote-id type="cpan-module">Rex::CLI</remote-id>
43 @@ -224,6 +225,7 @@
44 <remote-id type="cpan-module">Rex::Pkg::SunOS::OpenCSW</remote-id>
45 <remote-id type="cpan-module">Rex::Pkg::SunOS::pkg</remote-id>
46 <remote-id type="cpan-module">Rex::Pkg::Ubuntu</remote-id>
47 + <remote-id type="cpan-module">Rex::Pkg::VoidLinux</remote-id>
48 <remote-id type="cpan-module">Rex::PkgConf</remote-id>
49 <remote-id type="cpan-module">Rex::PkgConf::Base</remote-id>
50 <remote-id type="cpan-module">Rex::PkgConf::Debian</remote-id>
51 @@ -263,6 +265,7 @@
52 <remote-id type="cpan-module">Rex::Service::SunOS</remote-id>
53 <remote-id type="cpan-module">Rex::Service::SunOS::svcadm</remote-id>
54 <remote-id type="cpan-module">Rex::Service::Ubuntu</remote-id>
55 + <remote-id type="cpan-module">Rex::Service::VoidLinux</remote-id>
56 <remote-id type="cpan-module">Rex::Shared::Var</remote-id>
57 <remote-id type="cpan-module">Rex::Shared::Var::Array</remote-id>
58 <remote-id type="cpan-module">Rex::Shared::Var::Common</remote-id>
59 @@ -306,11 +309,15 @@
60 <remote-id type="cpan-module">Rex::Virtualization::Docker::daemon</remote-id>
61 <remote-id type="cpan-module">Rex::Virtualization::Docker::delete</remote-id>
62 <remote-id type="cpan-module">Rex::Virtualization::Docker::destroy</remote-id>
63 + <remote-id type="cpan-module">Rex::Virtualization::Docker::guestinfo</remote-id>
64 + <remote-id type="cpan-module">Rex::Virtualization::Docker::images</remote-id>
65 + <remote-id type="cpan-module">Rex::Virtualization::Docker::import</remote-id>
66 <remote-id type="cpan-module">Rex::Virtualization::Docker::info</remote-id>
67 <remote-id type="cpan-module">Rex::Virtualization::Docker::list</remote-id>
68 <remote-id type="cpan-module">Rex::Virtualization::Docker::reboot</remote-id>
69 <remote-id type="cpan-module">Rex::Virtualization::Docker::shutdown</remote-id>
70 <remote-id type="cpan-module">Rex::Virtualization::Docker::start</remote-id>
71 + <remote-id type="cpan-module">Rex::Virtualization::Docker::status</remote-id>
72 <remote-id type="cpan-module">Rex::Virtualization::LibVirt</remote-id>
73 <remote-id type="cpan-module">Rex::Virtualization::LibVirt::blklist</remote-id>
74 <remote-id type="cpan-module">Rex::Virtualization::LibVirt::clone</remote-id>
75
76 diff --git a/app-admin/rex/rex-1.9.0.ebuild b/app-admin/rex/rex-1.9.0.ebuild
77 new file mode 100644
78 index 00000000000..26385e39127
79 --- /dev/null
80 +++ b/app-admin/rex/rex-1.9.0.ebuild
81 @@ -0,0 +1,185 @@
82 +# Copyright 1999-2020 Gentoo Authors
83 +# Distributed under the terms of the GNU General Public License v2
84 +
85 +EAPI=7
86 +
87 +if [[ ${PV} == 9999 ]]; then
88 + GITHUB_USER=RexOps
89 + GITHUB_REPO=Rex
90 + EGIT_REPO_URI="https://github.com/${GITHUB_USER}/${GITHUB_REPO}.git"
91 + EGIT_BRANCH="master"
92 + EGIT_CHECKOUT_DIR="${WORKDIR}/${PN}-git"
93 + VCS_ECLASS="git-r3"
94 +else
95 + # This is intentional to stop perl-module.eclass doing magic things when it
96 + # shouldn't. Like making ${S} contain "Rex" when the git clone has "rex"
97 + # Also prevents perl-module.eclass provisioning SRC_URI
98 + DIST_AUTHOR=FERKI
99 + DIST_NAME=Rex
100 + KEYWORDS="~amd64 ~x86"
101 +fi
102 +inherit perl-module ${VCS_ECLASS}
103 +
104 +DESCRIPTION="(R)?ex, the friendly automation framework"
105 +
106 +SLOT="0"
107 +IUSE="test"
108 +RESTRICT="!test? ( test )"
109 +
110 +DZIL_DEPENDS="
111 + dev-perl/Dist-Zilla
112 + dev-perl/Dist-Zilla-Plugin-CheckExtraTests
113 + dev-perl/Dist-Zilla-Plugin-ContributorsFile
114 + dev-perl/Dist-Zilla-Plugin-Git-Contributors
115 + dev-perl/Dist-Zilla-Plugin-MakeMaker-Awesome
116 + dev-perl/Dist-Zilla-Plugin-Meta-Contributors
117 + dev-perl/Dist-Zilla-Plugin-MetaProvides-Package
118 + dev-perl/Dist-Zilla-Plugin-NextVersion-Semantic
119 + dev-perl/Dist-Zilla-Plugin-OSPrereqs
120 + dev-perl/Dist-Zilla-Plugin-OurPkgVersion
121 + dev-perl/Dist-Zilla-Plugin-Run
122 + dev-perl/Software-License
123 +"
124 +RDEPEND="
125 + virtual/perl-Carp
126 + virtual/perl-Data-Dumper
127 + dev-perl/Data-Validate-IP
128 + dev-perl/DBI
129 + dev-perl/Devel-Caller
130 + dev-perl/Digest-HMAC
131 + virtual/perl-Digest-MD5
132 + dev-perl/Expect
133 + virtual/perl-Exporter
134 + virtual/perl-File-Spec
135 + dev-perl/HTTP-Message
136 + dev-perl/Hash-Merge
137 + virtual/perl-IO
138 + dev-perl/IO-String
139 + dev-perl/IO-Tty
140 + dev-perl/IPC-Shareable
141 + dev-perl/JSON-MaybeXS
142 + dev-perl/List-MoreUtils
143 + virtual/perl-MIME-Base64
144 + dev-perl/Net-OpenSSH
145 + dev-perl/Net-SFTP-Foreign
146 + virtual/perl-Scalar-List-Utils
147 + dev-perl/Parallel-ForkManager
148 + dev-perl/Sort-Naturally
149 + dev-perl/String-Escape
150 + virtual/perl-Storable
151 + dev-perl/TermReadKey
152 + virtual/perl-Test-Simple
153 + dev-perl/Text-Glob
154 + virtual/perl-Text-Tabs+Wrap
155 + virtual/perl-Time-HiRes
156 + dev-perl/URI
157 + dev-perl/XML-LibXML
158 + dev-perl/XML-Simple
159 + dev-perl/libwww-perl
160 + dev-perl/YAML
161 + virtual/perl-version
162 +"
163 +
164 +BDEPEND="
165 + ${RDEPEND}
166 + >=virtual/perl-ExtUtils-MakeMaker-7.110.100
167 + test? (
168 + virtual/perl-File-Temp
169 + dev-perl/Test-Deep
170 + >=dev-perl/Test-UseAllModules-0.150.0
171 + )
172 +"
173 +
174 +[[ ${PV} == 9999 ]] && BDEPEND+=" ${DZIL_DEPENDS}"
175 +
176 +src_unpack() {
177 + if [[ $PV == 9999 ]]; then
178 + "${VCS_ECLASS}"_src_unpack
179 + mkdir -p "${S}" || die "Can't make ${S}"
180 + else
181 + default
182 + fi
183 +}
184 +
185 +dzil_src_prep() {
186 + einfo "Patching dist.ini"
187 +
188 + # This block of sed invocations removes all plugins that aren't
189 + # useful for users to have on Gentoo, because all of them are
190 + # conditional and subjective style checks, which don't indicate
191 + # a real issue for users, and paying the price of their dependencies is undesired.
192 +
193 + # The {N;d} trick adds the [n]ext line after the match to the pattern-space
194 + # so that the final [d]elete deletes the next line too. Can be expanded for each
195 + # line, ie: {N;N;N;d} deletes 3 lines after the match as well as the match.
196 + sed -e '/^\[Test::Kwalitee\]/d' \
197 + -e '/^\[Test::Perl::Critic\]/d' \
198 + -e '/^\[PodSyntaxTests\]/d' \
199 + -e '/^Test::Kwalitee =/d' \
200 + -e '/^Test::PerlTidy =/d' \
201 + -e '/^Test::Pod =/d' \
202 + -e '/^\[Test::CPAN::Changes\]/{N;d}' \
203 + -e '/^\[Test::MinimumVersion\]/{N;d}' \
204 + -i dist.ini || die "Can't patch dist.ini"
205 +}
206 +dzil_env_setup() {
207 + # NextVersion noise :(
208 + mkdir -p ~/.dzil/
209 + local user="$(whoami)"
210 + local host="$(hostname)"
211 + printf '[%%User]\nname = %s\nemail = %s' "${user}" "${user}@${host}" >> ~/.dzil/config.ini
212 +
213 +}
214 +dzil_to_distdir() {
215 + local dzil_root dest has_missing modname dzil_version
216 + dzil_root="$1"
217 + dest="$2"
218 +
219 + cd "${dzil_root}" || die "Can't enter git workdir '${dzil_root}'";
220 +
221 + dzil_src_prep
222 + dzil_env_setup
223 +
224 + dzil_version="$(dzil version)" || die "Error invoking 'dzil version'"
225 + einfo "Generating CPAN dist with ${dzil_version}"
226 +
227 + has_missing=""
228 +
229 + einfo "Checking dzil authordeps"
230 + while IFS= read -d $'\n' -r modname; do
231 + if [[ -z "${has_missing}" ]]; then
232 + has_missing=1
233 + eerror "'dzil authordeps' indicates missing build dependencies"
234 + eerror "These will prevent building, please report a bug"
235 + eerror "Missing:"
236 + fi
237 + eerror " ${modname}"
238 + done < <( dzil authordeps --missing --versions )
239 +
240 + [[ -z "${has_missing}" ]] || die "Satisfy all missing authordeps first"
241 +
242 + einfo "Checking dzil build deps"
243 + while IFS= read -d $'\n' -r modname; do
244 + if [[ -z "${has_missing}" ]]; then
245 + has_missing=1
246 + ewarn "'dzil listdeps' indicates missing build dependencies"
247 + ewarn "These may prevent building, please report a bug if they do"
248 + ewarn "Missing:"
249 + fi
250 + ewarn " ${modname}"
251 + done < <( dzil listdeps --missing --versions --author )
252 +
253 + einfo "Generating release"
254 + dzil build --notgz --in "${dest}" || die "Unable to build CPAN dist in '${dest}'"
255 +}
256 +
257 +src_prepare() {
258 + if [[ ${PV} == 9999 ]]; then
259 + # Uses git sources in WORKDIR/rex-git
260 + # to generate a CPAN-style tree in ${S}
261 + # before letting perl-module.eclass do the rest
262 + dzil_to_distdir "${EGIT_CHECKOUT_DIR}" "${S}"
263 + fi
264 + cd "${S}" || die "Can't enter build dir"
265 + perl-module_src_prepare
266 +}