wnd's weblog


October 2011
Mo Tu We Th Fr Sa Su
26 27 28 29 30 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6
Categories
Archive

Downgrading Debian packages

5 October 2011 11:13:17 Debian, for future reference, my software

After upgrading my Debian (unstable) workstation a few days I found X to be awfully slow. Also, X would refuse to load Nvidia's proprietary driver due to ABI incompatibility. ABI issue was easily "resolved" with an option in X.org's configuration, but slowness was still there. Driver update a day later only solved the ABI issue. Another day later I grew tired of X's slowness and decided to do something about it. I decided to downgrade X. Unfortunately it wasn't that easy.

Ever needed to downgrade a package with too many dependencies to count? plan-downgrade.pl may help. Read more.

Permalink | Comments (0)

GStreamer stuff for future reference

10 August 2011 11:53:50 for future reference

Do you have a dump from /dev/dvb/adapter#/dvr# but can't play it with GStreamer (using decodebin2)? Can other application such as mplayer play it? Make sure you use the right demuxer. I discovered that on my work computer decodebin2 was using flutsdemux (from Fluendo) to demux the transport stream. Skipping the details, this didn't work. FFmpeg's ffdemux_mpegts did.

For future reference

Play data dump from a DVB device (also: one source, multiple sinks)
gst-launch-0.10 filesrc location=input.ts ! ffdemux_mpegts name=demux demux.! queue ! ffdec_mpegvideo ! autovideosink demux.! queue ! ffdec_mp3 ! autoaudiosink
Show which GST components are being used
gst-launch-0.10 --gst-debug=GST_ELEMENT_FACTORY:3 ...
Permalink | Comments (0)

Conquest, an epic space empire game

5 April 2011 13:26:33 software

I've finally released a "backport" of Conquest, an epic space empire game. This version compiles cleanly on GNU/Linux and fixes some annoyances and bugs of the "original" Amiga port.

Get the sources or read more about this premium quality project-killer.

Permalink | Comments (0)

Debian Squeeze, Apache 2 and chroot

28 March 2011 13:11:20 Debian, rant, software

Today, I upgraded chikan.katei.fi to Debian GNU/Linux Squeeze. I prepared for the opration by going through release notes and reading about possible caveats. Everything went smoothly from upgrading the kernel to upgrading to GRUB2. Because I generally tend to believe that Debian maintainers know it better than me, I often choose to replace my own configuration files with maintainer versions -- only to merge my settings manually. When I was supposed to be finished, I realised that my Apache 2 configuration wasn't quite working as intended.

I spent quite some time trying to figure out why my virtual hosts were not working. More precisely, why could Apache 2 find the configuration files and accept DocumentRoot but not find the actual files it was serving. I also noticed that disabling ChrootDir option would make things work just like magic. Eventually I realised that Apache root process was chrooted to one directory and the workers in another under the main root. This didn't look healthy as symlinks at worker root could no longer be followed.

A quick run of querybts revealed that Apache 2.2.10 had introduced a new configuration option: ChrootDir. This caused mod_chroot to chroot the main process and Apache to chroot the workers one step deeper. At first I tried disabling mod_chroot, but I wasn't happy with Apache main process being in the wild, and decided that built-in ChrootDir wasn't the way.

After some consideration I decided to compile a special version of mod_chroot (or libapache2-mod-chroot). A version that would use configuration keyword ModChrootDir instead. I know this was ugly but at least it did the trick. It did the trick quite painlessly, I might add.

Lesson learned: Using obscure Apache 2 modules can be asking for trouble. mod_chroot hasn't been updated for nearly four years so I should've known better. Perhaps I should see if using built-in chroot would be a good idea after all.

Permalink | Comments (0)

icasefile

27 February 2011 21:42:12 my software

Get your copy of icasefile while stocks last. icasefile is a LD_PRELOADable wrapper for several libc functions such as open(), stat() and chown(). It allows user to access files regardless of filename case -- just like underlying filesystem was case-insensitive. If you can't think of a reason why this would be useful, you don't need this toy.

Minimal project page with link to sources.

Permalink | Comments (0)