diff options
Diffstat (limited to 'community/cloud-init/APKBUILD')
-rw-r--r-- | community/cloud-init/APKBUILD | 185 |
1 files changed, 135 insertions, 50 deletions
diff --git a/community/cloud-init/APKBUILD b/community/cloud-init/APKBUILD index 359904df65a..b7649256c73 100644 --- a/community/cloud-init/APKBUILD +++ b/community/cloud-init/APKBUILD @@ -1,25 +1,19 @@ # Contributor: Matt Dainty <matt+alpine@bodgit-n-scarper.com> # Contributor: Dermot Bradley <dermot_bradley@yahoo.com> -# Maintainer: Dermot Bradley <dermot_bradley@yahoo.com> +# Maintainer: pkgname=cloud-init -pkgver=21.2 +pkgver=23.4 pkgrel=1 pkgdesc="Cloud instance init scripts" url="https://cloud-init.io" -# Dependant package "cloud-utils-growpart" is not available for mips, -# mips64, or s390x so disable these archs for this package too. -arch="noarch !mips !mips64 !s390x" +# Dependant package "cloud-utils-growpart" is not available for +# s390x so disable this arch for this package too. +arch="noarch !s390x" license="Apache-2.0 OR GPL-3.0-only" depends=" blkid cloud-utils-growpart - e2fsprogs-extra - eudev - ifupdown-ng iproute2-minimal - logger - lsblk - parted python3 py3-configobj py3-jinja2 @@ -27,24 +21,54 @@ depends=" py3-jsonschema py3-requests py3-yaml - sfdisk - sgdisk shadow - sudo + tzdata " makedepends="py3-setuptools" -subpackages="$pkgname-doc $pkgname-bash-completion $pkgname-openrc" -source="cloud-init-$pkgver.tar.gz::https://github.com/canonical/cloud-init/archive/$pkgver.tar.gz +checkdepends=" + bash + coreutils + grep + lsblk + parted + procps-ng + py3-netifaces + py3-passlib + py3-pyserial + py3-pytest + py3-pytest-mock + py3-responses + py3-tox + sfdisk + sgdisk + " +subpackages=" + $pkgname-bash-completion + $pkgname-doc + $pkgname-logrotate + $pkgname-pyc + $pkgname-openrc + " +source="cloud-init-$pkgver.tar.gz::https://github.com/canonical/cloud-init/archive/refs/tags/$pkgver.tar.gz 01-oauthlib-remove.patch - 02-hosts-template-fix.patch - 03-disable-irrelevant-modules.patch + 02-disable-irrelevant-modules.patch + 03-hook-hotplug-sh.patch + 04-set-default-datasource-list.patch + cloud-init-hotplugd + cloud-init-hotplugd.initd + cloud-init.logrotate interfaces setup-cloud-init README.Alpine " install="$pkgname.post-install" +options="!check" # 1 test is failing # secfixes: +# 23.1.2-r0: +# - CVE-2023-1786 +# 22.2.2-r0: +# - CVE-2022-2084 # 21.1-r1: # - CVE-2021-3429 @@ -57,21 +81,27 @@ build() { } check() { - python3 setup.py check + python3 -m pytest } package() { python3 setup.py install \ --prefix=/usr --root="$pkgdir" --init-system=sysvinit_openrc - # Delete __pycache__ directories containing PYC files - find "$pkgdir" -name '__pycache__' -type d -print0 | xargs -0 rm -Rf - - mkdir -p \ - "$pkgdir"/etc/network install -m644 \ + -D \ "$srcdir"/interfaces \ - "$pkgdir"/etc/network/ + "$pkgdir"/etc/network/interfaces + + install -m755 \ + -D \ + "$srcdir"/cloud-init-hotplugd.initd \ + "$pkgdir"/etc/init.d/cloud-init-hotplugd + + install -m644 \ + -D \ + "$srcdir"/cloud-init.logrotate \ + "$pkgdir"/etc/logrotate.d/cloud-init mkdir -p \ "$pkgdir"/sbin @@ -79,13 +109,21 @@ package() { "$srcdir"/setup-cloud-init \ "$pkgdir"/sbin/ + mkdir -p \ + "$pkgdir"/usr/sbin + install -m755 \ + "$srcdir"/cloud-init-hotplugd \ + "$pkgdir"/usr/sbin/ + install -m644 \ "$srcdir"/README.Alpine \ "$pkgdir"/usr/share/doc/"$pkgname"/ # Delete non-Alpine distribution template files for distro in \ - debian fedora freebsd opensuse redhat rhel sles suse ubuntu + arch centos cos debian fedora freebsd gentoo mariner openbsd \ + opensuse opensuse-leap opensuse-microos opensuse-tumbleweed \ + photon redhat rhel sle_hpc sle-micro sles suse ubuntu do for file in \ "$pkgdir"/etc/cloud/templates/*."$distro".tmpl @@ -93,37 +131,84 @@ package() { rm "$file" done done + rm "$pkgdir"/etc/cloud/templates/sources.list.*.tmpl + + # Delete non-Alpine os-specific files + for distro in \ + almalinux amazon arch bsd centos cloudlinux cos debian \ + dragonflybsd eurolinux fedora freebsd gentoo mariner \ + miraclelinux netbsd net_util openeuler openbsd OpenCloudOS \ + openmandriva opensuse opensuse-leap opensuse-microos \ + opensuse-tumbleweed photon rhel rhel_util rocky sle-micro \ + sle_hpc sles suse TencentOS ubuntu virtuozzo + do + rm "$pkgdir"/usr/lib/python3.*/site-packages/cloudinit/distros/"$distro".py + rm "$pkgdir"/usr/lib/python3.*/site-packages/cloudinit/distros/__pycache__/"$distro".*.pyc + done + rm "$pkgdir"/usr/lib/python3.*/site-packages/cloudinit/distros/parsers/sys_conf.py + rm "$pkgdir"/usr/lib/python3.*/site-packages/cloudinit/distros/parsers/__pycache__/sys_conf.*.pyc + + # Delete systemd-related files + rm \ + "$pkgdir"/etc/cloud/templates/timesyncd.conf.tmpl \ + "$pkgdir"/etc/cloud/templates/systemd.resolved.conf.tmpl + rm -Rf "$pkgdir"/etc/systemd + + # Delete NetworkManager-related files + rm -Rf "$pkgdir"/etc/NetworkManager # Delete cloud-init modules not relevant to Alpine for module in \ - cc_apt_*.py \ - cc_emit_upstart.py \ - cc_fan.py \ - cc_foo.py \ - cc_grub_dpkg.py \ - cc_landscape.py \ - cc_refresh_rmc_and_interface.py \ - cc_reset_rmc.py \ - cc_rh_subscription.py \ - cc_snap.py \ - cc_ssh_import_id.py \ - cc_spacewalk.py \ - cc_ubuntu_advantage.py \ - cc_ubuntu_drivers.py \ - cc_yum_add_repo.py \ - cc_zypper_add_repo.py + apt_* \ + byobu \ + fan \ + grub_dpkg \ + landscape \ + lxd \ + migrator \ + reset_rmc \ + rh_subscription \ + snap \ + spacewalk \ + ubuntu_advantage \ + ubuntu_autoinstall \ + ubuntu_drivers \ + yum_add_repo \ + zypper_add_repo do - rm "$pkgdir"/usr/lib/python3.*/site-packages/cloudinit/config/$module + rm "$pkgdir"/usr/lib/python3.*/site-packages/cloudinit/config/cc_$module.py + rm "$pkgdir"/usr/lib/python3.*/site-packages/cloudinit/config/__pycache__/cc_$module.*.pyc done - # Delete systemd template file - rm "$pkgdir"/etc/cloud/templates/timesyncd.conf.tmpl + # Delete cloud-init docs not relevant to Alpine + for doc in \ + cloud-config-add-apt-repos.txt \ + cloud-config-apt.txt \ + cloud-config-update-apt.txt \ + cloud-config-yum-repo.txt + do + rm "$pkgdir"/usr/share/doc/cloud-init/examples/$doc + done +} + +logrotate() { + pkgdesc="Cloud instance init scripts (logrotate configuration)" + depends="" + install_if="$pkgname=$pkgver-r$pkgrel logrotate" + + amove etc/logrotate.d/cloud-init } -sha512sums="0c67fd66b60a904d2dfddab563657c7028cc0bab9d2a195ce55e092f1c8e7cc8b0da2d2436146f1a1e545483f21f5658eeea2f6b224c1a253fdf467bd2b63145 cloud-init-21.2.tar.gz +sha512sums=" +e425a957cb38f2be2fcb83693696d0177ad84150f8a55759226d8696344ddd75e33e23a7230c492087784ef96ddd71305bc3462479e2c1a3ed0e704ac0f2d879 cloud-init-23.4.tar.gz c14ce3b27c55d1c381e27b2898bb73da8a74c53480d496bdfc87318b69fb612678205ab5a686c1ce703ef5c2c7a8529f629c8f908aeff39524d36870a83c1929 01-oauthlib-remove.patch -444b15f0d81138f7f3767bc10b0bee29ff10fa8b74dfc3542e1abe20d745f09bb2e36cb30ef8035a677ba81af80743207fbd9973d7cb4f33ca37891ae7493916 02-hosts-template-fix.patch -bf6da0948f655ced970f97036db9df4d4027deb0fe2a6575b7d68ddefc3b474948b31edd0f3fb2aa6c8eba07466634bc5b7c948d12eb687fe852761c15485f35 03-disable-irrelevant-modules.patch +4e0364ab0411d879a85a422135c72751f08fbda02938218bb551b5b87a097629856e24c2d1141c2c00df5679a23e8808ecbca0b09a7758295fffda432eed2f78 02-disable-irrelevant-modules.patch +463d7ca00f576de75444e86d9b32e1452c824a9f2708b624549e7e003b330c96fbc78d44756efd95d1f954fa0633ce0c0b619e798cdb33b8c86799ee07554834 03-hook-hotplug-sh.patch +8174411925f40f7e0eabb43cfdc273dfd0cf069e3713a3883ed128df7a5cc80b7d19e2643629cf17ae65c3d8e59cc8a074ca5932a6a4fe0e8299fad9ce861686 04-set-default-datasource-list.patch +2d7b80fc248ec18f20c4ed2fbe0f8d6ea85ae57a0ece8ecf8a095cf910c576807c19ab0453c00160b85253df5725cba90abec731cb54f441a509611115519b46 cloud-init-hotplugd +ab44fc51979a5da8569b08ed2f290a6610de6c36cf147af20f30e9224847623d3594c056a1f64c614598ac130e9bec92d566fb901024f806b768a89190c45f59 cloud-init-hotplugd.initd +3c6c5189859633012fd389a8d8370cbd46ddd07f206d61bcf872f12105f340552073cbf28f28096109c158b641de1c8199afcfc7f751166a27d4089355e1dd7d cloud-init.logrotate 48b25ec4457c2b3772a7d210033551d041749a0d1869818d888030e6df7fd9bbc13a38b95cf465de3d46d96881a722f94a337584ce48f280c4a52b819586563a interfaces -f32b90f26d1df0d88fbea7a1a9ab6704a20babdb750b933484bb7c4e91cc19a587d4bfbc95489a354003ecd00795d1592e71b4b93eccd41e392bb7170bfebb0e setup-cloud-init -bb31b78e8f563d8b9d2bb896e28a51862e6479a399ac57cb69fa86f8c0704d05ec79023bd090706359259569ac1d2cc7939950be0d0490fb36c9ec396254b7de README.Alpine" +9340e30b6c95f66cb2cdc68c0c5d765e4ce879d2f2bfb042c4b45996cf2b5c542b3762c6abfd213b4b9610f290d6ca734c28c7240fea76fb5cf58253570d2e8f setup-cloud-init +748b828de1f21cc30c9c13c4ebfbec5ba542ed882ddd04906661ffd7e50ef3d575f67d5650e99aac01fb8c84a9dc84cc73d2c8f232f0d4cfe86136f3097676cf README.Alpine +" |