Developer Package Repositories
Mentor: Marc Brockschmidt
Co-mentor: Tollef Fog Heen
Summary: Create a system allowing developers to publish and auto-build temporary, non-official packages
Required skills:
- Perl
- (A wee bit of) webdesign skills
Description:
Analogously to https://launchpad.net/ubuntu/+ppas, we want allow DDs (and perhaps DMs?) to publish their experimental, non-official packages on a Debian platform. This system should allow maintainers to upload a package just as ftp-master.debian.org: At least source and Arch: all packages need to be provided by the maintainer, autobuilding and distribution is provided by the system. This project has four parts:
- Extend wanna-build to allow storing for certain package repository-specific information (mainly sources.list entries defining where the source package and build-deps are to be found, and an upload target)
- Extend buildd to use this information and set up the build environment. To not pollute the environment, this should use schroots ability to use snapshots of a source environment for building, then throwing away this snapshot. This needs to allow auto-signing and uploading of built packages to the right archive and needs to notify the uploader of possible build failures.
- Set up the actual archive: Uploads need to be processed, wanna-build needs to be informed about new source packages, apt-able directory structures need to be managed, the archives should be autosigned with the system's key.
- Provide a web interface allowing maintainers to set up an repository, specifying who (identified by GPG keys?) is allowed to configure it and upload packages. Configuration includes the base distribution(s) (stable, testing, sid or any combination) and possibly other personal repositories that are needed for dependencies. For every repository, a reasonable web page to provide information to users should be created from this. It should clearly state who is responsible for the packages and what other repositories are needed.