[0/3] sunrpc removal

Message ID cover.1594209330.git.fweimer@redhat.com
Headers
Series sunrpc removal |

Message

Florian Weimer July 8, 2020, 12:05 p.m. UTC
  This patch series polishes Petr Vorel's patches.  I think they are ready
for inclusion now.

I forced the removal for x86-64, and found a bunch of build issues:

* bindresvport and the NSS RPC functions need to preserved.  The easiest
  way to do that is to move their implementation to the inet
  subdirectory, which is what the first patch does.

* If sunrpc is gone, __libc_thread_freeres should not call
  __rpc_thread_destroy anymore.

* The cut-off point is glibc 2.31 for the sunrpc removal, not glibc
  2.28.  This affects the csky port (ABI baseline 2.29).

The --enable-obsolete-nsl patch deletes more things in this version.

I think we should delay merging the --enable-obsolete-rpc removal until
the ARC port is merged, along with the required abilist adjustments.
But the first two patches do not change the ARC ABI, and could go in
now.

Thanks,
Florian

Florian Weimer (1):
  Move non-deprecated RPC-related functions from sunrpc to inet

Petr Vorel (2):
  Remove --enable-obsolete-nsl configure flag
  Remove --enable-obsolete-rpc configure flag

 INSTALL                                       |    9 -
 NEWS                                          |   28 +-
 .../strcoll-inputs/filelist#en_US.UTF-8       |   29 -
 config.h.in                                   |    8 -
 config.make.in                                |    2 -
 configure                                     |   38 +-
 configure.ac                                  |   22 -
 grp/initgroups.c                              |    8 +-
 include/aliases.h                             |    2 -
 include/dlfcn.h                               |    9 +-
 include/grp.h                                 |    2 -
 include/libc-symbols.h                        |   62 +-
 include/netdb.h                               |    6 -
 include/netinet/ether.h                       |    2 -
 include/pwd.h                                 |    2 -
 include/rpc/auth.h                            |   11 -
 include/rpc/auth_des.h                        |   13 -
 include/rpc/netdb.h                           |    2 -
 include/rpcsvc/yp_prot.h                      |    1 -
 include/shadow.h                              |    2 -
 include/shlib-compat.h                        |    8 +-
 inet/Makefile                                 |   11 +-
 sunrpc/bindrsvprt.c => inet/bindresvport.c    |    0
 {sunrpc => inet}/etc.rpc                      |    0
 {sunrpc => inet}/getrpcbyname.c               |    0
 {sunrpc => inet}/getrpcbyname_r.c             |    0
 {sunrpc => inet}/getrpcbynumber.c             |    0
 {sunrpc => inet}/getrpcbynumber_r.c           |    0
 {sunrpc => inet}/getrpcent.c                  |    0
 {sunrpc => inet}/getrpcent_r.c                |    0
 malloc/thread-freeres.c                       |    5 +-
 manual/install.texi                           |   10 -
 manual/nss.texi                               |   21 +-
 manual/nsswitch.texi                          |   16 +-
 nis/Makefile                                  |   55 +-
 nis/Versions                                  |   58 +-
 nis/libnsl.h                                  |    3 -
 nis/nisplus-parser.h                          |   35 -
 nis/nss-default.c                             |  127 --
 nis/nss-nis.c                                 |   44 -
 nis/nss-nis.h                                 |   59 -
 nis/nss-nisplus.c                             |   78 -
 nis/nss-nisplus.h                             |   41 -
 nis/nss_nis/nis-alias.c                       |  281 ----
 nis/nss_nis/nis-ethers.c                      |  292 ----
 nis/nss_nis/nis-grp.c                         |  359 ----
 nis/nss_nis/nis-hosts.c                       |  535 ------
 nis/nss_nis/nis-initgroups.c                  |  343 ----
 nis/nss_nis/nis-netgrp.c                      |   98 --
 nis/nss_nis/nis-network.c                     |  314 ----
 nis/nss_nis/nis-proto.c                       |  278 ----
 nis/nss_nis/nis-pwd.c                         |  581 -------
 nis/nss_nis/nis-rpc.c                         |  279 ----
 nis/nss_nis/nis-service.c                     |  438 -----
 nis/nss_nis/nis-spwd.c                        |  235 ---
 nis/nss_nisplus/nisplus-alias.c               |  337 ----
 nis/nss_nisplus/nisplus-ethers.c              |  356 ----
 nis/nss_nisplus/nisplus-grp.c                 |  401 -----
 nis/nss_nisplus/nisplus-hosts.c               |  584 -------
 nis/nss_nisplus/nisplus-initgroups.c          |  148 --
 nis/nss_nisplus/nisplus-netgrp.c              |  191 ---
 nis/nss_nisplus/nisplus-network.c             |  494 ------
 nis/nss_nisplus/nisplus-parser.c              |  375 -----
 nis/nss_nisplus/nisplus-proto.c               |  441 -----
 nis/nss_nisplus/nisplus-pwd.c                 |  408 -----
 nis/nss_nisplus/nisplus-rpc.c                 |  444 -----
 nis/nss_nisplus/nisplus-service.c             |  461 ------
 nis/nss_nisplus/nisplus-spwd.c                |  220 ---
 nis/rpcsvc/nis.x                              |  474 ------
 nis/rpcsvc/nis_callback.x                     |   63 -
 nis/rpcsvc/nis_object.x                       |  328 ----
 nis/rpcsvc/yp.x                               |  311 ----
 nis/rpcsvc/yp_prot.h                          |  366 -----
 nscd/initgrcache.c                            |    8 +-
 nss/grp-lookup.c                              |    6 +-
 nss/nsswitch.c                                |   14 +-
 nss/nsswitch.conf                             |    2 -
 nss/pwd-lookup.c                              |    6 +-
 nss/spwd-lookup.c                             |    6 +-
 scripts/build-many-glibcs.py                  |    8 -
 shlib-versions                                |    2 -
 sunrpc/Makefile                               |  161 +-
 sunrpc/bug20790.x                             |    1 -
 sunrpc/proto.h                                |   65 -
 sunrpc/rpc_clntout.c                          |  333 ----
 sunrpc/rpc_cout.c                             |  811 ---------
 sunrpc/rpc_hout.c                             |  607 -------
 sunrpc/rpc_main.c                             | 1451 -----------------
 sunrpc/rpc_parse.c                            |  687 --------
 sunrpc/rpc_parse.h                            |  165 --
 sunrpc/rpc_sample.c                           |  336 ----
 sunrpc/rpc_scan.c                             |  544 ------
 sunrpc/rpc_scan.h                             |  104 --
 sunrpc/rpc_svcout.c                           | 1093 -------------
 sunrpc/rpc_tblout.c                           |  178 --
 sunrpc/rpc_util.c                             |  525 ------
 sunrpc/rpc_util.h                             |  154 --
 sunrpc/rpcgen.c                               |    2 -
 sunrpc/rpcsvc/bootparam.h                     |   23 -
 sunrpc/rpcsvc/bootparam_prot.x                |   97 --
 sunrpc/rpcsvc/key_prot.x                      |  283 ----
 sunrpc/rpcsvc/klm_prot.x                      |  130 --
 sunrpc/rpcsvc/mount.x                         |  161 --
 sunrpc/rpcsvc/nfs_prot.x                      |  352 ----
 sunrpc/rpcsvc/nlm_prot.x                      |  203 ---
 sunrpc/rpcsvc/rex.x                           |  229 ---
 sunrpc/rpcsvc/rquota.x                        |   61 -
 sunrpc/rpcsvc/rstat.x                         |  145 --
 sunrpc/rpcsvc/rusers.x                        |  228 ---
 sunrpc/rpcsvc/sm_inter.x                      |  110 --
 sunrpc/rpcsvc/spray.x                         |   84 -
 sunrpc/rpcsvc/yppasswd.x                      |   61 -
 sysdeps/mach/Makefile                         |    2 -
 sysdeps/unix/sysv/linux/mips/shlib-versions   |    2 -
 114 files changed, 92 insertions(+), 20612 deletions(-)
 delete mode 100644 include/rpcsvc/yp_prot.h
 rename sunrpc/bindrsvprt.c => inet/bindresvport.c (100%)
 rename {sunrpc => inet}/etc.rpc (100%)
 rename {sunrpc => inet}/getrpcbyname.c (100%)
 rename {sunrpc => inet}/getrpcbyname_r.c (100%)
 rename {sunrpc => inet}/getrpcbynumber.c (100%)
 rename {sunrpc => inet}/getrpcbynumber_r.c (100%)
 rename {sunrpc => inet}/getrpcent.c (100%)
 rename {sunrpc => inet}/getrpcent_r.c (100%)
 delete mode 100644 nis/nisplus-parser.h
 delete mode 100644 nis/nss-default.c
 delete mode 100644 nis/nss-nis.c
 delete mode 100644 nis/nss-nis.h
 delete mode 100644 nis/nss-nisplus.c
 delete mode 100644 nis/nss-nisplus.h
 delete mode 100644 nis/nss_nis/nis-alias.c
 delete mode 100644 nis/nss_nis/nis-ethers.c
 delete mode 100644 nis/nss_nis/nis-grp.c
 delete mode 100644 nis/nss_nis/nis-hosts.c
 delete mode 100644 nis/nss_nis/nis-initgroups.c
 delete mode 100644 nis/nss_nis/nis-netgrp.c
 delete mode 100644 nis/nss_nis/nis-network.c
 delete mode 100644 nis/nss_nis/nis-proto.c
 delete mode 100644 nis/nss_nis/nis-pwd.c
 delete mode 100644 nis/nss_nis/nis-rpc.c
 delete mode 100644 nis/nss_nis/nis-service.c
 delete mode 100644 nis/nss_nis/nis-spwd.c
 delete mode 100644 nis/nss_nisplus/nisplus-alias.c
 delete mode 100644 nis/nss_nisplus/nisplus-ethers.c
 delete mode 100644 nis/nss_nisplus/nisplus-grp.c
 delete mode 100644 nis/nss_nisplus/nisplus-hosts.c
 delete mode 100644 nis/nss_nisplus/nisplus-initgroups.c
 delete mode 100644 nis/nss_nisplus/nisplus-netgrp.c
 delete mode 100644 nis/nss_nisplus/nisplus-network.c
 delete mode 100644 nis/nss_nisplus/nisplus-parser.c
 delete mode 100644 nis/nss_nisplus/nisplus-proto.c
 delete mode 100644 nis/nss_nisplus/nisplus-pwd.c
 delete mode 100644 nis/nss_nisplus/nisplus-rpc.c
 delete mode 100644 nis/nss_nisplus/nisplus-service.c
 delete mode 100644 nis/nss_nisplus/nisplus-spwd.c
 delete mode 100644 nis/rpcsvc/nis.x
 delete mode 100644 nis/rpcsvc/nis_callback.x
 delete mode 100644 nis/rpcsvc/nis_object.x
 delete mode 100644 nis/rpcsvc/yp.x
 delete mode 100644 nis/rpcsvc/yp_prot.h
 delete mode 100644 sunrpc/bug20790.x
 delete mode 100644 sunrpc/proto.h
 delete mode 100644 sunrpc/rpc_clntout.c
 delete mode 100644 sunrpc/rpc_cout.c
 delete mode 100644 sunrpc/rpc_hout.c
 delete mode 100644 sunrpc/rpc_main.c
 delete mode 100644 sunrpc/rpc_parse.c
 delete mode 100644 sunrpc/rpc_parse.h
 delete mode 100644 sunrpc/rpc_sample.c
 delete mode 100644 sunrpc/rpc_scan.c
 delete mode 100644 sunrpc/rpc_scan.h
 delete mode 100644 sunrpc/rpc_svcout.c
 delete mode 100644 sunrpc/rpc_tblout.c
 delete mode 100644 sunrpc/rpc_util.c
 delete mode 100644 sunrpc/rpc_util.h
 delete mode 100644 sunrpc/rpcgen.c
 delete mode 100644 sunrpc/rpcsvc/bootparam.h
 delete mode 100644 sunrpc/rpcsvc/bootparam_prot.x
 delete mode 100644 sunrpc/rpcsvc/key_prot.x
 delete mode 100644 sunrpc/rpcsvc/klm_prot.x
 delete mode 100644 sunrpc/rpcsvc/mount.x
 delete mode 100644 sunrpc/rpcsvc/nfs_prot.x
 delete mode 100644 sunrpc/rpcsvc/nlm_prot.x
 delete mode 100644 sunrpc/rpcsvc/rex.x
 delete mode 100644 sunrpc/rpcsvc/rquota.x
 delete mode 100644 sunrpc/rpcsvc/rstat.x
 delete mode 100644 sunrpc/rpcsvc/rusers.x
 delete mode 100644 sunrpc/rpcsvc/sm_inter.x
 delete mode 100644 sunrpc/rpcsvc/spray.x
 delete mode 100644 sunrpc/rpcsvc/yppasswd.x
  

Comments

H.J. Lu July 8, 2020, 1:02 p.m. UTC | #1
On Wed, Jul 8, 2020 at 5:06 AM Florian Weimer via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> This patch series polishes Petr Vorel's patches.  I think they are ready
> for inclusion now.
>
> I forced the removal for x86-64, and found a bunch of build issues:
>
> * bindresvport and the NSS RPC functions need to preserved.  The easiest
>   way to do that is to move their implementation to the inet
>   subdirectory, which is what the first patch does.
>
> * If sunrpc is gone, __libc_thread_freeres should not call
>   __rpc_thread_destroy anymore.
>
> * The cut-off point is glibc 2.31 for the sunrpc removal, not glibc

Did you mean glibc 2.32?

>   2.28.  This affects the csky port (ABI baseline 2.29).
>
> The --enable-obsolete-nsl patch deletes more things in this version.
>
> I think we should delay merging the --enable-obsolete-rpc removal until
> the ARC port is merged, along with the required abilist adjustments.
> But the first two patches do not change the ARC ABI, and could go in
> now.
>

I haven't looked at the last 2 patches.  But I don't think they should
wait for the ARC port if they are good to go in.  Rebase a port shouldn't
be that difficult.
  
Florian Weimer July 8, 2020, 1:06 p.m. UTC | #2
* H. J. Lu:

> On Wed, Jul 8, 2020 at 5:06 AM Florian Weimer via Libc-alpha
> <libc-alpha@sourceware.org> wrote:
>>
>> This patch series polishes Petr Vorel's patches.  I think they are ready
>> for inclusion now.
>>
>> I forced the removal for x86-64, and found a bunch of build issues:
>>
>> * bindresvport and the NSS RPC functions need to preserved.  The easiest
>>   way to do that is to move their implementation to the inet
>>   subdirectory, which is what the first patch does.
>>
>> * If sunrpc is gone, __libc_thread_freeres should not call
>>   __rpc_thread_destroy anymore.
>>
>> * The cut-off point is glibc 2.31 for the sunrpc removal, not glibc
>
> Did you mean glibc 2.32?

Sorry, it's after 2.31.  2.31 is the version that goes into the
Makefile.  It's off by one compared to the compat_symbol version
unfortunately, due to internal complications.

>>   2.28.  This affects the csky port (ABI baseline 2.29).
>>
>> The --enable-obsolete-nsl patch deletes more things in this version.
>>
>> I think we should delay merging the --enable-obsolete-rpc removal until
>> the ARC port is merged, along with the required abilist adjustments.
>> But the first two patches do not change the ARC ABI, and could go in
>> now.
>>
>
> I haven't looked at the last 2 patches.  But I don't think they should
> wait for the ARC port if they are good to go in.  Rebase a port shouldn't
> be that difficult.

I don't have a strong opinion on this.

Thanks,
Florian