Automagic binary packaging

Registered by Jonathan Lange on 2011-08-23

A website that allows upstream software vendors to upload binary tarballs and then turns those tarballs into packages in a PPA as quickly and smoothly as possible.

Blueprint information

Status:
Not started
Approver:
Rick Spencer
Priority:
Undefined
Drafter:
Jonathan Lange
Direction:
Needs approval
Assignee:
Jonathan Lange
Definition:
Drafting
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Sprints

Whiteboard

Decisions that need to be made:
 * When & how much to get the Web team involved
 * Whether to have the guess correction UI
 * Whether to make the dependency DB a part of Launchpad or a separate application
 * How much niceness to add to review UI wrt the state of the Launchpad PPA
 * What web server technology to use for server-side pkgme

Phases:
 * Dependency database up-and-running and available for use
 * Run pkgme in parallel with current existing service
 * Support PPA uploads
 * Support updates to packages
 * Move to using pkgme visibly and public

Work items:
[jml] Define messages sent between myapps and server-side pkgme: DONE
[jml] Get approval on spec from stuartm: DONE
[jml] Create a project on Launchpad for server-side pkgme: DONE
[jml] Talk to IS about plan, find out what's best for them: DONE
[jml] Create a simple web service around pkgme that shows guesses: TODO
[jml] Create a simple web service around pkgme that creates the package for download: TODO
[jml] Create a simple web service around pkgme that creates package and uploads to PPA: TODO
[jml] Change pkgme to handle updates to existing packaging information: TODO
[jml] Write a simple command-line client for testing web service: TODO
[jml] Create a project on Launchpad for binary backend: DONE
[jml] Find out what would be the correct changelog updater name to use and use that: TODO
[jml] Take description from metadata and put that in control file: TODO
[jml] Take license information from metadata and put that in control file & packaging: TODO
[jml] Correctly indicate which architecture is being built for: TODO
[jml] Update to build for both i386 and amd64: TODO
[jml] Take icons from metadata and add them to desktop file and packaging appropriately: TODO
[jml] Figure out why .desktop file is not working and fix: DONE
[jml] Update dependency guessing to take symbols into account: TODO
[elachuni] Add a hook that calls out to server-side pkgme: DONE
[elachuni] Add a hook to take results from server-side pkgme: DONE
[jml] Create mockup pages for changes to developer portal UI: TODO
[elachuni] Add a feature-flag system to developer-portal UI: DONE
[jml] Add UI that shows guesses only, but provides no opportunity to correct: TODO
[jml] Add UI for correcting guesses to UI: TODO
[jml] Update review UI to have links to both packaged versions and original tarball uploads: TODO
[jml] Write an ensemble formula for service: TODO
[jml] Add version guessing to binary backend: TODO

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.