From 926d714972edc85f47ad771d0bfe9565d7e57e74 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Mon, 14 Aug 2023 13:21:40 +0200 Subject: cloud-init: fix usrmerge QA issue * backport a fix from 23.2 version (notice that the recipe claims to be: v23.2.2+git, but the commit in master-next which updated PV only changed the branch name, not the SRCREV, so it's still 23.1 and missing this fix cloud-init/v23.2.2+git/git $ git describe --tags 23.1-53-g57752970e * fixes: ERROR: cloud-init-v23.2.2+git-r0 do_package_qa: QA Issue: cloud-init package is not obeying usrmerge distro feature. /lib should be relocated to /usr. [usrmerge] caused by udev rules: $ find cloud-init/v23.2.2+git/image/lib/ cloud-init/v23.2.2+git/image/lib/ cloud-init/v23.2.2+git/image/lib/udev cloud-init/v23.2.2+git/image/lib/udev/rules.d cloud-init/v23.2.2+git/image/lib/udev/rules.d/66-azure-ephemeral.rules Signed-off-by: Martin Jansa Signed-off-by: Bruce Ashfield --- ...y-use-pkg-config-for-udev-rules-path-2137.patch | 50 ++++++++++++++++++++++ recipes-extended/cloud-init/cloud-init_git.bb | 1 + 2 files changed, 51 insertions(+) create mode 100644 recipes-extended/cloud-init/cloud-init/0002-setup.py-use-pkg-config-for-udev-rules-path-2137.patch diff --git a/recipes-extended/cloud-init/cloud-init/0002-setup.py-use-pkg-config-for-udev-rules-path-2137.patch b/recipes-extended/cloud-init/cloud-init/0002-setup.py-use-pkg-config-for-udev-rules-path-2137.patch new file mode 100644 index 00000000..9f3760c4 --- /dev/null +++ b/recipes-extended/cloud-init/cloud-init/0002-setup.py-use-pkg-config-for-udev-rules-path-2137.patch @@ -0,0 +1,50 @@ +From 57752970ebea017820343aadf11b65c537bef336 Mon Sep 17 00:00:00 2001 +From: dankm +Date: Fri, 28 Apr 2023 15:10:34 -0600 +Subject: [PATCH] setup.py: use pkg-config for udev/rules path (#2137) + +Distributions other than RHEL also use /usr/lib/udev for the rules +path. Instead of hardcoding the udev rules path for RedHat, check +pkg-config for the proper location. + +Upstream-Status: Backport [23.2 https://github.com/canonical/cloud-init/commit/5abf5f5f2cf93c57ac74220251d2a2acce5f7099] +Signed-off-by: Martin Jansa +--- + setup.py | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/setup.py b/setup.py +index a6dbc5c23..66e618d3a 100644 +--- a/setup.py ++++ b/setup.py +@@ -46,7 +46,10 @@ def pkg_config_read(library, var): + "systemdsystemconfdir": "/etc/systemd/system", + "systemdsystemunitdir": "/lib/systemd/system", + "systemdsystemgeneratordir": "/lib/systemd/system-generators", +- } ++ }, ++ "udev": { ++ "udevdir": "/lib/udev", ++ }, + } + cmd = ["pkg-config", "--variable=%s" % var, library] + try: +@@ -309,14 +312,13 @@ data_files = [ + ), + ] + if not platform.system().endswith("BSD"): +- +- RULES_PATH = LIB +- if os.path.isfile("/etc/redhat-release"): +- RULES_PATH = "/usr/lib" ++ RULES_PATH = pkg_config_read("udev", "udevdir") ++ if not in_virtualenv(): ++ RULES_PATH = "/" + RULES_PATH + + data_files.extend( + [ +- (RULES_PATH + "/udev/rules.d", [f for f in glob("udev/*.rules")]), ++ (RULES_PATH + "/rules.d", [f for f in glob("udev/*.rules")]), + ( + ETC + "/systemd/system/sshd-keygen@.service.d/", + ["systemd/disable-sshd-keygen-if-cloud-init-active.conf"], diff --git a/recipes-extended/cloud-init/cloud-init_git.bb b/recipes-extended/cloud-init/cloud-init_git.bb index a35f50a4..e01bdad2 100644 --- a/recipes-extended/cloud-init/cloud-init_git.bb +++ b/recipes-extended/cloud-init/cloud-init_git.bb @@ -11,6 +11,7 @@ SRCREV = "e02c4607923af64311c70ae9a06d6794355e9a61" SRC_URI = "git://github.com/canonical/cloud-init;branch=23.2.x;protocol=https \ file://cloud-init-source-local-lsb-functions.patch \ file://0001-setup.py-check-for-install-anywhere-in-args.patch \ + file://0002-setup.py-use-pkg-config-for-udev-rules-path-2137.patch \ " PV = "v23.2.2+git${SRCPV}" -- cgit v1.2.3-54-g00ecf