[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] build: use gnulib's new bootstrap_sync option.
From: |
Joel E. Denny |
Subject: |
[PATCH] build: use gnulib's new bootstrap_sync option. |
Date: |
Sun, 21 Nov 2010 10:28:32 -0500 (EST) |
User-agent: |
Alpine 1.00 (DEB 882 2007-12-20) |
I pushed this to master and branch-2.5.
>From 10bae98af27edbb84a06d82a20a63ad7a0cca688 Mon Sep 17 00:00:00 2001
From: Joel E. Denny <address@hidden>
Date: Sun, 21 Nov 2010 10:07:13 -0500
Subject: [PATCH] build: use gnulib's new bootstrap_sync option.
Now, whenever we update bison's copy of gnulib, bootstrap will
update itself the next time it's run.
* bootstrap: Copy from latest gnulib for bootstrap_sync support.
* bootstrap.conf (bootstrap_sync): Set to true.
* gnulib: Update to latest so bootstrap is in sync now.
---
ChangeLog | 9 +++++++++
bootstrap | 43 ++++++++++++++++++++++++++++++++++---------
bootstrap.conf | 2 ++
gnulib | 2 +-
4 files changed, 46 insertions(+), 10 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 41ba7e5..154fd35 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2010-11-21 Joel E. Denny <address@hidden>
+
+ build: use gnulib's new bootstrap_sync option.
+ Now, whenever we update bison's copy of gnulib, bootstrap will
+ update itself the next time it's run.
+ * bootstrap: Copy from latest gnulib for bootstrap_sync support.
+ * bootstrap.conf (bootstrap_sync): Set to true.
+ * gnulib: Update to latest so bootstrap is in sync now.
+
2010-11-07 Joel E. Denny <address@hidden>
yysyntax_error: fix for consistent error with lookahead.
diff --git a/bootstrap b/bootstrap
index 8c8d777..dcd4773 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
#! /bin/sh
# Print a version string.
-scriptversion=2010-10-08.16; # UTC
+scriptversion=2010-11-20.03; # UTC
# Bootstrap this package from checked-out sources.
@@ -54,6 +54,12 @@ Options:
have gnulib sources on your machine, and
do not want to waste your bandwidth downloading
them again. Defaults to \$GNULIB_SRCDIR.
+ --bootstrap-sync If this bootstrap script is not identical to
+ the version in the local gnulib sources,
+ update this script, and then restart it with
+ /bin/sh or the shell \$CONFIG_SHELL if
+ defined.
+ --no-bootstrap-sync Do not check whether bootstrap is out of sync.
--copy Copy files instead of creating symbolic links.
--force Attempt to bootstrap even if the sources seem
not to have been checked out.
@@ -168,6 +174,10 @@ copy=false
# on which version control system (if any) is used in the source directory.
vc_ignore=auto
+# Set this to true in bootstrap.conf to enable --bootstrap-sync by
+# default.
+bootstrap_sync=false
+
# find_tool ENVVAR NAMES...
# -------------------------
# Search for a required program. Use the value of ENVVAR, if set,
@@ -239,6 +249,10 @@ do
checkout_only_file=;;
--copy)
copy=true;;
+ --bootstrap-sync)
+ bootstrap_sync=true;;
+ --no-bootstrap-sync)
+ bootstrap_sync=false;;
*)
echo >&2 "$0: $option: unknown option"
exit 1;;
@@ -344,17 +358,18 @@ get_version() {
$app --version >/dev/null 2>&1 || return 1
$app --version 2>&1 |
- sed -n '# extract version within line
- s/.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/
- t done
+ sed -n '# Move version to start of line.
+ s/.*[v ]\([0-9]\)/\1/
+
+ # Skip lines that do not start with version.
+ /^[0-9]/!d
- # extract version at start of line
- s/^\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/
- t done
+ # Remove characters after the version.
+ s/[^.a-z0-9-].*//
- d
+ # The first component must be digits only.
+ s/^\([0-9]*\)[a-z-].*/\1/
- :done
#the following essentially does s/5.005/5.5/
s/\.0*\([1-9]\)/.\1/g
p
@@ -500,6 +515,16 @@ case ${GNULIB_SRCDIR--} in
;;
esac
+if $bootstrap_sync; then
+ cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || {
+ echo "$0: updating bootstrap and restarting..."
+ exec sh -c \
+ 'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
+ -- "$GNULIB_SRCDIR/build-aux/bootstrap" \
+ "$0" "$@" --no-bootstrap-sync
+ }
+fi
+
gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
<$gnulib_tool || exit
diff --git a/bootstrap.conf b/bootstrap.conf
index 5d67087..870d5c8 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -71,3 +71,5 @@ bootstrap_epilogue()
# the time of a bootstrap.
touch src/parse-gram.[ch]
}
+
+bootstrap_sync=true
diff --git a/gnulib b/gnulib
index 8b9b4bb..9aa2d4c 160000
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit 8b9b4bbba5041e107a8dea35e78d28dd3cc979f7
+Subproject commit 9aa2d4c522f12870229df0fd01d3140bddf94317
--
1.7.0.4
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] build: use gnulib's new bootstrap_sync option.,
Joel E. Denny <=