[packages/malcontent] - updated to 0.14.0
qboosh
qboosh at pld-linux.org
Sat May 23 10:40:25 CEST 2026
commit bc944b2aa253814932c200b51ce1f9d2c461f38f
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat May 23 10:40:29 2026 +0200
- updated to 0.14.0
malcontent-system-tinycdb.patch | 24 ++++++
malcontent.spec | 169 ++++++++++++++++++++++++++++++++++------
no-cache-update.patch | 8 +-
3 files changed, 173 insertions(+), 28 deletions(-)
---
diff --git a/malcontent.spec b/malcontent.spec
index 9312242..c4cc09f 100644
--- a/malcontent.spec
+++ b/malcontent.spec
@@ -6,39 +6,55 @@
Summary: Library providing access to parental control settings
Summary(pl.UTF-8): Biblioteka zapewniająca dostęp do ustawień kontroli rodzicielskiej
Name: malcontent
-Version: 0.13.0
+Version: 0.14.0
Release: 1
License: LGPL v2.1+ (library), CC-AS-SA v3.0 (docs)
Group: Applications
#Source0Download: https://gitlab.freedesktop.org/pwithnall/malcontent/-/tags
Source0: https://gitlab.freedesktop.org/pwithnall/malcontent/-/archive/%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: 744beb9479f6223da7e295036f6c9923
+# Source0-md5: 73da309a284e6cfda92e4b9343d74d02
+%define gvdb_ref 466fc22016cf0981424e7121557611942191992f
+Source1: https://gitlab.gnome.org/GNOME/gvdb/-/archive/%{gvdb_ref}/gvdb-%{gvdb_ref}.tar.bz2
+# Source1-md5: 3b06e5aee9403c002460bbd1e76bc511
Patch0: no-cache-update.patch
+Patch1: %{name}-system-tinycdb.patch
URL: https://gitlab.freedesktop.org/pwithnall/malcontent
+# appstreamcli
+BuildRequires: AppStream >= 0.12.10
%{?with_gui:BuildRequires: AppStream-devel >= 0.12.10}
-%{?with_gui:BuildRequires: accountsservice-devel >= 0.6.39}
-# appstream-util in malcontent-control/meson.build
-BuildRequires: appstream-glib >= 0.7.15
+%{?with_gui:BuildRequires: accountsservice-devel >= 0.6.55}
BuildRequires: dbus-devel
BuildRequires: flatpak-devel
+BuildRequires: gcc >= 6:4.7
BuildRequires: gettext-tools
-BuildRequires: glib2-devel >= 1:2.60.1
+BuildRequires: gi-docgen
+BuildRequires: glib2-devel >= 1:2.62
+BuildRequires: gnome-desktop4-devel >= 42
BuildRequires: gobject-introspection-devel
%{?with_gui:BuildRequires: gtk4-devel >= 4.12}
+BuildRequires: json-glib-devel
%{?with_gui:BuildRequires: libadwaita-devel >= 1.6}
BuildRequires: libglib-testing-devel
-BuildRequires: meson >= 1.2.0
+BuildRequires: libgsystemservice-devel >= 0.3.0
+BuildRequires: libsoup3-devel >= 3.0
+BuildRequires: meson >= 1.3.0
BuildRequires: ninja >= 1.5
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: polkit-devel
+BuildRequires: rpm-build >= 4.6
BuildRequires: rpmbuild(macros) >= 2.042
BuildRequires: sed >= 4.0
-%if %{with gui}
-Requires: accountsservice >= 0.6.39
-Requires: libmalcontent-ui = %{version}-%{release}
-%endif
+BuildRequires: tinycdb-devel >= 0.81
+Requires: accountsservice >= 0.6.55
+Requires: libgsystemservice >= 0.3.0
Requires: python3-pygobject3 >= 3
+Provides: group(malcontent-timer-ext-agent)
+Provides: group(malcontent-timerd)
+Provides: group(malcontent-webd)
+Provides: user(malcontent-timer-ext-agent)
+Provides: user(malcontent-timerd)
+Provides: user(malcontent-webd)
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
@@ -57,11 +73,28 @@ korzystającego z systemu, a konta administratora dla rodziców; treścią
filtrowaną będą aplikacje niewłaściwe dla dzieci ze względu np. na
przemoc.
+%package control
+Summary: Parental Controls user interface
+Summary(pl.UTF-8): Interfejs użytkownika kontroli rodzicielskiej
+Group: X11/Applications
+Requires: %{name} = %{version}-%{release}
+Requires: libmalcontent-ui = %{version}-%{release}
+
+%description control
+User interface to set parental controls and monitor usage by users.
+
+%description control -l pl.UTF-8
+Interfejs użytkownika do konfiguracji kontroli rodzicielskiej oraz
+monitorowania działań użytkowników.
+
%package -n libmalcontent
Summary: Library providing access to parental control settings
Summary(pl.UTF-8): Biblioteka zapewniająca dostęp do ustawień kontroli rodzicielskiej
Group: Libraries
-Requires: glib2 >= 1:2.60.1
+Requires: accountsservice-libs >= 0.6.55
+Requires: glib2 >= 1:2.62
+# for NSS
+Requires: tinycdb >= 0.81
%description -n libmalcontent
Library providing access to parental control settings.
@@ -73,8 +106,9 @@ Biblioteka zapewniająca dostęp do ustawień kontroli rodzicielskiej.
Summary: Header files for libmalcontent library
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libmalcontent
Group: Development/Libraries
+Requires: accountsservice-devel >= 0.6.55
Requires: libmalcontent = %{version}-%{release}
-Requires: glib2-devel >= 1:2.60.1
+Requires: glib2-devel >= 1:2.62
%description -n libmalcontent-devel
Header files for libmalcontent library.
@@ -94,12 +128,23 @@ Static libmalcontent library.
%description -n libmalcontent-static -l pl.UTF-8
Statyczna biblioteka libmalcontent.
+%package -n libmalcontent-apidocs
+Summary: API documentation for libmalcontent library
+Summary(pl.UTF-8): Dokumentacja API biblioteki libmalcontent
+Group: Documentation
+BuildArch: noarch
+
+%description -n libmalcontent-apidocs
+API documentation for libmalcontent library.
+
+%description -n libmalcontent-apidocs -l pl.UTF-8
+Dokumentacja API biblioteki libmalcontent.
+
%package -n libmalcontent-ui
Summary: Library providing widgets for parental control settings
Summary(pl.UTF-8): Biblioteka zapewniająca kontrolki do ustawień kontroli rodzicielskiej
Group: Libraries
Requires: AppStream >= 0.12.10
-Requires: accountsservice-libs >= 0.6.39
Requires: gtk4 >= 4.12
Requires: libadwaita >= 1.6
Requires: libmalcontent = %{version}-%{release}
@@ -117,7 +162,6 @@ Group: Development/Libraries
Requires: AppStream-devel >= 0.12.10
Requires: libmalcontent-devel = %{version}-%{release}
Requires: libmalcontent-ui = %{version}-%{release}
-Requires: accountsservice-devel >= 0.6.39
Requires: flatpak-devel
Requires: gtk4-devel >= 4.12
Requires: libadwaita-devel >= 1.6
@@ -140,9 +184,24 @@ Static libmalcontent-ui library.
%description -n libmalcontent-ui-static -l pl.UTF-8
Statyczna biblioteka libmalcontent-ui.
+%package -n libmalcontent-ui-apidocs
+Summary: API documentation for libmalcontent-ui library
+Summary(pl.UTF-8): Dokumentacja API biblioteki libmalcontent-ui
+Group: Documentation
+BuildArch: noarch
+
+%description -n libmalcontent-ui-apidocs
+API documentation for libmalcontent-ui library.
+
+%description -n libmalcontent-ui-apidocs -l pl.UTF-8
+Dokumentacja API biblioteki libmalcontent-ui.
+
%prep
%setup -q
%patch -P0 -p1
+%patch -P1 -p1
+
+%{__tar} xf %{SOURCE1} -C subprojects/gvdb --strip-components=1
%{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' malcontent-client/malcontent-client.py
@@ -159,15 +218,42 @@ rm -rf $RPM_BUILD_ROOT
%meson_install
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/libnss_malcontent.so* $RPM_BUILD_ROOT/%{_lib}
+
%if %{without gui}
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/{accountsservice,help,polkit-1}
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/com.endlessm.ParentalControls.*.xml
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/{help,polkit-1}
%endif
-%find_lang %{name} %{?with_gui:--with-gnome}
+install -d $RPM_BUILD_ROOT%{_gidocdir}
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/{libmalcontent-0,libmalcontent-ui-1} $RPM_BUILD_ROOT%{_gidocdir}
+
+%find_lang %{name}
+%if %{with gui}
+%find_lang %{name} --with-gnome --without-mo -o %{name}-control.lang
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
+%pre
+%groupadd -g 361 malcontent-timerd
+%groupadd -g 362 malcontent-timer-ext-agent
+%groupadd -g 363 malcontent-webd
+%useradd -u 361 -d /usr/share/empty -g malcontent-timerd -c "Malcontent Timer Daemon" malcontent-timerd
+%useradd -u 362 -d /usr/share/empty -g malcontent-timer-ext-agent -c "Malcontent Timer Extension Agent" malcontent-timer-ext-agent
+%useradd -u 363 -d /usr/share/empty -g malcontent-webd -c "Malcontent Web Filtering Daemon" malcontent-webd
+
+%postun
+if [ "$1" = "0" ]; then
+ %userremove malcontent-timerd
+ %userremove malcontent-timer-ext-agent
+ %userremove malcontent-webd
+ %groupremove malcontent-timerd
+ %groupremove malcontent-timer-ext-agent
+ %groupremove malcontent-webd
+fi
+
%post -n libmalcontent -p /sbin/ldconfig
%postun -n libmalcontent -p /sbin/ldconfig
@@ -178,11 +264,37 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%doc NEWS README.md
%attr(755,root,root) %{_bindir}/malcontent-client
-%attr(755,root,root) /%{_lib}/security/pam_malcontent.so
+%attr(755,root,root) %{_libexecdir}/malcontent-timer-extension-agent
+%attr(755,root,root) %{_libexecdir}/malcontent-timerd
+%attr(755,root,root) %{_libexecdir}/malcontent-webd
+%attr(755,root,root) %{_libexecdir}/malcontent-webd-update
+/%{_lib}/security/pam_malcontent.so
+%{systemdunitdir}/malcontent-timer-extension-agent.service
+%{systemdunitdir}/malcontent-timerd.service
+%{systemdunitdir}/malcontent-webd-update.service
+%{systemdunitdir}/malcontent-webd-update.timer
+%{systemdunitdir}/malcontent-webd.service
+%{_sysusersdir}/malcontent-timer-extension-agent.conf
+%{_sysusersdir}/malcontent-timerd.conf
+%{_sysusersdir}/malcontent-webd.conf
+%{_datadir}/accountsservice/interfaces/org.freedesktop.Malcontent.WebFilter.xml
%{_datadir}/dbus-1/interfaces/com.endlessm.ParentalControls.*.xml
+%{_datadir}/dbus-1/interfaces/org.freedesktop.Malcontent.WebFilter.xml
+%{_datadir}/dbus-1/services/org.freedesktop.MalcontentControl.service
+%{_datadir}/dbus-1/system-services/org.freedesktop.MalcontentTimer1.ExtensionAgent.service
+%{_datadir}/dbus-1/system-services/org.freedesktop.MalcontentTimer1.service
+%{_datadir}/dbus-1/system-services/org.freedesktop.MalcontentWeb1.service
+%{_datadir}/dbus-1/system.d/org.freedesktop.MalcontentTimer1.ExtensionAgent.conf
+%{_datadir}/dbus-1/system.d/org.freedesktop.MalcontentTimer1.conf
+%{_datadir}/dbus-1/system.d/org.freedesktop.MalcontentWeb1.conf
%{_mandir}/man8/malcontent-client.8*
+%{_mandir}/man8/malcontent-timer-extension-agent.8*
+%{_mandir}/man8/malcontent-timerd.8*
+%{_mandir}/man8/malcontent-webd.8*
%if %{with gui}
+%files control -f %{name}-control.lang
+%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/malcontent-control
%{_datadir}/accountsservice/interfaces/com.endlessm.ParentalControls.*.xml
%{_datadir}/metainfo/org.freedesktop.MalcontentControl.metainfo.xml
@@ -196,13 +308,14 @@ rm -rf $RPM_BUILD_ROOT
%files -n libmalcontent
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libmalcontent-0.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmalcontent-0.so.0
+%{_libdir}/libmalcontent-0.so.*.*.*
+%ghost %{_libdir}/libmalcontent-0.so.0
%{_libdir}/girepository-1.0/Malcontent-0.typelib
+/%{_lib}/libnss_malcontent.so*
%files -n libmalcontent-devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libmalcontent-0.so
+%{_libdir}/libmalcontent-0.so
%{_includedir}/malcontent-0
%{_datadir}/gir-1.0/Malcontent-0.gir
%{_pkgconfigdir}/malcontent-0.pc
@@ -213,16 +326,20 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/libmalcontent-0.a
%endif
+%files -n libmalcontent-apidocs
+%defattr(644,root,root,755)
+%{_gidocdir}/libmalcontent-0
+
%if %{with gui}
%files -n libmalcontent-ui
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libmalcontent-ui-1.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libmalcontent-ui-1.so.1
+%{_libdir}/libmalcontent-ui-1.so.*.*.*
+%ghost %{_libdir}/libmalcontent-ui-1.so.1
%{_libdir}/girepository-1.0/MalcontentUi-1.typelib
%files -n libmalcontent-ui-devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libmalcontent-ui-1.so
+%{_libdir}/libmalcontent-ui-1.so
%{_includedir}/malcontent-ui-1
%{_datadir}/gir-1.0/MalcontentUi-1.gir
%{_pkgconfigdir}/malcontent-ui-1.pc
@@ -233,3 +350,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/libmalcontent-ui-1.a
%endif
%endif
+
+%files -n libmalcontent-ui-apidocs
+%defattr(644,root,root,755)
+%{_gidocdir}/libmalcontent-ui-1
diff --git a/malcontent-system-tinycdb.patch b/malcontent-system-tinycdb.patch
new file mode 100644
index 0000000..7abd1ab
--- /dev/null
+++ b/malcontent-system-tinycdb.patch
@@ -0,0 +1,24 @@
+--- malcontent-0.14.0/meson.build.orig 2026-05-23 07:19:57.798291658 +0200
++++ malcontent-0.14.0/meson.build 2026-05-23 07:20:42.441383139 +0200
+@@ -163,9 +163,7 @@ libgsystemservice_dep = dependency('gsys
+ subproject('gvdb', default_options: {'tests': false})
+ gvdb_dep = dependency('gvdb')
+
+-# We need to build tinycdb as a subproject so we can use its static library;
+-# distributions don’t seem to package the static library.
+-subproject('tinycdb', required: true)
++libcdb_dep = dependency('libcdb')
+
+ # Keep in sync with GTK and libadwaita version dependencies below
+ add_project_arguments([
+--- malcontent-0.14.0/nss/meson.build.orig 2026-05-23 07:21:48.061027647 +0200
++++ malcontent-0.14.0/nss/meson.build 2026-05-23 07:22:03.184279051 +0200
+@@ -7,7 +7,7 @@ libnss_malcontent_sources = [
+ ]
+
+ libnss_malcontent_dependencies = [
+- dependency('libcdb', static: true),
++ dependency('libcdb'),
+ ]
+
+ libnss_malcontent = shared_library('nss_malcontent',
diff --git a/no-cache-update.patch b/no-cache-update.patch
index 767339a..4830275 100644
--- a/no-cache-update.patch
+++ b/no-cache-update.patch
@@ -1,6 +1,6 @@
---- malcontent-0.12.0/meson.build.orig 2024-03-15 17:31:26.000000000 +0100
-+++ malcontent-0.12.0/meson.build 2024-04-19 13:30:18.988216018 +0200
-@@ -154,8 +154,8 @@
+--- malcontent-0.14.0/meson.build.orig 2026-03-18 16:08:50.000000000 +0100
++++ malcontent-0.14.0/meson.build 2026-05-22 18:46:06.258517238 +0200
+@@ -203,8 +203,8 @@ if get_option('ui').enabled()
subdir('malcontent-control')
gnome.post_install(
@@ -10,4 +10,4 @@
+ update_desktop_database: false,
)
endif
- subdir('pam')
+ subdir('malcontent-timerd')
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/malcontent.git/commitdiff/bc944b2aa253814932c200b51ce1f9d2c461f38f
More information about the pld-cvs-commit
mailing list