This version adds support for a Makefile.local under the top-level ports directory, where the user may define his own additional categories and ports.
Restored the priority setting code, but without making it mandatory as before. If the call fails, the program will still run, instead of aborting like it did before.
A few minor performance tweaks as well.
This version focuses less on performance enhancement and more on correctness. Many small oversights have been corrected, and much more robustness has been built into the program. The "-v" (verbose) option now supports multiple levels of detail as well, by using the option more than once on the command line.
All in all, a very solid, complete, finalized version. If you expect to be using this program at all at any time, you really should get this version.
A "minor" update, but with some important fixes. Pathname handling has been greatly improved, and should eliminate any potential errors or surprises in resolving command line arguments. The code has been slightly reorganized overall, and "tightened up" to the greatest level of optimization possible within the constraints of the current design. It has been thoroughly tested as well. The handling of ports trees in non-standard locations is now rock-solid stable and correct.
This should be the last release for a while now.
A bug in the pathname generation for category readmes crept into the last version (missing slash). Sorry, my bad!
This *should* be the program's final version now.
This is an important update, warranting a minor version bump.
Fixed a hitherto unknown problem with the port path field comparison against the port's realpath in search_index(). I hadn't realized that the port field in the index would always be set to the "canonical" path using the default standard "/usr/ports", regardless of the actual location of the ports tree. This was causing searches to fail if using an alternate top-level ports directory, either via the command line option "-p", or by setting the PORTSDIR environment variable.... read more
This release contains an important bug fix. The program was not doing any validity checking of the index file on loading, so any error in the index file could cause the program to crash. Each line of the index file is now validated on loading.
In addition, the code that raised the program's realtime priority has been removed altogether. This code was added early during the development phase when performance was not up to what was expected, but it turned out that this was due to a flaw in the earlier, very primitive index search algorithm, which has since been vastly improved, making the realtime priority setting code unnecessary. In addition, I've learned that realtime priority setting in a jail(8) environment is strictly forbidden, so good riddance to this useless "feature". :-)... read more
Forgot to change the version string in previous release (doh!). :-)
This is a minor release to correct an issue involving realtime priority setting. As was pointed out to me by Marco Steinbach, mkreadmes would not run in a jail(8) environment when it was being started by a non-privileged user. Added a uid check before trying to invoke rtprio(), so the program won't simply abort on failure from rtprio() in this case.