← Back to team overview

unity-dev team mailing list archive

How to keep launcher when desktop file is temporarily removed?

 

Hi Unity developers,

I'm the current packager for Unity-for-Arch project in Arch Linux. I've been
having a problem for quite a while now, where the launchers would disappear when the repective package was upgraded. I wrote a simple c program with inotify, and found that the Arch's package manager deals with upgrades differently from dpkg.

On Ubuntu, an upgrade operation is like this:

* Install /usr/share/applications/firefox.desktop.dpkg-new
* Move    /usr/share/applications/firefox.desktop.dpkg-new
  to      /usr/share/applications/firefox.desktop

On Arch, an upgrade operation is like this:

* Remove old  /usr/share/applications/firefox.desktop
* Install new /usr/share/applications/firefox.desktop

This explains why the launchers were disappearing. How can I patch Unity to deal
with this situation?

I wrote a (quite ugly) patch: http://paste.ubuntu.com/1622682/

The patch will wait for the package manager to exit before doing anything, but
that hangs the launcher until the upgrade process is finished. Does the
wait_for_pacman() call belong someone else? Or should I approach this
differently?

Thanks in advance!

Xiao-Long Chen


Follow ups