||<>|| == 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 [[ReleaseCycles/RollOutTemplate|rollout template]].) == Unresolved issues == In this section list out any issues which are unresolved and will impact or block the implementation of this spec.