GNOME Bugzilla – Bug 84183
Assumes $HOME/.gnome exists (which is not always true)
Last modified: 2004-12-22 21:47:04 UTC
libgnomevfs tries to write a few times to the .gnome directory in the user's home directory. This happens in: gnome-vfs-application-registry.c gnome-vfs-configuration.c gnome-vfs-mime-info.c gnome-vfs-mime-monitor.c gnome-vfs-mime.c Unfortunately, this directory will not always exist. Doing a clean GNOME 2 install, without having GNOME installed is going to be a common case in the future. Alternatively, blow away all .gnome* directories from $HOME is today's way of making it appear. The libgnome library will create $HOME/.gnome2 on startup if it doesn't exist but not $HOME/.gnome. I can understand why libgnomevfs cannot get this information from libgnome (it cannot depend on libgnome), but it is also unfortunate to assume that directory exists. Either another special case is needed, or the required directory should be created. Failing quietly is not really enough, since any user changes to MIME configuration or default application usage cannot then be saved. Alternatively, have I missed some environment variable way of working around this problem?
Hmm, seems like a problem. Do you think we should check / create at startup gnome_vfs_init or when we actually use the dir (in case people remove it later). I would think that checking and creating at startup would be good enough because if you mess around with your .files you're getting yourself into trouble anyway.
I would just do the creation in gnome_vfs_init, because fooling around with directories like that after startup has always been bad in GNOME, so people shouldn't be in the habit of behaving that way.
If you write a patch I'll commit it (or you can commit it after I have a look over it if you've got CVS access). Otherwise I don't know when I'll get to it.
Created attachment 9211 [details] [review] Fix
Fixed in CVS HEAD and gnome-2-0 branch.