Re: [RFC PATCH v3 0/2] Remove --enable-obsolete-nsl --enable-obsolete-rpc

2020-06-06 Thread Petr Vorel
Hi,

Maybe the naming isn't quite right:
I guess libc_hidden_nolink should be libc_hidden_nolink_sunrpc (thus files in
sunrpc/ will not have to be renamed) => v4.

I kept libnsl_hidden_nolink_def. I could rename it to libnsl_hidden_nolink if
desired.

Kind regards,
Petr



[RFC PATCH v3 0/2] Remove --enable-obsolete-nsl --enable-obsolete-rpc

2020-06-06 Thread Petr Vorel
Hi,

changes v2->v3:
* Fix issue with missing etc directory.
It was caused by missing:
install-others = $(inst_sysconfdir)/rpc
But now is /etc/rpc only included on backward compatibility.
It leaded me to create /etc directory for tests in
testroot.pristine/install.stamp make target (I could add maybe_xmkdir
("/etc", 0777); to elf/tst-ldconfig-ld_so_conf-update.c, but this is
safer for future tests), but that wouldn't be needed if /etc/rpc is
always needed.

* Removed rpc/netdb.h for new archs.

* Fix typo in docs.

Few questions:
1) Is ifdef have-GLIBC_2.28 correct guard to get nsl/rpc only to archs which
supported it? Shouldn't it be actually have-GLIBC_2.31?

2) Should new archs also get /etc/rpc?

I've tested only default compilation on x86_64:
Summary of test results:
   4166 PASS
 24 UNSUPPORTED
 12 XFAIL
  6 XPASS

I'll try to test it on other archs, but testing from others (especially
cross-compilation would be great).

Kind regards,
Petr

diff v2->v3:
diff --git Makefile Makefile
index 6dcfe40c25..eb6ac71a97 100644
--- Makefile
+++ Makefile
@@ -585,6 +585,10 @@ $(tests-container) $(addsuffix /tests,$(subdirs)) : \
 $(objpfx)testroot.pristine/install.stamp :
test -d $(objpfx)testroot.pristine || \
  mkdir $(objpfx)testroot.pristine
+   # We need a writable /etc for some of the tests.
+   test -d $(objpfx)testroot.pristine/etc || \
+ mkdir $(objpfx)testroot.pristine/etc && \
+ chmod 777 $(objpfx)testroot.pristine/etc
# We need a working /bin/sh for some of the tests.
test -d $(objpfx)testroot.pristine/bin || \
  mkdir $(objpfx)testroot.pristine/bin
diff --git sunrpc/Makefile sunrpc/Makefile
index 6585706bbe..671d4ccc24 100644
--- sunrpc/Makefile
+++ sunrpc/Makefile
@@ -28,7 +28,7 @@ ifdef have-GLIBC_2.28
 # distribution with some additional changes from the TI-RPC package
 # which is also available from Sun.  The files are heavily changed to
 # compile cleanly and to fit in the GNU environment.  All the code
-# from Sun's rpc, and etc subdirectories is in this directory;
+# from Sun's rpc and etc subdirectories is in this directory;
 # the rpc subdirectory contains only the header files.  Other than
 # that, several files were renamed so as not to exceed 14-character
 # file name limits:
@@ -47,7 +47,7 @@ ifdef have-GLIBC_2.28
 #  svc_auth_unix.c -> svc_authux.c
 #  xdr_reference.c -> xdr_ref.c
 
-headers = rpc/netdb.h
+install-others = $(inst_sysconfdir)/rpc
 
 ifeq ($(build-shared),yes)
 need-export-routines := auth_des auth_unix clnt_gen clnt_perr clnt_tcp \



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

 INSTALL   |9 -
 Makefile  |4 +
 NEWS  |   15 +
 .../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/libc-symbols.h|   16 +-
 include/shlib-compat.h|8 +-
 manual/install.texi   |   10 -
 manual/nss.texi   |   20 +-
 nis/Makefile  |   52 +-
 nscd/initgrcache.c|8 +-
 nss/grp-lookup.c  |6 +-
 nss/nsswitch.c|   14 +-
 nss/pwd-lookup.c  |6 +-
 nss/spwd-lookup.c |6 +-
 scripts/build-many-glibcs.py  |8 -
 sunrpc/Makefile   |  135 +-
 sunrpc/auth_des.c |4 +-
 sunrpc/auth_none.c|2 +-
 sunrpc/auth_unix.c|4 +-
 sunrpc/authdes_prot.c |4 +-
 sunrpc/authuxprot.c   |2 +-
 sunrpc/bug20790.x |1 -
 sunrpc/clnt_gen.c |2 +-
 sunrpc/clnt_perr.c|   10 +-
 sunrpc/clnt_raw.c |2 +-
 sunrpc/clnt_simp.c|2 +-
 sunrpc/clnt_tcp.c |2 +-
 sunrpc/clnt_udp.c |6 +-
 sunrpc/clnt_unix.c|2 +-
 sunrpc/get_myaddr.c   |2 +-
 sunrpc/key_call.c |   18 +-
 sunrpc/key_prot.c |   20 +-
 sunrpc/netname.c  |   10 +-
 sunrpc/pm_getmaps.c   |2 +-
 sunrpc/pm_getport.c   |4 +-
 sunrpc/pmap_clnt.c