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..7bebdf35bd 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,14 @@ 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 --user-group -s /bin/false 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
+}
