[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] Re: noweb "bug" (was: article "standard" header/footer
[Axiom-developer] Re: noweb "bug" (was: article "standard" header/footer)
Thu, 15 Dec 2005 09:59:24 -0500
> it is just that any bug or fix I find in noweb will be sent to Norman
> Ramsey. I will never modify the version that comes with Axiom.
> I guess many people would think that way. If Tim has enough time to
> maintain that version, fine with me.
if you sent your fix to norman and he accepted it then the next
time we get the chance the zips/noweb-xxx.tgz would be updated
to the latest version. that latest version would include your fix.
the patch in the zips directory would no longer apply and would
no longer be needed. if there are no related patches that implies
we could use the vanilla version. which implies we no longer need
to maintain it and it could be erased.
bill has pointed out that norman believes the current actions
noweb takes is correct and that there is a way we can use the
standard version with a local patch (though not to the sources).
instead of a patch there is an awk script and a notangle option.
as soon as we rewrite the system to use the new script we can
remove zips/noweb* and the issue goes away.
most of the steps would be:
(1) PUSH THE CHANGE
check out a fresh system
build a pre-change copy of the system (call it old)
build a second copy of the system (call it new)
add the awk script to etc/scripts
update the etc/scripts/Makefile.pamphlet to document how it works
autogen the script into the proper mnt/linux/bin subdirectory
modify the document command to use the script
for every Makefile.pamphlet in the source tree
check every use of "document"
check every use of "notangle"
erase all zips/noweb*
build a post-change copy of the system
(2) CHECK THE CHANGE
diff -r --brief old new
for each difference
verify that the difference is correct
diff -Naur oldfile newfile >dir.dir.oldfile.patch
(3) EXPOSE THE CHANGE
mail off the patches
once this is done then the noweb issue is moot.
this is essentially a subset of the process i go thru for EVERY
change to the system. (additional tests are done such as doing
a "round-trip" build where i upload the sources, erase all local
copies, download and build the sources and recheck the changes
so i know the uploaded version works).
i might suggest that this is a good exercise for you to try
so you get familiar with making changes. and if you try to
do this it would be worthwhile documenting it in volume 4
(the developers guide). it's hard for me to write the steps
because i do it every day and don't know what others would
consider obscure and in need of explanation.