Debian FTPMaster Wiki / projects / arch-all-tracking

Tracking Architecture: all Packages per suite

Current Status (20091124)

Example: whenever a new source package for emacs23 gets uploaded the installation of the metapackage emacs_*_all.deb breaks on most architectures until the needed Architecture: any packages like emacs23 gets build by the buildd. That happens because dak removes all arch: all packages but the newest one.

The new code in dominate.py and generate_filelist.py has been activated for the dinstall cron job and replaces the old code in make_suite_file_list.py. Dominate is actually removing source and binary packages from suites and generate-filelist is generating index files for apt-ftparchive.

Suites marked as untouchable (lenny-r0, etch-r0, etch-m68k, oldstable, stable) are skipped by dominate. The cleanup process deletes records from the tables src_associations and bin_associations for all other suites.

Unfortunately some parts of cruft-report (the detection of obsolete sources) is broken now and has to be disabled temporarily. A replacement is in development.

New Algorithm

dominate

The new algorith allows multiple versions of source packages per suite as long as they are referenced by some valid arch: any package and it keeps all versions of arch: all packages that references any valid source package. We need to keep packages that build only all packages. Some principals for packages in the same suite:

We ignore components in the algorithm and we have the following part disabled because it is too dangerous:

obsolete source detection in cruft-report

TODO

dak dominate

  1. GRANT SELECT permissions for new database views to ftpmaster.

dak rm

Extend dak rm to understand -a any which means every architecture except 'all'.

dak rm does not have on option for specifying the version(s) to remove. Something like -V VERSION could be added where VERSION is a comma separated list of versions and defaults to all versions in SUITE.

BTS

As soon as dak rm has -V it should be possible to specify a version number in bug reports. The current subject is 'RM: $PACKAGE/$SUITE [$ARCHLIST] -- REASON' where '/$SUITE' is optional and '$SUITE' defaults to 'unstable'. The new format could be 'RM: $PACKAGE/$SUITE [$ARCHLIST] $VERSION -- REASON' where the comma separated '$VERSION' is optional and defaults to all versions in '$SUITE'.

reportbug

Reportbug should support the new subject.

dak cruft-report

There are several new (and some old) corner cases not handled by cruft-report yet.