Customizing ubuntu-desktop package

Asked by Maxime

Hi,

I hope this is a good place to ask my question. (Is there a better place ?)

I would like to make a custom meta-package (like ubuntu-desktop) in order to make a "custom" distro.

I have successfully rebuild ubuntu-desktop from sources and seeds :

apt-get source ubuntu-desktop
cd ubuntu-meta-*
dpkg-buildpackage -ai386 -b -uc

Now I would like to customize package list.

- Should I make my own seeds (derived from ubuntu.lucid seeds) or just modify ubuntu-meta-*/desktop file ?
- How the ubuntu-meta-*/desktop file is created ? By hand ?
- Am I going the right way according to my objective (is tasksel an option ?) ?

Thanks for your help.

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu ubuntu-meta Edit question
Assignee:
No assignee Edit question
Solved by:
Maxime
Solved:
Last query:
Last reply:
Revision history for this message
actionparsnip (andrew-woodhead666) said :
#1

https://help.ubuntu.com/community/LiveCDCustomization

I'd extract the ubuntu-desktop package and see what it asys, you can easily tweak the contents etc, you will also need to find out how debs are made etc. I suggest you subscribe to the Lubuntu mailing list, its a new(ish) ubuntu distro hoping for official status but some guys there have made a metapackage and could be worth asking there too.

Sorry I'm not much more help

Revision history for this message
Maxime (max-accadia) said :
#2

I finally found how to do that.

It is safe to remove all desktop files from ubuntu-meta as running ./update rebuild them from seeds. Seeds are the place to change package list.

So here is what I did :
- getting source of ubuntu-desktop
- getting seeds of ubuntu.lucid and platform.lucid
- rename and modify ubuntu-meta
- rename and modify ubuntu.lucid seeds according to my needs
- change package list in ubuntu.lucid seeds.
- rebuild package

Revision history for this message
Imre Sándor (seniorsamu) said :
#3

Hi,

This appears to be the first promising info for my creating a custom, Ubuntu-based distro.
Correct me, if I'm wrong, because there were ambiguities between different sources.
There are two kinds of "package sets" in Ubuntu:
- metapackages
- tasks

During system installation (install from the CD or network) there are metapackages. In a standard ubuntu install, these are ubuntu-desktop, xubuntu-desktop and so on.
After the system is installed, the "package sets" get extended by tasks like print-server, samba-server, lamp-server (can be listed via tasksel --list-tasks.
If I want to customize an install CD, I can create both tasks and metapackages, but the latter will only be available for me after the first boot of the installed system. Metapackages are also available after install.

I'm pretty sure, that with your information, I can create a new metapackage but it is not clear, how to make the installer realize, that I have additional metapackages to choose from.
I'm using the alternate install CD as a base.

If I'm correct, I would have to create a seed file similar to ubuntu.seed (in the preseed directory of the install cd) but with my metapackage and custom methods, but I don't have a clue where to put the created metapackage.
I tried to find one of the existing metapackages (ubuntu-desktop for one) but I couldn't.

Could you help me with that?

Thanks in advance.

Imre

Revision history for this message
Maxime (max-accadia) said :
#4

Hi,

I can't help you that much as I have a very rough understanding of tasks / metapackages / seeds and I don't know anything about ubuntu installer.

Depending on your time / needs, I suggest you looking at :

- http://uck.sourceforge.net/
- Configuration management systems like cfengine or puppet for automating administrative tasks
- installer preseeding : https://help.ubuntu.com/12.04/installation-guide/i386/appendix-preseed.html

good luck

Revision history for this message
Imre Sándor (seniorsamu) said :
#5

Hi,

Thanks for the info, I'll give UCK a try. As for the preseeding docs, I already found it, but thanks for pointing out anyway.

I need to look into cfengine and puppet for more information. Based on the preliminary info on their main webpage, they look interesting.

Bye