From Fedora Project Wiki
(Submit to wrangler)
m (fix typo)
 
(7 intermediate revisions by 2 users not shown)
Line 2: Line 2:


== Summary ==
== Summary ==
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.
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 ==
== Owner ==
Line 10: Line 10:
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
-->
-->
<!--- UNCOMMENT only if this Change aims specific product, working group (Cloud, Workstation, Server,


== Current status ==
== Current status ==
[[Category:ChangeReadyForWrangler]]
 
[[Category:ChangeAcceptedF33]]
 
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 30: Line 31:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* FESCo issue: <will be assigned by the Wrangler>
* FESCo issue: [https://pagure.io/fesco/issue/2371 #2371]
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1828332 #1828332]
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/499 #499]


== 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 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`.


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.
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.)


[https://pagure.io/releng/issue/8337 releng issue #8337] contains further background information.
[https://pagure.io/releng/issue/8337 releng issue #8337] contains further background information.

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.)