[PATCH] Disable rest of sunrpc, too [V3]
Carlos O'Donell
carlos@redhat.com
Fri Feb 24 20:38:00 GMT 2017
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.
More information about the Libc-alpha
mailing list