The first step is to collect build logs of your package.
jas@latte:~/src/libidn-0.5.0$ ./configure > ~/libidn.txt jas@latte:~/src/libidn-0.5.0$ make check >> ~/libidn.txt
Now let Autobuild parse the file.
jas@latte:~/src/libidn-0.5.0$ cd jas@latte:~$ autobuild --dry-run --verbose libidn.txt `libidn.txt': Project: libidn Revision: 0.5.0 Mode: default Hosttype: i686-pc-linux-gnu Buildtype: i686-pc-linux-gnu Hostname: unknown Timestamp: unknown Status: ok jas@latte:~$
Everything went fine, except possibly that the hostname and timestamp
have default looking values. If Autobuild is not able to guess more
important values, such as the project name, you may have to use a
command line parameter, e.g. --project
. You could also
consider improving the guessing logic.
Now, one build log isn't much if you want to make an overview. Let's create another build log. 1
jas@latte:~/src/libidn-0.5.1$ td > ~/libidn2.txt
If you have Emacs and htmlize.el installed, you can markup this log
file up using the htmlize
tool.
jas@latte:~$ htmlize libidn2.txt libidn2.html jas@latte:~$
Ok, now we have two build logs, and one of them has even been converted into HTML format. Let's generate a summary for them. Notice that here Autobuild is actually parsing an HTML page, which can be less reliable than parsing a text file.
jas@latte:~$ autobuild --verbose libidn.txt libidn2.html > example.html `libidn.txt': Project: libidn Revision: 0.5.0 Mode: default Hosttype: i686-pc-linux-gnu Buildtype: i686-pc-linux-gnu Hostname: unknown Timestamp: unknown Status: ok `libidn2.html': Project: libidn Revision: 0.5.1 Mode: default Hosttype: i386-unknown-netbsdelf1.6 Buildtype: i386-unknown-netbsdelf1.6 Hostname: 192.233.54.143 Timestamp: unknown Status: ok jas@latte:~$
See the examples/ sub-directory in the Autobuild source code distribution, it contain the libidn.txt and libidn2.txt files, and a Makefile that will execute the above commands. In that directory, you can remove the distributed example.html and type make example.html to regenerate it.
[1] The script td is not part of Autobuild. It is responsible for logging on a remote machine and building a package – it may be cleaned up and discussed here in the future.