Ubuntu App Development ISO

Registered by Daniel Holbach on 2014-11-17

We want to create an ISO for App/Scope developers at training events to allow users of Mac/Windows (or old Ubuntu) installations to participate as well.

The idea behind the image:
 - no ubiquity necessary - just a live session
 - install ubuntu-sdk, don't install various big packages (like libreoffice)
 - build for utopic, include SDK team PPA
 - only amd64/i386 required

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Daniel Holbach
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

1) no install options necessary, live system is enough
2) install ubuntu-sdk instead of a range of other packages like
   libreoffice (seed branch available at lp:~ubuntu-core-dev/ubuntu-seeds/ubuntu-appdev.utopic)
3) allow ubuntu user to log in (code available at: lp:~dholbach/livecd-rootfs/ubuntu-appdev - r988)
4) set up emulator and click chroot (code available at lp:~dholbach/livecd-rootfs/ubuntu-appdev - r989)
5) make use of SDK PPA - call EXTRA_PPAS with ppa:ubuntu-sdk-team/ppa

Meta package and modified livecd-rootfs available in
https://launchpad.net/~dholbach/+archive/ubuntu/ubuntu-appdev/+packages

Comments from Colin:

Create the livefs configuration in Launchpad. Start from https://launchpad.net/~BUILD-USER/+new-livefs, where BUILD-USER is the username decided above. Make sure "Owner" is set to BUILD-USER and "Live filesystem build metadata" is set to:

     {"project": "ubuntu-appdev", "extra_ppas": ["dholbach/livecd-rootfs", "ubuntu-sdk-team/ppa"]}

Decide where the builds are being controlled. This could be the master for cdimage.ubuntu.com, but it would really be better to have it be somewhere else for this kind of demo/training image, particularly given that it's using add-on PPAs.

I'm pretty sure you'll need to add some project configuration to livecd-rootfs/live-build/auto/config here, and you'll probably need to make sure to use metapackages rather than tasks since PPAs don't have Task fields.

 Ideally, set up an instance of lp:ubuntu-cdimage on the system you're going to be using to trigger the builds. This shouldn't be too bad given that you're using Launchpad for the livefs builds, but unfortunately I think you will probably need debian-cd and a mirror of main, so it will be a bit of work; hopefully useful work that lets us improve the tools. Start with lp:ubuntu-cdimage and the various subsidiary checkouts listed in configs/devel, then configure it for your new project (you could use r1056/r1059 as an example of roughly what you need to do). You'd need to set up production/livefs-launchpad to read something like:

     ubuntu-appdev daily-live * * BUILD-USER/ubuntu-appdev

"for-project ubuntu-appdev cron.daily-live --live" should kick off a build if you've got everything right. Omit --live to run just the cdimage end of things if you have a recent livefs build on Launchpad that's good and you just want to redo the final image assembly; set DEBUG=1 in the environment to run a build but output everything to your terminal rather than a log file and not publish anything.

(?)

Work Items

Work items:
Make sure ubiquity is not used / pulled in: TODO
Add some project configuration to livecd-rootfs/live-build/auto/config: TODO
Make sure to use metapackages rather than tasks: TODO
Decide where the builds are being controlled: TODO
Decide which LP user is triggering the builds, ideally a bot user of some kind. (That user will need to be a member of ~launchpad-livefs-builders.): TODO
Create the livefs configuration in Launchpad: TODO

This blueprint contains Public information 
Everyone can see this information.