This is a draft!

Import queue cleaning

Since the auto-approval script does not catch all files in the import queue, we need to manually scan through the list and investigate why those entries have not been approved automatically. This wiki page should help us to improve the auto-approval script, so that it catches more corner cases. In the end, we will have less work to do with reviewing those entries in the queue which got stuck. Therefor, when you do the investigation, please document it here in this wiki.

Import queue

How the import queue works

  1. When a package gets uploaded into the archive and the package is in 'main', the translations in that package (.pot, .po and .mo files) get stripped at build time and put into a separate tarball, which then gets uploaded to launchpadlibrarian and forwarded to Rosetta.
  2. Rosetta takes this tarball apart and puts the .pot and .po files into the import queue with the status set to 'Needs Review'. .MO files get ignored for now.
  3. Then a cronjob starts the auto-approval script every ten minutes, which goes through the items in the import queue and looks for patterns in the path of the files in order to match them to an existing template in the database.
  4. If a match has been found, the status for that file is set to 'Approved'.
  5. Finally another cronjob runs every 10 minutes, picks up the entries with the status set to 'Approved' and imports them into the database. Finally the status is set to 'Imported'. If the import failed because of a bug in the file, the status is set to 'Failed'.

Some details on the importer script (by Jeroen Vermeulen):

When the importer starts up, it sees which "targets" need importing. IIRC a target can be a project, or a distro release such as Karmic. Then it goes through that list round-robin. This means that if there are 1000 Karmic imports waiting, 250 Jaunty ones, 3 Intrepid ones, and 50 uploads for non-distro projects, it'll do 1 Karmic import, 1 Jaunty one, 1 Intrepid one, 1 for each of the projects, and then repeats. The approval script is now called the Import Queue Gardener. One of its new features is that on every run, it deletes up to 100 queue entries for obsolete distro releases. Template imports from bzr will be approved synchronously. "Imported" entries get deleted when their last recorded status change is more than 3 days old. "Failed" entries get deleted after one month in the queue.

What can the UTC team do to help

UTC team members should go through the import queue (filter for 'Needs Review') periodically (best would be once per day) and take manual action where items in the queue have not been approved for more than two days.

For any item or bunch of related items (e.g. .po files for the same template) stuck in the 'Needs Review' queue, please document them here in the table below.

The goal is to improve the auto-approval script, so that we have less to check for in the future!


Import queue log

Explanation of the columns

  • Source pkg: The name of the source package which is affected

  • Template: if there is already a template in the database, but the auto-approval script didn't approve the entries, mention the template here. Often the reason is a version number in the file path or a file path which has changed, which needs to be updated in the existing template with each upload.

  • What failed?: i.e. domainname.pot, or de.po or all .po files, or whatever failed to import

  • Reason: if you know the reason why the import failed, please state it here. e.g. "file path has changed"

  • Resolution: what you did to resolve the problem or what still needs to be done. If you filed a bug, please mention the bug number here.

  • Status: one of "New", "Triaged", "Bug filed", "Fixed", "Postponed", "Won't fix"

Source pkg


What failed?







New import


It is just an intermediate template merged into kdelibs




New import


It is just an intermediate template merged into kdelibs




New import


It is just an intermediate template merged into kdelibs




New import


It is just an intermediate template, according to cjwatson it is intentionally shipped in the package for various reasons, so it will stay like that

Blocked documentation files (2009-12-16):

help/control-center     gnome-control-center
doc/po/apt-doc.pot in apt
build/po/apt.pot in apt
build/po/libapt-inst1.1.pot in apt
build/po/libapt-pkg4.8.pot in apt
doc/network/network-admin.pot in gnome-system-tools
doc/time/time-admin.pot in gnome-system-tools
doc/users/users-admin.pot in gnome-system-tools
help/rhythmbox.pot in rhythmbox
man/po4a/po/debhelper.pot in debhelper

Approved KDE files (2009-12-16):

# source package, translation domain
freespacenotifier       freespacenotifier
freespacenotifier       desktop_freespacenotifier
kde4libs        libkunitconversion
kde4libs        solid_qt
kdeedu  cantor
kdeedu  plasma_applet_concentrationCalculator
kdeedu  plasma_applet_gasCalculator
kdeedu  plasma_applet_nuclearCalculator
kdebase-runtime kglobalaccel
kdebase-runtime kio_nepomuk
kdebase-runtime kio_timeline
kdebase-runtime kcm_device_automounter
kdebase-workspace       kcmremotewidgets
kdebase-workspace       kcmworkspaceoptions
kdebase-workspace       kcm_kwintabbox
kdebase-workspace       plasma-netbook
kdebase-workspace       plasma_applet_sal
kdebase-workspace       plasma_applet_currentappcontrol
kdebase-workspace       plasma_applet_searchbox
kdebase-workspace       plasma_applet_netpanel
kdebase-workspace       plasma_applet_newspaper
kdebase-workspace       plasma_runner_windows
kdebase-workspace       plasma_runner_kill
kdebase-workspace       plasma_containmentactions_zoom
kdebase-workspace       plasma_containmentactions_switchwindow
kdebase-workspace       plasma_containmentactions_switchdesktop
kdebase-workspace       plasma_containmentactions_switchactivity
kdebase-workspace       plasma_containmentactions_contextmenu
kdebase-workspace       plasma_plasma-desktop_shell
kdebase-workspace       plasma_applet_windowlist
kdebase-workspace       plasmagenericshell
kdegames        palapeli
kdegames        kigo
kdegames        granatier
kdegraphics     libkexiv2
kdelibs qt-messages
kdelibs kde
kdelibs kioexec
kdelibs kabc_ldapkio
kdelibs kabc_file
kdelibs kabc_dir
kdelibs kabc_net
kdelibs kabcformat_binary
kdelibs libkscreensaver
kdelibs kcmshell
kdenetwork      plasma_runner_kget
kdepimlibs      akonadicontact
kdepimlibs      kcm_akonadicontact_actions
kdepimlibs      kontactinterfaces
kdepim  blogilo
kdepim  mailreader
kdepim  plasma_applet_kpapplet
kdepim  libmessagecore
kdepim  libmessagelist
kdepim  libmessageviewer
kdepim-runtime  kmail-migrator
kdepim-runtime  akonadi_contacts_resource
kdepim-runtime  akonadi_mailtransport_resource
kdepim-runtime  akonadi_mbox_resource
kdepim-runtime  akonadi_pop3_resource
kdeplasma-addons        plasma_applet_kdeobservatory
kdeplasma-addons        kimpanel
kdeplasma-addons        plasma_applet_knowledgebase
kdeplasma-addons        plasma_applet_opendesktop_activities
kdeplasma-addons        plasma_applet_plasmaboard
kdeplasma-addons        plasma_applet_qalculate
kdeplasma-addons        plasma_applet_spellcheck
kdeplasma-addons        plasma_applet_webslice
kdeplasma-addons        plasma_engine_pastebin
kdeplasma-addons        plasma_runner_audioplayercontrol
kdeplasma-addons        plasma_runner_kopete
kdeplasma-addons        plasma_runner_mediawiki
kdeplasma-addons        akonadi_maildispatcher_agent
kdetoys amor
kdetoys kteatime
kdetoys kweather
kdetoys ktux
kdetoys desktop_kdetoys
kdeutils        libkasten
kdeutils        liboktetakasten
kdesdk  katesnippetstng_editor
kdesdk  ktexteditor_codesnippets_core
kdewebdev       kfilereplace
kdewebdev       kimagemapeditor
kdewebdev       klinkstatus
kdewebdev       kommander
kdewebdev       kxsldbg
kdewebdev       desktop_kdewebdev
kipi-plugins    kipiplugin_kioexportimport
kipi-plugins    kipiplugin_shwup
ktorrent        desktop_ktorrent
phonon-backends desktop_phonon-backends
phonon-backends libphonon
phonon-backends phonon-xine
phonon-backends phonon_gstreamer
qt4-x11 kdeqt


UbuntuTranslationsCoordinators/OngoingProjects/ImportQueueCleaning (last edited 2009-12-16 15:07:46 by 212)