SIGs/KDE/Packaging/Cleanup

= Macros =

Current Macros
Currently, the macros for KDE packaging are basic and still need directories appended to them constantly for files in KDE packages. Here is a table of the current macros provided:

Proposed macros
There are many directories that appear over and over in packaging KDE applications and libraries.

The old macros would become:

Other CMake variable not represented by macros:


 * DATA_INSTALL_DIR (%{_kde4_datadir}/apps)
 * DEMO_INSTALL_DIR (%{_kde4_datadir}/demos)
 * LOCALE_INSTALL_DIR (%{_kde4_datadir}/locale)
 * WALLPAPER_INSTALL_DIR (%{_kde4_datadir}/wallpapers)
 * XDG_DIRECTORY_INSTALL_DIR (%{_kde4_datadir}/desktop-directories)
 * INFO_INSTALL_DIR (%{_kde4_datadir}/info)
 * MAN_INSTALL_DIR (%{_kde4_datadir}/man)

We will not bump the KDE macros API to 3 and force a rebuild of all KDE apps, as no such rebuild is required. If you want to ensure that your package gets built against a recent enough kde-filesystem, please just BR a minimum EVR of kde-filesystem.

In addition, there should be a macro to validate  files since most KDE4 apps install these automatically. In order to conform to the guidelines, we should validate these files rather than manually installing each one and duplicating work.

%_kde4_validatedesktop \ pushd %{buildroot} \ for file in `find -name "*.desktop"`; do \ desktop-file-validate $file; \ done \ popd

= Process =

Here is how the migration could work (KDE-SIG approval pending)


 * Include new macros in kde-filesystem
 * File bugs against KDE4 packages to use new macros. Possible bug text:


 * If no response by (some date TBD), use provenpackager to use new macros.

= Affected Packages and Status =

† KDE3 application to watch for KDE4 release †† Still under review

This list was generated with:

repoquery --whatrequires --alldeps --qf "%{sourcerpm}" kdelibs | sort | uniq

and under-review KDE4 apps added as well.