Skip to content

Commit

Permalink
sysutils/polkit: update to 122 release (+)
Browse files Browse the repository at this point in the history
Add DUKTAPE (set by default) and SPIDERMONKEY options
Add support of procctl(2) in pkexec program

Differential Revision:	https://reviews.freebsd.org/D37137

With hat:	desktop
  • Loading branch information
fluffykhv committed Jan 6, 2023
1 parent 3b73b2e commit 2e8ea81
Show file tree
Hide file tree
Showing 7 changed files with 85 additions and 60 deletions.
31 changes: 19 additions & 12 deletions sysutils/polkit/Makefile
@@ -1,12 +1,8 @@
PORTNAME= polkit
PORTVERSION= 0.120
PORTREVISION= 2
PORTVERSION= 122
CATEGORIES= sysutils gnome
MASTER_SITES= https://www.freedesktop.org/software/polkit/releases/

PATCH_SITES= https://gitlab.freedesktop.org/${PORTNAME}/${PORTNAME}/-/commit/
PATCHFILES+= e7f3d9e8341d.patch:-p1 # https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/99
PATCHFILES+= a2bf5c9c83b6.patch:-p1 # https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/104 (CVE-2021-4034)
MASTER_SITES= https://www.freedesktop.org/software/polkit/releases/ \
https://gitlab.freedesktop.org/${PORTNAME}/${PORTNAME}/-/archive/${PORTVERSION}/

MAINTAINER= desktop@FreeBSD.org
COMMENT= Framework for controlling access to system-wide components
Expand All @@ -16,13 +12,12 @@ LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING

LIB_DEPENDS= libexpat.so:textproc/expat2 \
libdbus-1.so:devel/dbus \
libmozjs-91.so:lang/spidermonkey91
libdbus-1.so:devel/dbus

USERS= polkitd
GROUPS= polkitd

USES= compiler:c++11-lib cpe gettext gnome libtool localbase meson \
USES= compiler:c++17-lang cpe gettext gnome libtool localbase meson \
pathfix pkgconfig shebangfix
USE_GNOME= glib20 intltool introspection:build
SHEBANG_FILES= ${WRKSRC}/src/polkitbackend/toarray.pl
Expand All @@ -38,9 +33,21 @@ MESON_ARGS= -Dpam_include=system \
-Dlocalstatedir=/var \
-Dgtk_doc=false

INSTALL_TARGET= install-strip

OPTIONS_DEFINE= MANPAGES
OPTIONS_DEFAULT= DUKTAPE

OPTIONS_SINGLE= JS
OPTIONS_SINGLE_JS= DUKTAPE SPIDERMONKEY

JS_DESC= JavaScript engines
DUKTAPE_DESC= Duktape JavaScript backend
SPIDERMONKEY_DESC= SpiderMonkey JavaScript backend

DUKTAPE_LIB_DEPENDS= libduktape.so:lang/duktape-lib
DUKTAPE_MESON_ON= -Djs_engine='duktape'

SPIDERMONKEY_LIB_DEPENDS= libmozjs-102.so:lang/spidermonkey102
SPIDERMONKEY_MESON_ON= -Djs_engine='mozjs'

MANPAGES_BUILD_DEPENDS= docbook-sgml>=4.5:textproc/docbook-sgml \
docbook-xsl>=1.76:textproc/docbook-xsl
Expand Down
10 changes: 3 additions & 7 deletions sysutils/polkit/distinfo
@@ -1,7 +1,3 @@
TIMESTAMP = 1656189343
SHA256 (polkit-0.120.tar.gz) = ee7a599a853117bf273548725719fa92fabd2f136915c7a4906cee98567aee03
SIZE (polkit-0.120.tar.gz) = 1626659
SHA256 (e7f3d9e8341d.patch) = 9a84b59d38b3f86c70c5fc3a28cbfe8d7a22cf190eb20ff433f7f53f5ff73a9a
SIZE (e7f3d9e8341d.patch) = 1201
SHA256 (a2bf5c9c83b6.patch) = 5930a48bf4262a7c89f8737a1a5a648bd41cfdb6476dcca1140cba6555b67d2c
SIZE (a2bf5c9c83b6.patch) = 2070
TIMESTAMP = 1666804675
SHA256 (polkit-122.tar.gz) = 0d69656d60800835c3d7d1f0a8362b32e1ae3ace2875a35bb624296fc52d5dc4
SIZE (polkit-122.tar.gz) = 744767
16 changes: 8 additions & 8 deletions sysutils/polkit/files/patch-meson.build
@@ -1,19 +1,19 @@
--- meson.build.orig 2021-09-29 19:16:29 UTC
--- meson.build.orig 2022-10-26 12:12:24 UTC
+++ meson.build
@@ -133,10 +133,10 @@ assert(cc.has_function('XML_ParserCreate', dependencie
assert(cc.has_header('expat.h', dependencies: expat_dep), 'Can\'t find expat.h. Please install expat.')
assert(cc.has_function('XML_ParserCreate', dependencies: expat_dep), 'Can\'t find expat library. Please install expat.')

-mozjs_dep = dependency('mozjs-78')
+mozjs_dep = dependency('mozjs-91')
@@ -154,10 +154,11 @@ if js_engine == 'duktape'
config_h.set('HAVE_' + func.to_upper(), cc.has_function(func, prefix : '#include <pthread.h>'))
elif js_engine == 'mozjs'
js_dep = dependency('mozjs-102')
+ config_h.set('__BSD_VISIBLE', 1)
endif

dbus_dep = dependency('dbus-1', required: false)
-dbus_policydir = pk_prefix / pk_datadir / 'dbus-1/system.d'
+dbus_policydir = pk_prefix / pk_sysconfdir / 'dbus-1/system.d'
if dbus_dep.found()
dbus_system_bus_services_dir = dbus_dep.get_pkgconfig_variable('system_bus_services_dir', define_variable: ['datadir', pk_prefix / pk_datadir])
else
@@ -329,15 +329,6 @@ configure_file(
@@ -358,15 +359,6 @@ endif
configure_file(
output: 'config.h',
configuration: config_h,
Expand Down
19 changes: 19 additions & 0 deletions sysutils/polkit/files/patch-src_polkitbackend_meson.build
@@ -0,0 +1,19 @@
--- src/polkitbackend/meson.build.orig 2022-10-26 12:12:24 UTC
+++ src/polkitbackend/meson.build
@@ -30,7 +30,6 @@ c_flags = [
'-DPACKAGE_DATA_DIR="@0@"'.format(pk_prefix / pk_datadir),
'-DPACKAGE_SYSCONF_DIR="@0@"'.format(pk_prefix / pk_sysconfdir),
'-D_XOPEN_SOURCE=700',
- '-D_GNU_SOURCE=1',
]

if js_engine == 'duktape'
@@ -61,7 +60,7 @@ libpolkit_backend = static_library(

install_data(
'50-default.rules',
- install_dir: pk_pkgdatadir / 'rules.d',
+ install_dir: pk_pkgsysconfdir / 'rules.d',
)

program = 'polkitd'

This file was deleted.

33 changes: 33 additions & 0 deletions sysutils/polkit/files/patch-src_programs_pkexec.c
@@ -0,0 +1,33 @@
--- src/programs/pkexec.c.orig 2022-07-11 08:46:06 UTC
+++ src/programs/pkexec.c
@@ -37,6 +37,11 @@
#include <sys/prctl.h>
#endif

+#ifdef __FreeBSD__
+#include <signal.h>
+#include <sys/procctl.h>
+#endif
+
#include <glib/gi18n.h>

#ifdef POLKIT_AUTHFW_PAM
@@ -729,10 +734,17 @@ main (int argc, char *argv[])
}

/* make sure we are nuked if the parent process dies */
-#ifdef __linux__
+#if defined(__linux__)
if (prctl (PR_SET_PDEATHSIG, SIGTERM) != 0)
{
g_printerr ("prctl(PR_SET_PDEATHSIG, SIGTERM) failed: %s\n", g_strerror (errno));
+ goto out;
+ }
+#elif defined(__FreeBSD__)
+ int _sig = SIGTERM;
+ if (procctl (P_PID, 0, PROC_PDEATHSIG_CTL, &_sig) != 0)
+ {
+ g_printerr ("procctl(2) failed: %s\n", g_strerror (errno));
goto out;
}
#else
3 changes: 3 additions & 0 deletions sysutils/polkit/pkg-plist
Expand Up @@ -63,6 +63,8 @@ share/locale/hr/LC_MESSAGES/polkit-1.mo
share/locale/hu/LC_MESSAGES/polkit-1.mo
share/locale/id/LC_MESSAGES/polkit-1.mo
share/locale/it/LC_MESSAGES/polkit-1.mo
share/locale/ka/LC_MESSAGES/polkit-1.mo
share/locale/nl/LC_MESSAGES/polkit-1.mo
share/locale/nn/LC_MESSAGES/polkit-1.mo
share/locale/pl/LC_MESSAGES/polkit-1.mo
share/locale/pt/LC_MESSAGES/polkit-1.mo
Expand All @@ -75,6 +77,7 @@ share/locale/uk/LC_MESSAGES/polkit-1.mo
share/locale/zh_CN/LC_MESSAGES/polkit-1.mo
share/locale/zh_TW/LC_MESSAGES/polkit-1.mo
share/polkit-1/actions/org.freedesktop.policykit.policy
share/polkit-1/policyconfig-1.dtd
@dir(polkitd,,700) etc/polkit-1/rules.d
@dir(polkitd,,700) share/polkit-1/rules.d
@dir etc/polkit-1/localauthority/90-mandatory.d
Expand Down

0 comments on commit 2e8ea81

Please sign in to comment.