The Dia ChangeLog Daemon

Developers logo

What is it?

The Dia ChangeLog Daemon (DCD for short) is a cron script which is run daily on one of the developers' machine. Its intent at the beginning was to simply post a daily development activity report to the mailing list (which helps users seeing whether their pet features and bugs are taken care of or not, and also helps developers who can't contribute regularly to keep up with the recent development). It has expanded and now performs the following duties:

How it works?

infrastructure

The DCD enjoys its own access to the primary GNOME SVN server, and has its own tree, separate from its owner's development tree.

Every day at 9:25 CEST (CET on winters), it starts by updating this tree.

Daily ChangeLog Reports

The second action is to perform a unified diff of the ChangeLog from the previous day (the previous day's copy is saved). If the diff is empty (meaning, there has been no development activity), then the process stops and nothing else happens.

If the diff is not empty, it is e-mailed to the dia list, and the rest of the process follows.

Tarballs

The third action is to build a snapshot tarball. In order for the snapshot to be compilable by semi-casual people, the ./autogen.sh script is run (so there is a ./configure ready to be used).

The last tarball is diff'ed with the previous, for the bandwith-constrained people.

Translation graphs

Once the tarball is done, the script goes into the po/ subdirectory, and refreshes the dia.pot and *.po files. It also merges the translations of the .sheet.in files into the .sheet files. The .sheet files are also tarred, because the Win32 platform is not capable of doing the PO merge.

Finally, the script runs "make core-translation-report", which is a text file with a summary of the percentage of translations complete for each language.

Lastly, the core-translation-report is archived into another directory, and the graphs are regenerated.

You can notice on the translation graphs, that some days are missing: this means that there was no development activity that day. Some translations may have appeared in the mean-time, though. They are accounted for the next day with development.

Tip: if the translation graph for today is up, it means the transfer of the snapshot tarball is complete.