summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/build/libc/eglibc.sh14
-rw-r--r--scripts/build/libc/glibc-eglibc.sh-common9
-rw-r--r--scripts/build/libc/glibc.sh19
3 files changed, 31 insertions, 11 deletions
diff --git a/scripts/build/libc/eglibc.sh b/scripts/build/libc/eglibc.sh
index a551bc6..101a2a3 100644
--- a/scripts/build/libc/eglibc.sh
+++ b/scripts/build/libc/eglibc.sh
@@ -26,9 +26,17 @@ do_libc_get() {
"${CT_EGLIBC_REVISION:-HEAD}"
for addon in $(do_libc_add_ons_list " "); do
- CT_GetSVN "eglibc-${addon}-${CT_LIBC_VERSION}" \
- "${svn_base}/${addon}" \
- "${CT_EGLIBC_REVISION:-HEAD}"
+ # NPTL addon is not to be downloaded, in any case
+ [ "${addon}" = "nptl" ] && continue || true
+ if ! CT_GetSVN "eglibc-${addon}-${CT_LIBC_VERSION}" \
+ "${svn_base}/${addon}" \
+ "${CT_EGLIBC_REVISION:-HEAD}"
+ then
+ # Some add-ons are bundled with the main sources
+ # so failure to download them is expected
+ CT_DoLog DEBUG "Addon '${addon}' could not be downloaded."
+ CT_DoLog DEBUG "We'll see later if we can find it in the source tree"
+ fi
done
}
diff --git a/scripts/build/libc/glibc-eglibc.sh-common b/scripts/build/libc/glibc-eglibc.sh-common
index a321b7a..ae7c379 100644
--- a/scripts/build/libc/glibc-eglibc.sh-common
+++ b/scripts/build/libc/glibc-eglibc.sh-common
@@ -11,8 +11,13 @@ do_libc_extract() {
# Extract the add-opns
for addon in $(do_libc_add_ons_list " "); do
- # NPTL addon is not to be extracted, in any case
- [ "${addon}" = "nptl" ] && continue || true
+ # If the addon was bundled with the main archive, we do not
+ # need to extract it. Worse, if we were to try to extract
+ # it, we'd get an error.
+ if [ -d "${addon}" ]; then
+ CT_DoLog DEBUG "Add-on already present, spkipping extraction"
+ continue
+ fi
CT_Extract nochdir "${CT_LIBC}-${addon}-${CT_LIBC_VERSION}"
diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh
index 4473138..c50aa89 100644
--- a/scripts/build/libc/glibc.sh
+++ b/scripts/build/libc/glibc.sh
@@ -27,12 +27,19 @@ do_libc_get() {
# C library addons
for addon in "${addons_list[@]}"; do
- # NPTL addon is not to be downloaded, in any case
- [ "${addon}" = "nptl" ] && continue || true
- CT_GetFile "glibc-${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
+ if ! CT_GetFile "glibc-${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
+ then
+ # Some add-ons are bundled with glibc, others are
+ # bundled in their own tarball. Eg. NPTL is internal,
+ # while LinuxThreads was external. Also, for old
+ # versions of glibc, the libidn add-on was external,
+ # but with version >=2.10, it is internal.
+ CT_DoLog DEBUG "Addon '${addon}' could not be downloaded."
+ CT_DoLog DEBUG "We'll see later if we can find it in the source tree"
+ fi
done
return 0