From Fedora Project Wiki

< SIGs‎ | KDE

(What happens to old macros? part)
(Add table for affected packages)
Line 79: Line 79:
 
|}
 
|}
  
The old macros would become:
+
This would bump the KDE macros API to 3 and force a rebuild of all KDE apps. I propose this is done before KDE 4.3 final hits.
 +
 
 +
=== 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:
 +
{{admon/note|Bug report text|The path macros have been updated so that common directories are macros. The new macros are at <https://fedoraproject.org/wiki/SIGs/KDE/PackagingCleanup#Macros>. Please update the spec file to use these new macros and close this bug when all stable branches are updated. If it is not done by <some date>, provenpackager access will be used to use the new macros so that the older macros may be dropped. Thank you for your cooperation.}}
 +
* If no response by (some date TBD), use provenpackager to use new macros. (F13 alpha?)
 +
* Remove old macros
 +
 
 +
=== Affected Packages ===
  
 
{|
 
{|
! Macro              !! Definition
+
! Package                      !! Maintainer !! Bug filed !! F-10 !! F-11 !! F-12 !! devel
 +
|-
 +
| kde-filesystem              ||  ||  ||  ||  ||  ||
 +
|-
 +
| kdeaccessibility            ||  ||  ||  ||  ||  ||
 +
|-
 +
| kdeadmin                    ||  ||  ||  ||  ||  ||
 +
|-
 +
| kdeartwork                  ||  ||  ||  ||  ||  ||
 +
|-
 +
| kdebase                      ||  ||  ||  ||  ||  ||
 +
|-
 +
| kdebase-runtime              ||  ||  ||  ||  ||  ||
 +
|-
 +
| kdebase-workspace            ||  ||  ||  ||  ||  ||
 +
|-
 +
| kdebindings                  ||  ||  ||  ||  ||  ||
 +
|-
 +
| kdeedu                      ||  ||  ||  ||  ||  ||
 +
|-
 +
| kdegames                    ||  ||  ||  ||  ||  ||
 
|-
 
|-
| %{_kde4_prefix}    || %{_prefix}
+
| kdegraphics                  ||  ||  ||  ||  ||  ||
 
|-
 
|-
| %{_kde4_sysconfdir} || %{_sysconfdir}
+
| kdelibs                      ||  ||  ||  ||  ||  ||
 
|-
 
|-
| %{_kde4_libdir}    || %{_libdir}
+
| kdelibs-experimental        ||  ||  ||  ||  ||  ||
 
|-
 
|-
| %{_kde4_libexecdir} || %{_libexecdir}/kde4
+
| kdemultimedia                ||  ||  ||  ||  ||  ||
 
|-
 
|-
| %{_kde4_datadir}    || %{_datadir}
+
| kdenetwork                  ||  ||  ||  ||  ||  ||
 
|-
 
|-
| %{_kde4_iconsdir}  || %{_kde4_datadir}/icons
+
| kdepim                      ||  ||  ||  ||  ||  ||
 
|-
 
|-
| %{_kde4_configdir} || %{_kde4_datadir}/config
+
| kdepimlibs                  ||  ||  ||  ||  || ||
 
|-
 
|-
| %{_kde4_appsdir}    || %{_kde4_datadir}/kde4/apps
+
| kdeplasma-addons            ||  ||  ||  ||  ||  ||
 
|-
 
|-
| %{_kde4_docdir}    || %{_docdir}
+
| kdesdk                      ||  ||  ||  ||  ||  ||
 
|-
 
|-
| %{_kde4_bindir}    || %{_bindir}
+
| kde-settings                ||  ||  ||  ||  ||  ||
 
|-
 
|-
| %{_kde4_sbindir}    || %{_sbindir}
+
| kdetoys                      ||  ||  ||  ||  ||  ||
 
|-
 
|-
| %{_kde4_includedir} || %{_includedir}
+
| kdeutils                    ||  ||  ||  ||  ||  ||
 +
|-
 +
| amarok                      ||  ||  ||  ||  ||  ||
 +
|-
 +
| audex                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| bespin                      ||  ||  ||  ||  ||  ||
 +
|-
 +
| bibletime                    ||  ||  ||  ||  ||  ||
 +
|-
 +
| choqok                      ||  ||  ||  ||  ||  ||
 +
|-
 +
| compiz                      ||  ||  ||  ||  ||  ||
 +
|-
 +
| crystal                      ||  ||  ||  ||  ||  ||
 +
|-
 +
| digikam                      ||  ||  ||  ||  ||  ||
 +
|-
 +
| gnash                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| gtk-qt-engine                ||  ||  ||  ||  ||  ||
 +
|-
 +
| kcoloredit                  ||  ||  ||  ||  ||  ||
 +
|-
 +
| kcometen4                    ||  ||  ||  ||  ||  ||
 +
|-
 +
| kdebluetooth                ||  ||  ||  ||  ||  ||
 +
|-
 +
| kde-plasma-ihatethecashew    ||  ||  ||  ||  ||  ||
 +
|-
 +
| kde-plasma-networkmanagement ||  ||  ||  ||  ||  ||
 +
|-
 +
| kde-plasma-quickaccess      ||  ||  ||  ||  ||  ||
 +
|-
 +
| kde-plasma-runcommand        ||  ||  ||  ||  ||  ||
 +
|-
 +
| kde-plasma-stasks            ||  ||  ||  ||  ||  ||
 +
|-
 +
| kde-plasma-translatoid      ||  ||  ||  ||  ||  ||
 +
|-
 +
| kde-plasma-weather          ||  ||  ||  ||  ||  ||
 +
|-
 +
| kde-plasma-yawp              ||  ||  ||  ||  ||  ||
 +
|-
 +
| kde-style-skulpture          ||  ||  ||  ||  ||  ||
 +
|-
 +
| kdesvn                      ||  ||  ||  ||  ||  ||
 +
|-
 +
| kdiff3                      ||  ||  ||  ||  ||  ||
 +
|-
 +
| keurocalc                    ||  ||  ||  ||  ||  ||
 +
|-
 +
| kgrab                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| kgtk                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| kiconedit                    ||  ||  ||  ||  ||  ||
 +
|-
 +
| kid3                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| kio_sysinfo                  ||  ||  ||  ||  ||  ||
 +
|-
 +
| kipi-plugins                ||  ||  ||  ||  ||  ||
 +
|-
 +
| kmid                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| kmplayer                    ||  ||  ||  ||  ||  ||
 +
|-
 +
| knemo                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| kobby                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| konq-plugins                ||  ||  ||  ||  ||  ||
 +
|-
 +
| kopete-cryptography          ||  ||  ||  ||  ||  ||
 +
|-
 +
| kover                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| kpackagekit                  ||  ||  ||  ||  ||  ||
 +
|-
 +
| kphotoalbum                  ||  ||  ||  ||  ||  ||
 +
|-
 +
| kradio4                      ||  ||  ||  ||  ||  ||
 +
|-
 +
| krusader                    ||  ||  ||  ||  ||  ||
 +
|-
 +
| ksig                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| ksshaskpass                  ||  ||  ||  ||  ||  ||
 +
|-
 +
| ktorrent                    ||  ||  ||  ||  ||  ||
 +
|-
 +
| kvirc                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| kvkbd                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| PolicyKit-kde                ||  ||  ||  ||  ||  ||
 +
|-
 +
| polyester                    ||  ||  ||  ||  ||  ||
 +
|-
 +
| quarticurve-kwin-theme      ||  ||  ||  ||  ||  ||
 +
|-
 +
| quassel                      ||  ||  ||  ||  ||  ||
 +
|-
 +
| rkward                      ||  ||  ||  ||  ||  ||
 +
|-
 +
| rsibreak                    ||  ||  ||  ||  ||  ||
 +
|-
 +
| sigen                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| skanlite                    ||  ||  ||  ||  ||  ||
 +
|-
 +
| smb4k                        ||  ||  ||  ||  ||  ||
 +
|-
 +
| subtitlecomposer            ||  ||  ||  ||  ||  ||
 +
|-
 +
| taglib-extras                ||  ||  ||  ||  ||  ||
 +
|-
 +
| yakuake                      ||  ||  ||  ||  ||  ||
 
|}
 
|}
 
This would bump the KDE macros API to 3 and force a rebuild of all KDE apps. I propose this is done before KDE 4.3 final hits.
 
 
=== 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:
 
{{admon/note|Bug report text|The path macros have been updated so that common directories are macros. The new macros are at <https://fedoraproject.org/wiki/SIGs/KDE/PackagingCleanup#Macros>. Please update the spec file to use these new macros and close this bug when all stable branches are updated. If it is not done by <some date>, provenpackager access will be used to use the new macros so that the older macros may be dropped. Thank you for your cooperation.}}
 
* If no response by (some date TBD), use provenpackager to use new macros. (F13 alpha?)
 
* Remove old macros
 

Revision as of 18:34, 30 July 2009

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:

Macro Definition Path Notes
%{_kde4_prefix} %{_prefix} /usr
%{_kde4_sysconfdir} %{_sysconfdir} /etc
%{_kde4_libdir} %{_libdir} /usr/lib[64]
%{_kde4_libexecdir} %{_libexecdir}/kde4 /usr/libexec/kde4
%{_kde4_datadir} %{_datadir} /usr/share
%{_kde4_sharedir} %{_datadir} /usr/share Why duplicate %{_kde4_datadir}?
%{_kde4_iconsdir} %{_kde4_sharedir}/icons /usr/share/icons
%{_kde4_configdir} %{_kde4_sharedir}/config /usr/share/config
%{_kde4_appsdir} %{_kde4_sharedir}/kde4/apps /usr/share/kde4/apps
%{_kde4_docdir} /usr/share/doc /usr/share/doc Why is the definition not using a macro?
%{_kde4_bindir} %{_kde4_prefix}/bin /usr/bin Not %{_bindir}?
%{_kde4_sbindir} %{_kde4_prefix}/sbin /usr/sbin Not %{_sbindir}
%{_kde4_includedir} %{_kde4_prefix}/include/kde4 /usr/include/kde4 Not %{_includedir}/kde4 ?

Proposed macros

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

Directory Use Proposed Macro Urgency Reason
%{_kde4_docdir}/HTML HTML/API documentation %{_kde4_htmldocdir} medium Used mostly for any HTML documentation
%{_kde4_datadir}/mime/packages xdg shared-mime-info standard files %{_kde4_mimedir} high Mimetype directory (xdg)
%{_kde4_datadir}/applications/kde4 .desktop files for applications %{_kde4_desktopdir} high All applications need a .desktop file here (macro name could be better)
%{_kde4_configdir}.kcfg KCFG files %{_kde4_kcfgdir} high Most applications use KCFG for configuration
%{_kde4_libdir}/kde4 KPlugin libraries %{_kde4_plugindir} high Directory for KPlugin libraries
%{_kde4_datadir}/kde4/services services for KDE apps (plugin metadata) %{_kde4_servicesdir} high Directory for KPlugin metadata
%{_kde4_datadir}/kde4/servicetypes specs for types of services %{_kde4_servicetypesdir} high Directory for KPlugin metadata
%{_kde4_datadir}/dbus-1/interfaces DBus interface declarations %{_kde4_dbusifacedir} low Used outside KDE as well
%{_kde4_datadir}/dbus-1/services DBus services %{_kde4_dbusservicedir} low Used outside KDE as well
%{_kde4_sysconfdir}/kde/env scripts for user login/creation low Not used often
%{_kde4_sysconfdir}/kde/shutdown scripts to run on user logout low Not used often
%{_kde4_appsdir}/kconf_update kconf update scripts %{_kde4_kconfdir} low Not used often; kconf is known to not work 100% anyways
%{_kde4_datadir}/autostart session start .desktop files low Not used often
%{_kde4_datadir}/sounds sounds (notifications) %{_kde4_sounddir} medium Convenience; kde-look packages mainly
%{_kde4_datadir}/mimelnk KDE3 mime data low KDE3; why do KDE4 apps still use this?
%{_kde4_datadir}/applnk unused? low Looks mostly unused, delete it altogether?
%{_kde4_datadir}/emoticons emoticon directory %{_kde4_emoticondir} medium Convenience; kde-look packages mainly
%{_kde4_datadir}/templates templates directory %{_kde4_templatedir} medium Convenience; kde-look packages mainly

This would bump the KDE macros API to 3 and force a rebuild of all KDE apps. I propose this is done before KDE 4.3 final hits.

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:
Note.png
Bug report text
The path macros have been updated so that common directories are macros. The new macros are at <https://fedoraproject.org/wiki/SIGs/KDE/PackagingCleanup#Macros>. Please update the spec file to use these new macros and close this bug when all stable branches are updated. If it is not done by <some date>, provenpackager access will be used to use the new macros so that the older macros may be dropped. Thank you for your cooperation.
  • If no response by (some date TBD), use provenpackager to use new macros. (F13 alpha?)
  • Remove old macros

Affected Packages

Package Maintainer Bug filed F-10 F-11 F-12 devel
kde-filesystem
kdeaccessibility
kdeadmin
kdeartwork
kdebase
kdebase-runtime
kdebase-workspace
kdebindings
kdeedu
kdegames
kdegraphics
kdelibs
kdelibs-experimental
kdemultimedia
kdenetwork
kdepim
kdepimlibs
kdeplasma-addons
kdesdk
kde-settings
kdetoys
kdeutils
amarok
audex
bespin
bibletime
choqok
compiz
crystal
digikam
gnash
gtk-qt-engine
kcoloredit
kcometen4
kdebluetooth
kde-plasma-ihatethecashew
kde-plasma-networkmanagement
kde-plasma-quickaccess
kde-plasma-runcommand
kde-plasma-stasks
kde-plasma-translatoid
kde-plasma-weather
kde-plasma-yawp
kde-style-skulpture
kdesvn
kdiff3
keurocalc
kgrab
kgtk
kiconedit
kid3
kio_sysinfo
kipi-plugins
kmid
kmplayer
knemo
kobby
konq-plugins
kopete-cryptography
kover
kpackagekit
kphotoalbum
kradio4
krusader
ksig
ksshaskpass
ktorrent
kvirc
kvkbd
PolicyKit-kde
polyester
quarticurve-kwin-theme
quassel
rkward
rsibreak
sigen
skanlite
smb4k
subtitlecomposer
taglib-extras
yakuake