This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project iwhd.git.
The branch, master has been updated
via f22452b530a85b36a50cc8f7dc9fb9ea8387389b (commit)
via 6d0ab2da3a3fb3c92dde97a4072a317a8a63bba3 (commit)
via ad4a71c5af22dd71c159181b37e63fc9ff16a31b (commit)
via 1bd814bab002ff719896c7ce6717f5758a73791d (commit)
from 923ba16951c01909de4ef456baf9bc410844f055 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://repo.or.cz/w/iwhd.git/commit/f22452b530a85b36a50cc8f7dc9fb9ea8387389b
commit f22452b530a85b36a50cc8f7dc9fb9ea8387389b
Author: Jeff Darcy <jdarcy(a)redhat.com>
Date: Fri Feb 4 17:33:30 2011 +0100
don't segfault on a simple query
* qparser.y (free_value): Don't free v->resolved.
(string_value): Disable caching of v->resolved.
* rest.c (proxy_query): Don't free ms here. It's still in use.
* t/basic: Add test case to trigger crash reported by Steve Loranz.
diff --git a/qparser.y b/qparser.y
index 64f025a..d70334a 100644
--- a/qparser.y
+++ b/qparser.y
@@ -394,7 +394,7 @@ free_value (value_t *v)
return;
}
- free((void *)v->resolved);
+ //free((void *)v->resolved);
switch (v->type) {
case T_STRING:
@@ -450,6 +450,9 @@ string_value (value_t *v, const getter_t *oget, const getter_t *sget)
{
const char *left;
+ /* Disable this caching, which seems to be invalid. */
+ v->resolved = NULL;
+
switch (v->type) {
case T_STRING:
return v->as_str;
diff --git a/rest.c b/rest.c
index 21df05b..cb4e238 100644
--- a/rest.c
+++ b/rest.c
@@ -854,7 +854,7 @@ proxy_query (void *cctx, struct MHD_Connection *conn, const char
*url,
}
MHD_queue_response(conn,MHD_HTTP_OK,resp);
MHD_destroy_response(resp);
- free_ms(ms);
+ //free_ms(ms);
}
return MHD_YES;
diff --git a/t/basic b/t/basic
index 6a30fcc..d828ac2 100644
--- a/t/basic
+++ b/t/basic
@@ -257,6 +257,16 @@ for i in xml json; do
done
+# Crash reported by Steve Loranz
+curl -f -X PUT
http://localhost:$port/b99
+echo hello | curl -T -
http://localhost:$port/b99/my_file
+printf mock | curl -T -
http://localhost:$port/b99/my_file/target
+curl -H 'Accept: */json' -d '$target=="mock"' +
http://localhost:$port/b99/_query > q.xml
+tr -s 't n' ' ' < q.xml > k && mv k q.xml
+printf '[ { "bucket": "b99", "key": "my_file"
} ] ' > exp.xml
+compare q.xml exp.xml || fail=1
+
# Add a single attribute to an object using the PUT method.
bucket=$bucket
printf nothing | curl -T - $bucket/attr_put || fail=1
http://repo.or.cz/w/iwhd.git/commit/6d0ab2da3a3fb3c92dde97a4072a317a8a63bba3
commit 6d0ab2da3a3fb3c92dde97a4072a317a8a63bba3
Author: Jim Meyering <meyering(a)redhat.com>
Date: Tue Jan 25 11:12:05 2011 +0100
tests: reenable excluded gnulib test; run gnulib-tests first
* bootstrap.conf: Don't disable malloca-test. It has been fixed
so it is no longer so slow.
* Makefile.am (SUBDIRS): Run gnulib-tests before ours,
so the results of ours aren't displaced as gnulib's scroll by.
diff --git a/Makefile.am b/Makefile.am
index ce65678..ddafa71 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -20,7 +20,7 @@ AM_CPPFLAGS = -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
iwhd_YFLAGS = -d
-SUBDIRS = lib . t man gnulib-tests
+SUBDIRS = lib . gnulib-tests t man
ACLOCAL_AMFLAGS = -I m4
# iwhd is short for Image WareHouse Daemon.
diff --git a/bootstrap.conf b/bootstrap.conf
index 36685ff..625efb4 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -15,11 +15,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <
http://www.gnu.org/licenses/>.
-# This test is fine, but inordinately slow.
-avoided_gnulib_modules='
- --avoid=malloca-tests
-'
-
# gnulib modules used by this package.
gnulib_modules='
announce-gen
http://repo.or.cz/w/iwhd.git/commit/ad4a71c5af22dd71c159181b37e63fc9ff16a31b
commit ad4a71c5af22dd71c159181b37e63fc9ff16a31b
Author: Jim Meyering <meyering(a)redhat.com>
Date: Fri Feb 4 09:17:17 2011 +0100
build: update gnulib submodule to latest
diff --git a/.gitignore b/.gitignore
index 892be03..f95dca3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,9 @@
*.o
+*/.deps
*~
.#*
.deps
+/GNUmakefile
/aclocal.m4
/autom4te.cache/
/build-aux
@@ -10,11 +12,14 @@
/config.log
/config.status
/configure
+/gnulib-tests
/iwhd
/iwhd-*.tar.gz
/iwhd-qparser.c
/iwhd-qparser.h
/iwhd.spec
+/m4/.gitignore
+/maint.mk
/man/iwhd.8
/qlexer.c
/stamp-h1
@@ -25,5 +30,3 @@ ChangeLog
Makefile
Makefile.in
#*#
-/GNUmakefile
-/gnulib-tests
diff --git a/doc/.gitignore b/doc/.gitignore
index df37308..e7a8672 100644
--- a/doc/.gitignore
+++ b/doc/.gitignore
@@ -1 +1,2 @@
+/gendocs_template
gendocs_template
diff --git a/gnulib b/gnulib
index 9040dc9..a036b76 160000
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit 9040dc9567e2b0c9268f5a1e5c84173c0db6d37a
+Subproject commit a036b7684f9671ee53999773785d1865603c3849
diff --git a/gnulib-tests/.gitignore b/gnulib-tests/.gitignore
index 43d1106..8c4281e 100644
--- a/gnulib-tests/.gitignore
+++ b/gnulib-tests/.gitignore
@@ -1,3 +1,103 @@
+/alloca.h
+/alloca.in.h
+/binary-io.h
+/dup2.c
+/fcntl.h
+/fcntl.in.h
+/getpagesize.c
+/gnulib.mk
+/ignore-value.h
+/init.sh
+/lstat.c
+/macros.h
+/malloca.c
+/malloca.h
+/malloca.valgrind
+/open.c
+/pathmax.h
+/putenv.c
+/same-inode.h
+/setenv.c
+/signature.h
+/stat.c
+/stdio-write.c
+/stdio.h
+/stdio.in.h
+/symlink.c
+/sys
+/sys_stat.h
+/sys_stat.in.h
+/test-alloca-opt.c
+/test-binary-io.c
+/test-binary-io.sh
+/test-c-ctype.c
+/test-dirname.c
+/test-dup2.c
+/test-environ.c
+/test-errno.c
+/test-fcntl-h.c
+/test-fpending.c
+/test-fpending.sh
+/test-getopt.c
+/test-getopt.h
+/test-getopt_long.h
+/test-ignore-value.c
+/test-inttypes.c
+/test-lstat.c
+/test-lstat.h
+/test-malloc-gnu.c
+/test-mbrtowc.c
+/test-mbrtowc1.sh
+/test-mbrtowc2.sh
+/test-mbrtowc3.sh
+/test-mbrtowc4.sh
+/test-mbsinit.c
+/test-mbsinit.sh
+/test-memchr.c
+/test-open.c
+/test-open.h
+/test-quotearg-simple.c
+/test-quotearg.h
+/test-realloc-gnu.c
+/test-setenv.c
+/test-stat.c
+/test-stat.h
+/test-stdbool.c
+/test-stddef.c
+/test-stdint.c
+/test-stdio.c
+/test-stdlib.c
+/test-strerror.c
+/test-string.c
+/test-strnlen.c
+/test-symlink.c
+/test-symlink.h
+/test-sys_stat.c
+/test-sys_wait.h
+/test-time.c
+/test-unistd.c
+/test-unsetenv.c
+/test-update-copyright.sh
+/test-vc-list-files-cvs.sh
+/test-vc-list-files-git.sh
+/test-verify.c
+/test-verify.sh
+/test-version-etc.c
+/test-version-etc.sh
+/test-wchar.c
+/test-wctype.c
+/test-xalloc-die.c
+/test-xalloc-die.sh
+/test-xstrtol.c
+/test-xstrtol.sh
+/test-xstrtoul.c
+/test-xstrtoumax.c
+/test-xstrtoumax.sh
+/time.h
+/time.in.h
+/unsetenv.c
+/wctob.c
+/zerosize-ptr.h
alloca.h
alloca.in.h
binary-io.h
diff --git a/lib/.gitignore b/lib/.gitignore
index 22f818d..dc5f382 100644
--- a/lib/.gitignore
+++ b/lib/.gitignore
@@ -1,95 +1,105 @@
-basename-lgpl.c
-basename.c
-c-ctype.c
-c-ctype.h
-close-stream.c
-close-stream.h
-closeout.c
-closeout.h
-config.charset
-dirname-lgpl.c
-dirname.c
-dirname.h
-errno.h
-errno.in.h
-error.c
-error.h
-exitfail.c
-exitfail.h
-fpending.c
-fpending.h
-getopt.c
-getopt.h
-getopt.in.h
-getopt1.c
-getopt_int.h
-gettext.h
-gnulib.mk
-intprops.h
-inttypes.h
-inttypes.in.h
-iswblank.c
-localcharset.c
-localcharset.h
-malloc.c
-mbrtowc.c
-mbsinit.c
-memchr.c
-memchr.valgrind
-progname.c
-progname.h
-quotearg.c
-quotearg.h
-realloc.c
-ref-add.sed
-ref-add.sin
-ref-del.sed
-ref-del.sin
-stdarg.h
-stdarg.in.h
-stdbool.h
-stdbool.in.h
-stddef.h
-stddef.in.h
-stdint.h
-stdint.in.h
-stdlib.h
-stdlib.in.h
-stpcpy.c
-streq.h
-strerror.c
-string.h
-string.in.h
-stripslash.c
-strndup.c
-strnlen.c
-strtoimax.c
-strtol.c
-strtoll.c
-strtoul.c
-strtoull.c
-strtoumax.c
-sys
-sys_wait.h
-sys_wait.in.h
-unistd.h
-unistd.in.h
-unlocked-io.h
-verify.h
-version-etc-fsf.c
-version-etc.c
-version-etc.h
-wchar.h
-wchar.in.h
-wctype.h
-wctype.in.h
-xalloc-die.c
-xalloc.h
-xmalloc.c
-xstrndup.c
-xstrndup.h
-xstrtol-error.c
-xstrtol.c
-xstrtol.h
-xstrtoul.c
-xstrtoumax.c
+/arg-nonnull.h
+/basename-lgpl.c
+/basename.c
+/bitrotate.h
+/c++defs.h
+/c-ctype.c
+/c-ctype.h
+/charset.alias
+/close-stream.c
+/close-stream.h
+/closeout.c
+/closeout.h
+/config.charset
+/configmake.h
+/dirname-lgpl.c
+/dirname.c
+/dirname.h
+/errno.h
+/errno.in.h
+/error.c
+/error.h
+/exitfail.c
+/exitfail.h
+/fpending.c
+/fpending.h
+/getopt.c
+/getopt.h
+/getopt.in.h
+/getopt1.c
+/getopt_int.h
+/gettext.h
+/gnulib.mk
+/hash-pjw.c
+/hash-pjw.h
+/hash.c
+/hash.h
+/intprops.h
+/inttypes.h
+/inttypes.in.h
+/iswblank.c
+/libiwhd.a
+/localcharset.c
+/localcharset.h
+/malloc.c
+/mbrtowc.c
+/mbsinit.c
+/memchr.c
+/memchr.valgrind
+/progname.c
+/progname.h
+/quotearg.c
+/quotearg.h
+/realloc.c
+/ref-add.sed
+/ref-add.sin
+/ref-del.sed
+/ref-del.sin
+/stdarg.h
+/stdarg.in.h
+/stdbool.h
+/stdbool.in.h
+/stddef.h
+/stddef.in.h
+/stdint.h
+/stdint.in.h
+/stdlib.h
+/stdlib.in.h
+/stpcpy.c
+/streq.h
+/strerror.c
+/string.h
+/string.in.h
+/stripslash.c
+/strndup.c
+/strnlen.c
+/strtoimax.c
+/strtol.c
+/strtoll.c
+/strtoul.c
+/strtoull.c
+/strtoumax.c
+/sys
+/sys_wait.in.h
+/unistd.h
+/unistd.in.h
+/unlocked-io.h
+/verify.h
+/version-etc-fsf.c
+/version-etc.c
+/version-etc.h
+/warn-on-use.h
+/wchar.h
+/wchar.in.h
+/wctype.h
+/wctype.in.h
+/xalloc-die.c
+/xalloc.h
+/xmalloc.c
+/xstrndup.c
+/xstrndup.h
+/xstrtol-error.c
+/xstrtol.c
+/xstrtol.h
+/xstrtoul.c
+/xstrtoumax.c
http://repo.or.cz/w/iwhd.git/commit/1bd814bab002ff719896c7ce6717f5758a73791d
commit 1bd814bab002ff719896c7ce6717f5758a73791d
Author: Jim Meyering <meyering(a)redhat.com>
Date: Fri Feb 4 09:17:01 2011 +0100
maint: update files copied from gnulib
* t/init.sh: Update from gnulib.
* bootstrap: Likewise.
diff --git a/bootstrap b/bootstrap
index f3e3be2..e9ec11e 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
#! /bin/sh
# Print a version string.
-scriptversion=2010-07-06.10; # UTC
+scriptversion=2011-01-21.16; # UTC
# Bootstrap this package from checked-out sources.
@@ -42,24 +42,32 @@ local_gl_dir=gl
bt='._bootmp'
bt_regex=`echo "$bt"| sed 's/./[.]/g'`
bt2=${bt}2
+me=$0
usage() {
cat <<EOF
-Usage: $0 [OPTION]...
+Usage: $me [OPTION]...
Bootstrap this package from the checked-out sources.
Options:
- --gnulib-srcdir=DIRNAME Specify the local directory where gnulib
+ --gnulib-srcdir=DIRNAME specify the local directory where gnulib
sources reside. Use this if you already
have gnulib sources on your machine, and
do not want to waste your bandwidth downloading
- them again. Defaults to $GNULIB_SRCDIR.
- --copy Copy files instead of creating symbolic links.
- --force Attempt to bootstrap even if the sources seem
- not to have been checked out.
- --skip-po Do not download po files.
-
-If the file $0.conf exists in the same directory as this script, its
+ 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
+ --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
+ --no-git do not use git to update gnulib. Requires that
+ --gnulib-srcdir point to a correct gnulib snapshot
+ --skip-po do not download po files
+
+If the file $me.conf exists in the same directory as this script, its
contents are read as shell variables to configure the bootstrap.
For build prerequisites, environment variables like $AUTOCONF and $AMTAR
@@ -80,6 +88,10 @@ gnulib_modules=
# Any gnulib files needed that are not in modules.
gnulib_files=
+# A function to be called to edit gnulib.mk right after it's created.
+# Override it via your own definition in bootstrap.conf.
+gnulib_mk_hook() { :; }
+
# A function to be called after everything else in this script.
# Override it via your own definition in bootstrap.conf.
bootstrap_epilogue() { :; }
@@ -164,6 +176,13 @@ 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
+
+# Use git to update gnulib sources
+use_git=true
+
# find_tool ENVVAR NAMES...
# -------------------------
# Search for a required program. Use the value of ENVVAR, if set,
@@ -188,11 +207,11 @@ find_tool ()
find_tool_error_prefix="$$find_tool_envvar: "
fi
if test x"$find_tool_res" = x; then
- echo >&2 "$0: one of these is required: $find_tool_names"
+ echo >&2 "$me: one of these is required: $find_tool_names"
exit 1
fi
($find_tool_res --version </dev/null) >/dev/null 2>&1 || {
- echo >&2 "$0: ${find_tool_error_prefix}cannot run $find_tool_res
--version"
+ echo >&2 "$me: ${find_tool_error_prefix}cannot run $find_tool_res
--version"
exit 1
}
eval "$find_tool_envvar=$find_tool_res"
@@ -235,12 +254,25 @@ do
checkout_only_file=;;
--copy)
copy=true;;
+ --bootstrap-sync)
+ bootstrap_sync=true;;
+ --no-bootstrap-sync)
+ bootstrap_sync=false;;
+ --no-git)
+ use_git=false;;
*)
echo >&2 "$0: $option: unknown option"
exit 1;;
esac
done
+if $use_git || test -d "$GNULIB_SRCDIR"; then
+ :
+else
+ echo "$0: Error: --no-git requires --gnulib-srcdir" >&2
+ exit 1
+fi
+
if test -n "$checkout_only_file" && test ! -r
"$checkout_only_file"; then
echo "$0: Bootstrapping from a non-checked-out distribution is risky."
>&2
exit 1
@@ -257,6 +289,21 @@ insert_sorted_if_absent() {
|| exit 1
}
+# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with
+# insert_sorted_if_absent.
+insert_vc_ignore() {
+ vc_ignore_file="$1"
+ pattern="$2"
+ case $vc_ignore_file in
+ *.gitignore)
+ # A .gitignore entry that does not start with `/' applies
+ # recursively to subdirectories, so prepend `/' to every
+ # .gitignore entry.
+ pattern=`echo "$pattern" | sed s,^,/,`;;
+ esac
+ insert_sorted_if_absent "$vc_ignore_file" "$pattern"
+}
+
# Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
found_aux_dir=no
grep '^[ ]*AC_CONFIG_AUX_DIR(['"$build_aux"'])' configure.ac
@@ -275,7 +322,7 @@ if test ! -d $build_aux; then
mkdir $build_aux
for dot_ig in x $vc_ignore; do
test $dot_ig = x && continue
- insert_sorted_if_absent $dot_ig $build_aux
+ insert_vc_ignore $dot_ig $build_aux
done
fi
@@ -325,17 +372,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
@@ -346,18 +394,26 @@ check_versions() {
ret=0
while read app req_ver; do
+ # We only need libtoolize from the libtool package.
+ if test "$app" = libtool; then
+ app=libtoolize
+ fi
+ # Exempt git if --no-git is in effect.
+ if test "$app" = git; then
+ $use_git || continue
+ fi
# Honor $APP variables ($TAR, $AUTOCONF, etc.)
- appvar=`echo $app | tr '[a-z]' '[A-Z]'`
+ appvar=`echo $app | tr '[a-z]-' '[A-Z]_'`
test "$appvar" = TAR && appvar=AMTAR
eval "app=${$appvar-$app}"
inst_ver=$(get_version $app)
if [ ! "$inst_ver" ]; then
- echo "Error: '$app' not found" >&2
+ echo "$me: Error: '$app' not found" >&2
ret=1
elif [ ! "$req_ver" = "-" ]; then
latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2)
if [ ! "$latest_ver" = "$inst_ver" ]; then
- echo "Error: '$app' version == $inst_ver is too old"
>&2
+ echo "$me: Error: '$app' version == $inst_ver is too old"
>&2
echo " '$app' version >= $req_ver is required"
>&2
ret=1
fi
@@ -370,16 +426,30 @@ check_versions() {
print_versions() {
echo "Program Min_version"
echo "----------------------"
- printf "$buildreq"
+ printf %s "$buildreq"
echo "----------------------"
# can't depend on column -t
}
+use_libtool=0
+# We'd like to use grep -E, to see if any of LT_INIT,
+# AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
+# but that's not portable enough (e.g., for Solaris).
+grep '^[ ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null + &&
use_libtool=1
+grep '^[ ]*LT_INIT' configure.ac >/dev/null + && use_libtool=1
+if test $use_libtool = 1; then
+ find_tool LIBTOOLIZE glibtoolize libtoolize
+fi
+
if ! printf "$buildreq" | check_versions; then
- test -f README-prereq &&
- echo "See README-prereq for notes on obtaining these prerequisite programs:"
>&2
- echo
- print_versions
+ echo >&2
+ if test -f README-prereq; then
+ echo "$0: See README-prereq for how to get the prerequisite programs"
>&2
+ else
+ echo "$0: Please install the prerequisite programs" >&2
+ fi
exit 1
fi
@@ -390,11 +460,11 @@ if test -d .git && (git --version) >/dev/null
2>/dev/null ; then
if git config merge.merge-changelog.driver >/dev/null ; then
:
elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then
- echo "initializing git-merge-changelog driver"
+ echo "$0: initializing git-merge-changelog driver"
git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver'
git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B'
else
- echo "consider installing git-merge-changelog from gnulib"
+ echo "$0: consider installing git-merge-changelog from gnulib"
fi
fi
@@ -410,7 +480,7 @@ git_modules_config () {
}
gnulib_path=`git_modules_config submodule.gnulib.path`
-: ${gnulib_path=gnulib}
+test -z "$gnulib_path" && gnulib_path=gnulib
# Get gnulib files.
@@ -463,6 +533,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
@@ -471,7 +551,7 @@ gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
download_po_files() {
subdir=$1
domain=$2
- echo "$0: getting translations into $subdir for $domain..."
+ echo "$me: getting translations into $subdir for $domain..."
cmd=`printf "$po_download_command_format" "$domain"
"$subdir"`
eval "$cmd"
}
@@ -505,7 +585,7 @@ update_po_files() {
! test -f "$po_dir/$po.po" ||
! $SHA1SUM -c --status "$cksum_file" <
"$new_po" > /dev/null; then
- echo "updated $po_dir/$po.po..."
+ echo "$me: updated $po_dir/$po.po..."
cp "$new_po" "$po_dir/$po.po" && $SHA1SUM
< "$new_po" > "$cksum_file"
fi
@@ -543,20 +623,20 @@ symlink_to_dir()
for dot_ig in x $vc_ignore; do
test $dot_ig = x && continue
ig=$parent/$dot_ig
- insert_sorted_if_absent $ig `echo "$dst_dir"|sed 's,.*/,,'`
+ insert_vc_ignore $ig `echo "$dst_dir"|sed 's,.*/,,'`
done
fi
if $copy; then
{
test ! -h "$dst" || {
- echo "$0: rm -f $dst" &&
+ echo "$me: rm -f $dst" &&
rm -f "$dst"
}
} &&
test -f "$dst" &&
cmp -s "$src" "$dst" || {
- echo "$0: cp -fp $src $dst" &&
+ echo "$me: cp -fp $src $dst" &&
cp -fp "$src" "$dst"
}
else
@@ -570,7 +650,7 @@ symlink_to_dir()
*)
case /$dst/ in
*//* | */../* | */./* | /*/*/*/*/*/)
- echo >&2 "$0: invalid symlink calculation: $src ->
$dst"
+ echo >&2 "$me: invalid symlink calculation: $src ->
$dst"
exit 1;;
/*/*/*/*/) dot_dots=../../../;;
/*/*/*/) dot_dots=../../;;
@@ -578,7 +658,7 @@ symlink_to_dir()
esac;;
esac
- echo "$0: ln -fs $dot_dots$src $dst" &&
+ echo "$me: ln -fs $dot_dots$src $dst" &&
ln -fs "$dot_dots$src" "$dst"
}
fi
@@ -611,7 +691,7 @@ cp_mark_as_generated()
cmp -s "$cp_src" "$cp_dst" || {
# Copy the file first to get proper permissions if it
# doesn't already exist. Then overwrite the copy.
- echo "$0: cp -f $cp_src $cp_dst" &&
+ echo "$me: cp -f $cp_src $cp_dst" &&
rm -f "$cp_dst" &&
cp "$cp_src" "$cp_dst-t" &&
sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst-t"
&&
@@ -629,7 +709,7 @@ cp_mark_as_generated()
if cmp -s "$cp_dst-t" "$cp_dst"; then
rm -f "$cp_dst-t"
else
- echo "$0: cp $cp_src $cp_dst # with edits" &&
+ echo "$me: cp $cp_src $cp_dst # with edits" &&
mv -f "$cp_dst-t" "$cp_dst"
fi
fi
@@ -648,7 +728,7 @@ version_controlled_file() {
elif test -d .svn; then
svn log -r HEAD "$dir/$file" > /dev/null 2>&1 &&
found=yes
else
- echo "$0: no version control for $dir/$file?" >&2
+ echo "$me: no version control for $dir/$file?" >&2
fi
test $found = yes
}
@@ -660,7 +740,8 @@ slurp() {
for file in `ls -a $1/$dir`; do
case $file in
.|..) continue;;
- .*) continue;; # FIXME: should all file names starting with "." be
ignored?
+ # FIXME: should all file names starting with "." be ignored?
+ .*) continue;;
esac
test -d $1/$dir/$file && continue
for excluded_file in $excluded_files; do
@@ -669,18 +750,20 @@ slurp() {
if test $file = Makefile.am && test "X$gnulib_mk" !=
XMakefile.am; then
copied=$copied${sep}$gnulib_mk; sep=$nl
remove_intl='/^[^#].*/intl/s/^/#/;'"s!$bt_regex/!!g"
- sed "$remove_intl" $1/$dir/$file | cmp - $dir/$gnulib_mk > /dev/null
|| {
- echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
+ sed "$remove_intl" $1/$dir/$file |
+ cmp - $dir/$gnulib_mk > /dev/null || {
+ echo "$me: Copying $1/$dir/$file to $dir/$gnulib_mk ..." &&
rm -f $dir/$gnulib_mk &&
- sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk
+ sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk &&
+ gnulib_mk_hook $dir/$gnulib_mk
}
elif { test "${2+set}" = set && test -r $2/$dir/$file; } ||
version_controlled_file $dir $file; then
- echo "$0: $dir/$file overrides $1/$dir/$file"
+ echo "$me: $dir/$file overrides $1/$dir/$file"
else
copied=$copied$sep$file; sep=$nl
if test $file = gettext.m4; then
- echo "$0: patching m4/gettext.m4 to remove need for intl/* ..."
+ echo "$me: patching m4/gettext.m4 to remove need for intl/* ..."
rm -f $dir/$file
sed '
/^AC_DEFUN([AM_INTL_SUBDIR],/,/^]/c@@ -700,18 +783,25 @@ slurp() {
test $dot_ig = x && continue
ig=$dir/$dot_ig
if test -n "$copied"; then
- insert_sorted_if_absent $ig "$copied"
+ insert_vc_ignore $ig "$copied"
# If an ignored file name ends with .in.h, then also add
# the name with just ".h". Many gnulib headers are generated,
# e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc.
# Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed
- f=`echo "$copied"|sed
's/.in.h$/.h/;s/.sin$/.sed/;s/.y$/.c/;s/.gperf$/.h/'`
- insert_sorted_if_absent $ig "$f"
+ f=`echo "$copied" |
+ sed '
+ s/.in.h$/.h/
+ s/.sin$/.sed/
+ s/.y$/.c/
+ s/.gperf$/.h/
+ '
+ `
+ insert_vc_ignore $ig "$f"
# For files like sys_stat.in.h and sys_time.in.h, record as
# ignorable the directory we might eventually create: sys/.
f=`echo "$copied"|sed 's/sys_.*.in.h$/sys/'`
- insert_sorted_if_absent $ig "$f"
+ insert_vc_ignore $ig "$f"
fi
done
done
@@ -736,6 +826,12 @@ gnulib_tool_options=" --local-dir $local_gl_dir
$gnulib_tool_option_extras "
+if test $use_libtool = 1; then
+ case "$gnulib_tool_options " in
+ *' --libtool '*) ;;
+ *) gnulib_tool_options="$gnulib_tool_options --libtool" ;;
+ esac
+fi
echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
slurp $bt || exit
@@ -778,20 +874,12 @@ grep -E '^[ ]*AC_CONFIG_HEADERS?>' configure.ac
>/dev/null ||
for command in libtool - "${ACLOCAL-aclocal} --force -I m4" +
"${ACLOCAL-aclocal} --force -I m4 $ACLOCAL_FLAGS" "${AUTOCONF-autoconf}
--force" "${AUTOHEADER-autoheader} --force"
"${AUTOMAKE-automake} --add-missing --copy --force-missing"
do
if test "$command" = libtool; then
- use_libtool=0
- # We'd like to use grep -E, to see if any of LT_INIT,
- # AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
- # but that's not portable enough (e.g., for Solaris).
- grep '^[ ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null - &&
use_libtool=1
- grep '^[ ]*LT_INIT' configure.ac >/dev/null - &&
use_libtool=1
test $use_libtool = 0 && continue
command="${LIBTOOLIZE-libtoolize} -c -f"
diff --git a/t/init.sh b/t/init.sh
index 366701a..71c6516 100644
--- a/t/init.sh
+++ b/t/init.sh
@@ -74,10 +74,10 @@ Exit () { set +e; (exit $1); exit $1; }
# the reason for skip/failure to console, rather than to the .log files.
: ${stderr_fileno_=2}
-warn_() { echo "$@" 1>&$stderr_fileno_; }
-fail_() { warn_ "$ME_: failed test: $@"; Exit 1; }
-skip_() { warn_ "$ME_: skipped test: $@"; Exit 77; }
-framework_failure_() { warn_ "$ME_: set-up failure: $@"; Exit 99; }
+warn_ () { echo "$@" 1>&$stderr_fileno_; }
+fail_ () { warn_ "$ME_: failed test: $@"; Exit 1; }
+skip_ () { warn_ "$ME_: skipped test: $@"; Exit 77; }
+framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; }
# Sanitize this shell to POSIX mode, if possible.
DUALCASE=1; export DUALCASE
@@ -111,7 +111,7 @@ fi
# Eval this code in a subshell to determine a shell's suitability.
# 10 - passes all tests; ok to use
-# 9 - ok, but enabling "set -x" corrupts application stderr; prefer higher
score
+# 9 - ok, but enabling "set -x" corrupts app stderr; prefer higher score
# ? - not ok
gl_shell_test_script_='
test $(echo y) = y || exit 1
@@ -193,7 +193,7 @@ fi
test -n "$EXEEXT" && shopt -s expand_aliases
# Enable glibc's malloc-perturbing option.
-# This is cheap and useful for exposing code that depends on the fact that
+# This is useful for exposing code that depends on the fact that
# malloc-related functions often return memory that is mostly zeroed.
# If you have the time and cycles, use valgrind to do an even better job.
: ${MALLOC_PERTURB_=87}
@@ -202,22 +202,22 @@ export MALLOC_PERTURB_
# This is a stub function that is run upon trap (upon regular exit and
# interrupt). Override it with a per-test function, e.g., to unmount
# a partition, or to undo any other global state changes.
-cleanup_() { :; }
+cleanup_ () { :; }
if ( diff --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1;
then
- compare() { diff -u "$@"; }
+ compare () { diff -u "$@"; }
elif ( cmp --version < /dev/null 2>&1 | grep GNU ) > /dev/null 2>&1;
then
- compare() { cmp -s "$@"; }
+ compare () { cmp -s "$@"; }
else
- compare() { cmp "$@"; }
+ compare () { cmp "$@"; }
fi
# An arbitrary prefix to help distinguish test directories.
-testdir_prefix_() { printf gt; }
+testdir_prefix_ () { printf gt; }
# Run the user-overridable cleanup_ function, remove the temporary
# directory and exit with the incoming value of $?.
-remove_tmp_()
+remove_tmp_ ()
{
__st=$?
cleanup_
@@ -233,7 +233,7 @@ remove_tmp_()
# contains only the specified bytes (see the case stmt below), then print
# a space-separated list of those names and return 0. Otherwise, don't
# print anything and return 1. Naming constraints apply also to DIR.
-find_exe_basenames_()
+find_exe_basenames_ ()
{
feb_dir_=$1
feb_fail_=0
@@ -245,6 +245,9 @@ find_exe_basenames_()
# below, just skip it.
test "x$feb_file_" = "x$feb_dir_/*.exe" && test ! -f
"$feb_file_" && continue
+ # Exempt [.exe, since we can't create a function by that name, yet
+ # we can't invoke [ by PATH search anyways due to shell builtins.
+ test "x$feb_file_" = "x$feb_dir_/[.exe" && continue
case $feb_file_ in
*[!-a-zA-Z/0-9_.+]*) feb_fail_=1; break;;
*) # Remove leading file name components as well as the .exe suffix.
@@ -263,7 +266,7 @@ find_exe_basenames_()
# PROG that simply invokes PROG.exe, then return 0. If any selected
# file name or the directory name, $1, contains an unexpected character,
# define no alias and return 1.
-create_exe_shims_()
+create_exe_shims_ ()
{
case $EXEEXT in
'') return 0 ;;
@@ -272,7 +275,7 @@ create_exe_shims_()
esac
base_names_=`find_exe_basenames_ $1` - || { echo "$0 (exe_shim): skipping
directory: $1" 1>&2; return 1; }
+ || { echo "$0 (exe_shim): skipping directory: $1" 1>&2; return 0; }
if test -n "$base_names_"; then
for base_ in $base_names_; do
@@ -285,7 +288,7 @@ create_exe_shims_()
# Use this function to prepend to PATH an absolute name for each
# specified, possibly-$initial_cwd_-relative, directory.
-path_prepend_()
+path_prepend_ ()
{
while test $# != 0; do
path_dir_=$1
@@ -308,7 +311,7 @@ path_prepend_()
export PATH
}
-setup_()
+setup_ ()
{
if test "$VERBOSE" = yes; then
# Test whether set -x may cause the selected shell to corrupt an
@@ -324,12 +327,19 @@ setup_()
fi
initial_cwd_=$PWD
+ fail=0
pfx_=`testdir_prefix_`
test_dir_=`mktempd_ "$initial_cwd_" "$pfx_-$ME_.XXXX"` ||
fail_ "failed to create temporary directory in $initial_cwd_"
cd "$test_dir_"
+ # As autoconf-generated configure scripts do, ensure that IFS
+ # is defined initially, so that saving and restoring $IFS works.
+ gl_init_sh_nl_='
+'
+ IFS=" "" $gl_init_sh_nl_"
+
# This trap statement, along with a trap on 0 below, ensure that the
# temporary directory, $test_dir_, is removed upon exit as well as
# upon receipt of any of the listed signals.
@@ -354,7 +364,7 @@ setup_()
# - make only $MAX_TRIES_ attempts
# Helper function. Print $N pseudo-random bytes from a-zA-Z0-9.
-rand_bytes_()
+rand_bytes_ ()
{
n_=$1
@@ -386,7 +396,7 @@ rand_bytes_()
| LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_
}
-mktempd_()
+mktempd_ ()
{
case $# in
2);;
@@ -407,11 +417,10 @@ mktempd_()
case $template_ in
*XXXX) ;;
- *) fail_ "invalid template: $template_ (must have a suffix of at least 4
X's)";;
+ *) fail_ + "invalid template: $template_ (must have a suffix of at least 4
X's)";;
esac
- fail=0
-
# First, try to use mktemp.
d=`unset TMPDIR; mktemp -d -t -p "$destdir_" "$template_"
2>/dev/null` || fail=1
-----------------------------------------------------------------------
Summary of changes:
.gitignore | 7 +-
Makefile.am | 2 +-
bootstrap | 210 +++++++++++++++++++++++++++++++++--------------
bootstrap.conf | 5 -
doc/.gitignore | 1 +
gnulib | 2 +-
gnulib-tests/.gitignore | 100 ++++++++++++++++++++++
lib/.gitignore | 200 +++++++++++++++++++++++---------------------
qparser.y | 5 +-
rest.c | 2 +-
t/basic | 10 ++
t/init.sh | 53 +++++++-----
12 files changed, 408 insertions(+), 189 deletions(-)
repo.or.cz automatic notification. Contact project admin jim(a)meyering.net
if you want to unsubscribe, or site admin admin(a)repo.or.cz if you receive
no reply.
--
iwhd.git ("image warehouse daemon")