Seeds

Differences between revisions 20 and 21
Revision 20 as of 2016-07-30 20:10:26
Size: 3574
Editor: rosco2
Comment: Fix formatting
Revision 21 as of 2018-11-03 08:51:33
Size: 4101
Editor: rosco2
Comment: Update seed instructions to git
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
The seeds for Ubuntu Studio are located at ''lp:~ubuntustudio-dev/ubuntu-seeds/ubuntustudio.<release>''. <<BR>>
Get them using the commandline tool '''bzr'''. For instance:
The seeds for Ubuntu Studio are located at ''https://code.launchpad.net/~ubuntustudio-dev/ubuntu-seeds/+git/ubuntustudio''. <<BR>>
Get them using the commandline tool '''git'''. For instance:
Line 31: Line 31:
bzr checkout lp:~ubuntustudio-dev/ubuntu-seeds/ubuntustudio.quantal git clone https://git.launchpad.net/~ubuntustudio-dev/ubuntu-seeds/+git/ubuntustudio
Line 34: Line 34:
Or alternatively, if you already have the seeds, cd into the directory and do a {{{ bzr pull}}}. Or alternatively, if you already have the seeds, cd into the directory and do a {{{ git pull}}}.
Line 58: Line 58:
bzr commit -m "Replace rubbish with wonderful in video seedfile. Rubbish is buggy" git commit -m "Replace rubbish with wonderful in video seedfile. Rubbish is buggy"
Line 61: Line 61:
Then push the changes back to the repository with {{{bzr push}}}. If you are not a member of the ~ubuntustudio-dev team, you will have to push the bzr branch somewhere else (eg. your own launchpad repository) and ask someone to merge the changes from there. It is a good idea to refer to the launchpad bug number in the commit message. For example, "Drop x package (LP: #123456)". If there isn't a bug yet, why not create one with a verbose description of the reason for the change. It will make things easier to work out why the change was made further down the road. Bugs against the Ubuntu Studio seeds should be reported against the ubuntustudio-meta source package ([[https://bugs.launchpad.net/ubuntu/+source/ubuntustudio-meta/+filebug]]).

Then push the changes back to the repository with {{{git push}}}. If you are not a member of the ~ubuntustudio-dev team, you will have to push the git branch somewhere else (eg. your own launchpad repository) and ask someone to merge the changes from there.

What are seeds?

Seeds are textfiles used to create the list of packages that we want to ship with the Ubuntu Studio installation image.

A germinate script is used to parse these seed files and ensure that the required Ubuntu Studio packages are installed on the user's system.

Sometime after the seed files have been updated and pushed back to the lp:~ubuntustudio-dev/ubuntu-seeds repository, the germinate script will run on an Ubuntu server. The germinate output for all the Ubuntu flavours can be found here: http://people.canonical.com/~ubuntu-archive/germinate-output/

The results of all this will eventually be built onto the daily Live DVD. The past releases, and the current daily build can be found here: http://cdimages.ubuntu.com/ubuntustudio/

Occasionally, the Live DVD build will fail, and we receive an email on the Ubuntu Studio developers mailing list. Sometimes we need to adjust the seeds to fix some conflicts in the packages that are trying to be installed. Check the failed build log on the mailing list (or here: http://people.canonical.com/~ubuntu-archive/cd-build-logs/ubuntustudio/), and the above link to the germinate output can help determine which packages are pulling in which dependencies.

Managing Ubuntu Studio Seeds

The workflow to edit the Ubuntu Studio seeds is basically:

  • get the source
  • edit the source
  • commit the changes
  • push the changes back to the repository

The seeds for Ubuntu Studio are located at https://code.launchpad.net/~ubuntustudio-dev/ubuntu-seeds/+git/ubuntustudio.
Get them using the commandline tool git. For instance:

git clone https://git.launchpad.net/~ubuntustudio-dev/ubuntu-seeds/+git/ubuntustudio

Or alternatively, if you already have the seeds, cd into the directory and do a  git pull.

"lp:" stands for launchpad. All Ubuntu Studio code can be found at - https://code.launchpad.net/~ubuntustudio-dev

Editing Seeds

This is an example of a seed file (minimized version of a real seed file):

Task-Per-Derivative: 1

Task-Section: user

Task-Description: 2D/3D creation and editing suite

Task-Key: ubuntustudio-graphics


* agave #This is a dependency

* (blender) #This is a recommend

# * (openclipart-svg) #Has been commented out, and will not be used


* ubuntustudio-graphics # Metapackage for everything here.

So, the next step is to use your favourite text editor to modify the seed files. Then you commit the changes with an explanatory message. Eg.:

git commit -m "Replace rubbish with wonderful in video seedfile. Rubbish is buggy"

It is a good idea to refer to the launchpad bug number in the commit message. For example, "Drop x package (LP: #123456)". If there isn't a bug yet, why not create one with a verbose description of the reason for the change. It will make things easier to work out why the change was made further down the road. Bugs against the Ubuntu Studio seeds should be reported against the ubuntustudio-meta source package (https://bugs.launchpad.net/ubuntu/+source/ubuntustudio-meta/+filebug).

Then push the changes back to the repository with git push. If you are not a member of the ~ubuntustudio-dev team, you will have to push the git branch somewhere else (eg. your own launchpad repository) and ask someone to merge the changes from there.

Note: The Ubuntu Studio Metapackages will also need to be updated (although this can wait a little while) to ensure that someone who wants to manually add the Ubuntu Studio packages to another Ubuntu flavour, will get the same packages that are on the Ubuntu Studio Live DVD for that release.

== More About Seed Management In General==

UbuntuStudio/Seeds (last edited 2018-11-03 09:05:59 by rosco2)