Wednesday, January 25, 2006

YAIFO Part 2

OpenBSDAs I mentioned before, YaifO (Yet another installer for OpenBSD) is fantastic. I've used it to upgrade several servers from 3.7 to 3.8 and a couple servers from 3.6 to 3.8. I still feel that pre-heart attack feeling when typing "sudo reboot", but this is much better than what I was doing before...

Previously, I was manually moving directories like /etc, /bin, /sbin, /usr, /var to /etc.3x, etc., extracting the tarballs from whatever release I was upgrading to (some other steps in between) and holding my breath. A couple of times this method caused me either a drive in or a "tail-between-the-legs" phone call. With YAIFO, no more.

But, there were still some annoyances with YAIFO.

First: I had to run: "sudo make". That was a problem for me because I install /usr/src with "wsrc" having write access and then building code as myself and "make install"-ing with sudo(8). So, I spent some time finding out what steps in YAIFO's Makefile required root access. Seeing that Waldemar had .included (which includes, which respects a SUDO= line in /etc/mk.conf like ports do), I prefixed all lines that required root with ${SUDO}. See the patch that allows for non-root building and sudo for actions that do require root.

Second, I got sick of constantly re-editing my ~/.ssh/known_hosts file for YAIFO. So I created a Makefile patch and a "list" patch which will look for ssh_host*key files in your YAIFO build directory (where you put your authorized_keys file) before creating new ones. To have YAIFO use your systems current host keys, copy them from /etc/ssh when you copy your ~/.ssh/authorized_keys file so you don't have to continuously re-edit your ~/.ssh/known_hosts file for each upgrade.

The 2nd issue may not sound like a huge deal, but trying to follow current and upgrading my desktop from downstairs started to become a hassle.

So, I tested the above patches (Makefile, list) and was satisfied. Then, I submitted them to Waldemar. Guess what? He accepted them and said they were commited for the next version. I can't wait. He also hinted that the "Next release will have some more nice stuff... :}" I can't wait (even more)!