My First “Brown Paper Bag” Release
Two months ago, I celebrated my first release. I released Kannasaver 1.2 back then.
Yesterday I released Kannasaver 1.2.1 with two fixes:
- I screwed-up the paths in the tarball with a last-minute change on my release script.
- I installed the desktop file with the executable flag set.
Why did noone tell me? Well, I know. Kannasaver is a screen saver, Screen savers are a dying species, so I do not expect the users to storm the server on such a release. But I know of at least the existence of a package for Kubuntu. The packager must have fixed my tarball silently and ignored the desktop file issue. A bit of a pity.
So there is one point I want to add to the list of things one should have done at least once.
- create a package for the Linux distro of your choice
When I tried to package Kannasaver for Debian, I immediately saw the screwed-up paths in the tarball. I could not believe it first because I checked the tarball several times and test-built it … before … I made a minor change on my release script and re-created the tarball before uploading. Bad idea. :)
After the first Debian package was built successfully, I let Lintian (checks packages for common mistakes and policy violations) run over the results. The desktop file had the executable flag set. I remembered a discussion on some KDE mailinglist I cannot find anymore about this topic that I did not fully understand. Then there were some commits that changed the CMake files to install desktop files as PROGRAMS, instead of FILES. Back then I just adopted that change. Another bad idea. :)
It turned out I was wrong. Desktop files of plug-ins, artwork, screen savers etc. are not affected by this. They are still installed as FILES.
So these are the two issues fixed in Kannasaver 1.2.1. I do not know if it is a good or valid idea to make a whole new version out of these changes, but I decided to do so for clarity reasons.
Well, so many things to learn from. :)

This is the background for installing .desktop files as +x:
http://lists.kde.org/?l=kde-core-devel&m=128595109525156&w=2
Now I don’t know how this affects other desktop environments.