[arch-commits] Commit in cloud-init/trunk (PKGBUILD)
David Runge
dvzrv at gemini.archlinux.org
Sat May 21 10:12:24 UTC 2022
Date: Saturday, May 21, 2022 @ 10:12:24
Author: dvzrv
Revision: 1209533
upgpkg: cloud-init 22.2-1: Upgrade to 22.2.
Switch to PEP517 by installing additional system files manually.
Modified:
cloud-init/trunk/PKGBUILD
----------+
PKGBUILD | 53 ++++++++++++++++++++++++++++++++++++++++-------------
1 file changed, 40 insertions(+), 13 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2022-05-21 09:51:35 UTC (rev 1209532)
+++ PKGBUILD 2022-05-21 10:12:24 UTC (rev 1209533)
@@ -7,7 +7,7 @@
# Contributor: Sparadox <etienne.lafarge at gmail.com>
pkgname=cloud-init
-pkgver=22.1
+pkgver=22.2
pkgrel=1
pkgdesc="Cloud instance initialization"
arch=(any)
@@ -15,9 +15,9 @@
license=(GPL3)
depends=(dhclient netplan python-configobj python-jinja
python-jsonpatch python-jsonschema python-netifaces python-oauthlib
-python-requests python-yaml sudo systemd)
-makedepends=(python-setuptools)
-checkdepends=(python-httpretty python-prettytable python-pytest)
+python-requests python-pyyaml sudo systemd)
+makedepends=(python-build python-installer python-setuptools python-wheel)
+checkdepends=(python-httpretty python-prettytable python-pytest python-pytest-mock python-responses)
optdepends=('cloud-guest-utils: for growpart')
backup=(
etc/cloud/cloud.cfg
@@ -28,10 +28,10 @@
$pkgname-22.1-lib_dir.patch
$pkgname-22.1-python-configobj.patch
)
-sha512sums=('485e358777379a22dd2b0f6aa7afb1751eb44831c6e03ecbbd9c6823eaa20535e6e83fc245818ce1bb207425976839b356dadcfa3cfe62385b9d340b08ff21ab'
+sha512sums=('07fec2f1d6eab20a1161672bb339a0c6b2826540bcb03936f95458b179fcb1b3142773c9a4038fe02b30bb05a5ca48a4153b6b0f59015b43bd6c6602832f9d6f'
'32b7521f0ae4d61a4d86f2f840fb0670e2cdc7bab708fc7b7676b5178b6d660beb3a46b803f5bcd7e0f18c6d6339fc96e20a951dfafadbb0312e4a0cafce325f'
'16e414661be0fc382d25ff18fd35147bf6115e64984d8a7e83c479f206a8d20ba0da1901a69eee9e07fe3d7b3c7cebc5702b2932f1847e19b43eccb5c89fa63b')
-b2sums=('ca55378db822cdf58808de1bd2b519861c50ad8b08ed699212827833e0134fdc0968b76a4c2a13f39eae1d20ef8b22a99ff99b85ef77e496fd41593f4e2f2d55'
+b2sums=('ae95bf04a0229ed0c7bbf6dc6889793eb020ffe6e6223b02f4003b3f38253781a1ed22a41f535b5064a8ba4bde20b197d58eb5d55789d4decd9b39aabd46d1c3'
'4e03bd647ca9e1bc3d9c507824d43e4013a20d5bbcb7215755b427d0c7ded9ee48dbfb9faaae703ab2d519aee7c48a40277603c8f874347b574b7ac2b1e1a9fd'
'e3470a365ecf7b5fe0ce0df30fab4160770ec128904a36ad57676af3c2c3a6730290a379c623d10fde588378149ef9c1b936f7f01f06fdb524a3f3d12f8d5112')
@@ -45,20 +45,47 @@
build() {
cd $pkgname-$pkgver
- python setup.py build
+ python -m build --wheel --no-isolation
}
check() {
cd $pkgname-$pkgver
- export PYTHONPATH="build:$PYTHONPATH"
- pytest -v
+ pytest -vv
}
package() {
+ local _file
+ local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
+
cd $pkgname-$pkgver
- python setup.py install --optimize=1 --init-system=systemd --root="$pkgdir"
+ python -m installer --destdir="$pkgdir" dist/*.whl
+ # NOTE: due to limitations with PEP517, files are installed to site-packages,
+ # not to the correct global locations (e.g. /etc and /usr), so we remove them
+ # and install them manually below.
+ rm -frv "$pkgdir/$site_packages/"{usr,etc}
- # /etc/systemd is for administrative purposes, not for vendoring purposes
- mv -v "$pkgdir/"{etc,usr/lib}/systemd/system/sshd-keygen at .service.d/
- rm -rf "$pkgdir/etc/systemd"
+ # configuration and hooks
+ install -vDm 644 config/cloud.cfg.d/* -t "$pkgdir/etc/cloud/cloud.cfg.d/"
+ ./tools/render-cloudcfg --variant arch ./config/cloud.cfg.tmpl "$pkgdir/etc/cloud/cloud.cfg"
+ install -vDm 644 templates/*.tmpl -t "$pkgdir/etc/cloud/templates/"
+ install -vDm 755 tools/hook-network-manager -t "$pkgdir/etc/NetworkManager/dispatcher.d/"
+ install -vDm 755 tools/hook-dhclient -t "$pkgdir/etc/dhcp/dhclient-exit-hooks.d/"
+ install -vDm 755 tools/{ds-identify,hook-hotplug,uncloud-init,write-ssh-key-fingerprints} -t "$pkgdir/usr/lib/$pkgname/"
+ # documentation, man pages and shell completion
+ install -vDm 644 doc/*.txt -t "$pkgdir/usr/share/doc/$pkgname/"
+ install -vDm 644 doc/examples/*.txt -t "$pkgdir/usr/share/doc/$pkgname/examples/"
+ install -vDm 644 doc/examples/seed/* -t "$pkgdir/usr/share/doc/$pkgname/examples/seed/"
+ install -vDm 644 doc/man/*.1 -t "$pkgdir/usr/share/man/man1/"
+ install -vDm 655 bash_completion/$pkgname -t "$pkgdir/usr/share/bash-completion/completions/"
+ # udev rules
+ install -vDm 644 udev/*.rules -t "$pkgdir/usr/lib/udev/rules.d/"
+ # systemd integration
+ install -vdm 755 "$pkgdir/usr/lib/systemd/system"{,-generators}
+ for _file in cloud-{config,final,init-local,init}.service; do
+ ./tools/render-cloudcfg --variant arch ./systemd/$_file.tmpl "$pkgdir/usr/lib/systemd/system/$_file"
+ done
+ install -vDm 644 systemd/*.{service,socket,target} "$pkgdir/usr/lib/systemd/system/"
+ ./tools/render-cloudcfg --variant arch ./systemd/cloud-init-generator.tmpl "$pkgdir/usr/lib/systemd/system-generators/cloud-init-generator"
+ chmod 755 "$pkgdir/usr/lib/systemd/system-generators/cloud-init-generator"
+ install -vDm 644 systemd/disable-sshd-keygen-if-cloud-init-active.conf -t "$pkgdir/usr/lib/systemd/system/sshd-keygen at .service.d/"
}
More information about the arch-commits
mailing list