Nov 13, 2011

What has changed since RC2 in openSUSE 12.1?

Just three more days until the release of openSUSE 12.1. Last Friday, 11th of November, Coolo declared 12.1 as golden and the openSUSE community is now busy pushing out everything to the mirros and reworking the openSUSE web pages for the launch. If you like more information about openSUSE 12.1, check the openSUSE 12.1 Portal.
Since the release of RC2 quite a number of bugs have been fixed. During the RC phase and especially after the last RC, Coolo pushes for bugs that cannot be fixed with an online update, thus bugs that break initial installation, installed defaults and the update applets.

The following fixes for the installation were done:
  • A number of packages have been missing on the DVD and thus lead to failures installing packages, failures when running yast without network access or missing translations. In total 998 additional packages have been added on the x86-64 DVD and thus increasing the media size by 400 MB. The x86-64 DVD now contains 4605 packages
  • Translation updates for YaST, slideshow and package descriptions
  • udev: Fix deadlock that lead to hanging installations
  • patterns: Install gnome-shell-extension-alt-status-menu on GNOME.
  • yast2-packager: Fix handling of small partitions
  • yast2-installation: 
    • Take care that network is available directly after boot; 
    • save ssh ecdsa copies from old install; 
    • fix deadlock with systemd
  • permissions: Disable fscaps handling - this fixes ping not working on Live media for normal users
  • yast2-iscsi-client: improve discovery
  • systemd: Fix rpm macros to only call presets on initial install
  • libstorage, the library used by YaST to handle partitions and storage:
    • improve detection of /home partition
    • fix crashes
    • fix fstab handling when mount-by-uuid partition is reformatted
    • fix crash when deleting multipath volumes
  • yast2-storage:
    • add nofail for fstab entries on USB, ISCSI and FCOE disks
    • reserve more space for buttons
A number of packages that are not necessarily relevant for installation have been checked-in with fixes as well:
  • Apper: Teach it handling of licenses; fix provides to handle update from 11.4
  • Chromium update to 17.0.922 which fixes a couple of bugs
  • Fix for gnome-menus to ignore invalid desktop entries that could crash gnome-shell.
  • SuSEfirewall2: Fix for systemd; Fix rpcinfo path
  • a2ps: Fix wrong parameter usage for gv in a2ps.conf
  • aaa_base: replace mtab with symlink in initrd already
  • alsactl: Fix crash and handling of Front speaker 
  • amarok: Change ksuseinstall to support the gstreamer-backend instead of the xine one
  • arpwatch-ethercodes: update to current version
  • clicfs: do not write 0 bytes
  • desktop translations: Update of translations for desktop files
  • gdm: Fix crash on login with nvidia driver
  • glib2-branding-openSUSE: Do not install security updates silently since this pops out a polkit dialog with no context for the user.
  • gnome-keyring: Fix update problem
  • gnome-settings-daemon: Fix suspend and hibernate keyboard buttons
  • kdebase4-openSUSE: Additional artwork
  • kdebase4-openSUSE: do not set a proxy by default, KDE requires root password for package updates if there is one set (even with empty variables); use libreoffice name instead of non-existing oofromtemplate
  • kdebase4-workspace: Don't corrupt Plasma's global config from Power Management; kdm: don't even look for grub-set-default, we won't need it; fix crash when gpsd is not running
  • kernel-source: Add Elantech touchpad v3/v4 support; Xen fixes; alsa fixes
  • kiwi: Various fixes
  • less: correctly recognize xz compressed data  
  • libreoffice-branding-openSUSE: added branding for openSUSE-12.1
  • libzypp: Do not set "keep packages" enabled by default on repositories; update translations
  • lightdm: Update to 1.06, fix a security problem
  • lxc: Teach Linux Containers about openSUSE 12.1
  • mariadb: Fix rpm scripts
  • mkinitrd: Revert the NO_KMS_IN_INITRD -> KMS_IN_INITRD rename, it breaks other scripts for no good reason
  • mozilla-nss: explicitly distrust DigiCert Sdn. Bhd; fix security bug
  • mysql-community-server: Fix rpm scripts
  • nagios-plugins-zypper: Handle openSUSE 12.1
  • nspluginwrapper: No need to handle flash-player anymore since a 64-bit x86-64 version exists.
  • openexr: minor fixes
  • pam_ssh: Avoid blocking ssh-agent
  • pdsh: Update to 2.26 to fix bugs
  • php5: security update
  • polkit: add support for org.freedesktop.policykit.imply, disable debug spam and allow unprivileged users to query authorizations
  • postfix: systemd related fixes
  • release-notes-opensuse: Enhanced, update translations
  • rfc: update to current version
  • samba: handle missing AppArmor snippets
  • sysctl: Fix a bug where ejecting optical drives caused immediate re-close of tray and knotify crash
  • timezone: update to 2011n to handle new summer time changes
  • util-linux: dmesg: fix printing of multibyte characters;do not run fsck on file systems that have no partitioner
  • v8 update to 3.7.3.0 to fix a couple of bugs  
  • xorg-x11-server: Fix X server crash with record extension
  • yast2-trans: Update yast2 translations for da de el es fi fr gl hu it ja pl ro uk.
  • zypper: update translations
For full details of the changes incl. bugzilla numbers, check the opensuse-commit mailing list archives. Further fixes have been done and will be available as online updates soon.


Thanks to all those that tested RC2, reported bugs and fixed the problems!
If you're running RC2, you will get these changes as patches - to test the update stack - from the update repository or you can update from the oss repository via "zypper dup".

Nov 8, 2011

openSUSE 12.1 on the road to Goldmaster - and one bug more fixed

Several people have reported in the past that during installation the system hangs "forever" (see bug bnc#722858) starting udev. The problem was that this did not appear reproduceable. It appeared once on my machine and when I brought the machine to Steffen to help debugging, I couldn't reproduce it. After some more tries, it was reproduceable but not everytime. Steffen initially thought it was a kernel race with module loading and thus we added "maxcpus=1" to the kernel command line. This made the bug less likely but it still happened. But now Christian, Coolo and myself had each a machine for reproduction and figured out that udevadm was waiting for some events and timing out after 10 minutes as that was the timeout in the installation system. So, one idea was to use the normal 30s as timeout so that fewer people noticed. In the end Coolo found the culprit: A bug in udev that got fixed in upstream udev a month ago that we got with a udev update a couple of months ago. Coolo fixed this with a new udev package that has been updated for 12.1 now. So, these hangs might have not only happened during installation but also at normal booting and I'm glad that Coolo decided to hunt down this bug.

Yeah, it's fun to debug bugs (if you're successfull) - especially if they are tricky and kind of Heisenbugs. My test machines did 30+ reboots for testing - and will do more tomorrow to check that the issues is really fixed.

Btw. besides this, a lot of other bugs have been fixed since openSUSE 12.1 RC2, see the list of checkins for 12.1 on the opensuse-commit mailing list.

Oct 25, 2011

openSUSE at Lange Nacht der Wissenschaften

Last Saturday Nürnberg and other cities in the region had the so called "Lange Nacht der Wissenschaften" (literal translation: Long night of sciences). During this night - from 18:00 until 1:00 in the morning - over 1000 events took place to show what's happening in companies and research institutions. The event was visited by over 28000 visitors.
The Georg-Simon-Ohm University was so kind to invite openSUSE as a guest on their side for this event. A group of SUSE employees volunteered to present openSUSE.
Jürgen brought his trebuchet with him and put it in front of the main entrance. A trebuchet is a medieval war machine (catapult) and he had build a smaller version for himself. Instead of demonstrating the proper use of the machine - destroying city walls with throwing stones -, we throw small geekos into the crowd that mainly consisted of kids trying to catch the geeko while their parents were looking interestingly at the machine and were sent to our room to get more infos about the machine and open source.
In the room, we gave one of the following four presentations every 30 minutes: Introduction to OpenStreetMap by Christopher Hofmann, digital photo processing by Stephan Barth, simulation of an medieval war machine by Jürgen Weigert and 20 years of Linux by Andreas Jaeger. Jürgen explained how the trebuchet works and how it can be calculated and then demonstrated - using free software - how to simulate the machine and figure out how far it can throw.
We also had our two presentation desktops to showcase open source software - openSUSE 11.4 and it's applications - and a tablet showing Plasma Active.
We explained open source and openSUSE to the many people that visited us and also gave away the openSUSE 11.4 DVDs.
There were a lot of conversations: A visitor that wanted to argue that Windows' Powershell is far better than anything else. When Werner, our shell expert, asked him what he prefers to bash or tcsh, it became clear that he had never checked them out.
I talked with some students that want to become teachers and explained them openSUSE education and how free software makes it easy for them to teach - it gave them a different perspective.
It was a great night for all of us!

Sep 16, 2011

openSUSE Conference 2011 is over - Photos uploaded

The openSUSE conference is now over. It was a really great event and I loved to meet many friends in person that I have only met online before like Manu and Kostas. As one of the co-organizers of the event, it was a lot of work and the reward was great! I'm happy to have been part of such a great team organizing osc11. Yesterday and today a couple of us spend cleaning everything up and I'm now exhausted, so I only write this short article to point out the photos I've taken. More next week...



I've taken many photos - like the group photo - and uploaded them to my gallery, and I hope you enjoy them.
Also, an article by The H is online based on a conversation I had with Andrea Müller from The H.

Sep 2, 2011

openSUSE Factory Progress 2011-09-02

This week saw the release of Milestone 5 of openSUSE 12.1. This is the last milestone, next comes on 22nd of September Beta1 with a check-in deadline for packages on the 16th of September (see the roadmap for details).

Major package checkins

In the last two weeks 457 package checkins were done for openSUSE:Factory. The legal queue is very small and contains only 7 packages including two large packages: chromium which might end in Factory and LibreOffice 3.4 - with a large tarball instead of many smaller ones.  LibreOffice has 110.000 files, so the legal review will take some time.

Out of the 457 package checkins, I'll only highlight a few below. Quite a few package checkins were to fix build failures from the --no-copy-dt-needed change and on improving systemd support in openSUSE.

Focusing on OpenJDK - Sun/Oracle JDK will not be in 12.1

Up to now, openSUSE users had the choice of using openJDK (GPL with classpath exceptions) or Sun/Oracle's Java. The Sun/Oracle Java was licensed under the "Distributor's License for Java (DLJ)", which allowed Linux distributors to package and redistribute Sun/Oracle Java. Recently, Oracle announced that openJDK 7 is the new official reference implementation for Java SE7. They no longer see the need for the DLJ licensed Java implementation and so have retired that license.
openSUSE chooses to proceed with distributing the GPL licensed official reference implementation, openJDK. We will no longer distribute newer versions or updates of the now proprietary licensed Sun/Oracle JDK. Existing installations of the Sun/Oracle JDK are still licensed under the now retired DLJ.
openSUSE users who wish to continue using the Sun/Oracle JDK (including new versions thereof and updates) should now download directly from http://www.oracle.com/java.
For now we keep the current sun-java packages (under the DLJ license) in the Java:sun:Factory project and will not update them anymore.
I suggest to document in the openSUSE wiki how to install the Sun/Oracle JDK version from Oracle under openSUSE.

Fallout from --no-copy-dt-needed change

The change to use --no-copy-dt-needed in the linker (see my last blog post) caused around 80 falling packages. The obs project <a href="http://is.gd/3EUd48">openSUSE:Factory:Staging:DtNeeded</a> has all the packages that need fixing. As usual, help in fixing failing packages is more than welcome!

Zypper has now gpgchecks enabled again

Michael Andres fixed a bug in zypper where repositories were created by default with checking of gpg signatures disabled. His email explains how to fix repositories. The fixed package is now in factory.

Other interesting bits

SUSE developers changed default email addresses

As part of the new SUSE branding, many developers will now use in tools like openFATE and bugzilla their email addresses as was recently announced. This has no implication on which adress you use for sending emails, just if you want to add somebody to an existing bugreport or feature, you might need to use now "user@suse.com" instead of the previous "user@novell.com".

Release note entries

Karl Eichwalder writes the release notes and reminded that besides opening a bugreport against the component "Release Notes", you can also add release notes to openFATE and he will then collect them. To make great release notes, please tell Karl about important changes.

openSUSE conference coming

Next week we're going to setup the venue for the openSUSE conference. If you haven't registered, please do so now. We also do need help to run and setup the conference, please sign up at the volunteer page.
This year's conference also has a code of conduct and I advise to read and follow it to help to create an environment where people feel accepted and welcome!

Aug 21, 2011

openSUSE Factory Progress 2011-08-21

August looks like a surprisingly busy month, we already have 709 package checkins and thus I expect we'll beat the 926 from last month. Also, there's a lot to write about since the last report.

Note that the Milestone 4 was not really released since Coolo is on vacation and we decided to make a soft release (just update via zypper dup) instead of a full release this time.

A plea: Please help documenting major changes of factory in the openSUSE wiki so that the marketing team can start speaking about openSUSE 12.1 and does not miss important features!

Policy

Supporting /var/run and /var/lock as tmpfs

To support /var/run and /var/lock as temporary filesystem (in RAM) and thus cannot packaged directly, the rpmlint checks  non-ghost-in-var-run and non-ghost-in-var-lock have been made fatal as Ludwig Nussel wrote. Bugs for the around 20 affected packages have been filed.

Shared / static library packaging policy

Sascha Peilicke is currently the main Factory reviewer and gave a reminder on packaging policies for shared and static libraries. The Factory checkin team plans to enforce these two policies for new packages.

Making --no-copy-dt-needed the default


Cristian Rodriguez revisited a discussion from April and proposed to make --no-copy-dt-needed in the linker ld the default. After this change of setting will be done upstream in binutils now, we'll soon get it as well in our distribution. Fedora, Debian and Ubuntu have changed the default already, so many packages should be fixed. Fedora has some background on the change in their wiki.

Major package checkins


SystemD

The new init system SystemD has seen numerous improvements - and testing. The packaging has been changed and a systemd-devel package split up. If your package needs to build against systemd, I recommend to use "BuildRequires: pkgconfig(systemd) " so that it will work with both the splitup devel package and with 11.4.
A couple of bugs - some of them freshly introduced - have been fixed. pam_systemd will now get enabled once systemd is running.

Frederic Crozat prposed how to handle the migration from SysV to SystemD activated files so that the same functionality - running daemons - is available after an update.

GNOME 3.1.5


GNOME is moving now to GNOME 3.1.5 (another beta release on the way to the stable 3.2.0 release) and Dominique Leuenberger reported on the major changes this brings:
The noteworthy ones are:
  • gnome-menus => Version 3.1.5 is ABI and API incompatible to the so far included version 3.0.1. A compatibility package called gnome-menus-legacy has been introduced. More details here.
  • python-gobject: python-gobject 2.90.x (on the road to 3.0) changed from the 'old' gobject bindings to pure gobject-introspection based bindings. Any application can only use one kind of binding at once. As a migration path, the old version has been renamed to python-gobject2 (as it was once in the past.. many packages still buildrequire python-gobject2-devel). python-gobject is the new gi-based binding. More details here.

Others


The ruby stack now has a few rubygems that are versioned - this means you can install more than one version of the package. The first packages are rack, builder and erubis.

New packages include duply which is a simple frontend to the backup tool duplicity and libnettle
which is a new cryptographic library. Also, the GO programming language got new 'go' packages like web.go, mustache.go, httplib.go and go-gtk.

The Mozilla packages Firefox and Thunderbird have been updated to version 6 and Seamonkey was updated as well. There have been several updates to the horde stack.

Other interesting bits


openSUSE Conference

The program for the openSUSE conference is out, and I've seen many topics related to the openSUSE distribution. Register now if you want to join us!

Looking at other distributions spec files


Greg Freemeyer asked for advice on how to find out how other distributions package a specific package. Vincent Untz gave the reference about the distributions wiki of freedesktop.org, I suggest to bookmark this one.

Aug 18, 2011

Updating glibc to 2.14 with some libtirpc fun

The GNU C Library (glibc) version 2.14 was released on the 31th of May but we haven't switched to it for openSUSE yet since one of the major changes was the obsoletion of the sunrpc code in glibc and that caused problems. The TI-RPC library (libtirpc) is the proposed replacement of the sunrpc code. One benefit of the TI-RPC library is that it supports - unlike the old sunrpc code in glibc - IPv6. libtirpc is used successfully already by a couple of Open Source projects like autofs or nfs. Unfortunately some code in libtirpc seems to be broken, like the NIS support. The package missed also some header files to make it a full replacement but those can be easily copied over from glibc. So, building everything with libtirpc instead of glibc' sunrpc code was not possible, and the libtirpc developers seemed not to be interested in helping here.

So, I've took now the same route that Fedora did and reenabled the sunrpc code in glibc again and thus everything works as before. I encourage everybody that has packages that work with libtirpc to switch to it - and help changing apps and libtirpc itself as needed so that eventually we really can obsolete glibc's sunrpc code.

Today, the updated glibc has been submitted and checked into openSUSE's Factory distribution and thus will be in openSUSE 12.1.

The new glibc contains lots of bugfixes and also these changes (full list):
New Linux interfaces: clock_adjtime, name_to_handle_at, open_by_handle_at, syncfs, setns, sendmmsg

* New locales: os_RU, bem_ZA, en_ZA, ff_SN, sw_KE, sw_TZ, lb_LU, wae_CH, yue_HK, lij_IT, mhr_RU

* New encodings: CP770, CP771, CP772, CP773, CP774

* New program sotruss to trace calls through PLTs. Implemented by Ulrich Drepper.

* The malloc hook implementation is marked deprecated and will be removed from the default implementation in the next version. The design never worked ever since the introduction of threads. Even programs which do not create threads themselves can use multiple threads created internally.

After installing the newly build library on my own system I noticed that LibreOffice crashed and added a bandaid fix that my colleague Michael Matz developed already for glibc 2.11.2 which contained a backport of the buggy change. The submitted glibc contains this fix as well.