mainpage.h

/** \mainpage langupdatelangupdate is a frontend for the Emdebian implementation of 'tdebs' - amethod for splitting translation files out of packages and into a separaterepository, organised by language and program, allowing individual users toonly install translations files for the locales supported on their ownmachine.\section disc Disc space is not cheapDebian packages collate all available translationsinto a single package which can easily lead to 250Mb of unused translation fileson a typical installation. Emdebian generates a single package for every translationof each Emdebian package, leading to a tenfold increase in the number of binarypackages built from each source package. To solve this problem, langupdate supports a secondary apt cache so that the main apt cache can be kept as small aspossible.langupdate then queries the secondary apt cache to get a list of all translationpackages (tdebs) that match the list of locales supported on the device. This list is then compared with the list of installed binaries. The translation packagesthat match the installed package are then installed with apt-get.\section language Why C and C++? Because there's no direct hook into apt-get upgrade and no easy way of reading the apt-cache from C without forking a call to apt-cache itself. So I use libapt-pkg which is a C++ library. The rest of the code is C because I prefer to use the memory management of glib2. If anyone fancies portinglangupdate to just C++ for use on devices that do not have room for libglib2.0-0,patches are welcome.langupdate uses a temporary file for the sources.list and updates it from thelist of supported locales each time langupdate is run, i.e. it combines theeffects of 'apt-get update' with 'apt-get upgrade'. tdeb packages have no dependencies so 'dist-upgrade' is not required.*/