This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Disable rest of sunrpc, too [V3]


On 02/24/2017 09:20 AM, Thorsten Kukuk wrote:
> 0001-If-sunrpc-code-is-disabled-no-RPC-header-files-rpcge.patch

Thorsten,

High level:

- This looks good and makes sense overall.

- Have you run this through SUSE Tumbleweed to see if anything fails to build?

At the details:

- I'm suggesting a slightly different NEWS entry. Please see below.

- Could you also write up something for the distribution maintainers regarding
  any packaging changes this might cause? Text mentioning which headers are now
  going to _not_ be installed would be great, and how they might fix that if
  possible e.g. install X or port to Y.

  https://sourceware.org/glibc/wiki/Release/2.26#Packaging_Changes
  https://sourceware.org/glibc/wiki/EditorGroup

  You can see example text here:
  https://sourceware.org/glibc/wiki/Release/2.25#Packaging_Changes

> From a1e62f6a31c06cfc9d0c8430b48b0bb0c10b36a6 Mon Sep 17 00:00:00 2001
> From: Thorsten Kukuk <kukuk@thkukuk.de>
> Date: Fri, 24 Feb 2017 15:18:39 +0100
> Subject: [PATCH 1/1] If sunrpc code is disabled, no RPC header files, rpcgen
>  nor librpcsvc.a should be installed, too.
> 
> 	* sunrpc/Makefile: don't build and install header files,
> 	rpcgen and librpcsvc.a by default.
> 
> Signed-off-by: Thorsten Kukuk <kukuk@thkukuk.de>
> ---
>  NEWS            |  5 +++++
>  sunrpc/Makefile | 15 +++++++++------
>  2 files changed, 14 insertions(+), 6 deletions(-)
> 
> diff --git a/NEWS b/NEWS
> index d87e9ce..4eedffa 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -11,6 +11,11 @@ Version 2.26
>    transliteration tables are all updated to Unicode 9.0.0, using
>    generator scripts contributed by Mike FABIAN (Red Hat).
>  
> +* rpcgen, librpcsvc and related headers will now only be built and
> +  installed when glibc is configured with --enable-obsolete-rpc.
> +  Alternative sources can be found at
> +  https://github.com/thkukuk/rpcsvc-proto.

I'm going to suggest the following text:

* The rpcgen, librpcsvc and related headers will only be built and
  installed when glibc is configured with --enable-obsolete-rpc.
  This allows alternative RPC implementations, like TIRPC, to be used
  by default. Applications needing features missing from TIRPC should
  consider the rpcsvc-proto project developed by Thorsten Kukuk (SUSE).

OK with that?

> +
>  Security related changes:
>  
>    [Add security related changes here]
> diff --git a/sunrpc/Makefile b/sunrpc/Makefile
> index 0c1e612..305bee6 100644
> --- a/sunrpc/Makefile
> +++ b/sunrpc/Makefile
> @@ -48,11 +48,10 @@ include ../Makeconfig
>  rpcsvc = bootparam_prot.x nlm_prot.x rstat.x \
>  	 yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
>  	 rusers.x spray.x nfs_prot.x rquota.x key_prot.x
> -headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
> -				    pmap_prot.h pmap_rmt.h rpc.h rpc_msg.h \
> -				    svc.h svc_auth.h types.h xdr.h auth_des.h \
> -				    des_crypt.h)
> -headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \

OK.

> +headers-sunrpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
> +				  pmap_prot.h pmap_rmt.h rpc.h rpc_msg.h \
> +				  svc.h svc_auth.h types.h xdr.h auth_des.h \
> +				  des_crypt.h key_prot.h rpc_des.h) \

OK.

>  		       $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
>  headers = rpc/netdb.h
>  install-others = $(inst_sysconfdir)/rpc
> @@ -61,7 +60,7 @@ generated += $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
>  generated-dirs += rpcsvc
>  
>  ifeq ($(link-obsolete-rpc),yes)
> -headers += $(headers-in-tirpc) $(headers-not-in-tirpc)
> +headers += $(headers-sunrpc)

OK.

>  endif
>  
>  ifeq ($(build-shared),yes)
> @@ -86,12 +85,14 @@ shared-only-routines = $(routines)
>  endif
>  endif
>  
> +ifeq ($(link-obsolete-rpc),yes)
>  install-bin := rpcgen
>  rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \
>  	      rpc_scan.o rpc_util.o rpc_svcout.o rpc_clntout.o \
>  	      rpc_tblout.o rpc_sample.o
>  extra-objs = $(rpcgen-objs) $(addprefix cross-,$(rpcgen-objs))
>  others += rpcgen
> +endif
>  

OK.

>  tests = tst-xdrmem tst-xdrmem2 test-rpcent
>  xtests := tst-getmyaddr
> @@ -105,12 +106,14 @@ rpcgen-tests := $(objpfx)bug20790.out
>  tests-special += $(rpcgen-tests)
>  endif
>  
> +ifeq ($(link-obsolete-rpc),yes)
>  headers += $(rpcsvc:%.x=rpcsvc/%.h)
>  extra-libs := librpcsvc
>  extra-libs-others := librpcsvc # Make it in `others' pass, not `lib' pass.
>  librpcsvc-routines = $(rpcsvc:%.x=x%)
>  librpcsvc-inhibit-o = .os # Build no shared rpcsvc library.
>  omit-deps = $(librpcsvc-routines)
> +endif

OK.

>  
>  ifeq (yes,$(build-shared))
>  rpc-compat-routines = $(addprefix compat-,$(need-export-routines))
> -- 1.8.5.6


-- 
Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]