diff options
author | Yoann Congal <yoann.congal@smile.fr> | 2024-09-05 14:52:20 +0200 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2024-09-05 08:20:29 -0700 |
commit | 9bdff5feb60994d4ed3a0123b9977c6c6643a242 (patch) | |
tree | 3c5fc6a6d0947c2c7f910ed1eaa0f54b0834401e /meta-oe/recipes-extended | |
parent | 2a3d4be9994ec68f2d94f8a7dd7da77c1675dfe6 (diff) | |
download | meta-openembedded-9bdff5feb60994d4ed3a0123b9977c6c6643a242.tar.gz |
polkit: Switch PAM files to common-*
Add a new OS option to polkit meson: "openembedded" and use this to
set PAM include to common-* which matches OE-Core libpam.
This also may fix a non-reproducibility since polkit meson system tried
to detect the host (compiling) OS and changed PAM config from the
detected value.
Fixes: https://github.com/openembedded/meta-openembedded/issues/860
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-extended')
-rw-r--r-- | meta-oe/recipes-extended/polkit/files/meson-build-Support-openembedded-OS-for-PAM-config.patch | 48 | ||||
-rw-r--r-- | meta-oe/recipes-extended/polkit/polkit_125.bb | 8 |
2 files changed, 55 insertions, 1 deletions
diff --git a/meta-oe/recipes-extended/polkit/files/meson-build-Support-openembedded-OS-for-PAM-config.patch b/meta-oe/recipes-extended/polkit/files/meson-build-Support-openembedded-OS-for-PAM-config.patch new file mode 100644 index 0000000000..cc396dfa3b --- /dev/null +++ b/meta-oe/recipes-extended/polkit/files/meson-build-Support-openembedded-OS-for-PAM-config.patch | |||
@@ -0,0 +1,48 @@ | |||
1 | From 7c89b88f0f81ad220d08d69d212c14c6eeefb647 Mon Sep 17 00:00:00 2001 | ||
2 | From: Yoann Congal <yoann.congal@smile.fr> | ||
3 | Date: Tue, 3 Sep 2024 12:17:42 +0200 | ||
4 | Subject: [PATCH] meson.build: Support "openembedded" OS for PAM config | ||
5 | |||
6 | In Openembedded, same as Suse/Solaris: PAM files are common-*: | ||
7 | * PAM_FILE_INCLUDE_AUTH: common-auth | ||
8 | * PAM_FILE_INCLUDE_ACCOUNT: common-account | ||
9 | * PAM_FILE_INCLUDE_PASSWORD: common-password | ||
10 | * PAM_FILE_INCLUDE_SESSION: common-session | ||
11 | See OE-Core libpam recipe. | ||
12 | |||
13 | NB: This is also the same config as Debian but its not mentioned in the | ||
14 | code. | ||
15 | |||
16 | Signed-off-by: Yoann Congal <yoann.congal@smile.fr> | ||
17 | Upstream-Status: Submitted [https://github.com/polkit-org/polkit/pull/497] | ||
18 | --- | ||
19 | meson.build | 2 +- | ||
20 | meson_options.txt | 2 +- | ||
21 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
22 | |||
23 | diff --git a/meson.build b/meson.build | ||
24 | index 302c189..a55f2d6 100644 | ||
25 | --- a/meson.build | ||
26 | +++ b/meson.build | ||
27 | @@ -311,7 +311,7 @@ endif | ||
28 | |||
29 | pam_include = get_option('pam_include') | ||
30 | if pam_include == '' | ||
31 | - if ['suse', 'solaris'].contains(os_type) | ||
32 | + if ['suse', 'solaris', 'openembedded'].contains(os_type) | ||
33 | pam_conf = { | ||
34 | 'PAM_FILE_INCLUDE_AUTH': 'common-auth', | ||
35 | 'PAM_FILE_INCLUDE_ACCOUNT': 'common-account', | ||
36 | diff --git a/meson_options.txt b/meson_options.txt | ||
37 | index c2e4a6c..14d7a50 100644 | ||
38 | --- a/meson_options.txt | ||
39 | +++ b/meson_options.txt | ||
40 | @@ -6,7 +6,7 @@ option('polkitd_user', type: 'string', value: 'polkitd', description: 'User for | ||
41 | option('polkitd_uid', type: 'string', value: '-', description: 'Fixed UID for user running polkitd (polkitd)') | ||
42 | |||
43 | option('authfw', type: 'combo', choices: ['pam', 'shadow', 'bsdauth'], value: 'pam', description: 'Authentication framework (pam/shadow)') | ||
44 | -option('os_type', type: 'combo', choices: ['redhat', 'suse', 'gentoo', 'pardus', 'solaris', 'netbsd', 'lfs', ''], value: '', description: 'distribution or OS') | ||
45 | +option('os_type', type: 'combo', choices: ['redhat', 'suse', 'gentoo', 'pardus', 'solaris', 'netbsd', 'lfs', 'openembedded', ''], value: '', description: 'distribution or OS') | ||
46 | |||
47 | option('pam_include', type: 'string', value: '', description: 'pam file to include') | ||
48 | option('pam_module_dir', type: 'string', value: '', description: 'directory to install PAM security module') | ||
diff --git a/meta-oe/recipes-extended/polkit/polkit_125.bb b/meta-oe/recipes-extended/polkit/polkit_125.bb index fe1ee467c3..2405ed6034 100644 --- a/meta-oe/recipes-extended/polkit/polkit_125.bb +++ b/meta-oe/recipes-extended/polkit/polkit_125.bb | |||
@@ -5,7 +5,9 @@ LICENSE = "LGPL-2.0-or-later" | |||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb" | 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb" |
6 | BUGTRACKER = "https://github.com/polkit-org/polkit/issues" | 6 | BUGTRACKER = "https://github.com/polkit-org/polkit/issues" |
7 | 7 | ||
8 | SRC_URI = "git://github.com/polkit-org/polkit.git;protocol=https;branch=main" | 8 | SRC_URI = "git://github.com/polkit-org/polkit.git;protocol=https;branch=main \ |
9 | file://meson-build-Support-openembedded-OS-for-PAM-config.patch \ | ||
10 | " | ||
9 | 11 | ||
10 | S = "${WORKDIR}/git" | 12 | S = "${WORKDIR}/git" |
11 | SRCREV = "112752c12da812a163dac67d7f675b60de8f7d7b" | 13 | SRCREV = "112752c12da812a163dac67d7f675b60de8f7d7b" |
@@ -16,6 +18,10 @@ inherit meson pkgconfig useradd systemd gettext gobject-introspection features_c | |||
16 | 18 | ||
17 | REQUIRED_DISTRO_FEATURES = "polkit" | 19 | REQUIRED_DISTRO_FEATURES = "polkit" |
18 | 20 | ||
21 | # Prevent meson.build to try to autodetect host OS (which could lead to | ||
22 | # non-reproducibility) | ||
23 | EXTRA_OEMESON = "-Dos_type=openembedded" | ||
24 | |||
19 | PACKAGECONFIG = " \ | 25 | PACKAGECONFIG = " \ |
20 | ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ | 26 | ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ |
21 | ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit', d)} \ | 27 | ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit', d)} \ |