JauntyUNR

  • Launchpad Entry: unr-handling-jaunty

  • Created: Monday 05 January 2009

  • Contributors: Michael Casadevall, Steve Kowalik, Michael Frey, Neil Patel, Bill Filler, David Mandala

  • Packages affected:

Summary

This is an overview of the direction of taking Ubuntu Netbook Remix for Jaunty, and what we wish to implement for it.

The open source components of Ubuntu Netbook Remix (UNR) will be fully integrated into the Jaunty release. An installation image will be created by the distro team using the standard distro tools (ubiquity). The UNR Jaunty image will have the following requirments:

Requirements

Image Format

  • Install/Live DVD (.iso). A combined install/live DVD will be created to allow you either to install UNR permanently on a computer, or (by entering 'live' at the boot prompt) to try UNR without changing your computer at all.
  • An equivalent image in .img format will be optional
  • Image size installed must be 2.5GB or less, to support 4GB minimal disk requirement
  • Image must be runnable in virtual machine (requires mods to netbook-launcher)

Hardware Supported

  • i386 (not lpia)
  • Intel Poulsbo and Callistoga graphics support

  • Netbooks currently shipping with UNR (enthusiast upgrade case)
  • ASUS eeePC (models?)
  • Acer Aspire One (models?)

Pre-installed Software

  • A modified Ubuntu Desktop seed will be used to populate the default image.

  • This will include a new set of UNR specific packages that need to be integrated into Jaunty.

  • The image will also include standard Ubuntu packages that were modified by the OEM Services Group (where applicable) to improve the user expierence on Netbooks. These can be categorized as follows:
  • Kernel modifications were made by OEM Services Group for the Hardy-based LPIA kernel. Support for the functionality added in this kernel needs to be integrated into the Jaunty kernel.

Implementation/Task List

Modification Details

New UNR Packages

The source is available for most of these packages at https://code.edge.launchpad.net/unr. Some packages have not yet been added, but will be shortly.

netbook-config           # bfiller default UNR configuration (gconf settings, etc..)
netbook-launcher         # njpatel UNR launcher
desktop-switcher         # njpatel switch between UNR desktop and gnome
human-netbook-theme      # njpatel default UNR theme
maximus                  # njpatel window maximizer daemon
window-picker-applet     # njpatel window picker panel applet
go-home-applet           # njpatel go home panel applet
webfav                   # bfiller firefox extension to save bookmarks to UNR launcher

UNR seed diff relative to 8.04 Ubuntu Desktop seed

Added:

netbook-config           # bfiller default UNR configuration (gconf settings, etc..)
netbook-launcher         # njpatel UNR launcher
desktop-switcher         # njpatel switch between UNR desktop and gnome
human-netbook-theme      # njpatel default UNR theme
maximus                  # njpatel window maximizer daemon
window-picker-applet     # njpatel window picker panel applet
go-home-applet           # njpatel go home panel applet
webfav                   # bfiller firefox extension to save bookmarks to UNR launcher
icedtea-gcjwebplugin     # java plugin for browser (not sure if needed anymore)
mtp-tools                # Media Transfer Protocol (MTP) library tools?
language-support-en      # default English lang packs
language-pack-en 
language-pack-gnome-en 
ttf-liberation           # default font for web browser
cheese 
stardict 
stardict-gnome 
stardict-plugin 
stardict-plugin-spell 
python-gtkglext1 
python-opengl 
libzlui-gtk 
binutils
powermanagement-interface # needed for reboot-from-update-notifier to work

Removed:

deskbar-applet
evolution-exchange
gimp
gimp-gnomevfs
transmission-gtk
gnome-pilot-conduits
ekiga
nautilus-cd-burner
brasero
sound-juicer
tracker
libdeskbar-tracker
tracker-search-tool
xsane
tsclient
vinagre
gimp-python
diveintopython

Translation Updates

Some applications have expanded translations in the forms of patches. We haven't yet figured out best way to integrate these:

  • oem-config
  • network-manager-gnome
  • bluez-gnome
  • cheese

Applications/Desktop Package Modifications

Assignments

  • mterry: gcalctool (./) , gnome-panel-data (./) , gnome-system-tools (./) , gdm (./) , oem-config (./) , network-manager-gnome (./) , gnome-screensaver (./) , rhythmbox (./) , policykit-gnome (./) , belocs (./)

  • paul: fspot, pidgin, gnomes-games-data, evolution, gnome-control-center, usplash-theme
  • gary: cheese
  • kyle: yelp (not upstreamable), system-config-printer-gnome (patch rejected 276884)
  • bfiller: gnome-panel-data (./)

  • njpatel: metacity (./)

Focus on first on patches marked P1, then do P2's. For resolution changes, the approach we want to take is to make the packages dynamically determine screen size, as specified here, and pick the layout to use.

  • unr-system (system package related issues)
  • unr-application (application related issue, not involving screen size)
  • unr-application-res (screen size related issue)

Done

  • gnome-screensaver 2.22.2-0ubuntu1netbook0unr1
    • 06_fix_blank_screen_preview.patch: Fixes bug where blank screensaver preview shows a white screen. Seems easily upstreamable. See LP: #283525.

      • debdiff: LP #199112

  • rhythmbox 0.11.5-0ubuntu8netbook1
    • 07_fix_import_error.patch: When the remember path is not exist when import, try to open user's music directory.
      • seems good for upstream
      • debdiff: LP #242013

  • gnome-system-tools 2.22.0-0ubuntu9usg2
    • N/A: 27_roaming_to_automatic.dpatch: Use "Automatic mode" instead of "Roaming mode"
    • P1: 50_fit_1024x600_users.ui.patch.dpatch: Add default height and scrollebars to user dialog.
      • debdiff: LP #320146

  • gnome-panel 1:2.22.2-0ubuntu1.1netbook2
  • gnome-panel-data 1:2.22.2-0ubuntu1.1netbook2
    • P2: 20_respect_expand.patch: Small patch to fix adding applets when there's an expandable applet already there. This would be good to have, since UNR has that setup. GNOME hasn't applied yet, but we should.

      • debdiff: LP #320223 (note that this actually isn't that important. I was wrong about default UNR setup, it's hard to hit this bug. Still, it's a nice fix for desktop Jaunty I suppose)

    • P2: (bfiller) 81_disable_movement_by_default.patch: Changes gconf defaults to disable moving panels by dragging by default. If UNR wanted this (but not upstream Jaunty), might be better as part of a UNR gconf-defaults package rather than this package itself?
      • DONE: added /apps/panel/toplevels/disable_movement true to gconf-defaults in ume-config-netbook and ubuntu-netbook-remix-default-settings (Jaunty package). Patch can be safely dropped from gnome_panel_data now.

Not Needed

  • language-installer 0.1-0netbook19
    • Not a package upstream wants. This controls language (and adobe reader) installation after oem-config. Distro uses their own language setup.
    • N/A for Jaunty
  • gnome-menus 2.22.2-0ubuntu2netbook1unr1
    • 22_netbook-hide-apps.patch: Hides a bunch of applications from the launcher/menus. Not something for the desktop, possibly upstream UNR wouldn't want us to futz with this either.
    • 11_merge-last.patch: Lets system builders that drop menu files in the /etc folder remove menu items as well as add them. GNOME upstream is not interested in this, it should probably go away then.
    • N/A for Jaunty
  • nautilus 1:2.22.3-0ubuntu2netbook1
  • nautilus-data 1:2.22.3-0ubuntu2netbook1
    • 17_toggle_trash_keys.patch: Make Delete, KP_Delete, and
      • <shift>KP_Delete inactive keys if user can't delete the selected file.

    • N/A for Jaunty
  • bluez-gnome 0.25-0ubuntu2~804um1msg9
    • properties-desktop-file-onlyshowin.patch: Patch by mobile team to add Mobile to OnlyShowIn line for properties applet

    • 06_audio_ui.patch: Adds the ability to pair BT headsets from services/audio UI. The UI for this may have already changed in bluez 4.0
    • 08_wizard.patch: Adds a setup wizard, accessible by the applet's context menu. The bluez guys went ahead with a different wizard in 4.0. So this is largely droppable, but it does have a couple niceties that I don't think are in the 4.0 version: a cute pulsing progress bar while user waits, and a checkbox when you pair a headset that lets the user immediately change default gstreamer audio sink to use the bluetooth headset.
    • 12_reset_gstreamer.patch: When the last audio device is removed via the preferences dialog, reset the gstreamer audio sink to 'autodetect' if it was in bluetooth mode. This is a natural pair with the checkbox mentioned above, but is useful even without that checkbox. The two of them together make the user, in theory, not have to ever change their audio sink manually.
    • 10_browse_phones.patch: Change wording of "Browse Devices" to "Browse Phone Devices" to avoid user confusion
    • 16_left_click_applet.patch: If the applet isn't blinking because it wants to display a password dialog, make a left click on the applet do the same thing as a right click. Less confusing to users who may be used to left click menus from, say, the NetworkManager applet.

    • 14_translate_service_names.patch: A relatively gross hack to translate Service tab names from the bluez-utils package. Done here, rather than there because bluez-utils is system daemon and doesn't know user's language. Shouldn't be needed anymore, I hear bluez 4.0 moved those strings into this package already.
    • 85_merge_pos.patch, 86_belmont_pos.patch, and 87_unr_pos.patch: Together, these are various po file patches to flesh out translation support for de, es, fr, hu, it, ja, pl, pt_BR, ru, zh_CN, zh_TW (and more?).
    • Defer these patches till post Jaunty
  • evince 2.22.2-0ubuntu1usg1
    • Don't build against hildon on LPIA
    • N/A for Jaunty
  • gcalctool 5.22.3-0ubuntu0.1netbook1
    • P1: 01_fit_1024x600_gtk.c.patch: hardcodes new layout for bit editor to fit 600 pixels. code change (RESOLUTION)
      • N/A for Jaunty. The UI changed to not be so tall when bit editor is active (new "Programming" view)
  • network-manager-applet 0.6.6-0ubuntu3usg6
  • network-manager-gnome 0.6.6-0ubuntu3usg6
    • N/A: hide-ad-hoc.patch: disallow to create new ad-hoc networks
    • N/A: move-edit-networks.patch: Move "Edit Wireless Networks" to left click menu
    • N/A: use-gtk-not-egg-tray.patch: port EggTrayIcon to GtkStatusIcon

    • P1: 50_fit_1024x600_applet.glade.patch: Add scrollbars and default height to network manager dialog
      • N/A for Jaunty. NM 0.7 changed the 'connect to hidden wireless network' dialog to fit for us.
  • yelp 1:2.22.1-0ubuntu2.8.04.3.1netbook1
    • P2: 08_gconf_sets_Help-Topics_button_target.patch: Fix locale
      • for yelp application Help Topics button.
    • not needed. The patch involved project specific code and is not generic

TODO

  • f-spot 0.4.3.1-0ubuntu1netbook1
    • P1: 10_600_CDExport.glade.dpatch: patches glade file to hardcode different height request (RESOLUTION)
    • P1:10_fix_export_crash_FlickrRemote.cs.dpatch: catches some exceptions instead of crashing, seems easily upstreamable

    • P1: 10_fix_export_crash_PicasaWebExport.cs.dpatch: same

      • the upstream contains this patch and it's already in Jaunty
  • gnome-cards-data 1:2.22.3-0ubuntu2netbook1
  • gnome-games 1:2.22.3-0ubuntu2netbook1
  • gnome-games-data 1:2.22.3-0ubuntu2netbook1
    • 04_no-black-square-in-svgs.patch: already upstream & jaunty via #553458

    • P1: 80_glchess_opengl.py.patch: small patch to fix "random crash when playing". see LP bug 270534.

      • the upstream contains this patch and it's already in Jaunty.
    • P1: 80_iagno_ggz_fix.patch: hardcoded to add scrollbars to iagno ggz screen (which only show up if needed)
      • Actually this is not a RESOLUTION bug. It just solves the hang problem when using ggz to connect to the network. It was also reported to the upstream long time ago but no one knows the proper way to fix that. GnomeBTS#487071

      • Maybe the most elegant way is GnomeBTS#80240

    • P1: 80_iagno_scale.patch: hardcoded to scale down size of iagno tiles to 5/8 of normal (RESOLUTION)
      • The patch was sended to the upstream, but it needs to re-work a lot GnomeBTS#543387

      • Like the previous bug, if we can make iagno based on SVG, then both the two bugs are solved automatically. Please read GnomeBTS#444602

  • metacity 1:2.22.0-0ubuntu4.netbook1
  • metacity-common 1:2.22.0-0ubuntu4.netbook1
    • P1: 017_resize_and_move_on_undecorate.patch: Make sure windows are resized after undecoration. Debdiff in LP:#283447

    • P1: 015_desktop_in_tab_list.patch: Upstream not very interested, wants this as an option in gconf. Not interested in larger icons. Will try and make new patch.
      • Add desktop to alt-tab switcher (possibly UNR-specific, since normal Ubuntu doesn't have such an interesting desktop)
      • Fix application switcher to be able to show desktop window. LP: #269023. May just be an intrisic part of above change, but was added later as a bug fix. Yes, just a bug fix of patch.
      • Hardcode the alt-tab switcher icons to be 48x48, instead of 32x32 (which is also probably UNR-specific)
    • Drop: 018_lame_client_gconf_switch.patch: Adds a gconf key to turn off the 'Some windows won't be restored when you next login to your session' dialog. The key is still off by default and never turned on in UNR. Upstream didn't like the patch, so this is pretty droppable.

    • Drop: 016_stop_compiler_optimising_out_colours.patch: Fix gcc optimization bug that resulted in pink windows. See GNOME bug 478886. May not be needed, since Jaunty appears to use a gcc version (4.3.2) that may fix this (according to mdz's comment in that bug). Right, it is not visible with latest metacity+gcc.

    • njpatel to work on this package
  • evolution 2.22.3.1-0ubuntu1netbook8
  • evolution-common 2.22.3.1-0ubuntu1netbook8
  • evolution-plugins 2.22.3.1-0ubuntu1netbook8
    • P1: 10_600_contact-editor.glade.patch: hardcoded to add scrollbars and minimal height/width to contact editor (RESOLUTION)
    • P1: 10_600_e-shell-folder-title-bar.c.patch: Remove some empty space in folder title bar
    • P1: 10_600_e-shell-settings-dialog.c.patch: hardcoded request size of setting dialog
    • P1: 10_600_e-shell-window.c.patch: don't set status bar height so it can be smaller
    • P1: 10_600_e-sidebar.c.patch: Remove spaces around buttons and scale down the icon
    • P1: 10_600_e-task-bar.c.patch: Remove spaces around task bar and don't set the height of task bar so it will be smaller.
    • P1: 10_600_e-timezone-dialog.glade.patch: Re-layout the timezone setting
    • P1: 10_600_em-account-editor.c.patch: Add scrollbars into email account editor
    • P1: 10_600_mail-config.glade.patch: Add scrollbars to mail config dialog
    • P1: 10_600_startup-wizard.c.patch: hardcoded height for startup wizard.
    • All the above patches are refined and sent to LP#8629 and GnomeBTS#262546

  • evolution-data-server 2.22.3-0ubuntu1netbook1
    • P1: 50_fit_1024x600_e-name-selector-dialog.c.patch: change the requested size of contact list.
  • pidgin 1:2.4.3-0ubuntu1~hardy1netbook3
    • P1: 60_fit_1024x600_gtkaccount.c.patch: Add scrollbars to account settings
    • P1: 60_fit_1024x600_gtkpounce.c.patch: Add scrollbars and minimal height of pounce window.
    • P1: 60_fit_1024x600_gtkprefs.c.patch: Add scrollbars to preference setting dialog.
    • All the above bugs are send to LP#305019

  • cheese 2.22.3-0ubuntu1usg7
    • P2: 77_disable_xv.patch: Disable xv. Use ximagesink instead. (./)

      • This patch is not appropriate or desirable for general use and will not be carried forward.
    • Translation: de, es, fr, hu, it, ja, pl, pt_BR, ru, zh_CN, zh_TW
    • 75_suspend_resume.patch: Add handlers to close/re-open gstreamer pipe by suspend/resume signals. (./)

      • This patch was actually a workaround for a gstreamer issue that is now fixed.
      • Verified that this is now working in Jaunty and so the patch is no longer needed.
    • P1: 50_fit_1024x600_cheese.ui.patch: reduce default height to fit 1024x600 (./)

      • Verified that this fix is already upstream and in Jaunty.
    • 70_fix_audio_sync.patch: Fix audio sync problem. (./)

      • This patch was originally cherry-picked from upstream.
      • Verified that this fix is already upstream and in Jaunty.
    • P2: 50_video_recording_freeze.patch: fix the UI freeze that occurs when stopping a video recording. (./)

      • Verified that this fix is already upstream and in Jaunty.
    • P2: 55_video_thumbnails.patch: fix the bug where video thumbnails are not being generated after completing a video recording (LP: #243179)
    • P2: 60_no_webcam_found_dialog.patch: displays a user-friendly message to the user when a webcam is not found (LP: #246446) (./)

      • Upstream now handles this case by displaying a message in the main Cheese panel.
      • Verified that this fix is already upstream and in Jaunty.
  • gnome-control-center 1:2.22.1-0ubuntu4.1usg4
  • libgnome-window-settings1 1:2.22.1-0ubuntu4.1usg4
  • capplets-data 1:2.22.1-0ubuntu4.1usg4
    • P1: 99_fit_1024x600_sound.patch: Add scrollbars, default height, re-design UI to sound properties dialog
      • Upstream removed gnome-sound-properties in gnome-control-center-2.25.3
      • report to LP#28805

    • P1: 99_fit_1024x600_mouse.patch: Add scrollbars, default height, re-design UI to mouse properties dialog
    • P1: 99_fit_1024x600_gnome-about-me.glade.patch
    • N/A: 99_sound_bluetooth_support.patch: Add Bluetooth device support.
    • N/A: We remove rotate function because it didn't work in most of our projects
  • system-config-printer 0.7.81+svn1976-0ubuntu9netbook1
  • system-config-printer-common 0.7.81+svn1976-0ubuntu9netbook1
  • system-config-printer-gnome 0.7.81+svn1976-0ubuntu9netbook1
  • network-manager-applet 0.6.6-0ubuntu3usg6
  • network-manager-gnome 0.6.6-0ubuntu3usg6
    • P2: translation: de, es, fr, hu, it, ja, pl, pt_BR, ru, zh_CN, zh_TW

Out of box experience package modification

Done

  • gdm 2.20.7-0ubuntu1.1netbook2
    • P2: 76_no_swap_no_hibernate.patch: If no swap, don't offer hibernate option. I opened dialog with upstream about this, but no response.

      • debdiff: LP #320208

Not Needed

  • gdm 2.20.7-0ubuntu1.1netbook2
    • N/A: 74_1024x600.patch: Some reasonably drastic modifications to god-awful preferences dialog. (RESOLUTION)
      • Move the auto-login options under General tab, not Security.
      • Remove 'Behavior' options from non-themed style choices (stuff like, 'yes, I want the text box to jiggle when I enter wrong password').
      • Remove 'Menu Bar' options from local panel.
      • Move 'Configure XDMCP' button up a bit.
    • N/A: 72_two_entries.patch: Add ability for gdm themes to offer two entry boxes at once (instead of enter name, entry box becomes password box, enter password). I already passed this off recently to Kenneth Wimer, who asked me for it. He indicated he was going to hand integration of this off to Mirco. So this may already be somewhat integrated. Need to follow up with Mirco. It wasn't the cleanest of patches going in. Maybe Mirco made it awesome.
    • N/A: debian/gdm.postinst, debian/gdm.dirs, debian/rules, debian/gdm.upstart: Use upstart, not runlevels to control gdm. This is supposed to give boot time improvements.
  • usplash 0.5.19netbook4
    • N/A: debian/rules, 50-speed-startup.patch: Add patch rules to debian/rules and added this patch to not sleep for a second and pulsate, in order to save some boot time.
    • N/A: debian/usplash.init: Backport init script from Intrepid or Jaunty (don't remember which) that fixes an issue with upstart not always coming up on shutdown. This can be safely dropped, since it was just a backport.
  • oem-config 1.37.2netbook12
    • debian/rules: Added quilt for below patches, shouldn't need quilt if we're making mods upstream
    • auto-login.patch: Add auto-login option. Already integrated upstream.
    • focus-username.patch: Focus username entry when page appears. Already integrated upstream in more generic way.
    • show-later.patch: Don't show window until it's at final size, to avoid jitter. Already integrated upstream.
    • set-lang.patch: Be more forceful about setting LANG in /etc/default/locale. Already integrated upstream.
    • fix-default-timezone.patch: Fix how oem-config chooses default timezones for some languages. Already integrated upstream.
    • N/A: unencrypted-keyring.patch: This is a super gross detail of the UNR setup -- we install an unencrypted keyring by default as part of user setup, so the user (if they chose auto-login) doesn't get asked for a password to connect to net, thereby defeating the purpose of auto-login (these are NETbooks after all). Upstream likely will balk.
    • N/A: debian/oem-config.upstart, upstart.patch: Goes hand-in-hand with gdm patch above to use upstart. Uses upstart for oem-config, and toggles gdm on/off via upstart.
    • N/A: add-langpacks.patch: Probs unwanted by upstream. This goes hand-in-hand with language-installer. It calls language-installer when oem-config is done.
    • N/A: fix-country-name.patch: Fix parsing of iso_3166.tab to allow spaces. Not needed upstream, they don't seem to parse that file anymore.
    • N/A: hostname.patch: Sets system hostname to user's name. Easy way to avoid having thousands of netbooks with the same hostname.
    • P2: username-blacklist.patch: Blacklists the 'oem' username. oem-config doesn't like it. LP: #273282.
      • fixed upstream (LP: #251056)
    • P2: no-lang-scroll-resizing.patch: Futzes with layout to specify a minimum width for the language label. This prevents the widgets from resizing as the user selects different languages. LP: #300353.
      • fixed upstream by having a crazy new language selection that isn't based on the same widget

TODO

  • usplash-theme-ubuntu 0.18ubuntu0netbook1
    • P2: debian/rules, 50_reset_palette_usplash-theme-ubuntu.c.patch: Added quilt for this patch. When shutting down, resets the colormap at certain points. Came from private LP bug 252837, but may be a fix for public LP bug 43223.
  • oem-config 1.37.2netbook12
    • P2: unr-pos.patch: Updates translations.

System package modification

acpi-support    0.109netbook0unr1
belocs-locales-bin      2.4-2.2ubuntu7netbook1
bsdutils        1:2.13.1-5ubuntu2netbook1
gdebi   0.3.8netbook1
gdebi-core      0.3.8netbook1
gnome-power-manager     2.22.1-1ubuntu4netbook4
gnome-utils     2.20.0.1-1ubuntu5netbook0unr1
gnome-volume-manager    2.22.1-1ubuntu6netbook4
grub    0.97-29ubuntu21netbook3
hal     0.5.11~rc2-1ubuntu8.2netbook2
initramfs-tools 0.85eubuntu39.2netbook1
jockey-common   0.3.3-0ubuntu8netbook1
jockey-gtk      0.3.3-0ubuntu8netbook1
libsmbios1      0.13.10-1ubuntu1.1netbook1
lsb-base        3.2-4ubuntu1netbook1
lsb-release     3.2-4ubuntu1netbook1
mount   2.13.1-5ubuntu2netbook1
procps  1:3.2.7-9ubuntu1netbook0unr3
update-notifier 0.70.9netbook1
update-notifier-common  0.70.9netbook1
util-linux      2.13.1-5ubuntu2netbook1
util-linux-locales      2.13.1-5ubuntu2netbook1
xserver-xorg-input-kbd  1:1.2.2-3ubuntu1netbook1
xserver-xorg-input-mouse        1:1.2.3-2netbook1
libpolkit-gnome0        0.7-2ubuntu1.1usg2
policykit-gnome 0.7-2ubuntu1.1usg2
sysklogd        1.5-1ubuntu1usg2
ssl-cert        1.0.14-0ubuntu3~msg1
xserver-xorg-input-synaptics    0.14.7~git20070706-1ubuntu4msg1
libdrm2 2.3.0.16-0ubuntu2~804um1

System Packages With Debdiffs

policykit-gnome:

  • Repos: ubuntu-netbook
  • Change: Parse the pw_gecos field to only include user's name, not a bunch of commas
  • Change made by: Michael Terry
  • P2: Reason to integrate: Improves appearance of policykit's dialog and is appropriate for all Jaunty images. Upstream bug: http://bugzilla.gnome.org/show_bug.cgi?id=541945

  • Notes: Package includes libpolkit-gnome0 deb as well
  • debdiff: LP #201495

belocs:

  • Repos: ubuntu-netbook
  • Change: Add --lang option to locale-gen to treat argument as a language code (LP: #267489 and LP: #23435)
  • Change made by: Michael Terry
  • Reason to not integrate: UNR Jaunty will not be using oem-config (X)

  • Reason to integrate: True, that Jaunty doesn't use oem-config, but locale-gen is also used for all language pack installs, (e.g. with ubiquity too). There's an old, old bug in LP for this exact issue.
  • debdiff: LP #23435

System Packages Not Being Integrated

gdebi:

  • Repos: ubuntu-netbook
  • Change: Add 10_force_arch.patch, which allows us to install i386 .debs on lpia (LP: #262890)
  • Change made by: Michael Terry
  • Reason to not integrate: Jaunty UNR will be i386
  • Notes: Package includes gdebi-core deb as well

gnome-utils

  • Repos: ubuntu-unr
  • Change: fix LP: #297556 so gnome-screenshot window get managed correctly by maximus/UNR
  • Change made by: Bill Filler
  • Reason to not integrate: Not appropriate for all Jaunty images

grub

  • Repos: ubuntu-netbook
  • Change: Suppressed all grub output
  • Change made by: Debbie Beliveau
  • Reason to not integrate: Not appropriate for all Jaunty images

initramfs-tools

  • Repos: ubuntu-netbook
  • Change: Reduce output generated by initramfs
  • Change made by: Debbie Beliveau
  • Reason to not integrate: Not appropriate for all Jaunty images

jockey-common, jockey-gtk:

  • Repos: ubuntu-netbook
  • Change: Do not install xdg/autostart files we do not want notification on netbooks
  • Change made by: Michael Frey
  • Reason to not integrate: Not appropriate for all Jaunty images

libdrm:

  • Repos: ubuntu-netbook
  • Change: Update patch 01_psb_headers to include shared-core/psb_drm.h which is version 2.3.0.32L.0029
  • Change made by: Michael Frey
  • Reason to not integrate: UNR Jaunry is i386 and Poulsbo/Menlow not supported in i386 kernel
  • Notes: Includes libdrm2 deb

libsmbios:

  • Repos: ubuntu-netbook
  • Change: Built for LPIA
  • Change made by: Debbie Beliveau
  • Reason to not integrate: Jaunty UNR will be i386

lsb:

  • Repos: ubuntu-netbook
  • Change: Suppress init script output unless INITOUTPUT is set to yes in /etc/default/rcS
  • Change made by: Debbie Beliveau
  • Reason to not integrate: Not appropriate for all Jaunty images
  • Notes: Includes lsb-base and lsb-release debs

procps:

  • Repos: ubuntu-unr
  • Change: vm.mmap_min_addr change that has since been reverted
  • Change made by: Bill Filler
  • Reason to not integrate: Change reverted

ssl-cert:

  • Repos: ubuntu-netbook
  • Change Fix installation failure when no previous version is installed (LP: #43987)
  • Change made by: Steve Magoun
  • Reason to not integrate: Fixed in intrepid

sysklogd:

  • Repos: ubuntu-netbook
  • Change: Minimize logging configuration for MIDs/Netbooks
  • Change made by: Tony Espy
  • Reason to not integrate: Not appropriate for all Jaunty images

update-notifier:

  • Repos: ubuntu-netbook
  • Change: Add powermanagement-interface to Depends (LP: #254912)
  • Change made by: Michael Terry
  • Reason to not integrate: LPIA-specific change. UNR Jaunty will be i386 arch and i386 should include powermanagement-interface
  • Notes: Package includes update-notifier-common deb as well

util-linux:

  • Repos: ubuntu-netbook
  • Change: Remove hwclock --hctosys call from /etc/init.d/hwclock.sh. It is already run from hwclockfirst.sh and from a udev trigger, which is more than sufficient to set the system clock correctly. Running it again here can result in a race condition where two instances are running at the same time. (LP: #263196)
  • Change made by: Matt Zimmerman
  • Reason to not integrate: This change is a workaround. Underlying problem should be fixed by Platform team (Scott James Remnant has identified a bug in udev rules)

xserver-xorg-input-kbd:

  • Repos: ubuntu-netbook
  • Change: Remove sleep on VT switch to reduce X start-up time
  • Change made by: Debbie Beliveau
  • Reason to not integrate: Not including Hardy boot-time reduction changes in UNR Jaunty. Also, Jaunty includes a newer xserver that may have already resolved this issue.

xserver-xorg-input-mouse:

  • Repos: ubuntu-netbook
  • Change: Remove some ps2 related sleeps to reduce X start-up time
  • Change made by: Debbie Beliveau
  • Reason to not integrate: Not including Hardy boot-time reduction changes in UNR Jaunty. Also, Jaunty includes a newer xserver that may have already resolved this issue.

xfree86-driver-synaptics xserver-xorg-input-synaptics:

  • Repos: ubuntu-netbook
  • Change: Added LPIA to debian/control
  • Change made by: Michael Frey
  • Reason not to integrate: UNR Jaunty will be i386
  • Notes: Package includes xfree86-driver-synaptics deb

acpi-support

  • Repos: ubuntu-unr
  • Change: Added debian/patches/01_power_pre_post.patch to run pre and post scripts for power.sh, similar to lid.sh approach
  • Change made by: Bill Filler
  • Reason not to integrate: this package being replaced by hal-info rules

gnome-volume-manager:

  • Repos: ubuntu-netbook
  • Change 1: Re-enable automount of drives as default
  • Change 1 made by: Michael Frey
  • Change 2: Fix for SD cards on an SDIO bus
  • Change 2 made by: Michael Frey
  • Change 3: Add 10_mimic_nautilus_autobrowse.patch to act like nautilus wrt browsing inserted media and not try to browse if nautilus is already running. Fixes LP 250435.
  • Change 3 made by: Michael Terry
  • Notes: gnome-volume-manager is Deprecated in standard Ubuntu

gnome-power-manager

  • Repos: ubuntu-netbook
  • Change 1: Allow policy action to occur even if a low-accuracy profile is detected
  • Change 1 made by: Debbie Beliveau
  • Change 2: Fix for battery indicator not changing when plugged in (LP: #261953). Workaround for when unit reports that is_discharging = TRUE and is_charging = FALSE even when AC is plugged in.
  • Change 2 made by: Bill Filler
  • Notes: Probably safer not to integrate given how fragile gnome-power-manager's code can be and since these 2 changes are really workarounds for hardware/BIOS issues. FYI, gnome-power-manager is not being replaced in Jaunty, but will start depending on DeviceKit-power which will implement a lot of the GPM backend (according to Ted Gould).

System Packages Still Under Review

hal:

  • Repos: ubuntu-netbook
  • Change 1: When probing capabilities on a video4linux device, if v4l2 probing works, there's no need to still try to probe with v4l.
  • Change 1 made by: Steve Magoun
  • Change 2: Fix for initialisation of info.subsystem property
  • Change 2 made by: Michael Frey
  • Change 3: Fix for mmc bus detection while under SDIO
  • Change 3 made by: Michael Frey
  • Change 4: Fix for SD cards on an SDIO bus
  • Change 4 made by: Michael Frey
  • Change 5: Added smbios depends for LPIA arch
  • Change 5 made by: Michael Frey
  • Notes: Change 1 and 2 already exist in Jaunty and change 5 is not needed since Jaunty UNR is i386. Need to decided whether change 3 and 4, however, need to be integrated into Jaunty.

Kernel modifications

The current Netbook Kernel , based on 2.6.24, is maintained on zinc. The full set of patches can be determined from there.

Sample Text for Sending Resolution Changes

Several of the above customizations are changes to make the app work in a smaller resolution. But they are all hard-coded, which is not very upstreamable. To get these changes in, we have to make the patches be clever, and do different things based on the resolution of the screen. This will need upstream's approval, since it is often a somewhat new thing to be doing, and they may have their own ideas.

We think that dynamically changing behavior based on asking GDK for the screen size is probably the best solution. So I've written up some sample text for sending to the maintainers of software to get their opinion on such an approach.

First, you should take a stab at adapting your patch to be dynamic (see example code for how below). We should also probably start the process of pushing such patches to StevenK, since if we gated on upstream comments, we'd miss the boat.

However, we should get upstream involved as early as possible, so if they do quickly respond, we can react. So, next you should file a bug on their tracker, with something like the following (obviously please replace the uppercase parts with relevant text):

In the process of developing the Ubuntu Netbook Remix, with the smaller screens of netbooks in mind, I wrote a patch to make YOURAPP work with less pixels.

A QUICK SUMMARY OF BUG + PATCH, AND ATTACH THE PATCH

Now, this patch originally used hard-coded changes, because we were only targeting smaller screens.  But I've modified it to check the resolution dynamically.

How interested are you in making such a resolution-dependent change?

By way of example, something like this is a simple way to check the screen size:

gtk_widget_realize (w);
s = gtk_widget_get_screen (w);
height = gdk_screen_get_height (s);
if (height <= 600)
  g_object_set (G_OBJECT (w), "height-request", 300, NULL);

YOU MAY WANT TO CUSTOMIZE THE ABOVE CODE TO BE RELEVANT TO YOUR PATCH, BUT I THINK THEY'D GET THE IDEA ANYWAY

If the above doesn't excite you, maybe a gconf key?  Something like /apps/YOURAPP/small-screen = true to toggle the resolution choices.

Since bugs are notorious for lying around unexamined, we are in something of a rush, and the above suggestion may be controversial, it's probably a good idea to email the mailing list too. Here's some sample text for that (again, obviously replace uppercase text):

Dear Gentle Maintainers,

I recently filed bug XXXXXX (URL) about a patch I wrote to make YOURAPP look good on smaller screens.  But since the bug involves a discussion item about how best to notice whether the screen is small or not, I thought I'd bring it up on the mailing list as well.

To recap, I'm proposing that YOURAPP become resolution-aware and take different code paths based on the size of the screen.  For example:

gtk_widget_realize (w);
s = gtk_widget_get_screen (w);
height = gdk_screen_get_height (s);
if (height <= 600)
  g_object_set (G_OBJECT (w), "height-request", 300, NULL);

What do you think?

Release Note

Open Issues

  • How will out-of-box experience change from current UNR? oem-config is used by UNR but isn't used on Live CD. What is it's replacement and how (if at all) does it need to be modified.
  • Build infrastructure: OEM team needs to migrate to standard Ubuntu build tools (i.e. not Moblin Image Creator) to be compatible with Jaunty UNR builds. This is a major effort. A plan needs to be made for how to progress.

BoF agenda and discussion

  • UNR isn't in main; we want to fix that
  • Currently there is an UMPC distro image and an UNR OEM image
  • UMPC image has the UNR packages, but no patched apps
  • mainline UNR upstream is still Clutter 0.6 while intrepid is 0.8
  • netbook name would best be avoided but we might have to stick with the UNR "brand"
  • moblin-image-creator usage
    • Dropping it would make us use the same infrastrcuture
      • Too complex a change to discuss in this session
    • The distro built image should use standard distro tools (ubiquity)
  • Translations
    • UNR "upstream" hosted in a Launchpad project
    • langpacks might include UNR
    • Is not required to be done upstream
  • Patches (about 43 modified packages)
    • Strings
    • Make applications fit on 1024x600 (now 1024x576 (which still is not enough
      • for touchscreen driven panel sizes where you i.e. need 36 or 48 pixel sized panels))
    • Usability changes (adding UI components e.g. in Bluetooth)
    • Boot time speedups (Anything we can learn from moblin's patched kernel to enhance boot time?)
    • Enhanced Out of Box User Experience
  • Different package sets in Ubuntu desktop seed and in UNR
    • Some additional packages (e.g. desktop-switcher, theme, aircraft-mode)
    • Goals of original UNR seed
      • Usable netbooks
      • fits on screen
      • makes sense to use on a netbook (e.g. no Gimp)
      • Simplicity (don't clutter the screen -- pun intended) / hiding complex stuff
        • such as network proxy settings, but only hidden /by default/
      • reduce disk size
      • remove components not appropriate for netbook usage
  • Do we keep the GNOME customizations of UMPC image? There's the
    • desktop-switcher tool which would allow having multiple desktops in the same image
    • desktop-switcher backups and changes the key gconf settings which allow
      • using UNR or the regular desktop
    • In current UMPC image, the virtual keyboard is cellwriter; it may also do
      • character recognition, but it's disabled because it was buggy in intrepid
    • UNR launcher currently sees some work to be more touchscreen friendly;
      • human-icon-theme is patched to enlarge scrollbars
    • probably we'll merge great ideas from UMPC but try to offer as little
      • different UIs as possible
  • Choice of translations
    • OEM images are factory installed and lang is picked on first boot
      • (oem-config)
    • distro images are live and as many langpacks as possible are included, and
      • removed upon install (ubiquity)
    • probably will remain as is for these two use cases
  • Clutter requires 3D
    • We don't always have Poulsbo drivers
    • KVM doesn't have 3D
    • Some customers want vmware images
    • Even on poulsbo on large screens, it can be dog slow
    • Action Item: make launcher auto-detect GL capabilities of system it is running on, and use minimal set in VM/Limited environments
  • Hardware targets
    • i386 (not lpia) as not all are atom
    • poulsbo and non-poulsbo
    • Netbooks currently shipping with UNR (enthusiast upgrade case)
    • ASUS eeePC (models?)
    • Acer Aspire One (models?)
  • Information needed
    • debdiffs relative to 8.04 for all modified packages.
    • List of remaining non-8.04 packages to be added. List complete, details here.

    • seed diff relative to 8.04. Diff available here.

    • list of kernel patches. Patches available here.

    • What gconf defaults are set to populate a -default-settings meta-package. (bfiller - the defaults will be set from the netbook-config package).

Specs/JauntyUNR (last edited 2009-03-02 23:31:43 by c-98-229-129-45)