Scratchpad

Differences between revisions 15 and 16
Revision 15 as of 2013-05-10 16:35:25
Size: 2635
Editor: h-4-180
Comment:
Revision 16 as of 2013-05-10 17:01:43
Size: 4418
Editor: h-4-180
Comment:
Deletions are marked like this. Additions are marked like this.
Line 35: Line 35:

== Where to begin? ==

=== Install The Development Release ===
If you're planning on doing any kind of testing, the first thing you need to do is make sure you have the appropriate flavor installed, and ready to be tested.

=== Set up a Launchpad Account ===
Launchpad is the central administrative tool used, where bugs are reported, where plans are blueprinted and where packages can be uploaded to PPAs for testing, etc. So, no matter what you do, you will need a launchpad account.

=== Set up basic dev tools ===
Even if you are not planning on doing any packaging, at the very least you will need to set up a gpg key which you need to sign the code of conduct at Launchpad. It is also used to sign packages, when building them, which is required if you wish to upload the source package to a PPA in launchpad.

If you're going to do any kind of uploading, or private source management on launchpad, you will need a ssh key. SSH is a protocol used to create encrypted connections to remote places.

== Planning - Blueprints ==

Planning done in Launchpad, using the blueprints system, with workitems, etc

== Testing/QA - Quality Assurance ==

=== Testing ISOs ===

=== Other Forms of Testing ===

==== Newly Uploaded Packages - Set Up Notification ====

==== Autopilot Testing ====

==== UTAH Testing ====

== Updates ==

Two kinds of updates ..

=== Backports ===

When just wanting to add a newer version of an application to a release. This update does not fix any bugs, but may add some new features.

=== Stable Release Updates ===

When there is some sort of serious bug that causes major problems for users.

== Bug Management ==

=== Setting up bug notification ===

=== Fixing bugs upstream ===

== Packaging ==

All About Ubuntu Flavor Development

What Makes Up A Ubuntu Flavor Operative System?

In order to create a full Ubuntu flavor, you will need to create a source for seeds, a flavor meta package, a default settings package for that flavor, and also, set up the tools for creating the installer ISO image.

The Flavor Meta

The flavor meta source is a single package source, which, when built, may result in a multitude of binary meta packages. The metas themselves are always empty, but depends on a set of packages, which form what you could call a package set - the list of packages that make up that flavor.

Seeds

When building a meta package, it looks for the dependencies from what we call seeds. The seeds are basically a set of text files, where all the package dependencies are listed.

Install Tasks (correct term?)

The seeds are also used for creating "install tasks", which are selectable from a expert install medium, such as the Ubuntu netinstall.

Other Flavor Packages

At the very least, each flavor will have a package called <flavor>-default-settings. This is not an empty package, and includes some specific system settings for that flavor.

Some flavors will have additional special packages, such as theming packages, or flavor specific applications.

The ISO

There may be several build systems. One is for the live ISO.

Ubiquity is the Live installer, and contains instructions for each flavor.

Where to begin?

Install The Development Release

If you're planning on doing any kind of testing, the first thing you need to do is make sure you have the appropriate flavor installed, and ready to be tested.

Set up a Launchpad Account

Launchpad is the central administrative tool used, where bugs are reported, where plans are blueprinted and where packages can be uploaded to PPAs for testing, etc. So, no matter what you do, you will need a launchpad account.

Set up basic dev tools

Even if you are not planning on doing any packaging, at the very least you will need to set up a gpg key which you need to sign the code of conduct at Launchpad. It is also used to sign packages, when building them, which is required if you wish to upload the source package to a PPA in launchpad.

If you're going to do any kind of uploading, or private source management on launchpad, you will need a ssh key. SSH is a protocol used to create encrypted connections to remote places.

Planning - Blueprints

Planning done in Launchpad, using the blueprints system, with workitems, etc

Testing/QA - Quality Assurance

Testing ISOs

Other Forms of Testing

Newly Uploaded Packages - Set Up Notification

Autopilot Testing

UTAH Testing

Updates

Two kinds of updates ..

Backports

When just wanting to add a newer version of an application to a release. This update does not fix any bugs, but may add some new features.

Stable Release Updates

When there is some sort of serious bug that causes major problems for users.

Bug Management

Setting up bug notification

Fixing bugs upstream

Packaging

What makes up the OS

  • The Packages
    • Seeds - the Flavor package set
    • The flavor Meta
    • task-installs
  • Debian Packaging - uploading, syncing, merging, PPA, bzr, etc
  • Strategy/Policy for package selection (flavor dependent)
  • How ISOs are built (the build server)

Updates

  • Bug Fixes
    • Setting Up Notification of bugs
    • Fixing bugs upstream in Debian and orig source
  • SRU - Stable Release Update
  • Backports

Quality Assurance

  • Testing ISOs (Pre Release)
  • Testing new uploads of packages
    • Setting Up Notification of changes
  • Using Testing Tools - Autopilot, UTAH, scripts

Feature Development

  • Software Development
  • Pushing for changes upstream

Artwork

  • Development Process

Tools

  • The Launchpad Server
  • Additional Website Services
  • Development tools
    • bzr
    • git

UbuntuStudio/DeveloperDocumentation/Scratchpad (last edited 2013-05-17 01:50:29 by h-4-180)