Exploring Software: openSUSE Tumbleweed Rolling Distribution Goes Mainstream

Openstack Suse

Tumbleweed time!

Here is a record of my initial explorations and findings about the recently released openSUSE rolling distribution repository, Tumbleweed, as experienced on a netbook.

I almost bought an Android phone. I hesitated, wondering whether it would be upgradeable to 2.2 or 2.3?  I am not in the habit of changing phones even once a year. So, I got myself a phone that is, well, “just a phone”. Upon reflection, all I needed was the ability to receive calls and SMS messages and, rarely, make some calls. If I couldn’t upgrade the software versions, its value as a playground for experimenting with mobile applications was very limited.

Desktop distribution versions can be equally frustrating. For several years, I have felt that while version upgrades may be very useful for proprietary distributions, they are counter-productive for open source options.

For over a year, I have had Arch Linux on a couple of systems, using the most recent versions of various applications with no issues and no upgrade hassles. Sadly, the rumours of Ubuntu moving to a rolling distribution turned out to be incorrect.

Rolling distributions are not unknown to mainstream distributions. openSUSE’s Factory repository or Fedora’s rawhide repositories are rolling distributions. The problem with them is that they are unstable. There have been some implicit assumptions about distributions, like:

  • Anyone wanting a rolling distribution wants to be on the bleeding edge.
  • A 6-month release cycle is a reasonable compromise between the need to be current, and the goal of stability.

The release dates are arbitrary. The versions of packages that make it to a particular distribution are arbitrary decisions. For instance, it is entirely possible that not all packages within a distribution are stable; or that a stable version of a package is available but is not included in the recent/supported distribution; or that synchronising release cycles with upstream package release cycles is not a workable option, or any other reason.

Ubuntu encourages the use of PPAs to be selectively “rolling”, but the mindset remains that of frozen “stable” distributions. Hence, it was a pleasant surprise to read that openSUSE was releasing Tumbleweed along with the openSUSE 11.4 versions. The Tumbleweed repository would be a rolling release.

Moving to Tumbleweed

So, what do you need to do to try it? The machine I was going to install Tumbleweed on was a Lenovo S10-3 netbook. I was going to use the Plasma Netbook Workspace, which is what I used with Arch Linux and Fedora on this system. You obviously do not need to stick to a netbook or the KDE desktop. However, you do need to start with an openSUSE 11.4 distribution.

Various possibilities are available on the openSUSE website but I used the KDE LiveCD. After installing the 11.4 distribution, you need to follow the steps shown at the Tumbleweed portal. Using zypper instead of yum or pacman isn’t hard. The key process is:

zypper dup --from Tumbleweed

And pretty soon, a number of new packages like the 2.6.38 Linux kernel will replace the versions from the 11.4 repositories with those available in the Tumbleweed repository. You may enable additional official repositories, as described on the openSUSE package repositories page. You can also add the Packman repository for the additional codecs and applications. I needed it for Miro.

The Tumbleweed repository is built on top of the 11.4 repositories. Only the packages that have changed are present in it. Over time, as more packages deviate from the 11.4 version, they will get incorporated into Tumbleweed. We will have to wait and watch what happens when 11.5 12.1 is released; would all the packages be incorporated in Tumbleweed, or would you need to replace the 11.4 repositories with those for 11.5 12.1?

Supporting a rolling distribution and stable releases, approximately twice a year, adds to the complexity from the perspective of both developers and users. Hopefully, Tumbleweed will dominate and win!

The problem with packages being in multiple repositories also introduces the problem of which ones to search for updates. openSUSE follows a policy of not permitting “vendor” change, by default, while installing updates. Each repository has a vendor code associated with it. The possibilities and options are described here. In your case, the vendor code for Tumbleweed is different from that of the openSUSE official repositories.

This means that zypper update will not update packages that have been newly added to Tumbleweed. You need to again run zypper dup --from Tumbleweed. A solution was suggested on the mailing list, like the one used by the Evergreen project to extend the life of openSUSE 11.1. Create a file /etc/zypp/vendors.d/tumbleweed with the following content:

vendors = obs://build.opensuse.org/openSUSE:Tumbleweed,suse,opensuse

Here, obs://build.opensuse.org/openSUSE:Tumbleweed is the vendor code of the Tumbleweed repository. The list of vendors ensures that the specified vendors are treated as one common group. Hence, any new additions to the Tumbleweed repository will now be updated without any special effort on your part.

So far, using openSUSE Tumbleweed has worked well for me. The KDE environment is consistent across Arch Linux, Fedora and openSUSE, which I have used on the Lenovo Netbook. The one disappointment has been that while openSUSE’s Updates repository distributes delta RPM packages, the Tumbleweed repository does not. The frequent updates of LibreOffice packages does create a barrier to daily updates. I am hoping that the developers will add delta RPMs to the Tumbleweed repository as well — but, unfortunately, bandwidth issues are not a significant concern in the developed world.

The benefits of Tumbleweed will be clearer as one uses it for at least a year. I expect it to be similar to the Arch Linux experience. Hence, the Canterbury Distribution, which was the April Fool joke this year, may indeed be the one true answer!



Please enter your comment!
Please enter your name here