From Fedora Project Wiki
(Creating the Change)
 
No edit summary
 
(8 intermediate revisions by 3 users not shown)
Line 2: Line 2:


== Summary ==
== Summary ==
This system-wide change covers the switch of NIS components to the new client side implementation, while detaching libnsl and nss_nis packages, previously bundled together with glibc.
This system-wide change covers the switch of NIS components to the new client side implementation in order to support IPv6, while detaching <code>libnsl</code> and <code>nss_nis</code> packages, previously bundled together with <code>glibc</code>.


== Owner ==
== Owner ==
Line 9: Line 9:
* Name: [[User:hhorak| Honza Horak]]
* Name: [[User:hhorak| Honza Horak]]
* Email: hhorak@redhat.com
* Email: hhorak@redhat.com
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
* Release notes ticket: [https://pagure.io/fedora-docs/release-notes/issue/98 #98]
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
Line 21: Line 21:
* Targeted release: [[Releases/28 | Fedora 28]]  
* Targeted release: [[Releases/28 | Fedora 28]]  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1537258 #1537258]


== Detailed Description ==
== Detailed Description ==


glibc bundles the client part of NIS, while this implementation is not compatible with IPv6, and due to the way addresses are represented. NIS upstream added NIS support for the server and client tools, but for being able to use this feature, the libnsl and nss_nis needs to be rebased to the new version. Since NIS has been part of glibc for long time and it doesn't seem to be necessary (especially given the NIS is an obsoleted technology for years), it is better to detach those two packages and deliver them as a separate library.
<code>glibc</code> bundles the client part of NIS, while this implementation is not compatible with IPv6, due to the way addresses are represented. NIS upstream added NIS support for the server and client tools, but for being able to use this feature, the <code>libnsl</code> and <code>nss_nis</code> needs to be rebased to the new version. Since NIS has been part of <code>glibc</code> for long time and it doesn't seem to be necessary (especially given the NIS is an obsoleted technology for years), it is better to detach those two packages and deliver them as a separate library.


This change is also related to [[Changes/SunRPCRemoval | Sun RPC Removal Change]].
This change is also related to [[Changes/SunRPCRemoval | Sun RPC Removal Change]].
Line 33: Line 33:
After switching to <code>libnsl2</code>, applications using the NIS will support IPv6.
After switching to <code>libnsl2</code>, applications using the NIS will support IPv6.


NIS support in glibc have been deprecated for a long time and is explicitly enabled in the Fedora build.  This change aligns Fedora glibc with current upstream owners.
NIS support in <code>glibc</code> have been deprecated for a long time and is explicitly enabled in the Fedora build.  This change aligns Fedora <code>glibc</code> with current upstream owners.


== Scope ==
== Scope ==
* Proposal owners: Provide the NIS client implementation as separate packages, and adjust the glibc packaging to remove the <code>nss_nis</code> and <code>libnsl</code> subpackages.
* Proposal owners: Provide the NIS client implementation as separate packages, and adjust the glibc packaging to remove the <code>nss_nis</code> subpackage, the NIS header files, and move <code>libnsl</code> to a new subpackage.
* Other developers:
* Other developers:
** Packages which depend on <code>libnsl</code> library will need to add <code>BuildRequires: libnsl2-devel</code>.
** Packages which used to depend on the <code>libnsl</code> library from glibc will need to add <code>BuildRequires: libnsl2-devel</code>.


<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing, and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing, and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
** [[Fedora_Program_Management/ReleaseBlocking/Fedora28|List of deliverables]]: <!-- Please check the list of Fedora release deliverables and list all the differences the feature brings -->
** [[Fedora_Program_Management/ReleaseBlocking/Fedora28|List of deliverables]]: <!-- Please check the list of Fedora release deliverables and list all the differences the feature brings -->
* Release engineering: [https://pagure.io/releng/issue/7256 #7256] (a check of an impact with Release Engineering is needed)


* Policies and guidelines: N/A (not needed for this Change; covered by the existing Packaging Guidelines)
* Policies and guidelines: N/A (not needed for this Change; covered by the existing Packaging Guidelines)
Line 73: Line 75:
== Documentation ==
== Documentation ==


* [http://www.linux-nis.org/nis-ipv6/ | NIS IPv6 upstream]
* [http://www.linux-nis.org/nis-ipv6/ NIS IPv6 upstream]


== Release Notes ==
== Release Notes ==
Line 79: Line 81:
Fedora 28 uses new <code>libnsl</code> to support IPv6 for NIS functionality.
Fedora 28 uses new <code>libnsl</code> to support IPv6 for NIS functionality.


[[Category:ChangeAnnounced]]
[[Category:ChangeAcceptedF28]]
<!-- 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 -->

Latest revision as of 14:56, 2 March 2018

NIS switching to new libnsl to support IPv6

Summary

This system-wide change covers the switch of NIS components to the new client side implementation in order to support IPv6, while detaching libnsl and nss_nis packages, previously bundled together with glibc.

Owner

Current status

Detailed Description

glibc bundles the client part of NIS, while this implementation is not compatible with IPv6, due to the way addresses are represented. NIS upstream added NIS support for the server and client tools, but for being able to use this feature, the libnsl and nss_nis needs to be rebased to the new version. Since NIS has been part of glibc for long time and it doesn't seem to be necessary (especially given the NIS is an obsoleted technology for years), it is better to detach those two packages and deliver them as a separate library.

This change is also related to Sun RPC Removal Change.

Benefit to Fedora

After switching to libnsl2, applications using the NIS will support IPv6.

NIS support in glibc have been deprecated for a long time and is explicitly enabled in the Fedora build. This change aligns Fedora glibc with current upstream owners.

Scope

  • Proposal owners: Provide the NIS client implementation as separate packages, and adjust the glibc packaging to remove the nss_nis subpackage, the NIS header files, and move libnsl to a new subpackage.
  • Other developers:
    • Packages which used to depend on the libnsl library from glibc will need to add BuildRequires: libnsl2-devel.
  • Release engineering: #7256 (a check of an impact with Release Engineering is needed)
  • Policies and guidelines: N/A (not needed for this Change; covered by the existing Packaging Guidelines)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

Support for existing binaries is preserved.

How To Test

Regular system testing on IPv4 and IPv6 networks will cover this change.

User Experience

Users will enjoy IPv6 support.

Dependencies

This change is also related to Sun RPC Removal Change.

Contingency Plan

  • Contingency mechanism: Revert the glibc changes and reintroduce the deprecated interfaces.
  • Contingency deadline: alpha
  • Blocks release? no
  • Blocks product? N/A

Documentation

Release Notes

Fedora 28 uses new libnsl to support IPv6 for NIS functionality.