commit:     ac8307b6cc40a6a9e4ef8a238733b1e63f8ac583
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 31 22:34:23 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 31 22:34:23 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac8307b6

app-emulation/cloud-init: add 25.1

Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-emulation/cloud-init/Manifest               |   1 +
 app-emulation/cloud-init/cloud-init-25.1.ebuild | 119 ++++++++++++++++++++++++
 2 files changed, 120 insertions(+)

diff --git a/app-emulation/cloud-init/Manifest 
b/app-emulation/cloud-init/Manifest
index daf41219db2e..7559439b8e29 100644
--- a/app-emulation/cloud-init/Manifest
+++ b/app-emulation/cloud-init/Manifest
@@ -1 +1,2 @@
 DIST cloud-init-24.4.tar.gz 1871271 BLAKE2B 
438d1296a637211d7a43c9969de6d432b1ab787beab7f617426cdeab67d1c1df28e1adfa610af4dad44c7f46850954ad3d1856bfff143648da0f87fbc4ebdefc
 SHA512 
1c6901497848d8be29ffb0a7bcbbd2df89d0a2b35a65c33f3db9562a544d9e832308f448dcc24a555791b40f00aca32e5d25b8ad3ccb5e90dda6268e5a125f9c
+DIST cloud-init-25.1.tar.gz 1892801 BLAKE2B 
7efc5cb8d1f3c63c7b22660873f8c62d49a32d4f09a16df41777a6e41555606ebb5186c29f5d20396dfabc190f2034f88517076c5e342cb8bc04249bbfcee4a4
 SHA512 
2a40234e92bd27e12a48ab6d62c638599d82deaaf9b69d9ba2deed6a8234e16fcd5e35e995c1880d61c2a60fbea7699ae73ea849f2f4153067ef4aa8af1b4adf

diff --git a/app-emulation/cloud-init/cloud-init-25.1.ebuild 
b/app-emulation/cloud-init/cloud-init-25.1.ebuild
new file mode 100644
index 000000000000..9f7db580b998
--- /dev/null
+++ b/app-emulation/cloud-init/cloud-init-25.1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit edo python-single-r1 udev
+
+DESCRIPTION="Cloud instance initialisation magic"
+HOMEPAGE="https://launchpad.net/cloud-init";
+
+if [[ ${PV} == *9999 ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://git.launchpad.net/cloud-init";
+else
+       SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz";
+       KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="selinux test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+COMMON_DEPEND="
+       $(python_gen_cond_dep '
+               dev-python/jinja2[${PYTHON_USEDEP}]
+               dev-python/oauthlib[${PYTHON_USEDEP}]
+               dev-python/pyserial[${PYTHON_USEDEP}]
+               >=dev-python/configobj-5.0.2[${PYTHON_USEDEP}]
+               dev-python/pyyaml[${PYTHON_USEDEP}]
+               dev-python/requests[${PYTHON_USEDEP}]
+               dev-python/jsonpatch[${PYTHON_USEDEP}]
+               dev-python/jsonschema[${PYTHON_USEDEP}]
+               dev-python/netifaces[${PYTHON_USEDEP}]
+       ')
+"
+BDEPEND="
+       ${COMMON_DEPEND}
+       $(python_gen_cond_dep '
+               dev-python/setuptools[${PYTHON_USEDEP}]
+       ')
+       test? (
+               $(python_gen_cond_dep '
+                       dev-python/mock[${PYTHON_USEDEP}]
+                       dev-python/passlib[${PYTHON_USEDEP}]
+                       dev-python/pytest[${PYTHON_USEDEP}]
+                       dev-python/pytest-mock[${PYTHON_USEDEP}]
+                       dev-python/responses[${PYTHON_USEDEP}]
+               ')
+       )
+"
+RDEPEND="
+       ${COMMON_DEPEND}
+       ${PYTHON_DEPS}
+       net-analyzer/macchanger
+       net-analyzer/openbsd-netcat
+       sys-apps/iproute2
+       sys-fs/growpart
+       virtual/logger
+       selinux? ( sec-policy/selinux-cloudinit )
+"
+
+EPYTEST_IGNORE=(
+       # Can't find file
+       tests/unittests/config/test_apt_configure_sources_list_v1.py
+       tests/unittests/config/test_apt_configure_sources_list_v3.py
+       # PORTAGE_TMPDIR too long for unix sockets
+       tests/unittests/test_all_stages.py
+       # TODO
+       tests/unittests/config/test_schema.py
+)
+
+src_prepare() {
+       default
+
+       # Fix location of documentation installation
+       sed -i "s:USR + \"/share/doc/cloud-init:USR + \"/share/doc/${PF}:" 
setup.py || die
+
+       if [[ ${PV} == *9999 ]] ; then
+               sed -i 's/version=get_version(),/version=9999,/g' setup.py || 
die
+       fi
+}
+
+src_compile() {
+       edo ${EPYTHON} setup.py build
+}
+
+src_test() {
+       epytest
+}
+
+src_install() {
+       edo ${EPYTHON} setup.py install \
+               --prefix="${EPREFIX}/usr" \
+               --root="${D}" \
+               --init-system=sysvinit_openrc,systemd \
+               --distro gentoo
+       python_optimize
+
+       keepdir /etc/cloud
+
+       # installs as non-executable
+       chmod +x "${D}"/etc/init.d/* || die
+}
+
+pkg_prerm() {
+       udev_reload
+}
+
+pkg_postinst() {
+       udev_reload
+
+       elog "cloud-init-local needs to be run in the boot runlevel because it"
+       elog "modifies services in the default runlevel.  When a runlevel is 
started"
+       elog "it is cached, so modifications that happen to the current 
runlevel"
+       elog "while you are in it are not acted upon."
+}

Reply via email to