Scratchpad
Size: 4456
Comment:
|
Size: 5091
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
<<TableOfContents()>> |
|
Line 16: | Line 14: |
= What Makes Up A Ubuntu Flavor Operative System? = | <<TableOfContents()>> |
Line 18: | Line 16: |
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'''. | == What Makes Up A Ubuntu Flavor Operative System? == |
Line 20: | Line 18: |
== The Flavor Meta == | Simply put, a Ubuntu [[https://wiki.ubuntu.com/UbuntuFlavors|flavor]] consists of: |
Line 22: | Line 20: |
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. | * [[https://wiki.ubuntu.com/SeedManagement|seed]] source - hosted in a bzr branch at launchpad * a [[https://help.ubuntu.com/community/MetaPackages|meta source package]], which depends on the seed source * Tools for building the ISO |
Line 24: | Line 24: |
== Seeds == | === Package Repositories === All of the community maintaned flavors share the same [[https://help.ubuntu.com/community/Repositories/Ubuntu|repository]] for installable package - the Ubuntu Universe repository. While the main repository is used for official Ubuntu packages, Universe contains community maintained packages. === The Flavor Meta === The flavor meta source is a single package source, which, when built, may result in a multitude of binary debian 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 === |
Line 28: | Line 36: |
=== Install Tasks (correct term?) === | ==== Task Installs (correct term?) ==== |
Line 30: | Line 38: |
The seeds are also used for creating "install tasks", which are selectable from a expert install medium, such as the Ubuntu netinstall. | The seeds are also used for creating "task installs", which are selectable from a expert install medium, such as the Ubuntu netinstall. |
Line 32: | Line 40: |
== Other Flavor Packages == | === Other Flavor Packages === |
Line 38: | Line 46: |
== The ISO == | === The ISO === |
Line 44: | Line 52: |
= Where to begin? = | == Where to begin? == |
Line 46: | Line 54: |
== Install The Development Release == | === Install The Development Release === |
Line 49: | Line 57: |
== Set up a Launchpad Account == | === Set up a Launchpad Account === |
Line 52: | Line 60: |
== Set up basic dev tools == | === Set up basic dev tools === |
Line 57: | Line 65: |
= Planning - Blueprints = | == Planning - Blueprints == |
Line 61: | Line 69: |
= Testing/QA - Quality Assurance = | == Testing/QA - Quality Assurance == |
Line 63: | Line 71: |
== Testing ISOs == | === Testing ISOs === |
Line 65: | Line 73: |
== Other Forms of Testing == | === Other Forms of Testing === |
Line 67: | Line 75: |
=== Newly Uploaded Packages - Set Up Notification === | ==== Newly Uploaded Packages - Set Up Notification ==== |
Line 69: | Line 77: |
=== Autopilot Testing === | ==== Autopilot Testing ==== |
Line 71: | Line 79: |
=== UTAH Testing === | ==== UTAH Testing ==== |
Line 73: | Line 81: |
= Updates = | == Updates == |
Line 77: | Line 85: |
== Backports == | === Backports === |
Line 81: | Line 89: |
== Stable Release Updates == | === Stable Release Updates === |
Line 85: | Line 93: |
= Bug Management = | == Bug Management == |
Line 87: | Line 95: |
== Setting up bug notification == | === Setting up bug notification === |
Line 89: | Line 97: |
== Fixing bugs upstream == | === Fixing bugs upstream === |
Line 91: | Line 99: |
= Packaging = | == Packaging == |
Line 95: | Line 103: |
= Feature Development Strategy = | == Feature Development Strategy == |
Line 97: | Line 105: |
= Artwork = | == Artwork == |
Line 99: | Line 107: |
= Information on various Development Tools = | == Support, PR and User Interaction == So, where do we meet our users? * ubuntuforums.org * social channels * mail lists * IRC (chat) * website == Information on various Development Tools == |
All About Ubuntu Flavor Development
Most of Ubuntu flavor development does not require any coding skills, as the first time reader might soon find out. But, to be able to get one foot in, one probably needs to get some sort of overview of how a Ubuntu flavor is developed.
Also, to be able to perform tasks efficiently, one needs to have easy access to information on how each tasks can be performed.
This documentation is written for those two purposes, and aims at simplifying the process of becoming a Ubuntu flavor developer, both for the unskilled newbie as the veteran developer.
Not all of this might be interesting to you, depending on what you like to do, but should contain all the information you need to do any task concerning Ubuntu flavor development.
Contents
What Makes Up A Ubuntu Flavor Operative System?
Simply put, a Ubuntu flavor consists of:
seed source - hosted in a bzr branch at launchpad
a meta source package, which depends on the seed source
- Tools for building the ISO
Package Repositories
All of the community maintaned flavors share the same repository for installable package - the Ubuntu Universe repository. While the main repository is used for official Ubuntu packages, Universe contains community maintained packages.
The Flavor Meta
The flavor meta source is a single package source, which, when built, may result in a multitude of binary debian 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.
Task Installs (correct term?)
The seeds are also used for creating "task installs", 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
Anything from fixing minor bugs, to creating packages from scratch will require some knowledge of Ubuntu and Debian packaging.
Feature Development Strategy
Artwork
Support, PR and User Interaction
So, where do we meet our users?
- ubuntuforums.org
- social channels
- mail lists
- IRC (chat)
- website
Information on various Development Tools
UbuntuStudio/DeveloperDocumentation/Scratchpad (last edited 2013-05-17 01:50:29 by h-4-180)