Older blog entries for wcooley (starting at number 3)

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!