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: 04565d421f7db278e2fb60c1ed414b5c
16 URL: https://gitlab.freedesktop.org/pwithnall/malcontent
17 %{?with_gui:BuildRequires: accountsservice-devel >= 0.6.39}
18 BuildRequires: appstream-glib-devel >= 0.7.15
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: appstream-glib >= 0.7.15
99 Requires: gtk+3 >= 3.24
100 Requires: libmalcontent = %{version}-%{release}
102 %description -n libmalcontent-ui
103 Library providing widgets for parental control settings.
105 %description -n libmalcontent-ui -l pl.UTF-8
106 Biblioteka zapewniająca kontrolki do ustawień kontroli rodzicielskiej.
108 %package -n libmalcontent-ui-devel
109 Summary: Header files for libmalcontent-ui library
110 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libmalcontent-ui
111 Group: Development/Libraries
112 Requires: libmalcontent-devel = %{version}-%{release}
113 Requires: libmalcontent-ui = %{version}-%{release}
114 Requires: accountsservice-devel >= 0.6.39
115 Requires: appstream-glib-devel >= 0.7.15
116 Requires: flatpak-devel
117 Requires: gtk+3-devel >= 3.24
119 %description -n libmalcontent-ui-devel
120 Header files for libmalcontent-ui library.
122 %description -n libmalcontent-ui-devel -l pl.UTF-8
123 Pliki nagłówkowe biblioteki libmalcontent-ui.
125 %package -n libmalcontent-ui-static
126 Summary: Static libmalcontent-ui library
127 Summary(pl.UTF-8): Statyczna biblioteka libmalcontent-ui
128 Group: Development/Libraries
129 Requires: libmalcontent-ui-devel = %{version}-%{release}
131 %description -n libmalcontent-ui-static
132 Static libmalcontent-ui library.
134 %description -n libmalcontent-ui-static -l pl.UTF-8
135 Statyczna biblioteka libmalcontent-ui.
140 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' malcontent-client/malcontent-client.py
144 %{!?with_static_libs:--default-library=shared} \
145 -Dpamlibdir=/%{_lib}/security \
146 %{!?with_gui:-Dui=disabled}
148 %ninja_build -C build
151 rm -rf $RPM_BUILD_ROOT
153 %ninja_install -C build
156 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/{accountsservice,help,polkit-1}
159 %find_lang %{name} %{?with_gui:--with-gnome}
162 rm -rf $RPM_BUILD_ROOT
164 %post -n libmalcontent -p /sbin/ldconfig
165 %postun -n libmalcontent -p /sbin/ldconfig
167 %post -n libmalcontent-ui -p /sbin/ldconfig
168 %postun -n libmalcontent-ui -p /sbin/ldconfig
170 %files -f %{name}.lang
171 %defattr(644,root,root,755)
173 %attr(755,root,root) %{_bindir}/malcontent-client
174 %attr(755,root,root) /%{_lib}/security/pam_malcontent.so
175 %{_datadir}/dbus-1/interfaces/com.endlessm.ParentalControls.*.xml
176 %{_mandir}/man8/malcontent-client.8*
179 %attr(755,root,root) %{_bindir}/malcontent-control
180 %{_datadir}/accountsservice/interfaces/com.endlessm.ParentalControls.*.xml
181 %{_datadir}/metainfo/org.freedesktop.MalcontentControl.appdata.xml
182 %{_datadir}/polkit-1/actions/com.endlessm.ParentalControls.policy
183 %{_datadir}/polkit-1/actions/org.freedesktop.MalcontentControl.policy
184 %{_datadir}/polkit-1/rules.d/com.endlessm.ParentalControls.rules
185 %{_desktopdir}/org.freedesktop.MalcontentControl.desktop
186 %{_iconsdir}/hicolor/scalable/apps/org.freedesktop.MalcontentControl.svg
187 %{_iconsdir}/hicolor/symbolic/apps/org.freedesktop.MalcontentControl-symbolic.svg
190 %files -n libmalcontent
191 %defattr(644,root,root,755)
192 %attr(755,root,root) %{_libdir}/libmalcontent-0.so.*.*.*
193 %attr(755,root,root) %ghost %{_libdir}/libmalcontent-0.so.0
194 %{_libdir}/girepository-1.0/Malcontent-0.typelib
196 %files -n libmalcontent-devel
197 %defattr(644,root,root,755)
198 %attr(755,root,root) %{_libdir}/libmalcontent-0.so
199 %{_includedir}/malcontent-0
200 %{_datadir}/gir-1.0/Malcontent-0.gir
201 %{_pkgconfigdir}/malcontent-0.pc
203 %if %{with static_libs}
204 %files -n libmalcontent-static
205 %defattr(644,root,root,755)
206 %{_libdir}/libmalcontent-0.a
210 %files -n libmalcontent-ui
211 %defattr(644,root,root,755)
212 %attr(755,root,root) %{_libdir}/libmalcontent-ui-0.so.*.*.*
213 %attr(755,root,root) %ghost %{_libdir}/libmalcontent-ui-0.so.0
214 %{_libdir}/girepository-1.0/MalcontentUi-0.typelib
216 %files -n libmalcontent-ui-devel
217 %defattr(644,root,root,755)
218 %attr(755,root,root) %{_libdir}/libmalcontent-ui-0.so
219 %{_includedir}/malcontent-ui-0
220 %{_datadir}/gir-1.0/MalcontentUi-0.gir
221 %{_pkgconfigdir}/malcontent-ui-0.pc
223 %if %{with static_libs}
224 %files -n libmalcontent-ui-static
225 %defattr(644,root,root,755)
226 %{_libdir}/libmalcontent-ui-0.a