# Contributor: Matt Dainty # Contributor: Dermot Bradley # Maintainer: Dermot Bradley pkgname=cloud-init # # Please do NOT do "drive by" upgrades of this package. I am an active # participant in upstream cloud-init development and so am well aware of # when new releases are coming out. If only a few days have passed since an # upstream release has occurred then it is highly likely that I am *already* # preparing an Alpine package upgrade. # # Similarly I receive advance notification of security fixes/releases from # upstream and so if a cloud-init security fix has recently been released it # is high likely I am already aware of it and working on an Alpine package # update/upgrade. # pkgver=23.2.2 pkgrel=0 pkgdesc="Cloud instance init scripts" url="https://cloud-init.io" # 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 iproute2-minimal python3 py3-configobj py3-jinja2 py3-jsonpatch py3-jsonschema py3-requests py3-yaml shadow tzdata " makedepends="py3-setuptools" checkdepends=" bash coreutils grep lsblk parted py3-netifaces py3-pytest py3-pytest-mock py3-responses py3-pyserial sfdisk sgdisk " subpackages=" $pkgname-bash-completion $pkgname-doc $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-disable-irrelevant-modules.patch 03-hook-hotplug-sh.patch 04-add-doas.patch 05-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" # secfixes: # 23.1.2-r0: # - CVE-2023-1786 # 22.2.2-r0: # - CVE-2022-2084 # 21.1-r1: # - CVE-2021-3429 prepare() { default_prepare } build() { python3 setup.py build } check() { python3 -m pytest } package() { python3 setup.py install \ --prefix=/usr --root="$pkgdir" --init-system=sysvinit_openrc install -m644 \ -D \ "$srcdir"/interfaces \ "$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 install -m755 \ "$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 \ 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 do rm "$file" done done # 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 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 \ apt_* \ byobu \ fan \ grub_dpkg \ keyboard \ landscape \ lxd \ reset_rmc \ rh_subscription \ snap \ spacewalk \ ssh_import_id \ ubuntu_advantage \ ubuntu_autoinstall \ ubuntu_drivers \ yum_add_repo \ zypper_add_repo do 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 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 } sha512sums=" 5a3788d3bad568b502bc4776472ca58d2543da2340a1cfcffd69429d44b1a00ba904d9986fac9babb0b4f58f0d1d326a497e56239e9c10fa35f2668de5a77dba cloud-init-23.2.2.tar.gz c14ce3b27c55d1c381e27b2898bb73da8a74c53480d496bdfc87318b69fb612678205ab5a686c1ce703ef5c2c7a8529f629c8f908aeff39524d36870a83c1929 01-oauthlib-remove.patch 81d233d121a94c5277ad92713f8660b0fef79f1f50452436f2ad67deda6dea86c685f349db53e57a209d5dc6ba0ab726292d399627778af4d3752c05bfd849fb 02-disable-irrelevant-modules.patch 463d7ca00f576de75444e86d9b32e1452c824a9f2708b624549e7e003b330c96fbc78d44756efd95d1f954fa0633ce0c0b619e798cdb33b8c86799ee07554834 03-hook-hotplug-sh.patch 619385c93138b6678d1a58c8e9e786a355eb11da646cf29a60ed19137ef52cfaf0c76736cd1cb8a179d01a207259d3a9147ff45179e2625a97c73eb28e261305 04-add-doas.patch fe0f6d3c9e4772af8aa940450ec7b905ab5105325bcab7fe5b5ec0bcbd428067957ce2f4489ee55fae0c8c248ee2100ebec321e14938e504cde52de9637b27eb 05-set-default-datasource-list.patch 2d7b80fc248ec18f20c4ed2fbe0f8d6ea85ae57a0ece8ecf8a095cf910c576807c19ab0453c00160b85253df5725cba90abec731cb54f441a509611115519b46 cloud-init-hotplugd ab44fc51979a5da8569b08ed2f290a6610de6c36cf147af20f30e9224847623d3594c056a1f64c614598ac130e9bec92d566fb901024f806b768a89190c45f59 cloud-init-hotplugd.initd 3c6c5189859633012fd389a8d8370cbd46ddd07f206d61bcf872f12105f340552073cbf28f28096109c158b641de1c8199afcfc7f751166a27d4089355e1dd7d cloud-init.logrotate 48b25ec4457c2b3772a7d210033551d041749a0d1869818d888030e6df7fd9bbc13a38b95cf465de3d46d96881a722f94a337584ce48f280c4a52b819586563a interfaces 9340e30b6c95f66cb2cdc68c0c5d765e4ce879d2f2bfb042c4b45996cf2b5c542b3762c6abfd213b4b9610f290d6ca734c28c7240fea76fb5cf58253570d2e8f setup-cloud-init 585471d64ea0d34f2802c08ccc701ea206311f3ff82c60c8a67d72d60618927fdd1c3c59448d1b840942c23319e6127a7eda9280e8dba776741efef1eb0b07a6 README.Alpine "