Hi, Something I probably failed to document properly in 11.4 is the new macros that got introduced for desktop-related things (some of them being, arguably, GTK+-only). They were introduced to fix various issues, and move away from the SuSEconfig scripts. With rpm 4.9, we might be able to use another solution. In that case, the macros listed below will just expand to an empty string and do nothing. So it won't harm to use them either. Desktop-related macros ====================== a) Package installs a .desktop file in /usr/share/applications Macros: %desktop_database_post/%desktop_database_postun What it does: calls update-desktop-database to update a cache mapping MIME types to apps handling them. This is needed to make the desktops aware that an app can handle a MIME type. b) Package installs a MIME definition (in /usr/share/mime): Macros: %mime_database_post/%mime_database_postun What it does: calls update-mime-database to update the database containing information about all MIME definitions. c) Package installs an icon in hicolor (/usr/share/icons/hicolor): Macros: %icon_theme_cache_post/%icon_theme_cache_postun What it does: calls gtk-update-icon-cache (if existing) to update the GTK+ icon cache for hicolor, as specified by the spec. This is needed to make the icon visible to GTK+ apps. d) Package installs an icon in another icon theme (let's say "geeko" theme, /usr/share/icons/geeko) Macros: %icon_theme_cache_post geeko / %icon_theme_cache_postun geeko What it does: calls gtk-update-icon-cache (if existing) to update the GTK+ icon cache for geeko. This is needed to make the icon visible to GTK+ apps. e) Package installs a GSettings schema (in /usr/share/glib-2.0/schemas): Macros: %glib2_gsettings_schema_post/%glib2_gsettings_schema_postun %glib2_gsettings_schema_requires (similar to %py_requires) What it does: calls glib-compile-schemas to build the blob containing the data for all schemas. This is needed to have your app not crash :-) f) Package installs a gio module (in /usr/lib/gio/modules): Macros: %glib2_gio_module_post/%glib2_gio_module_postun %glib2_gio_module_requires (similar to %py_requires) What it does: calls gio-querymodules to update a cache listing all gio modules and the extension points they are using. This is needed to make the gio module known to gio. g) Package installs a gdk-pixbuf loader (in /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders): Macros: %gdk_pixbuf_loader_post/%gdk_pixbuf_loader_postun %gdk_pixbuf_loader_requires (similar to %py_requires) What it does: calls gdk-pixbuf-query-loaders to update a cache listing all gdk-pixbuf loaders and their abilities. This is needed to make the gdk-pixbuf loader known to gdk-pixbuf. h) Package installs a GTK+ (2 or 3) IM module (in /usr/lib/gtk-2.0/2.10.0/immodules or /usr/lib/gtk-3.0/3.0.0/immodules): Macros: %gtk2_immodule_post/%gtk2_immodule_postun %gtk2_immodule_requires %gtk3_immodule_post/%gtk3_immodule_postun %gtk3_immodule_requires What it does: calls gtk-query-immodules-2.0/gtk-query-immodules-3.0 to build a cache listing all IM modules and the locale/language they apply to. You obviously need to only call the gtk2/gtk3 version, depending on which version of GTK+ you target. This is needed to make the IM module known to GTK+. i) Package installs a pango module (in /usr/lib/pango/1.6.0/modules): Macros: %pango_module_post/%pango_module_postun %pango_module_requires (similar to %py_requires) What it does: calls pango-querymodules to update a cache listing all pango modules and information about what they handle. This is needed to make the module known to pango. Thanks, Vincent -- Les gens heureux ne sont pas pressés. -- Les gens heureux ne sont pas pressés. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org