/[gentoo-x86]/eclass/kde4-base.eclass
Gentoo

Contents of /eclass/kde4-base.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.34 - (show annotations) (download)
Mon Apr 13 00:02:45 2009 UTC (6 years, 4 months ago) by scarabeus
Branch: MAIN
Changes since 1.33: +266 -371 lines
Update kde4 eclasses
Add back support for doc handling (now via doc useflag)
Force kdeprefix only for kde-base things (others are going unprefixed to /usr) ->
Note for this: if user find that some application is pulling [-kdeprefix] kde uninstall/install of that app should help.
Rewritten slot handling with simpler code.
Added detection and alert system for finding what aplication break sth for /usr/share/config and /usr/share/kde4 and screw up perms.
Left for next time: "Support for stable live (live packages from stable branch [shiny huh]). :]"

1 # Copyright 2007-2009 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/eclass/kde4-base.eclass,v 1.32 2009/03/11 17:40:51 scarabeus Exp $
4
5 # @ECLASS: kde4-base.eclass
6 # @MAINTAINER:
7 # kde@gentoo.org
8 # @BLURB: This eclass provides functions for kde 4.X ebuilds
9 # @DESCRIPTION:
10 # The kde4-base.eclass provides support for building KDE4 based ebuilds
11 # and KDE4 applications.
12 #
13 # NOTE: KDE 4 ebuilds by default define EAPI="2", this can be redefined but
14 # eclass will fail with version older than 2.
15
16 inherit base cmake-utils eutils kde4-functions
17
18 get_build_type
19 if [[ ${BUILD_TYPE} = live ]]; then
20 inherit subversion
21 fi
22
23 EXPORT_FUNCTIONS pkg_setup src_unpack src_prepare src_configure src_compile src_test src_install pkg_postinst pkg_postrm
24
25 # @ECLASS-VARIABLE: OPENGL_REQUIRED
26 # @DESCRIPTION:
27 # Is qt-opengl required? Possible values are 'always', 'optional' and 'never'.
28 # This variable must be set before inheriting any eclasses. Defaults to 'never'.
29 OPENGL_REQUIRED="${OPENGL_REQUIRED:-never}"
30
31 # @ECLASS-VARIABLE: WEBKIT_REQUIRED
32 # @DESCRIPTION:
33 # Is qt-webkit requred? Possible values are 'always', 'optional' and 'never'.
34 # This variable must be set before inheriting any eclasses. Defaults to 'never'.
35 WEBKIT_REQUIRED="${WEBKIT_REQUIRED:-never}"
36
37 # @ECLASS-VARIABLE: CPPUNIT_REQUIRED
38 # @DESCRIPTION:
39 # Is cppunit required for tests? Possible values are 'always', 'optional' and 'never'.
40 # This variable must be set before inheriting any eclasses. Defaults to 'never'.
41 CPPUNIT_REQUIRED="${CPPUNIT_REQUIRED:-never}"
42
43 # @ECLASS-VARIABLE: KDE_REQUIRED
44 # @DESCRIPTION:
45 # Is kde required? Possible values are 'always', 'optional' and 'never'.
46 # This variable must be set before inheriting any eclasses. Defaults to 'always'
47 # If set to always or optional, KDE_MINIMAL may be overriden as well.
48 # Note that for kde-base packages this variable is fixed to 'always'.
49 KDE_REQUIRED="${KDE_REQUIRED:-always}"
50
51 # Verify KDE_MINIMAL (display QA notice in pkg_setup, still we need to fix it here)
52 if [[ -n ${KDE_MINIMAL} ]]; then
53 for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
54 [[ ${KDE_MINIMAL} = ${slot} ]] && KDE_MINIMAL_VALID=1 && break
55 done
56 [[ -z ${KDE_MINIMAL_VALID} ]] && unset KDE_MINIMAL
57 else
58 KDE_MINIMAL_VALID=1
59 fi
60
61 # @ECLASS-VARIABLE: KDE_MINIMAL
62 # @DESCRIPTION:
63 # This wariable is used when KDE_REQUIRED is set, to specify required KDE minimal
64 # version for apps to work. Currently defaults to 4.2
65 # One may override this variable to raise version requirements.
66 # For possible values look at KDE_SLOTS and KDE_LIVE_SLOTS variables.
67 # Note that for kde-base packages is fixed to ${SLOT}.
68 KDE_MINIMAL="${KDE_MINIMAL:-4.2}"
69
70 # Fallback behaviour (for now)
71 # TODO Remove when tree is clean
72 if [[ -n ${NEED_KDE} ]]; then
73 case ${NEED_KDE} in
74 none)
75 KDE_REQUIRED="never"
76 ;;
77 *)
78 KDE_REQUIRED="always"
79 KDE_MINIMAL="${NEED_KDE}"
80 ;;
81 esac
82 fi
83
84 # OpenGL dependencies
85 qtopengldepend="
86 x11-libs/qt-opengl:4
87 "
88 case ${OPENGL_REQUIRED} in
89 always)
90 COMMONDEPEND="${COMMONDEPEND} ${qtopengldepend}"
91 ;;
92 optional)
93 IUSE="${IUSE} opengl"
94 COMMONDEPEND="${COMMONDEPEND}
95 opengl? ( ${qtopengldepend} )
96 "
97 ;;
98 *) ;;
99 esac
100 unset qtopengldepend
101
102 # WebKit dependencies
103 qtwebkitdepend="
104 x11-libs/qt-webkit:4
105 "
106 case ${WEBKIT_REQUIRED} in
107 always)
108 COMMONDEPEND="${COMMONDEPEND} ${qtwebkitdepend}"
109 ;;
110 optional)
111 IUSE="${IUSE} webkit"
112 COMMONDEPEND="${COMMONDEPEND}
113 webkit? ( ${qtwebkitdepend} )
114 "
115 ;;
116 *) ;;
117 esac
118 unset qtwebkitdepend
119
120 # CppUnit dependencies
121 cppuintdepend="
122 dev-util/cppunit
123 "
124 case ${CPPUNIT_REQUIRED} in
125 always)
126 DEPEND="${DEPEND} ${cppuintdepend}"
127 ;;
128 optional)
129 IUSE="${IUSE} test"
130 DEPEND="${DEPEND}
131 test? ( ${cppuintdepend} )
132 "
133 ;;
134 *) ;;
135 esac
136 unset cppuintdepend
137
138 # DEPRECATED block
139 if [[ ${NEED_KDE} != "none" ]]; then
140 # localization deps
141 # DISABLED UNTIL PMS decide correct approach :(
142 if [[ -n ${KDE_LINGUAS} ]]; then
143 LNG_DEP=""
144 for _lng in ${KDE_LINGUAS}; do
145 # there must be or due to issue if lingua is not present in kde-l10n so
146 # it wont die but pick kde-l10n as-is.
147 LNG_DEP="${LNG_DEP}
148 || (
149 kde-base/kde-l10n[linguas_${_lng},kdeprefix=]
150 kde-base/kde-l10n[kdeprefix=]
151 )
152 "
153 done
154 fi
155 fi # NEED_KDE != NONE block
156
157 # Setup packages inheriting this eclass
158 case ${KDEBASE} in
159
160 kde-base)
161 if [[ $BUILD_TYPE = live ]]; then
162 # Disable tests for live ebuilds
163 RESTRICT="${RESTRICT} test"
164 # Live ebuilds in kde-base default to kdeprefix by default
165 IUSE="${IUSE} +kdeprefix"
166 else
167 # All other ebuild types default to -kdeprefix as before
168 IUSE="${IUSE} kdeprefix"
169 fi
170 # Determine SLOT from PV
171 case ${PV} in
172 4.3* | 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*) SLOT="4.3" ;;
173 4.2* | 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6*) SLOT="4.2" ;;
174 *9999*) SLOT="live" ;;
175 *) die "Unsupported ${PV}" ;;
176 esac
177 _kdedir="${SLOT}"
178 _pv="-${PV}:${SLOT}"
179 _pvn="-${PV}"
180
181 # Block installation of other SLOTS unless kdeprefix
182 for slot in ${KDE_SLOTS[@]}; do
183 # Block non kdeprefix ${PN} on other slots
184 if [[ ${SLOT} != ${slot} ]]; then
185 RDEPEND="${RDEPEND}
186 !kdeprefix? ( !kde-base/${PN}:${slot}[-kdeprefix] )
187 "
188 fi
189 done
190 ;;
191
192 koffice)
193 SLOT="2"
194 _pv="-${KDE_MINIMAL}"
195 _pvn="${_pv}"
196 ;;
197
198 *)
199 _pv="-${KDE_MINIMAL}"
200 _pvn="${_pv}"
201 ;;
202
203 esac
204
205 # KDE dependencies
206 kdecommondepend="
207 dev-lang/perl
208 x11-libs/libXext
209 x11-libs/libXt
210 x11-libs/libXxf86vm
211 x11-libs/qt-core:4[qt3support,ssl]
212 x11-libs/qt-gui:4[accessibility,dbus]
213 x11-libs/qt-qt3support:4[accessibility]
214 x11-libs/qt-script:4
215 x11-libs/qt-sql:4[qt3support]
216 x11-libs/qt-svg:4
217 x11-libs/qt-test:4
218 "
219 if [[ ${PN} != kdelibs ]]; then
220 if [[ ${KDEBASE} = kde-base ]]; then
221 kdecommondepend="${kdecommondepend}
222 kdeprefix? ( >=kde-base/kdelibs${_pv}[kdeprefix] )
223 !kdeprefix? ( >=kde-base/kdelibs${_pvn}[-kdeprefix] )
224 "
225 else
226 kdecommondepend="${kdecommondepend}
227 >=kde-base/kdelibs${_pv}
228 "
229 fi
230 fi
231 unset _pv _pvn
232 kdedepend="
233 >=dev-util/cmake-2.6.2
234 dev-util/pkgconfig
235 >=sys-apps/sandbox-1.3.2
236 "
237 case ${KDE_REQUIRED} in
238 always)
239 COMMONDEPEND="${COMMONDEPEND} ${kdecommondepend}"
240 DEPEND="${DEPEND} ${kdedepend}"
241 ;;
242 optional)
243 IUSE="${IUSE} kde"
244 COMMONDEPEND="${COMMONDEPEND}
245 kde? ( ${kdecommondepend} )"
246 DEPEND="${DEPEND}
247 kde? ( ${kdedepend} )"
248 ;;
249 *) ;;
250 esac
251 unset kdecommondepend kdedepend
252
253 debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: COMMONDEPEND is ${COMMONDEPEND}"
254 debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: DEPEND (only) is ${DEPEND}"
255 debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: RDEPEND (only) is ${RDEPEND}"
256
257 # Accumulate dependencies set by this eclass
258 DEPEND="${DEPEND} ${COMMONDEPEND}"
259 RDEPEND="${RDEPEND} ${COMMONDEPEND}"
260
261 # Fetch section - If the ebuild's category is not 'kde-base' and if it is not a
262 # koffice ebuild, the URI should be set in the ebuild itself
263 case ${BUILD_TYPE} in
264 live)
265 SRC_URI=""
266 ESVN_MIRROR=${ESVN_MIRROR:=svn://anonsvn.kde.org/home/kde}
267 # Split ebuild, or extragear stuff
268 if [[ -n ${KMNAME} ]]; then
269 ESVN_PROJECT="${KMNAME}"
270 if [[ -z ${KMNOMODULE} ]] && [[ -z ${KMMODULE} ]]; then
271 KMMODULE="${PN}"
272 fi
273 # Split kde-base/ ebuilds: (they reside in trunk/KDE)
274 case ${KMNAME} in
275 kdebase-*)
276 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/kdebase/${KMNAME#kdebase-}"
277 ;;
278 kdereview)
279 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
280 ;;
281 kdesupport)
282 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
283 ESVN_PROJECT="${PN}"
284 ;;
285 kde*)
286 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${KMNAME}"
287 ;;
288 extragear*|playground*)
289 # Unpack them in toplevel dir, so that they won't conflict with kde4-meta
290 # build packages from same svn location.
291 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
292 ESVN_PROJECT="${PN}"
293 ;;
294 koffice)
295 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}"
296 ;;
297 *)
298 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/${KMNAME}/${KMMODULE}"
299 ;;
300 esac
301 else
302 # kdelibs, kdepimlibs
303 ESVN_REPO_URI="${ESVN_MIRROR}/trunk/KDE/${PN}"
304 ESVN_PROJECT="${PN}"
305 fi
306 # limit syncing to 1 hour.
307 ESVN_UP_FREQ=${ESVN_UP_FREQ:-1}
308 ;;
309 *)
310 if [[ -n ${KDEBASE} ]]; then
311 if [[ -n ${KMNAME} ]]; then
312 case ${KMNAME} in
313 kdebase-apps)
314 _kmname="kdebase" ;;
315 *)
316 _kmname="${KMNAME}" ;;
317 esac
318 else
319 _kmname=${PN}
320 fi
321 _kmname_pv="${_kmname}-${PV}"
322 if [[ $NEED_KDE != live ]]; then
323 case ${KDEBASE} in
324 kde-base)
325 case ${PV} in
326 4.2.9* | 4.2.8* | 4.2.7* | 4.2.6*)
327 SRC_URI="http://dev.gentooexperimental.org/~alexxy/kde/${PV}/${_kmname_pv}.tar.lzma" ;;
328 4.1.9* | 4.1.8* | 4.1.7* | 4.1.6* | 4.0.9* | 4.0.8*)
329 SRC_URI="mirror://kde/unstable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
330 *) SRC_URI="mirror://kde/stable/${PV}/src/${_kmname_pv}.tar.bz2" ;;
331 esac
332 ;;
333 koffice)
334 SRC_URI="mirror://kde/unstable/${_kmname_pv}/src/${_kmname_pv}.tar.bz2"
335 ;;
336 esac
337 fi
338 unset _kmname _kmname_pv
339 fi
340 ;;
341 esac
342
343 debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: SRC_URI is ${SRC_URI}"
344
345 # @ECLASS-VARIABLE: PREFIX
346 # @DESCRIPTION:
347 # Set the installation PREFIX for non kde-base applications. It defaults to /usr.
348 # kde-base packages go into KDE4 installation directory (KDEDIR) by default.
349 # No matter the PREFIX, package will be built agains KDE installed in KDEDIR.
350
351 # @FUNCTION: kde4-base_pkg_setup
352 # @DESCRIPTION:
353 # Do the basic kdeprefix KDEDIR settings and determine with which kde should
354 # optional applications link
355 kde4-base_pkg_setup() {
356 debug-print-function ${FUNCNAME} "$@"
357
358 # QA ebuilds
359 case ${NEED_KDE} in
360 none) ewarn "QA Notice: using deprecated NEED_KDE variable, use KDE_REQUIRED=\"never\" or KDE_REQUIRED=\"optional\" instead. You may want to override KDE_MINIMAL as well (default is KDE_MINIMAL=\"${KDE_MINIMAL}\")." ;;
361 *) [[ -n ${NEED_KDE} ]] && ewarn "QA Notice: using deprecated NEED_KDE variable, use KDE_MINIMAL instead (default is KDE_MINIMAL=\"${KDE_MINIMAL}\")." ;;
362 esac
363 [[ -z ${KDE_MINIMAL_VALID} ]] && ewarn "QA Notice: ignoring invalid KDE_MINIMAL (defaulting to ${KDE_MINIMAL})."
364
365 # Don't set KDEHOME during compilation, it will cause access violations
366 unset KDEHOME
367
368 if [[ ${KDEBASE} = kde-base ]]; then
369 if use kdeprefix; then
370 KDEDIR="/usr/kde/${_kdedir}"
371 else
372 KDEDIR="/usr"
373 fi
374 PREFIX="${PREFIX:-${KDEDIR}}"
375 else
376 # Determine KDEDIR by loooking for the closest match with KDE_MINIMAL
377 KDEDIR=
378 local kde_minimal_met
379 for slot in ${KDE_SLOTS[@]} ${KDE_LIVE_SLOTS[@]}; do
380 [[ -z ${kde_minimal_met} ]] && [[ ${slot} = ${KDE_MINIMAL} ]] && kde_minimal_met=1
381 if [[ -n ${kde_minimal_met} ]] && has_version "kde-base/kdelibs:${slot}"; then
382 if has_version "kde-base/kdelibs:${slot}[kdeprefix]"; then
383 KDEDIR="/usr/kde/${slot}"
384 else
385 KDEDIR="/usr"
386 fi
387 break;
388 fi
389 done
390 [[ -z KDEDIR ]] && die "Failed to determine KDEDIR!"
391 PREFIX="${PREFIX:-/usr}"
392 fi
393
394 # Not needed anymore
395 unset _kdedir
396
397 if [[ ${BUILD_TYPE} = live ]] && [[ -z ${I_KNOW_WHAT_I_AM_DOING} ]]; then
398 echo
399 elog "WARNING! This is an experimental live ebuild of ${KMNAME:-${PN}}"
400 elog "Use it at your own risk."
401 elog "Do _NOT_ file bugs at bugs.gentoo.org because of this ebuild!"
402 echo
403 fi
404 }
405
406 # @FUNCTION: kde4-base_src_unpack
407 # @DESCRIPTION:
408 # This function unpacks the source tarballs for KDE4 applications.
409 kde4-base_src_unpack() {
410 debug-print-function ${FUNCNAME} "$@"
411
412 if [[ ${BUILD_TYPE} = live ]]; then
413 migrate_store_dir
414 subversion_src_unpack
415 else
416 base_src_unpack
417 fi
418 }
419
420 # @FUNCTION: kde4-base_src_compile
421 # @DESCRIPTION:
422 # General pre-configure and pre-compile function for KDE4 applications.
423 # It also handles translations if KDE_LINGUAS is defined. See KDE_LINGUAS and
424 # enable_selected_linguas() in kde4-functions.eclass(5) for further details.
425 kde4-base_src_prepare() {
426 debug-print-function ${FUNCNAME} "$@"
427
428 # Only enable selected languages, used for KDE extragear apps.
429 if [[ -n ${KDE_LINGUAS} ]]; then
430 enable_selected_linguas
431 fi
432
433 base_src_prepare
434
435 # Save library dependencies
436 if [[ -n ${KMSAVELIBS} ]] ; then
437 save_library_dependencies
438 fi
439
440 # Inject library dependencies
441 if [[ -n ${KMLOADLIBS} ]] ; then
442 load_library_dependencies
443 fi
444 }
445
446 # @FUNCTION: kde4-base_src_configure
447 # @DESCRIPTION:
448 # Function for configuring the build of KDE4 applications.
449 kde4-base_src_configure() {
450 debug-print-function ${FUNCNAME} "$@"
451
452 # Handle common release builds
453 if ! has debug ${IUSE//+} || ! use debug; then
454 append-cppflags -DQT_NO_DEBUG
455 fi
456
457 # Build tests in src_test only, where we override this value
458 local cmakeargs="-DKDE4_BUILD_TESTS=OFF"
459
460 # Set distribution name
461 [[ ${PN} = kdelibs ]] && cmakeargs="${cmakeargs} -DKDE_DISTRIBUTION_TEXT=Gentoo"
462
463 # Here we set the install prefix
464 cmakeargs="${cmakeargs} -DCMAKE_INSTALL_PREFIX=${PREFIX}"
465
466 # Set environment
467 QTEST_COLORED=1
468 QT_PLUGIN_PATH="${KDEDIR}/$(get_libdir)/kde4/plugins/"
469
470 # Hardcode path to *.pc KDE files
471 export PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+${PKG_CONFIG_PATH}:}${KDEDIR}/$(get_libdir)/pkgconfig"
472
473 # Shadow existing /usr installations
474 unset KDEDIRS
475
476 # Override some environment variables - only when kdeprefix is different,
477 # to not break ccache/distcc
478 if [[ ${KDEDIR} != /usr ]]; then
479 PATH="${KDEDIR}/bin:${PATH}"
480 LDPATH="${KDEDIR}/$(get_libdir):${LDPATH}"
481 fi
482
483 if has kdeprefix ${IUSE//+} && use kdeprefix; then
484 # Set cmake prefixes to allow buildsystem to localize valid KDE installation
485 # when more are present
486 cmakeargs="${cmakeargs} -DCMAKE_SYSTEM_PREFIX_PATH=${KDEDIR}"
487 else
488 # If prefix is /usr, sysconf needs to be /etc, not /usr/etc
489 cmakeargs="${cmakeargs} -DSYSCONF_INSTALL_DIR=/etc"
490 fi
491
492 mycmakeargs="${cmakeargs} ${mycmakeargs}"
493
494 cmake-utils_src_configure
495 }
496
497 # @FUNCTION: kde4-base_src_compile
498 # @DESCRIPTION:
499 # General function for compiling KDE4 applications.
500 kde4-base_src_compile() {
501 debug-print-function ${FUNCNAME} "$@"
502
503 cmake-utils_src_compile
504 }
505
506 # @FUNCTION: kde4-base_src_test
507 # @DESCRIPTION:
508 # Function for testing KDE4 applications.
509 kde4-base_src_test() {
510 debug-print-function ${FUNCNAME} "$@"
511
512 # Override this value, set in kde4-base_src_configure()
513 mycmakeargs="${mycmakeargs} -DKDE4_BUILD_TESTS=ON"
514 cmake-utils_src_configure
515 kde4-base_src_compile
516
517 cmake-utils_src_test
518 }
519
520 # @FUNCTION: kde4-base_src_install
521 # @DESCRIPTION:
522 # Function for installing KDE4 applications.
523 kde4-base_src_install() {
524 debug-print-function ${FUNCNAME} "$@"
525
526 if [[ -n ${KMSAVELIBS} ]] ; then
527 install_library_dependencies
528 fi
529
530 kde4-base_src_make_doc
531 cmake-utils_src_install
532 }
533
534 # @FUNCTION: kde4-base_src_make_doc
535 # @DESCRIPTION:
536 # Function for installing the documentation of KDE4 applications.
537 kde4-base_src_make_doc() {
538 debug-print-function ${FUNCNAME} "$@"
539
540 local doc
541 for doc in AUTHORS ChangeLog* README* NEWS TODO; do
542 [[ -s ${doc} ]] && dodoc ${doc}
543 done
544
545 if [[ -z ${KMNAME} ]]; then
546 for doc in {apps,runtime,workspace,.}/*/{AUTHORS,README*}; do
547 if [[ -s ${doc} ]]; then
548 local doc_complete=${doc}
549 doc="${doc#*/}"
550 newdoc "$doc_complete" "${doc%/*}.${doc##*/}"
551 fi
552 done
553 fi
554
555 if [[ -n ${KDEBASE} ]] && [[ -d "${D}/usr/share/doc/${PF}" ]]; then
556 # work around bug #97196
557 dodir /usr/share/doc/KDE4 && \
558 mv "${D}/usr/share/doc/${PF}" "${D}"/usr/share/doc/KDE4/ || \
559 die "Failed to move docs to KDE4/."
560 fi
561 }
562
563 # @FUNCTION: kde4-base_pkg_postinst
564 # @DESCRIPTION:
565 # Function to rebuild the KDE System Configuration Cache after an application has been installed.
566 kde4-base_pkg_postinst() {
567 debug-print-function ${FUNCNAME} "$@"
568
569 buildsycoca
570 }
571
572 # @FUNCTION: kde4-base_pkg_postrm
573 # @DESCRIPTION:
574 # Function to rebuild the KDE System Configuration Cache after an application has been removed.
575 kde4-base_pkg_postrm() {
576 debug-print-function ${FUNCNAME} "$@"
577
578 buildsycoca
579 }

  ViewVC Help
Powered by ViewVC 1.1.20