Removal of Sun RPC Interfaces From glibc
Summary
This system-wide change covers the removal of interfaces related to Sun RPC from glibc.
Owner
- Name: Florian Weimer
- Email: fweimer@redhat.com
- Release notes ticket: #93
Current status
Detailed Description
glibc bundles an implementation of Sun RPC (including XDR support, on which Sun RPC is based). This implementation is not compatible with IPv6, and due to the way addresses are represented, adding IPv6 support would need an ABI bump. As a result, upstream decided to move Sun RPC support to a separate library, libtirpc
, which has been packaged since Fedora 7.
Benefit to Fedora
After switching to libtirpc
, applications using the Sun RPC protocol will support IPv6.
Sun RPC and 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: Remove the interfaces from glibc and adjust the glibc packaging to remove the
nss_nis
subpackage. - Other developers:
- Packages which still use the built-in Sun RPC support need to switch to
libtirpc
and addBuildRequires: libtirpc-devel
(for<rpc/rpc.h>
with IPv6 support). You will have to usepkg-config
, or manually compile with-I/usr/include/tirpc
and link with-ltirpc
. - Packages which need
rpcgen
will have to addBuildRequires: rpcgen
to their spec files. - NIS packages need to switch to the separate
libnsl2
package.BuildRequires: libnsl2-devel
is needed to obtain the<rpcsvc/yp_prot.h>
header. See Changes/NISIPv6.
- Packages which still use the built-in Sun RPC support need to switch to
- Release engineering: #7239 (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.
If they need the rpcgen
program, they need to install the package providing rpcgen
. The program will no longer be part of the glibc-common
package.
Dependencies
This change interacts with NIS support for IPv6.
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 libtirpc
to implement the Sun RPC protocol.