A path to xdg-utils2 in python

Simon Lees sflees at suse.de
Thu Feb 28 00:08:10 UTC 2019


Hi,

For those who don't know me, I am currently the xdg-utils maintainer for 
SUSE / openSUSE.

Given that SUSE is in a year where where SUSE doesn't have any major 
releases scheduled I have a bit of extra time, I am also sick of fixing 
errors with desktop file / mime handling in posix shell. People on this 
list have in the past discussed the idea of rewriting xdg-utils in 
python oneday if someone has the time, I asked my manager nicely and I 
now have the time. As such i've developed the very rough plan below that 
i'll work on carrying out if there's a general consensus here that its a 
sensible way forward. I have been allocated a couple of hours a week to 
work on this.

Stage 1: Implement regression tests for the existing xdg-utils in 
openSUSE's openqa instance, openqa.opensuse.org there is already general 
testing for most desktops here but i'm planning to extend these tests 
with more xdg-utils specific tests.

Stage 2: SUSE has a hackweek (https://hackweek.suse.com) once a year 
where SUSE employees get a week to work on whatever they feel like. The 
dates for this years have not been announced yet but my plan is to spend 
most of that week doing the bulk of the rewrite.

Stage 3: Spend 2 hrs a week implementing the remaining code.

Stage 4: Submit a "beta" version into openSUSE Tumbleweed, given there 
will already be regression tests in openqa by the point its accepted I 
should be pretty confident that most of the major issues should have 
been found and fixed.

Design:
Where ever possible i'm currently planning to use as much of the 
existing pyxdg libraries especially for handling all the mime / .desktop 
file handling.

In terms of a build system etc other then the thought that we should use 
one I haven't put in much thought but i'm leaning towards setup.py or 
meson but i'd really like to here anyone else's opinion.

I guess another thing to discuss is are there any of the tools that are 
worth removing / not reimplementing because no one is using them anymore?

Thats all thats floating around in my head atm, feel free to send 
through your thoughts / suggestions.

Cheers

-- 

Simon Lees (Simotek)                            http://simotek.net

Emergency Update Team                           keybase.io/simotek
SUSE Linux                           Adelaide Australia, UTC+10:30
GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B


More information about the xdg mailing list