[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

emdebian-tools 1.4.4, translations and QA

1.4.4 folds the changes within Emdebian into the changes needed to close
the RC bug and get a fixed package into Lenny.

1.4.3 has now been uploaded to Debian and I'm waiting for freeze
exception approval (just answering a few questions about how the fix was

1.4.4 is to be uploaded to Emdebian unstable (toolchain repository),
prior to sorting out the target repository to update the packages for
Emdebian testing, once I get confirmation of the freeze exception for

The changelog is fairly long (again) - the r values are included so that
it is clear which changes were removed from 1.4.3 to meet freeze
exception criteria and are implemented in 1.4.4 instead.

 emdebian-tools (1.4.4) unstable; urgency=low
   * emcache : New script to help maintenance of stored cache values. r4622
   * buildd/upload_handler.sh : enable upload by default. r4723
   * emrecent: Handle absolute and relative locations. r4722
   * emdebcheck: Handle absolute and relative locations. r4721
   * pbuilder/empbuilderlib : Readability improvements. r4710
   * pbuilder/TODO : Note current problems. r4689
   * pbuilder/emdebian.gpe : Add langupdate to the GPE tarball. r4688
   * pbuilder/empbuilderlib : drop .symbols files from the tarball r4687
   * checks/emdebian : extend bash check to catch spaces and check config
      script. r4673
   * buildd/buildd.php : allow marking some build trees as obsolete by
     putting an empty file called 'obsolete' in the log directory of the
     package. r4668
   * bug/embug : lay out multi-bug lists in improvised tables. r4663.
   improve handling of more than one bug report per package. r4659
   * buildd/em_autobuild : add mode to allow sudo when needed. r4652.
   * checks/emdebian : extend bash check to catch spaces and check config
   * checks/emdebian : special case armel so that lintian detects the
     correct output for armel files. r4587
   * emsource : handle double - characters in version strings (e.g.
     dialog) and only clean up the package when necessary, reducing
     duplicate downloads in autobuild mode
   * pbuilder/empbuilderlib : set 1777 permissions on /tmp
   * emtargetcmp : add --complete option for repo-wide checks
   * emdebcheck : Sort out handling of paths
   * Remove checks for apt from postinst and postrm - paths should not be
     explicit in maintainer scripts.
   * doc/genmanpages : use po4a properly and generate po4a.config instead
     of mangling two POT files
   * doc/genmanpages : implement next stage of po4a support for
     translated files
   * migrate edos-debcheck to -tools package instead of -rootfs
   * README : Include advice on translating the manpages
   * bash/emdebian-tools bash/emdebian-rootfs : Include support for auto-
     completing --arch, --machine and --variant
   * emtargetcmp : Add support for changing the --suite and initial
     support for --migration-check that attempts to provide assistance
     for keeping Emdebian in sync with Britney in Debian.

The largest change is in translations - the README has a whole new
section on how to prepare the po/emdebian-tools.pot file (which is now
sane instead of containing needless duplication), how to create and
update translations of the manpages (nearly 1,700 strings!) and how to
clean up the source afterwards.

doc/genmanpages was almost completely re-written during DebConf8 for
better po4a support. Hopefully, improvements in po4a - generated during
the changes to genmanpages - will simplify the process.

Any existing, partial, translations can be updated simply by putting the
relevant PO file into the top-level po/ directory (not debian/po) and
running ./doc/genmanpages. This will add new strings, mark modified
strings as "fuzzy" and remove outdated strings. It will also generate
manpages using the translations wherever possible. Until the translation
is at 100% translated with no fuzzy or untranslated strings, some
English text will appear in some manpages. The POT file is generated
directly from the XML and POD content so it is continually updated each
time genmanpages is run and therefore each translation is updated each
time the package is built. The PO file will be retained in the source
package and, once committed, could be checked from any SVN working copy
$ msgfmt -c --statistics po/foo.po
$ rm messages.mo

It is not possible, unfortunately, to only translate certain manpages -
certain strings are common between all manpages and PO collapses the
possible strings to a collection of unique strings in multiple
locations. Translating one manpage will tend to result in other manpages
including mostly English text with a few (apparently random) localised
strings distributed throughout the other manpages. In general, one
paragraph of manpage content is one PO string.

Another weakness of po4a is the lack of complete support for marking
certain strings as *not* for translation. e.g. the GPL licence
declaration in some files gets listed in the PO file. Translators should
already know not to translate such strings, instead copy them unchanged
from the msgid to the msgstr.

Other changes include better support for armel and outline support for
determining how to migrate packages from Emdebian unstable to Emdebian
testing in sync with Debian testing.

In v1.4.5, I'm considering splitting out another package: emdebian-qa

This will be a dependency of emdebian-tools (not -rootfs) and will
depend on libemdebian-tools-perl like the others. The purpose is to
allow the QA tasks to be run on machines that do not actually need to
build the packages, i.e. without the need for a toolchain or the build
tools dependencies (like cdbs, quilt, automake etc).

emdebian-qa will contain scripts like emdebcheck, emtargetcmp, emrecent
and it may also include the PHP code for the autobuilder reports - all
the stuff that is not actually part of the build process. This package
will then be the main focus of development as new QA tools become

I'm still waiting for our pseudo-package, but once that is available,
emdebian-qa will include wrappers to make it easier to file bugs against
the relevant components of Emdebian in the BTS, automatically
including .changes files (to close reports), build logs (for failures)
and emrecent error logs for dependency problems and setting the title of
the bug report so as to allow easier collation of the bug reports for
triage purposes.

Once Lenny is released, emdebian-qa will be included in an upload of
1.5.0 to Debian unstable and spend some time in the NEW queue. In the
meantime, I'll continue with the 1.4.x series, in Emdebian only.
(Depending on how long it takes, we could be at 1.4.10 or more by then.)

I am now going to start fixing (i.e. breaking) the Emdebian target
package repository for Emdebian testing to get it in sync with Debian
testing, in preparation for the subsequent (smaller) migrations to
support the release of Emdebian 1.0.

I'll then implement support for using Emdebian testing in emsandbox etc.


Neil Williams

Attachment: signature.asc
Description: This is a digitally signed message part

Reply to: