Smart updated with more urpmi functionality implemented

Over the last week I’ve been messing a bit with smart again. :)
I’ve now merged in 1.1.1 from trunk into my own mandriva branch and
started work on a urpmi channelsync plugin. This plugin will read urpmi’s configuration from /etc/urpmi/urpmi.cfg, use the same metalink data under /var/lib/urpmi
and has also initial mirrorlist support using urpmi’s mirrors cache from /var/cache/urpmi/mirrors.cache, picking the first (thus closest) mirror from that list.

There’s a lot of room from improvement, and it’s pretty dependent on urpmi’s data for all of this, ie. it doesn’t support quite yet to fetch mirror lists itself, picking the
nearest mirror or anything by itself yet, but it works quite well if urpmi has done much of it’s job for it, which is usually the case and makes it work sufficiently
for it’s intended purpose so far!

I will continue to work on implementing support for using several mirrors, generate metalinks, set up and maintain it’s own similar configuration independent of urpmi ++, but this is quite neat progress so far since it makes using smart on a Mandriva system easier and nicer to use. :D

Yesterday I updated smart in cooker with a snapshot of my branch, so people using smart on cooker will from now on find their urpmi medias listed as channels in smart, prefixed with ‘urpmisync-’. Note that these channels aren’t stored persistently in smart configuration, but will always reuse whatever that’s urpmi’s current configuration.

Oh, and also, this obsoletes ‘urpmi2smart’ and the earlier version of ‘distro.py’.

New pyliblzma release

I’ve just released pyliblzma 0.4.1. This release is mainly just fixes to build with liblzma 4.999.6 which I updated cooker to recently.
I was also made aware of issues with smart & pyliblzma in Mandriva, the 0.4.0 release which added the LZMAFile class which were required by
the info.xml.lzma support I recently added to smart, didn’t make it’s way into final release, I suspect it got silently rejected due to a freeze
which I didn’t figure out before someone reported a bug about it. So this has been dealt with now, more info can be found at the Mandriva Linux 2009 Errata.

PylibMetalink

Since I implemented the urpmi aria2+metalink stuff for urpmi earlier and has been starting to focus on doing work on smart now, trying to implement the neat stuff etc. from urpmi, I yesterday thought that it could be nice to implement python bindings for Tatsuhiro’s libmetalink library. This especially since the API was quite simple and seemed easy to implement, and I’m also quite fond on writing python modules in C, python’s C API really rules (in deep contrast to perl’s, like.. wtf? using the C preprocessor to do all sorts of obscure stuff rather than just doing regular C coding?? obscure & fugly!).

Tatsuhiro is also the author of aria2 which I have positive experience with, with him always fulfilling my feature requests for aria2 in no time, I guess using his libmetalink library should be cool as well. :)

So today I finished up my first release and published it on pypi with a project and bzr repo at http://launchpad.net/pylibmetalink.

I’ve also done some work on libmetalink, adding some functionality I needed for pylibmetalink as well as adding some other improvements as well. If you’d like to use pylibmetalink, you’ll need this andyou’ll find my bzr branch for it on the launchpad project page as well. :)

New blog

Ahh, finally I got around to set myself up a new blog!

Many months ago my blog at the Mandriva Club was opened up for comments by outsiders, unfortunately no captcha or anything were set up and within a short time my blog was overrun by disgusting amounts of spam. So we wiped away the spam and I decided to find a new place to blog as I wasn’t really ever happy with the blog platform, also the confusion with blogging on the club about things as it representing Mandriva, my past employmen and what not didn’t really help out either..

So I wanted to find a new blog solution that I could host myself and have full control over. I really wanted to find one written in python, but no luck in finding a decent one, so I thought that I’d implement my a minimal one on my own to customize later. D’oh, I never got around to do that, especially since I hate web development, so today I just settled on wordpress since all the cool kids sayz it rulez and stuff. ;)

Job done, now I just have to tell all my friends, family, stalkers, the people I stalk, baby Jesus and the fallen madonna with the big boobies about it.

Hopefully I’ll let the attention whore inside of me out a bit more often from now on. :)