]>
Commit | Line | Data |
---|---|---|
1 | # TODO: | |
2 | # - BASH command-not-found functionality disabled for now as it needs patched bash | |
3 | # (details in bash from Fedora Rawhide) | |
4 | # - do not package browser plugin (it's flawed by concept) | |
5 | # - package: gir stuff (invert bcond if works) | |
6 | # /usr/lib/girepository-1.0/PackageKitGlib-1.0.typelib | |
7 | # /usr/share/gir-1.0/PackageKitGlib-1.0.gir | |
8 | # - todo: | |
9 | # configure: WARNING: unrecognized options: --disable-ruck | |
10 | # | |
11 | # Conditional build: | |
12 | %bcond_without qt # don't build packagekit-qt library | |
13 | %bcond_without doc # build without docs | |
14 | %bcond_with gir # gobject introspection, time to time broken | |
15 | %bcond_without poldek # build poldek backend | |
16 | %bcond_without yum # build yum backend | |
17 | ||
18 | # default backend, configurable at runtime | |
19 | %define backend poldek | |
20 | ||
21 | Summary: System daemon that is a D-Bus abstraction layer for package management | |
22 | Summary(pl.UTF-8): Demon systemowy będący warstwą abstrakcji D-Bus do zarządzania pakietami | |
23 | Name: PackageKit | |
24 | Version: 0.6.8 | |
25 | Release: 3 | |
26 | License: GPL v2+ | |
27 | Group: Applications/System | |
28 | Source0: http://www.packagekit.org/releases/%{name}-%{version}.tar.bz2 | |
29 | # Source0-md5: 47987b91826bd522de1202d5a1e2510d | |
30 | Patch1: %{name}-PLD.patch | |
31 | Patch2: bashism.patch | |
32 | URL: http://www.packagekit.org/ | |
33 | BuildRequires: NetworkManager-devel >= 0.6.5 | |
34 | %if %{with qt} | |
35 | BuildRequires: QtCore-devel >= 4.4.0 | |
36 | BuildRequires: QtDBus-devel >= 4.4.0 | |
37 | BuildRequires: QtGui-devel >= 4.4.0 | |
38 | BuildRequires: QtSql-devel >= 4.4.0 | |
39 | BuildRequires: QtXml-devel >= 4.4.0 | |
40 | %endif | |
41 | BuildRequires: autoconf >= 2.65 | |
42 | BuildRequires: automake | |
43 | %{?with_qt:BuildRequires: cppunit-devel} | |
44 | BuildRequires: dbus-devel >= 1.2.0 | |
45 | BuildRequires: dbus-glib-devel >= 0.76 | |
46 | BuildRequires: docbook-dtd412-xml | |
47 | BuildRequires: docbook-dtd42-xml | |
48 | BuildRequires: gettext-devel | |
49 | BuildRequires: glib2-devel >= 1:2.22.0 | |
50 | BuildRequires: gstreamer-plugins-base-devel | |
51 | BuildRequires: gtk+2-devel >= 2:2.14.0 | |
52 | %{?with_doc:BuildRequires: gtk-doc >= 1.9} | |
53 | BuildRequires: intltool >= 0.35.0 | |
54 | BuildRequires: libarchive-devel | |
55 | BuildRequires: libtool | |
56 | BuildRequires: pkgconfig | |
57 | BuildRequires: pm-utils | |
58 | %{?with_poldek:BuildRequires: poldek-devel >= 0.30-0.20080820.23.20} | |
59 | BuildRequires: polkit-devel >= 0.92 | |
60 | BuildRequires: python-devel | |
61 | %{?with_qt:BuildRequires: qt4-build >= 4.4.0} | |
62 | BuildRequires: readline-devel | |
63 | BuildRequires: rpm-pythonprov | |
64 | BuildRequires: rpmbuild(macros) >= 1.311 | |
65 | BuildRequires: sqlite3-devel | |
66 | BuildRequires: udev-glib-devel | |
67 | BuildRequires: xorg-lib-libXt-devel | |
68 | BuildRequires: xulrunner-devel | |
69 | Requires(post,postun): shared-mime-info | |
70 | Requires: %{name}-backend | |
71 | Requires: %{name}-libs = %{version}-%{release} | |
72 | Requires: ConsoleKit | |
73 | Requires: crondaemon | |
74 | Requires: polkit >= 0.92 | |
75 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
76 | ||
77 | %description | |
78 | PackageKit is a D-Bus abstraction layer that allows the session user | |
79 | to manage packages in a secure way using a cross-distro, | |
80 | cross-architecture API. | |
81 | ||
82 | %description -l pl.UTF-8 | |
83 | PackageKit to warstwa abstrakcji D-Bus pozwalająca użytkownikowi | |
84 | sesyjnemu w bezpieczny sposob zarządzać pakietami przy użyciu API | |
85 | zgodnego z wieloma dystrybucjami i architekturami. | |
86 | ||
87 | %package libs | |
88 | Summary: packagekit-glib library | |
89 | Summary(pl.UTF-8): Biblioteka packagekit-glib | |
90 | Group: Libraries | |
91 | Requires: glib2 >= 1:2.22.0 | |
92 | ||
93 | %description libs | |
94 | packagekit-glib library. | |
95 | ||
96 | %description libs -l pl.UTF-8 | |
97 | Biblioteka packagekit-glib. | |
98 | ||
99 | %package devel | |
100 | Summary: Header files for packagekit-glib library | |
101 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki packagekit-glib | |
102 | Group: Development/Libraries | |
103 | Requires: %{name}-libs = %{version}-%{release} | |
104 | Requires: dbus-devel >= 1.2.0 | |
105 | Requires: glib2-devel >= 1:2.22.0 | |
106 | Requires: sqlite3-devel | |
107 | ||
108 | %description devel | |
109 | Header files for packagekit-glib library. | |
110 | ||
111 | %description devel -l pl.UTF-8 | |
112 | Pliki nagłówkowe biblioteki packagekit-glib. | |
113 | ||
114 | %package static | |
115 | Summary: Static packagekit-glib library | |
116 | Summary(pl.UTF-8): Statyczna biblioteka packagekit-glib | |
117 | Group: Development/Libraries | |
118 | Requires: %{name}-devel = %{version}-%{release} | |
119 | ||
120 | %description static | |
121 | Static packagekit-glib library. | |
122 | ||
123 | %description static -l pl.UTF-8 | |
124 | Statyczna biblioteka packagekit-glib. | |
125 | ||
126 | %package backend-yum | |
127 | Summary: PackageKit YUM backend | |
128 | Group: Libraries | |
129 | Requires: %{name} = %{version}-%{release} | |
130 | Requires: python-packagekit = %{version}-%{release} | |
131 | Requires: yum >= 3.2.19 | |
132 | Provides: %{name}-backend | |
133 | ||
134 | %description backend-yum | |
135 | A backend for PackageKit to enable yum functionality. | |
136 | ||
137 | %package backend-poldek | |
138 | Summary: PackageKit Poldek backend | |
139 | Group: Libraries | |
140 | Requires: %{name} = %{version}-%{release} | |
141 | Requires: poldek >= 0.30-0.20080820.23.20} | |
142 | Provides: %{name}-backend | |
143 | Conflicts: %{name} < 0.6.8-3 | |
144 | ||
145 | %description backend-poldek | |
146 | A backend for PackageKit to enable Poldek functionality. | |
147 | ||
148 | %package qt | |
149 | Summary: packagekit-qt library | |
150 | Summary(pl.UTF-8): Biblioteka packagekit-qt | |
151 | Group: Libraries | |
152 | Obsoletes: qpackagekit | |
153 | ||
154 | %description qt | |
155 | packagekit-qt library. | |
156 | ||
157 | %description qt -l pl.UTF-8 | |
158 | Biblioteka packagekit-qt. | |
159 | ||
160 | %package qt-devel | |
161 | Summary: Header files for packagekit-qt library | |
162 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki packagekit-qt | |
163 | Group: Development/Libraries | |
164 | Requires: %{name}-qt = %{version}-%{release} | |
165 | Requires: QtCore-devel >= 4.4.0 | |
166 | Requires: QtDBus-devel >= 4.4.0 | |
167 | Requires: QtGui-devel >= 4.4.0 | |
168 | Requires: QtSql-devel >= 4.4.0 | |
169 | Requires: QtXml-devel >= 4.4.0 | |
170 | Obsoletes: qpackagekit-devel | |
171 | ||
172 | %description qt-devel | |
173 | Header files for packagekit-qt library. | |
174 | ||
175 | %description qt-devel -l pl.UTF-8 | |
176 | Pliki nagłówkowe biblioteki packagekit-qt. | |
177 | ||
178 | %package qt-static | |
179 | Summary: Static packagekit-qt library | |
180 | Summary(pl.UTF-8): Statyczna biblioteka packagekit-qt | |
181 | Group: Development/Libraries | |
182 | Requires: %{name}-qt-devel = %{version}-%{release} | |
183 | ||
184 | %description qt-static | |
185 | Static packagekit-qt library. | |
186 | ||
187 | %description qt-static -l pl.UTF-8 | |
188 | Statyczna biblioteka packagekit-qt. | |
189 | ||
190 | %package apidocs | |
191 | Summary: PackageKit library API documentation | |
192 | Summary(pl.UTF-8): Dokumentacja API biblioteki PackageKit | |
193 | Group: Documentation | |
194 | Requires: gtk-doc-common | |
195 | ||
196 | %description apidocs | |
197 | PackageKit library API documentation. | |
198 | ||
199 | %description apidocs -l pl.UTF-8 | |
200 | Dokumentacja API biblioteki PackageKit. | |
201 | ||
202 | %package docs | |
203 | Summary: PackageKit documentation | |
204 | Summary(pl.UTF-8): Dokumentacja PackageKit | |
205 | Group: Documentation | |
206 | ||
207 | %description docs | |
208 | PackageKit documentation. | |
209 | ||
210 | %description docs -l pl.UTF-8 | |
211 | Dokumentacja PackageKit. | |
212 | ||
213 | %package gstreamer-plugin | |
214 | Summary: GStreamer codecs installer | |
215 | Summary(pl.UTF-8): Instalator kodeków GStreamera | |
216 | Group: Applications | |
217 | Requires: %{name} = %{version}-%{release} | |
218 | Requires: %{name}-gtk-module = %{version}-%{release} | |
219 | ||
220 | %description gstreamer-plugin | |
221 | The PackageKit GStreamer plugin allows any GStreamer application to | |
222 | install codecs from configured repositories using PackageKit. | |
223 | ||
224 | %description gstreamer-plugin -l pl.UTF-8 | |
225 | Wtyczka GStreamer pozwala każdej aplikacji używającej GStreamera | |
226 | zainstalować kodeki ze skonfigurowanych źródeł PackageKit. | |
227 | ||
228 | %package gtk-module | |
229 | Summary: GTK+ module to detect and install missing fonts | |
230 | Summary(pl.UTF-8): Moduł GTK+ do wykrywania i instalowania brakujących czcionek | |
231 | Group: X11/Libraries | |
232 | ||
233 | %description gtk-module | |
234 | The PackageKit GTK+ module allows any pango application to install | |
235 | missing fonts from configured repositories using PackageKit. | |
236 | ||
237 | %description gtk-module -l pl.UTF-8 | |
238 | Moduł GTK+ pozwala każdej aplikacji używającej pango zainstalować | |
239 | brakującą czcionkę ze skonfigurowanych źródeł PackageKit. | |
240 | ||
241 | %package -n bash-completion-packagekit | |
242 | Summary: bash-completion for PackageKit | |
243 | Summary(pl.UTF-8): bashowe uzupełnianie nazw dla PackageKit | |
244 | Group: Applications/Shells | |
245 | Requires: bash-completion | |
246 | ||
247 | %description -n bash-completion-packagekit | |
248 | This package provides bash-completion for PackageKit. | |
249 | ||
250 | %description -n bash-completion-packagekit -l pl.UTF-8 | |
251 | Pakiet ten dostarcza bashowe uzupełnianie nazw dla PackageKit. | |
252 | ||
253 | %package -n pm-utils-packagekit | |
254 | Summary: PackageKit script for pm-utils | |
255 | Summary(pl.UTF-8): Skrypt PackageKit dla pm-utils | |
256 | Group: Applications/System | |
257 | Requires: pm-utils | |
258 | ||
259 | %description -n pm-utils-packagekit | |
260 | PackageKit script for pm-utils. | |
261 | ||
262 | %description -n pm-utils-packagekit -l pl.UTF-8 | |
263 | Skrypt PackageKit dla pm-utils. | |
264 | ||
265 | %package -n python-packagekit | |
266 | Summary: PackageKit Python bindings | |
267 | Summary(pl.UTF-8): Wiązania PackageKit dla Pythona | |
268 | Group: Development/Languages/Python | |
269 | Requires: python-dbus | |
270 | Requires: python-pygobject | |
271 | ||
272 | %description -n python-packagekit | |
273 | PackageKit Python bindings. | |
274 | ||
275 | %description -n python-packagekit -l pl.UTF-8 | |
276 | Wiązania PackageKit dla Pythona. | |
277 | ||
278 | %prep | |
279 | %setup -q | |
280 | %patch1 -p1 | |
281 | %patch2 -p1 | |
282 | ||
283 | %build | |
284 | %if %{with doc} | |
285 | %{__gtkdocize} | |
286 | %endif | |
287 | %{__intltoolize} | |
288 | %{__libtoolize} | |
289 | %{__aclocal} -I m4 | |
290 | %{__autoconf} | |
291 | %{__autoheader} | |
292 | %{__automake} | |
293 | %configure \ | |
294 | --disable-dummy \ | |
295 | --disable-ruck \ | |
296 | --disable-command-not-found \ | |
297 | --disable-browser-plugin \ | |
298 | %{!?with_gir:--disable-introspection} \ | |
299 | %{?with_poldek:--enable-poldek} \ | |
300 | %{?with_yum:--enable-yum} \ | |
301 | --%{!?with_doc:dis}%{?with_doc:en}able-gtk-doc \ | |
302 | --%{?with_qt:en}%{!?with_qt:dis}able-qt \ | |
303 | --with-html-dir=%{_gtkdocdir} \ | |
304 | --with-default-backend=%{backend} | |
305 | %{__make} | |
306 | ||
307 | %install | |
308 | rm -rf $RPM_BUILD_ROOT | |
309 | ||
310 | %{__make} install \ | |
311 | DESTDIR=$RPM_BUILD_ROOT | |
312 | ||
313 | # use pk-gstreamer-install as codec installer | |
314 | ln -s pk-gstreamer-install $RPM_BUILD_ROOT%{_libdir}/gst-install-plugins-helper | |
315 | ||
316 | install -d $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d | |
317 | install -p contrib/pm-utils/95packagekit $RPM_BUILD_ROOT%{_libdir}/pm-utils/sleep.d | |
318 | ||
319 | rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.{la,a} | |
320 | rm -f $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/*.{la,a} | |
321 | rm -f $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/*.{la,a} | |
322 | rm -f $RPM_BUILD_ROOT%{_libdir}/packagekit-backend/libpk_backend_test_*.so | |
323 | rm -f $RPM_BUILD_ROOT%{_libdir}/polkit-1/extensions/*.{la,a} | |
324 | rm -f $RPM_BUILD_ROOT%{_libdir}/PackageKitDbusTest.py | |
325 | rm -f $RPM_BUILD_ROOT%{_sysconfdir}/dbus-1/system.d/org.freedesktop.PackageKit{Apt,Test}Backend.conf | |
326 | rm -f $RPM_BUILD_ROOT%{_datadir}/dbus-1/system-services/org.freedesktop.PackageKit{Apt,Test}Backend.service | |
327 | rm -rf $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/test_spawn | |
328 | ||
329 | %if %{with yum} | |
330 | # yumBackend.py can't be compiled (invoked directly), other should be compiled | |
331 | %py_comp $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum | |
332 | %py_ocomp $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum | |
333 | rm -f $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum/yum{Comps,Filter}.py | |
334 | rm -f $RPM_BUILD_ROOT%{_datadir}/PackageKit/helpers/yum/yumBackend.py[co] | |
335 | %endif | |
336 | ||
337 | %py_postclean | |
338 | ||
339 | %find_lang %{name} | |
340 | ||
341 | %clean | |
342 | rm -rf $RPM_BUILD_ROOT | |
343 | ||
344 | %post | |
345 | %update_mime_database | |
346 | ||
347 | %postun | |
348 | %update_mime_database | |
349 | ||
350 | %post libs -p /sbin/ldconfig | |
351 | %postun libs -p /sbin/ldconfig | |
352 | ||
353 | %post qt -p /sbin/ldconfig | |
354 | %postun qt -p /sbin/ldconfig | |
355 | ||
356 | %files -f %{name}.lang | |
357 | %defattr(644,root,root,755) | |
358 | %doc AUTHORS ChangeLog HACKING NEWS README TODO | |
359 | %attr(755,root,root) %{_bindir}/packagekit-bugreport.sh | |
360 | %attr(755,root,root) %{_bindir}/pkcon | |
361 | %attr(755,root,root) %{_bindir}/pkgenpack | |
362 | %attr(755,root,root) %{_bindir}/pkmon | |
363 | %attr(755,root,root) %{_bindir}/pk-debuginfo-install | |
364 | %attr(750,root,root) /etc/cron.daily/packagekit-background.cron | |
365 | %dir %{_libdir}/packagekit-backend | |
366 | %attr(755,root,root) %{_libdir}/polkit-1/extensions/libpackagekit-action-lookup.so | |
367 | %attr(755,root,root) %{_libdir}/packagekitd | |
368 | %attr(755,root,root) %{_sbindir}/pk-device-rebind | |
369 | %dir %{_sysconfdir}/PackageKit | |
370 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/PackageKit.conf | |
371 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/Vendor.conf | |
372 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/packagekit-background | |
373 | /etc/dbus-1/system.d/org.freedesktop.PackageKit.conf | |
374 | %dir %{_datadir}/PackageKit | |
375 | %dir %{_datadir}/PackageKit/helpers | |
376 | %attr(755,root,root) %{_datadir}/PackageKit/pk-upgrade-distro.sh | |
377 | %{_datadir}/polkit-1/actions/org.freedesktop.packagekit.policy | |
378 | %{_datadir}/dbus-1/system-services/org.freedesktop.PackageKit.service | |
379 | %{_datadir}/mime/packages/packagekit-catalog.xml | |
380 | %{_datadir}/mime/packages/packagekit-package-list.xml | |
381 | %{_datadir}/mime/packages/packagekit-servicepack.xml | |
382 | %{_mandir}/man1/pkcon.1* | |
383 | %{_mandir}/man1/pk-debuginfo-install.1* | |
384 | %{_mandir}/man1/pk-device-rebind.1* | |
385 | %{_mandir}/man1/pkgenpack.1* | |
386 | %{_mandir}/man1/pkmon.1* | |
387 | %dir /var/cache/PackageKit | |
388 | %dir /var/cache/PackageKit/downloads | |
389 | %dir /var/lib/PackageKit | |
390 | %ghost /var/lib/PackageKit/transactions.db | |
391 | ||
392 | %files libs | |
393 | %defattr(644,root,root,755) | |
394 | %attr(755,root,root) %{_libdir}/libpackagekit-glib2.so.*.*.* | |
395 | %attr(755,root,root) %ghost %{_libdir}/libpackagekit-glib2.so.14 | |
396 | ||
397 | %files devel | |
398 | %defattr(644,root,root,755) | |
399 | %attr(755,root,root) %{_libdir}/libpackagekit-glib2.so | |
400 | %{_libdir}/libpackagekit-glib2.la | |
401 | %{_pkgconfigdir}/packagekit-glib2.pc | |
402 | %dir %{_includedir}/PackageKit | |
403 | %{_includedir}/PackageKit/backend | |
404 | %{_includedir}/PackageKit/packagekit-glib2 | |
405 | ||
406 | %files static | |
407 | %defattr(644,root,root,755) | |
408 | %{_libdir}/libpackagekit-glib2.a | |
409 | ||
410 | %if %{with poldek} | |
411 | %files backend-poldek | |
412 | %defattr(644,root,root,755) | |
413 | %attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_poldek.so | |
414 | %endif | |
415 | ||
416 | %if %{with yum} | |
417 | %files backend-yum | |
418 | %defattr(644,root,root,755) | |
419 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PackageKit/Yum.conf | |
420 | %attr(755,root,root) %{_libdir}/packagekit-backend/libpk_backend_yum.so | |
421 | %dir %{_datadir}/PackageKit/helpers/yum | |
422 | %{_datadir}/PackageKit/helpers/yum/licenses.txt | |
423 | %{_datadir}/PackageKit/helpers/yum/yum-comps-groups.conf | |
424 | %attr(755,root,root) %{_datadir}/PackageKit/helpers/yum/yumBackend.py | |
425 | %{_datadir}/PackageKit/helpers/yum/yumComps.py[co] | |
426 | %{_datadir}/PackageKit/helpers/yum/yumFilter.py[co] | |
427 | ||
428 | # yum plugin | |
429 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/yum/pluginconf.d/refresh-packagekit.conf | |
430 | %{_prefix}/lib/yum-plugins/refresh-packagekit.py | |
431 | %endif | |
432 | ||
433 | %if %{with qt} | |
434 | %files qt | |
435 | %defattr(644,root,root,755) | |
436 | %attr(755,root,root) %{_libdir}/libpackagekit-qt.so.*.*.* | |
437 | %attr(755,root,root) %ghost %{_libdir}/libpackagekit-qt.so.14 | |
438 | ||
439 | %files qt-devel | |
440 | %defattr(644,root,root,755) | |
441 | %attr(755,root,root) %{_libdir}/libpackagekit-qt.so | |
442 | %{_libdir}/libpackagekit-qt.la | |
443 | %{_pkgconfigdir}/packagekit-qt.pc | |
444 | %{_includedir}/PackageKit/packagekit-qt | |
445 | %{_datadir}/cmake/Modules/FindQPackageKit.cmake | |
446 | ||
447 | %files qt-static | |
448 | %defattr(644,root,root,755) | |
449 | %{_libdir}/libpackagekit-qt.a | |
450 | %endif | |
451 | ||
452 | %files apidocs | |
453 | %defattr(644,root,root,755) | |
454 | %{_gtkdocdir}/PackageKit | |
455 | ||
456 | %files docs | |
457 | %defattr(644,root,root,755) | |
458 | %{_datadir}/PackageKit/website | |
459 | ||
460 | %files gstreamer-plugin | |
461 | %defattr(644,root,root,755) | |
462 | %doc contrib/gstreamer-plugin/README | |
463 | %attr(755,root,root) %{_libdir}/gst-install-plugins-helper | |
464 | %attr(755,root,root) %{_libdir}/pk-gstreamer-install | |
465 | ||
466 | %files gtk-module | |
467 | %defattr(644,root,root,755) | |
468 | %doc contrib/gtk-module/{GLASS.txt,README} | |
469 | %attr(755,root,root) %{_libdir}/gtk-2.0/modules/libpk-gtk-module.so | |
470 | ||
471 | %files -n bash-completion-packagekit | |
472 | %defattr(644,root,root,755) | |
473 | %{_sysconfdir}/bash_completion.d/pk-completion.bash | |
474 | ||
475 | %files -n pm-utils-packagekit | |
476 | %defattr(644,root,root,755) | |
477 | %attr(755,root,root) %{_libdir}/pm-utils/sleep.d/95packagekit | |
478 | ||
479 | %files -n python-packagekit | |
480 | %defattr(644,root,root,755) | |
481 | %dir %{py_sitescriptdir}/packagekit | |
482 | %{py_sitescriptdir}/packagekit/*.py[co] |