wpkg 0.9.4 available

wpkg 0.9.4 is a bug fixes version as proposed by Trent Clarke (see wpkg discussions Only validate.bat copied in the control.tar.gz archive and Improving package version resolution posted in the SourceForget.net UniGW Project discussion area).

The version includes a much better handling of the scripts to know which ones to include in a control.tar.gz file. Actually, the validate scripts (validate, validate.sh and validate.bat) are now being checked properly and the architecture is properly canonicalized in the wpkgar_build.cpp file before it gets checked. This makes a difference as we can now compare the system type to "mswindows" instead of various values such as "win32" and "win64". The fix includes fixing the same issue under Unices.

In order to verify that the architecture would indeed be tested properly, I also wrote a test. The test does not check all error cases, but it does 100% coverage of all valid passes and allowed me to fix an additional two bugs in the implementation.

The other problem: packages that did not want to get installed because the system was not capable of finding a working graph, was also resolved by Trent Clarke using a cartesian product to check out all the possibilities instead of attempting to test as few graphs as possible. This will slow down your installations via repositories. It should not change anything if you directly install packages without using the --repository command line option.

I added a test to make sure that I could reproduce the problem, this test was using Trents environment (in terms of control files) and sure enough version 0.9.3 fails the test. Version 0.9.4, with Trents fixes works like a charm. However, the number of graphs generated in 0.9.3 was just 6. Now, with 0.9.4, you get 72 graphs. This is definitively using a lot more CPU time (12×) but really only in checking out the graphs which is not usually where most of the time is spent (i.e. extracting files and saving them on disk is usually the slowest part).

As I was at it and because I felt like it would be useful, I also made a copy in the inline help of the --debug flags documentation. You can see the flags using the following command line:

wpkg --help debug

That way you do not need to come to the website just to run some debug.