Possible patch for Packaging.txt
As was discussed last week, I've added a blurb to kdelibs4-dev's
Packaging.txt document, describing some changes that occurred with the
move to the freedesktop.org menu spec that might be handy for packagers
to know. I've also made a few minor formatting tweaks.
I'm just learning as I go, so if anyone spots any misconceptions or
outright errors, let me know and I'll revise the patch.
--- Packaging.txt (revision 99)
+++ Packaging.txt (working copy)
@@ -21,9 +21,9 @@
These templates include the bits mentioned in this file.
-Debian/KDE Menu System
+Debian Menu System
When building your package you will most likely end up with a
debian/menu file for creation of menu entries with the Debian menu
@@ -70,10 +70,10 @@
kdelibs4 (= 4:3.2.1-1), kdelibs-bin (= 4:3.2.1-1), libart-2.0-dev, libarts1-dev (>> 1.2.1), libaudio-dev, libc6-dev, libcupsys2-dev, libfam-dev, libfreetype6-dev, libjpeg62-dev, libmng-dev (>= 1.0.3), libpcre3-dev, libpng12-0-dev, libqt3c102-mt (= 3:3.2.3-2), libqt3-headers (= 3:3.2.3-2), libssl-dev, libxft-dev, libxml2-utils, libxcursor-dev, libxrender-dev, qt3-dev-tools (= 3:3.2.3-2), xlibmesa-gl-dev | libgl-dev, xlibmesa-glu-dev | libglu1-mesa-dev | libglu-dev, xlibs-dev (>= 4.2.1), zlib1g-dev
99% of the time that will more than cover a KDE app. There will of course
-be specific stuff you'll need to add....for example knetfilter requires iptables
-to be installed in order for it to build...kdemultimedia requires ncurses,
-slang and other things to build. Either way you should make sure you get them
+be specific stuff you'll need to add. For example, knetfilter requires
+iptables to be installed in order for it to build, while kdemultimedia requires
+ncurses, slang and other things to build. Either way you should make sure you
+get them all.
@@ -82,9 +82,9 @@
If your KDE based app uses the kde-common stuff you'll have a admin/
subdir which if it's recent will contain a debianrules perl script.
-The current version of it does very little. The biggest job it has is
+The current version of it does very little. The biggest job it has is
to make sure that all the KDE variables are set properly for
-build...this includes a configure line.
+build; this includes a configure line.
With the code in the rules file of the kde dh-make template, you can
see we create a file called debian/debiandirs which contains all the
@@ -97,6 +97,41 @@
out of 10 you won't have to do a thing.
+KDE Menu System
+With the release of 3.2, KDE adopted the freedesktop.org desktop entry
+specification for its menu system. This specification is available at
+In versions of KDE prior to 3.2, a program's .desktop file existed in a
+subdirectory of /usr/share/applnk, where the subdirectory name corresponded to
+the desired submenu of the overall KDE menu.
+Now, however, a program's menu entry .desktop file should exist in the
+/usr/share/applications/kde directory, and should fully conform to the
+freedesktop.org specification format. Note that the KDE submenu in which the
+program's entry will appear is now determined by the values given to the
+Categories key in the .desktop file. A list of suggested categories is
+provided in the draft freedesktop.org menu specification, available at
+Up-to-date upstream source should use the freedesktop.org standard location and
+format. Presently, .desktop files in /usr/share/applnk and its subdirectories
+are still incorporated into the KDE menu, for the sake of backwards
+compatibility. However, unless backwards compatibility with pre-3.2 KDE
+releases is explicitly desired, a .desktop file under /usr/share/applnk and/or
+one which does not conform to the freedesktop.org format should be considered
+Note that with KDE 3.2, the KDE submenu of entries generated from .desktop
+files in /usr/share/applnk, and its subdirectories, is determined by the values
+of the Categories key in the .desktop file, if that key exists. If it does
+not, then the KDE submenu of the entry will be determined by the name of the
+/usr/share/applnk subdirectory in which the .desktop file resides.
@@ -125,7 +160,7 @@
If there's something I'm missing from this document (and I'm sure there is)
-please send mail off to firstname.lastname@example.org and I'll get it added
+please send mail off to email@example.com and I'll get it added
for future releases. I'd like it if this could answer 99% of the questions
one might have about packaging up a KDE based app for Debian.