diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
| commit | bfd9c39e4712ebdb442d4ca0673061faed1e70e1 (patch) | |
| tree | 0d7a74b4463ee387f9cf9368ceb1b757f694f72a /app-emulation/cloud-init | |
| parent | f716a9fe6455d39eef01e718aae68dae61c19704 (diff) | |
| download | baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.gz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.xz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.zip | |
Revert "Adding metadata"
This reverts commit f716a9fe6455d39eef01e718aae68dae61c19704.
Diffstat (limited to 'app-emulation/cloud-init')
| -rw-r--r-- | app-emulation/cloud-init/Manifest | 2 | ||||
| -rw-r--r-- | app-emulation/cloud-init/cloud-init-24.4-r4.ebuild | 124 | ||||
| -rw-r--r-- | app-emulation/cloud-init/cloud-init-25.1.ebuild | 119 | ||||
| -rw-r--r-- | app-emulation/cloud-init/cloud-init-9999.ebuild | 119 | ||||
| -rw-r--r-- | app-emulation/cloud-init/files/cloud-init-24.2-systemd.patch | 152 | ||||
| -rw-r--r-- | app-emulation/cloud-init/files/cloud-init-24.4-netcat.patch | 68 | ||||
| -rw-r--r-- | app-emulation/cloud-init/metadata.xml | 15 |
7 files changed, 599 insertions, 0 deletions
diff --git a/app-emulation/cloud-init/Manifest b/app-emulation/cloud-init/Manifest new file mode 100644 index 000000000000..7559439b8e29 --- /dev/null +++ b/app-emulation/cloud-init/Manifest @@ -0,0 +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-24.4-r4.ebuild b/app-emulation/cloud-init/cloud-init-24.4-r4.ebuild new file mode 100644 index 000000000000..48ddfb02a2e6 --- /dev/null +++ b/app-emulation/cloud-init/cloud-init-24.4-r4.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +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 ) +" + +PATCHES=( + "${FILESDIR}/${PN}-24.2-systemd.patch" + "${FILESDIR}/${PN}-24.4-netcat.patch" +) + +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." +} 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..1ace7c6fae4e --- /dev/null +++ b/app-emulation/cloud-init/cloud-init-25.1.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +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 ~riscv 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." +} diff --git a/app-emulation/cloud-init/cloud-init-9999.ebuild b/app-emulation/cloud-init/cloud-init-9999.ebuild new file mode 100644 index 000000000000..663cf91818d6 --- /dev/null +++ b/app-emulation/cloud-init/cloud-init-9999.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +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." +} diff --git a/app-emulation/cloud-init/files/cloud-init-24.2-systemd.patch b/app-emulation/cloud-init/files/cloud-init-24.2-systemd.patch new file mode 100644 index 000000000000..62840bafe2d3 --- /dev/null +++ b/app-emulation/cloud-init/files/cloud-init-24.2-systemd.patch @@ -0,0 +1,152 @@ +From 3f97be6df5c59339e09ff50e97a94869c29741d0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= <dilfridge@gentoo.org> +Date: Fri, 6 Dec 2024 22:46:31 +0100 +Subject: [PATCH] feat(gentoo): Add compatibility for Gentoo with systemd + (#5918) + +--- + cloudinit/distros/gentoo.py | 37 +++++++++++++++++--------- + tests/unittests/distros/test_gentoo.py | 34 ++++++++++++++++------- + 2 files changed, 48 insertions(+), 23 deletions(-) + +diff --git a/cloudinit/distros/gentoo.py b/cloudinit/distros/gentoo.py +index 5ab41bbd9db..94fa6f7aa01 100644 +--- a/cloudinit/distros/gentoo.py ++++ b/cloudinit/distros/gentoo.py +@@ -1,8 +1,10 @@ + # Copyright (C) 2014 Rackspace, US Inc. + # Copyright (C) 2016 Matthew Thode. ++# Copyright (C) 2024 Andreas K. Huettel + # + # Author: Nate House <nathan.house@rackspace.com> + # Author: Matthew Thode <prometheanfire@gentoo.org> ++# Author: Andreas K. Huettel <dilfridge@gentoo.org> + # + # This file is part of cloud-init. See LICENSE file for license information. + +@@ -18,7 +20,6 @@ + + class Distro(distros.Distro): + locale_gen_fn = "/etc/locale.gen" +- hostname_conf_fn = "/etc/conf.d/hostname" + default_locale = "en_US.UTF-8" + + # C.UTF8 makes sense to generate, but is not selected +@@ -27,20 +28,23 @@ class Distro(distros.Distro): + + def __init__(self, name, cfg, paths): + distros.Distro.__init__(self, name, cfg, paths) ++ ++ if distros.uses_systemd(): ++ self.hostname_conf_fn = "/etc/hostname" ++ else: ++ self.hostname_conf_fn = "/etc/conf.d/hostname" ++ + # This will be used to restrict certain + # calls from repeatedly happening (when they + # should only happen say once per instance...) + self._runner = helpers.Runners(paths) + self.osfamily = "gentoo" +- # Fix sshd restarts +- cfg["ssh_svcname"] = "/etc/init.d/sshd" +- if distros.uses_systemd(): +- LOG.error("Cloud-init does not support systemd with gentoo") ++ if not distros.uses_systemd(): ++ # Fix sshd restarts (openrc-specific?) ++ cfg["ssh_svcname"] = "/etc/init.d/sshd" + + def apply_locale(self, _, out_fn=None): +- """rc-only - not compatible with systemd +- +- Locales need to be added to /etc/locale.gen and generated prior ++ """Locales need to be added to /etc/locale.gen and generated prior + to selection. Default to en_US.UTF-8 for simplicity. + """ + util.write_file(self.locale_gen_fn, "\n".join(self.locales), mode=644) +@@ -48,7 +52,7 @@ def apply_locale(self, _, out_fn=None): + # generate locales + subp.subp(["locale-gen"], capture=False) + +- # select locale ++ # select locale, works for both openrc and systemd + subp.subp( + ["eselect", "locale", "set", self.default_locale], capture=False + ) +@@ -77,10 +81,17 @@ def _write_hostname(self, hostname, filename): + if not conf: + conf = HostnameConf("") + +- # Many distro's format is the hostname by itself, and that is the +- # way HostnameConf works but gentoo expects it to be in +- # hostname="the-actual-hostname" +- conf.set_hostname('hostname="%s"' % hostname) ++ if distros.uses_systemd(): ++ # Gentoo uses the same format for /etc/hostname as everyone else- ++ # only the hostname by itself. Works for openrc and systemd, but ++ # openrc has its own config file and /etc/hostname is generated. ++ conf.set_hostname(hostname) ++ else: ++ # Openrc generates /etc/hostname from /etc/conf.d/hostname with the ++ # differing format ++ # hostname="the-actual-hostname" ++ conf.set_hostname('hostname="%s"' % hostname) ++ + util.write_file(filename, str(conf), 0o644) + + def _read_system_hostname(self): +diff --git a/tests/unittests/distros/test_gentoo.py b/tests/unittests/distros/test_gentoo.py +index a307b9a29ba..979e6d82638 100644 +--- a/tests/unittests/distros/test_gentoo.py ++++ b/tests/unittests/distros/test_gentoo.py +@@ -2,27 +2,41 @@ + + from cloudinit import atomic_helper, util + from tests.unittests.distros import _get_distro +-from tests.unittests.helpers import CiTestCase ++from tests.unittests.helpers import CiTestCase, mock + + + class TestGentoo(CiTestCase): +- def test_write_hostname(self): ++ def test_write_hostname(self, whatever=False): + distro = _get_distro("gentoo") + hostname = "myhostname" + hostfile = self.tmp_path("hostfile") + distro._write_hostname(hostname, hostfile) +- self.assertEqual( +- 'hostname="myhostname"\n', util.load_text_file(hostfile) +- ) ++ if distro.uses_systemd(): ++ self.assertEqual("myhostname\n", util.load_text_file(hostfile)) ++ else: ++ self.assertEqual( ++ 'hostname="myhostname"\n', util.load_text_file(hostfile) ++ ) + +- def test_write_existing_hostname_with_comments(self): ++ def test_write_existing_hostname_with_comments(self, whatever=False): + distro = _get_distro("gentoo") + hostname = "myhostname" + contents = '#This is the hostname\nhostname="localhost"' + hostfile = self.tmp_path("hostfile") + atomic_helper.write_file(hostfile, contents, omode="w") + distro._write_hostname(hostname, hostfile) +- self.assertEqual( +- '#This is the hostname\nhostname="myhostname"\n', +- util.load_text_file(hostfile), +- ) ++ if distro.uses_systemd(): ++ self.assertEqual( ++ "#This is the hostname\nmyhostname\n", ++ util.load_text_file(hostfile), ++ ) ++ else: ++ self.assertEqual( ++ '#This is the hostname\nhostname="myhostname"\n', ++ util.load_text_file(hostfile), ++ ) ++ ++ ++@mock.patch("cloudinit.distros.uses_systemd", return_value=False) ++class TestGentooOpenRC(TestGentoo): ++ pass diff --git a/app-emulation/cloud-init/files/cloud-init-24.4-netcat.patch b/app-emulation/cloud-init/files/cloud-init-24.4-netcat.patch new file mode 100644 index 000000000000..745ce4eaef20 --- /dev/null +++ b/app-emulation/cloud-init/files/cloud-init-24.4-netcat.patch @@ -0,0 +1,68 @@ +From 50932590203101f5d8217afc02d8c2b4cecabbd4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= <dilfridge@gentoo.org> +Date: Sun, 15 Dec 2024 15:12:40 +0100 +Subject: [PATCH] fix: use program name of netcat as installed by upstream, + "nc" + +--- + systemd/cloud-config.service | 2 +- + systemd/cloud-final.service | 2 +- + systemd/cloud-init-local.service.tmpl | 2 +- + systemd/cloud-init-network.service.tmpl | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/systemd/cloud-config.service b/systemd/cloud-config.service +index 54599b346..68f80d2b3 100644 +--- a/systemd/cloud-config.service ++++ b/systemd/cloud-config.service +@@ -16,7 +16,7 @@ Type=oneshot + # process has completed this stage. The output from the return socket is piped + # into a shell so that the process can send a completion message (defaults to + # "done", otherwise includes an error message) and an exit code to systemd. +-ExecStart=sh -c 'echo "start" | netcat -Uu -W1 /run/cloud-init/share/config.sock -s /run/cloud-init/share/config-return.sock | sh' ++ExecStart=sh -c 'echo "start" | nc -Uu -W1 /run/cloud-init/share/config.sock -s /run/cloud-init/share/config-return.sock | sh' + RemainAfterExit=yes + TimeoutSec=0 + +diff --git a/systemd/cloud-final.service b/systemd/cloud-final.service +index c48f95c4f..fb74a47c8 100644 +--- a/systemd/cloud-final.service ++++ b/systemd/cloud-final.service +@@ -19,7 +19,7 @@ Type=oneshot + # process has completed this stage. The output from the return socket is piped + # into a shell so that the process can send a completion message (defaults to + # "done", otherwise includes an error message) and an exit code to systemd. +-ExecStart=sh -c 'echo "start" | netcat -Uu -W1 /run/cloud-init/share/final.sock -s /run/cloud-init/share/final-return.sock | sh' ++ExecStart=sh -c 'echo "start" | nc -Uu -W1 /run/cloud-init/share/final.sock -s /run/cloud-init/share/final-return.sock | sh' + RemainAfterExit=yes + TimeoutSec=0 + TasksMax=infinity +diff --git a/systemd/cloud-init-local.service.tmpl b/systemd/cloud-init-local.service.tmpl +index e6a300fd4..b123193a1 100644 +--- a/systemd/cloud-init-local.service.tmpl ++++ b/systemd/cloud-init-local.service.tmpl +@@ -32,7 +32,7 @@ ExecStartPre=/sbin/restorecon /run/cloud-init + # process has completed this stage. The output from the return socket is piped + # into a shell so that the process can send a completion message (defaults to + # "done", otherwise includes an error message) and an exit code to systemd. +-ExecStart=sh -c 'echo "start" | netcat -Uu -W1 /run/cloud-init/share/local.sock -s /run/cloud-init/share/local-return.sock | sh' ++ExecStart=sh -c 'echo "start" | nc -Uu -W1 /run/cloud-init/share/local.sock -s /run/cloud-init/share/local-return.sock | sh' + RemainAfterExit=yes + TimeoutSec=0 + +diff --git a/systemd/cloud-init-network.service.tmpl b/systemd/cloud-init-network.service.tmpl +index af09fff35..bdc7c8f83 100644 +--- a/systemd/cloud-init-network.service.tmpl ++++ b/systemd/cloud-init-network.service.tmpl +@@ -53,7 +53,7 @@ Type=oneshot + # process has completed this stage. The output from the return socket is piped + # into a shell so that the process can send a completion message (defaults to + # "done", otherwise includes an error message) and an exit code to systemd. +-ExecStart=sh -c 'echo "start" | netcat -Uu -W1 /run/cloud-init/share/network.sock -s /run/cloud-init/share/network-return.sock | sh' ++ExecStart=sh -c 'echo "start" | nc -Uu -W1 /run/cloud-init/share/network.sock -s /run/cloud-init/share/network-return.sock | sh' + RemainAfterExit=yes + TimeoutSec=0 + +-- +2.45.2 + diff --git a/app-emulation/cloud-init/metadata.xml b/app-emulation/cloud-init/metadata.xml new file mode 100644 index 000000000000..a754b254be6b --- /dev/null +++ b/app-emulation/cloud-init/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>prometheanfire@gentoo.org</email> + <name>Matthew Thode</name> + </maintainer> + <longdescription lang="en"> + Cloud-init is the industry standard multi-distribution method for cross-platform cloud instance initialization. It is supported across all major public cloud providers, provisioning systems for private cloud infrastructure, and bare-metal installations. + </longdescription> + <upstream> + <remote-id type="launchpad">cloud-init</remote-id> + <remote-id type="github">canonical/cloud-init</remote-id> + </upstream> +</pkgmetadata> |
