Bug 770313

Summary: xfce-utils writes a buggy .desktop file in ~/.config/autostart
Product: [Fedora] Fedora Reporter: Michal Jaegermann <michal>
Component: xfce-utilsAssignee: Kevin Fenzi <kevin>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 16CC: cwickert, dwmw2, kevin, maxamillion, ofourdan
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-14 01:32:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Write desktop files which do not cause parsing complaints
none
a script, for root, to fix previously written bad .desktop files none

Description Michal Jaegermann 2011-12-26 00:19:43 UTC
Description of problem:

After starting Xfce once one later gets in ~/.xsession-errors:

gnome-session[15872]: WARNING: Could not parse desktop file /home/michal/.config/autostart/xfconf-migration-4.6.desktop: Key file does not have key 'Name'
gnome-session[15872]: WARNING: could not read /home/michal/.config/autostart/xfconf-migration-4.6.desktop
gnome-session[15872]: WARNING: Could not parse desktop file /
Indeed, key 'Name' does not exist as this file has only these lines:

[Desktop Entry]
Hidden=true

This is clearly produced by /usr/lib64/xfce4/xfconf-migration/xfconf-migration-4.6.pl


Version-Release number of selected component (if applicable):
xfce-utils-4.8.3-1.fc16

How reproducible:
On every attempt to use files in autostart

Additional info:
"Fixing" that file does not help as in such case seems to immediately overwritten.

There appears to be the same trouble with  xfce4-settings-helper-autostart.desktop but I am not sure what wrote that file. In any case one sees:

/home/michal/.config/autostart/xfce4-settings-helper-autostart.desktop: Key file does not have key 'Name'
gnome-session[15872]: WARNING: could not read /home/michal/.config/autostart/xfce4-settings-helper-autostart.desktop

Comment 1 Kevin Fenzi 2011-12-26 07:01:24 UTC
Try xfce-utils-4.8.3-2.fc16, which I just submitted for stable. 

https://admin.fedoraproject.org/updates/FEDORA-2011-16960/xfce-utils-4.8.3-2.fc16

Comment 2 Michal Jaegermann 2011-12-26 17:34:45 UTC
(In reply to comment #1)
> Try xfce-utils-4.8.3-2.fc16, which I just submitted for stable. 

It helps tiny bit here but not that much.  There are at least three possible cases here.

1) ~/.config/autostart/xfconf-migration-4.6.desktop (or .../xfce4-settings-helper-autostart.desktop) already exists and it was written as

[Desktop Entry]
Hidden=true

This will cause complaints as described.  A minimum acceptable .desktop file would need something like

[Desktop Entry]
Name=name
Type=dummy
Hidden=true

If you will skip 'Type=...' then you will only replace one nastygram with antother in "Could not parse" complaints.

2) Desktop files were edited to include 'Name=...' and 'Type=...' lines. With xfce-utils-4.8.3-2.fc16 they seem to be left alone and everybody is happy.  That is a progress.  To fix already existing desktop files in question one would likely need to run a package script on an update which does such thing.  That is quite easy to do (and I can jot a quick proposal for such thing if you want me to).

3) The desktop files in question do not exist.  You log into an Xfce seession and they are written in a buggy format and we are back to a case 1).  That is not so surprising if you look into a code in /usr/lib64/xfce4/xfconf-migration/xfconf-migration-4.6.pl; that fragment which follows "# ensure autostart dir exists".  That is trivially fixable.  As I wrote - I am not sure what writes ~/.config/autostart/xfce4-settings-helper-autostart.desktop

I do not know if I covered all possible angles.

Comment 3 Kevin Fenzi 2012-01-11 18:33:52 UTC
Yeah, messing with users files is always touchy, but if you want to attach a patch to do that we can take a look. 

I thought I had fixed xfconf-migration-4.6.pl too, but I guess not. I can look at that, or if you want to attach a patch for that it would be great. 

Adding Christoph here also. We should look at getting this fixed upstream as well.

Comment 4 Michal Jaegermann 2012-01-11 22:23:26 UTC
(In reply to comment #3)
> Yeah, messing with users files is always touchy, but if you want to attach a
> patch to do that we can take a look.

Well, one should not write, from scratch, files which are causing parsing complaints. Patch for xfconf-migration-4.6.pl is attached.

As I wrote I am not really sure what is writing ~/.config/autostart/xfce4-settings-helper-autostart.desktop
I suspect that this would be /usr/bin/xfce4-settings-helper but this is compiled and I did not look at sources.  If my guess is correct then a change similar to what follows should be done too.

This leaves a problem what to do with these .desktop files which were already written and they are not changing anymore.  One apparent possibility is to conditionally edit them in a package script on an upgrade.  Such script is attached too.

Comment 5 Michal Jaegermann 2012-01-11 22:25:43 UTC
Created attachment 552247 [details]
Write desktop files which do not cause parsing complaints

Comment 6 Michal Jaegermann 2012-01-11 22:38:54 UTC
Created attachment 552250 [details]
a script, for root, to fix previously written bad .desktop files

This is not entirely correct as there are really no guarantees that home directories are located in /home/.  OTOH walking through /etc/passwd is of no help either as a relevant information can be on NIS, or LDAP, or ...
Peeking into /home/ should cover in practice nearly all relevant cases but if there is some more reliable way then by all means ...

When something of that sort would be used as a package script then all output should go to /dev/null and exit status should be forced to be 0.

Comment 7 Christoph Wickert 2012-01-12 08:15:37 UTC
While I admit that this is a bug in xfce-utils (and in xfe4-settings) I don't think that we should have any %post scriptlet to fix this.

Comment 8 Michal Jaegermann 2012-01-12 16:48:23 UTC
(In reply to comment #7)
> I don't think that we should have any %post scriptlet to fix this.

Maybe you are right but since files in questions are written automagically, and will not change with the current xfce-utils, then maybe you should drop a note into package docs which would tell how to fix it if somebody feels so inclined?

Comment 9 Kevin Fenzi 2012-01-20 21:47:41 UTC
Adding ofourdan here for comment. ;) 

In the mean time it makes sense to me to apply the .pl part of things to prevent things moving forward.

Comment 10 Kevin Fenzi 2012-01-20 21:52:35 UTC
Fixing component. ;(

Comment 11 Christoph Wickert 2012-01-21 00:11:09 UTC
(In reply to comment #8)
>
> Maybe you are right but since files in questions are written automagically, and
> will not change with the current xfce-utils, then maybe you should drop a note
> into package docs which would tell how to fix it if somebody feels so inclined?

I don't really think this is necessary because it's only a single warning in a log file but not a serious bug.

Comment 13 Fedora End Of Life 2013-01-16 23:05:53 UTC
This message is a reminder that Fedora 16 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 16. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '16'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 16's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 16 is end of life. If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora, you are encouraged to click on 
"Clone This Bug" and open it against that version of Fedora.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 14 Fedora End Of Life 2013-02-14 01:33:06 UTC
Fedora 16 changed to end-of-life (EOL) status on 2013-02-12. Fedora 16 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.