Launchpad Report for 2006-09-26

Christian Robottom Reis kiko at async.com.br
Mon Oct 2 19:32:55 BST 2006


Here's a report of changes for the last two weeks of September.
These changes were rolled out on Tuesday, September 26th, at revision
level 4091.

------------------------------------------------------------------------
Highlights
------------------------------------------------------------------------

Welcome to another round of Launchpad updates covering changes included in this
week's rollout. This cycle was mainly focused on polishing of existing
features, though a number of new features that are under development were
brought closer to deployment.

Bug watch enhancements
======================

The new features deployed in this rollout make bug watches a bit more
convenient to work with: it is now possible to specify a remote bug
tracker for a specific upstream product; when adding new bug watches to
distribution bugs, the bugtracker and product name will be prefilled if
there is information linking the package to an upstream product.

The prefilling also works for upstream products that are officially
using Launchpad as a bug tracker. For instance, if you visit the page
for the bazaar source package in Ubuntu:

    https://launchpad.net/distros/ubuntu/+source/bzr/+bugs

and notice a bug which is an upstream matter, when marking it as
upstream you will notice that the name "bazaar" is already filled in.
This small improvement is the first in a number of enhancements planned
for upstream bug forwarding.

Bug information can now also be synchronized from archived debian bugs;
this is the reason why a number of bug watches were updated at once this
week (and you may have received some bugmail letting you know!)

CVE reports
===========

The CVE report pages were reformatted and optimized; you can see the
general CVE status for Ubuntu at:

    https://launchpad.net/distros/ubuntu/+cve

This listing displays CVEs related to bugs, and their current status.
There are now also CVE reports for upstream products -- but no products
have CVEs linked to their bugs yet!

Other bug tracking improvements
===============================

Handling of binary package names as input in the Package: field was improved in
the bug-filing and bug-changing page. Oh, and the 'Untriaged' status was
renamed to 'Undecided'; this avoids confusing the concepts of "status triage"
and "importance definition". Time to update bookmarks!

Distribution and package management enhancements
================================================

On the distribution management front, this rollout included new
formatting for mirror listings; the number of official mirrors is
for Ubuntu is growing rapidly, and we aim to make this information
authoritative for the distribution in the coming weeks:

    https://launchpad.net/distros/ubuntu/+releasemirrors
    https://launchpad.net/distros/ubuntu/+archivemirrors

This rollout meant deployment of the optimization and code improvement
work done in the London sprint. Visible results of this deployment are
significantly faster publisher runs (with no-op runs taking negligible
time, and the faster 'real' runs taking around 7 minutes). Package
builds are now issued to saner sets of architectures, taking into
account package-specific architecture restrictions. With respect to
upload processing, failed uploads now trigger email notifications to the
person uploading as well; uploads to frozen releases go straight to the
pending-approval queue, and superseding backport uploads behave as
expected.

The Soyuz team also invested long hours into an acceptance testing
system which was used to verify the changes done over this period prior
to rollout. The test system successfully pointed out regressions and
allowed fixes to be verified before deployment.

A script for automatically retrying failed builds was implemented, and
the queue tool was updated to include pocket information and behave
correctly in a few corner cases (read the detailed changelog for the
details).

Branches in the Bazaar
======================

One interesting Launchpad feature for upstream products is the tracking
of series and releases. Each release represents an actual new tarball
release of upstream; a series represents a line of tarball releases that
were spawned from the same long-term code branch.

Product series can now have Bazaar branches linked to them, this branch
ideally containing the coding work done for that specific series. The
product can select which series is its main development ("trunk", or
"HEAD" in CVS terms) series, containing new feature work being
implemented. This allows Launchpad to more closely model the coding work
done on an upstream product, which will in turn make it easier to use
Bazaar to manage the codebase for a product, and in particular,
derivations of that codebase.

Other news
==========

On the translations front, improvements to the automatic package imports
were deployed; they reduce the amount of manual nursing required for
imports of packages with unusual directory layouts. Language pack
generation was optimized, as were the pages that report translation
status for languages in specific distribution releases. A number of
additional performance improvements are in queue and will be deployed as
part of the next rollout.

In the ticket tracker, subscriptions of support contacts were modified to
be implicit. This means that new support contacts are automatically
notified of all existing ticket modifications.

The calendaring feature in Launchpad was temporarily disabled; we found
it was too buggy to be useful, and have chosen to now focus on features
which are priorities for this period.

Finally, as usual, I invite you to join our users' mailing list:

    https://lists.ubuntu.com/mailman/listinfo/launchpad-users

New features and enhancements are discussed there, and we'd love to have
your input in defining them. Thanks!

------------------------------------------------------------------------
Detailed Changelog
------------------------------------------------------------------------

Note: In the listings below, important user-visible features or fixes
are marked with exclamation points; other highlights marked with a star.

Bug Tracking (Malone)
=====================
! It is now possible to specify a bugtracker for a specific upstream
  product; it was formerly only possible to associate them with whole
  projects. This is a prerequisite for a streamlined process when adding
  new bug watches to existing bugs.
    (BjornT, r=salgado)
! Our newest bug tracking feature, release bug management, is close to
  being ready for deployment. A demo version is up on the staging
  server, and we should be finishing the testing Real Soon Now (tm).
    (bradb, r=spiv, stub)
* When there is packaging information available, the product and bug
  tracker entries are now prefilled when creating new watches for bugs
  on distribution packages. The confirmation step was also streamlined.
    (bug 39001, BjornT, r=jamesh)
* The debbugs archive directory is now also considered when analyzing
  bug watches, fixing a large number of bug watches that failed to
  update before.
    (bug 42573, kiko, r=BjornT)
* CVE listings were reformatted and significantly optimized, and a
  number of cleanups and navigation fixes were implemented in the
  process. Products gained CVE listings as a Christmas bonus.
    (bugs 42092 and 42903, kiko, r=BjornT)
* The 'Untriaged' status was renamed to 'Undecided'.
    (bug 55015, bradb, rs=kiko)
* Filing a bug on source packages with the same name as binary packages
  failed in some circumstances. This is now fixed.
    (bug 58000, kiko)
* Permissions restricting changing bug milestones were sanitized.
    (bug 56618, bradb)
* The bug status form now accepts binary package names as input,
  converting them to source package names transparently.
    (bug 52330, BjornT, r=salgado)
- Product series bug listings no longer crash on arrival.
    (bug 56736, bradb, r=BjornT)
- Slashes in uploaded filenames are now silently converted to dashes,
  avoiding the creation of unreachable files.
    (bug 42498, BjornT, r=salgado)
- The comment hiding feature was overzealously hiding comments that
  included attachments and differing titles; this is now fixed.
    (bug 60574, kiko, r=BjornT)
- Bug watches that fail to synchronize now log Launchpad bug IDs so they
  can be manually fixed.
    (kiko, r=BjornT)
- Two failures in the bug watch synchronization script were fixed; one
  related to parsing of versions, and another related to pages with
  broken unicode encoding.
    (bugs 61129 and 61149, kiko, r=BjornT)
- The text "[Bug id]" is not added to the subject line of bug
  notifications if it is already present.
    (bug 37454, BjornT, r=salgado)
- The "Jump to product" entry in the Malone landing page now correctly
  takes the user to the bug listing for the product specified.
    (bug 3788, kiko)
- A tweak was made to the bugs-needing-forwarding bug filter; it now
  ignores bugs for which all non-Malone-using tasks are rejected.
    (bradb, rs=kiko)
- A broken padlock image was fixed.
    (kiko)
- Bugtracker status mappings were extended to cope with a number of
  custom statuses across the Internet.
    (kiko)
- A test was updated to use syncUpdate instead of the big hammer that
  flush_database_updates is.
    (bradb, r=jamesh)

Translations (Rosetta)
======================
* Packages containing translation (PO) files in multiple directories are
  now imported automatically. This significantly reduces the amount of
  manual work required to process an import. Support for KOffice was
  also specifically implemented.
    (bug 58168, carlos, r=jamesh)
* Performance improvements were made to the language pack generation
  code; POT files are now omitted.
    (carlos, r=stub)
- Performance of the distribution release language pages was improved,
  and a link to the latest translator's page was gratuitously added.
    (bug 6459, kiko)
- Submissions of incomplete data to the PO template export form no
  longer OOPS.
    (OOPS-257C588, kiko, r=carlos)
- A NameNotAvaliable OOPS that occurred when creating a new translation
  was fixed and then fixed again (some bugs are hard to kill).
    (bug 42760, carlos, r=BjornT)
- A few languages and plural forms were added.
    (carlos)
- A broken icon in the import queue was fixed.
    (matsubara)
- The upload handler no longer OOPSes when an invalid form is submitted.
    (OOPS-256B785, kiko)
- An OOPS that occurred when requesting the same export twice was fixed.
    (Consequence of infrastructure fix of bug 61757)
- Trivial cleanups were done to the copyright notice strings.
    (danilos, r=SteveA)

Distribution management (Soyuz)
===============================
! A pre-rollout acceptance testing process for Soyuz was devised and a
  first cycle was performed. This is a significant effort that greatly
  improves confidence in the rolled out code, and should reduce the
  number of regressions to a manageable minimum.  As part of this work,
  we fixed three regressions in Soyuz that crept in during the
  refactoring work done in the London sprint: a on odd hang when running
  apt-ftparchive, an incorrect refusal to create builds stemming from
  odd set() behaviour with SQLObject, and extreme memory use in the
  generation of override file lists. Optimizations and test improvements
  were included for extra flavour.
    (bugs 59147, 59186 and 59003, malcc, r=kiko)
* A script to retry blocked builds en masse was implemented; it allows
  selecting which status the builds are, and provides a dry-run mode.
    (bug 31603, cprov, r=BjornT)
* Uploads that fail unexpectedly should now be mailed to the user
  signing the changes file. The specific case of unknown distribution
  release is also properly handled.
    (bug 35965, malcc, r=BjornT)
* Uploads to frozen distributions are now automatically sent to the
  unapproved queue. They were formerly being rejected. Some test
  overhauling sneaked into this change after test layer madness caused
  by toxic fumes were found emanating from support tracker email
  interface tests.
    (bug 58187, malcc, r=jamesh)
* Uploads to backports that supersede previous versions are no longer
  rejected. Chalk one more casualty in the war against nascentupload.py.
    (bug 58144, cprov)
* Mirror listings were reformatted and are now much easier to scan.
    (bug 57507, salgado, r=BjornT)
* Downloadable files now include file sizes next to their links.
    (bug 46940, kiko)
- The queue tool no longer takes into account removed binaries when
  deciding if an upload should be marked as NEW or not.
    (bug 59291, cprov, r=spiv)
- The queue tool now displays the pocket to which an upload is being
  made. The queue tool code was improved as part of this work, and a
  specific functional test was implemented for it.
    (bug 59280, cprov, r=spiv)
- The display of build history was improved; in particular, the times
  are now more clearly labeled and start times are provided.
    (bug 49757, cprov, r=BjornT)
- The uploadprocessor was calling log.exception() incorrectly, based on
  the guidance of an ill-conceived test harness. This is now fixed, and
  tests are now expanded.
    (malcc, r=BjornT)
- The mirror prober now disables release mirrors if any of the desired
  files are missing; previously we only disabled them if they missed all
  files.
    (salgado, r=BjornT)
- The contactEmailAddresses() helper is now used in the build
  notification system, allowing all subscribers to be properly notified
  according to team policy.
    (cprov, r=salgado)
- Build listings no longer OOPS when displaying pre-Launchpad build
  records.
    (OOPS-253S10, cprov)
- Traversal to removed packages in the distribution context was fixed.
    (bug 60440, cprov, r=jamesh)
- cron.germinate no longer includes hppa.
    (bug 60533, malcc)
- We no longer OOPS when attempting to display all builds in the case
  where no builds are present.
    (OOPS-269C298, matsubara, r=malcc)
- The build-notification test setup was reenabled and cleaned up.
    (cprov)

Code Branch Management (Bazaar)
===============================
* Product series can now have branches associated to them, fixing a
  long-time limitation in the product branch configuration.
    (bug 31308, jamesh, r=BjornT)
* In concert with the previous change, a development_focus field was
  added to Product; this allows upstream products to specify exactly
  which product series is being actively worked on as the trunk.
    (bug 55659, ddaa, r=BjornT)
- The product release finder underwent surgery again. It now restricts
  directory recursion to the patterns to be matched, avoiding
  self-symlink looks. It can now also cope with non-ASCII index pages.
  The URL cache that intended to avoid conflicting with existing
  releases was made unnecessary and was removed.
    (bugs 60048, 58332 and 58847, jamesh, r=lifeless)
- The branch add and edit forms no longer OOPS when invalid product
  names are entered.
    (bug 59249, jamesh)
- Trunk product series are now created in database classes, not browser code.
    (bug 51799, jamesh, r=spiv)
- Helper utilities and code in importd that depended on Arch or baz was
  dropped.
    (ddaa, r=jamesh, rs=kiko)
- cscvs no longer depends on pybaz, dependencies having been mercilessly
  ripped out.
    (ddaa, r=salgado)
- Arch support was removed from importd; a number of support modules
  were also dropped.
    (ddaa, r=BjornT)
- The series id instead of the archive name is now used in the name of
  the importd working directory, removing another dependency on Arch.
    (ddaa, r=BjornT)
- Arch-related fields in ProductSeries were dropped.
    (ddaa, r=BjornT)
- The gnarly module was replaced by subprocess. Gnarly was a is module in
  that provided a compatibility layer between the Twisted process
  handling and the subprocess module. It was needed in historical
  versions of importd, that ran jobs in threads instead of subprocesses.
  Let's light a candle for it and all the arch-related code David's busy
  murdering.
    (ddaa, r=jamesh)
- A test supplying a broken query value to bzrsync was fixed.
    (kiko)
- Logging was added to the supermirror branch puller.
    (jamesh, r=SteveA)
- cscvs was patched to work with bzr-0.9.
    (ddaa, r=jamesh)

Support Tracker
===============
* Support contacts are now implicitly subscribed to tickets, which makes
  changing them future-proof.
    (bug 52671, flacoste, r=salgado)
- A ZeroDivisionError OOPS in the natural language searching code was fixed.
    (flacoste)
- A broken URL to the user icon was fixed.
    (flacoste)

Feature Tracking (Blueprint)
============================
- Logged in users can now see the 'Edit whiteboard' link.
    (matsubara)
- Status and priority descriptions were condensed.
    (mpt)

General Launchpad
=================
* Karma scaling is now capped to a maximum, avoiding spikes when new
  categories are introduced.
    (stub)
* The calendar feature was disabled until there is time to do proper QA
  and performance work on it. An ICS download link is provided for
  migrating data out of the system.
    (mpt, r=jamesh)
- The pages that list links between upstream products and packages now
  include links to the items listed in the tables, allowing people to
  view the package or product linked.
    (bug 50674, mpt)
- The command suggested for uploading a GPG key was fixed.
    (bug 57175, mpt)
- The links to people in the product and distribution details portlet
  are now consistent in leading to the person's homepage.
    (bug 58361, mpt)
- A few unused pages related to product were pruned.
    (bug 5595, mpt)
- Sampledata for products was cleaned up; this is a massive, thankless
  job that should ensure James H. goes to heaven.
    (jamesh, r=BjornT)
- A number of tests were updated to be less prone to failure in the
  presence of unrelated changes.
    (mpt, r=jamesh)
- An OOPS that ocurred when you revisited the "Merge successful" page in
  a few circumstances was fixed.
    (bug 57759, kiko, rs=salgado)
- An OOPS that happened when submitted a new preferred email twice was
  fixed.
    (bug 48851, matsubara, r=kiko)
- An OOPS that happened when submitting an email address for a domain
  whose name starts or ends with a hyphen was fixed.
    (OOPS-256D762, kiko)

Infrastructure
==============
* Pagetests now issue database resets only if the previous test actually
  modified the database; this should speed up test runs somewhat. The
  test setup was cleaned up as part of this work.
    (jamesh, r=BjornT)
- Unicode attachment names are now properly handled.
    (bug 55992, BjornT)
- OOPSes in upserts that handle session storage were fixed.
    (stub)
- The selectBy() method in SQLObject now handles None values correctly.
    (bug 61757, kiko, r=jamesh)
- The make_pidfile test should no longer fail spuriously.
    (kiko, spiv, r=salgado)
- Set operations can now handle ordering using functions (via
  SQLConstant) correctly, issuing queries using "SELECT * FROM (...)".
    (bug 61519, kiko)
- The quote() function offered by sqlbase now handles set() objects as well.
    (kiko, r=stub)

Upcoming Changes
================
- Distribution Release Bug Targeting (bradb)
- Guided filing of bugs (bradb)
- Duplicate bug subscription improvements (bradb)
- Bug forwarding workflow improvements (BjornT)
- Attaching files to bugs through email (BjornT)
- Performance enhancements to translation pages (kiko)
- Soyuz ArchiveRework (malcc, cprov)
- Support tracker workflow enhancements (flacoste)
- Mirror management FTP support (salgado)
- Direct Bazaar branching of products (jamesh)
- Person creation rationale (salgado)
- Outrageous and Immense Launchpad UI changes (stay tuned)

Feedback
========
Feedback to the release announcement can come directly to me:
    <kiko at canonical.com>
Bugs and regressions in Launchpad should go to:
    https://launchpad.net/products/launchpad/+bugs
Questions and administrative requests should go to:
    https://launchpad.net/products/launchpad/+tickets

----------------------------------------------------------------------

Thanks,
-- 
Christian Robottom Reis | http://async.com.br/~kiko/ | [+55 16] 3376 0125



More information about the launchpad-users mailing list