Ubiquity
Ubiquity is a simple graphical live CD installer designed to integrate well with Debian- and Ubuntu-based systems, written largely in Python, using d-i as a backend for many of its functions for ease of maintenance.
After initial development work by Guadalinex, ColinWatson did most of the development work on Ubiquity, with the aid of JonathanRiddell for the KDE frontend, and EvanDandrea later contributed work on migration-assistant and implemented much of its redesign. It is maintained by the Ubuntu Installer Team.
Contributing
We always need help implementing features and fixing bugs.
The installer is one of the first experiences in Ubuntu that new users have, and it's critical that we make it a compelling one. The installation should be rock-solid. Every person who fails to install Ubuntu is likely one less person who will use Ubuntu.
There are a number of features being worked on at any given time. Do free to pick up anything that isn't actively being worked on by someone else. Please check the work items for the Foundations Team as well as the work items for the individual members of the Ubuntu Installer Team.
If you're confused, please do not hesitate to come and chat in #ubuntu-installer on the Freenode IRC network. Just make sure you stick around long enough for your question to be answered. Many of the developers are spread across the US and European time zones.
Design
Development
Various options that can be passed on the kernel command line for the desktop and installer
Ubiquity/Testing how to test run ubiquity
For OEMs
Building the package
Binary:
./debian/rules update
fakeroot ./debian/rules binary or debuild binary
To-rerun install phase:
rm install-stamp
fakeroot ./debian/rules binary or debuild binary
To clean and prepare source package:
fakeroot ./debian/rules clean
./debian/rules update
debuild -S
Updating the translations
The main translation template is debian/real-po/templates.pot, to refresh it after adding new strings:
debconf-updatepo
(it's also refresh the .po translations with changes like updated line numbers and new fuzzy strings which is usually fine to include in the commit)
The .desktop and polkit files are translated in po/, to update that template:
cd po; intltool-update -p
Updates
- The templates are imported to launchpad when the source package is uploaded to Ubuntu
https://translations.launchpad.net/ubuntu/focal/+source/ubiquity/+translations (change 'focal' by the wanted serie)
- Translation work is done on launchpad
- Ubiquity doesn't use gettext so doesn't get its translations updated with the language packs, the po file need to be imported back manually in the source and uploaded to Ubuntu
Request an export on https://translations.launchpad.net/ubuntu/focal/+source/ubiquity/+pots/ubiquity-debconf/+export (using the default options since we are only interested by the .po files)
- Wait for the email with the exported tarball
tar xvzf launchpad-export.tar.gz
rename -f 's#ubiquity-debconf-##' debian/real-po/*.po
cp debian/real-po/*.po ubiquity/debian/real-po/
- commit the update
- upload the package
Testing unity greeter
- switch to tty
- download any packages/replacements from 192.168.122.1 (virt-manager/kvm networking)
- To restart ubiquity-dm mode:
stop lightdm ; stop ubiquity ; pkill -9 X ; start ubiquity
Ubiquity (last edited 2020-10-16 08:31:26 by jibel)