Next: , Previous: Introduction, Up: Top


2 Tutorial

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.


Footnotes

[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.