zen blog

freedesktop.org

Entries feed - Comments feed

Monday 15 March 2010

desktop-file-utils news, and an easy way to contribute

A few weeks ago, I migrated desktop-file-utils from CVS to git, but after pushing it, I realized I could have done the migration in a slightly better way. Ouch. Enters one hero, Tollef: he was kind enough to allow me to kill the old git repository and start from scratch. This means desktop-file-utils finally lives in git. Woohoo!

It enabled me to commit various patches I had done locally in the meantime (I really didn't want to use CVS again, so I was waiting for git ;-)), and then to release desktop-file-utils 0.16. It's the first release since February 2008! Two years without a tarball is quite bad, especially since there were fixes waiting in CVS. But everything is good again, and we should now be back on track, with more frequent releases.

There are a bunch of changes in this release, including improved checks when validating a .desktop file. Of course, there's always the risk that this will result in files that are now invalid while they used to be marked as valid, but the new future error type of warnings should mitigate this. The other good news is that there's only one enhancement request opened in bugzilla, and I'm not even sure there's something we can do about it. But I'm confident you've already find a bug, so don't forget to file it ;-)

It all looks perfect, doesn't it? Well, there's one big thing missing, though: a regression suite. I still can't believe that we're releasing a validator for .desktop files without a regression suite, and I'm convinced there have been regressions in the past (or even in this release) that went unnoticed. I'd really love to have a few people help create tons of .desktop files that would stress the validator and make sure it validates what the specification says. It's an easy way to contribute: it just requires free time and understanding of the specification. Please contact me if you want to give it a try!

Friday 19 February 2010

A few words about cups-pk-helper...

It looks like I succeeded in never promoting cups-pk-helper... Let me try to fix this so that more distributions start to look at it :-)

One year and a half ago, for openSUSE 11.1, we wanted to make it easy to configure printers. So naturally, we integrated system-config-printer since it works well, is well-maintained, and is adopted by other distributions. However, the security team didn't want to make the default cups configuration too permissive (for good reasons), and it resulted in lots of root password prompts by default, which is not so cool for end-users. And we thought: So if we don't want to make the whole cups configuration permissive, maybe we could have a mechanism to have fine-grained privileges... There's this cool little project called PolicyKit that could help. This is how cups-pk-helper was born.

We could of course have tried to push this solution in cups itself, and to be honest, this is what would make most sense. However it would have required much more effort: nobody wants a patch that wouldn't get accepted by the cups team, and the cups team would certainly require this feature to work in a way that would make it implementable on other operating systems. And I didn't feel ready for such a battle.

So I went ahead with the small helper, and after a few hours of hacking in September 2008, there was already some working code and a patch to make system-config-printer use this. A few bugs later, it all went in openSUSE. At some point, Tim Waugh accepted the system-config-printer and Fedora also started using cups-pk-helper. This is also when Marek Kasik started working on cups-pk-helper, implementing some additional features.

Fast-forward to today. I've just released cups-pk-helper 0.1.0, and I'm hopeful that the code will move to git.freedesktop.org really soon now.

So what kind of fine-grained privileges do we offer? There are actions for editing local printers, remote printers, classes, jobs you own, or jobs you don't own, as well as simpler actions like the one to enable a printer (something you might want to allow without allowing the edition of a printer), or a low-level action that can be used to upload/download a file to/from the cups configuration. We're trying to be relatively flexible, while still limiting the actions to what we believe is really useful. What we have right now looks relatively reasonable, but it's certainly also wrong in some ways. We just need feedback to know how it's wrong ;-)

To make it easy to integrate cups-pk-helper in system-config-printer, the D-Bus API is based to a large extent on the pycups one. The good news is that the API makes sense, so it's no big deal; but we could possibly diverge a bit if needed. So if you're working on another tool to configure printers, don't hesitate to look at the D-Bus API and send comments on what is missing there for you.

Oh, and of course, in openSUSE, we still require the root password for all those fine-grained privileges, but at least this is easily configurable now :-)

Sunday 27 April 2008

Live from GUADEMY (bis)

So, Richard is giving his talk about PackageKit. But you, know even his talk has major bugs. Clearly bad. I guess he will argue that it's not his fault, and that's because we went to a typical spanish restaurant on Friday evening. I'm not sure I can talk about this unique experience, though, to be honest. Will doesn't want to share too much details either, but I'm sure Richard will be glad to write about the whole story.

On the constructive side, yesterday, I've been hacking a bit on desktop-file-utils and ironing out the plan to take over the world, err, I mean, the plan to fix many issues with the fd.o specs. Hopefully, everything will go smooth.

Friday 25 April 2008

Live from GUADEMY

It feels like summer here. Oh, you might not know where "here" is: Valencia. I got invited to talk at GUADEMY, and so far it's pretty good. Good to see some friendly faces (can't find all the links to all blogs), and to be lost in translation again (although I can get a few words here and there if I listen carefully). Thanks to the organizers for having thought to me (and of course, to Novell for having let me come ;-)).

I finished my freedesktop.org specifications: are they boring? talk nearly a hour ago. I should probably put the slides somewhere, but basically it was about explaining the current status of the specifications and describing the huge list of things that we're doing wrong there. But there's no need to be negative about the future: there are some basic steps that we can follow to help improve the situation. Like better hosting, better update process, better consistency, more visibility. I'll probably talk a bit more about this in the future. The feedback was good, so at least, it seems I'm not thinking totally wrong ;-) Also, the talk was live-translated, which was pretty amazing, although I can't be sure I wasn't insulted in some way in the translations (nah, kidding, everybody is warmly welcoming here).

Oh, and I wish we had university campus in France as nice as the one in Valencia. It surely feels good. Or maybe it's just that it feels like summer :-)

Tuesday 18 March 2008

freedesktop.org & Google Summer of Code

GNOME and KDE both use a lot of technologies and projects which often falls under the freedesktop.org umbrella (hmm, freedesktop.org umbrella, that's a topic for yet another blog post I have to write; or you can read a french post I wrote last year) , and it totally makes sense for our pojects to help those projects whenever we can. For example, in the past, we've been open about Google Summer of Code projects that were not stricly related to GNOME (or KDE, although I can't speak for the KDE administrators). But for some reason, it never crossed our minds to go a step further and really announce this and cooperate on this. Well, after a brief mail exchange with Thiago, now it's fixed.

So all avahi, ConsoleKit, D-Bus, hal, HarfBuzz, NetworkManager, poppler, etc. (I'm sure I'm forgetting tons of projects) people out there, make sure to read Thiago's mail and to help us improve your projects! You just need ideas for Google Summer of Code projects and also time to mentors students.

- page 1 of 2

by Vincent