Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Bridging openSUSE and SLE gap: the GNOME example


Published on

Starting with (upcoming) Leap 42.2 and SLE 12 SP2, a lot of cooperation has been done to bridge gaps between the two distributions.

We'll talk of one specific example, GNOME desktop, where openSUSE and SLE teams worked together on improving our common work and how it helped both teams.

This is still a work in progress at the time of this writing, we'll be sharing what we achieved, how we did it, what failed (if it did) and how we can improve.

Published in: Software
  • Check the source ⇒ ⇐ This site is really helped me out gave me relief from headaches. Good luck!
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Bridging openSUSE and SLE gap: the GNOME example

  1. 1. Bridging openSUSE and SLE gap The GNOME example
  2. 2. The problem 2
  3. 3. The past 1/2 ● For SLE12 (SP0), we used openSUSE:Factory as a basis, after 13.1 was released, which included GNOME 3.10.3 ● Based on this, SLE desktop engineers worked on fixing bugs from customers, backporting features which were present in SLE11 and make sure user experience was acceptable for enterprise customers ● For instance, SLE Classic was written, as a modified version of GNOME Classic, but with just one panel at bottom of screen, similar to GNOME SLAB on SLE11 3
  4. 4. The past 2/2 ● Even when using openSUSE 13.1/Factory as a basis, getting GNOME 3.10 usable for enterprise customers was a huge task ● Our SUSE developers didn't always had time to submit they changes to GNOME:Factory which had already switched to 3.12.x when we were hardening 3.10.x. ● OpenQA was not yet used when SLE12 SP0 was developed ● In the end, we focused on getting SLE 12 SP0 released and decided on merging our SLE only changes after SP0 was released 4
  5. 5. So what was the problem ? ● Once SLE12 SP0 was released, people still had to cope with their regular tasks, such as L3 bug fixing (for SLE11 and newly released SP0), working on SLE11 SP4, etc.. ● For SLE12 SP1, which was a stabilization service pack (no version upgrade on the desktop), all our engineering resources were focused on developing features and fixing bugs on the existing (GNOME 3.10.x) codebase 5
  6. 6. Bridging the gap 6
  7. 7. SLE 12 SP2 goals ● From the beginning, our goal was to merge again with openSUSE and reimburse our “technical debt” ● After SLE12 SP0 was released, a new project openSUSE project was launched: openSUSE Leap. Maybe we (SUSE Desktop teams) could work in cooperation with openSUSE GNOME team ? ● SLE12 SP2 plan was to upgrade our desktop stack, to GNOME 3.18 or 3.20 (was still undecided in early stage) ● Early talks with openSUSE GNOME team regarding our plans and their plan for next Leap release: could we use same SRPM ? 7
  8. 8. Which GNOME release to pick for SP2 ? ● 3.18 : – Pro: It was already in Tumbleweed – Con: It would be already replaced by another major release in TW by the time we would be in SP2 Beta cycle – Con: Any fixes we might do might not be accepted upstream because code would be already changed ● 3.20: – Pro: Potentially the same version for next Leap (42.2) – Pro: Still in development upstream: fixes could be merged upstream as they are submitted there. – Con: a bit tight with SP2 beta schedule 8
  9. 9. Battle plan 1/2 ● Getting GNOME:Next built on SLE12 – Thanks to OBS, it was quite easy to setup a mirror of GNOME:Next project (containing GNOME 3.19.x), built on top of SLE12 SP1 – We fixed all build failures and dependencies in GNOME:Next (no code change was done in SLE12 at that time) ● With the result, it was possible to install GNOME 3.19.x (similar to openSUSE TW version) on top of SLE 12 SP1 and confirm it was OK to use it for SP2. 9
  10. 10. Battle plan 2/2 ● Setup a devel project internally – In the past, SLE desktop packages were not using a devel project (similar to GNOME:Factory) – We created such project, with our developers reviewing other developers' submissions ● Sharing the workload among developers: about 300 packages to update 10
  11. 11. “Updating” packages ● What do we mean by this: – For each of those 300 packages, merge of: ● SLE 12 codebase (ie 3.10.x + feature development + all bug fixes until now) ● GNOME 3.19.x/3.20.x codebase (ie all the changes from openSUSE Tumbleweed (3.20.x) – When possible, push patches / feature development to upstream (GNOME) 11
  12. 12. Success ? ● For SLE12 SP2 Beta1, we were able to get GNOME 3.20.1 integrated ● However, again, due to time constraint, we weren't able to get all our changes back to openSUSE GNOME:Factory by Beta1 deadline ● Discussion is now really happening between SUSE developers and openSUSE GNOME team !! ● Why didn't you succeed ? – Have you ever tried to submit a .changes with a trailing space to GNOME:Factory ? ;) – More seriously, learning GNOME:Factory guidelines takes time 12
  13. 13. Next steps 13
  14. 14. Merging back SLE12 SP2 changes to Factory ● With SLE12 SP2 being in beta, codebase is now available on OBS ● This has allowed openSUSE GNOME team to look at the SP2 changes before SP2 is released, comment on them, integrate some of them and help us sort work to be done ● We are now tracking internally the “divergence” between SLE12 SP2 and GNOME:Factory and are working with our developers so they submit changes to GNOME:Factory: – For SLE only changes, code will be in G:F but not built – For relevant changes, patch will be applied for G:F 14
  15. 15. Ultimate goal ● We want to the same source RPM packages for GNOME in both : – SLE 12 SP2 – openSUSE Leap 42.2 ● This will lower openSUSE GNOME team maintenance work for Leap 42.2, if packages origin is SP2. ● Right now, 54 packages remaining (yes, it includes SLE Classic ;) ! 15
  16. 16. Stretch goal ● Getting more packages available for SLE12 users ● This is openSUSE:Backport project ● Check Scott Bahling talk on Friday, 14:30 ● It even contains KDE5 for SLE12 SP1 now ! 16
  17. 17. Questions / Reactions ? 17