PackageSelectionAndSystemDefaults

Differences between revisions 63 and 64
Revision 63 as of 2010-10-28 18:04:21
Size: 71256
Editor: host194
Comment:
Revision 64 as of 2010-10-28 20:24:08
Size: 71341
Editor: host194
Comment:
Deletions are marked like this. Additions are marked like this.
Line 57: Line 57:
 * turn on raster for plasma for an alpha  * turn on raster for plasma for an alpha [thiago says should be fine to turn on for everything, will be default in 4.8 anyway]

Contents

  1. Natty UDS Package Selection And System Defaults Proceedings
    1. Track Schedule
    2. 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
    3. 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. Server Natty Kolab
      13. OneConf in Natty
        1. Session Notes
    4. 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
    5. 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
      5. Configuring a valid system hostname during install and boot
      6. Resizing windows
      7. Java Library Housekeeping
      8. Thunderbird On Ubuntu
      9. Bringing the Ubuntu Desktop and Netbook favors closer
      10. Indicator Messages for N Cycle
      11. Evaluate squashfs-lzma for the live CDs again
      12. Keyboard menu for Natty
      13. Enhancing indicator-network to support NetworkManager as a backend
      14. Use LightDM for display management
      15. Use a desktop-oriented form factor of Unity instead of GNOME Shell in the Natty Narwhal
      16. Improve User Translation Experience in Kubuntu
    6. Friday - Proceedings
      1. Session
      2. Session

Natty UDS Package Selection And System Defaults Proceedings

This page is here to collect together proceedings from sessions as part of the 'Package Selection And System Defaults' track at the Natty UDS in Orlando, Florida.

Please add proceedings by doing the following:

  • Add a new section with the name of the session.
  • Add the outcomes of the session as a collection of bullet points. The goal of the proceedings is to really focus on decided outcomes, so please try to keep them crisp.

Thanks!

Track Schedule

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

Monday - Proceedings

Kubuntu Natty Kontact

packageselection-kubuntu-n-kontact

  • make sure kontact works from live image, currently akonadi shows error due to no running nepomuk startup, ask with upstream how to fix
  • make sure lionmail gets packaged and works
  • kolabsys can do testing, we will set dates, probably a week before beta and before RC to do that, takes two days to do their full testing, test can provide

Kmail 2 is NOT ready
Kmail 1 is working for some
IMAP is a special case
There is no scheduled release date for 2 (yet)
Split out Kmail2 for testing via a PPA?
Ship new KDEpim, or stay with the old? packaging problems either way
KDE-mobile -- still experimental, but on its way, we should package it (it's part of 4.5 tars we think so include with them)
It uses Akonadi, which Kmail does not, until version 2
make sure kontact works from live image, currently akonadi shows error due to no running nepomuk startup, ask with upstream how to fix
make sure lionmail gets packaged and works
kolabsys can do testing, we will set dates before Beta release and RC release

Kubuntu Packaging

packageselection-kubuntu-n-packaging

  • ship with KDE SC 4.6
  • ensure we have latest koffice, kdevelop, amarok etc
  • inform debian of delta in packaging, highlighting parts they're interested in
  • schedule session for wishlist for rekonq
  • We don't want to ship a non-KDE browser, but Rekonq is not ready (and is horribly named)
  • kwin Mobile will not be ready for Natty
  • Go big with announce! Dot News, blogs, fridge
  • still need to add KDM xsession
  • Fix Cache issues using patches for kde4libs
  • integrate automatic building with KDE dashboard
  • make sure PPA packaging is based on current release as much as possible
  • (re-)propose to tech board to include updates in -updates, QA'd in PPA first
  • we need to test ourselves, since we cannot rely on upstream for that (or good change documentation
  • get 4.4.5 into lucid (kontact 4.4.7)
  • turn on raster for plasma for an alpha [thiago says should be fine to turn on for everything, will be default in 4.8 anyway]
  • try likeback in alphas
  • implement likeback in kdelibs and turn on for all apps for alpha/beta
  • switch from qtcurve to gtk-oxygen-engine, ensure settings update properly

Arm Server Optimized Lamp Stack

packageselection-arm-server-optimized-lamp-stack

Problem

  • No solid benchmarks for server apps on ARM or collected data can't be shared
    • So what does it mean to have a high performance LAMP stack on ARM?

Questions

  • What kind of utilities and tools can we use to benchmark a system?
  • What type of packages do we need to provide a high performing LAMP stack on ARM?

Goals

  • Figure out the benchmark numbers as they are for ARM, compare to Intel/AMD, then improve.

Benchmark Candidates

Other ARM Server workloads

  • Squid
  • MariaDB/Drizzle
  • Redis - http://code.google.com/p/redis/

  • Memcached
  • HipHop for PHP

  • PHP workloads (with benchmarks?) Drupal (http://drupal.org/node/79237), Wordpress (has benchmark)

  • Samba (?)
  • Cluster file systems (?) GFS / Gluster
  • Shark JIT on ARM
  • Python, Twisted (used by Launchpad), Ruby on rails (new kid on block but growing)
  • DNS - bind (Memcached a good proxy for DNS performance - essentially a look up)
  • HAProxy - user space - interesting

Testing

  • Look at adding hooks into checkbox for benchmark testing on ARM
  • Martin B, Dave Rusling (Linaro), Chuck, Leo (ARM) - willing to help with testing with hardware and appropriate information that makes things easy to run
    • Scripts? Apt install on top of Linaro testing?
  • Results to be hosted on UDS wiki for now
  • Recomended kernel config
    • + perf / oprofile
      - debug
      + large block handling

Profiling

  • Dave Martin / Will Deacon (ARM) will post pointers to info about using the Linux perf tools to collect profiling data.
  • Important to collect profiling information during benchmark runs

Server root fs

  • How to grab server root fs - grab right ARM image - no server ISO right now
  • Martin Bogomolni to test root stack / media create to base file system only
    • - Exact binaries needed for testing
      - Align with Linaro methodology on this

Next Steps

  • Distribute work
  • Collect results (once testing made easy / repeatable)
  • Circle back on identification of focus areas
  • Identify bugs / route to owners for resolution (missing packages, broken, poor performance etc...)

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:

  • add the concepts of states which are based on events and persist beyond the event, which jobs can depend on
  • child tracking should use proc connector
  • events should be queued against jobs when the job is transitioning
  • overrides to local configuration of jobs without editing them
  • new hook on starting * to allow tracking of job dependancies
  • upstart will know about chroots and make itself available in there if it is going to start jobs automatically; and use the root directory for local start within a chroot to start the right jobs


Need to get buy in for these features

GNOME plans for the natty cycle

packageselection-desktop-n-gnome3

GLIB 2.28

  • Ready by December
  • Non-controvercial release
  • Still a number of applications require porting to gsettings
    • gnome-panel in process of porting
    • We should generate a list of applications Ubuntu needs porting to have the CD gconf-less

GTK3

  • Plan of record to release in December
  • There will be more ABI breaks coming before then
  • Will need both versions on the CD
  • List of libraries in jhbuild that will need a GTK2 and a GTK3 library
  • We only want gsettings/GTK3 in the LTS
  • No GTK# bindings for GTK3

GNOME3

  • Clean the CD this cycle of obsolete libraries:
    • gnomeVFS, libglade, libgnomeui...
  • Upstream needs feedback on gobject-introspection/PyGTK
    • port our apps (software-center, apport, etc.)
  • GNOME Control Center etc are all or nothing upgrades
    • Rodrigo has a plugin that provides the old gconf API for older apps
  • GNOME Shell will be available in Universe
    • Ubuntu patched apps don't always work perfectly (e.g. indicators) in different shells
      • Need a consistent way for these patches to detect they are in vanilla GNOME and behave as upstream intended (ryan)

Package selection

  • Drop tsclient, and use vinagre if it supports RDP, otherwise consider Remmina
  • Consider sticking with existing versions if packages are doing risky changes (like we did for Maverick)
    • Most packages should be OK, nothing controvercial
    • Keep evolution at 2.32 as of now (will be updated the week after UDS), see what's going on later on the cycle.
    • Totem should be fine for 3.0 (vuntz) - it didn't make a 2.32 release
    • Consider replacing EOG with shotwell (fagan via irc) - need to ask shotwell devs, for Maverick they didn't recommend this
    • Nothing major happening in GNOME Games, gcalctool
    • GEdit is gold as always
    • Cheese has new features but should be good (vuntz)
    • Yelp can go to latest version now (changes were held back)
    • GDM update to 2.32. GNOME Design has mockups for new greeter, but wont be ready for 3.0
    • Applets may not work with the latest gnome-panel
      • Tomboy might need porting
  • Can get rid of gnome-system-tools?
    • Only thing being used is time configuration
    • Features are being merged into gnome-control-center
  • gnome-utils
    • Package has been split since maverick
    • Drop gnome-dictionary - doesn't work outside of english, not well supported
    • gnome-search-tool - not needed in Unity, needed for 2D experience
    • an environment variable to add to get some default GNOME experience and don't break the GS

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.

Topics for discussion

  • Policy of when server applications and services should sit outside of the normal release cycle
    • Contributing factors
      • Frequency of upstream
      • Complexity of dependencies/overlap with Ubuntu
      • Demand for application or service
      • Plans for build-from-source packaging
  • Where upstream development methodology does not fit with build from source
    • Java stack packaging approach
      • Build from source or binary packaging?
  • Distribution methodology
    • Options:
      • PPA - have all the functionality necessary already to group packages and dependencies to ride on top of the core releases.
      • Upstream conduits?
    • Challenges: visibility from update-manager/apt
  • Roles in packaging and distribution
  • Other Considerations
    • Security vulnerability monitoring and patching
    • SRU equivalent processes.
  • Examples to support discussion from Maverick
    • Cassandra
    • Hadoop
    • Terracotta
  • Potential candidates for Natty
    • Hudson
    • JEE Application Servers
    • + Others

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

  • Same packages as Ubuntu
  • Consider settings changes appropriate for China
    • Language Pack - Chinese
    • Fonts
      • Quality issues with current open source fonts
      • Considering non-open source font alternatives
  • Would like to have in this release cycle (Started early experiments to confirm feasibility)
  • More like a localized Desktop Edition
  • cdimage & releases would cause issues by getting asked for other versions in many other countries. (Suggests finding another resource)

    • many of the answers could depend on the questions
    • Goal would be to make this perpetual for each version. (Not just 11.04)
    • Govt. standards
  • Need to consider local choices (Baidu, etc.) and produce a list

Integrate Wine into Software Center

packageselection-n-desktop-wine-software-center

  • Have applications offered in the Software Centre
  • Direct X Support could be marketed as a potential benefit
  • Could use a windicator for the user to notice that he is running a Windows program
  • Nothing today to prevent Wine from making general system calls, so we need to find a way to isolate things to prevent accidental or malicious use.
  • We can handle prefixes for packaged cases
  • Show apps that have been installed in the /home directory.

    • Could remove using Software Centre even though they were installed by other means
  • We should promote our own applications when the user is installing a Windows program
    • for example, if a user wants to install MS Office, we warn him that LibreOffice offers the same functionality

  • In a multi-user case the removing of things may be difficult.
  • Cautious Launcher isn't favored because it's not easily translatable.
  • Channel thread that we should encourage local Linux apps rather than enable old Windows addiction
    • Adding to the above point, if Canonical notices that a Windows application gets lot of users, Canonical should encourage the application developers to port it to Linux, or even propose to port it themselves.
  • If we can make things smoother it will lead to more Ubuntu users.
  • We need to be sensitive to GPL redistribution issues
  • From a commercial perspective, could we use this to enable "Windows only" program to get it in the Software Centre.
  • The use case of getting Software Centre to list the applications and remove installed apps is something that would need to be written.
    • Designed first, then code written

Bash Tab Completion and command-not-found enhancements

packageselection-server-n-commandline-userfriendly

Main topics

  • bash argument completion
    • lack of consistency (sqlite doesn't let you complete database files)
  • command-not-found
  • Bash tab completion unpredictable, handled differently by each different program

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

  • support arbitrary hints
  • ACTION: set opinionated defaults for the server seed (put in a special package)
  • ACTION: modify command-not-found to use ^
  • ACTION: publicize this capability to ubuntu / debian developers

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

  • kernel drivers (e.g. broadcom)
    • more work required
    • the new opensource driver is currently poor quality and requires many man months of effort, this is not likely to be done within the project for natty
  • network device naming
    • primarily on server people are interested in naming being stable
    • people prefer to have fixed names in some cases
    • udev already supplies stable names for them, but they are not necessarily sane ordering
    • can we use the BIOS naming at all?
    • changing the rules is problematic as preseeds may rely on the current rules
    • we could use a new preseed option to select any new naming
  • DHCP (v4?)
    • we need this to handle IPv6, should pull this in
  • ifupdown
    • doesn't seem to be an updated version
  • wpasupplicant (0.7 ?)
    • kvalo & cyphermox

  • IPv6
    • much of this should already be working
    • testing: will need coordinated testing across many different network environments
  • network manager (0.9 ?)
    • this sounds like it is something we do need
    • likely to switch if it is of sufficient quality in time, but this is likely to hit in a few weeks
    • likely to move to system connections by default, but with ACLs
    • user switch leaves a VPN open for all other user sessions, currently no plan to resolve this, primary focus is preventing exposure of the passwords etc not the connection itself
  • indicator for UI (session Thu 5pm)
    • need indicator support in network manager
    • there is support added to network manager to make adding this kind of bells and whistles easier

Issues

  • applications attempt to use the hostname to find IP address, this not so clear if the name points to 127.x
  • use of clock for dhcp leases might be problematic (block skew is not handled which can lead to use of expired allocations)

ACTIONS

  • ColinWatson

    • sync DHCP v4 from debian
    • integrate biosdevname (linux.dell.com) for stable network device naming in installer
  • MathieuTrudel

    • enable test runs for network manager during build
    • look at getting indicator support into network manager
    • wpa-supplicant support for the installer
    • blog how to help with NM -- writing test cases (for code), other low-hanging fruit
  • kvalo/MathieuTrudel

    • get wpasupplicant 0.7 from debian SVN ready + upload

Indicator Datetime for N cycle

packageselection-dx-n-indicator-datetime

  • No Gobby Notes Available

Cluster Stack in Natty

packageselection-server-n-cluster-stack

  • Meta-package: Simple - Only to join the cluster.
  • Docs:
    • We need to improve docs -> server guide (once packages reach main)

    • clvm docs
    • provide recommendations (which cluster FS to use... ocfs2, fencing)
  • UEC/EC2
  • Upstart RA
    • upstream included patches
  • Use Cases for automated deployment. Two main types of use cases:
    • simple
      • (would be messaging layer + pacemaker)
      • Virtual IP
    • advanced (would be shared file system, clvm, drbd)
    • Puppet?

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

  • ColinWatson

    • re-enable gfxpayload=keep and call for testing
    • re-enable lua grub-extras module
    • cut over to whitelist mode some point reasonably before beta
    • general bug triage work item
  • JeremyFoshee

    • tag bugs 605614, 608429, 612626 and other similar bugs and monitor for new
  • AndyWhitcroft

    • give graphics upstreams a heads-up about impending bug reports
  • EvanBroder

    • add white/blacklist functionality to grub2

Donations for free software through Software Center

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

  • Intent - accept payments through software center for free software in the Ubuntu stack, and have those payments make their way to the developer
  • Proposed model - token model: prove you can modify package/code/whatever before receiving $$$
    • Use package homepage from package file, and inspect that home page for token?
    • Has other problems (this is open source software, after all)
  • Issues
    • What about when an app doesn't have a clear person to donate to?
      • option 1: don't donate
      • option 2: take $ for all apps and donate to a single place
      • option 3: do a general donation
      • Developer Portal could help define who is the person
      • If we restrict our initial implementation to packages with very clear answers and existing 501c3 foundations, then someone would soon make a 501c3 foundation to handle "the rest" -- so we may not need to worry about individual donations to individuals
  • rickspencer3 feels strongly that we should only accept donations for projects with clearly defined "end points"
  • we could add a "I would like to donate" button
  • How do you prove that you own assets related to the projects?
    • we could check the defined homepad and see if there is key there?
  • Provide fundraiser-like (justgiving.com) donation messages.

Unresolved questions

  • how to have people register as project owners to receive funds
  • how to respond to and resolve disputes
  • how to pay $ out to the parties

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:

  • Grails (and gradle) - target for Natty release
  • Spring Roo - target for Natty release.
  • Define approach for IDE packaging alongside application distribution changes

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:

  • james to update Tomcat 7
  • james to make a jonas package from binaries
  • james to try packaging jonas from source, see if it works / how hard it is
    • nijaba to introduce james to ow2
  • clint to create an automatically populated PPA with the content from the
    • maven archive

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

  • ChrisCoulson

    • write messaging menu extension
    • discuss with Mozilla about global menu
    • Investigate Lightning integration w/evolution data stores
  • ChrisCoulson/JorgeCastro

    • mail to tb-planning about indicator integration

Automatic printer driver download should support signed packages

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

  • No Gobby Notes Available

Improve detection of device class at install time

packageselection-arm-n-device-type-detection

  • No Gobby Notes Available

Server Natty Kolab

packageselection-server-n-kolab

  • No Gobby Notes Available

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

  • at some point in the past there was a kernel patch to allow a user to
    • do some restricted mounts
  • Can we allow some set of mounts
  • Can we come up with a solution to denial of service issue
  • Can we do something in Natty to get patch upstream or ...
  • there is a command line utility that does dbus calls to mount usb and such from command line
  • generally makes kees uncomfortable

ACTIONS

  • KeesCook to look more at patch and think about it more

  • SergeHallyn to follow up on dbus socket user id

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:

  • Ubuntu Enterprise Cloud
  • Ubuntu Server
  • Buried under F4 -> Install a minimal virtual machine

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
  • DustinKirkland's initial view: two options on the main ISO menu, where we should expose all 3 of these in the syslinux menu:

  • Install Ubuntu Enterprise Cloud
  • Install Ubuntu Server Deluxe
  • Install Ubuntu Server Minimal
    • will detect if running on an hypervisor and install appropriate kernel(this has to be checked on VMware, virtualbox and Xen and make sure it works there as well)
      • running in kvm, /proc/cpuinfo says: QEMU Virtual CPU

      The Ubuntu Enterprise Cloud works as it has for the past few releases, installing all of the components necessary to host a cloud. The key difference is in (2) and (3).


  • ThierryCarrez's view: pimp preseeding, by providing the ability to access preseeds on the network and expose more profiles this way.

    • could be a way to measure popularity of profiles
    • needs to work with alternate repositories including local ones (enterprises may not have internet access)
  • Mathias' suggestion:
    • Make the server installer a 2-stage installer
      • 1st step, install a minimal server
      • 2nd step, add whatever server tasks afterward
    • Makes it look more like cloud images, which are all "the same" at first, and are customized afterward using cloudinit, apt, etc
    • Potentially make demo ISOs if you need customized one-stop shop
      • Could be offered as a service
    • Integrated view across cloud-init/servers/installservice (rename cloud-init to [ubuntu|server]-init)
    • Blends into the enterprise way of doing things (plug into puppet for example)

Decision

  • The 3rd option of having a 2 stage installer was most preferred by session attendees, with those in attendance not seeing any significant drawbacks to this approach.
  • The Ubuntu Installer team will be consulted and further discussion will take place within the Ubuntu Server community

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:

  • if you hit the close button in the decorator while rhythmbox is doing nothing, it closes indeed
  • if you hit the close button while rhythmbox is playing, it's hiding completely from the desktop, and you can get it back by the soundmenu.

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

Plan of Record

  • nothing to do with messaging menu applications as not seen as a desktop service
  • File->Quit to be renamed File->Close to have the same behavior as the quit button

  • subscribe design team to the bug report.
  • See with rhythmbox and banshee people if we can keep the same state across session (like, if you pause, your launch it again, it's still paused).
  • Post on design.canonical.com about ui state between sessions.
  • API for applications developer to do that easier.

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

  • ChrisCoulson

    • Review ubufox about:home to see if it needs to be changed since Firefox 4 has an about:home now
    • Look into changing translations from addons to distribution bundles
    • Review extension list in archive to see what can be pruned
    • Port Firefox 4 to gsettings
  • DaniloŠegan

    • Automate upstream translation imports for Firefox into Launchpad
  • DavidPlanella

    • Talk to Mozilla people about using user provided translations from Launchpad
  • Micah Gersten

    • Abrowser broke (needs to be updated to 4.0)
    • Possibly build abrowser on xulrunner

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

  • ColinWatson - extend plymouth to listen to upstart's dbus interface for jobs being started/stopped, and report this in details plugin

Ratings and reviews in software-center

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

Overview

  • Demo of Software Center client available by MichaelVogt with:

    • Star ratings,
    • Writing reviews (summary, detail and rating).
    • Reporting of reviews as innappropriate.
  • On the server-side, a review will be needed for:
    • an application
    • a version
    • a distroseries (as even the same version in different series).

Session Questions/Answers

  • Can we add a 'This was a helpful review'? Yes - needed.
  • Can the reporting of innappropriate reviews not be abused? Yes, need thought as to, for example, requiring 2 reports before it is hidden and added to the moderation queue.
  • Will reviews persist between application versions? Show reviews for the current version, but with access to reviews from previous versions.
    • A downside here is that we may lose (hide) a "valuable" review that may actually still be perfectly relevant, just because of a version bump
    • Reviews should also be sensitive to origin of the package, in case one "version" might come from different source (e.g. PPAs)
  • Languages - we need to support multiple languages. What should our defaults be? Should the server serve English reviews if there are no native language reviews? (Proposal: if there are no localized reviews yet, show a note: "Be the first to add a <language> review!")

    • If we default to English when no native-language reviews, maybe show a button to "See all language reviews"
  • Spam filtering on the server-side? Yes - we may need something. We will not linkify in comments (and may disallow links entirely).
  • Will we be able to edit/update a review after adding it. Yes, for 10mins or so (otherwise the 'Was this review helpful' is incompatible).
  • Would we be able to have special reviewers (OMG! Ubuntu!, ars technica)
  • Using Karma or CoC for moderators? Proposal: not unless we have a simplified/condensed CoC that is more relevant. URCoC - Ubuntu Reviewers Code of Conduct Smile :)

  • API for other websites to show top reviews etc.
  • Do we need licensing of the reviews? Using a default CC license?
  • Evan would like to see metrics like bug-count, crashes, install count, delta between when a bug is reported to when it is fixed (help?)
  • Initially mvo would like to limit reviews to commercial apps and distro apps, not random PPAs, but the infrastructure needs to support PPAs in the future.
  • Should vendors be able to opt-out of reviews? (perhaps restricted to commercial apps/apps where we can know who the vendor is).
  • Can we do something similar to the 'launchpad-integration plugin', adding a menu-item to an App's help menu.
  • Can Vendors/authors respond to reviews?
  • Hooks to allow an application to provide in-app review ability? Maybe from an About dialog?
  • If a user uses an application a lot, maybe pop up an invitation to review it
    • If we do this, would we end up with tens of thousands of reviews for a single app, which is not so useful?
    • What about command-line apps, such as "ls"? Smile :)

    • Pop-ups should not interrupt the user's workflow

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?

  • the panel, and the indicators that go with it
  • the launcher
  • the places (but it's more a "nice-to-have" since we can find fallbacks with nautilus & synaptics for example)


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

  • needs a shortcut to gain input-focus
  • should be able to navigate between entries (see nautilus-a11y as an example)
  • tell the app. name, if it's running
  • access the quicklists (SHIFT-F10), navigate in them, support keyboard shortcuts as well
  • need a means to present app info (is running, how many windows) via a11y-interface

Panel

  • CTRL-ALT-TAB takes you to the panel (gain input-focus)
  • TAB to navigate between indicator entries, or arrow keys (need to test what's usable)
  • Need to also support the shortcuts on the top entries (and the visual trigger associated with the ALT key press)

Application Switcher

  • the compiz app. switcher already is accessible

Design Aspects

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

  • large fonts (UI-elements need to adapt to font-size)
  • colors?
  • way to change the icon-size of the launcher
  • on screen keyboards need to fit in somehow with the maximised windows design and work with the global menu

Infrastructure

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

Tools

  • Orca
  • on-screen keyboard
    • Onboard - few other distros use this
    • Caribou - brand new still in development process
    • dasher
  • screen magnifiers
    • orca & gnome-shell are working on something together

    • compiz can also provide a good screen magnifier solution

Development Plan

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

  • A1: feedback from platform on which screen readers to test unity with; also same for screen magnifiers
  • A1: provide keyboard navigation
  • A2: enable panel, indicators, launcher accessible
  • A2: connect with Mago? use Mago as a test case for how accessible we are?
  • A3: add accessibility to the places API and places view

Test Plan

  • Bug Mgmt
  • Will document a11y test plans
    • into the feature test cases directly (enable people without disabilities to test that as well)
    • report more specifically

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?

  • No - gcc-4.6 not releasing until next year and it doesn't make sense to include it in natty

  • will be included as gcc-snapshot, but nothing else
  • 4.6 (trunk) hasn't been buildable for about 2 months now...

Assumptions

  • same upstream versions of toolchain components as default on arm vs. x86 to avoid putting all the porting burden on the ARM community
  • same upstream versions of toolchain components as default in Ubuntu vs. Debian for a similar reason, but this would be less serious than an ARM vs. x86 delta
  • gcc-4.5 packages will be available and set as default

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?

  • natty has already opened with linaro branches of -4.4 and -4.5; there is no intention to change this
  • of greater concern is how and when we integrate "point-release" updates from Linaro through the release cycle
    • upstream FSF releases expected: 4.5.2 in November, 4.5.3 in February but maybe delayed by the 4.6 release (timing flakier because development has moved on)
    • Linaro intends to continue releasing its consolidation branch monthly (second Tuesday of every month)
  • review of maverick:
    • maverick opened without the Linaro toolchain
    • partway through the cycle, Linaro gcc was added which brought in not only Linaro changes, but also all the backported CodeSourcery changes. This introduced some problems which are now believed to be addressed as of the 10.10 release.

  • 4.6 compiler: will it be only performance fixes?
    • Linaro has not committed to avoiding all consumer-affecting behavior regressions
    • but likely to make this trade-off in order to be usable by Ubuntu
    • doko requests documentation, *advertisement* of these issues
    • michaelh1: goal is to improve transparency and predictability
    • doko doesn't want to make the decision now; defer to rally in January
  • doko wants same compiler on armel and x86
  • if we don't have resources to regression-test on powerpc, do we want to use the FSF gcc on powerpc to keep closer to Debian to share the load?
  • committment for other frontends besides C, C++?
    • michaelh1: generally good; Java/Fortran/ObjC not currently being worked on and no optimization work to be done this cycle, but faults in other languages will be addressed
    • work being done to import Apple ObjC improvements into FSF trunk
  • gcj doesn't currently support Thumb2 for ARM
    • not ideal, but currently we need gcj mostly for openjdk bootstrapping
  • Ada wants setzx exceptions; ARM currently only has setjmp/longjmp exceptions
    • should be tracked as a ticket/bug
  • soyuz admins vetoed last rebuild because it would stall out the ppas!
    • maybe Julian fixed this now? The last rebuild was in August

ACTIONS

  • armel rebuild of the archive with a 4.6 compiler *before 4.6.0* in the natty release cycle
    • get fixes into natty for this where possible, or for natty+1
  • review the question of Linaro 4.6 for natty+1 at the Rally in January
  • getting a rebuild of the entire archive done
    • blocks on getting more buildds
  • test-rebuilds need to be doable more frequently and with less setup delay
    • do a rebuild of the failing builds in a ppa using the FSF gcc to check which ones are regressions
  • before switching to a new gcc version
  • and towards end of cycle when things are stabilizing

Ensure integration with drizzle for Ubuntu

packageselection-server-n-drizzle-integration

Things to look at

  • upstart integration - upstart job file written (clint needs to commit)
  • DBUS protocol integration
    • Server admin/config
    • Desktop DB provisioning
    • Use of Drizzle as a system db?
      • Useful for Akonadi apps?
  • MySQL/Drizzle protocol situation
    • Drizzle protocol still at spec
    • MySQL is the default protocol
      • Re-add support for SSL
      • On both ports..... (3306 + 4427)
  • HandlerSocket

  • Authentication Plugins - PAM, LDAP, File
    • SSL code removed from mysql protocol, needed for security of PAM auth (upstream)
    • GRANT's Removed - Authorization plugins can be written.
      • Simple auth -- username <-> schemaname restriction

      • LDAP plugin supports full auth
    • auth_file needs Authorization support
      • management tool
    • Multi-tenancy plugin creates a sandbox per IPv6 endpoint -- PLANNED NOT IMPLEMENTED
  • Objective: drizzle as 'Recommends' alongside MySQL

Actions

  • Add SSL capability back to mysql protocol (upstream: mtaylor?)
  • Add Authorization to auth_file plugin
  • Build tool for managing auth_file plugin
  • Drizzle-ize wordpress
  • Create wordpress-drizzle package

Software selection and seed review for Edubuntu Natty

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

  • Gamine

Addition to ubuntu-edu-primary

  • openspell [needs-packaging],
  • Laby
  • Stellarium
  • Celestia
  • geogebra
  • Lybniz

Addition to ubuntu-edu-secondary

  • pencil
  • Laby
  • Calibre
  • geogebra
  • Stellarium
  • Celestia
  • Lybniz
  • melting
  • Gally

Addition to ubuntu-edu-tertiary

  • pencil
  • Laby
  • Calibre
  • Stellarium
  • Celestia
  • geogebra
  • Lybniz
  • melting
  • Gally

Addition to dvd

  • qimo-session-gnome (mhall119)
  • sugar-session

Addition to desktop-gnome

  • pdfmod
  • ttf-sil-andika
  • scribus-ng

Addition to desktop-kde

  • pdfmod
  • ttf-sil-andika
  • scribus-ng

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

  • - Open all input devices and poll/monitor activity - Look at udev for all input devices, look for id-input-key and mouse - see pm-utils fpm-powersave (Does something similar) - look at using poll(2,3) to monitor input - investigate getting kernel events on new processes (rather than polling) -- perhaps upstart? - check upstart for notification of new processes - actions should be added to pm-utils package (such as powering down cores)

ACTIONS

  • ACTION: Talk to ScottJamesRemnant about Upstart, how PowerNap could tap into Upstart to monitor processes in an event driven manner rather than polling /proc

  • ACTION: Use pm-powersave for PowerNap new power save mode

  • ACTION: Contribute any new actions to pm-utils (rather keeping in PowerNap)

  • ACTION: Use event based monitoring for input polling (limited to keyboard and mouse)
  • ACTION: Get network monitor matching the MAC in the WoL

Hudson CI Packaging and Integration

packageselection-server-n-hudson

Use cases in Ubuntu

  • All the cool guys are using it
  • Ubuntu server ISO testing:
    • based on kvm+libvirt
    • new daily -server isos are automatically tested and tests are aggregate
    • master + slave architecture
  • Ubuntu QA:
    • test the daily isos.
  • Launchpad:
    • try to get the LP test suite to run on Hudson.
  • Landscape:
    • leverage metrics and measurement provided by Hudson.
    • unable to install in the DC.
  • openstack and drizzle:
    • jcloud plugin in replacement of ec2 plugin
    • master+slave development
    • hudson plugin to track LP API: merge proposals, new packages in PPA.
  • linaro:
    • test kernels, toolchain.
  • DX
  • ISD is also using it.
  • Ubuntu One has been testing it out. With plans to make more use of it in this cycle.

Requirements from IS

  • difficulty to deploy in DC.
  • plugins: lock down. Unable to install plugins from the web interface.
  • self upgrade: turned off in the upstream package.
  • license of jar files from plugins.

Packaging Complexity

  • Existing package available from upstream. Easy for testing and deploy.
  • Summary : 106 potential hits, 56 misses (not bad)
  • Some forking of dependent libraries by hudson (15 dependencies):
    • need to get upstream input on why forked have happened.
  • Approach to plugins/upgrades:
    • disable upstream pluging/upgrade mechanism
    • Currently managed through Hudson: disable it.
    • Provide an option that can disable plugin downloads/upgrade that is not changeable from the web interface.
    • provide plugins as packages.
  • provide a slave package.
  • Create a Hudson PPA rather than targeting inclusion in the Ubuntu archive because upstream release cycle is too fast:
    • build from source:
      • injecting test suite pulls a lot of dependencies: remove from the build process and test the published binaries packages.
      • remove as much dependencies as possible:
        • package only core and relevant plugins.
    • relavant plugins:
      1. bzr plugin
      2. uec/ec2 plugin (to be replaced by jcloud plugin when it exists)
      3. git plugin
      4. ssh slave plugin
      5. url monitor plugin
      6. launchpad plugin when it exists
      7. code coverage (cobertura) plugin
    • Three packaging approaches
      • Binary packaging (probably not appropriate for Canonical IS)
      • Build from source from source from source... (probably pulls all the Java world)
        • Necessary to target main/universe
      • Build from source and binary build-only deps (might make a reasonable compromise)
        • All the binaries distributed would be "built from source"

Integration Value

  • Standalone using winstone?
    • Should be supported. Upstream help community knows about this deployment.
  • Tomcat/Jetty integration?
    • Good value adds but potentially not wide appeal. Good be provided with hudson-{tomcat,jetty} packages - see solr-* packages for examples.
  • Easing slave deployment?
    • provide a -slave package. Is the hudson slave jar built specifically by the master?
  • Build from source of PPA/binary packaging approach (or both!)

ACTIONS

  • JamesPage

    • evaluate effort in each packaging approach
    • setup project/ppa/mailing list (users and maintainers)

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

  • Outcome
  • Outcome
  • Outcome

Configuring a valid system hostname during install and boot

packageselection-foundations-n-valid-hostname-configuration

  • Outcome
  • Outcome
  • Outcome

Resizing windows

packageselection-dx-n-resizing-windows

  • Outcome
  • Outcome
  • Outcome

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:

  • JamesPage - Calculate cost for moving maven + debian helper to main (50-60 packages to main).

  • ttx - Submit "no updates after debianimportfreeze" policy as a discussion on ubuntu-dev
  • JamesPage - Fix the tomcat and xmlbeans issue

  • JamesPage - update Java packaging part of Ubuntu wiki/java-common to describe policy of fixing in main for feature disablement.

Thunderbird On Ubuntu

packageselection-desktop-n-thunderbird-on-ubuntu

  • Outcome
  • Outcome
  • Outcome

Bringing the Ubuntu Desktop and Netbook favors closer

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

  • Outcome
  • Outcome
  • Outcome

Indicator Messages for N Cycle

packageselection-dx-n-indicator-messages

  • Outcome
  • Outcome
  • Outcome

Evaluate squashfs-lzma for the live CDs again

packageselection-foundations-n-squashfs-lzma-redux

  • Outcome
  • Outcome
  • Outcome

Keyboard menu for Natty

packageselection-dx-n-indicator-keyboard

  • Outcome
  • Outcome
  • Outcome

Enhancing indicator-network to support NetworkManager as a backend

packageselection-desktop-n-nm-indicator

  • Outcome
  • Outcome
  • Outcome

Use LightDM for display management

packageselection-desktop-n-display-manager

  • Outcome
  • Outcome
  • Outcome

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

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

  • Outcome
  • Outcome
  • Outcome

Improve User Translation Experience in Kubuntu

packageselection-kubuntu-n-translations

  • Outcome
  • Outcome
  • Outcome

Friday - Proceedings

Session

UbuntuSpec:

  • Outcome
  • Outcome
  • Outcome

Session

UbuntuSpec:

  • Outcome
  • Outcome
  • Outcome

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