From Fedora Project Wiki

< Changes

Revision as of 19:42, 11 April 2014 by Codonell (talk | contribs) (Created page with "<!-- Self Contained or System Wide Change Proposal? Use this guide to determine to which category your proposed change belongs to. Self Contained Changes are: * changes to is...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


The GNU C Library version 2.20

Summary

Switch glibc in Fedora 21 to glibc version 2.20.

Owner

Current status

  • Targeted release: Fedora 21
  • Last updated: 2014-04-10
  • Tracker bug: ???

Detailed Description

The GNU C Library version 2.20 will be released at the end of July 2014; we have started closely tracking the glibc 2.20 development code in Fedora Rawhide and are addressing any issues as they arise. Given the present schedule Fedora 21 will branch before GLIBC 2.20, and the plan is to do a final rebase of Fedora 21 at the end of July to sync with glibc 2.20. This will bring in any last minute fixes and allow Fedora 21 to easily track the glibc 2.20 stable branch afterwards for more bug fixes and security fixes.

Benefit to Fedora

Stays up to date with latests security and bug fixes from glibc.

Scope

  • Proposal owners: Update glibc to 2.20 from tested upstream release.
  • Other developers: Aside from Carlos O'Donell <carlos@redhat.com>, Siddhesh Poyarekar <siddhesh@redhat.com> and Patsy Franklin <pfrankli@redhat.com>, no other developers are required. These three developers need to ensure that rawhide is stable and ready for the Fedora 21 branch and then rebase Fedora 21 using the official glibc tarballs when 2.20 branches. Given that glibc is backwards compatible and we have been testing the new glibc in rawhide it should make very little impact when updated.
  • Release engineering: In general coordination with release engineering is not required. A new rebased glibc will need to go into the build roots, but it will be almost identical to the previous build, but with the addition of any last minute fixes that went into upstream glibc during the 2.20 freeze. A mass rebuild is not required.
  • Policies and guidelines: The policies and guidelines do not need to be updated.

Upgrade/compatibility impact

The library is backwards compatible with the version of glibc that was shipped in Fedora 20.

Some packaging changes are recommended here: https://sourceware.org/glibc/wiki/Release/2.19#Packaging_Changes https://sourceware.org/glibc/wiki/Release/2.20#Packaging_Changes

The most important item to note is that the s390 jmp_buf and struct ucontext ABI has changed and will require some modules to be rebuilt.

How To Test

The GNU C Library has its own testsuite, which is run during the package build and examined by the glibc developers before being uploaded. This test suite has 1000+ tests that run to verify the correct operation of the library. In the future we'll also be running the microbenchmark to look for performance regressions as well as behavioural ones.

User Experience

Users will see improved performance, many bugfixes and improvements to POSIX compliance, additional locales, etc. The glibc 2.20 NEWS update will include more details.

Dependencies

All packages do not need to be rebuilt.

Contingency Plan

  • Contingency mechanism: Given that Rawhide has started tracking GLIBC 2.20, no show-stopper problems are expected. In the unlikely event a major problem were discovered, we could fall back to the older glibc 2.19 and release with that.
  • Contingency deadline: Beta freeze.
  • Blocks release? Upgrading glibc does block the release. We should not ship without a newer glibc, there will be gcc and language features that depend on glibc being upraded. Thus without the upgrade some features will be disabled or fall back to less optimal implementations.

Documentation

The glibc manual contains the documentation for the release and doesn't need any more additional work.

Release Notes

The GNU C Library version 2.20 will be released at the end of July 2014. The current NEWS notes can be seen here as they are added: https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=c751491b817c12714676c2c0073f1ce086a6f199;hb=refs/heads/master