Overview
Launchpad entry: https://blueprints.edge.launchpad.net/soyuz/+spec/storing-raw-source-changelog
Created: 2009-06-15 by CelsoProvidelo
Contributors:
Depends on: n/a
Overall Summary
Summary: This specification describes the steps required for storing raw debian/changelog files for all versions uploaded to Launchpad and the reasons why we are going to do it.
Goal/Deliverables: Allow users to fetch the debian/changelog file for every source version stored in Launchpad.
We will know we have finished when http://changelogs.ubuntu.com/ is not needed anymore.
Release Note
TBD.
Rationale
The primary reason for storing full changelog files for every source ever uploaded to Launchpad is to replace http://changelogs.ubuntu.com/, but having this information available will also benefit uploaders and users which will have direct access to this contents (which isn't necessarily available in their system) without the need of unpacking sources.
Use cases
- John wants know in which version a buggy udev change was introduced.
- Michael wants update-manager to show him changes for installation candidates coming from PPAs.
- ...
Assumptions
All debian/changelogs ever uploaded to ubuntu takes about 2.6GB (space used in c.u.c), we reckon PPAs would double it. We are talking about 5 ~ 6 GB in librarian, which doesn't seem to be a problem.
User Interface
We will be able to present the pristine changelog (probably linkified) additionally to the version we construct based on the version uploaded to ubuntu.
Implementation
In upload-time, the debian/changelog file is easily reachable, it has to be uploaded to librarian and stored as a foreign key in SourcePackageRelease table. Since the file is mandatory for creating a source package upload it's very unlikely that we will need to deal with any corner-case.
Once stored the file will be published via the IArchive/+files ...
Code Changes
TBD.
Schema Changes
SourcePackageRelease.changelog foreign key to LibraryFileAlias
Migration
Include:
- data migration, if any
- redirects from old URLs to new ones, if any
how users will be pointed to the new way of doing things, if necessary. (If your change is big enough, consider using the rollout template.)
Unresolved issues
In this section list out any issues which are unresolved and will impact or block the implementation of this spec.