I spent a day messing with Gobo, and X is still messed up. Plus, Gobo seems to have even worse problems figuring out dependencies than other distros. Here’s my experience, in a nutshell:
- Look for some commo package using FindPackage (ssh, Xorg, etc). Wait while, every single time, it tries to sync with some server (caching is, obviously, broken).
- Be unable to tell whether the package is a available as a binary, but at least we have a name.
- Try to install some common package (InstallPackage). After another annoyingly long wait, InstallPackage fails to find a binary.
- Compile the recipe from FindPackage.
- The config stage, invariably, fails because it can’t find some dependency.
- Repeat from (1) for the dependency.
- When finished recursing for the dependency missing in (5), try to compile the original package again.
- Compile will fail, again, because – for some unfathomable reason – Gobo is too stupid to add the package you just installed to the pkgconfig chain.
- Manually set
PKG_CONFIG_PATHand try to compile again.
- Repeat from (5), failing on some other dependency
- And, remember, at every step, baby the process along because the Gobo tools are extremely interactive, and will always require at least one human query/response.
This is worse, even, than RPM, where at least you didn’t have to go through the entire autobuild process to discover the recursive dependencies.
This renders Gobo entirely useless. I finally gave up when xorg-server needed specific versions of other packages that, apparently, weren’t installed. I’m not even sure where it was getting the wrong versions of the packages. Furthermore, xrandr was utterly useless, having either been compiled without most of the functionality, or being some ancient version that didn’t have the options. I’m not sure which is the case. I had been working with Gobo 014, which was supposed to be the most current, but the version of xrandr that was installed was some three-year-old 1.1 version which was unable to detect my external monitor correctly (xrandr 1.2, which has been out for a couple of years, has no such problem).
- SSH isn’t installed off the CD. WTF?
- X doesn’t work with the install off the CD.
- There are almost no binary packages. Everything is built through Compile, which is too stupid to resolve dependencies by itself (yah, this is my main complaint)
- Half of the default mirrors are broken, or down. It is extremely common to wait while Gobo tries to contact two or three mirrors and times out before finding a useful mirror. This makes all Compiles even more painfully slow.
- The recipes, apparently, don’t refer to cached tarballs, and I encountered several recipes that referred to tarballs on third party servers which simply didn’t exist any more. For example, the unionfs recipe is utterly broken. Which is exceptionally annoying as InstallPackage keeps complaining about unionfs not being available – and you can’t install it because of the missing tarball: catch-22.
- The Gobo folk are focusing on the wrong thing. All of the emphasis is on the new filesystem layout. I don’t object to the layout; it is an interesting experiment. But the real innovation is a package manager which can have multiple versions of software installed on the same system. If it worked, which it doesn’t.
So, sadly, I’m downloading Ubuntu 9.10, because as much as it sucks, as flaky as new releases are, as many regressions as every upgrade introduces… at least you can get a working Xorg out of it. system. If it worked, which it doesn’t.So, sadly, I’m downloading Ubuntu 9.10, because as much as it sucks, as flaky as new releases are, as many regressions as every upgrade introduces… at least you can get a working Xorg out of it.