Contents

  1. Monday - Proceedings
    1. Kubuntu Natty Kontact
    2. Kubuntu Packaging
    3. Arm Server Optimized Lamp Stack
      1. Problem
      2. Questions
      3. Goals
      4. Benchmark Candidates
      5. Other ARM Server workloads
      6. Testing
      7. Profiling
      8. Server root fs
      9. Next Steps
    4. Finish Upstart
    5. GNOME plans for the natty cycle
      1. GLIB 2.28
      2. GTK3
      3. GNOME3
      4. Package selection
    6. Server Application Packaging and Distribution
      1. Topics for discussion
      2. Session notes
    7. Ubuntu Chinese Edition
      1. Proposed Changes
    8. Integrate Wine into Software Center
    9. Bash Tab Completion and command-not-found enhancements
      1. Main topics
      2. bash-completion
      3. command not found
  2. Tuesday - Proceedings
    1. Photo printing is not user-friendly and often broken
      1. Session Notes
      2. ACTIONS
    2. General networking stack enhancements
      1. Goal
      2. Aspects
      3. Issues
      4. ACTIONS
    3. Indicator Datetime for N cycle
    4. Cluster Stack in Natty
    5. Use GRUB2 and a boot framebuffer for a smoother boot splash
      1. ACTIONS
    6. Donations for free software through Software Center
      1. Unresolved questions
    7. Java Development Toolsets
      1. Session Notes
    8. Java Application Server Packaging
      1. Session Notes
    9. Thunderbird in the messaging indicator
      1. Session Notes
      2. Work Items
    10. Automatic printer driver download should support signed packages
    11. Improve detection of device class at install time
    12. OneConf in Natty
      1. Session Notes
  3. Wednesday - Proceedings
    1. Support mounts by unprivileged users
      1. Overview
      2. ACTIONS
    2. Ubuntu Server Install Flavors
      1. Background
      2. Proposal
        1. Options
      3. Decision
    3. Harmonize the behavior between apps and SoundMenu/MessagingMenu indicators
      1. Overview
      2. Plan of Record
    4. Transition to Firefox 4.0 in Natty
      1. Notable Firefox 4 changes and challenges
      2. ACTIONS
    5. Server application enhancements for upstart and upstart best practices
      1. Session Notes
      2. ACTION Items
    6. Ratings and reviews in software-center
      1. Overview
      2. Session Questions/Answers
    7. a11y support for unity
      1. Discussion Notes
      2. Goals / Scope
      3. Design Aspects
      4. Infrastructure
    8. Tools
      1. Development Plan
      2. Test Plan
    9. Linaro toolchain integration in Ubuntu Natty
      1. Summary
      2. Assumptions
      3. Code Changes
      4. ACTIONS
    10. Ensure integration with drizzle for Ubuntu
      1. Things to look at
      2. Actions
    11. Software selection and seed review for Edubuntu Natty
      1. Addition to ubuntu-edu-primary
      2. Addition to ubuntu-edu-secondary
      3. Addition to ubuntu-edu-tertiary
      4. Addition to dvd
      5. Addition to desktop-gnome
      6. Addition to desktop-kde
    12. Event-based initramfs
      1. Session Notes
  4. Thursday - Proceedings
    1. PowerNAP Improvements
      1. Overview
      2. Session Notes
      3. ACTIONS
    2. Hudson CI Packaging and Integration
      1. Use cases in Ubuntu
      2. Requirements from IS
      3. Packaging Complexity
      4. Integration Value
      5. ACTIONS
    3. How To Spy on Your Users
      1. Session Notes
    4. Indicator Framework Changes for N
      1. Agenda
      2. Test framework
      3. Development Plan
    5. Configuring a valid system hostname during install and boot
      1. Session Notes
      2. ACTIONS
    6. Resizing windows
      1. Background
      2. Ideas
      3. ACTIONS
    7. Java Library Housekeeping
    8. Thunderbird On Ubuntu
      1. Issues
      2. Advantages
      3. Gateways that work with Exchange
      4. Other
      5. ACTIONS
    9. Bringing the Ubuntu Desktop and Netbook favors closer
      1. Background
      2. Session Notes
    10. Indicator Messages for N Cycle
      1. Messaging menu discussion
      2. Me menu discussion
    11. Evaluate squashfs-lzma for the live CDs again
      1. Background
      2. Work Items
    12. Keyboard menu for Natty
      1. Agenda
      2. Links
    13. Enhancing indicator-network to support NetworkManager as a backend
      1. Session Notes
      2. ACTION
    14. Use LightDM for display management
      1. What is a display manager?
      2. LightDM in Ubuntu
      3. Why change?
      4. Requirements for the display manager
      5. Desirable Features
    15. Use a desktop-oriented form factor of Unity instead of GNOME Shell in the Natty Narwhal
      1. Background
      2. Agenda
      3. ACTIONS
    16. Improve User Translation Experience in Kubuntu
  5. Friday - Proceedings
    1. We Menu - Bringing Community to the Desktop
      1. Session Notes
        1. UI Considerations
        2. Family & Friends menu items
      2. Links
      3. ACTIONS
    2. Desktop Applications Selection for Natty
    3. DBusMenu changes for N
    4. Discoverability of alternate server packages
    5. More stable VM solution for running armel VMs
      1. Current situation
      2. Use cases
      3. Hardware
    6. Provide a Linaro image with a set of developer-oriented tools installed by default
      1. Assumptions
      2. Design
    7. Indicator Application N cycle
      1. Session Notes
      2. Q & A
      3. Action Items
      4. Links
    8. Multiarch Support for gcc, binutils, dpkg, and apt
    9. Geoclue on the desktop
      1. Ensure geoclue is maintainable in the distribution
      2. Available providers
      3. Providers to include
      4. Ideas
      5. Concerns
      6. ACTIONS
    10. Server Natty Kolab


Natty UDS Package Selection And System Defaults Proceedings

Track Schedule: http://summit.ubuntu.com/uds-n/track/packageselection/

Monday - Proceedings

Kubuntu Natty Kontact

packageselection-kubuntu-n-kontact

Notes

Actions

Kubuntu Packaging

packageselection-kubuntu-n-packaging

Notes

Actions

Arm Server Optimized Lamp Stack

packageselection-arm-server-optimized-lamp-stack

Problem

Questions

Goals

Benchmark Candidates

Other ARM Server workloads

Testing

Profiling

Server root fs

Next Steps

Finish Upstart

packageselection-foundations-n-finish-upstart
Last UDS (recap): Stable version of Upstart in Ubuntu now for a few releases, working out reasonably well, but there are a number of things we need to fix (the fact that mountall is needed, user services, etc.). Used last UDS to get a sense of what complaints were from various people and groups, and made sure that appropriate bugs were filed.

Upstart's design is too simple. The goal of the next version is to fix problems based on deployment experience while retaining the "Upstartishness", and reach an elegant, simple design that we don't need to change again: i.e. 1.0.

https://bugs.edge.launchpad.net/upstart/+bugs
https://bugs.edge.launchpad.net/upstart/+bug/447654

Proposed Changes:


Need to get buy in for these features

GNOME plans for the natty cycle

packageselection-desktop-n-gnome3

GLIB 2.28

GTK3

GNOME3

Package selection

Server Application Packaging and Distribution

packageselection-server-n-packaging-and-distribution

Server (and specifically Java) applications present a challenge in terms of packaging for Ubuntu. Alternative packaging and distribution methods should be considered to ensure that Ubuntu can support server application requirements whilst minimising overheads.

* Spawned two other sessions * Two problems need to be solved: Freshness of fast moving upstreams, and packaging of upstream applications that don't fit into the archive. * Freshness will be pushed to the discussion about making it easier to create source packages and upload them "Somewhere". * Unsuitable packages will be addressed by making it easier to discover alternative archives. packageselection-server-n-discoverability

Topics for discussion

Session notes

  * Server applications specifically
  * Many projects release early, release often, and that isn't a good fit
    for the distribution cycle

Ideas:

  * Conduits - blessed PPAs (blessed by Ubuntu or the upstream project)
    - e.g. drizzle
  * Added specific pakcages (or specific versions of those packages), while
    not changing the base OS
  * Sometimes libraries are added to these PPAs, which can cause problems
    with other applications. SONAMEs mitigate this somewhat, but aren't
    perfect, and there are also cases where problems can be caused by
    behaviour changes in new versions etc.
  * Use copies of libraries if you need an update, rather than changing the
    version used by everything on the system?
    - Harder for sysadmins to know what is on their system.
  * Something people are doing now (mathiaz - 95% comes from archive, 5%
    from upstream) - making it easier and encouraging best practices.
    - Spamaps: more aiming for fast-moving projects: Cassandra et. al.
    - ttx: two related cases we are dealing with Cassandra, and
      getting latest packages for the area that you care about.
  * ScottK: clamav may provide an example we could follow, maintaining
    current clamav releases in all supported Ubuntu releases. Assuming that
    we can't do it in the archive may be a mistake.
  * backports might be useful to, if the bug is fixed that means you get
    everything in backports if you enable it for everything.
  * Dustin has had success with pushing to PPAs for all releases when he makes
    a release of his projects.
  * mtaylor: leaving old versions in the archive still gives you a headache,
    as that's where people go by default.
  * ttx: possibly two solutions. "Freshness" could be fixed with backports,
    should talk about "unpackageable" packages.
  * Java is a common source of these packages.
    - Getting everything built from source and packaged is a huge task given
      the number of libraries required by the transitive dependencies.
  * ttx: is allowing distribution of binary versions of these packages a solution?
  * slangasek: what value are we adding if we are just passing on the upstream
    binaries?
  * mathiaz: discoverability: apt-get install hudson
  * ttx: some level of integration, e.g. deploying hudson with tomcat
  * SpamapS: did it with Cassandra: have a PPA which uses upstream packages,
    based on binary jars embedded in the package.
  * ScottK: what difference to multiverse?
  * multiverse is a definite possibility, and wouldn't really be the first time
    that we would have used it for this.
  * SpamapS: upstream are releasing these things in a format that works for them,
    maybe we are missing a tool that allows us to package them easily.
  * multiverse implies a value judgement on the package, so could take care
    to document why they are in multiverse.
  * A related problem is that upstreams will demand particular versions of packages.
    Providing multiple versions in the platform might be needed.
  * Upstreams often see the platform as constraining, so bundle their libraries
    so that they can have greater control.
  * We usually do that for security update purposes, and that is some of the value
    that we add, so there's a fine line to walk between enabling upstreams
    and providing security support.
  * Some nascent effects to encourage Java developers to use common versions.
    - maven makes it a hard sell.
  * cjwatson: get them to ship test suites, so we can have some confidence that
    if we change library versions an app uses it will work.
  * mtaylor: as much as I agree with our approach, convincing these communities
    may be tough when they are heading in a different direction, and other platforms
    don't follow our model.
  * ttx: for each of the "unpackageable" things we should look at the cost of
    doing it right, before using any alternative method.
  * SpamapS: if we aren't adding value, we should get out of people's way
  * ScottK: is the integration ttx described enough value to make it
    worthwhile chasing this?
    - not really
  * slangasek: if we don't support it then don't make it look like we do.
  * mtaylor: probably more upstreams that would create a PPA. Better tools for
    packaging could help with those that don't know how to package, even if
    the packages are crappy.
  * Documentation problem. It's fairly easy if you use the right tools.
  * ttx: based on the amount of added value multiverse would make sense, with
    PPAs where we don't add any value?
    - yes(?)
  * james_westby: build tools for upstream development communities to generate a debian source package.
    
    * Make creating source packages OBVIOUS and SIMPLE
      - "debuild" without ./debian
      
  * Dual approach: go multiverse+backports or PPAs based on Ubuntu-specific added value
  
  * To be continued in a "discoverability" and a "language-oriented dev tools" sessions

Ubuntu Chinese Edition

packageselection-desktop-n-chinese-version

Proposed Changes

Integrate Wine into Software Center

packageselection-n-desktop-wine-software-center

Bash Tab Completion and command-not-found enhancements

packageselection-server-n-commandline-userfriendly

Main topics

bash-completion

  1. identify packages without completion information
  2. review current ones and make sure they're accurate
  3. file bugs accordingly
  4. Investigate Apport Integration

command not found

Tuesday - Proceedings

Photo printing is not user-friendly and often broken

packageselection-desktop-n-improve-photo-printing

Session Notes

shotwell doesn't easily allow specifying paper size (in the print dialog the widget is disabled)
general GTK printing architecture problem
you can only select relative size
paper size can be set in "Page Setup"

eog: no separate "Page Setup" menu entry, it's integrated into dialog, and paper size combobox is enabled: https://bugzilla.gnome.org/show_bug.cgi?id=614451

upstream: hasn't been first priority so far, since most people just published it to the web; would like to get input about which features people want

= Open Printing Dialog =
There is funding for it and completion is in June 2011, so it looks like 11.10.

ACTIONS

SebastienBacher: check with GNOME guys why paper size widget is disabled by default TillKamppeter: report bug upstream, if ^ turns out to be intended

General networking stack enhancements

packageselection-n-network-stack

Goal

defining the requirements to give the best network experience to users in natty.

Aspects

Issues

ACTIONS

Indicator Datetime for N cycle

packageselection-dx-n-indicator-datetime

Cluster Stack in Natty

packageselection-server-n-cluster-stack

Use GRUB2 and a boot framebuffer for a smoother boot splash

packageselection-foundations-n-grub2-boot-framebuffer

This issue was first addressed during Maverick UDS, then result was that many machines no longer booted as the graphics drivers were not able to program the card correctly from anything other than VGA modes

Bugs from previous attempt:


We could at least whitelist known working machines. Not ideal but workable. This may have to be done at GRUB loader time, because if we do it in grub-mkconfig then swapping graphics cards may result in inability to boot. We will have to fix PCI probing in GRUB (see LP 641259).

ACTIONS

Donations for free software through Software Center

packageselection-desktop-n-donations-for-free-software-through-software-center

Unresolved questions

Java Development Toolsets

packageselection-server-n-java-dev-toolsets

Ubuntu currently packages Ant and Maven 2; a number of other development/build tool-sets including Gradle, Spring Roo and Grails are gaining popularity in the Java development community and we should consider packaging for Ubuntu.

Session Notes

Discussion Topics:

* Making Ubuntu the Java Development platform of choice
  * Why? Should make Ubuntu Java packaging from source easier for Ubuntu based projects.
        Agreement that this was a good objective....
  * Review of current tools
  * The future of Java development.
  * Key targets for improving the appeal of the platform by taking the engineering effort out of Java development.
    * Grails (depends on Gradle) -
    * SpringRoo
        Good targets for Natty cycle.
    * buildr (Ruby based build toolset).

* Supporting Java development off platform through Ubuntu:
  * Ubuntu based Maven repository?
        Potential target for natty cycle depending on complexity.
  * Would align non-Ubuntu based development to Ubuntu Java Reference Library.
  
* IDE; lag behind latests versions so limited development appeal.
  * Challenges
         * enterprise fix versions, but not the same version.
  * Potential Solutions (depending on outcome of distribution channel sessions)
        * PPA's for latest stable release of each version.
        * Challenges around packaging due to breaks in dependencies need to be considered.
        
  Potential requirement for discussion with maintainers of Eclipse around packaging and use of alternative distribution channels.

Outcomes:

Java Application Server Packaging

packageselection-server-n-javaappservers

Session Notes

* Is a full JEE stack where we should be going (see SpringSource for an alternative approach)?
        * Is JEE webscale?


* Complexity of build from source/packaging vs value of bring JEE stack to the platform i.e. is anyone going to use it?
        * Build from Source
                * Supporting multiple versions of dependencies to resolve conflicts?
        * Binary Packaging
                * Channel through PPA or Multiverse
                * JEE compatilbity against binary artifact not source artifact
                * JONAS (OW2) could be a 
        * Patent Encumbered; needs to be considered.
        * Potentially start small by removing backend options

* When to target Tomcat 7 -> Ubuntu?
        * Relatively low cost so should be considered to support latest Servlet/JSP API's
        * Current Tomcat is 7.0.4 (released 2010.10.21)
        * with support for Servlet 3.0, JSP 2.2 and EL 2.2
        
* Maven -> debian automation.
        * Required to support scalability if we choose to support a large numbers 
          of java libraries.

Actions:

Thunderbird in the messaging indicator

packageselection-desktop-n-thunderbird-messaging-indicator

Session Notes

* BAMF to see if program is running

* Need to see if there's a trademark is with "Mail" name for indicator

.desktop - static menus
 - blacklist for Global Menu
appindicator - dynamic menus

Xul to indicator conduit


Messaging Menu integration preferences
* Ability to Disable
* Able to select which mailboxes are displayed

* Cluster Notifications (note that a notification can append)

Possible Lists
* Last 10 messages
* 1 msg/mailbox

Evolution current messaging menu:
* Compose New Message
* Address Book
* Mailboxes up to 7

Work Items

Automatic printer driver download should support signed packages

packageselection-desktop-n-automatic-printer-driver-download-should-support-signed-packages

Improve detection of device class at install time

packageselection-arm-n-device-type-detection

OneConf in Natty

packageselection-desktop-n-oneconf

Session Notes

OneConf is currently integrated with USC, relying on desktopcouch. There is the issue of scalibity:
- improvment to desktopcouch? (a lot of data filing in)
-> refactoring of desktopcouch will be done soon

- real deletion to the DB
-> compressing


Design:
The current design isn't the mpt one:
- how can we get a complex tree from USC?
-> postpone for natty

- having a touch approach?
- how can we remove/hide selection from another computer (like, you reinstalled it, need a GUI for that)
- we can know the cause of the difference between two computers, like "never installed on remote computer", or "as beeing removed at…" or "installed on…"


What can we do with the data we have?
- additional ppa?
  -> available in the detail view, enabling the ppa from there
- ordering by installation date
- sharing a list of applications/bundle
  -> creating a manifest file for that.
- being able to push temporary directly to desktopcouch in the u1 db so that you can access to it anywhere (signing temporary to your u1 account). Making a website.

Use Ubuntu sso
Some enhance performance trick, especially on netbook.
Get and update the wallpaper of the recorded host
use the wallpaper icon in the back

Integration in ubiquity ?
-> sso authentifcation at start
-> can't wait for desktopcouch to sync, how to get the data ?

Wednesday - Proceedings

Support mounts by unprivileged users

packageselection-security-n-unprivileged-mounts

Overview

ACTIONS

Ubuntu Server Install Flavors

packageselection-server-n-install-flavors

Background

For years now, the Ubuntu Server has tried to perform a balancing act, aiming to provide a feature-ful, useful server while being as trim as possible. In doing so, we're failing to meet the needs of both camps, landing somewhere in the middle ground where few people are happy with the default package set.
Server installer currently provides options for:

Proposal

To solve the above problem, I suggest that we expose two different installer options right on the boot menu.

Ubuntu Server Deluxe would be a bit like the current default Ubuntu server install, but just slightly richer. This method installs a rich set of defaults useful to a large cross-section of Server users, including SSH-enabled-and-running by default, Byobu-launched-by-default, perhaps etckeeper enabled-by-default. We're open to other suggestions. The Ubuntu Server Deluxe install is intended for new server users.

Ubuntu Server Minimal is similar to JeOS, but actually even smaller. Here, we do not install recommended packages, language packages, perhaps purge documentation (leaving pointers to web accessible docs), prune unneeded kernel modules, etc. We can get this footprint down under 100MB. This installation is intended for power Server users, who want to completely customize their system after a minimal installation.

Options


Decision

OpenSSH by default was also discussed, but attendees agreed to discuss this issue separately.

Harmonize the behavior between apps and SoundMenu/MessagingMenu indicators

packageselection-desktop-n-coherent-behavior-for-apps-in-messagingmenu

Overview

In lucid, rhythmbox has a smart "close" feature:

This session discussed how we can get the same behavior in the messaging menu applications.

Plan of Record

Transition to Firefox 4.0 in Natty

packageselection-desktop-n-firefox-4

Notable Firefox 4 changes and challenges

  1. omnijar packaging by default
    • Default preferences are packed inside omni.jar, which means there is no way to change default preferences on an installed system.
    • We can provide a system-wide preference file in /etc via an extension, which administrators can use to configure defaults.
    • We won't be providing a mechanism to allow applications (ie, software center) to drop random preferences in the firefox directory. The only supported way to do this in the future will be via an extension or distribution bundle.
  2. Packed extensions
  3. XPCOM component registration changes
  4. Depending on GNOME plans, we might need to add GSettings support where Firefox is currently using GConf
  5. It currently provides an about:home handler, we need to investigate whether it provides the functionality that currently exists in ubufox
  6. Translations:
    • Now we don't have someone from the Desktop team dedicated to uploading Firefox translations, could these uploads be part of the packaging process?
    • If we want to use the dev mode in po2xpi we should document the process
    • Is po2xpi working properly? Are there any major bugs that need fixing?
    • Usage of localized search engines.
    • We should find out whether there are trademark issues in using translations that have not yet been submitted upstream

ACTIONS

Server application enhancements for upstart and upstart best practices

packageselection-server-n-upstart-server-enhancement

Session Notes

* Best practices for upstart jobs - document and list them
 * Conffiles - should upstart jobs be software or configuration or both?
   - [action] document upstart job best practices (should be small/simple)
   - /etc/default was created because changing scripts in /etc/init.d often caused hideous merges (cjwatson)
   - suggestion: provide framework for an "override" file, which are nonexistent by default, concatenated to the end of the conffile upstart, in /etc/init/local/*
 * Logging in upstart jobs
   - upstream fix: stdout/stderr proxied through init to [initctl/logging daemon/etc]
   - no "refactor" required; could be done by anyone; couple of weeks work
 * Maintainer scripts should use start/stop instead of invoke-rc.d's return code
   - planned fix has been documented at a previous UDS upstart session (ask keybuk or slangasek to find this). exists somewhere on wiki.u.c (need to find)
   - no they shouldn't - slangasek
 * Stability/reproducibility in boot
   - upstream working on this during the refactor
 * Server boot process - making it admin friendly
   - plymouth takes output, upstart needs to publish meaningful output to plymouth (see upstart logging item above)
   - have plymouth listen to upstart's dbus interface, and have the details plugin report jobs being started in a traditional format
 * Status from upstart is pretty worthless; need a way for scripts to supply an arbitrary script that upstart would run after looking for the process, which can determine if the service is actually in a usable state
   * DustinKirkland has a patch to the service command that does this, but it would be ideal if Upstart supported it properly
   - post-start stanza can be made to check the service validity after the pid starts
 * Return code of start/stop/restart/status should be more indicative (Puppet, for instance, has modules for dealing with sysvinit that are totally broken by the start/stop/restart command's return codes.
 * How to programmatically disable a service

ACTION Items

Ratings and reviews in software-center

packageselection-foundations-n-ratings-and-reviews-in-software-center

Overview

Session Questions/Answers

a11y support for unity

packageselection-dx-n-unity-a11y

Discussion Notes

We need to integrate Unity with the ATK/at-spi framework. This is a freedesktop technology. Becoming a widely used framework.

 Qt integration is coming via freedesktop.org
 keyboard accessability - arrow-keys to navigate, and indication of focus
We need good keyboard navigation for Unity.

Goals / Scope

Making Unity accessible, what does it mean?


Defining the baseline, ie what does the class Gnome Desktop provide, in particular keyboard shortcuts that help in a lot of cases for making an interface accessible?

Launcher

Panel

Application Switcher

Design Aspects

Apart from keyb nav. are there other aspects of the design to adjust?

Infrastructure

Will use libatk. It will isolate us from the at-spi / dbus migration.

Tools

Development Plan

(also planning indications: A1, A2, etc.)

Test Plan

Linaro toolchain integration in Ubuntu Natty

packageselection-linaro-n-toolchain-selection

Summary

Maverick includes gcc-4.4 and gcc-4.5 packages based on the Linaro GCC branches. Natty will open with gcc-4.5 as default, and may include gcc-4.6.
Will this 4.6 package need to be built from Linaro GCC for compatibility? Do we want to use Linaro GCC for 4.6 even if not required? What is the timeline for delivering a Linaro GCC 4.6 release for inclusion in Natty?

Assumptions

Code Changes

Code changes should include an overview of what needs to change, and in some cases even the specific details.

Follow-on to <https://blueprints.launchpad.net/ubuntu/+spec/arm-m-tool-chain-selection>. Maverick includes gcc-4.4 and gcc-4.5 packages based on the Linaro GCC branches. Natty will open with gcc-4.5 as default, and may include gcc-4.6. Will this 4.6 package need to be built from Linaro GCC for compatibility? Do we want to use Linaro GCC for 4.6 even if not required? What is the timeline for delivering a Linaro GCC 4.6 release for inclusion in Natty?

ACTIONS

Ensure integration with drizzle for Ubuntu

packageselection-server-n-drizzle-integration

Things to look at

Actions

Software selection and seed review for Edubuntu Natty

packageselection-edubuntu-n-seed-review ==== Addition to ubuntu-edu-preschool =====

Addition to ubuntu-edu-primary

Addition to ubuntu-edu-secondary

Addition to ubuntu-edu-tertiary

Addition to dvd

Addition to desktop-gnome

Addition to desktop-kde

Event-based initramfs

packageselection-foundations-n-event-based-initramfs

Session Notes

[presentation from Surbhi - insert URL for slides here, won't repeat it all]

A few parts of the boot process are purely procedural: starting to mount the rootfs, and handling in case the rootfs is unavailable.  cryptsetup is also procedural, and its user interaction code in the initramfs predates plymouth.

appropriate for udev rules: probing
appropriate for upstart jobs: services, require supervision, logging, etc.

mountall should be usable in initramfs - there are enough filesystems being mounted that it's worthwhile

cryptsetup user interaction needs to defer ROOTDELAY
in fact, ROOTDELAY should measure a period of inactivity, so each thing that happens should reset the timer (see mountall)

casper is likely to need a complete rewrite
 * mount handling should move into mountall
 * snapshot handling would be beneficial in mountall for other reasons

add parallel directory to /usr/share/initramfs-tools/scripts ('jobs'? 'upstart'? 'init' is unfortunately already taken by a file)
start by migrating init daemon to upstart
could have transitional handling of initramfs scripts directories - mountall states correspond quite well to initramfs' phases

raid failure code in initramfs is not mirrored in the real system; this would be a benefit of harmonisation

upstart state passing:
 * most should be reasonably obvious from job and event data structures
 * biggest problem is dbus connections
 * short-term solution may be to tear down all dbus connections on re-exec, and ensure that anything that connects to upstart knows how to reconnect

networking needs attention: configure_networking can probably become a specialised upstart job

Thursday - Proceedings

PowerNAP Improvements

packageselection-server-n-powernap-improvements

Overview

1. As per discussed with Dustin, a method to execute various actions to bring servers to the lowest power states without having to suspend/hibernate/power off is required. This involves using various hacks and tricks to fulfill the objectives. Examples of these hacks and tricks are: - Turn off (N-1) out of N cores. - Spin down hard drives. - Turn off hardware that's not required to be running (sound, bluetooth). - Reduce CPU frequency to the lowest possible. - etc

2. Also, as per discussed with Dustin, instead of monitoring the process table, it might also be a good idea to monitor various services, such as load in webserver, connections in databases, etc, and according to that, bring the server to the lowest power state possible.

3. Provide any other waking up methods for PowerWake, such as IPMI.

4. Given that PowerNAP is integrated in the cloud, it would be nice to improve PowerNAP in such a way that will also be used in other kind of clustered environments, or in a set of servers were traffic is monitored. For example, in a loadbalanced webserver cluster, sometimes there;s not enough traffic that will involve all the webservers to be up. PowerNAP can be extended in such a way that it will do the same that is done with UEC when servers are idled, or when the load is not too much that will involve having lots of servers running.

5. Obtain feedback from community is also desired to be able to extend PowerNAP uses.

Session Notes

ACTIONS

Hudson CI Packaging and Integration

packageselection-server-n-hudson

Use cases in Ubuntu

Requirements from IS

Packaging Complexity

Integration Value

ACTIONS

How To Spy on Your Users

packageselection-desktop-n-instrumentation ==== Context ==== MIT has about 350 public Ubuntu-based workstations, and the group that maintains them was being asked how they were getting used. Machines are owned by MIT, which we felt changed the "what is acceptable spying" situation some, so grain of salt and all that.

Session Notes

Paper with analysis of ingimp data, and describing the use of clustering to make sense of log data:
http://www.cs.uwaterloo.ca/~bjlafren/docs/gi2010_largescale.pdf
(ACM Link: http://portal.acm.org/citation.cfm?id=1839214.1839218)

Indicator Framework Changes for N

packageselection-dx-n-indicator-framework

Agenda

==== Session Notes =====

 * Port to GTK3?
  * yes
  * we plan to switch indicators (system ones) with a "flag day" as we maintain most of them anyway

 * gdbus port
  * we're going for it
  * packages have already been patched (thanks mterry) to build with api warning flags
  * there is an issue with mouse/keyboard grabs that are used by ido but not exposed by gtk3; upstream has a patch in his review queue; we may have to distro patch for natty

Application Launchers
 * they are now shared in libindicator

Seendb
 * adding a helper script to remove entries from category indicators (sound, messaging for example)

gnome-panel is going to be gtk3, so indicators have to move to gtk3

But upstreams plans to have a gtk3.2 release around january/february
=> we should do the glib/gdbus transition first, and let gtk3 stabilize a bit before doing more of the gtk3 port

Test framework

Development Plan

Configuring a valid system hostname during install and boot

packageselection-foundations-n-valid-hostname-configuration

Session Notes

https://bugs.launchpad.net/ubuntu/+bug/8980

Code duplication netcfg/ubiquity

Since intrepid netcfg should actually put the domain in the right place if it's included in the hostname input

Process for getting hostname:
 * from dhcp by default if exists
 * from entry 
  * if there is a domain part, it is stripped out and put in the right place
/etc/hosts gets:
  127.0.0.1 localhost (unconditionally)
  if static:
    if domain:
      IP hostname.domain hostname
    else:
      IP hostname
  else:
    if domain:
      127.0.1.1 hostname.domain hostname
    else:
      127.0.1.1 hostname

No "_" in hostnames.

Postfix Exit Code 75 Examples:
https://bugs.launchpad.net/ubuntu/+source/postfix/+bugs?field.searchtext=exit+status+75&orderby=-importance&search=Search&field.status:list=INVALID&field.assignee=&field.bug_reporter=&field.omit_dupes=on&field.has_patch=&field.has_no_package=
08:19 < SpamapS> example bad hostname: ubuntvqclts.hsd1.ct.comcast.net. from 
                 https://bugs.launchpad.net/ubuntu/+source/postfix/+bug/606898
08:19 < udsbotu> Launchpad bug 606898 in postfix (Ubuntu) "package postfix 2.7.0-1 failed to install/upgrade: subprocess 
                 installed post-installation script returned error exit status 75" [Medium,Invalid]
08:19 < SpamapS> example bad hostname: ubuntvqclts.hsd1.ct.comcast.net. from 
                 https://bugs.launchpad.net/ubuntu/+source/postfix/+bug/606898
08:19 < udsbotu> Launchpad bug 606898 in postfix (Ubuntu) "package postfix 2.7.0-1 failed to install/upgrade: subprocess 
                 installed post-installation script returned error exit status 75" [Medium,Invalid]

ACTIONS

Resizing windows

packageselection-dx-n-resizing-windows

Background

Window borders were made very narrow. This was a design choice. Unfortunately, it has had negative repurcussions for interaction.

Ideas

ACTIONS

Java Library Housekeeping

packageselection-server-n-java-library-housekeeping

Topics for discussion:

* Agree policy on re-mediation activity in main for build from source issues (see FTBFS for spring-2.5 due to late changes in libcommons-file-upload to resolve FTBFS due to dependencies on universe.

        * Visibility of packages which are not built in the archive.
        * How do we address features which can be built but we don't want in main.
                * Policy: rename package where features are disabled.
                        * Limits impact to main.
                * Issues with version dependencies
                        * Overlay full featured package over feature disabled package.
                        

* Agree policy on enabling unit testing in build processes
  * Contributing factors:
    * Age of packaged library and activity in upstream projects.
    * Value to build process; i.e. unit testing actually does unit testing (see asm for an example)
    * Complexity and dependencies when enabled (for example database required for c3p0 testing).
    * Part of the MIR process already
    * Policy of enabling (if we can).
    * Functionality for testing capability of 'build' environment 
        * Defer to alternative session? (lamont/doko/james-page)

* Agree approach/policy to variant libraries to support Java application packaging.

    * Good unit testing within the package would be key to enabling this approach 
    * Investigate debian policy and how this approach would deviate (if-at-all).

* Time for maven-debian-helper into main?

    * We need to anticipate (do it early in the cycle and not waiting for things to break)
    * Cost?
    * Current componemt mismatches shows when it becomes NEEDED
      http://people.canonical.com/~ubuntu-archive/component-mismatches.txt
    * Assess when auto-import from debian has completed for Natty.
    * Policy of NOT updating Java libraries after DebianImportFreeze (unless there s a really good reason)

Natty work:

* File MIR (libportlet-spec-2.0)and revert changes to re-enable portlet API support in libcommons-file-upload, revert changes to spring in universe to re-align to debian and remove libcommons-file-upload-universe.
        * Approach: flip naming to revert universe and specialise main packaging.
        
* File MIR's (libxmlbeans-java, libsaxonb-java ) and revert changes to rhino to restore E4X support.
        * libxmlbeans-java -> build dependency on itself.
        * Manual build required to support.

* File MIR's (jansi, jansi-native, hawtjni) and upgrade groovy to latest debian version (1.7.4-1).
        * MIR's to be filed.

* Merge antlr3-3.2 (build dependency on Maven so potential for many MIR's).
        * New upstream version via debian.

* Merge jython2.5.1-2 (and file MIR's to support).
        * Build dependency on itself??

* "tomcat6 -> ant-trax -> ant1.7-optional -> ant1.7 MIR is needed" solution (bug 662588)
        * Was in main to move back using bug report.

Actions:

Thunderbird On Ubuntu

packageselection-desktop-n-thunderbird-on-ubuntu

Issues

Advantages

Gateways that work with Exchange

Other

Talked a bit about Raindrop. Find out more about Raindrop here http://mozillalabs.com/raindrop/2010/01/19/raindrop-looking-at-2010/

ACTIONS

Bringing the Ubuntu Desktop and Netbook favors closer

packageselection-desktop-n-bringing-desktop-and-netbook-image-closer

Background

There is the feeling that maintaining a UNE and a Desktop image is a lot of duplicated efforts (ISO testing, seeds maintenance) without a lot of gain. Indeed, the set of differences are really small and both are installable in parrallel. The user can choose the session on login which switch to a mode or another. In addition to that, we should note that the Desktop and UNE image are really close package-wise (just some settings and some application selection differs).

This situation even brings some drawbacks like people not really making the difference and don't know if they should install ubuntu netbook or ubuntu desktop on their computer.

This discussion aims at seeing what we can imagine to file this gap.

We can even, detecting automatically what we should launch (based on screen size?), still enabling the user to override that decision. Also, this infers that we should get the same application set, like banshee on both or stick with rhythmbox because of CD space.

Session Notes

* not a lot of changes:
∘ barely brasero/cheese
∘ right langpackage list (French on UNE) :)
-> Take cheese out because of some slowiness experienced this cycle.
-> keep brasero

One CD to rule them all!

* when to do the detection ?
-> detection on screen size
Can be done on soft by soft basis.

if banshee by default -> default to the desktop interface

run evo express on the desktop and document how to run the "normal ui".

* The main difference between the netbook and the desktop will be consequently maximized/unmaxized applications by default. When an application is maximized, the buttons will be in the panel for both.

* set of applications by default in the launcher:
  - nautilus on both cases
  - firefox
  - ubuntu one

* SoundMenu should show banshee or rhythmbox once installed, not after first registration as of today.
-> banshee icon in the soundmenu.
-> install the banshee soundmenu integration by default.

• We can maybe remove the seed? metapackage? One CD
  ∘ armel

• Transition handling (UNE/Destkop, gdm session)

Indicator Messages for N Cycle

packageselection-dx-n-indicator-messages

Messaging menu discussion

  1. Have a menuitem in the menu to clear the enveloppe
  2. Want to change the color of the running-app triangle
  3. Want to add the concept of default application for a protocol/domain and bind that to
    • plan to use what gnome supports
    • check infrastructure changes (gtk3)
    • may require a UI change that mpt may propose
  4. Fix the bug where the counter where not rendered propertly depending on their types (counters vs time)
  5. Putting the counters as a label in the panel (the sum)
    • no UI requirement to enforce a "no-jiggle" default, so the indicator may move a bit when transitioning to multiple

Me menu discussion

Top-3 bugs:

Evaluate squashfs-lzma for the live CDs again

packageselection-foundations-n-squashfs-lzma-redux

Background

squashfs-lzma tried a couple of release sprints ago, and completely killed rsyncability - this is a blocker for switching Ubuntu to it cjwatson has synced squashfs-tools 1:4.1-1 from Debian experimental, which enables userspace mksquashfs xz (much like lzma) and lzo support apw thinks that the current kernel doesn't support lzma in squashfs (despite having the algorithm elsewhere)

Much discussion on whether we could make USB images, and to do that we would need more space in cdimage mirror. Moving the source packages to non-mirrored spot might allow that (sources.ubuntu.com). (Also, isohybrid, currently blocked on making this play well with jigdo, but this will probably unblock in the not so distant future.)

Could we drop the alternate cds. Those are required where we want any form of package selection, this includes the kernel. Its possible we could put d-i onto the desktop live CD, to get both forms but there is already much space issues.

It is possible we could put _uncompressed_ debs onto a squashfs containing the files extracted for almost no additional cost. This could make a shared CD. (this may break signatures)

Work Items

Keyboard menu for Natty

packageselection-dx-n-indicator-keyboard

Agenda

(empty in Gobby)

Enhancing indicator-network to support NetworkManager as a backend

packageselection-desktop-n-nm-indicator

Session Notes

* we do not want to loose any nm-applet functionality
* using gnome3 icons? displaying multiple icons at the same time
  * http://live.gnome.org/GnomeShell/Design/Guidelines/SystemStatus/Network
* patch the nm-applet, instead of extending indicator-network
* rfkill daemon possibly in the future http://github.com/lcp/urfkill

ACTION

Use LightDM for display management

packageselection-desktop-n-display-manager

What is a display manager?

LightDM in Ubuntu

Why change?

Requirements for the display manager


Desirable Features

Use a desktop-oriented form factor of Unity instead of GNOME Shell in the Natty Narwhal

packageselection-desktop-n-specialized-unity-form-factor

Background

The session was scheduled by a community member, with no prior knowledge of the decision that was announced on Monday in Mark's keynote. The session is transformed into a Q&A session on the plan and changes that are planned to adapt Unity to the desktop form factor

Agenda

ACTIONS

Improve User Translation Experience in Kubuntu

packageselection-kubuntu-n-translations

Critical points

Friday - Proceedings

We Menu - Bringing Community to the Desktop

packageselection-desktop-n-wemenu

Session Notes

UI Considerations

Family & Friends menu items

ACTIONS

Desktop Applications Selection for Natty

packageselection-desktop-n-application-selection

DBusMenu changes for N

packageselection-dx-n-dbusmenu

Discoverability of alternate server packages

packageselection-server-n-discoverability

Objectives:

* Getting out of upstreams way when we add no value
* Ensure that message is clear under what terms this is provided under
        * i.e. where is the trust


Discussion Topics:

* Discoverability of upstream provided software for Ubuntu

* Clear messaging on the heritage of the packaging and where trust should be placed

* PPA approach
        * Associated team
                * Core Devs potentially builds trust.
                
* Use Cases:
        * Upstream packaging and distribution
                * Is the location of the apt repository important?
        * Distro packaging of packages unsuitable for main archive
        
* Not discoverability of packages, discoverability of repositories.
        * Ensure that classification of repository is included:
                * Upstream Packaged (Upstream Controlled)
                * Distro Packaged (Ubuntu Controlled)
                * Upstream Backports (Upstream Controlled)
                * Distro Backports (Ubuntu Controlled)

Package         In Archive                      Not in Archive
Control
=============================================================================
Upstream        e.g Zmanda                      PPA or apt archive
                No discovery                    Archive must be signed
                Detail in Server Guide          to be discoverable
                on how to raise bugs for        drizzle, hadoop
                backports?
                Entry in archive is appropriate
                for production use.
                
Ubuntu Devs     PPA (-backports proposed)       PPA 
                -> -backports                   Discoverable
                Discoverable                    cassandra
                clamav                          Blessed: python2.6 for Hardy

Feature in Launchpad to classify PPA's automatically?
        * Visual feature on PPA front screen.
        * Ability to list upstream apt archives outside of launchpad

Review of PPA's/upstream at UDS to validate current list.

* Feature request for Launchpad if required.
        * Server guide can support < 6 month iterations
        * Review at next UDS to determine if required.

More stable VM solution for running armel VMs

packageselection-arm-n-more-stable-vm-solution-for-arm

Current situation

Use cases

Linaro is planning to create an arm tree for linaro to help pushing the arm related patches upstream. Ubuntu can then generate a package for it, and use it as default.

Hardware

Provide a Linaro image with a set of developer-oriented tools installed by default

packageselection-linaro-n-developer-image

Assumptions

Design

Indicator Application N cycle

packageselection-dx-n-indicator-application

Session Notes

 * Review of the bugs
   - technical changes / fixes
 * signal when the menu is shown/hidden
 * scroll events will be supported as well


Dynamic icons
* we want to require that they be symbolic icons, in order to preserve the consistency of the panel
* problem: 16x16 is required for symbolic icons
* need to submit a patch that would remove this limitation
* libappindicator (or another related library) could provide an helper to help application developers; would also do the image processing to ensure consistency

Other technical changes: gdbus, gtk3, and other captured in bug reports attached to the blueprint

Issue with the fallback mechnanism (using systray) being triggered where it should not: startup, crashes, etc.
 * there is a nasty race condition that is really hard to reproduce
 * ted thinks he fixed the issue, but would like to get more testing
 * proposing to land the fix as an SRU for Maverick



Proposal to use the running-triangle indicator in the window menu

Discussion on the "service" vs "normal" application
 * questions on which applications qualify as "service" applications (like RB)
 * how to let the user know about this distinction and prevent the confusion
 * think about the difference UI elements that are part of this experience (and also part of the confusion): 
   * close button (red cross)
   * application menu on the panel
   * application launchers in the menu (sound, messaging), with the running triangle
   * icons on the launcher bar (unity), with the running triangle
   * launcher quicklist items related to the "service" nature of the application

Proposal: have a close button with a different color / shape / behavior to give hint to the user that this application is different.

Q & A

Ability for an application to display a custom icon on the panel, ie an icon that is not part of the system theme, but installed in an application specific path)?

Action Items

* https://blueprints.edge.launchpad.net/ubuntu/+spec/packageselection-dx-n-indicator-application

Multiarch Support for gcc, binutils, dpkg, and apt

packageselection-foundations-n-multiarch-support

dpkg contract likely to happen

Plan for deployment post-dpkg-landing:
 * patches available in Steve's PPA for gcc-4.5, eglibc, zlib
 * Steve has local builds of libselinux,  pam (but ugly) that should be pushed to ppa

Non self-hosting architectures (cross compilers, mingw and win32, etc)
 * not immediately on roadmap (see "Partial architectures" in MultiarchSpec)

Geoclue on the desktop

packageselection-desktop-n-geoclue

Ensure geoclue is maintainable in the distribution

Available providers

Providers to include

Ideas

Concerns

ACTIONS

Server Natty Kolab

packageselection-server-n-kolab



narwhal.png

UDSProceedings/N/PackageSelectionAndSystemDefaults (last edited 2010-11-02 16:51:26 by host-84-9-86-232)