Utilities for developing in Minix

I want to share with you some very simple tools that we use to do the DISO practical assignments.

They are, as I said, very simple: two of them help put together the documentation (LaTeX), and the other one is for checking whether the files we have on our machine are the same as the ones in Minix (that is, the ones we were actually testing with).

This post is surely not of much interest to everyone, but maybe it will be useful if you ever do a practical assignment with LaTeX in which you have to include the source code of some program, or publish only the modifications to an existing file (diff).

check_spell (scriptdictionary)

Guess what this one is for 😀 Aspell is a great tool for checking spelling, very complete and advanced. This script (as simple as passing aspell over all the .tex files) is complemented with the help of an extra dictionary, with words common to the DISO practical assignment, such as PROCS, SEPARATE and KBs, and common to LaTeX, such as pdfauthor or bookmarks, which we don’t want to check, since we know they are correct.

makediffs (download)

What it does is, after being told so in the script itself, look for files that have a counterpart with a .orig extension (for example: proto.h and proto.h.orig), generate the differences in unified format (diff -u), and convert those discrepancies to LaTeX format with lgrind. It is also possible to do something similar with the files that were not modified (that is, there is no need to generate the differences).

Since we all work with the UTF-8 charset, the script also takes care of converting the ISO-8859-1 files to that codeset. It also makes some changes to the generated tex code, since lgrind sometimes gets the comments in the source code wrong.

remotediff (download)

The first two are related to the documentation. What remotediff does is, once QEMU is running with Minix with network support, check whether the files on our disk (the ones we use, for example, to share on some Subversion server, or to generate the documentation) are the same as the ones in Minix, that is, the ones we compiled and tested the modified kernel with. It’s useful for not having to copy everything “just in case”.

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus