3 %bcond_without static_libs # static libraries
4 %bcond_without gui # UI library and app (disable for flatpak bootstrap)
6 Summary: Library providing access to parental control settings
7 Summary(pl.UTF-8): Biblioteka zapewniająca dostęp do ustawień kontroli rodzicielskiej
11 License: LGPL v2.1+ (library), CC-AS-SA v3.0 (docs)
13 #Source0Download: https://gitlab.freedesktop.org/pwithnall/malcontent/-/tags
14 Source0: https://gitlab.freedesktop.org/pwithnall/malcontent/-/archive/%{version}/%{name}-%{version}.tar.bz2
15 # Source0-md5: 387a7497ac331f13fcc1d49cec95cab0
16 URL: https://gitlab.freedesktop.org/pwithnall/malcontent
17 %{?with_gui:BuildRequires: accountsservice-devel >= 0.6.39}
18 BuildRequires: appstream-glib
19 BuildRequires: dbus-devel
20 BuildRequires: flatpak-devel
21 BuildRequires: gettext-tools
22 BuildRequires: glib2-devel >= 1:2.60.1
23 BuildRequires: gobject-introspection-devel
24 %{?with_gui:BuildRequires: gtk+3-devel >= 3.24}
25 BuildRequires: libglib-testing-devel
26 BuildRequires: meson >= 0.50.0
27 BuildRequires: ninja >= 1.5
28 BuildRequires: pam-devel
29 BuildRequires: pkgconfig
30 BuildRequires: polkit-devel
31 BuildRequires: rpmbuild(macros) >= 1.736
32 BuildRequires: sed >= 4.0
34 Requires: accountsservice >= 0.6.39
35 Requires: libmalcontent-ui = %{version}-%{release}
37 Requires: python3-pygobject3 >= 3
38 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41 malcontent implements support for restricting the type of content
42 accessible to non-administrator accounts on a Linux system. Typically,
43 when this is used, a non-administrator account will be for a child
44 using the system; and the administrator accounts will be for the
45 parents; and the content being filtered will be apps which are not
46 suitable for the child to use, due to (for example) being too violent.
48 %description -l pl.UTF-8
49 malcontent implementuje obsługę ograniczania rodzaju treści dostępnych
50 dla kont innych niż administrator w systemie Linux. W typowym
51 przypadku użycia konto nie-administratora będzie dla dziecka
52 korzystającego z systemu, a konta administratora dla rodziców; treścią
53 filtrowaną będą aplikacje niewłaściwe dla dzieci ze względu np. na
56 %package -n libmalcontent
57 Summary: Library providing access to parental control settings
58 Summary(pl.UTF-8): Biblioteka zapewniająca dostęp do ustawień kontroli rodzicielskiej
60 Requires: glib2 >= 1:2.60.1
62 %description -n libmalcontent
63 Library providing access to parental control settings.
65 %description -n libmalcontent -l pl.UTF-8
66 Biblioteka zapewniająca dostęp do ustawień kontroli rodzicielskiej.
68 %package -n libmalcontent-devel
69 Summary: Header files for libmalcontent library
70 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libmalcontent
71 Group: Development/Libraries
72 Requires: libmalcontent = %{version}-%{release}
73 Requires: glib2-devel >= 1:2.60.1
75 %description -n libmalcontent-devel
76 Header files for libmalcontent library.
78 %description -n libmalcontent-devel -l pl.UTF-8
79 Pliki nagłówkowe biblioteki libmalcontent.
81 %package -n libmalcontent-static
82 Summary: Static libmalcontent library
83 Summary(pl.UTF-8): Statyczna biblioteka libmalcontent
84 Group: Development/Libraries
85 Requires: libmalcontent-devel = %{version}-%{release}
87 %description -n libmalcontent-static
88 Static libmalcontent library.
90 %description -n libmalcontent-static -l pl.UTF-8
91 Statyczna biblioteka libmalcontent.
93 %package -n libmalcontent-ui
94 Summary: Library providing widgets for parental control settings
95 Summary(pl.UTF-8): Biblioteka zapewniająca kontrolki do ustawień kontroli rodzicielskiej
97 Requires: accountsservice-libs >= 0.6.39
98 Requires: gtk+3 >= 3.24
99 Requires: libmalcontent = %{version}-%{release}
101 %description -n libmalcontent-ui
102 Library providing widgets for parental control settings.
104 %description -n libmalcontent-ui -l pl.UTF-8
105 Biblioteka zapewniająca kontrolki do ustawień kontroli rodzicielskiej.
107 %package -n libmalcontent-ui-devel
108 Summary: Header files for libmalcontent-ui library
109 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libmalcontent-ui
110 Group: Development/Libraries
111 Requires: libmalcontent-devel = %{version}-%{release}
112 Requires: libmalcontent-ui = %{version}-%{release}
113 Requires: accountsservice-devel >= 0.6.39
114 Requires: flatpak-devel
115 Requires: gtk+3-devel >= 3.24
117 %description -n libmalcontent-ui-devel
118 Header files for libmalcontent-ui library.
120 %description -n libmalcontent-ui-devel -l pl.UTF-8
121 Pliki nagłówkowe biblioteki libmalcontent-ui.
123 %package -n libmalcontent-ui-static
124 Summary: Static libmalcontent-ui library
125 Summary(pl.UTF-8): Statyczna biblioteka libmalcontent-ui
126 Group: Development/Libraries
127 Requires: libmalcontent-ui-devel = %{version}-%{release}
129 %description -n libmalcontent-ui-static
130 Static libmalcontent-ui library.
132 %description -n libmalcontent-ui-static -l pl.UTF-8
133 Statyczna biblioteka libmalcontent-ui.
138 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' malcontent-client/malcontent-client.py
142 %{!?with_static_libs:--default-library=shared} \
143 -Dpamlibdir=/%{_lib}/security \
144 %{!?with_gui:-Dui=disabled}
146 %ninja_build -C build
149 rm -rf $RPM_BUILD_ROOT
151 %ninja_install -C build
154 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/{accountsservice,help,polkit-1}
157 %find_lang %{name} %{?with_gui:--with-gnome}
160 rm -rf $RPM_BUILD_ROOT
162 %post -n libmalcontent -p /sbin/ldconfig
163 %postun -n libmalcontent -p /sbin/ldconfig
165 %post -n libmalcontent-ui -p /sbin/ldconfig
166 %postun -n libmalcontent-ui -p /sbin/ldconfig
168 %files -f %{name}.lang
169 %defattr(644,root,root,755)
171 %attr(755,root,root) %{_bindir}/malcontent-client
172 %attr(755,root,root) /%{_lib}/security/pam_malcontent.so
173 %{_datadir}/dbus-1/interfaces/com.endlessm.ParentalControls.*.xml
174 %{_mandir}/man8/malcontent-client.8*
177 %attr(755,root,root) %{_bindir}/malcontent-control
178 %{_datadir}/accountsservice/interfaces/com.endlessm.ParentalControls.*.xml
179 %{_datadir}/metainfo/org.freedesktop.MalcontentControl.appdata.xml
180 %{_datadir}/polkit-1/actions/com.endlessm.ParentalControls.policy
181 %{_datadir}/polkit-1/actions/org.freedesktop.MalcontentControl.policy
182 %{_datadir}/polkit-1/rules.d/com.endlessm.ParentalControls.rules
183 %{_desktopdir}/org.freedesktop.MalcontentControl.desktop
184 %{_iconsdir}/hicolor/scalable/apps/org.freedesktop.MalcontentControl.svg
185 %{_iconsdir}/hicolor/symbolic/apps/org.freedesktop.MalcontentControl-symbolic.svg
188 %files -n libmalcontent
189 %defattr(644,root,root,755)
190 %attr(755,root,root) %{_libdir}/libmalcontent-0.so.*.*.*
191 %attr(755,root,root) %ghost %{_libdir}/libmalcontent-0.so.0
192 %{_libdir}/girepository-1.0/Malcontent-0.typelib
194 %files -n libmalcontent-devel
195 %defattr(644,root,root,755)
196 %attr(755,root,root) %{_libdir}/libmalcontent-0.so
197 %{_includedir}/malcontent-0
198 %{_datadir}/gir-1.0/Malcontent-0.gir
199 %{_pkgconfigdir}/malcontent-0.pc
201 %if %{with static_libs}
202 %files -n libmalcontent-static
203 %defattr(644,root,root,755)
204 %{_libdir}/libmalcontent-0.a
208 %files -n libmalcontent-ui
209 %defattr(644,root,root,755)
210 %attr(755,root,root) %{_libdir}/libmalcontent-ui-0.so.*.*.*
211 %attr(755,root,root) %ghost %{_libdir}/libmalcontent-ui-0.so.0
212 %{_libdir}/girepository-1.0/MalcontentUi-0.typelib
214 %files -n libmalcontent-ui-devel
215 %defattr(644,root,root,755)
216 %attr(755,root,root) %{_libdir}/libmalcontent-ui-0.so
217 %{_includedir}/malcontent-ui-0
218 %{_datadir}/gir-1.0/MalcontentUi-0.gir
219 %{_pkgconfigdir}/malcontent-ui-0.pc
221 %if %{with static_libs}
222 %files -n libmalcontent-ui-static
223 %defattr(644,root,root,755)
224 %{_libdir}/libmalcontent-ui-0.a