Older blog entries for wcooley (starting at number 5)

3 Nov 2000 (updated 11 Feb 2001 at 16:57 UTC) »

I've been neglecting my journal. I haven't written in my personal journal in many months either. Marisa was bugging me about not updating this, so here we are. Hi Marisa!

Hm, not much going on with LNXS. Been bored with it lately. I'll get back to it sooner or later. I managed to set a small subset of the system working. It doesn't boot, but you can chroot in and do some shell stuff. I had to cheat, though--I move the build tree into the pseudo-root, chrooted in, and installed that way. Got around lousy Makefiles that don't support DESTDIR. No one else seemed much interested in it either. I've considered throwing in the towel and installing NetBSD.

Hm, not much going on at WireX either. Just same-old-same-old sys admin stuff. Finally managed to upgrade the web/mail server to ImmunixOS 6.2--it was 5.2 for a long time, because it is co-located way in the middle of nowhere.

It's starting to rain in Portland, as usual for this time of year. I've been paying too much attention to politics, too. That always seems to frustrate me.

My girlfriend has also been keeping a journal, so if you want to see what the other side of my life is like, it's at http://www.livejournal.com/users/rini.

I've been learning Python lately, too. Reading Learning Python--it's very good. I wrote my first useful program last weekend (or was it the weekend before that?), which generates usernames by randomly selecting words from the system dictionary, and generates random passwords, and runs htpasswd.

I just finished Zoo Station, by Ian Walker. The author is a British journalist who spent quite a bit of time going between East and West Berlin, and the book is about the people he knows and contrasting cultures, divided by a wall and about 50 years. Both East and West are portrayed in a way that seems fairly honest, or perhaps, favoring the East a bit. The author's writing was not bad--it was quite correct but also lacked character. Nontheless, I enjoyed the book because I find the subject interesting.

The other book in my bag is Bertrand Russell, written by A. J. Ayer, the author is Language, Truth, and Logic (which I have not read). This is a biography of Bertie by another of the most eminent modern philosophers. I am at a slow part because he's explaining Russell's work in logic, which, even though written for a layman, can be difficult.

Well, this is enough of a post for one day.

Well, still hacking Makefiles. Seems like /nothing/ supports DESTDIR, even most of the GNU stuff I'm working with. Oh well, let's hope my patches are accepted and the world is better off for my travails.

More CVS learning: When updating sourcing with import (which seems to be the preferred way of doing it), some files might be obsolete and not in the newly imported sources, which can sometimes cause Makefiles to break. So, after importing the new sources, do a merge between the two versions:

cvs co -j OLDTAG -j NEWTAG module

I updated PAM like this, however, and now a locally-added definition file is dead. Haven't been able to resurrect it. Re-adding didn't seem to work as it did with man. I think I know how to do it; I just have to try it.

BTW, I've been reading the CVS book Open Source Development with CVS, some of which is available on the web. It's helping me greatly to understand the problems I've been having. I purchased a dead-tree version and have been reading it on the bus--it helps so much to learn things in just-in-case style, rather than just-in-time--hunting around through the on-line docs trying to understand why what I just did didn't work.

Discovered more about make too. Found out that ifdefs and ifndefs are line-oriented, so I cannot use them within a single-line expression. Found out I also shouldn't pass $(MAKEFLAGS) on sub-invocations of make.

I wish there were a more thorough make book available. I read O'Reilly book, Managing Projects with make, and while it is a good book, it just doesn't go into enough detail and examples. I've been trying to read the GNU info manual (with help from texi2html), but it's a reference, not a tutorial, and somewhat sparse on examples.

Learned more about CVS today. CVS is weird--I knew that already, but now I understand it a little better. I ran a cvs remove on lnxs/usr.bin/man the other day, because I tried an import of a newer version and there were conflicts, and I'd hoped to not have to deal with conflicts. (I might have made some mistakes the first time I imported, like choosing by start tags.) However, the next time I tried to import, everything went directly into the Attic. Yuck.

So I read up a bit on it, and CVS sets the otherwise user-set "State:" field to "dead". I found out that state can be changed with the cvs admin -s <state> command. I looked up the "admin" in the Cederqvist manual, however, and it was not recommended that you diddle with the dead state, but that you use cvs remove and cvs add instead.

Well, after playing around with it, I finally copied the innards of the tarball I was trying to import into place, and with find I re-added everything. Now, everything is happy.

Lessons learned: Don't use cvs remove to make importing easier. To get files back from the dead, re-add them. Seems to be the only way. Don't try to use <code> tags in Advogato diary entries--use <tt> instead.

Noticed SourceForge had changed their policy to allow crypto, so I imported OpenSSL into the LNXS codebase. OpenSSH was imported last week, with an area set up to open a tarball and make OpenSSL automatically. Now glibc-crypt can be moved directly into glibc, and out of noexport/.

Solved a problem with screen not working on one of my build machines, which I didn't see on the other. Discovered /dev/ptmx needs to be mode 666.

Hacked Makefiles for LNXS all Sunday. Girlfriend out of town, no distractions. I thought I'd managed to devise a system that wouldn't require lots of customization for most modules. Seems to mostly be the case, but for modules that do need customizaiton, it's going to be a long road.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!