Re: [Evolution-hackers] XDG Base Directories -- Wrapping Up



On Sun, 2010-06-06 at 12:34 -0400, Matthew Barnes wrote:
> Once thing I'd like to get done before Evolution 3.0 is dismantling
> ~/.evolution and moving user-specific data to relocatable XDG base
> directories [1].
...
> [1] http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html


I now have all the migration routines written and I'm fairly happy with
them.  A few more cases to test and I think I may commit this over the
weekend.

For those following the master branch of git, that means that with any
luck your ~/.evolution directory will soon be gone and you'll have far
more control over where Evolution writes files.

To keep your Evolution build running smoothly through this transition,
it's important to heed a few warnings.

        * Keep your git repos up-to-date and make sure you're running
        the
          latest revisions of evolution-data-server, evolution, and the
          exchange/mapi packages if you use them.
        
        * Make sure your newly built e-addressbook-factory program is
          running and successfully acquires its D-Bus interface name:
        
                "org.gnome.evolution.dataserver.AddressBook"

        * Same goes for e-calendar-factory.  Its interface name is:
        
                "org.gnome.evolution.dataserver.Calendar"
        
        * Don't downgrade!  Once you cross this threshold, it's going to
        be
          fairly painful to revert data files back to a state that
        earlier
          Evolution versions can understand.

Each of the three binaries -- evolution, e-addressbook-factory, and
e-calendar-factory -- migrates its own data and then tries to remove
~/.evolution, which only works if the directory is empty.  The idea is
whichever program starts last should succeed.

If all goes smooth, once all three programs are up and running, your
~/.evolution directory will be gone and the files will be partitioned
into three base directories which are by default:

        ~/.local/share/evolution    The user's data files.
        
        ~/.config/evolution         Various configuration and state
        files.
        
        ~/.cache/evolution          Disposable data caches.

If after the migration is complete you find you still have files under
~/.evolution, I'd like to know about it.  I plan to spend the next few
weeks chasing corner cases and tweaking the migration routines so it's
as robust as possible by 3.0.

Let me know how it goes.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]