Fix up timestamps after patching

... so that autotools-based packages do not re-run autoconf/autoheader/automake.

Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
Alexey Neyman 2018-09-28 11:43:45 -07:00
parent 6ad79d8932
commit efe65615d0
2 changed files with 14 additions and 1 deletions

View File

@ -26,7 +26,6 @@ do_libc_extract() {
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 the configure timestamp fix in all patched packages (e.g. part of CT_ExtractPatch)
}
# Build and install headers and start files

View File

@ -2165,6 +2165,20 @@ CT_DoExtractPatch()
CT_DoExecLog ALL "${CT_CONFIG_SHELL}" -c "${devel_bootstrap}"
fi
# Fix up the timestamps on the file we may be patching: otherwise, we may
# have a circular dependency. For example, we need make to build autoconf
# and automake companion tools, but we need autoconf and automake to regenerate
# aclocal.m4 or config.h.in after the patch touches configure.ac. Instead,
# assume the patch fixes all the files it needs.
find . -type f -name "aclocal.m4" \
-exec touch {} \; -exec echo touch {} \; | CT_DoLog ALL
find . -type f -name "config.h.in" \
-exec touch {} \; -exec echo touch {} \; | CT_DoLog ALL
find . -type f -name "Makefile.in" \
-exec touch {} \; -exec echo touch {} \; | CT_DoLog ALL
find . -type f -name "configure" \
-exec touch {} \; -exec echo touch {} \; | CT_DoLog ALL
if [ -n "${patchfunc}" ]; then
${patchfunc}
fi