From 52696f99fa9ef1f1166b4d78945ab75e6d65ba76 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Wed, 10 Apr 2024 13:45:14 +0200 Subject: [PATCH] lomiri.libusermetrics: Add custom patch for launching systemd service The UserMetrics service expects AppArmor to be available, and its database access breaks when that's not the case. Details: https://gitlab.com/ubports/development/core/libusermetrics/-/issues/8 We need to set an envvar for it to work AppArmor-less, but that requires system config knowledge. Solve this by telling the D-Bus service to look for & launch a systemd service, which we will later create in the Lomiri module. --- ...aunch-module-created-systemd-service.patch | 21 +++++++++++++++++++ .../development/libusermetrics/default.nix | 5 +++++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/desktops/lomiri/development/libusermetrics/2002-Launch-module-created-systemd-service.patch diff --git a/pkgs/desktops/lomiri/development/libusermetrics/2002-Launch-module-created-systemd-service.patch b/pkgs/desktops/lomiri/development/libusermetrics/2002-Launch-module-created-systemd-service.patch new file mode 100644 index 000000000000..82961cd4ba79 --- /dev/null +++ b/pkgs/desktops/lomiri/development/libusermetrics/2002-Launch-module-created-systemd-service.patch @@ -0,0 +1,21 @@ +From cf8ba54d22f5ac839004c0d984fb402bde82b527 Mon Sep 17 00:00:00 2001 +From: OPNA2608 +Date: Mon, 8 Apr 2024 15:22:55 +0200 +Subject: [PATCH] Launch module-created systemd service + +--- + data/com.lomiri.UserMetrics.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/data/com.lomiri.UserMetrics.service.in b/data/com.lomiri.UserMetrics.service.in +index c2e6ae1..212e24f 100644 +--- a/data/com.lomiri.UserMetrics.service.in ++++ b/data/com.lomiri.UserMetrics.service.in +@@ -3,3 +3,4 @@ Name=com.lomiri.UserMetrics + Exec=@CMAKE_INSTALL_FULL_LIBEXECDIR@/libusermetrics/usermetricsservice + User=usermetrics + StandardOutput=syslog ++SystemdService=dbus-com.lomiri.UserMetrics.service +-- +2.42.0 + diff --git a/pkgs/desktops/lomiri/development/libusermetrics/default.nix b/pkgs/desktops/lomiri/development/libusermetrics/default.nix index d4767b705825..351900af7f13 100644 --- a/pkgs/desktops/lomiri/development/libusermetrics/default.nix +++ b/pkgs/desktops/lomiri/development/libusermetrics/default.nix @@ -43,6 +43,10 @@ stdenv.mkDerivation (finalAttrs: { patches = [ # Not submitted yet, waiting for decision on how CMake testing should be handled ./2001-Remove-custom-check-target.patch + + # Due to https://gitlab.com/ubports/development/core/libusermetrics/-/issues/8, we require knowledge about AppArmor availability at launch time + # Custom patch to launch a module-defined service that can handle this + ./2002-Launch-module-created-systemd-service.patch ]; postPatch = '' @@ -91,6 +95,7 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "GSETTINGS_LOCALINSTALL" true) (lib.cmakeBool "GSETTINGS_COMPILE" true) + (lib.cmakeBool "ENABLE_CLICK" true) (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (lib.concatStringsSep ";" [ # Exclude tests