elehack.net

Zenwalk -- unsure what to do with it

I’ve been using Zenwalk GNU/Linux on my laptop for a couple months or so now. I switched away from Fedora due primarily to their kernels continuously breaking my wireless networking; also, the 64-bit thing (or at least Fedora’s implementation of it) wasn’t working very well or me with only 1G of memory. I was regularly running at much higher memory utilization levels than I wanted with Xfce, Emacs, Firefox, and a few other utilities running.

Zenwalk was originally based on Slackware and still retains many of those roots. As I cut my teeth on Slackware back in high school, the familiar simplicity is rather welcome. In general, I like Zenwalk, but there are a few things that are giving me pause.

The good

One of the things I am thoroughly enjoying with Zenwalk is its simplicity. With many "modern" distributions (Fedora comes to mind), there is a fairly complex glue holding things together in the boot sequence, X11 desktop and session management, etc. Zenwalk uses simple, understandable shell scripts, and usually chooses fairly simple pieces. I can poke around in /etc, figure out what is involved in some facet of the system, and modify it with relative ease. This has been quite useful in tweaking my X11 session startup and suspend/resume (I actually wound up rewriting the suspend/resume support scripts, but the simplicity of the originals made it easy for me to see what my new ones needed to do).

Zenwalk is also built to be used with XFCE, my desktop environment of choice these days. Where possible, it chooses XFCE-oriented utilities to accomplish various tasks (such as Wicd for wireless connection management), so I don’t have to pull in Gnome dependencies to get most of my work done. I quite appreciate that.

Also, it’s easy for me to integrate my own pieces as I want them and have the system still be happy. I have a custom installation of TeXlive and Emacs CVS and it doesn’t feel awkward at all (I feel odd having local source installs of things for which packages are available in most other systems).

The package system is quite nice as well, at least for an end user. It uses standard Slackware .tgz packages, augmented with dependency information and a network package installer and dependency resolver. The UI for it isn’t overly intuitive, but I’ve found my way around in it and can accomplish what I need to (and improving it might be a fun project someday).

The bad

Zenwalk isn’t all roses, though. I don’t like how the source side of their package management system works. There is no support for building packages as a non-root user (ick). Also, they don’t seem to publish a nice tree of the sources and package build scripts for everything (for a binary-only package, the upstream distribution file and the build script to convert it to a Slackware package would be appropriate). They have a source/ tree, but it is incomplete; they ship binary packages for which there is no corresponding source (in the case I recently found for this, I think it was even a GPL violation). For any package on my system, I want to be able to download the source and control files, rebuild the package, and have the same result as is shipped from the binary package distribution medium. Knowing I can rebuild anything makes it far easier to experiment and verify things about my system. Zenwalk’s lack of support for doing this makes me sad.

Also, the dependency information is sometimes incomplete or out of date. There was some package I encountered recently that didn’t describe all of its dependencies (sadly, I don’t remember what it was). Also, there’s some staleness — the devhelp package is at version 0.15, built against Zenwalk 4.8. The soname it depends on for libwnck is out of date, so the binary cannot run, but it is still being distributed (and without a source package!!!!).

What shall I do?

I’m not sure how to go forward from here with my GNU/Linux distribution selection. I’ve been a fairly compulsive switcher, changing distributions a little less frequently than I change my clothes.

On the one hand, as a user, Zenwalk has been treating me quite nicely. After the initial breaking-in (and script-writing) period, it works rather reliably and predictably. It’s release-oriented, so I don’t have random updates hozing my system without warning, yet is sufficiently recent that I have fairly up-to-date software. The source packages, however, are quite a big deal — I want to be able to rebuild pretty much any part of my system from sources, possibly with added patches. Ideally, I’d like to be able to check out a Git or Mercurial tree with the build control and source download scripts for every package on the system and go poke around in that (yes, this sounds like a source-based distribution...). Or at least download the source corresponding to any package and be able to reliably build it. Finally, being able to do everything except install as a non-root user is highly desirable — I don’t really like running entire package build scripts as root. Being able to build in a chroot, as supported by pbuilder for Debian and mock for Fedora/RHEL, is really nice as well.

I’ve thought about returning to Debian, possibly Lenny when it is released as stable. I still have my concerns, though, with their ability to get things done, and I like to manage some packages outside their infrastructure (yes, I know I can, but it still feels weird). I don’t really want to return to Fedora — while it did feel nice, and RPM was quite handy once I got used to it, the kernel breakage was a bit much. Their practice of running heavily-patched kernels doesn’t give me much confidence that the situation will change any time soon. Plus their Gnome-centeredness made my XFCE experience a bit sub-par.

I’ve been looking some at Lunar Linux. It’s a source-based distribution that some of the XFCE developers work on. One slick thing is that its software build data is managed via Git. I’d like to think that, if I’m careful about what I update and when, it could be a fairly stable system (only pull in security updates and bug fixes most of the time, do full updates when I’m on break). I’m not sure, though -- Gentoo was a pain to manage. If FreeBSD supported my wireless card (they’re working on it, but I don’t think it’s there yet), I’d also look at that.

Comments

Comment from Jason on November 11, 2008 at 11:28 AM CST

You don't want a source based system. At least not on your laptop, it's not that you can't run it in a stable fashion, but when they break, they break heard and you can't always get it fixed quickly. One of my favorite examples is wen you hose your glibc(Yes, I did that running Gentoo... twice) Make sure they have some form of binaries available with it so that you can fix the system quickly if you get a borked build of something.

Post a Comment

You may post a comment using the form below. All fields are optional. By submitting a comment, you release it to Michael and Jennifer Ekstrand under the Creative Commons Attribution 3.0 license. See our copyright notice for details. You might also want to read our privacy statement.