mirror of
https://github.com/pentoo/pentoo-overlay
synced 2025-12-06 00:16:22 +01:00
cloud-init: add a working version
This commit is contained in:
parent
f35053feb2
commit
093b25ea68
3 changed files with 131 additions and 0 deletions
1
app-emulation/cloud-init/Manifest
Normal file
1
app-emulation/cloud-init/Manifest
Normal file
|
|
@ -0,0 +1 @@
|
|||
DIST cloud-init-23.4.tar.gz 1648908 BLAKE2B 0acec9c437c7a5a86ed9cd8718830a7311c257ae9f223a68959b8d1eccc693b35f6a716de5c04112d848c1e2e54f6461a3919fd733debba18989145f6669d359 SHA512 34966b173571764bf83779bef0e89a86971310ff0fa62feceef4fbe17c9fa6d1b69f11f57caaa32cc4ae4a74f598f157dfb3ce356221044666401230cfb1ad13
|
||||
119
app-emulation/cloud-init/cloud-init-23.4-r1.ebuild
Normal file
119
app-emulation/cloud-init/cloud-init-23.4-r1.ebuild
Normal file
|
|
@ -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."
|
||||
}
|
||||
11
app-emulation/cloud-init/metadata.xml
Normal file
11
app-emulation/cloud-init/metadata.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>zerochaos@gentoo.org</email>
|
||||
<name>Rick Farina (Zero_Chaos)</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="launchpad">cloud-init</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
Loading…
Reference in a new issue