diff options
3 files changed, 153 insertions, 0 deletions
diff --git a/recipes-extended/cloud-init/cloud-init/0001-setup.py-check-for-install-anywhere-in-args.patch b/recipes-extended/cloud-init/cloud-init/0001-setup.py-check-for-install-anywhere-in-args.patch new file mode 100644 index 00000000..f61b82ce --- /dev/null +++ b/recipes-extended/cloud-init/cloud-init/0001-setup.py-check-for-install-anywhere-in-args.patch | |||
| @@ -0,0 +1,34 @@ | |||
| 1 | From 5c96379a4727c07fb5222208525013ec8b878184 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Bruce Ashfield <bruce.ashfield@gmail.com> | ||
| 3 | Date: Wed, 4 Nov 2020 21:15:50 -0500 | ||
| 4 | Subject: [PATCH] setup.py: check for 'install' anywhere in args | ||
| 5 | |||
| 6 | The python3distutils bbclass calls setup.py in a different way then | ||
| 7 | cloud-init expects .. the 'install' is not argument 1, but is in fact | ||
| 8 | after a 'build' and some other options. | ||
| 9 | |||
| 10 | So rather than checking for install to be argv[1], we check for it | ||
| 11 | anywhere in the arguments are trigger the template replacement to | ||
| 12 | happen. | ||
| 13 | |||
| 14 | Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> | ||
| 15 | --- | ||
| 16 | setup.py | 2 +- | ||
| 17 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 18 | |||
| 19 | diff --git a/setup.py b/setup.py | ||
| 20 | index cbacf48e..5f13d9eb 100755 | ||
| 21 | --- a/setup.py | ||
| 22 | +++ b/setup.py | ||
| 23 | @@ -87,7 +87,7 @@ def render_tmpl(template, mode=None): | ||
| 24 | |||
| 25 | # older versions of tox use bdist (xenial), and then install from there. | ||
| 26 | # newer versions just use install. | ||
| 27 | - if not (sys.argv[1] == 'install' or sys.argv[1].startswith('bdist*')): | ||
| 28 | + if not ('install' in sys.argv or sys.argv[1].startswith('bdist*')): | ||
| 29 | return template | ||
| 30 | |||
| 31 | tmpl_ext = ".tmpl" | ||
| 32 | -- | ||
| 33 | 2.25.1 | ||
| 34 | |||
diff --git a/recipes-extended/cloud-init/cloud-init/cloud-init-source-local-lsb-functions.patch b/recipes-extended/cloud-init/cloud-init/cloud-init-source-local-lsb-functions.patch new file mode 100644 index 00000000..869fb311 --- /dev/null +++ b/recipes-extended/cloud-init/cloud-init/cloud-init-source-local-lsb-functions.patch | |||
| @@ -0,0 +1,64 @@ | |||
| 1 | From 72dd3b4b38705442d821fe97a40061f23e748769 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Bruce Ashfield <bruce.ashfield@windriver.com> | ||
| 3 | Date: Thu, 6 Mar 2014 01:55:09 -0500 | ||
| 4 | Subject: [PATCH] cloud-init: source local lsb functions | ||
| 5 | |||
| 6 | Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> | ||
| 7 | --- | ||
| 8 | sysvinit/debian/cloud-config | 1 + | ||
| 9 | sysvinit/debian/cloud-final | 1 + | ||
| 10 | sysvinit/debian/cloud-init | 1 + | ||
| 11 | sysvinit/debian/cloud-init-local | 1 + | ||
| 12 | 4 files changed, 4 insertions(+) | ||
| 13 | |||
| 14 | diff --git a/sysvinit/debian/cloud-config b/sysvinit/debian/cloud-config | ||
| 15 | index 53322748ac65..7874dcfab9b0 100644 | ||
| 16 | --- a/sysvinit/debian/cloud-config | ||
| 17 | +++ b/sysvinit/debian/cloud-config | ||
| 18 | @@ -30,6 +30,7 @@ SCRIPTNAME=/etc/init.d/$NAME | ||
| 19 | # Depend on lsb-base (>= 3.2-14) to ensure that this file is present | ||
| 20 | # and status_of_proc is working. | ||
| 21 | . /lib/lsb/init-functions | ||
| 22 | +. /etc/init.d/functions | ||
| 23 | |||
| 24 | if init_is_upstart; then | ||
| 25 | case "$1" in | ||
| 26 | diff --git a/sysvinit/debian/cloud-final b/sysvinit/debian/cloud-final | ||
| 27 | index 55afc8b0678a..661314f0b64c 100644 | ||
| 28 | --- a/sysvinit/debian/cloud-final | ||
| 29 | +++ b/sysvinit/debian/cloud-final | ||
| 30 | @@ -32,6 +32,7 @@ SCRIPTNAME=/etc/init.d/$NAME | ||
| 31 | # Depend on lsb-base (>= 3.2-14) to ensure that this file is present | ||
| 32 | # and status_of_proc is working. | ||
| 33 | . /lib/lsb/init-functions | ||
| 34 | +. /etc/init.d/functions | ||
| 35 | |||
| 36 | if init_is_upstart; then | ||
| 37 | case "$1" in | ||
| 38 | diff --git a/sysvinit/debian/cloud-init b/sysvinit/debian/cloud-init | ||
| 39 | index 48fa04233f00..d3ccec99bacc 100755 | ||
| 40 | --- a/sysvinit/debian/cloud-init | ||
| 41 | +++ b/sysvinit/debian/cloud-init | ||
| 42 | @@ -30,6 +30,7 @@ SCRIPTNAME=/etc/init.d/$NAME | ||
| 43 | # Depend on lsb-base (>= 3.2-14) to ensure that this file is present | ||
| 44 | # and status_of_proc is working. | ||
| 45 | . /lib/lsb/init-functions | ||
| 46 | +. /etc/init.d/functions | ||
| 47 | |||
| 48 | if init_is_upstart; then | ||
| 49 | case "$1" in | ||
| 50 | diff --git a/sysvinit/debian/cloud-init-local b/sysvinit/debian/cloud-init-local | ||
| 51 | index 802ee8e9f386..c309e8347324 100644 | ||
| 52 | --- a/sysvinit/debian/cloud-init-local | ||
| 53 | +++ b/sysvinit/debian/cloud-init-local | ||
| 54 | @@ -29,6 +29,7 @@ SCRIPTNAME=/etc/init.d/$NAME | ||
| 55 | # Depend on lsb-base (>= 3.2-14) to ensure that this file is present | ||
| 56 | # and status_of_proc is working. | ||
| 57 | . /lib/lsb/init-functions | ||
| 58 | +. /etc/init.d/functions | ||
| 59 | |||
| 60 | if init_is_upstart; then | ||
| 61 | case "$1" in | ||
| 62 | -- | ||
| 63 | 1.7.10.4 | ||
| 64 | |||
diff --git a/recipes-extended/cloud-init/cloud-init_20.3.bb b/recipes-extended/cloud-init/cloud-init_20.3.bb new file mode 100644 index 00000000..31b4066f --- /dev/null +++ b/recipes-extended/cloud-init/cloud-init_20.3.bb | |||
| @@ -0,0 +1,55 @@ | |||
| 1 | DESCRIPTION = "Init scripts for use on cloud images" | ||
| 2 | HOMEPAGE = "https://github.com/canonical/cloud-init" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "GPLv3" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=c6dd79b6ec2130a3364f6fa9d6380408" | ||
| 6 | |||
| 7 | SRCREV = "1431c8a1bddaabf85e1bbb32bf316a3aef20036e" | ||
| 8 | SRC_URI = "git://github.com/canonical/cloud-init \ | ||
| 9 | file://cloud-init-source-local-lsb-functions.patch \ | ||
| 10 | file://0001-setup.py-check-for-install-anywhere-in-args.patch \ | ||
| 11 | " | ||
| 12 | |||
| 13 | S = "${WORKDIR}/git" | ||
| 14 | |||
| 15 | DISTUTILS_INSTALL_ARGS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '--init-system=sysvinit_deb', '', d)}" | ||
| 16 | DISTUTILS_INSTALL_ARGS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--init-system=systemd', '', d)}" | ||
| 17 | |||
| 18 | do_install_append() { | ||
| 19 | ln -s ${libdir}/${BPN}/uncloud-init ${D}${sysconfdir}/cloud/uncloud-init | ||
| 20 | ln -s ${libdir}/${BPN}/write-ssh-key-fingerprints ${D}${sysconfdir}/cloud/write-ssh-key-fingerprints | ||
| 21 | } | ||
| 22 | |||
| 23 | inherit pkgconfig | ||
| 24 | inherit setuptools3 | ||
| 25 | inherit update-rc.d | ||
| 26 | inherit systemd | ||
| 27 | |||
| 28 | inherit python3native | ||
| 29 | |||
| 30 | PACKAGES += "${PN}-systemd" | ||
| 31 | |||
| 32 | FILES_${PN} += "${sysconfdir}/* \ | ||
| 33 | ${datadir}/*" | ||
| 34 | |||
| 35 | FILES_${PN}-systemd += "${systemd_unitdir}/*" | ||
| 36 | RDEPENDS_${PN}-systemd += " ${PN}" | ||
| 37 | |||
| 38 | INITSCRIPT_PACKAGES = "${PN}" | ||
| 39 | INITSCRIPT_NAME_${BPN} = "cloud-init" | ||
| 40 | |||
| 41 | DEPENDS += "python3-pyyaml-native \ | ||
| 42 | python3-requests-native \ | ||
| 43 | python3-jinja2-native \ | ||
| 44 | " | ||
| 45 | |||
| 46 | RDEPENDS_${PN} = "python3 \ | ||
| 47 | python3-jinja2 \ | ||
| 48 | python3-configobj \ | ||
| 49 | python3-requests \ | ||
| 50 | python3-jsonpatch \ | ||
| 51 | python3-jsonschema \ | ||
| 52 | python3-pyyaml \ | ||
| 53 | python3-oauthlib \ | ||
| 54 | " | ||
| 55 | |||
