From dc54c4070455d0bffaaa0f68308574d265fd87eb Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 4 Jan 2009 12:46:13 +0000 Subject: Enable using glibc post 2.8: - retrieve tarballs from FTP/HTTP for glibc 2.7 and older - checkout from CVS for glibc 2.8 and later - add config options for glibc-2_8 and glibc-2_9 /trunk/scripts/build/libc/glibc.sh | 50 39 11 0 ++++++++++++++++++++++++++++++++++---------- /trunk/config/libc/glibc.in | 49 49 0 0 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+), 11 deletions(-) diff --git a/config/libc/glibc.in b/config/libc/glibc.in index 12c3192..0f6f2d6 100644 --- a/config/libc/glibc.in +++ b/config/libc/glibc.in @@ -36,6 +36,16 @@ config LIBC_V_2_7 bool prompt "2.7" +config LIBC_V_2_8 + bool + prompt "2_8" + select LIBC_GLIBC_2_8_or_later + +config LIBC_V_2_9 + bool + prompt "2_9" + select LIBC_GLIBC_2_8_or_later + # CT_INSERT_VERSION_ABOVE # Don't remove above line! @@ -62,6 +72,45 @@ config LIBC_VERSION default "2.6" if LIBC_V_2_6 default "2.6.1" if LIBC_V_2_6_1 default "2.7" if LIBC_V_2_7 + default "2_8" if LIBC_V_2_8 + default "2_9" if LIBC_V_2_9 # CT_INSERT_VERSION_STRING_ABOVE # Don't remove above line! +config LIBC_GLIBC_2_8_or_later + bool + default n + +if LIBC_GLIBC_2_8_or_later + +config LIBC_GLIBC_latest_snapshot + bool + prompt "Use latest nightly snapshot" + default n + help + Say 'y' to use the latest nightly snapshot. + Not recommended, as the toolchain will not be reproducible. + +if ! LIBC_GLIBC_latest_snapshot + +comment "Using CVS checkout" + +config LIBC_GLIBC_CVS_date + string + prompt "checkout as of date" + default "" + help + The date, in ISO-8601 format, at which to check out the repository. + +#config LIBC_GLIBC_CVS_CHECKOUT +# bool +# prompt "checkout instead of export" +# default n +# help +# Use checkout rather than export, so that you can later update +# the sources. +# Not recommended, as the toolchain could be non-reproducible. + +endif # ! LIBC_GLIBC_latest_snapshot + +endif # LIBC_GLIBC_2_8_or_later diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh index e43d37b..a39c3c3 100644 --- a/scripts/build/libc/glibc.sh +++ b/scripts/build/libc/glibc.sh @@ -4,23 +4,51 @@ # Download glibc do_libc_get() { + local date + # Ah! Not all GNU folks seem stupid. All glibc releases are in the same # directory. Good. Alas, there is no snapshot there. I'll deal with them # later on... :-/ - CT_GetFile "${CT_LIBC_FILE}" \ - {ftp,http}://ftp.gnu.org/gnu/glibc \ - ftp://gcc.gnu.org/pub/glibc/releases \ - ftp://gcc.gnu.org/pub/glibc/snapshots - - # C library addons - for addon in $(do_libc_add_ons_list " "); do - # NPTL addon is not to be downloaded, in any case - [ "${addon}" = "nptl" ] && continue || true - CT_GetFile "${CT_LIBC}-${addon}-${CT_LIBC_VERSION}" \ + # Update: sadly, glibc folks do be stupid: they no longer build + # release tarballs as of glibc-2.8, hence forcing us to fetch + # from CVS (CVS! Don't those guys know the world of SCM has + # evolved since the dawn ages of CVS?) Sigh... + if [ "${CT_LIBC_GLIBC_2_8_or_later}" = "y" ]; then + # No release tarball available... + date="${CT_LIBC_GLIBC_CVS_date}" + CT_GetCVS "${CT_LIBC_FILE}" \ + ":pserver:anoncvs@sources.redhat.com:/cvs/glibc" \ + "libc" \ + "glibc-${CT_LIBC_VERSION}-branch${date:+:}${date}" \ + "${CT_LIBC_FILE}" + + # C library addons + for addon in $(do_libc_add_ons_list " "); do + # NPTL addon is not to be downloaded, in any case + [ "${addon}" = "nptl" ] && continue || true + CT_GetCVS "glibc-${addon}-${CT_LIBC_VERSION}" \ + ":pserver:anoncvs@sources.redhat.com:/cvs/glibc" \ + "${addon}" \ + "glibc-${CT_LIBC_VERSION}-branch${date:+:}${date}" \ + "glibc-${addon}-${CT_LIBC_VERSION}" + done + else + # Release tarballs are available + CT_GetFile "${CT_LIBC_FILE}" \ {ftp,http}://ftp.gnu.org/gnu/glibc \ ftp://gcc.gnu.org/pub/glibc/releases \ ftp://gcc.gnu.org/pub/glibc/snapshots - done + + # C library addons + for addon in $(do_libc_add_ons_list " "); do + # NPTL addon is not to be downloaded, in any case + [ "${addon}" = "nptl" ] && continue || true + CT_GetFile "${CT_LIBC}-${addon}-${CT_LIBC_VERSION}" \ + {ftp,http}://ftp.gnu.org/gnu/glibc \ + ftp://gcc.gnu.org/pub/glibc/releases \ + ftp://gcc.gnu.org/pub/glibc/snapshots + done + fi return 0 } -- cgit v0.10.2-6-g49f6