[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

Filed under: General — Thomas @ 12:35

2003-12-31
12:35

Gnome 2

YES !

Congratulations to all of the Gnome 2 hackers for their sweet new release that rocks my world ! While I have contributed only very little up to now, I'm pleased to be a small part of this and happy to see Gnome 2 ready to take on the part of the world that is wanting !

Filed under: General — Thomas @ 12:34

12:34

GStreamer packages

Ok, time to make our apt repository for Red Hat public. We packaged a large set of dependency RPM's for some of the GStreamer plug-ins. More will be added in the future. It would be great if some of you could test it and give us feedback.

If you're scared of apt for rpm, don't be. Apt is really easy. I've been using it the last few months and I'm very happy with it. It doesn't interfere with other package management programs, and as long as your database is relatively clean, and you didn't force-install any packages, you'll be happy. These days I even

apt-get update

with Ximian's Gnome 2 snapshots ;)

A quick guide :

  • Get apt for your flavour of Red Hat. Start at the FreshRPMS apt repository. Follow the links at the bottom of the page to get the right apt for your Red Hat version (7.2, 7.2 with upgrades, 7.3), and download the apt RPM. Install it.
  • Edit the file
    /etc/apt/sources.list

    . If you're on Red Hat 7.2, add the lines

     rpm     http://gstreamer.net/apt/ redhat-72-i386 deps rpm-src http://gstreamer.net/apt/ redhat-72-i386 deps  to this file. If you're on Red Hat 7.3, just change "72" to 73". 
  • Run
    apt-get update

  • Try it out by running
    apt-get install swh-plugins

    (a collection of LADSPA plug-ins) and see it pull in whatever it needs.

We'll be adding GStreamer itself as well (probably for both rh72 and rh73, and for Ximian Gnome2 and Gnomehide) to these repositories when we do the new release. I'm also considering a "gstreamer-universe" RPM that pulls in all of the other GStreamer packages, so you have a quick way of getting everything there is to get ;)

Feedback on the packages and the process would be greatly appreciated !

GStreamer

The release is now so close around the corner I can smell it. Some very important bugs have been fixed in the last week, and it seems we are winning the war on entropy. We're not there yet, but it's making huge improvements. Let's get this baby out !

Filed under: General — Thomas @ 12:33

12:33

Stupidity

Sometimes you need to do something you know might be stupid. I had been pissed all May for only finding out about The Breeders concert when it had sold out. The day of the concert I was trying to decide to go without a ticket and take my chances, which I eventually did. There was no one selling tickets and some guy a lot bigger than me holding a sign saying "I need tickets".

After some hanging around though, I noticed someone selling a ticket to someone else, and I asked her if she had any left. She said, sure, and I asked her how much it cost. She just asked the regular price ! I said, "You sure that's all you want ?" "It's for the music, no ?" she said. You have to love some people ...

The concert itself was great - it's as if it was only last week they released their former album, Last Splash. I can't believe that was in 1993, incredible. Kim still oozes sexiness (although you have to see her in motion, it's hard to tell from a static picture).

When the show was over, instead of leaving the stage, she just started reaching out to people, shaking hands, talking a little, and so on. Strange. They're coming to Pukkelpop in Belgium so I'm going to try and apply for an interview.

Another stupid thing I've done is send off an article of release clothing all across the world to someone who might be in need for them soon. I hope they arrive in time. I wish I could've gone out and gotten a better article than I did though, but it'll do.

Compaq IA1

I'm working on getting some sort of build system going using the GAR system from BBC Linux to create an image for the Compaq IA1 machines we bought over the internet. They're sweet little things, not bloody useful for actual work but they make a good choice for things like music boxes, watching videos, picture frames, ... I want to put DirectFB on it, as well as GStreamer, and hopefully combine the two.

It's really hard to make a system image for this. It's a non-trivial feedback cycle, to start with (compile, make image, copy to network drive, write to flash disk on a Windows machine, boot up machine with flash disk, write under DOS to internal SAN disk, reboot, see if the system works). The popular Midori build kit mostly used for this comes with a 2.1 glibc, and since I build on RH73 I have a 2.2 glibc, causing my compiles of DirectFB and GStreamer to not work on the target system. I did the stupid thing and copied my glibc libraries onto the images, but of course that makes the init not work when the kernel loads. So at the moment my choices are to either compile glibc 2.2 for it or build in a glibc 2.1 environment.

Unfortunately, my builds of glibc keep failing. I'm not really sure whatsort of things I'm doing wrong, but I guess glibc is really special in that you probably need to muck with all of the ld pre-load options since you're actually compiling what those loaders use. Or something. If you have a clue about glibc building, drop me a line please.

In any case, it'll be really sweet when gst-register just works on it, because that means I can get going with The Good Stuff.

libtool

Libtool .la files are considered to be a pain in the ass, but I've had precious little input as to why this is. What has been irritating me to no end lately is that all sorts of builds that used to work of GStreamer started failing because of .la files gone missing in packages.

Apparently, Red Hat and Ximian are removing .la files from every -devel package, but they haven't done it for all of them yet. So, if you get a .la file error while compiling, people mostly tell you to "just delete all .la files". To me that is an unacceptable answer.

So here's a clue for those who have these sorts of errors : if something complains about a missing .la file, chances are really good that some of the other libs you are linking in (with a -l option) on that gcc line does have an .la file, in which the missing .la file is referenced. It's actually that .la file that causes the build to fail. Removing the .la file is an option, but you could also just change it.

The .la file is just a shell script that sets some vars so that you can get at the actual .so or .a file; just check one.

In any case, I have started to remove all .la files in -devel packages for all of the dependencies we're packaging for GStreamer, as well as all the GStreamer packages. I'm doing this not necessarily because I think this is the right thing (I still don't know exactly WHY Red Hat and Ximian are removing .la files instead of fixing whatever's wrong with libtool that they don't agree with), but because it is what makes sense on the platform I'm packaging for.

I'm just happy to get this sort of issue fixed before doing a release of GStreamer again.

GStreamer

The current thing holding us back to release is an issue with one of the schedulers. For some people, in some cases, the scheduler seems to lock up. The problem is that the issues don't seem to spring up on the machines of people who understand that code and know how to fix it. Sigh ;) Wingo, it's good to have you around on Advogato too, so I can publically thank you for your work on the editor, and try to pressure you into getting together what is needed to solve this scheduler issue so we can release.

GStreamer itself is starting to become fantastic. People always complain about the lack of a decent player, and while they have a point, we never bothered much about it. The whole point is that the player should be very easy to code without much knowledge about multimedia issues, and it basically holds water. We knew that the architecture was solid enough to make writing a player really easy.

This weekend, we were proven right by the fact that, when Steve made some changes to the player code, and reworked things, the player suddenly "just worked" and was able to play quite a few formats that other players can't. Wim played some DV video and a few .sid and .flac tunes, and seeking just worked in all of them !

It's incredible when you add a simple thing and stuff just falls into place.

The apt repository is pretty much into place. I'm going to rebuild all of the packages with the .la files removed, and then put up the links in support of our upcoming 0.4.0 release. This should make it a lot easier for new users to get it running.

Still waiting for Ximian to get back to us on the Red Carpet channel.

Movies

My favourite film happens to be Los Amantes Del Circulo Polar by Julio Medem. It's a great story, incredibly well-told, filled with good ideas, and great acting. It's a romantic, but not clasically romantic, story. And I guess I just like listening to Spanish dialogue.

So now that his latest movie, Lucia y el sexo, is out, I went to see it. Not as good, but still very fantastic. Someone should've warned me though that there was going to be so much sex in it. My girlfriend liked it as well. We were lucky the movie theatre was cool enough to remain seated for two hours.

I dropped her off at her place afterwards, and she seemed really unhappy for some reason. Sometimes she has such bitterness inside of her and I don't really know how to deal with that. Sometimes it's a problem that we're two different persons.

Filed under: General — Thomas @ 12:32

12:32

GStreamer dependencies

I'm on a packaging roll - dependencies for GStreamer are being repackaged one by one at this point. Bitches(1) is a great tool to be able to do this, I'm glad I took the time to work on it before trying to do this, because it allows me to do the right thing from a packaging point of view.

I started working on LADSPA packages. There are a few for Mandrake out there - they always seem to be very up-to-date, which is good for them. Now, ladspa_sdk and cmt_src are two very misbehaving packages from a packaging point of view. The tarballs don't have versions ! It took me some digging through the documentation to find the version. I think that's a bad way of packaging stuff. Now, people on the LAD mailing list tell me that "it's just the ladspa.h header, you don't need anything more". Hm, I think that's poor packaging strategy - ladspa_sdk also includes a few simple apps and some sample plug-ins, and I packaged these too. Also, our code in GStreamer uses some copied source from those examples to load plug-ins and stuff that should've gone into a lib.

So, if you're writing software, make a tarball that unpacks in a dir with the same base name, and make it so the base name contains the version number. While you're at it, it would also be nice if you use a dash to separate between name and version, and maybe even consider not using letters in the version (I've seen anything from a, b, rc, pre, rel, ...). It's totally unnecessary. It looks even worse if you release 4 release candidates with rc in the name, then not make a release for a whole year to follow up on that release candidate.

It doesn't hurt to take some time to learn about autotools. Lots of people think they are evil, but I tend to disagree. It's a matter of learning how to use the tools. It'll save you a lot of headache later on.

GStreamer plug-ins

I wanted to experience first-hand how easy or hard it is to write a GStreamer plug-in for video, even though I have almost no video experience at all. I chose the FAME MPEG 1/4 encoder. I spent about two hours working out the API, copying plug-in code, and adding a few basic arguments, and I managed to encode video. At first it was a bit too greenish (which funnily enough I didn't notice at first since the Matrix trailer I used actually starts with the movie company's logo being green), but a few miscast pointers where the cause of that.

Wim cleaned it up some more and added more stuff, but I seemed to have done a pretty good job of the basics. So, yes, it is easy to wrap a library into a GStreamer plug-in.

GStreamer packages

Still waiting for an answer from the Ximian guys. Meanwhile, I'm setting up apt repositories for Red Hat 7.2 and 7.3 for the GStreamer dependencies. I hope I can get stuff into Red-Carpet before these apt repositories are done, otherwise it would be ironic.

Advogato

This site is quickly replacing my daily SlashDot fix. What I think is wonderful is that people sometimes take the time to answer questions or solve problems you haphazardly ask. I forget who it was who tipped me off to the Toshiba problem I had, but it's good to know, so whoever you were, thanks ! Too bad I can't read more through all the entries to see who it was. Imagine I went on holiday for a week ! How many entries would I miss ???

(1): Still haven't decided whether I should change the name.

Filed under: General — Thomas @ 12:31

12:31

Powershot

I finally caved in to my desires. I still had lots of gift coupons from work, and for the last two weeks I was thinking of bying a digital camera with it. After some research I went ahead and bought a Canon G2 Powershot. It's a great little camera, it takes pictures at 4 megapixels, and it can even record video. I went to a concert yesterday and had hoped to use it but of course I had to charge the battery first. Dumb me.

Spent some time downloading sources for gphoto2, gtkam and others. After trying that and being glad I could easily get at pictures, I decided on getting rpms for Red Hat 7.2. Dependencies went up all the way to Xconfigurator, so I then gave up and decided it was high time to install Red Hat 7.3 on the laptop.

Red Hat 7.3

Over the past year I have done something new when installing new machines. I now always create TWO partitions that can be used as root, and call them alpha and omega. I usually copy over the one to the other when I'm satisfied with the installation. The idea is that I can easily install a new distribution on the other partition without screwing up my working setup. So that's what I did. My Toshiba Tecra 8200 didn't boot from the RH72 cd, and it still doesn't boot with RH73. It's not the disc, they boot fine on other machines, and it's not the CD-rom, it can boot from other OS CD's just fine.

apt-get

After doing this, I tweaked some small stuff, installed apt from freshrpms and changed the sources.list file to point to my local mirror of both Red Hat and Ximian stuff. It felt really perverse doing apt-get install red-carpet. That worked. Jumped into red-carpet just to see what sort of stuff I should be getting. Yikes, 180 MB ! Dropped out of red-carpet and decided to be brave by doing apt-get dist-upgrade. After installing over 150 RPM's, it was done. Pretty amazing. Had lots of errors from scrollkeeper though, but I ignore them since I use Garnome Gnome 2.0 anyway.

As a side note, am busy setting up apt repositories for GStreamer too. I hope to get it into Red Carpet really soon as well but I wish the Ximian guys would get back to us on it. I suppose they must be really busy, which I can imagine.

Camera

Tried to get GnoCam to work, but couldn't manage it. It had a few issues all around and am feeling to lazy to work on it much. For one thing, it insisted on linking to unexisting .la files in /usr/lib - libesd.la, libaudiofile.la, and so on.

I know that libtool .la archives are a big discussion point in the Gnome community, but I don't really understand what the problem is or what the best fix is. I tried linking manually by taking out libtool out of the compile lines, and even though that works, I couldn't seem to get the resulting binaries to work. I probably shouldn't even be getting binaries ;)

« Previous PageNext Page »
picture