Andrew Geissler | eff2747 | 2021-10-29 15:35:00 -0500 | [diff] [blame] | 1 | SUMMARY = "PolicyKit Authorization Framework" |
| 2 | DESCRIPTION = "The polkit package is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes." |
| 3 | HOMEPAGE = "http://www.freedesktop.org/wiki/Software/polkit" |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 4 | LICENSE = "LGPL-2.0-or-later" |
Andrew Geissler | eff2747 | 2021-10-29 15:35:00 -0500 | [diff] [blame] | 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \ |
| 6 | file://src/polkit/polkit.h;beginline=1;endline=20;md5=0a8630b0133176d0504c87a0ded39db4" |
| 7 | |
Andrew Geissler | 615f2f1 | 2022-07-15 14:00:58 -0500 | [diff] [blame] | 8 | DEPENDS = "expat glib-2.0 intltool-native" |
Andrew Geissler | eff2747 | 2021-10-29 15:35:00 -0500 | [diff] [blame] | 9 | |
| 10 | inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection features_check |
| 11 | |
| 12 | REQUIRED_DISTRO_FEATURES = "polkit" |
| 13 | |
| 14 | PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \ |
| 15 | ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \ |
| 16 | bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \ |
Andrew Geissler | 615f2f1 | 2022-07-15 14:00:58 -0500 | [diff] [blame] | 17 | mozjs \ |
Andrew Geissler | eff2747 | 2021-10-29 15:35:00 -0500 | [diff] [blame] | 18 | " |
| 19 | |
| 20 | PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam" |
| 21 | PACKAGECONFIG[systemd] = "--enable-libsystemd-login=yes --with-systemdsystemunitdir=${systemd_unitdir}/system/,--enable-libsystemd-login=no --with-systemdsystemunitdir=,systemd" |
| 22 | # there is no --enable/--disable option for consolekit and it's not picked by shlibs, so add it to RDEPENDS |
| 23 | PACKAGECONFIG[consolekit] = ",,,consolekit" |
| 24 | |
Andrew Geissler | 615f2f1 | 2022-07-15 14:00:58 -0500 | [diff] [blame] | 25 | # Default to mozjs javascript library |
| 26 | PACKAGECONFIG[mozjs] = ",,mozjs-91,,,duktape" |
| 27 | # duktape javascript engine is much smaller and faster but is not compatible with |
| 28 | # same javascript standards as mozjs. For example array.includes() function is not |
| 29 | # supported. Test rule compatibility when switching to duktape. |
| 30 | PACKAGECONFIG[duktape] = "--with-duktape,,duktape,,,mozjs" |
| 31 | |
| 32 | MOZJS_PATCHES = "\ |
| 33 | file://0002-jsauthority-port-to-mozjs-91.patch \ |
| 34 | file://0003-jsauthority-ensure-to-call-JS_Init-and-JS_ShutDown-e.patch \ |
| 35 | " |
| 36 | DUKTAPE_PATCHES = "file://0003-Added-support-for-duktape-as-JS-engine.patch" |
Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 37 | DUKTAPE_NG_PATCHES = "file://0005-Make-netgroup-support-optional-duktape.patch" |
Andrew Geissler | eff2747 | 2021-10-29 15:35:00 -0500 | [diff] [blame] | 38 | PAM_SRC_URI = "file://polkit-1_pam.patch" |
| 39 | SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \ |
| 40 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ |
Andrew Geissler | 615f2f1 | 2022-07-15 14:00:58 -0500 | [diff] [blame] | 41 | ${@bb.utils.contains('PACKAGECONFIG', 'mozjs', '${MOZJS_PATCHES}', '', d)} \ |
| 42 | ${@bb.utils.contains('PACKAGECONFIG', 'duktape', '${DUKTAPE_PATCHES}', '', d)} \ |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 43 | file://0001-pkexec-local-privilege-escalation-CVE-2021-4034.patch \ |
| 44 | file://0002-CVE-2021-4115-GHSL-2021-077-fix.patch \ |
Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 45 | file://0004-Make-netgroup-support-optional.patch \ |
| 46 | ${@bb.utils.contains('PACKAGECONFIG', 'duktape', '${DUKTAPE_NG_PATCHES}', '', d)} \ |
Andrew Geissler | eff2747 | 2021-10-29 15:35:00 -0500 | [diff] [blame] | 47 | " |
| 48 | SRC_URI[sha256sum] = "c8579fdb86e94295404211285fee0722ad04893f0213e571bd75c00972fd1f5c" |
| 49 | |
| 50 | EXTRA_OECONF = "--with-os-type=moblin \ |
| 51 | --disable-man-pages \ |
| 52 | --disable-libelogind \ |
| 53 | " |
| 54 | |
Andrew Geissler | 9aee500 | 2022-03-30 16:27:02 +0000 | [diff] [blame] | 55 | do_configure:prepend () { |
| 56 | rm -f ${S}/buildutil/lt*.m4 ${S}/buildutil/libtool.m4 |
| 57 | } |
| 58 | |
Andrew Geissler | eff2747 | 2021-10-29 15:35:00 -0500 | [diff] [blame] | 59 | do_compile:prepend () { |
| 60 | export GIR_EXTRA_LIBS_PATH="${B}/src/polkit/.libs" |
| 61 | } |
| 62 | |
| 63 | PACKAGES =+ "${PN}-examples" |
| 64 | |
| 65 | FILES:${PN}:append = " \ |
| 66 | ${libdir}/${BPN}-1 \ |
| 67 | ${nonarch_libdir}/${BPN}-1 \ |
| 68 | ${datadir}/dbus-1 \ |
| 69 | ${datadir}/${BPN}-1 \ |
| 70 | ${datadir}/gettext \ |
| 71 | " |
| 72 | |
| 73 | FILES:${PN}-examples = "${bindir}/*example*" |
| 74 | |
| 75 | USERADD_PACKAGES = "${PN}" |
Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 76 | USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 --shell /bin/nologin polkitd" |
Andrew Geissler | eff2747 | 2021-10-29 15:35:00 -0500 | [diff] [blame] | 77 | |
| 78 | SYSTEMD_SERVICE:${PN} = "${BPN}.service" |
| 79 | SYSTEMD_AUTO_ENABLE = "disable" |