[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

Filed under: General — Thomas @ 12:39

2003-12-31
12:39

automake

tromey, I think the number one reason why people think automake sucks is because they don't spend the time necessary to learn it a little. It's not an end use program, it's a tool to do programming, so everyone just wants to get it out of the way as quick as possible.

Having spent quite some time learning it a little to work well for GStreamer, I must say that automake is a very powerful tool and has in the end saved us all a lot of work and time. I happily use it in all my programs now, and once you've built up some residual knowledge and learn to copy templates well from the other projects, it's really handy.

It's not always easy sorting out the whole libtool, autoconf and automake mess, but given where it's coming from and the number of architectures it has to work on, it's amazing that it works so well.

As for a re-write, that might be a good idea. I think it really has come to the point where you can only do incremental bug fixes to the toolset. If you want to resolve bigger issues with automake, which you just mentioned, then a rewrite might be in order. The problem you'll face is that practically no one will help you. Everyone is quick to say automake sucks, but they'll probably not help because it's just too damn hard and not sexy enough to their opinion.

So since I never let you know before how much I like automake (and the other tools), here it is : thank you !.

GStreamer

Yay, managed to push the final release out the door ! Come and get GStreamer 0.4.0 : Desperately Seeking Sexiness. Please give us bug reports and feature requests, we are looking for interested app developers ! Also, the Red Hat apt-rpm has been updated, so check that out as well.

One thing I hated is something other people doing releases on fairly big projects might have encountered as well : the importance of a code freeze and good testing before the release. I have started becoming pretty anal about release stuff and quality. There's lots of stuff out there I've started disliking :

  • packages with letters in their versions (0.9b ?) : seriously, what does the letter give you that the numbers don't ?
  • packages doing prereleases by adding pre or rc to the version (1.0pre1 ?) : this is so hard on lots of package management systems and package scripts, it's really not funny to be on the receiving end
  • packages not unpacking in a dir with the same name as the tarball. Even worse when they just unpack in the current dir and you spend too much time cleaning that src dir out again because you're too lazy to figure out how to get tar to print you a list of contents to pipe through xargs and rm.
  • packages with just plain weird versioning or not doing proper releases at all. avifile is my number one pet peeve in this department. They stopped doing real releases a long time ago, they only do snapshots anymore. Every package using avifile ends up requiring either a specific CVS snapshot or including all of the code again. It's incredible. Never mind the fact that even with this snapshotting versioning number they still use ordinary versioning as well. The current "release" is avifile-0.7.9-20020704.tgz and unpacks in a dir called avifile0.7-0.7.9. It used to be even worse by the way. I mailed their list about it and apparently it was the debian packager who requested the tarball to unpack like that.

On the other hand, I realize full well that this is open source, and that it's not always easy to do this sort of stuff well. Plus, I have become too anal about it. But still, I want to help improve stuff. So if anyone wants to discuss this sort of stuff or have some help in improving their projects, feel free to ask.

But on software freeze before a release : I tend to do a few pre-releases of GStreamer before the final release, testing out various stuff, adding last-minute bug fixes, checking if docs are there, and so on. Today the same person that did so the last time around started adding stuff to the release branch right after I had done the final of three pre-releases. So I spent a lot of time tweaking those prereleases and getting them out there and tested, and all of a sudden someone starts putting code fixes in CVS and stuff for things they consider important but didn't get round to doing long before the release cycle. That makes me so mad, because a last-minute fix can easily break a whole lot of stuff. I see lots of projects around who have to put out immediate follow-up releases because something is missing from the dist or something doesn't compile properly...

So how do other projects deal with that ? What's a good policy during release preparation ?

Apparently some people of Gnome and/or Ximian would like someone of the GStreamer crowd to be at the Boston Gnome summit. wingo is going to go. They're also considering paying <person>omega</person's plane ticket, but he can't make it, so he suggested I should go. It'd be weird but nice to go to Boston. It probably won't happen, but it's fun daydreaming about it ;) I'd have to get time off from work at a busy point and Ximian would have to agree to it. But who knows ?

Free Software

I spent some time on IRC in various channels lately trying to answer questions other people have. Or at least, when I ask a question, hang around long enough to answer three questions of other people.It's all about fighting entropy. I've had good and bad experiences altogether. There was this guy jumping into #redhat, asking how to build an rpm from a .src.rpm. He asked the question, and not one minute later he said something like "pah, #redhat and nobody knows how to build an rpm" and left. Dude, have some patience !

So I dialogued him, and started by calling him rude and giving him the answer at the same time. He ended up discussing it a little and asking me why I thought I was rude, until he apologized. That actually felt good.

On the other hand, there are very thankful people as well. Someone in #gnome-help provided a link to two screenshots, one with an ugly gnome2 and a pretty gnome2, and he said his looked like the ugly one and he wanted it to look like the pretty one. So I spent some time explaining to him what I had changed until he was happy with it. And then I asked him to promise me one thing : to hang around the channel long enough to answer the same question for three other people. And he agreed. And then said thank you. Sometimes it warms the heart to be involved in open source. If you work at Microsoft, does the money in the bank warm the heart enough to not mind not being thanked once in a while by random strangers ?

Teeth

Went to the dentist again today. I hate dentists. I mean, they're ok, but I hate going to them. I got three teeth filled in a row today. And every dentist I ever went to says it's easier to tranquillize an elephant than me. Today I got eight separate needle injections.

And I have a few more visits to work through...

Pants

Am starting to fear no one will be on receiving end of pants.

2 Comments

No comments yet.

RSS feed for comments on this post. TrackBack URL

Sorry, the comment form is closed at this time.

picture