Seeds

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 lp:~ubuntustudio-dev/ubuntu-seeds/ubuntustudio.<release>.
Get them using the commandline tool bzr. For instance:

bzr checkout lp:~ubuntustudio-dev/ubuntu-seeds/ubuntustudio.quantal

Or alternatively, if you already have the seeds, cd into the directory and do a  bzr 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.:

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

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.

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 2016-07-30 20:10:26 by rosco2)