KarmicOEMConfigImprovements

Differences between revisions 12 and 13
Revision 12 as of 2009-07-14 13:37:12
Size: 5135
Editor: bismuth
Comment: mark oem-config merge as done
Revision 13 as of 2009-08-20 14:16:47
Size: 5311
Editor: 65-78-0-53
Comment:
Deletions are marked like this. Additions are marked like this.
Line 43: Line 43:
'''Implementation:''' This has been completed. The work was tracked in the branch [[https://code.launchpad.net/~mterry/ubiquity/oem-config-merge|lp:~mterry/ubiquity/oem-config-merge]] '''Implementation:''' Done. The work was tracked in the branch [[https://code.launchpad.net/~mterry/ubiquity/oem-config-merge|lp:~mterry/ubiquity/oem-config-merge]]
Line 47: Line 47:
 * Provide translated timezones in the drop down lists. ('''implementation:''' This work can be tracked in the branch [[https://code.launchpad.net/~mterry/ubiquity/translated-timezones|lp:~mterry/ubiquity/translated-timezones]])  * Provide translated timezones in the drop down lists. ('''implementation:''' Done. This work was tracked in the branch [[https://code.launchpad.net/~mterry/ubiquity/translated-timezones|lp:~mterry/ubiquity/translated-timezones]])
Line 68: Line 68:
'''Implementation:''' The work is tracked in the branch [[https://code.launchpad.net/~mterry/ubiquity/plugins|lp:~mterry/ubiquity/plugins]] and has its own [[Ubiquity/Plugins|wiki page]].

Summary

Provide additional functionality and polish to oem-config. Keep oem-config in sync with changes in ubiquity by merging the two projects into a single source tree.

Release Note

A number of changes have gone into oem-config to make it more flexible for OEMs looking to deploy Ubuntu.

Rationale

OEMs and OEM engineers have expressed a desire for a number of specific changes to be make to oem-config, to bring it more in line with their needs.

User stories

  • Bob's graphics card will not work properly until after oem-config has been run.
  • Mario would like to provide a EULA for software his company is distributing with their Ubuntu image.
  • Dave is confused as to why he has a number of language pack updates to install for languages he does not speak.

Assumptions

Design

Implementation

  • Investigate falling back to bulletproof-X or failing that, the console-based oem-config when X fails.
  • Add success and failure preseedable commands to oem-config, to match the ones in ubiquity.

Merge ubiquity and oem-config

ubiquity and oem-config are similar in structure and function, but are not built from the same source. This has created a number of problems in the past as copy and pasting code shared between the two projects is often forgotten. For this reason, the two projects should be merged and built as separate packages from the same source tree, or alternatively built as a single application that changes functionality based on a command line parameter.

Care should be taken to preserve history. This can also serve as an opportunity to clean up some of the cruft that has accumulated in the structure of both projects as they've evolved.

If this portion of the specification is not completed in time, recent changes to ubiquity should be carried over, such as a newer version of the timezone map and the keyboard selection UI.

Implementation: Done. The work was tracked in the branch lp:~mterry/ubiquity/oem-config-merge

Timezone selection

  • Provide translated timezones in the drop down lists. (implementation: Done. This work was tracked in the branch lp:~mterry/ubiquity/translated-timezones)

  • Add country information to the timezone selection logic, so that when someone clicks south of Austin, TX they do not end up with a Mexican city selection. This will involve adding multiple colors to the color coded map for the same timezone, and modifying the timezone code to account for the change.
  • Add GeoIP support (already being worked on by cjwatson) to make a better default timezone selection.

Network setup

  • Copy Network Manager portion of the keyring to the target system at install.
  • Look into embedding network-manager-netbook or some other NetworkManager frontend in the interface when running in only-ubiquity mode or when in oem-config.

Extra language pack removal

https://bugs.edge.launchpad.net/ubuntu/+source/oem-config/+bug/315644

Some OEMs preseed all of the language packs to be installed, but the user only ends up using one set, which leads to lots of unnecessary updates for the user. It was suggested that an interface to choose which language packs to keep and which to remove be added to oem-config, but doing this strikes me as dumping the problem created by how we deal with language selection and language packs on the user, who likely doesn't want to be bothered with this kind of question. This should be investigated further and automatically removing unneeded language packs or moving the functionality into computer-janitor be considered as alternative options.

Ability to add pages

It should be easy for OEMs to add pages to oem-config using a component that either does not require a backend (asking questions for itself) or a component that automatically picks up and handles confmodules. Either one will feed information to the frontend in a stanardized form it can use to construct an interface.

It should also be made easy to add translateable EULA pages, either by dropping them in a known location on the filesystem, or by a pointing a special EULA oem-config component at them.

Implementation: The work is tracked in the branch lp:~mterry/ubiquity/plugins and has its own wiki page.

Test/Demo Plan

Test cases already exist for oem-config and ubiquity as part of the CD testing procedures.

Unresolved issues

  • Investigate whether it's now possible to create a user with non-latin characters in the username.

BoF agenda and discussion


CategorySpec

FoundationsTeam/Specs/KarmicOEMConfigImprovements (last edited 2009-11-19 17:07:32 by 63)