2012/8/12 Vadim Zhukov <[email protected]>:
> Hello all.
>
> Here is a working prototype of cache invalidating helper framework.
> With it you can just add something like:
>
> MODULES +=      updb
> MODUPDB_WHAT =  desktop-files icons
>
> and have all RUN_DEPENDS and @exec/@unexec-goo added to final plist
> on the fly. Module is MULTI_PACKAGES aware but require small patch
> to bsd.port.mk (see below). PKG_ARGS_TAIL is the same as PKG_ARGS
> but is appended at the last; this way we get packaging list fragments
> where they belong, at the end of the plist.
>
> In the future I think it's possible to add automatic checks in plist
> create/update stage, making make-plist warn when something is missed.

For those who interested, I quickly collected some statistics about
different @{,un}exec* lines, see below. I've left only those lines
that at least doubles somewhere. Please note that it covers not only
official tree but also openbsd-wip and mystuff (a few ports there).

--
  WBR,
  Vadim Zhukov


2       @exec %D/bin/gdk-pixbuf-query-loaders --update-cache
2       @exec %D/bin/genkdmconf --in %D/share/config/kdm || true
2       @exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons
2       @exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/Locolor
2       @exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/Tango
2       @exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/ikons
2       @exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/kdeclassic
2       @exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/kids
2       @exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/slick
2       @exec TEXMFMAIN=%D/share/texmf %D/bin/mktexlsr
2       @exec cd %D/share/texmf/tex/ && \ls -1LAR ./ >ls-R
2       @exec install -d ${SYSCONFDIR}/php-${PV}.sample/
2       @exec install -d ${SYSCONFDIR}/php-${PV}/
2       @exec-add PREFIX=%D SYSCONFDIR=${SYSCONFDIR}
${PREFIX}/sbin/postfix-install install
2       @exec-update PREFIX=%D SYSCONFDIR=${SYSCONFDIR}
${PREFIX}/sbin/postfix-install upgrade
2       @unexec TEXMFMAIN=%D/share/texmf %D/bin/mktexlsr
2       @unexec-delete ${PREFIX}/sbin/postfix-disable
2       @unexec-delete %D/bin/gtk-update-icon-cache -q -t %D/share/icons
2       @unexec-delete rm -f %D/share/icons/Locolor/icon-theme.cache
2       @unexec-delete rm -f %D/share/icons/ikons/icon-theme.cache
2       @unexec-delete rm -f %D/share/icons/kdeclassic/icon-theme.cache
2       @unexec-delete rm -f %D/share/icons/kids/icon-theme.cache
2       @unexec-delete rm -f %D/share/icons/slick/icon-theme.cache
2       @unexec-delete rm -f /etc/mailer.conf.postfix
2       @unexec-delete rm -fr ${SYSCONFDIR}/php-${PV}.sample/
3       @exec %D/bin/mktexlsr > /dev/null 2>&1
3       @exec if [ ! -e ${CATALINA_BASE}/conf ]; then ln -sf
${CONFDIR} ${CATALINA_BASE}/conf; fi
3       @exec mktexlsr > /dev/null 2>&1
3       @unexec if [ -h ${CATALINA_BASE}/conf ]; then rm
${CATALINA_BASE}/conf; fi
3       @unexec rm -rf ${GAMEDIR}/save/*
3       @unexec-delete %D/bin/gtk-query-immodules-2.0 >
${SYSCONFDIR}/gtk-2.0/gtk.immodules
3       @unexec-delete %D/bin/mktexlsr > /dev/null 2>&1
4       @exec %D/bin/gtk-query-immodules-2.0 >
${SYSCONFDIR}/gtk-2.0/gtk.immodules
4       @unexec-delete %D/bin/gio-querymodules %D/lib/gio/modules/
4       @unexec-delete %D/share/libxml2/rebuild
5       @exec %D/bin/gio-querymodules %D/lib/gio/modules/
5       @exec %D/share/libxml2/rebuild
5       @unexec-delete %D/bin/gtk-update-icon-cache -q -t
%D/share/crystalsvg/hicolor
6       @exec ${WNNBASE}/lib/wnn/install-script
6       @unexec-delete %D/bin/gtk-update-icon-cache -q -t %D/share/icons/gnome
7       @exec %D/bin/gtk-update-icon-cache -q -f -t
%D/share/icons/hicolor 2> /dev/null || true
7       @exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/gnome
7       @unexec-delete %D/bin/gtk-update-icon-cache -q -f -t
%D/share/icons/hicolor 2> /dev/null || true
9       @exec %D/sbin/twisted-regen-dropin.cache
9       @unexec %D/sbin/twisted-regen-dropin.cache
12      @exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/oxygen
12      @unexec-delete %D/bin/gtk-update-icon-cache -q -t %D/share/icons/oxygen
22      @exec-update test ! -f ${MODAPACHE_FINAL} || cp -fp %D/%F
${MODAPACHE_FINAL}
22      @unexec-delete rm -f ${MODAPACHE_FINAL}
25      @exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/locolor
25      @unexec-delete %D/bin/gtk-update-icon-cache -q -t %D/share/icons/locolor
26      @unexec-delete %D/bin/gtk-update-icon-cache -q -t
%D/share/icons/crystalsvg
32      @exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/crystalsvg
37      @exec GCONF_CONFIG_SOURCE=`%D/bin/gconftool-2
--get-default-source` %D/bin/gconftool-2 --makefile-install-rule
%D/${SCHEMAS_INSTDIR}/*.schemas > /dev/null
38      @unexec GCONF_CONFIG_SOURCE=`%D/bin/gconftool-2
--get-default-source` %D/bin/gconftool-2 --makefile-uninstall-rule
%D/${SCHEMAS_INSTDIR}/*.schemas > /dev/null
62      @exec %D/bin/update-mime-database %D/share/mime
62      @unexec-delete %D/bin/update-mime-database %D/share/mime
72      @unexec-delete %D/bin/glib-compile-schemas
%D/share/glib-2.0/schemas >/dev/null
73      @exec %D/bin/glib-compile-schemas %D/share/glib-2.0/schemas >/dev/null
169     @exec /usr/bin/env HOME=/nonexistent
%D/lib/ghc/${DISTNAME}/register.sh -v0
169     @unexec /usr/bin/env HOME=/nonexistent
%D/lib/ghc/${DISTNAME}/unregister.sh -v0 --force
297     @exec %D/bin/gtk-update-icon-cache -q -t %D/share/icons/hicolor
297     @unexec-delete %D/bin/gtk-update-icon-cache -q -t %D/share/icons/hicolor
550     @unexec-delete %D/bin/update-desktop-database
552     @exec %D/bin/update-desktop-database

Reply via email to