kumquat-buildroot/package/udisks/Config.in
Adam Duskett 5a62f90e36 package/polkit: bump version to 0.119 and use duktape
Unfortunately, as of commit 3e1d61868fa8bfc586099302e931433270e5d17d, polkit
requires mozjs >= 78, which means spidermonkey is too old. As such, this patch
is larger than usual.

Spidermonkey has a few major issues:
  - The source directory after compilation is enormous (2.7G!)
  - The shared library is 24MB stripped!
  - It requires python2 to build, which is EOLed, and Buildroot is working
    towards removing. See: https://elinux.org/Buildroot:Python2Packages

Instead of going through the arduous task of updating Spidermonkey, there is a
better solution: use duktape.

There has been a pending patch for over a year that incorporates duktape as an
optional backend for polkit found here:
https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/35

As Thomas Petazzoni put it:
  "As I am subscribed to notifications on this merge request, I have been
  following the intermittent discussions taking place on this topic.
  And indeed, discussions have been sparse, and the polkit maintainer reaction
  has not been very supportive. It even feels like they are trying to find
  every possible argument or small issue not to merge the duktape integration."

Many people have come out to support using duktape, and many users, including
myself, have used polkit with duktape for as long as the above merge request has
been around without issues; merging in the above merge request is an acceptable
exception to the typical Buildroot package policies.

As Thomas also suggested, I have forked polkit on Github
(https://github.com/aduskett/polkit-duktape), with the above duktape
merge request applied, and a release made with the same tag as upstream (0.119).

I refrained from also adding 0001-make-netgroup-support-optional.patch as it is
outside of the scope of why the fork exists.

Changes:
  - refactor 0001-make-netgroup-support-optional.patch to work with 0.119 and
    duktape.
  - Remove upstream incorporated 0002-jsauthority-memleak.patch
  - Remove upstream 0003-polkit-0.116-pkttyagent-sigttou-bg-job.patch
  - Remove any trace of spidermonkey from polkit, udisks, and systemd-polkit
  - Add duktape as a dependency of polkit
  - Change POLKIT_SITE to the above polkit-duktape GitHub repository.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-07-24 23:29:21 +02:00

48 lines
1.6 KiB
Plaintext

config BR2_PACKAGE_UDISKS
bool "udisks"
depends on BR2_ENABLE_LOCALE # parted
depends on BR2_PACKAGE_HAS_UDEV
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # polkit -> C++17
depends on BR2_TOOLCHAIN_HAS_THREADS # polkit
depends on BR2_USE_WCHAR # dbus-glib -> glib2
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libblockdev -> cryptsetup -> json-c
depends on !BR2_STATIC_LIBS # polkit -> duktape
select BR2_PACKAGE_DBUS
select BR2_PACKAGE_DBUS_GLIB
select BR2_PACKAGE_LIBATASMART
select BR2_PACKAGE_LIBBLOCKDEV
select BR2_PACKAGE_LIBBLOCKDEV_CRYPTO
select BR2_PACKAGE_LIBBLOCKDEV_FS
select BR2_PACKAGE_LIBBLOCKDEV_LOOP
select BR2_PACKAGE_LIBBLOCKDEV_MDRAID
select BR2_PACKAGE_LIBBLOCKDEV_PART
select BR2_PACKAGE_LIBBLOCKDEV_SWAP
select BR2_PACKAGE_LIBGUDEV
select BR2_PACKAGE_PARTED
select BR2_PACKAGE_POLKIT
select BR2_PACKAGE_SG3_UTILS
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
help
The udisks project provides
o A storage daemon that implements well-defined D-Bus
interfaces that can be used to query and manipulate
storage devices.
o a command-line tool, udisks(1), that can be used to query
and use the daemon
http://www.freedesktop.org/wiki/Software/udisks
comment "udisks needs udev /dev management"
depends on BR2_USE_MMU
depends on !BR2_PACKAGE_HAS_UDEV
comment "udisks needs a toolchain with dynamic library, locale, wchar, threads, gcc >= 7"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_STATIC_LIBS || !BR2_ENABLE_LOCALE || \
!BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_7