← Back to team overview

launchpad-dev team mailing list archive

Help! Knowing what packages are in a distribution

 

The Teal Squad is working on target pickers.
<http://people.canonical.com/~curtis/target-picker/target-picker-0.html
<http://people.canonical.com/%7Ecurtis/target-picker/target-picker-0.html>>
They will contain a projects, distributions, and distribution source
packages (DSPs). We want to show rich information about choices so that
the user is confident about the choice.

This is a long email. If you have knowledge of packages, source package
branches, and distros, please attempt to reply.

The vocabulary that powers the picker would  search for valid projects,
distros, or DSPs. In the case of project and distro, valid usually means
the thing is active and uses Lp to manage the artefact that is being
changed. It is wrong to retarget a bug to a deactivated project or a
distro that does not use Lp to manage bugs.

DSPs are harder because Lp does not store the information is a single
place. Validity is often inferred, and it is expensive to learn. Two
critical bugs are caused by the checks for validity
<https://bugs.launchpad.net/launchpad/+bug/618366>
<https://bugs.launchpad.net/launchpad/+bug/736014>

A DSP is a valid choice if:
    * The source was published by the distro.
      Once published, it is forever a valid choice.
      <https://launchpad.net/ubuntu/+source/mysql>
<https://launchpad.net/ubuntu/+source/devicekit> (still published)
      <https://launchpad.net/ubuntu/+source/devicekit> (deleted,
      yet still valid)
    * There is a branch.
      <https://code.launchpad.net/principia/+source/mysql>
      ? If I delete a branch that other user may have copies of,
      is the DSP still valid?

Packages that were never published nor had a branch are not valid.
<https://launchpad.net/ubuntu/+source/epsoneplijs>
Was never published in Ubuntu. It was never published in any
debian-based distro. No distro has a branch for it. It is invalid.

The current test vocabulary ignores branches. It is fatally flawed.
Though there is work going on to demoralise the data to make the DSP
queries fast, I doubt the vocab is a viable path to reach the goal shown
in the demo. We need to search pillars, packages and branches quickly.

The rules imply that once a DSP determined to be valid, it is always
valid, Lp needs to recheck invalid DSPs that may have been added.

I believe we need a resource that represents every DSP that is a valid
choice. Lp does have a DSP table, and parts of Lp does treat it as a
definitive resource, but it is flawed as William Grant pointed out. The
table has two purposes, Store DSP information that is beyond the package
and branch, like bug supervisor or bug reporting guidelines. It also
stores facts like PO message count and bug heat. We want this data for
every valid DSP, but not every DSP is in the table, and there are more
than a thousand impossible DSPs in the table.

In the case if impossible DSPs in the table, they are mostly historic
entries created by users to targeted a bug to a distro that does not use
Lp to manage bugs. There is only one bad entry for Ubuntu, there are
many for Debian that need investigation. There are about 1000 rows for
distros that never used Lp to track bugs, do not have publishing
history, do not have branches.

There are two reason for missing rows. Changes were made in the last
year or two to ensure that every uploaded source package has a DSP
entry. Packages that were in older Ubuntu releases are not present. I
image we could make the missing DSP rows by mining the source package
publishing history table.

We have no mechanism to ensure that source package branches are
represented in the DSP table. Maybe the branch scanner could do this.
Principia, a distro with just branches does have rows in the DSP table
for the packages the owners have configured or have bugs. Most are not
represented, so bugs cannot be retargeted to them. How do we ensure that
source package branches are in the table?

 <https://launchpad.net/ubuntu/+source/devicekit>-- 

__C U R T I S  C.  H O V E Y___________
No matter where you go...there you are.



Follow ups