Canonical Voices

Posts tagged with 'uncategorized'

Joseph Salisbury

Meeting Minutes

IRC Log of the meeting.

Meeting minutes.

Agenda

20130618 Meeting Agenda


ARM Status

Q/master: lp1176977 (“XFS instability on armhf under load”) – passed all xfs
tests (tested both on arm and x86), but there’s still one patch missing (and
waiting to enter linux-next for 3.11).
*/highbank: lp1182637(“cpu_offlining fails to run on ARM”) – indeed, it was a
firmware issue: updating the node to the last available firmware, made cpu
hotplugging work – lp1185669 (“CPU cores offline and can’t be brought back up on
ARM Server card”) is probably a dup.
R/master: lp1171582(“hvc0 getty causes random hangs”), seems like i can detect
the presence of a jtag console (DBGAUTHSTATUS NSNE bit) and thus attach or not
the xen console to it, i’ll give it a try.


Release Metrics and Incoming Bugs

Release metrics and incoming bug data can be reviewed at the following link:

  • http://people.canonical.com/~kernel/reports/kt-meeting.txt


Milestone Targeted Work Items

   apw    client-1303-power-consumption-testing    1 work item   
      foundations-1305-arm64-bringup    1 work item   
   ogasawara    foundations-1305-kernel    1 work item   
      mobile-power-management    1 work item   
   sforshee    foundations-1303-phablet-kernel-maintenance    1 work item   
   smb    servercloud-s-virtstack    1 work item   


Status: Saucy Development Kernel

Our Saucy unstable branch has been rebased to the latest v3.10-rc6
upstream kernel. We unfortunately have still not uploaded yet. We are
still awaiting fixups for a few DKMS packages. We hope to upload by EOW
or early next week. In the mean time we have gone ahead and rebased our
Saucy master branch to the recent v3.9.6 upstream stable kernel and
uploaded.
For our phablet kernels we have been investigating some kernel size
constraints and the modules which we have enabled and built in.
Important upcoming dates:
Thurs June 27 – Alpha 1 (opt in)


Status: CVE’s

== 2013-06-18 (7 days) ==
Currently we have 62 CVEs on our radar, with 3 CVEs added and 2 CVEs retired in the last week.
See the CVE matrix for the current list:

  • http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html

    Overall the backlog has increased slightly this week:

  • http://people.canonical.com/~kernel/status/cve-metrics.txt

  • http://people.canonical.com/~kernel/cve/pkg/CVE-linux.txt


Status: Stable, Security, and Bugfix Kernel Updates – Raring/Quantal/Precise/Lucid/Hardy

Status for the main kernels, until today (Jun. 18):

  • Lucid – Beginning prep;
  • Precise – Beginning prep;
  • Quantal – Beginning prep;
  • Raring – Beginning prep;
    Current opened tracking bugs details:
  • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

    For SRUs, SRU report is a good source of information:

  • http://people.canonical.com/~kernel/reports/sru-report.html

    Future stable cadence cycles:

  • https://wiki.ubuntu.com/RaringRingtail/ReleaseInterlock


Open Discussion or Questions? Raise your hand to be recognized

No open discussions.

Read more
Ryan Finnie

A year ago, I launched M29, a URL shortener with a twist. Apparently I forgot to announce it here. Whoops.

Normal URL shorteners are fairly simple. You submit a long URL. The service generates a short URL. The long and short URL are placed in a backend database. If you go to the short URL, it redirects to the long URL.

This means that the URL shortener service has a large database of URLs available to it. While 99% of the contents of this database may be mundane, it's still a large, centralized source of information. Very relevant to the recent NSA news, for example.

M29's twist is, except when serving the redirect, it does not know anything about the contents of the long URLs. This is accomplished by generating an AES-128 key, using it to encrypt the long URL, and then splitting the key in two. One half of the key is stored in the backend service, and the other half is encoded as part of the short URL itself. This means the only time the two parts of the key come together is when the short URL is requested for the redirect.

Getting from a long URL to a short URL can be done one of several ways. If you go to m29.us and have Javascript enabled, the client side actually loads an AES libary, builds the key, encrypts the URL, and sends the encrypted URL and half of the key to the server, all processed on the client side. If you don't have Javascript enabled, this task is farmed out to the server side, which generates a random key, encrypts, makes the database insert, returns the short URL, then throws away half of the key. M29 also has a featureful API which lets you do these tasks yourself. (It is also compatible with the goo.gl API, which is easy to work with and has several tools available.)

The net effect is, while I currently have a database of about 10,000 entries, I cannot read them. Source IP and URI logging are not done on the server, so the only way I can find a long URL is if I load a full short URL, which is not possible given just the backend database.

Anyway, this weekend I did some work on M29, including adding a bit.ly-style preview option (append a "+" to the short URL to get its info), among other small feature additions and fixes. It was then I realized, by going to that above short URL (the first URL generated and used in documentation) that the one-year anniversary of the service is today.

Read more
Joseph Salisbury

Meeting Minutes

IRC Log of the meeting.

Meeting minutes.

Agenda

20130611 Meeting Agenda


ARM Status

Q/master: lp1176977 (“XFS instability on armhf under load”) – turned out some
xfs tests failure that i was experiencing were already present in 3.5.y
vanilla for arm, so none of the backported patches were responsible for it.
On the other hand, there’s a new 100% reproducible hang while running
tests/generic/0368. Still working on it, collecting patches, pinging upstream,
etcetc.
*/highbank: lp1182637(“cpu_offlining fails to run on ARM”) – according to
robherr this is due to a different u-boot that we are using, waiting for an
update.
S/master: did some testing of 3.10-rcX for omap[34], imx6 and vexpress, so
far so good.


Release Metrics and Incoming Bugs

Release metrics and incoming bug data can be reviewed at the following link:

  • http://people.canonical.com/~kernel/reports/kt-meeting.txt


Milestone Targeted Work Items

   ogasawara    foundations-1305-kernel    1 work item   
      mobile-power-management    1 work item   
   sforshee    foundations-1303-phablet-kernel-maintenance    1 work item   
   smb    servercloud-s-virtstack    1 work item   


Status: Saucy Development Kernel

Our Saucy unstable branch has been rebased to the latest v3.10-rc5
upstream kernel. We are still holding off on a v3.10 based upload due
to missing AUFS support as well as some DKMS package failures we would
like to resolve. We have however gone ahead and rebased our Saucy master
branch to the recent v3.9.5 upstream stable and plan to upload that
today.
On the mobile front I’m hearing news that the container flip should
hopefully be happening this week.
Important upcoming dates:
Thurs June 20 – Alpha 1 (opt in)


Status: CVE’s

== 2013-06-11 (7 days) ==
Currently we have 68 CVEs on our radar, with 9 CVEs added and 0 CVEs retired in the last week.
See the CVE matrix for the current list:

  • http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html

    Overall the backlog has decreased slightly this week:

  • http://people.canonical.com/~kernel/status/cve-metrics.txt

  • http://people.canonical.com/~kernel/cve/pkg/CVE-linux.txt

    TOPIC] Status: Stable, Security, and Bugfix Kernel Updates – Raring/Quantal/Precise/Lucid/Hardy (bjf/henrix/sconklin)
    Status for the main kernels, until today (Jun. 11):

  • Lucid – Awaiting Certification Testing;
  • Precise – Awaiting Certification Testing and Regression testing;
  • Quantal – Awaiting Certification Testing;
  • Raring – Awaiting Certification Testing and Regression testing;
    Current opened tracking bugs details:
  • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

    For SRUs, SRU report is a good source of information:

  • http://people.canonical.com/~kernel/reports/sru-report.html

    Future stable cadence cycles:

  • https://wiki.ubuntu.com/RaringRingtail/ReleaseInterlock


    Open Discussion or Questions? Raise your hand to be recognized

    No Open Discussions.

    Read more
  • Victor Palau

    I was thinking about starting dogfooding Ubuntu Touch, and really for me the blocker is having a torch app! :) so here it is:

    https://code.launchpad.net/~vtuson/+junk/torchapp

    Tap in the lightbulb to turn the tourch on (tested on Galaxy Nexus). Image by  Ryan Hyde

     

    
    

    torchontorchoff


    Read more
    Joseph Salisbury

    Meeting Minutes

    IRC Log of the meeting.

    Meeting minutes.

    Agenda

    20130604 Meeting Agenda


    ARM Status

    Q/master: lp1176977 (“XFS instability on armhf under load”) – cherry picked
    more fixes for the preallocation code, rerun the swift benchmark with different
    fs sizes but unfortunately some xfs tests failed, under investigation.
    */highbank: lp1182637(“cpu_offlining fails to run on ARM”) – little progress on
    this one, but i’m still working on it.
    There was a question whether we had helped test the Nexus 7 kernel for phonedations.
    They stated they didn’t have the hw
    That was the only blocker from it landing in the touch images
    Will sync with rtg upon his return then


    Release Metrics and Incoming Bugs

    Release metrics and incoming bug data can be reviewed at the following link:

    • http://people.canonical.com/~kernel/reports/kt-meeting.txt


    Milestone Targeted Work Items

    It appears not all the blueprints are setting the series properly and thus we may be missing some
    work items for our team. I’ll review any oversights and update the table next week.

       ogasawara    foundations-1305-kernel    1 work item   
          mobile-power-management    1 work item   
       rtg    foundations-1303-phablet-kernel-maintenance    2 work items   
       sforshee    foundations-1303-phablet-kernel-maintenance    1 work item   
       smb    servercloud-s-virtstack    1 work item   


    Status: Saucy Development Kernel

    Our Saucy unstable branch has been rebased to the latest v3.10-rc4
    upstream kernel. Saucy master-next is currently at v3.9.4. We are
    debugging some boot issues with the v3.10-rc4 rebase, so will hold off
    on uploading a v3.10 based kernel until those are resolved.
    We still anticipate an AppArmor pull request this week from the security
    team to get the latest AppArmor patches into our phablet kernels.
    Important upcoming dates:
    Thurs June 20 – Alpha 1 (opt in)


    Status: CVE’s

    Currently we have 71 CVEs on our radar, with 2 CVEs added and 0 CVEs retired in the last week.
    See the CVE matrix for the current list:

    • http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html

      Overall the backlog has decreased slightly this week:

    • http://people.canonical.com/~kernel/status/cve-metrics.txt

    • http://people.canonical.com/~kernel/cve/pkg/CVE-linux.txt


    Status: Stable, Security, and Bugfix Kernel Updates – Raring/Quantal/Precise/Lucid/Hardy

    Status for the main kernels, until today (Jun. 04):

    • Lucid – In Verification;
    • Precise – In Verification;
    • Quantal – In Verification;
    • Raring – In Verification;
      Current opened tracking bugs details:
    • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

      For SRUs, SRU report is a good source of information:

    • http://people.canonical.com/~kernel/reports/sru-report.html

      Future stable cadence cycles:

    • https://wiki.ubuntu.com/RaringRingtail/ReleaseInterlock


    Open Discussion or Questions? Raise your hand to be recognized

    Thanks everyone

    Read more
    Joseph Salisbury

    Meeting Minutes

    IRC Log of the meeting.

    Meeting minutes.

    Agenda

    20130528 Meeting Agenda


    ARM Status

    Q/master: lp1176977 (“XFS instability on armhf under load”) – cherry picked two
    more patches that address the free space fragmentation: the resulting kernel
    passes all tests so far, i’m waiting for user feedback and one last batch of
    tests.
    */highbank: lp1182637(“cpu_offlining fails to run on ARM”) – all the highbanks kernel that
    we released so far are affected by this – basically, you can offline a cpu but
    when you try to put it back, reinsetion fails and the only way to get the cpu back
    is to reboot. Debugged till the point the cpu is plugged back, but it never really
    starts and pick up the idle thread – i’ll probably need to do a comparison
    between the boot environment (when the cpu are added to the system via the same
    mechanism) and this scenario.


    Release Metrics and Incoming Bugs

    Release metrics and incoming bug data can be reviewed at the following link:

    • http://people.canonical.com/~kernel/reports/kt-meeting.txt


    Milestone Targeted Work Items

    I’m still working on cleaning up our team’s set of work items and
    getting monthly goals properly refelcted in the blueprints.


    Status: Saucy Development Kernel

    Our Saucy unstable branch has been rebased to the latest v3.10-rc3
    upstream kernel. Saucy master-next is currently at v3.9.3. I
    anticipate we’ll cut over to v3.10 around the -rc4 time frame.
    On the phablet side, we now have Ubuntu kernels in the archive for the
    Nexus 4, 7, 10, and Galaxy Nexus devices. We also anticipate an
    AppArmor pull request next week from the security team to get the latest
    AppArmor patches into these kernels.
    Important upcoming dates:
    Thurs June 20 – Alpha 1 (opt in)


    Status: CVE’s

    == 2013-05-28 (7 days) ==
    Currently we have 63 CVEs on our radar, with 0 CVEs added and 0 CVEs retired in the last week.
    See the CVE matrix for the current list:

    • http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html

      Overall the backlog has decreased slightly this week:

    • http://people.canonical.com/~kernel/status/cve-metrics.txt

    • http://people.canonical.com/~kernel/cve/pkg/CVE-linux.txt


    Status: Stable, Security, and Bugfix Kernel Updates – Raring/Quantal/Precise/Lucid/Hardy

    Status for the main kernels, until today (May. 28):

    • Lucid – In Prep;
    • Precise – In Prep;
    • Quantal – In Prep;
    • Raring – In Prep;
      Current opened tracking bugs details:
    • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

      For SRUs, SRU report is a good source of information:

    • http://people.canonical.com/~kernel/reports/sru-report.html

      Future stable cadence cycles:

    • https://wiki.ubuntu.com/RaringRingtail/ReleaseInterlock


    Open Discussion or Questions? Raise your hand to be recognized

    No open discussions.

    Read more
    niemeyer

    Today ubuntufinder.com was updated with the latest image data for Ubuntu 13.04 and all the previous releases as well. Rather than simply hardcoding the values again, though, the JavaScript code was changed so that it imports the new JSON-based feeds that Canonical has been publishing for the official Ubuntu images that are available in EC2, thanks to recent work by Scott Moser. This means the site is always up-to-date, with no manual actions.

    Although the new feeds made that quite straightforward, there was a small detail to sort out: the Ubuntu Finder is visually dynamic, but it is actually a fully static web site served from S3, and the JSON feeds are served from the Canonical servers. This means the same-origin policy won’t allow that kind of cross-domain import to be easily done without further action.

    The typical workaround for this kind of situation is to put a tiny proxy within the site server to load the JSON and dispatch to the browser from the same origin. Unfortunately, this isn’t an option in this case because there’s no custom server backing the data. There’s a similar option that actually works, though: deploying that tiny proxy server in some other corner and forward the JSON payload as JSONP or with cross-origin resource sharing enabled, so that browsers can bypass the same-origin restriction, and that’s what was done.

    Rather than once again doing a special tiny server for that one service, though, this time around a slightly more general tool has emerged, and as an experiment it has been put live so anyone can use it. The server logic is pretty simple, and the idea is even simpler. Using the services from jsontest.com as an example, the following URL will serve a JSON document that can only be loaded from a page that is in a location allowed by the same-origin policy:

    If one wanted to load that page from a different location, it might be transformed into a JSONP document by loading it from:

    Alternatively, modern browsers that support the cross-origin resource sharing can simply load pure JSON by omitting the jsonpeercb parameter. The jsonpeer server will emit the proper header to allow the browser to load it:

    This service is backed by a tiny Go server that lives in App Engine so it’s fast, secure (hopefully), and maintenance-less.

    Some further details about the service:

    • Results are JSON with cross-origin resource sharing by default
    • With a query parameter jsonpeercb=<callback name>, results are JSONP
    • The callback name must consist of characters in the set [_.a-zA-Z0-9]
    • Query parameters provided to jsonpeer are used when doing the upstream request
    • HTTP headers are discarded in both directions
    • Results are cached for 5 minutes on memcache before being re-fetched
    • Upstream results must be valid JSON
    • Upstream results must have Content-Type application/json or text/plain
    • Upstream results must be under 500kb
    • Both http and https work; just tweak the URL and the path accordingly

    Have fun if you need it, and please get in touch before abusing it.

    UPDATE: The service and blog post were tweaked so that it defaults to returning plain JSON with CORS enabled, thanks to a suggestion by James Henstridge.

    Read more
    Joseph Salisbury

    Meeting Minutes

    IRC Log of the meeting.

    Meeting minutes.

    Agenda

    20130521 Meeting Agenda


    ARM Status

    Q/master: lp1176977 (“XFS instability on armhf under load”) – working with
    upstream on this one: i already backported a fix that turn the vmalloc() exhaustion
    and fs shutdown to an -ENOSPC error, and this second error seems to be triggered
    by the tiny fs used in these tests (~2GB). Still working to get it
    properly fixed.
    R/master: lp1171582(“[highbank] hvc0 getty causes random hangs”) -
    the jtag console has a 1-char producer-consumer buffer and if there’s no
    real hw attached to the board, any subsequent write turn into an endless loop
    waiting for a consumer. The situation is worsened by the fact
    that before writing to this register a tty spinlocked is taken, and
    any subsequent tentative to pick this spinlock makes the thread hang -
    got a confirmation of the problem, some info about the hw, and i’m working on this.


    Release Metrics and Incoming Bugs

    Release metrics and incoming bug data can be reviewed at the following link:

    • http://people.canonical.com/~kernel/reports/kt-meeting.txt


    Milestone Targeted Work Items

    The burn down charts have not yet been reset for 13.10, so disregard the
    second link posted abovefor now. I’ll be cleaning up and adding work
    items for 13.10 so that the +upcomingwork link will be more accurate.
    Next week I’ll have the usual nag table available.


    Status: Saucy Development Kernel

    For now, we’ll plan on targetting the v3.10 kernel for Saucy but will
    strongly re-evaluate a move to v3.11 in the coming months. We’ve just
    rebased Saucy to v3.10-rc2 and are still cleaning up some of the
    carnage. I don’t anticipate we’ll upload until a later -rc which will
    hopefully provide more stability.
    Importand upcoming dates:
    Thurs June 20 – Alpha 1 (opt in)


    Status: CVE’s

    == 2013-05-21 (28 days) ==
    Currently we have 63 CVEs on our radar, with 8 CVEs added and 17 CVEs retired in the last 28 days.
    See the CVE matrix for the current list:

    • http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html

      Overall the backlog has decreased slightly this week:

    • http://people.canonical.com/~kernel/status/cve-metrics.txt

    • http://people.canonical.com/~kernel/cve/pkg/CVE-linux.txt


    Status: Stable, Security, and Bugfix Kernel Updates – Raring/Quantal/Precise/Oneiric/Lucid/Hardy

    Support for Oneiric and Hardy expired on May 9th.
    Status for the main kernels, until today (May. 21):

    • Lucid – In Testing;
    • Precise – In Testing; 2 upstream releases;
    • Quantal – In Testing; 2 upstream releases;
    • Raring – In Testing; 3 upstream releases;
      Current opened tracking bugs details:
    • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

      For SRUs, SRU report is a good source of information:

    • http://people.canonical.com/~kernel/reports/sru-report.html

      Future stable cadence cycles:

    • https://wiki.ubuntu.com/RaringRingtail/ReleaseInterlock


    Open Discussion or Questions? Raise your hand to be recognized

    Thanks everyone

    Read more
    bigjools

    An update on my progress.  I’m now taking all of Plaquenil (hydroxychloroquine), Akamin (minocycline) and Bactrim (sulfamethoxazole and trimethoprim).  The latter one is relatively new and is to treat the Bartonella co-infection that I have.

    I’m not sure if it’s the drugs, the disease or a new herx, but my pericarditis pain is now at new levels and is accompanied with extreme light-headedness to the point of almost losing consciousness.

    In addition, I am getting some peeling skin as a side-effect from the Bactrim so I need to reduce its dose.

    This disease sucks.


    Read more
    Bofu Chen

    Hello world!

    Welcome to Canonical Voices. This is your first post. Edit or delete it, then start blogging!

    Read more
    bigjools

    Co-Infection

    It turns out I have a co-infection of Bartonella which is most likely to be the thing responsible for the pericarditis.  I get to start on Bactrim this week.  Lovely.

    In other news, I have a second herx starting. :(


    Read more
    bigjools

    Herx Force One

    ImageI appear to be having a major “herx” reaction to my meds. This is apparently “good” because it means the drugs are working.

    Basically, it’s a result of the bacteria dying and spilling their guts into my blood stream – their guts are basically endotoxins to which my immune system suddenly goes “WOOOOAAA!” and kicks off a massive street fight in my body. The symptoms of that are basically huge headaches, mental confusion, fatigue and insomnia. I can say without reservation, yes, they are the fucking symptoms.


    Read more
    Joseph Salisbury

    Meeting Minutes

    IRC Log of the meeting.

    Meeting minutes.

    Agenda

    20130423 Meeting Agenda


    ARM Status

    R/master: fixed lp1169956 (“highbank: reboot doesn’t work reliably”), working
    o/
    on lp1171582(“[highbank] hvc0 getty causes random hangs”) now.


    Release Metrics and Incoming Bugs

    Release metrics and incoming bug data can be reviewed at the following link:

    • http://people.canonical.com/~kernel/reports/kt-meeting.txt


    Milestone Targeted Work Items

    The above summarizes the remaining work items for the 13.04 cycle. None
    are critical for the 13.04 release and some of the mobile/phablet
    related items will roll forward to 13.10.

       apw    foundations-r-secure-boot    1 work item   
          foundations-r-aarch64    1 work item   
          foundations-r-upstart-user-session-enhancements    1 work item   
       ogasawara    hardware-r-kernel-config-review    1 work item   
          mobile-power-management    1 work item   
       sforshee    foundations-1303-phablet-kernel-maintenance    1 work item   


    Status: Raring Development Kernel

    We are 2 days from 13.04′s release. All kernel patches submitted must
    adhere to our SRU policy. Only critical bug fixes necessary for the
    13.04 release will warrant an upload at this time. There are currently
    no plans for a 0-day SRU kernel either.

    Important upcoming dates:

    • Thurs Apr 25 – Ubuntu 13.04 Final (2 days)


    Status: CVE’s

    == 2013-04-23 (weekly) ==
    Currently we have 81 CVEs on our radar, with 18 CVEs added this week.
    See the CVE matrix for the current list:

    • http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html

      Overall the backlog has decreased slightly this week:

    • http://people.canonical.com/~kernel/status/cve-metrics.txt

    • http://people.canonical.com/~kernel/cve/pkg/CVE-linux.txt


    Status: Stable, Security, and Bugfix Kernel Updates – Quantal/Precise/Oneiric/Lucid/Hardy

    • Lucid – In Verification; (14 commits)
    • Precise – In Verification; 2 upstream releases; (170 commits)
    • Quantal – In Verification; 2 upstream releases; (225 commits)
      Precise and Quantal had multiple regressions during verification.
      One regression has been isolated to an i915 patch which has been reverted
      The other is almost completely bisected.
      When complete, Precise and Quantal will be respun.
      Current opened tracking bugs details:
    • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

      For SRUs, SRU report is a good source of information:

    • http://people.canonical.com/~kernel/reports/sru-report.html

      Future stable cadence cycles:

    • https://wiki.ubuntu.com/RaringRingtail/ReleaseInterlock


    Open Discussion or Questions? Raise your hand to be recognized

    There was a question about what’s going on the arm side.
    The question was rather open ended, so further discussion was moved to #ubuntu-kernel.
    The following patch was also discussed: http://cgit.freedesktop.org/~mlankhorst/linux/commit/?id=ae7b687c2a57ec50a9d3dde7b0a80a262fdc8c8
    It was requested that a bug is opened, and a SRU request can be submitted.

    Read more
    bigjools

    Headaches

    I’ve been experiencing bad headaches all week and today’s is awful.  I don’t know if it’s the drugs starting to work and causing a herx or if I just have a headache from the disease. 400mg of Ibuprofen 2.5 hours ago hasn’t helped much :(


    Read more
    Joseph Salisbury

    Meeting Minutes

    IRC Log of the meeting.

    Meeting minutes.

    Agenda

    20130416 Meeting Agenda


    ARM Status

    R/master: found a fix for lp1168039 (“highbank: network corruption”) and
    lp1166956 (“[highbank] Oops: PC is at pl330_irq_handler+0x21c/0x3b0 [pl330]“),
    still working on the reboot issue on highbank (but i tracked it down to a pl310
    errata).
    R/nexus4: sent a config diff that made our nexus4 kernel work with the phablet
    image.
    ppisati, will the highbank fixes make it today ?
    rtg: nope, i wanted to send them all together when i’ve fixed the reboot issue too
    tomorrow is last upload before release


    Release Metrics and Incoming Bugs

    Release metrics and incoming bug data can be reviewed at the following link:

    • http://people.canonical.com/~kernel/reports/kt-meeting.txt


    Milestone Targeted Work Items

    The above summarizes the remaining work items for the 13.04 cycle. None
    are critical for the 13.04 release and some of the mobile/phablet
    related items will roll forward to 13.10.

       apw    hardware-r-kernel-config-review    1 work item   
          hardware-r-delta-review    2 work items   
          foundations-r-secure-boot    1 work item   
          foundations-r-aarch64    1 work item   
          foundations-r-upstart-user-session-enhancements    1 work item   
       ogasawara    hardware-r-kernel-config-review    1 work item   
          hardware-r-kernel-version-and-flavors    1 work item   
          mobile-power-management    1 work item   
       sforshee    foundations-1303-phablet-kernel-maintenance    1 work item   


    Status: Raring Development Kernel

    We are now in Kernel Freeze for 13.04. All patches submitted must
    adhere to our SRU policy. We do anticipate one more upload prior to
    final freeze (Thurs Apr 18).
    Important upcoming dates:

    • Thurs Apr 18 – Final Freeze (~2 days)
    • Thurs Apr 25 – Ubuntu 13.04 Final (~1 week)


    Status: CVE’s

    == 2013-04-16 (weekly) ==
    Currently we have 64 CVEs on our radar, with 5 CVEs retired this week.
    See the CVE matrix for the current list:

    • http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html

      Overall the backlog has decreased slightly this week:

    • http://people.canonical.com/~kernel/status/cve-metrics.txt

    • http://people.canonical.com/~kernel/cve/pkg/CVE-linux.txt


    Status: Stable, Security, and Bugfix Kernel Updates – Quantal/Precise/Oneiric/Lucid/Hardy

    Status for the main kernels, until today (Apr. 16):

    • Lucid – In Verification; (14 commits)
    • Precise – In Verification; 2 upstream releases; (170 commits)
    • Quantal – In Verification; 2 upstream releases; (225 commits)
      Current opened tracking bugs details:
    • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

      For SRUs, SRU report is a good source of information:

    • http://people.canonical.com/~kernel/reports/sru-report.html

      Future stable cadence cycles:

    • https://wiki.ubuntu.com/RaringRingtail/ReleaseInterlock


    Open Discussion or Questions? Raise your hand to be recognized

    No open discussion.

    Read more
    David Henningsson

    I ported my game to Ubuntu

    If you just want to play the game, here’s where you find it. Or, in a terminal window write:

    sudo add-apt-repository ppa:diwic/theblobgame
    sudo apt-get update
    sudo apt-get install theblobgame

    Then just search for “blob” in the Dash.

    The rest of this blog post is mostly directed towards game developers.
    Screenshot

    Background and motivation

    Ten years ago I finished a game called “The Blob Game”. It was a 2D platform style game, more cute than violent. My cousin had made the graphics, a level editor, and part of the game engine. I made seven levels, music, and completed the code. Back then, I was still working for a company doing closed source software for Windows, so naturally this game was a Windows game.

    A while ago I decided to try to port this game to Ubuntu. My main motivations were:

    • To see how easy (or hard) it was, given my current level of experience. Also because we currently have some undergoing efforts to make Ubuntu a better gaming platform, and what better way to do that, than to become a game developer yourself?
    • People complain that there are not enough games available in Ubuntu – I wanted to make my small contribution to help even that out.
    • Nostalgia purposes – after all, most of the work with the game was to make the levels and the artwork, rather than actual code. All of this can be reused, and it would be nice if this game could entertain a new audience.

    Overall, the experience has been good. Sure, there has been some work to do and new things to learn and conquer, but there has been very little of frustration. A fun side project!

    One of the strength and weaknesses of the Linux ecosystem is all the choices you can, and have to, make. What components do you choose to build your software on? That can be bewildering, especially if you’re new to Linux and unfamiliar what components are suboptimal for one reason or another. I would therefore like to talk you through the choices I made and why I made them. As usual, these are my own opinions, not my employer’s.

    Language: C

    To give some background, my cousin and I started programming twenty years ago. Back then, my father introduced me to Turbo Pascal, which was more powerful than the QBasic that came with DOS 5.0. Ten years later, I was using Delphi (the Windows continuation of Pascal) at my work. So the game was written in Delphi, mixed with some hand written assembly code (!).

    Was it possible to reuse the code written? I looked at the available compilers:

    • GNU Pascal. This project seems mostly abandoned, so not a stable choice for the future.
    • FreePascal. This was the main alternative, but it has its own code generator (not integrated with GCC or LLVM), so chances are it won’t keep up in the future. Also, if you need to link to a library, chances are you have to translate headers yourself.

    So; rewrite the code. In what language? My choice fell on C, for the following reasons:

    • It is a very popular language, maybe even the most popular one. It is likely to be around for a long time, and have support for new processors and architectures as they come to market.
    • It is compatible with everything. In fact, it’s what every other language tries to be compatible with (Java has JNI, Python has C extensions, etc).
    • It is what I use at work, so I know the language very well. (Both Linux and PulseAudio are written in C.)
    • I like the low memory footprint and predictability of C – you want a game to run fluently, the audio to run at a reasonably low latency, and so on. With the exception of calling functions you don’t know about, you can almost see how quick your code executes. I’m not sure how well Java, Python, and the other garbage collecting languages do in this area; so my fear might be unfounded, but at least I know C does well.

    Gaming library: libSDL

    Fortunately, the cross-platform toolkit libSDL is very well supported under Linux. I have almost only positive experiences of this library: it seems very stable. It handles graphics (window setup, fullscreen etc), input events (keyboard, mouse, gamepads just work), audio, and more. The documentation is extensive and there are plenty of examples out there. And because libSDL is already used by so many games already, most distributions make sure libSDL works on their software and hardware.

    What about OpenGL? Well, this is a 2D game, so I don’t need 3D. It is possible I could use some hardware acceleration for the scaling (the frame is rendered in 320×200, then upscaled to the screen’s resolution), but my very simple scaler seems to perform well enough. As such, there was no real need to bring in a dependency on OpenGL.

    Music library: FluidSynth

    First I’m a more than a bit biased on this dependency, as I’m one of the FluidSynth developers. However, the reason I first got involved with FluidSynth was that I wanted to use it in a game, and needed to fix something in the library…

    FluidSynth is a softsynth – it takes MIDI data and a soundfont, and gives you rendered audio as a result. This has the drawback that you need to download a soundfont too, and the only one available in the Ubuntu archive is > 100 MB. The good thing is that FluidSynth is very embeddable into many different kinds of applications, so taking the audio output, mixing it with sound effects, and then send it to the sound card (with libSDL) was easy. It is also easy to manipulate the MIDI in real-time – in this game I’ve used it to pitch down the audio when you die.

    GUI toolkit library: glib and GTK3

    Let’s first admit it; in the Linux world we don’t have anything as stable as the Win32 API for creating windows. The two main contesters, GTK and QT, are both rewritten every five years or so. So if I, ten years from now, need to run this game again, chances are that I have to rewrite this part. The GUI is just used in the beginning though (to setup the game), so it shouldn’t be too much work.

    I chose GTK over QT here because

    • I had previous experience with GTK
    • QT adds complexities to your build system, as you need not only a C++ compiler, but also a special preprocessor to turn some special QT constructs into valid C++ code.

    Build system: simple Makefile

    In my case, my application takes a few seconds to compile. For really simple applications like this one, I find build systems such as autotools or CMake to be more trouble than what they solve. In both cases, you’ll have to learn an additional language just to specify your build dependencies. (Autotools also has a few nuisances, such as requiring some extra files to be present, and in all upper-case, such as AUTHORS or NEWS.)

    For larger projects, they make more sense though as they might help you create libraries for different platforms, give nice error messages when build dependencies can not be found, etc.

    Licensing: LGPL-2 + CC-BY-SA

    This is always a tricky and controversial subject, and I’d like to reiterate that this a layman’s thoughts on the topic and nothing else.

    • GPL is the strongest license when it comes to free software. But that also makes it a very incompatible license, it is essentially impossible to link GPL code with everything that’s not extremely weak (e g BSD) or explicitly made to fit with GPL (e g LGPL). One example of an incompatible license is MPL 1.1 – this was a quite popular license in the Delphi community, and the incompatibility with GPL was a real pain.
    • It is not obvious where the boundaries between GPL and non-GPL code can be, causing confusion in court from time to time. FSF might offer some advice on how to interpret the license; but they’re not a neutral party. In this case, I find the LGPL, the second strongest license, more clear.
    • So LGPL-2, LGPL-3 or LGPL2+? Well, to me, any “at your option, any later version” clause is out of the question; for me, that’s essentially the same as giving your code away to the FSF as they can relicense your code any way they wish. And LGPL-2 is shorter than LGPL-3 because LGPL-3 includes the full GPL-3 license code, too.
    • LGPL-2 is suitable for code, but not for data. So music, graphics and levels are licensed under CC-BY-SA. I was considering adding “non-commercial”; but the border between commercial and non-commercial can be fluid, and might also be a problem with the DFSG, so I skipped that part.

    Update: Seems I didn’t read closely enough – LGPL-2 has a GPL-2+ clause, now making it possible for the FSF to relicense my code by making a new GPL version.

    I also downloaded new sound effects (which is the only part not completely made by myself or my cousin), to make sure there was no licensing problems with those.

    Getting it into the Ubuntu Software Center

    Unfortunately, this does not currently work for free applications. While adapting my packaging to fit the requirements was relatively straight-forward, and also walking through the dialogs for app submission, when all this work was done, I was met by the following message:
    Thank you for submitting a gratis Free Software application through MyApps. At this time we are unable to process this request, as we are working on the implementation of a new app upload process.
    Bummer.
    Disappointing message.

    A packaging tip

    While we’re on the topic of packaging, let me just share a quick tip. If you’re new to Debian packaging (the system used in Ubuntu), and just want to package your own app, one thing to think about is that the packaging system was designed for having coders and packagers belong to separate organisations. So that means, that if you during packaging find a bug in your code, you’re meant to make a temporary patch, send that the coder, who will then make another release of the non-packaged software, which you will then package. In practice, this is a bit heavy-weight if you’re just one person and don’t keep packaging and code apart, so I used the following shortcut:
    tar -cjf theblobgame_0.20130202.orig.tar.bz2 --exclude=debian theblobgame-0.20130202
    If you fixed something in the code and want to work on the packaging, the command above will create a new “code release” from the packaging system’s point of view.

    …and finally, it’s free software!

    This means you’re allowed not only download and run this game, but also look at the code, copy-paste parts into your own game (under the terms of the LGPL-2!) or just use for inspiration. You can fix a bug or a feature and send me patches (or publish the modified code yourself), etc. Enjoy!

    Update: Someone asked me how to get the source, so here’s a quick howto:
    If you have executed the lines in the top of this blog post, just change into a suitable directory and execute “apt-get source theblobgame”. Before you build, you can use “sudo apt-get build-dep theblobgame” to automatically install all build dependencies. Building can be done with “dpkg-buildpackage -b” (from the source code directory). Then install the resulting .deb package (“sudo dpkg -i theblobgame_version.deb”) to test.

    If you’re not running Ubuntu/Debian, you can get the source from going to the PPA page, click “View package details”, click one of the arrows on the left side in the table, and download the file ending with “orig.tar.bz2″.

    Disclaimer: This does not mean that the source is written by the book, with lots of helpful comments, etc. The game engine is mostly a quick translation of the code as it looked like ten years ago, with new glue code added for interfacing with the libraries I now depend on.

    Read more
    Joseph Salisbury

    Meeting Minutes

    IRC Log of the meeting.

    Meeting minutes.

    Agenda

    20130409 Meeting Agenda


    ARM Status

    nothing to report this week.


    Release Metrics and Incoming Bugs

    Release metrics and incoming bug data can be reviewed at the following link:

    • http://people.canonical.com/~kernel/reports/kt-meeting.txt


    Milestone Targeted Work Items

    The above summarizes the remaining work items for the 13.04 cycle. I
    will begin assigning some of the ckt phatblet-kernel-maintenance work
    items to specific individuals on the team who are already doing the
    work.

       apw    hardware-r-kernel-config-review    1 work item   
          hardware-r-delta-review    2 work items   
          foundations-r-secure-boot    1 work item   
          foundations-r-aarch64    1 work item   
          foundations-r-upstart-user-session-enhancements    1 work item   
          foundations-1303-phablet-kernel-maintenance    1 work item   
       ckt    foundations-1303-phablet-kernel-maintenance    6 work items   
       ogasawara    hardware-r-kernel-config-review    3 work items   
          hardware-r-kernel-version-and-flavors    1 work item   
          mobile-power-management    3 work items   
       ppisati    hardware-r-kernel-config-review    1 work item   
       rtg    hardware-r-delta-review    1 work item   
       sforshee    foundations-1303-phablet-kernel-maintenance    1 work item   


    Status: Raring Development Kernel

    Coming off Beta Freeze last week, we have since rebased Raring to the
    v3.8.6 upstream stable kernel and uploaded. With Kernel Freeze in
    ~2days, we will perform one more upload prior to Kernel Freeze. All
    patches submitted after Kernel Freeze must adhere to our SRU policy.
    Only critical bug fixes for the release will warrant an upload.
    Important upcoming dates:

    • Thurs Apr 11 – Kernel Freeze (~2 days)
    • Thurs Apr 18 – Final Freeze (~1 week)
    • Thurs Apr 25 – Ubuntu 13.04 Final (~2 weeks)


    Status: CVE’s

    == 2013-04-09 (weekly) ==
    Currently we have 73 CVEs on our radar, with 5 CVE retired this week.
    See the CVE matrix for the current list:

    • http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html

      Overall the backlog has decreased slightly this week:

    • http://people.canonical.com/~kernel/status/cve-metrics.txt

    • http://people.canonical.com/~kernel/cve/pkg/CVE-linux.txt


    Status: Stable, Security, and Bugfix Kernel Updates – Quantal/Precise/Oneiric/Lucid/Hardy

    Status for the main kernels, until today (Apr. 9):

    • Lucid – In Prep; (14 commits)
    • Precise – In Prep; 2 upstream releases; (170 commits)
    • Quantal – In Prep; 2 upstream releases; (225 commits)
      Current opened tracking bugs details:
    • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

      For SRUs, SRU report is a good source of information:

    • http://people.canonical.com/~kernel/reports/sru-report.html

      Future stable cadence cycles:

    • https://wiki.ubuntu.com/RaringRingtail/ReleaseInterlock


    Open Discussion or Questions? Raise your hand to be recognized

    No open discussions.

    Read more
    racarr

    Current Projects!

    Have been putting off writing another post! Some nonsense about trying to crystallize thoughts…Found myself with some extra time during the work day and thought I would take some time to write about what I am working on over the last few weeks!

    Currently my two largest areas of focus are:

    1. Client Side Input

    2. Preparation for Unity Next (Inprocess EGL)

    Client Side Input

    Conceptually this is exactly what it sounds like: Deliver input events (key, touch) to Mir clients! Over the last few months we’ve been working to adapt an isolated version of the Android input stack in to the Mir code base. Now that all the building blocks are coming together under test some exciting things are starting to happen. Last week code landed to hook the input dispatch subsystem (previously only functioning as a server side event filter) to the shell focus model, i.e. Which application gets which key events?

    This week I am working on a pending branch for the client side API for receiving input. With this in place you can run a mir server today and receive input all the way to clients. It was pretty exciting to see the first full stack key events pass acceptance test!

    I spent some time too working on Qt Mir support to enable input. Prior to the stabilization of the Ubuntu touch code there qmir was created as it’s own QPA plugin and has served us well! However now the QtUbuntu plugin from the Phone and Tablet images has become a lot more mature and come to contain a lot of useful code! So I have made a version of QtUbuntu which works on top of Mir through abstracting the Ubuntu Platform API and providing a libmirclient-based implementation.

    I’d still like to write a post describing Input in Mir end to end. I think there are a lot of interesting observations (mostly not made by me ;) ) at every level of the stack from androidinput, to Mir, to Qt, which change the problem from an un-tangleable FUD bubble to something as simple as it conceptually sounds: Read input events from physical devices and route them where needed :) . Hard to find the time for technical writing though.

    Preparation for Unity Next

    On a separate line I have been working to prepare Mir for the rendering needs of Unity next. Namely, Unity (using mirserver as a library) will wish to create surfaces and EGL contexts for rendering certain shell components (such as the Launcher or the Dash). It would be a shame (and get in the way of certain other requirements) for this to happen over the IPC protocol!

    A pipeline has been in the works the last few weeks to enable this: The interface between mesa-egl-platform-mir-server was abstracted through a NativeDisplay interface with both client and server implementations. Now with pending work the same Mesa backend can work for in and out of process clients.

    Using the same QtUbuntu backend mentioned before, I played around with an in-server implementation of the platform API to get a quick QML demo going up using in-server rendering!

    The End

    Quick! hit publish before I get caught in endless revisionism.

     

    Read more
    Joseph Salisbury

    Meeting Minutes

    IRC Log of the meeting.

    Meeting minutes.

    Agenda

    20130402 Meeting Agenda


    ARM Status

    No update this week.


    Release Metrics and Incoming Bugs

    Release metrics and incoming bug data can be reviewed at the following link:

    • http://people.canonical.com/~kernel/reports/kt-meeting.txt


    Milestone Targeted Work Items

    The above summarizes the remaining work items owned by individuals on
    our team for the rest of the 13.04 cycle.

       apw    hardware-r-kernel-config-review    1 work item   
          hardware-r-delta-review    3 work items   
          foundations-r-secure-boot    1 work item   
          foundations-r-aarch64    1 work item   
          foundations-r-upstart-user-session-enhancements    1 work item   
          foundations-1303-phablet-kernel-maintenance    1 work item   
       ogasawara    hardware-r-kernel-config-review    3 work items   
          hardware-r-kernel-version-and-flavors    2 work items   
          hardware-r-kernel-misc    1 work item   
          mobile-power-management    3 work items   
       ppisati    hardware-r-kernel-config-review    1 work item   
       rtg    hardware-r-delta-review    1 work item   
       sforshee    foundations-1303-phablet-kernel-maintenance    1 work item   


    Status: Raring Development Kernel

    Highlights from this past week include rebasing Raring to the latest
    v3.8.5 upstream stable kernel, adding Highbank support, and renaming our
    omap arm flavor to generic to better reflect is new nature of a
    mutiplatform arm kernel. We have also rebased our unstable-3.9
    branch to the latest upstream v3.9-rc5.
    Please be aware that Beta Release for Raring is fast approaching, ie
    this Thurs Apr 4. Kernel Freeze is next week on Apr 11. All patches
    submitted after Kernel Freeze must adhere to our SRU policy.
    Important upcoming dates:

    • Thurs Apr 04 – 13.04 Final Beta Release (~2 days)
    • Thurs Apr 11 – Kernel Freeze (~1 week)


    Status: CVE’s

    == 2013-04-02 (weekly) ==
    Currently we have 73 CVEs on our radar, with 7 CVE retired this week.
    See the CVE matrix for the current list:

    • http://people.canonical.com/~kernel/cve/pkg/ALL-linux.html

      Overall the backlog has decreased slightly this week:

    • http://people.canonical.com/~kernel/status/cve-metrics.txt

    • http://people.canonical.com/~kernel/cve/pkg/CVE-linux.txt


    Status: Stable, Security, and Bugfix Kernel Updates – Quantal/Precise/Oneiric/Lucid/Hardy

    Status for the main kernels, until tiday (Feb. 26):

    • Hardy – Nothing this cycle
    • Lucid – In Prep; (2 commits)
    • Oneiric – In Prep; 4 upstream releases; (100 commits)
    • Precise – In Prep; 1 upstream releases; (150 commits)
    • Quantal – In Prep; 1 upstream releases; (164 commits)
      Current opened tracking bugs details:
    • http://people.canonical.com/~kernel/reports/kernel-sru-workflow.html

      For SRUs, SRU report is a good source of information:

    • http://people.canonical.com/~kernel/reports/sru-report.html

      Future stable cadence cycles:

    • https://wiki.ubuntu.com/RaringRingtail/ReleaseInterlock


    Open Discussion or Questions? Raise your hand to be recognized

    No discussions or questions.

    Read more