From Fedora Project Wiki
(Add trackers)
m (fix typo)
 
Line 37: Line 37:
 
== Detailed Description ==
 
== Detailed Description ==
  
It was always the intent that on Fedora for x86-64, only the `glibc-headers.x86_64` was installed and available from composes. However, due to compose tool limitations, the `glibc-headers.i686` package sometimes leaks into the compose, and end users my install it, causing future upgrade problems.
+
It was always the intent that on Fedora for x86-64, only the `glibc-headers.x86_64` was installed and available from composes. However, due to compose tool limitations, the `glibc-headers.i686` package sometimes leaks into the compose, and end users may install it, causing future upgrade problems.
  
 
If `glibc-headers.i686` is installed for some reason and it vanishes again from the compose, the system cannot be updated anymore using `dnf update`.
 
If `glibc-headers.i686` is installed for some reason and it vanishes again from the compose, the system cannot be updated anymore using `dnf update`.

Latest revision as of 16:19, 21 July 2020

Removal of the glibc-headers package

Summary

Replace the glibc-headers.i686 and glibc-headers.x86_64 package with a glibc-headers-x86.noarch package, and merge glibc-headers into glibc-devel on the other architectures.

Owner

Current status

Detailed Description

It was always the intent that on Fedora for x86-64, only the glibc-headers.x86_64 was installed and available from composes. However, due to compose tool limitations, the glibc-headers.i686 package sometimes leaks into the compose, and end users may install it, causing future upgrade problems.

If glibc-headers.i686 is installed for some reason and it vanishes again from the compose, the system cannot be updated anymore using dnf update.

We cannot remove the glibc-headers.i686 package from the build because the i686 buildroot needs it. The current solution is to provide a glibc-headers-x86.noarch package on i686 and x86_64. Since it is a noarch package, the existing compose tool is no longer a problem.

(For s390x, we may or may not do the glibc-devel merge; this depends on whether some people are still building the glibc.s390 package locally.)

releng issue #8337 contains further background information.

Benefit to Fedora

System upgrades will work more reliably.

Scope

  • Proposal owners: Implement the glibc changes and remove some of the build dependencies on glibc-headers.
  • Other developers: Help with the removal of glibc-headers dependencies will be appreciated.
  • Release engineering: #9384 (a check of an impact with Release Engineering is needed)
  • Policies and guidelines: The packaging guidelines already recommend a dependency on gcc or gcc-c++ for the appropriate compiler, so they do not need changing.
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

The goal is more seamless in-place upgrades.

The removal of glibc-headers dependencies is optional because there are compatibility Provides:.

How To Test

Regular system upgrades of rawhide will implicitly test this change, and so will upgrades from previous Fedora versions.

User Experience

There is no change in user experience.

Dependencies

This change can be implemented on its own.

Contingency Plan

  • Contingency mechanism: Revert the change and bring back the glibc-headers package as it exists today.
  • Contingency deadline: before Beta
  • Blocks release? no
  • Blocks product? no

Documentation

No documentation update is needed.

Release Notes

The removal of the glibc-headers package should be mentioned, and that build-time dependencies should be on the compiler packages (or glibc-devel, if that makes more sense for some reason.)