Xdg-desktop-menu problem / installing e.g. Open-eCard-App-1.3.0.deb or google-chrome-beta


#1

I ran into an error when I tried to install Open-eCard-App-1.3.0.deb (a software to use the german id card to identify to websites):

user@system:~/tmp$ sudo dpkg -i Open-eCard-App-1.3.0.deb 
Vormals nicht ausgewähltes Paket open-ecard-app wird gewählt.
(Lese Datenbank ... 232245 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von Open-eCard-App-1.3.0.deb ...
Entpacken von open-ecard-app (1.3.0) ...
open-ecard-app (1.3.0) wird eingerichtet ...
Adding shortcut to the menu
xdg-desktop-menu: No writable system menu directory found.
dpkg: Fehler beim Bearbeiten des Paketes open-ecard-app (--install):
 »installiertes open-ecard-app-Skript des Paketes post-installation«-Unterprozess gab den Fehlerwert 3 zurück
Fehler traten auf beim Bearbeiten von:
 open-ecard-app

The bug leading to this is described on the debian bug tracker here.

The problem is that xdg-desktop-menu - a program to install icons into the desktop menu - is not able to access any of its hardcoded(?) directories:

user@system:~/tmp$ sudo strace xdg-desktop-menu install /opt/Open-eCard-App/Open-eCard-App.desktop 2>&1 | grep faccessat
faccessat(AT_FDCWD, "/opt/Open-eCard-App/Open-eCard-App.desktop", R_OK) = 0
faccessat(AT_FDCWD, "/usr/local/share//desktop-directories", W_OK) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
faccessat(AT_FDCWD, "/usr/share//desktop-directories", W_OK) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)

I solved the problem on my system by creating one of the missing directories. I decided to use “/usr/local/share/desktop-directories”.

user@system:~/tmp$ sudo mkdir /usr/local/share/desktop-directories
user@system:~/tmp$ sudo dpkg -i Open-eCard-App-1.3.0.deb         
(Lese Datenbank ... 232499 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von Open-eCard-App-1.3.0.deb ...
Removing shortcut
Entpacken von open-ecard-app (1.3.0) über (1.3.0) ...
open-ecard-app (1.3.0) wird eingerichtet ...
Adding shortcut to the menu

Since the error is known upstream I’m not sure if it would make sense to solve the problem in the Purism repos…