Advanced Namespace Tools blog
11 December 2016
It is time to begin the process of updating ANTS to the latest version of 9front. This is an aspect of the development process that should be re-engineered. As changes occur in 9front, compilation errors develop in ANTS' patched versions of the Plan 9 kernel and software. There are two issues: one, fixing the breakage caused by changes in the underlying 9front system, and two, having the build process understand the synchronization between ANTS-versions and 9front-versions. The build script in general has a large amount of technical debt.
So far, I have done a build test to make sure that I had ‘left off’ in a working place, and then pushed that commit to my antsexperiments repo. That version builds against 9front commit 5360 from back in May. Right now, I am doing an hg update of the base 9front system and am about to recompile.
The recompilation of the base system completed successfully, next is to try to build ANTS and see what breaks, then diff the changes. What I think I should also do is prepare some ‘baseline diffs’ of my patched files with the originals. Now having done so and committed them, I am trying to build ANTS. Things work up until the kernel compilation, where I get some rather expected errors. There have evidently been changes in devtls which conflict with my modified header files. I just need to merge my changes into the /sys/src/9/port/portfns.h file. I succeeded using ape/patch from the diff.
Post-ANTS build
And after that, the build process completed successfully! There may still be some discrepancies between versions that should be addressed, but I am going to try rebooting with the new kernel and seeing if things are working right.
After rebooting, things seem fine. I had a bit of hassle trying to use the new webfs based hg authentication when pushing to bitbucket, but I think that is figured out now. I should probably go through and finish the updating of patched utilities soon. I grepped the 9front hg log and ran a few additional diffs, there are a couple small changes to factotum and a decent number of rio changes that I will need to catch up with.