Home Wiki > openSUSE:Evergreen
Sign up | Login

openSUSE:Evergreen

tagline: From openSUSE

This page describes the community maintenance project with codename Evergreen, that extends openSUSE Maintenance after the end of SUSE provided maintenance.


Contents


Evergreen

What is it?

"Evergreen" is a community effort to prolong maintenance of selected openSUSE versions as they reach official end-of-life and are listed among the discontinued distributions.

Supported distributions

The currently supported distributions are openSUSE 11.2 and openSUSE 11.4. Previous, current and next supported distributions can be found in the table below:

Distribution Status Support start Support end Maintainer notes
openSUSE 11.1 inactive wrosenauer Talk - Contributions Support has basically stopped meanwhile. We are still accepting updates and fixes there but nobody is watching and fixing issues.
openSUSE 11.2 active May 12th 2011 Nov 2013 lijews Talk - Contributions
openSUSE 11.4 active November 5th 2012 July 2014 wrosenauer Talk - Contributions lijews Talk - Contributions

The newest Evergreen supported release is openSUSE 11.4. Official announcement of it was made in November 2012.

openSUSE 11.1 was supported for three years in the end. That's what we want to provide at least for all future versions as well. It was also possible to provide updates for all parts of the distribution and therefore that's the goal for later releases as well.

How to activate

Version 11.4

  • In YAST or via zypper, add the update repository as outlined below and accept the new key offered.

Nothing else should be needed to make the update stack behave exactly as before with patch, delta-rpm support etc. Security patches and critical bug fixes will flow to the Evergreen enabled openSUSE 11.4 simply by occasionally running YaST Online Update or "zypper patch" in a root terminal.

The user/administrator should be mindful that enabled repositories other than those for openSUSE 11.4 oss, non-oss, packman and Evergreen may both introduce instabilities and YaST/zypper reported inconsistencies which will need to be settled as required for continued security and stability.

Version 11.2

  • In YAST or via zypper, add the update repository as outlined below and accept the new key offered. On 11.2 you should set the priority to 20 to match the original update repository.
  • create a file /etc/zypp/vendors.d/evergreen with the following content
[main]
vendors = openSUSE Evergreen,suse,opensuse

You can do this from the command line by cutting and pasting the below. You will need to enter the root password for sudo to complete.

cat > /tmp/tmp.evergreen << EOF
[main]
vendors = openSUSE Evergreen,suse,opensuse
EOF
sudo mkdir /etc/zypp/vendors.d
sudo cp /tmp/tmp.evergreen /etc/zypp/vendors.d/evergreen

Afterwards you should get available updates when you use sudo zypper up.

YaST's online update module does not work unfortunately since we currently have no way to create patches as needed for it.

In addition to the above update repository the distribution repositories are available on ftp5.gwdg.de:

 ftp://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.2/repo/oss/
 ftp://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.2/repo/non-oss/
 ftp://ftp5.gwdg.de/pub/opensuse/discontinued/source/distribution/11.2/repo/oss/
 ftp://ftp5.gwdg.de/pub/opensuse/discontinued/update/11.2/

The full Packman repo for 11.2 was also archived at GWDG:

 ftp://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/packman-11.2

while the Packman team thankfully is still providing the Essentials repository for Evergreen/11.2 for example here:

 http://packman.inode.at/suse/Evergreen_11.2/

They can be added to zypp using

 zypper ar URL PRETTYNAME

Remove the old distribution repositories on download.opensuse.org via

 zypper rr NAME

You can also use YaST to control your subscribed repositories.

The Packman Essentials repo continues to be build and is in the standard location. The above archive packman repository is only needed for packages not included in the essentials repo.

How to migrate

There are two possible ways to migrate to some Evergreen covered openSUSE version. The first one use online repository and is mostly covered in the following link. Another way is to use DVD (still can be taken from here) and choose Upgrade during initial screens of Install Process.

Remember - every update can be dangerous to your data, so ALWAYS backup important files.

Note: I didn't test switching from KDE3 (from Evergreen 11.1) to KDE4. If someone knows any issues please provide tips and/or warnings here.

Communication

Communication currently happens via the mailing list evergreen. This list is mainly meant for packagers and contributors but can be used by users as well. But you should be able to get help on the common openSUSE list as well.

Lead developer of the project is Wolfgang Rosenauer.

Stefan Lijewski is leading Evergreen for the 11.2 version while for 11.4 it's a combined effort.

Update Policy

An update policy is not yet in place, but in general it will align along the regular openSUSE maintenance policies.


Team members

Testing

Since we are a small community doing Evergreen we would appreciate if users could join us in testing upcoming updates. For 11.4 this just means to add the following repository to the software management

and report issues through our mailing list.

Packager information

From Evergreen:11.4 we decided to follow openSUSE maintenance workflow. So if you want to update packages for Evergreen supported distribution version which is higher then 11.2 follow steps below.

Version 11.4 and higher

Typically you just want to update some Evergreen package. Then you have to create a maintenance branch, just like for regular openSUSE project. But for Evergreen there are other attributes, where osc should look for affected packages and update project. Note: beware that the following may not work using webui. Packagers are strongly encourages to use osc command line.

The workflow should looks like this:

  • create maintenance branch:
osc mbranch -u Evergreen:UpdateProject -a Evergreen:Maintained $PACKAGE
  • check it out:
osc co home:LOGIN:branches:Evergreen_Maintained:$PACKAGE
  • now you should have sources for all Evergreen maintained projects under:
home:LOGIN:branches:Evergreen_Maintained:$PACKAGE
  • now you can update sources, add patches, test build, document changes and so on;\
  • check-in your packages to server
osc ci
  • at the end you should create or update patchinfo package:
cd home:LOGIN:branches:Evergreen_Maintained:$PACKAGE; osc patchinfo
  • fill the patchinfo using your favorite editor or webui
  • if you created patchinfo locally submit them as well
osc ci
  • at the end create maintenance incident for Evergreen project:
osc mr -a Evergreen:MaintenanceProject

Version 11.2 and lower

  • If you want to update a package osc is your best friend. Here are the steps
osc bco openSUSE:Evergreen:11.2:Test PACKAGE_TO_BE_UPDATED
  • Update source package to reflect the necessary security patches
  • the RPM Release tag must use the following format: $MAJOR.<RELEASE$MINOR> where $MAJOR is using the same number as the 11.2 version of the package and $MINOR is latest_available + 1; if the update package has a higher Version the correct Release should have $MAJOR = 0 and $MINOR = 1

i.e. What you get when you branch as above is the base Version. If that is for example 5.<RELEASE2> then the correct thing to do (in general) is to use 5.<RELEASE3>. In the case of a full version upgrade you should go for 0.<RELEASE1> though.

  • update the changes file with "osc vc" command and basically copy the changelog from your patch source
osc vc PACKAGE_NAME.changes 
  • Build the package locally
osc build --clean --no-verify PACKAGE_NAME.spec
  • Add remove local files
osc ar
  • Commit your changes to the build service
osc ci
  • Make sure the package builds in the OBS and then issue within the package directory "osc submitpac" where target project for contributors is openSUSE:Evergreen:11.2:Test
osc submitpac

The Kernel packagers update process

As of now, Evergreen 11.1 is leveraging the SLE11-SP1 kernel and the Evergreen 11.2 maintainers are evaluating the same approach.

My approach is to create a sub-project in my home project called Evergreen-11.1, then make a copy of the SLE11-SP1 kernel-source package there.


I created the home sub-project via the WEBUI.

In order to build the SLE11-SP1 kernel, you need a newer version of kbuild than Evergreen normally has. I branched a copy from openSUSE:11.3:Update:Test to use for my builds. I also did that via the WEBUI.

And then the rest from the command line:

login=JohnDoe

osc copypac Kernel:SLE11-SP1 kernel-source home:$login:Evergreen-11.1

for p in kernel-{default,desktop,pae,xen,vanilla,syms}; do
  osc linkpac -C copy home:$login:Evergreen-11.1 kernel-source home:$login:Evergreen-11.1 $p
done

It is important not to change the names of the packages in the above. Also the osc copypac can be run anytime you want to sync up with the SLE11-SP1 kernel, but the for loop only needs to be executed once to create the links.

Also, the above defaults to auto rebuild which can take a lot of OBS horsepower. It is suggested you disable builds via the WEBUI until you are ready to do a full automated build.

Regardless, once you have the above in place you can create a local copy of the kernel source package via

osc co home:$login:Evergreen-11.1 kernel-source
cd home:$login:Evergreen-11.1/kernel-source

You can now do a local test build of a specific kernel flavor. As an example:

osc build --clean --no-verify kernel-desktop.spec

Note that there are a number of specfiles in the kernel source project. Which one gets run in OBS appears to be controlled by the name of the project it is in. Thus the importance of not changing the package names in the above loop.

When doing a kernel build, it takes a while so don't be in a hurry.

The SLE11-SP1 OBS package is typically ahead of the released SLE11-SP1 kernel. The most recent patches won't have been fully qa tested by the Novell team.

Patches are controlled via resolve.conf, so editing that file in the kernel-source package will control which patches get applied in your builds.

Update status

An overview of the current update status with the fixed or improved packages is shown on the page Evergreen 11.1 and Evergreen 11.2.

openSUSE links