Sun Jan 28 13:11:36 CET 2007

Old and new ...

I guess everyone of us remembers the "good old days" when things were built to last - the Toaster from the 50s that still works, the oven from 1928 that still manages to bake some excellent cake, etc.
Well ... looks like that evolution still happens. I remember tools from my childhood that managed to last for a decade where the replacements barely do 3 years. And now I have another candidate for this idiocy - DSL modems.
We still have the first DSL modem we received in early 2001, A Telekom Teledat 300 I think. Big thing (about 35x30x5cm), works at max 8Mbit/1Mbit (ADSL1 max). This thing Just Works (tm).
So, progress. The new Arcor Speedmodem 200 or what it's called. About 15x5x2cm. Tiny plastic blob. Works reallllly faaaast - or so it claims. 16Mbit ADSL2+, yay, fast.
Only downside to that is that (a) it crashes every other week and needs to be reset by unplugging the power, counting to 3 and re-plugging the power; and (b) that it fails to reconnect these days. So every day it sits there and is just an elaborate wall decoration until it gets a kick between the eyes. Whatever happened to making things that work?
Guess what. I'm using the old slow heavy modem, because it doesn't contain so much FAIL. It works, and that's all I expect it to do. And I really hope some company starts building stuff like they used to - I don't care if it's 0.3% slower as long as it works. Including when the sun shines (zomg warm!!!), when it rains (humidity? argh!) and even, although that is surely an absurd request, 24/7. Like my old IBM keyboard, built in 1987, that still looks new after every cleanup, which has even recovered from the bouncing s key and the stuck enter-key. Yeah, it costs about 100Eur new. But - it's the last keyboard you'll own because it has an almost unlimited life expectancy. Best of all - you can get them for about 10 Euro on Ebay these days!

Posted by Patrick | Permalink

Sat Jan 27 20:00:33 CET 2007

Why I hate Gnome

So, this one is fun. I installed evolution recently only to have it not work at all. Now the Gnome madness has found another victim:

$ gimp foo.jpg
process 17790: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/var/lib/dbus/machine-id": No such file or directory
See the manual page for dbus-uuidgen to correct this issue.
D-Bus not built with -rdynamic so unable to print a backtrace
Aborted

Weird.
1) I never installed dbus
2) gimp used to work some time ago
So what gives? Easy. Automagic madness. gimp depends on glib which can have an optional depen on dbus-glib which has a dep on dbus. Emerging evolution pulls in dbus (why?!?!?!?) - and gimp / glib / something automatically links against dbus IF IT IS INSTALLED. And, obviously, it needs some conifgumacation.
Now I'm going to have to emerge --depclean until that stuff is gone, then run revdep-rebuild to see what got tainted, then either unmerge or rebuild that. I think I better hardmask that stuff just in case...
Makes me wonder. Is there a sane way to use gtk apps outside of gnome? Or, in other words, does upstream assume you use GNOME (which uncyclopedia correctly expands to GnuGnuGnuimptknome), thus forcing people to either blindly stab until someone or something dies, or do I just magically hit some corner cases noone expects?
On a sidenote, which crackmonkey had the brilliant idea of assuming I have a Desktop, thus trying to store downloaded files in ~/Desktop ?
Flashbacks to Windows. Urge to break things.

Posted by Patrick | Permalink

Wed Jan 24 21:58:39 CET 2007

What package has that file?

That is a question you most likely have had every now and then:
Which package has this file? Well, now you have a higher probability of learning that - I have a new toy to demonstrate.
With the help of Martin aka MvG, who wrote, tested and tested it some more, I am able to provide a lookup database:
f2ebd, the file-to-ebuild database
I hope that people find a use for it, it has been seeded with over 8500 packages that are a result of my compile orgies.
On a sidenote, I'm running 2 out of 4 tinderboxen right now, the AMD Athlon64 X2 is just amazing. I hope to have an ebuild by the end of the week - feel free to annoy me so I don't procrastinate again.
Also I'm looking for people with spare cycles on non-x86 machines, especially PPC - if anyone wants to compile through 10GB of source or so poke me.
That's all for today, my Inet connection lags like [censored], so I'm mostly offline while Arcor pretends to fix the problem. Fun ...

Posted by Patrick | Permalink

Tue Jan 23 19:24:27 CET 2007

A small ebuild riddle

!!! ERROR: app-cdr/dvdshrink-2.6.1_p8 failed.
Call stack:
ebuild.sh, line 1627: Called dyn_setup
ebuild.sh, line 699: Called qa_call 'pkg_setup'
ebuild.sh, line 38: Called pkg_setup
dvdshrink-2.6.1_p8.ebuild, line 29: Called built_with_use 'media-video/transcode' 'dvdread'
eutils.eclass, line 1617: Called die

!!! Unable to resolve media-video/transcode to an installed package
!!! If you need support, post the topmost build error, and the call stack if relevant.

RDEPEND=">=media-video/transcode-1.0.2-r2
>=media-video/mjpegtools-1.8.0-r1
>=media-video/subtitleripper-0.3.4-r1
>=media-video/dvdauthor-0.6.11
>=app-cdr/dvd+rw-tools-6.1
X? ( >=dev-perl/gtk2-perl-1.104 )
>=app-text/gocr-0.40
virtual/cdrtools"

pkg_setup() {
if ! built_with_use media-video/transcode dvdread; then
einfo "Please re-emerge transcode with the dvdread USE flag."
die "transcode needs dvdread support builtin."
fi
}

So ... There's a check for a package that is a RDEPEND (runtime dependency) and which is not installed at compile time.
How does one fix this? Push it to DEPEND ? Inquiring minds want to know (and fix this nasty class of compile failures ...)

Posted by Patrick | Permalink

Mon Jan 22 16:14:41 CET 2007

pkgcore 0.2

# emerge -pv pkgcore

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild U ] sys-apps/pkgcore-0.2-r1 [0.1.4] USE="-doc" 485 kB

Total: 1 package (1 upgrade), Size of downloads: 485 kB

It's out, it's fresh and toasty - the website has more info, including an overview of new features.

Enjoy!

Posted by Patrick | Permalink

Fri Jan 19 22:04:25 CET 2007

Why helping is bad

As you might have noticed FOSDEM is happening soonish. And, as usual, much on the Gentoo side wants to be organized - devroom, booth, accomodation, PR material, CDs and swag for sale etc. etc.
It's quite a few small and not-so-small things that need to be done, and obviously, as all the Gentoo people are volunteers, they can use all the help they can get, right?
Not quite - one person asked me if I could help in the procurement of T-Shirts (which is a trivial thing to do, the hardest part is getting them moved 130km west ...) and was asked not to ask me. So, we need all the help we can get, except yours.

Bummer.
But - here's something quoted out of context:
bonsaikitten was kicked from #gentoo-bugs by kloeri [you suck]
-!- 1 - #gentoo-bugs: ban *!*=dreeevil@gentoo/user/bonsaikitten [by kloeri!n=kloeri@gentoo/developer/kloeri]
So, if you don't want the devrel lead to go medieval on you, don't talk with me! It's for your own good!
-- End of rant --

On the upside, I still have the monopoly on kickbans from #gentoo-bugs (4 if I haven't lost count), #gentoo-userrel (2) and #gentoo-dev (1)
Makes me kind of proud that I'm the only one getting kickbans ...

Posted by Patrick | Permalink

Fri Jan 19 14:47:51 CET 2007

RESTRICTing for fun

So yesterday I wanted to upgrade an older install. Think "2005.0 and never upgraded" and you're getting close.
Thus much fun with CHOST, gcc upgrade etc. the usual, nothing to worry about
But ... emerge -ef world failed. Because of libsdl. Because their server is mostly down. Which is absurd because it's LGPL ...

What happened here was simply upstream changing tarballs, thus messing with checksums. Instead of fixing it permanently (like, you know, by mirroring a known-good tarball somewhere) it was just RESTRICT="mirror"ed. Even a bug for it.
Then I thought ... hey ... pkgcore is this nice tool that can do lots 'o magic ... and I used this:
pquery --attr restrict --raw '*' | grep mirror
to get a list of all packages that have a mirror-restrict. Then I just looked at that list and the corresponding licenses and let my minion masterdriverz go wild.
I hope the packages are fixed soon, should make downloading much more fun ... and maybe people (especially devs) understand the meaning of RESTRICT="mirror" soon ...

Posted by Patrick | Permalink

Tue Jan 16 12:24:32 CET 2007

Support! Support! Support!

After some thinking (yes, I can do that!) I've decided to post this:
Support!
I'll see how that works out, but it would be very nice to get something back for the help I give to users.
If anyone feels offended by this: It's all voluntary. I don't expect anything, maybe it works, maybe it doesn't. Feel free to do or do not do the same ...
In other news, I've decided to rewrite the tinderbox scripts I have, using pkgcore I get package deps for all visible packages in ~12 minutes, sorting that so that dependencies are compile first (not an exact sort, more like a general optimization) takes about 20 seconds.
It's nice because that way merge/unmerge operations should be much less - it sucks because you lose most of the ordering that made parsing the logs so easy. I'll try to use portage for the real building, that way the results are usable for gentoo bugs (which will break the sorting even more because in some cases pkgcore and portage don't calculate the same deps, but ... good enough). Just over 8000 candidate packages on ~AMD64, sounds like fun - and having built ~2500 I wonder how bad the tree is these days. That means my first runs had ~33% coverage because of intermediate failures (like most first-gen Java apps, but that's not really a bug, or gnome stuff because gnome-libs imploded). I think 85% should be reachable without manual intervention ... and I've had some ideas how to make the output more parseable. Fun :-)

Posted by Patrick | Permalink

Tue Jan 16 01:53:26 CET 2007

A new wall in Germany

Usually I keep politics out of my blog ... but sometimes I allow myself an exception. For example when a new wall is built across Germany.
Yes, a new wall. I'm serious. This time a bit smaller (only 13km), but it scares me. The G8 meeting of "important" people like presidents, prime ministers and the Illuminati needs to be protected because people don't like being fsck'ed over, so instead of stopping to mess with people we build a wall.
Maybe they should ask the Israelis - they don't build walls, only fences (10m high concrete-reinforced fences), but the new german wall is a fence (reinforced 2.5m steel mesh with barbwire etc.)
Here is a link, I'm sure you can even find some in english if you search.
It is rare that I feel the need to shout "Mein Führer, I can walk!" like Dr.Strangelove did, todays Television News was such an occasion. Or, as Adenoid Hynkel said: "Democracy ... stunk! Free sprechen ... Stunk!".

So that's my political rant of the week, feel free to ignore - just had to get it out of my system.
"People should not be afraid of their governments. Governments should be afraid of their people. " - and they are. Fnord.

Posted by Patrick | Permalink

Sun Jan 14 18:45:33 CET 2007

Having fun in #gentoo

"Hey, please pastebin emerge --info"
"Ok"


# emerge --info
Portage 2.1_rc4, Emerde 1.2.7 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.4-r4, 2.6.18 i686)
=================================================================
System uname: 2.6.18 i686 athlon-4
Slackware 11.0.0
distcc 2.18.3 i486-slackware-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
[snip]
ACCEPT_KEYWORDS="x86"
CFLAGS="-march=k8 -O2 -pipe"

Sometimes I wonder why I even bother ... Helping people is fun, but this is mildly frustrating, especially after half an hour of trying to find out why stuff fails randomly.

Posted by Patrick | Permalink

Fri Jan 12 15:37:23 CET 2007

More suckage ;-)

So I managed to get my webbrowser to be able to start Java applets.
Easy ... just emerge mozilla-firefox-bin (32bit!) with all the emul-* libs it requires, manually (arghwtfbbq) install a 32bit Java and manually symlink in the Java plugin (headdesk ...)

And ... wow ... GTK+ should be taken out and shot. Why does the 32bit/emul gtk have a _different_ interpretation of fontsizes? Liek ZOMG, how about you just trust my config file and don't try to guess, estimate or predict what might have been wanted. Qt manages to do that. Motif manages. Athena manages. All toolkits since around 1975, except GTK+. I mean... that Gnome is crashy etc., I don't care that much. I can avoid using it. But that the underlying stuff like DBus or GTK is such a mess ... wow.

I think that's enough ranting for now :-) but sometimes I really need to express my frustration with stupidity ...

Posted by Patrick | Permalink

Fri Jan 12 12:09:12 CET 2007

Why closed source sucks

For some obscure reason I need the java plugin for firefox. Not that I want Java, but I try to avoid it for various reasons. One of them being the lack of openness (which is slowly being fixed).
The first killer app used to be the fetch restriction - hey SUN, if I want to use your software you shouldn't make it extra hard ...
That has mostly been fixed with Java 1.6 (hey, took only ... about ... 8 years to get there?), so it is almost usable.
But, sadly, Java does not yet exist in source form. This should not be a problem in itself, but they are linking to libstdc++-3.3, which is basically gcc-3.3 material. So just to use Java I need to inject random bits of older gcc versions into my gcc-4 system. Also, with the newest "fixes" gcc can fail quite nicely on AMD64 (not that I'd hit that ... sigh). So just getting this friggin Java plugin to work has taken about 20 minutes of targetted masking, unmasking, setting and unsetting useflags so that it might even actually install. Plus about an hour of compiling stuff.
That's why I don't like things that aren't open ... they cause trouble you can't easily fix. Linux has spoiled me :-)

Posted by Patrick | Permalink

Thu Jan 11 18:24:13 CET 2007

Playing games: Gnome

So today I thought "self, you still need to import the mails from your old setup!". That is easy, I think, and start down the path to doom.
Step1: emerge evolution
You see where this is heading? Well, it compiled. That's good.

Step2: copy old emails
cp -r ~/old/.evolution ~/.evolution

Step3: start evolution

First thing that pops up:

The application evolution-alarm-notify has crashed.

However you don't have installed bug-buddy, the
GNOME crash report tool. If you want to help us
to make GNOME better, please, install it


1) I don't use GNOME.
2) How can one release software that fails so hard at life?!?
3) Gnome has done that to me with every major release since 2.0. I tried, but now I've just given up.

So ... what do I notice? The old ghost has come back. I mean ... *stab* ... NO ICONS? I've had that error with each major upgrade of gtk. Always some other dirty hack to make it realize that I'm no longer on a teletype terminal and can see graphical representations of things.

Now ... ok, I can somehow guess that [empty box] is printing and [empty box] is new email. But ... A load test! What happens when you ... click ... on an email?

The application evolution-2.8 has crashed.

However you don't have installed bug-buddy, the
GNOME crash report tool. If you want to help us
to make GNOME better, please, install it

Now, I've played many games. And evolution 2.8, almost part 3 of the gnome saga, seems to be an adventure game of exceedingly high difficulty. Lord Segfault, the old boss from the "Fedora Core" saga, returns with upgrades and is harder to beat than ever.

I'm not sure wether my criteria for software are too high ("working" and "functional" being among them) or if gnome just tries to make it easier for Microsoft-users to switch, but I hope they do a full feature freeze and work on stability for a year or so. Maybe then it might be something I'd recommend to my enemies ...

Posted by Patrick | Permalink

Wed Jan 3 16:19:50 CET 2007

Does CCache help?

Yes:
* app-emulation/wine

Wed Jan 3 13:12:55 2007 >>> app-emulation/wine-0.9.28
merge time: 17 minutes and 35 seconds.

Wed Jan 3 13:19:50 2007 >>> app-emulation/wine-0.9.28
merge time: 6 minutes and 34 seconds.

and no:

* sys-devel/gcc
Sun Dec 10 22:13:52 2006 >>> sys-devel/gcc-4.1.1-r3
merge time: 58 minutes and 37 seconds.

Wed Dec 20 05:20:15 2006 >>> sys-devel/gcc-4.1.1-r3
merge time: 59 minutes and 22 seconds.

So, as one can see, while CCache can cause substantial speedups in repeated compilation there are packages that are not affected by it.
Makes me wonder if there are better ways to speed up compilation in general ...

Posted by Patrick | Permalink