From 5324905c1446d898d9a8f578555c1e54a2fbc89c Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Fri, 25 Aug 2017 08:42:19 -0700 Subject: Fix glibc-ports with the new framework While here, also consider patched by anything other than "bundled patches" as per-target sources. Add scary warnings in case of a failure. Signed-off-by: Alexey Neyman --- scripts/build/libc/glibc.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'scripts/build/libc/glibc.sh') diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh index eae64bc4..84bfeed8 100644 --- a/scripts/build/libc/glibc.sh +++ b/scripts/build/libc/glibc.sh @@ -5,7 +5,6 @@ do_libc_get() { local date local version - local -a addons_list CT_Fetch GLIBC if [ "${CT_GLIBC_USE_PORTS_EXTERNAL}" = "y" ]; then @@ -15,13 +14,18 @@ do_libc_get() { } do_libc_extract() { - local addon - CT_ExtractPatch GLIBC if [ "${CT_GLIBC_USE_PORTS_EXTERNAL}" = "y" ]; then CT_ExtractPatch GLIBC_PORTS + + # This may create a bogus symlink if glibc-ports is using custom + # sources or has an overlay (and glibc is shared). However, + # we do not support concurrent use of the source directory + # and next run, if using different glibc-ports source, will override + # this symlink anyway. + CT_DoExecLog ALL ln -sf "${CT_GLIBC_PORTS_SRC_DIR}/${CT_GLIBC_PORTS_BASENAME}" \ + "${CT_GLIBC_SRC_DIR}/${CT_GLIBC_BASENAME}/ports" fi - # TBD make patches for addons (ports? anything else?) uniformly using short names # TBD make the configure timestamp fix in all patched packages (e.g. part of CT_ExtractPatch) } -- cgit v1.2.3 From eba1a826862d875e6163315029839fd3de192c8b Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 26 Aug 2017 12:40:10 -0700 Subject: Make --enable-obsolete-rpc an option in ct-ng Signed-off-by: Alexey Neyman --- config/libc/glibc.in | 16 ++++++++++++++++ packages/glibc/package.desc | 2 +- scripts/build/libc/glibc.sh | 5 +++-- 3 files changed, 20 insertions(+), 3 deletions(-) (limited to 'scripts/build/libc/glibc.sh') diff --git a/config/libc/glibc.in b/config/libc/glibc.in index f6791301..ee90884c 100644 --- a/config/libc/glibc.in +++ b/config/libc/glibc.in @@ -90,6 +90,15 @@ config GLIBC_NO_SPARC_V8 def_bool y depends on GLIBC_2_23_or_later +# 2.14 obsoleted Sun RPC code, making it unavailable *at all* for compiling/linking +# (only remained as versioned symbols for previously linked binaries). They backpedaled +# in 2.16, adding an option to enable that code. Crosstool-NG backports that code +# to 2.14/2.15, but there is no harm in throwing this option even if that patch +# is not applied. +config GLIBC_HAS_OBSOLETE_RPC + def_bool y + depends on GLIBC_2_14_or_later + config GLIBC_EXTRA_CONFIG_ARRAY string prompt "extra config" @@ -123,6 +132,13 @@ config GLIBC_EXTRA_CFLAGS help Extra target CFLAGS to use when building. +config GLIBC_ENABLE_OBSOLETE_RPC + bool "Enable obsolete (Sun) RPC" + default y + depends on GLIBC_HAS_OBSOLETE_RPC + help + Allow building applications using obsolete (Sun) RPC. + config GLIBC_ENABLE_FORTIFIED_BUILD bool prompt "Enable fortified build (EXPERIMENTAL)" diff --git a/packages/glibc/package.desc b/packages/glibc/package.desc index f94055a7..4ee3938a 100644 --- a/packages/glibc/package.desc +++ b/packages/glibc/package.desc @@ -1,5 +1,5 @@ origin='GNU' repository='git git://sourceware.org/git/glibc.git' mirrors='$(CT_Mirrors GNU glibc)' -milestones='2.17 2.20 2.23 2.24' +milestones='2.14 2.17 2.20 2.23 2.24' archive_formats='.tar.xz .tar.bz2 .tar.gz' diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh index 84bfeed8..c09ff5cd 100644 --- a/scripts/build/libc/glibc.sh +++ b/scripts/build/libc/glibc.sh @@ -128,8 +128,9 @@ do_libc_backend_once() { # Also, if those two are missing, iconv build breaks extra_config+=( --disable-debug --disable-sanity-checks ) - # always include rpc, the user can still override it with TI-RPC - extra_config+=( --enable-obsolete-rpc ) + if [ "${CT_GLIBC_ENABLE_OBSOLETE_RPC}" = "y" ]; then + extra_config+=( --enable-obsolete-rpc ) + fi # Add some default glibc config options if not given by user. # We don't need to be conditional on whether the user did set different -- cgit v1.2.3