- add missing dependencies
- fetch missing subprojects
- LIC_FILES_CHKSUM has changed but LICENSE is still LGPL-2.1
- The malcontent-timer-ext-agent, malcontent-timerd, and malcontent-webd services
are configured to run under their own user accounts. Create the users so that
the services can run.
Overview of changes in malcontent 0.14.0
========================================
* Bugs fixed:
- #89 After reworking user selector and navigation, removing currently viewed
users isn't handled (Philip Withnall)
- #101 Integrate NSS web filtering module in flatpak (Philip Withnall)
- #122 Allow viewing screen time usage when using malcontent-control as a
child user (Philip Withnall)
- #129 Hide level bar if there’s no data available yet
- #133 EstimatedTimesChanged signal is not emitted after a screen time
extension request is granted (Philip Withnall)
- !292 docs: Add diagram and some more notes to screen time design document
- !293 malcontent-client: Improve some error messages for invalid command
lines
- !294 build: Post-release version bump
- !295 po: Fix a few localisation problems
- !296 Update Chinese translation
- !297 docs: Add a diagram of web filtering IPC
- !298 Update Czech translation
- !299 updated ru.po
- !300 Replace sl.po with translation update
- !305 Update Czech translation
- !306 Update Chinese translation
- !307 Update Georgian translation
- !309 Update Slovenian (sl) translation
- !311 build: Use system libcdb library if available
- !312 malcontent-webd-update/tests: Only install webd template if tests are
installed
- !314 nss/tests/nss-objdump: Also allow linker library
- !315 Update Swedish translation
- !316 build/ci: Minor cleanups related to docs
- !317 Update Kazakh translation
* Translation updates:
- Chinese (China) (lumingzh)
- Czech (AsciiWolf)
- Georgian (NorwayFun)
- Kazakh (Baurzhan Muftakhidinov)
- Russian (Ser82-png)
- Slovenian (filmsi)
- Swedish (Anders Jonsson)
Overview of changes in malcontent 0.14.alpha
============================================
* This is an unstable development release previewing some new features; a lot of
things have changed around, so it’s expected that there may be some packaging
issues; please file an issue on
https://gitlab.freedesktop.org/pwithnall/malcontent/-/issues if so
* Add developer API documentation
* Refresh UI
* Add support for screen time limits
* Add backend for web filtering
* Bugs fixed:
- #2 Build developer documentation (Philip Withnall)
- #73 Updated sl.po translationn
- #74 Add family API (Philip Withnall)
- #75 Ensure MctSessionLimits can do daily time limit and bedtime schedule
(Philip Withnall)
- #76 Add org.freedesktop.MalcontentTimer1.Parent API for querying child
computer usage (Philip Withnall)
- #80 Refresh UI for unlock page
- #81 Rework user selector
- #83 Add screen time subpage with basic screen limits options
- #84 Add screen time chart
- #88 Implement NSS web filtering module and filter list daemon (Philip
Withnall)
- #91 Port documentation comments to gi-docgen format
- #95 Build sysext image in CI for integration testing with gnome-shell
(Philip Withnall)
- #96 Selecting username from commandline fails (Ignacy Kuchciński)
- #97 Add org.freedesktop.MalcontentTimer1.Child API for extending a child’s
session time (Philip Withnall)
- #98 After adding screen time subpage, the previous value of bedtime/screen
limit are not preserved (Philip Withnall)
- #100 Bump the app copyright date (Philip Withnall)
- #102 Add tests for filter list parsing code in malcontent-webd (Philip
Withnall)
- #107 Follow-up from "Add screen time chart"
- #109 Set a default daily screen time limit value
- #110 Show logged-in child accounts in the parental controls application
- #111 Screen time summary level bar overflows
- #112 Fix assertion when closing the application (Philip Withnall)
- #113 Investigate gtklevelbar breaking
- #115 Improve documentation of the malcontent-client record-usage command
(Philip Withnall)
- #117 Emit EstimatedTimesChanged signal from malcontent-timerd if session
limits settings change (Philip Withnall)
- #118 Malcontent-timerd daemon error on GNOME OS child account login (Philip
Withnall)
- #119 Fix duration picker breaking in 12-hour clock mode
- #120 Update Turkish translation
- !189 build: Post-release version bump
- !190 Bulgarian translation by kraftwerk
- !191 malcontent-control: Port about dialog to AdwAboutDialog
- !192 ci: Add various linting tests for shell and Python
- !193 malcontent-client: Add support for setting a session limit policy
- !194 Improve REUSE license/copyright tagging somewhat
- !195 Update Georgian translation
- !196 malcontent-timerd: Add initial implementation of timer daemon
- !197 po: Add new malcontent-timerd files to POTFILES.in
- !198 updated ru.po
- !200 ui: Fix wrong a11y role in button
- !202 nss: Add a new libnss_malcontent.so.2 NSS module for web filtering
- !204 libmalcontent: Add web filtering settings storage and API
- !205 malcontent-client: Add {get,set}-web-filter commands
- !210 Add icons to libmalcontent-ui gresources
- !211 docs: Add Code of Conduct
- !213 Add missing mct_session_limits_equal() and mct_web_filter_equal()
functions
- !214 manager: Rework change notification from AccountsService and support
notification for session limits and web filters
- !215 Various minor type and terminology fixes
- !216 user-selector: Factor out getuid() calls into a :current-user property
- !217 Fix icons in dark theme
- !218 tools: Add a sysext build tool
- !219 malcontent-control: Add D-Bus service file
- !220 malcontent-control: Change component type to "desktop-application"
- !221 accounts-service: Make extension symlinks relative
- !222 Handle external changes to users and settings
- !224 Fix waiting asynchronously for user manager
- !225 malcontent-webd: Add initial implementation of web filtering daemon
- !226 Adjust malcontent-timer for shell integration
- !227 po: Add missing files to POTFILES.in
- !228 Replace sl.po; this is the updated translation (100%).
- !229 nss: Add unit tests for NSS module
- !230 Update of sl.po
- !231 malcontent-timer: Remove an invalid attribute from a D-Bus XML file
- !232 tests: Add test for the sandboxing of malcontent-webd.service and
malcontent-timerd.service
- !233 Update Czech translation
- !235 Malcontent client improvements
- !236 Update Polish translation 250828
- #83 Add screen time subpage with basic screen limits options
- #84 Add screen time chart
- #88 Implement NSS web filtering module and filter list daemon (Philip
Withnall)
- #91 Port documentation comments to gi-docgen format
- #95 Build sysext image in CI for integration testing with gnome-shell
(Philip Withnall)
- #96 Selecting username from commandline fails (Ignacy Kuchciński)
- #97 Add org.freedesktop.MalcontentTimer1.Child API for extending a child’s
session time (Philip Withnall)
- #98 After adding screen time subpage, the previous value of bedtime/screen
limit are not preserved (Philip Withnall)
- #100 Bump the app copyright date (Philip Withnall)
- #102 Add tests for filter list parsing code in malcontent-webd (Philip
Withnall)
- #107 Follow-up from "Add screen time chart"
- #109 Set a default daily screen time limit value
- #110 Show logged-in child accounts in the parental controls application
- #111 Screen time summary level bar overflows
- #112 Fix assertion when closing the application (Philip Withnall)
- #113 Investigate gtklevelbar breaking
- #115 Improve documentation of the malcontent-client record-usage command
(Philip Withnall)
- #117 Emit EstimatedTimesChanged signal from malcontent-timerd if session
limits settings change (Philip Withnall)
- #118 Malcontent-timerd daemon error on GNOME OS child account login (Philip
Withnall)
- #119 Fix duration picker breaking in 12-hour clock mode
- #120 Update Turkish translation
- !189 build: Post-release version bump
- !190 Bulgarian translation by kraftwerk
- !191 malcontent-control: Port about dialog to AdwAboutDialog
- !192 ci: Add various linting tests for shell and Python
- !193 malcontent-client: Add support for setting a session limit policy
- !194 Improve REUSE license/copyright tagging somewhat
- !195 Update Georgian translation
- !196 malcontent-timerd: Add initial implementation of timer daemon
- !197 po: Add new malcontent-timerd files to POTFILES.in
- !198 updated ru.po
- !200 ui: Fix wrong a11y role in button
- !202 nss: Add a new libnss_malcontent.so.2 NSS module for web filtering
- !204 libmalcontent: Add web filtering settings storage and API
- !205 malcontent-client: Add {get,set}-web-filter commands
- !210 Add icons to libmalcontent-ui gresources
- !211 docs: Add Code of Conduct
- !213 Add missing mct_session_limits_equal() and mct_web_filter_equal()
functions
- !214 manager: Rework change notification from AccountsService and support
notification for session limits and web filters
- !215 Various minor type and terminology fixes
- !216 user-selector: Factor out getuid() calls into a :current-user property
- !217 Fix icons in dark theme
- !218 tools: Add a sysext build tool
- !219 malcontent-control: Add D-Bus service file
- !220 malcontent-control: Change component type to "desktop-application"
- !221 accounts-service: Make extension symlinks relative
- !222 Handle external changes to users and settings
- !224 Fix waiting asynchronously for user manager
- !225 malcontent-webd: Add initial implementation of web filtering daemon
- !226 Adjust malcontent-timer for shell integration
- !227 po: Add missing files to POTFILES.in
- !228 Replace sl.po; this is the updated translation (100%).
- !229 nss: Add unit tests for NSS module
- !230 Update of sl.po
- !231 malcontent-timer: Remove an invalid attribute from a D-Bus XML file
- !232 tests: Add test for the sandboxing of malcontent-webd.service and
malcontent-timerd.service
- !233 Update Czech translation
- !235 Malcontent client improvements
- !236 Update Polish translation 250828
- !237 docs: Add web filtering design document
- !238 docs: Add a document about system integration (packaging)
- !240 Update Czech translation
- !241 malcontent-client: Fix --help output for set-web-filter subcommand
- !242 Calculate next session times in malcontent-timer
- !243 Update Czech translation
- !245 po: Add false positves to POTFILES.skip
- !246 Update Polish translation 250907
- !247 manager: Handle UnknownInterface error from AccountsService
- !249 Minor malcontent-webd fixes
- !251 docs: Mention the update-error file in malcontent-webd.8
- !252 libmalcontent-ui: Update documentation to use gi-docgen
- !254 docs: Add some reference links to screen time design document
- !255 Update Chinese translation
- !256 Update Slovenian translation
- !257 libmalcontent-timer: Retry queries if the timer store is busy
- !258 time-page: Prevent calling unref on a NULL pointer
- !259 malcontent-webd-update: Disable timeout when updating filters
- !260 malcontent-webd: Relax UMask in service file
- !261 Update Czech translation
- !262 po: Add missing file to POTFILES.in
- !263 Update Chinese translation
- !264 build: Use exposed interfaces directory
- !265 libmalcontent-ui: Add missing gir include path
- !266 Minor fixes for malcontent-control
- !268 Replace sl.po with translation update.
- !269 Russian translation updated
- !270 Update Czech translation
- !271 Update Chinese translation
- !272 Updated RU against most recent pot
- !273 Statically link libgsystemservice
- !274 Various minor fixes and build system tests
- !277 l10n: Replace sl.po (Slovenian)
- !279 Update Swedish translation
- !282 tests: Add unit tests for `MctExtensionAgentObject`
- !286 libmalcontent: Port remaining doc comments to gi-docgen format
- !289 malcontent-control: Fix a crash when quitting just after making changes
- !291 po: Update Bulgarian translation
* Translation updates:
- Bulgarian (twlvnn, twlvnn kraftwerk)
- Chinese (China) (lumingzh)
- Czech (AsciiWolf)
- Georgian (NorwayFun)
- Polish (Piotr Drąg)
- Russian (Julia Dronova, Ser82-png)
- Slovenian (filmsi, Martin Srebotnjak)
- Swedish (Anders Jonsson)
- Turkish (Sabri Ünal)
Signed-off-by: Markus Volk <
f_l_k@t-online.de>
---
.../recipes-gnome/malcontent/malcontent-ui.bb | 4 ++--
.../recipes-gnome/malcontent/malcontent.bb | 22 ++++++++++++-------
.../recipes-gnome/malcontent/malcontent.inc | 21 +++++++++++++++---
3 files changed, 34 insertions(+), 13 deletions(-)
diff --git a/meta-oe/recipes-gnome/malcontent/malcontent-ui.bb b/meta-oe/recipes-gnome/malcontent/malcontent-ui.bb
index 8630822939..d0a975a457 100644
--- a/meta-oe/recipes-gnome/malcontent/malcontent-ui.bb
+++ b/meta-oe/recipes-gnome/malcontent/malcontent-ui.bb
@@ -1,7 +1,5 @@
SUMMARY = "User-Interface for malcontent."
HOMEPAGE = "
https://gitlab.freedesktop.org/pwithnall/malcontent"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "
file://COPYING;md5=4fbd65380cdd255951079008b364516c"
require malcontent.inc
@@ -20,6 +18,8 @@ DEPENDS += " \
flatpak \
libadwaita \
gtk4 \
+ gi-docgen-native \
+ gnome-desktop \
"
GIR_MESON_OPTION = ""
diff --git a/meta-oe/recipes-gnome/malcontent/malcontent.bb b/meta-oe/recipes-gnome/malcontent/malcontent.bb
index 9da95329a8..a6aa59513d 100644
--- a/meta-oe/recipes-gnome/malcontent/malcontent.bb
+++ b/meta-oe/recipes-gnome/malcontent/malcontent.bb
@@ -1,7 +1,5 @@
SUMMARY = "malcontent implements support for restricting the type of content."
HOMEPAGE = "
https://gitlab.freedesktop.org/pwithnall/malcontent"
-LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "
file://COPYING;md5=4fbd65380cdd255951079008b364516c"
require malcontent.inc
@@ -13,11 +11,13 @@ DEPENDS = " \
itstool-native \
libpam \
polkit \
+ gi-docgen-native \
+ libsoup \
"
GIR_MESON_OPTION = ""
-inherit meson pkgconfig gobject-introspection gettext features_check
+inherit meson pkgconfig gobject-introspection gettext features_check useradd
REQUIRED_DISTRO_FEATURES = "pam polkit gobject-introspection"
@@ -27,9 +27,15 @@ PACKAGECONFIG[ui] = ",,,malcontent-ui"
EXTRA_OEMESON = "-Dui=disabled -Dpamlibdir=${base_libdir}/security"
FILES:${PN} += " \
- ${base_libdir}/security/pam_malcontent.so \
- ${datadir}/accountsservice \
- ${datadir}/help \
- ${datadir}/dbus-1 \
- ${datadir}/polkit-1 \
+ ${nonarch_libdir}/sysusers.d \
+ ${systemd_system_unitdir} \
+ ${base_libdir}/security/pam_malcontent.so \
+ ${datadir}/accountsservice \
+ ${datadir}/help \
+ ${datadir}/dbus-1 \
+ ${datadir}/polkit-1 \
"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --no-create-home --user-group --shell /bin/false --home-dir ${localstatedir} malcontent-timer-ext-agent;malcontent-timerd;malcontent-webd"
+
diff --git a/meta-oe/recipes-gnome/malcontent/malcontent.inc b/meta-oe/recipes-gnome/malcontent/malcontent.inc
index 7cb052d69c..de5da10193 100644
--- a/meta-oe/recipes-gnome/malcontent/malcontent.inc
+++ b/meta-oe/recipes-gnome/malcontent/malcontent.inc
@@ -1,3 +1,18 @@
-SRC_URI = "git://gitlab.freedesktop.org/pwithnall/malcontent.git;protocol=https;branch=malcontent-0.13"
-SRCREV = "090042fec5181621e2fd8cfef9fc446ed86db98b"
-PV = "0.13.1"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "
file://COPYING;md5=310c7c93cf5181c6b0cc8229a1f3c6f6"
+
+SRC_URI = "git://gitlab.freedesktop.org/pwithnall/malcontent.git;protocol=https;nobranch=1;tag=${PV};name=malcontent"
+SRC_URI += "git://gitlab.gnome.org/pwithnall/libgsystemservice.git;name=libgsystemservice;subdir=${S}/subprojects/libgsystemservice;protocol=https;nobranch=1"
+SRC_URI += "git://gitlab.gnome.org/GNOME/gvdb.git;protocol=https;subdir=${S}/subprojects/gvdb;name=gvdb;nobranch=1"
+SRC_URI += "
https://www.corpit.ru/mjt/tinycdb/tinycdb-0.81.tar.gz;subdir=${S}/subprojects;name=tinycdb"
+SRCREV_malcontent = "d28f6635359d02d1068d8b21fb5810e5074b7903"
+SRCREV_libgsystemservice = "f4c5764652b5f347347b459ee011e4f02b29c3a0"
+SRCREV_gvdb = "466fc22016cf0981424e7121557611942191992f"
+SRC_URI[tinycdb.sha256sum] = "469de2d445bf54880f652f4b6dc95c7cdf6f5502c35524a45b2122d70d47ebc2"
+SRCREV_FORMAT = "malcontent"
+
+PV = "0.14.0"
+
+do_configure:prepend() {
+ cp ${S}/subprojects/packagefiles/tinycdb/meson.build ${S}/subprojects/tinycdb-0.81
+}
--
2.55.0