From e3c489be386e4d4282f43c2df315f60c17c9b911 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Mon, 5 Jan 2009 20:37:03 +0000 Subject: [PATCH] Fix C library addons extraction: - renaming the dircetory in CT_ExtratAndPatch is wrong: - patches against the C library addons may be build against the short *or* long name... :-( - symlink is more robust, even if less nice - renaming the directory _after_ CT_ExtractAndPatch is too late: - if patches are against the short name, and we renamed too the long name, patches don't apply - so we'll never reach the point where we rename /trunk/scripts/build/libc/glibc.sh | 1 0 1 0 - /trunk/scripts/build/libc/eglibc.sh | 1 0 1 0 - /trunk/scripts/functions | 2 1 1 0 +- 3 files changed, 1 insertion(+), 3 deletions(-) --- scripts/build/libc/eglibc.sh | 1 - scripts/build/libc/glibc.sh | 1 - scripts/functions | 2 +- 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/scripts/build/libc/eglibc.sh b/scripts/build/libc/eglibc.sh index 5e1e5c80..1d5608ad 100644 --- a/scripts/build/libc/eglibc.sh +++ b/scripts/build/libc/eglibc.sh @@ -100,7 +100,6 @@ do_libc_extract() { [ "${addon}" = "nptl" ] && continue || true CT_Pushd "${CT_SRC_DIR}/eglibc-${CT_LIBC_VERSION}" CT_ExtractAndPatch "${CT_LIBC}-${addon}-${CT_LIBC_VERSION}" nochdir - [ ! -d "${addon}" ] && ln -s "eglibc-${addon}-${CT_LIBC_VERSION}" "${addon}" CT_Popd done diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh index 02b7412b..146a5b2c 100644 --- a/scripts/build/libc/glibc.sh +++ b/scripts/build/libc/glibc.sh @@ -63,7 +63,6 @@ do_libc_extract() { [ "${addon}" = "nptl" ] && continue || true CT_Pushd "${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}" CT_ExtractAndPatch "glibc-${addon}-${CT_LIBC_VERSION}" nochdir - [ ! -d "${addon}" ] && ln -s "glibc-${addon}-${CT_LIBC_VERSION}" "${addon}" CT_Popd done diff --git a/scripts/functions b/scripts/functions index 81015ffe..203fd4eb 100644 --- a/scripts/functions +++ b/scripts/functions @@ -599,7 +599,7 @@ CT_ExtractAndPatch() { .tar) base=$(tar tf "${full_file}" |head -n 1 |cut -d / -f 1 || true);; esac CT_TestOrAbort "There was a problem when extracting '${file}'" -d "${base}" -o "${base}" != "${file}" - mv "${base}" "${file}" + ln -s "${base}" "${file}" fi # Kludge: outside this function, we wouldn't know if we had just extracted