Release candidate 20101113

This commit is contained in:
Ole Tange 2010-11-13 14:57:39 +01:00
parent 7c1fb94ddb
commit 90c333085d
18 changed files with 416 additions and 200 deletions

67
NEWS
View file

@ -1,3 +1,70 @@
20101113
* Using -j myfile the number of jobs can be changed while GNU Parallel
is running simply by changing the content of myfile.
* Implemented --profile to use different .parallel/config for
different situations.
* Ugly newlines in $PARALLEL and .parallel/config are no longer
needed. Instead you have to use \ in front of special shell
characters.
* --workdir puts the files transferred to remote machines in a
specified directory.
* $PARALLEL_PID is set to the process id of GNU Parallel.
* $PARALLEL_SEQ is set to the sequence number of the job.
* -v now only shows the command to run. Use -v -v to show the
ssh/rsync wrapping.
* Slow spawning error is now only a warning.
* If stdin is a tty and input is read from stdin you now get a
warning.
* GNU sql: \n and \x0a in arguments is replaced with newline.
* Patch for Debian package and spelling mistakes. Thanks to Rogério
Brito <rbrito at ime dot usp dot br>
* Mac OS X Homebrew package. Thanks to Jonathan Palardy <jonathan dot
palardy at gmail dot com>
* FreeBSD port. Thanks to Chris Howey <howeyc at gmail dot com>
* Pardus package. Thanks to Fethican Coşkuner
<fethicanc at gmail dot com>
* First review in Chinese. Thanks to 曾義峰:
http://antbsd.twbbs.org/~ant/wordpress/?p=2876
* First review in print:
http://www.linux-magazine.com/Issues/2010 Nov 2010
* First review in Spanish:
http://www.muylinux.com/2010/10/18/gnu-parallel-computacion-paralela-a-golpe-de-comando
* First review in Dutch thanks to Koen Vervloesem <koen at vervloesem
dot eu>:
http://techworld.nl/technologie/33493/gebruik-al-je-processorkernen-met-gnu-parallel.html
* Blog review thanks to R. Tyler Croy <tyler at monkeypox dot org>:
http://unethicalblogger.com/posts/2010/11/gnuparallel_changed_my_life
* 5000 views of the intro video:
http://www.youtube.com/watch?v=OpaiGYxkSuQ
* As usual a bunch of bugfixes and more usage examples in the man
page.
* GNU Parallel was presented at FSCONS 2010-11-07:
http://www.fscons.org/fs/gnu-parallel Hopefully the
video will be online soon.
20100922 20100922
* See GNU Parallel live at FSCONS 2010-11-07: * See GNU Parallel live at FSCONS 2010-11-07:

4
aclocal.m4 vendored
View file

@ -13,8 +13,8 @@
m4_ifndef([AC_AUTOCONF_VERSION], m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
[m4_warning([this file was generated for autoconf 2.65. [m4_warning([this file was generated for autoconf 2.67.
You have another version of autoconf. It may work, but is not guaranteed to. You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely. If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])]) To do so, use the procedure documented by the package, typically `autoreconf'.])])

261
configure vendored
View file

@ -1,13 +1,13 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.65 for parallel 20100922. # Generated by GNU Autoconf 2.67 for parallel 20101113.
# #
# Report bugs to <bug-parallel@gnu.org>. # Report bugs to <bug-parallel@gnu.org>.
# #
# #
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
# Inc. # Foundation, Inc.
# #
# #
# This configure script is free software; the Free Software Foundation # This configure script is free software; the Free Software Foundation
@ -318,7 +318,7 @@ $as_echo X"$as_dir" |
test -d "$as_dir" && break test -d "$as_dir" && break
done done
test -z "$as_dirs" || eval "mkdir $as_dirs" test -z "$as_dirs" || eval "mkdir $as_dirs"
} || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p } # as_fn_mkdir_p
@ -358,19 +358,19 @@ else
fi # as_fn_arith fi # as_fn_arith
# as_fn_error ERROR [LINENO LOG_FD] # as_fn_error STATUS ERROR [LINENO LOG_FD]
# --------------------------------- # ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with status $?, using 1 if that was 0. # script with STATUS, using 1 if that was 0.
as_fn_error () as_fn_error ()
{ {
as_status=$?; test $as_status -eq 0 && as_status=1 as_status=$1; test $as_status -eq 0 && as_status=1
if test "$3"; then if test "$4"; then
as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
$as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi fi
$as_echo "$as_me: error: $1" >&2 $as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status as_fn_exit $as_status
} # as_fn_error } # as_fn_error
@ -532,7 +532,7 @@ test -n "$DJDIR" || exec 7<&0 </dev/null
exec 6>&1 exec 6>&1
# Name of the host. # Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too. # so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
@ -551,8 +551,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='parallel' PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel' PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20100922' PACKAGE_VERSION='20101113'
PACKAGE_STRING='parallel 20100922' PACKAGE_STRING='parallel 20101113'
PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL='' PACKAGE_URL=''
@ -688,7 +688,8 @@ do
fi fi
case $ac_option in case $ac_option in
*=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
*=) ac_optarg= ;;
*) ac_optarg=yes ;; *) ac_optarg=yes ;;
esac esac
@ -734,7 +735,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names. # Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error "invalid feature name: $ac_useropt" as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in case $ac_user_opts in
@ -760,7 +761,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names. # Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error "invalid feature name: $ac_useropt" as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in case $ac_user_opts in
@ -964,7 +965,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names. # Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error "invalid package name: $ac_useropt" as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in case $ac_user_opts in
@ -980,7 +981,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names. # Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error "invalid package name: $ac_useropt" as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in case $ac_user_opts in
@ -1010,8 +1011,8 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;; x_libraries=$ac_optarg ;;
-*) as_fn_error "unrecognized option: \`$ac_option' -*) as_fn_error $? "unrecognized option: \`$ac_option'
Try \`$0 --help' for more information." Try \`$0 --help' for more information"
;; ;;
*=*) *=*)
@ -1019,7 +1020,7 @@ Try \`$0 --help' for more information."
# Reject names that are not valid shell variable names. # Reject names that are not valid shell variable names.
case $ac_envvar in #( case $ac_envvar in #(
'' | [0-9]* | *[!_$as_cr_alnum]* ) '' | [0-9]* | *[!_$as_cr_alnum]* )
as_fn_error "invalid variable name: \`$ac_envvar'" ;; as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
esac esac
eval $ac_envvar=\$ac_optarg eval $ac_envvar=\$ac_optarg
export $ac_envvar ;; export $ac_envvar ;;
@ -1037,13 +1038,13 @@ done
if test -n "$ac_prev"; then if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'` ac_option=--`echo $ac_prev | sed 's/_/-/g'`
as_fn_error "missing argument to $ac_option" as_fn_error $? "missing argument to $ac_option"
fi fi
if test -n "$ac_unrecognized_opts"; then if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in case $enable_option_checking in
no) ;; no) ;;
fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
*) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac esac
fi fi
@ -1066,7 +1067,7 @@ do
[\\/$]* | ?:[\\/]* ) continue;; [\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac esac
as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done done
# There might be people who depend on the old broken behavior: `$host' # There might be people who depend on the old broken behavior: `$host'
@ -1080,8 +1081,8 @@ target=$target_alias
if test "x$host_alias" != x; then if test "x$host_alias" != x; then
if test "x$build_alias" = x; then if test "x$build_alias" = x; then
cross_compiling=maybe cross_compiling=maybe
$as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used." >&2 If a cross compiler is detected then cross compile mode will be used" >&2
elif test "x$build_alias" != "x$host_alias"; then elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes cross_compiling=yes
fi fi
@ -1096,9 +1097,9 @@ test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" && ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` && ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
as_fn_error "working directory cannot be determined" as_fn_error $? "working directory cannot be determined"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" || test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
as_fn_error "pwd does not report name of working directory" as_fn_error $? "pwd does not report name of working directory"
# Find the source files, if location was not specified. # Find the source files, if location was not specified.
@ -1137,11 +1138,11 @@ else
fi fi
if test ! -r "$srcdir/$ac_unique_file"; then if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`( ac_abs_confdir=`(
cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
pwd)` pwd)`
# When building in place, set srcdir=. # When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then if test "$ac_abs_confdir" = "$ac_pwd"; then
@ -1167,7 +1168,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures parallel 20100922 to adapt to many kinds of systems. \`configure' configures parallel 20101113 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1181,7 +1182,7 @@ Configuration:
--help=short display options specific to this package --help=short display options specific to this package
--help=recursive display the short help of all the included packages --help=recursive display the short help of all the included packages
-V, --version display version information and exit -V, --version display version information and exit
-q, --quiet, --silent do not print \`checking...' messages -q, --quiet, --silent do not print \`checking ...' messages
--cache-file=FILE cache test results in FILE [disabled] --cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache' -C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files -n, --no-create do not create output files
@ -1233,7 +1234,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of parallel 20100922:";; short | recursive ) echo "Configuration of parallel 20101113:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1300,10 +1301,10 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
parallel configure 20100922 parallel configure 20101113
generated by GNU Autoconf 2.65 generated by GNU Autoconf 2.67
Copyright (C) 2009 Free Software Foundation, Inc. Copyright (C) 2010 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it. gives unlimited permission to copy, distribute and modify it.
_ACEOF _ACEOF
@ -1317,8 +1318,8 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by parallel $as_me 20100922, which was It was created by parallel $as_me 20101113, which was
generated by GNU Autoconf 2.65. Invocation command line was generated by GNU Autoconf 2.67. Invocation command line was
$ $0 $@ $ $0 $@
@ -1428,11 +1429,9 @@ trap 'exit_status=$?
{ {
echo echo
cat <<\_ASBOX $as_echo "## ---------------- ##
## ---------------- ##
## Cache variables. ## ## Cache variables. ##
## ---------------- ## ## ---------------- ##"
_ASBOX
echo echo
# The following way of writing the cache mishandles newlines in values, # The following way of writing the cache mishandles newlines in values,
( (
@ -1466,11 +1465,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
) )
echo echo
cat <<\_ASBOX $as_echo "## ----------------- ##
## ----------------- ##
## Output variables. ## ## Output variables. ##
## ----------------- ## ## ----------------- ##"
_ASBOX
echo echo
for ac_var in $ac_subst_vars for ac_var in $ac_subst_vars
do do
@ -1483,11 +1480,9 @@ _ASBOX
echo echo
if test -n "$ac_subst_files"; then if test -n "$ac_subst_files"; then
cat <<\_ASBOX $as_echo "## ------------------- ##
## ------------------- ##
## File substitutions. ## ## File substitutions. ##
## ------------------- ## ## ------------------- ##"
_ASBOX
echo echo
for ac_var in $ac_subst_files for ac_var in $ac_subst_files
do do
@ -1501,11 +1496,9 @@ _ASBOX
fi fi
if test -s confdefs.h; then if test -s confdefs.h; then
cat <<\_ASBOX $as_echo "## ----------- ##
## ----------- ##
## confdefs.h. ## ## confdefs.h. ##
## ----------- ## ## ----------- ##"
_ASBOX
echo echo
cat confdefs.h cat confdefs.h
echo echo
@ -1560,7 +1553,12 @@ _ACEOF
ac_site_file1=NONE ac_site_file1=NONE
ac_site_file2=NONE ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then if test -n "$CONFIG_SITE"; then
ac_site_file1=$CONFIG_SITE # We do not want a PATH search for config.site.
case $CONFIG_SITE in #((
-*) ac_site_file1=./$CONFIG_SITE;;
*/*) ac_site_file1=$CONFIG_SITE;;
*) ac_site_file1=./$CONFIG_SITE;;
esac
elif test "x$prefix" != xNONE; then elif test "x$prefix" != xNONE; then
ac_site_file1=$prefix/share/config.site ac_site_file1=$prefix/share/config.site
ac_site_file2=$prefix/etc/config.site ac_site_file2=$prefix/etc/config.site
@ -1575,7 +1573,11 @@ do
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;} $as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5 sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file" . "$ac_site_file" \
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5 ; }
fi fi
done done
@ -1651,7 +1653,7 @@ if $ac_cache_corrupted; then
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
fi fi
## -------------------- ## ## -------------------- ##
## Main body of script. ## ## Main body of script. ##
@ -1668,16 +1670,22 @@ am__api_version='1.11'
ac_aux_dir= ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
for ac_t in install-sh install.sh shtool; do if test -f "$ac_dir/install-sh"; then
if test -f "$ac_dir/$ac_t"; then
ac_aux_dir=$ac_dir ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/$ac_t -c" ac_install_sh="$ac_aux_dir/install-sh -c"
break 2 break
elif test -f "$ac_dir/install.sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
elif test -f "$ac_dir/shtool"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/shtool install -c"
break
fi fi
done
done done
if test -z "$ac_aux_dir"; then if test -z "$ac_aux_dir"; then
as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
fi fi
# These three variables are undocumented and unsupported, # These three variables are undocumented and unsupported,
@ -1793,11 +1801,11 @@ am_lf='
' '
case `pwd` in case `pwd` in
*[\\\"\#\$\&\'\`$am_lf]*) *[\\\"\#\$\&\'\`$am_lf]*)
as_fn_error "unsafe absolute working directory name" "$LINENO" 5;; as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;;
esac esac
case $srcdir in case $srcdir in
*[\\\"\#\$\&\'\`$am_lf\ \ ]*) *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;;
esac esac
# Do `set' in a subshell so we don't clobber the current shell's # Do `set' in a subshell so we don't clobber the current shell's
@ -1819,7 +1827,7 @@ if (
# if, for instance, CONFIG_SHELL is bash and it inherits a # if, for instance, CONFIG_SHELL is bash and it inherits a
# broken ls alias from the environment. This has actually # broken ls alias from the environment. This has actually
# happened. Such a system could not be considered "sane". # happened. Such a system could not be considered "sane".
as_fn_error "ls -t appears to fail. Make sure there is not a broken as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
alias in your environment" "$LINENO" 5 alias in your environment" "$LINENO" 5
fi fi
@ -1829,7 +1837,7 @@ then
# Ok. # Ok.
: :
else else
as_fn_error "newly created file is older than distributed files! as_fn_error $? "newly created file is older than distributed files!
Check your system clock" "$LINENO" 5 Check your system clock" "$LINENO" 5
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@ -2067,7 +2075,7 @@ done
$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make} set x ${MAKE-make}
ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
else else
cat >conftest.make <<\_ACEOF cat >conftest.make <<\_ACEOF
@ -2075,7 +2083,7 @@ SHELL = /bin/sh
all: all:
@echo '@@@%%%=$(MAKE)=@@@%%%' @echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF _ACEOF
# GNU make sometimes prints "make[1]: Entering...", which would confuse us. # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in case `${MAKE-make} -f conftest.make 2>/dev/null` in
*@@@%%%=?*=@@@%%%*) *@@@%%%=?*=@@@%%%*)
eval ac_cv_prog_make_${ac_make}_set=yes;; eval ac_cv_prog_make_${ac_make}_set=yes;;
@ -2109,7 +2117,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then
am__isrc=' -I$(srcdir)' am__isrc=' -I$(srcdir)'
# test to see if srcdir already configured # test to see if srcdir already configured
if test -f $srcdir/config.status; then if test -f $srcdir/config.status; then
as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
fi fi
fi fi
@ -2125,7 +2133,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='parallel' PACKAGE='parallel'
VERSION='20100922' VERSION='20101113'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -2252,6 +2260,7 @@ DEFS=-DHAVE_CONFIG_H
ac_libobjs= ac_libobjs=
ac_ltlibobjs= ac_ltlibobjs=
U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed. # 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@ -2414,19 +2423,19 @@ export LANGUAGE
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
# as_fn_error ERROR [LINENO LOG_FD] # as_fn_error STATUS ERROR [LINENO LOG_FD]
# --------------------------------- # ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with status $?, using 1 if that was 0. # script with STATUS, using 1 if that was 0.
as_fn_error () as_fn_error ()
{ {
as_status=$?; test $as_status -eq 0 && as_status=1 as_status=$1; test $as_status -eq 0 && as_status=1
if test "$3"; then if test "$4"; then
as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
$as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi fi
$as_echo "$as_me: error: $1" >&2 $as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status as_fn_exit $as_status
} # as_fn_error } # as_fn_error
@ -2622,7 +2631,7 @@ $as_echo X"$as_dir" |
test -d "$as_dir" && break test -d "$as_dir" && break
done done
test -z "$as_dirs" || eval "mkdir $as_dirs" test -z "$as_dirs" || eval "mkdir $as_dirs"
} || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p } # as_fn_mkdir_p
@ -2675,8 +2684,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by parallel $as_me 20100922, which was This file was extended by parallel $as_me 20101113, which was
generated by GNU Autoconf 2.65. Invocation command line was generated by GNU Autoconf 2.67. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_HEADERS = $CONFIG_HEADERS
@ -2737,11 +2746,11 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
parallel config.status 20100922 parallel config.status 20101113
configured by $0, generated by GNU Autoconf 2.65, configured by $0, generated by GNU Autoconf 2.67,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"
Copyright (C) 2009 Free Software Foundation, Inc. Copyright (C) 2010 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it." gives unlimited permission to copy, distribute and modify it."
@ -2759,11 +2768,16 @@ ac_need_defaults=:
while test $# != 0 while test $# != 0
do do
case $1 in case $1 in
--*=*) --*=?*)
ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=: ac_shift=:
;; ;;
--*=)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=
ac_shift=:
;;
*) *)
ac_option=$1 ac_option=$1
ac_optarg=$2 ac_optarg=$2
@ -2785,6 +2799,7 @@ do
$ac_shift $ac_shift
case $ac_optarg in case $ac_optarg in
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
'') as_fn_error $? "missing file argument" ;;
esac esac
as_fn_append CONFIG_FILES " '$ac_optarg'" as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;; ac_need_defaults=false;;
@ -2797,7 +2812,7 @@ do
ac_need_defaults=false;; ac_need_defaults=false;;
--he | --h) --he | --h)
# Conflict between --help and --header # Conflict between --help and --header
as_fn_error "ambiguous option: \`$1' as_fn_error $? "ambiguous option: \`$1'
Try \`$0 --help' for more information.";; Try \`$0 --help' for more information.";;
--help | --hel | -h ) --help | --hel | -h )
$as_echo "$ac_cs_usage"; exit ;; $as_echo "$ac_cs_usage"; exit ;;
@ -2806,7 +2821,7 @@ Try \`$0 --help' for more information.";;
ac_cs_silent=: ;; ac_cs_silent=: ;;
# This is an error. # This is an error.
-*) as_fn_error "unrecognized option: \`$1' -*) as_fn_error $? "unrecognized option: \`$1'
Try \`$0 --help' for more information." ;; Try \`$0 --help' for more information." ;;
*) as_fn_append ac_config_targets " $1" *) as_fn_append ac_config_targets " $1"
@ -2859,7 +2874,7 @@ do
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
*) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
esac esac
done done
@ -2896,7 +2911,7 @@ $debug ||
{ {
tmp=./conf$$-$RANDOM tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp") (umask 077 && mkdir "$tmp")
} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
# Set up the scripts for CONFIG_FILES section. # Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES. # No need to generate them if there are no CONFIG_FILES.
@ -2913,7 +2928,7 @@ if test "x$ac_cr" = x; then
fi fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
ac_cs_awk_cr='\r' ac_cs_awk_cr='\\r'
else else
ac_cs_awk_cr=$ac_cr ac_cs_awk_cr=$ac_cr
fi fi
@ -2927,18 +2942,18 @@ _ACEOF
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF" echo "_ACEOF"
} >conf$$subs.sh || } >conf$$subs.sh ||
as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# ' ac_delim='%!_!# '
for ac_last_try in false false false false false :; do for ac_last_try in false false false false false :; do
. ./conf$$subs.sh || . ./conf$$subs.sh ||
as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
if test $ac_delim_n = $ac_delim_num; then if test $ac_delim_n = $ac_delim_num; then
break break
elif $ac_last_try; then elif $ac_last_try; then
as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi fi
@ -3027,20 +3042,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
else else
cat cat
fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
|| as_fn_error "could not setup config files machinery" "$LINENO" 5 || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF _ACEOF
# VPATH may cause trouble with some makes, so we remove $(srcdir), # VPATH may cause trouble with some makes, so we remove sole $(srcdir),
# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty # trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers). # (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then if test "x$srcdir" = x.; then
ac_vpsub='/^[ ]*VPATH[ ]*=/{ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
s/:*\$(srcdir):*/:/ h
s/:*\${srcdir}:*/:/ s///
s/:*@srcdir@:*/:/ s/^/:/
s/^\([^=]*=[ ]*\):*/\1/ s/[ ]*$/:/
s/:\$(srcdir):/:/g
s/:\${srcdir}:/:/g
s/:@srcdir@:/:/g
s/^:*//
s/:*$// s/:*$//
x
s/\(=[ ]*\).*/\1/
G
s/\n//
s/^[^=]*=[ ]*$// s/^[^=]*=[ ]*$//
}' }'
fi fi
@ -3068,7 +3091,7 @@ for ac_last_try in false false :; do
if test -z "$ac_t"; then if test -z "$ac_t"; then
break break
elif $ac_last_try; then elif $ac_last_try; then
as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
else else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! " ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi fi
@ -3153,7 +3176,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK _ACAWK
_ACEOF _ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
as_fn_error "could not setup config headers machinery" "$LINENO" 5 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
fi # test -n "$CONFIG_HEADERS" fi # test -n "$CONFIG_HEADERS"
@ -3166,7 +3189,7 @@ do
esac esac
case $ac_mode$ac_tag in case $ac_mode$ac_tag in
:[FHL]*:*);; :[FHL]*:*);;
:L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
:[FH]-) ac_tag=-:-;; :[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac esac
@ -3194,7 +3217,7 @@ do
[\\/$]*) false;; [\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac || esac ||
as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
esac esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'" as_fn_append ac_file_inputs " '$ac_f'"
@ -3221,7 +3244,7 @@ $as_echo "$as_me: creating $ac_file" >&6;}
case $ac_tag in case $ac_tag in
*:-:* | *:-) cat >"$tmp/stdin" \ *:-:* | *:-) cat >"$tmp/stdin" \
|| as_fn_error "could not create $ac_file" "$LINENO" 5 ;; || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac esac
;; ;;
esac esac
@ -3358,22 +3381,22 @@ s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack $ac_datarootdir_hack
" "
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
|| as_fn_error "could not create $ac_file" "$LINENO" 5 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined." >&5 which seems to be undefined. Please make sure it is defined" >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined." >&2;} which seems to be undefined. Please make sure it is defined" >&2;}
rm -f "$tmp/stdin" rm -f "$tmp/stdin"
case $ac_file in case $ac_file in
-) cat "$tmp/out" && rm -f "$tmp/out";; -) cat "$tmp/out" && rm -f "$tmp/out";;
*) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
esac \ esac \
|| as_fn_error "could not create $ac_file" "$LINENO" 5 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
;; ;;
:H) :H)
# #
@ -3384,19 +3407,19 @@ which seems to be undefined. Please make sure it is defined." >&2;}
$as_echo "/* $configure_input */" \ $as_echo "/* $configure_input */" \
&& eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
} >"$tmp/config.h" \ } >"$tmp/config.h" \
|| as_fn_error "could not create $ac_file" "$LINENO" 5 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
$as_echo "$as_me: $ac_file is unchanged" >&6;} $as_echo "$as_me: $ac_file is unchanged" >&6;}
else else
rm -f "$ac_file" rm -f "$ac_file"
mv "$tmp/config.h" "$ac_file" \ mv "$tmp/config.h" "$ac_file" \
|| as_fn_error "could not create $ac_file" "$LINENO" 5 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi fi
else else
$as_echo "/* $configure_input */" \ $as_echo "/* $configure_input */" \
&& eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
|| as_fn_error "could not create -" "$LINENO" 5 || as_fn_error $? "could not create -" "$LINENO" 5
fi fi
# Compute "$ac_file"'s index in $config_headers. # Compute "$ac_file"'s index in $config_headers.
_am_arg="$ac_file" _am_arg="$ac_file"
@ -3445,7 +3468,7 @@ _ACEOF
ac_clean_files=$ac_clean_files_save ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 || test $ac_write_fail = 0 ||
as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
# configure is writing to config.log, and then calls config.status. # configure is writing to config.log, and then calls config.status.
@ -3466,7 +3489,7 @@ if test "$no_create" != yes; then
exec 5>>config.log exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which # Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction. # would make configure fail if this is the last instruction.
$ac_cs_success || as_fn_exit $? $ac_cs_success || as_fn_exit 1
fi fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5

View file

@ -1,4 +1,4 @@
AC_INIT([parallel], [20100922], [bug-parallel@gnu.org]) AC_INIT([parallel], [20101113], [bug-parallel@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([ AC_CONFIG_FILES([

View file

@ -24,9 +24,9 @@ autoreconf --install -W gnu
./configure ./configure
make && sudo make install make && sudo make install
== Unittest == == Testsuite ==
cd unittest; make unittest cd testsuite; make
== Update NEWS == == Update NEWS ==
@ -119,7 +119,7 @@ cc:Peter Simons <simons@cryp.to>, Sandro Cazzaniga <kharec@mandriva.org>,
Andrew McFague <amcfague@wgen.net>, Steven M. Christensen <sunfreeware@gmail.com>, Andrew McFague <amcfague@wgen.net>, Steven M. Christensen <sunfreeware@gmail.com>,
Chris Howey <howeyc@gmail.com>, Fethican Coşkuner <fethicanc@gmail.com>, Chris Howey <howeyc@gmail.com>, Fethican Coşkuner <fethicanc@gmail.com>,
Rogério Brito <rbrito@ime.usp.br>, Jonathan Palardy <jonathan.palardy@gmail.com>, Rogério Brito <rbrito@ime.usp.br>, Jonathan Palardy <jonathan.palardy@gmail.com>,
Koen Vervloesem <koen@vervloesem.eu>, Koen Vervloesem <koen@vervloesem.eu>, R. Tyler Croy <tyler@monkeypox.org>
Subject: GNU Parallel 2010XXXX released Subject: GNU Parallel 2010XXXX released
@ -131,6 +131,23 @@ New in this release:
* Using -j myfile the number of jobs can be changed while GNU Parallel * Using -j myfile the number of jobs can be changed while GNU Parallel
is running simply by changing the content of myfile. is running simply by changing the content of myfile.
* Implemented --profile to use different .parallel/config for
different situations.
* Ugly newlines in $PARALLEL and .parallel/config are no longer
needed. Instead you have to use \ in front of special shell
characters.
* --workdir puts the files transferred to remote machines in a
specified directory.
* $PARALLEL_PID is set to the process id of GNU Parallel.
* $PARALLEL_SEQ is set to the sequence number of the job.
* -v now only shows the command to run. Use -v -v to show the
ssh/rsync wrapping.
* Slow spawning error is now only a warning. * Slow spawning error is now only a warning.
* If stdin is a tty and input is read from stdin you now get a * If stdin is a tty and input is read from stdin you now get a
@ -162,16 +179,18 @@ New in this release:
dot eu>: dot eu>:
http://techworld.nl/technologie/33493/gebruik-al-je-processorkernen-met-gnu-parallel.html http://techworld.nl/technologie/33493/gebruik-al-je-processorkernen-met-gnu-parallel.html
* 3500 views of the intro video: * Blog review thanks to R. Tyler Croy <tyler at monkeypox dot org>:
http://unethicalblogger.com/posts/2010/11/gnuparallel_changed_my_life
* 5000 views of the intro video:
http://www.youtube.com/watch?v=OpaiGYxkSuQ http://www.youtube.com/watch?v=OpaiGYxkSuQ
* As usual a bunch of bugfixes and more usage examples in the man * As usual a bunch of bugfixes and more usage examples in the man
page. page.
Old in this release: * GNU Parallel was presented at FSCONS 2010-11-07:
http://www.fscons.org/fs/gnu-parallel Hopefully the
* See GNU Parallel live at FSCONS 2010-11-07: video will be online soon.
http://www.fscons.org/fs/gnu-parallel
= About GNU Parallel = = About GNU Parallel =

View file

@ -858,6 +858,8 @@ not need this option.
Verbose. Print the job to be run on STDOUT. Can be reversed with Verbose. Print the job to be run on STDOUT. Can be reversed with
B<--silent>. See also B<-t>. B<--silent>. See also B<-t>.
Use B<-v> B<-v> to print the wrapping ssh command when running remotely.
=item B<--version> =item B<--version>
@ -1091,7 +1093,7 @@ B<ls *.tar.gz| parallel -U {tar} 'echo {tar}|parallel "mkdir -p {.} ; tar -C {.}
Let us assume a website stores images like: Let us assume a website stores images like:
http://www.website.com/path/to/YYYYMMDD_##.jpg http://www.example.com/path/to/YYYYMMDD_##.jpg
where YYYYMMDD is the date and ## is the number 01-10. This will where YYYYMMDD is the date and ## is the number 01-10. This will
generate the past 30 days as YYYYMMDD: generate the past 30 days as YYYYMMDD:
@ -1101,7 +1103,7 @@ B<seq 1 30 | parallel date -d '"today -{} days"' +%Y%m%d>
Based on this we can let GNU B<parallel> generate 10 B<wget>s per day: Based on this we can let GNU B<parallel> generate 10 B<wget>s per day:
I<the above> B<| parallel -I {o} seq -w 1 10 "|" parallel wget I<the above> B<| parallel -I {o} seq -w 1 10 "|" parallel wget
http://www.website.com/path/to/{o}_{}.jpg> http://www.example.com/path/to/{o}_{}.jpg>
=head1 EXAMPLE: Rewriting a for-loop and a while-loop =head1 EXAMPLE: Rewriting a for-loop and a while-loop
@ -1124,7 +1126,7 @@ B<cat list | parallel do_something | process_output>
If the processing requires more steps the for-loop like this: If the processing requires more steps the for-loop like this:
(for x in `cat list` ; do (for x in `cat list` ; do
no_extension=${x%.png}; no_extension=${x%.*};
do_something $x scale $no_extension.jpg do_something $x scale $no_extension.jpg
do_step2 <$x $no_extension do_step2 <$x $no_extension
done) | process_output done) | process_output
@ -1132,7 +1134,7 @@ If the processing requires more steps the for-loop like this:
and while-loops like this: and while-loops like this:
cat list | (while read x ; do cat list | (while read x ; do
no_extension=${x%.png}; no_extension=${x%.*};
do_something $x scale $no_extension.jpg do_something $x scale $no_extension.jpg
do_step2 <$x $no_extension do_step2 <$x $no_extension
done) | process_output done) | process_output
@ -2547,7 +2549,7 @@ sub get_options_from_array {
sub parse_options { sub parse_options {
# Returns: N/A # Returns: N/A
# Defaults: # Defaults:
$Global::version = 201011002; $Global::version = 201011133;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$Global::debug = 0; $Global::debug = 0;
$Global::verbose = 0; $Global::verbose = 0;
@ -2732,23 +2734,21 @@ sub read_options {
if(defined $ARGV[0] and ($ARGV[0]=~/^-Y/ or $ARGV[0]=~/^--shebang / or if(defined $ARGV[0] and ($ARGV[0]=~/^-Y/ or $ARGV[0]=~/^--shebang / or
$ARGV[0]=~/^--hashbang /)) { $ARGV[0]=~/^--hashbang /)) {
# Program is called from #! line in script # Program is called from #! line in script
$ARGV[0]=~s/^-Y //; # remove -Y if on its own $ARGV[0]=~s/^-Y( |$)//; # remove -Y if on its own
$ARGV[0]=~s/^-Y/-/; # remove -Y if bundled with other options $ARGV[0]=~s/^-Y/-/; # remove -Y if bundled with other options
$ARGV[0]=~s/^--shebang //; # remove --shebang if it is set $ARGV[0]=~s/^--shebang *//; # remove --shebang if it is set
$ARGV[0]=~s/^--hashbang //; # remove --hashbang if it is set $ARGV[0]=~s/^--hashbang *//; # remove --hashbang if it is set
my $argfile = pop @ARGV; my $argfile = pop @ARGV;
# exec myself to split @ARGV into separate fields # exec myself to split $ARGV[0] into separate fields
exec "$0 --skip-first-line -a $argfile @ARGV"; exec "$0 --skip-first-line -a $argfile @ARGV";
} }
Getopt::Long::Configure ("bundling","require_order"); Getopt::Long::Configure("bundling","pass_through");
# First check if there is a --profile to set $::opt_profile # Check if there is a --profile to set $::opt_profile
my @ARGV_copy = @ARGV; GetOptions("profile|J=s" => \$::opt_profile) || die_usage();
get_options_from_array (\@ARGV_copy) || die_usage();
# Add options from .parallel/config and other profiles # Add options from .parallel/config and other profiles
my @ARGV_profile = (); my @ARGV_profile = ();
my @ARGV_env = (); my @ARGV_env = ();
my @config_profiles = ($ENV{'HOME'}."/.parallel/config", my @config_profiles = ($ENV{'HOME'}."/.parallel/config",
$ENV{'HOME'}."/.parallelrc"); $ENV{'HOME'}."/.parallelrc");
my @profiles = @config_profiles; my @profiles = @config_profiles;
@ -2774,6 +2774,7 @@ sub read_options {
} }
} }
} }
Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV_profile) || die_usage(); get_options_from_array(\@ARGV_profile) || die_usage();
# Add options from shell variable $PARALLEL # Add options from shell variable $PARALLEL
$ENV{'PARALLEL'} and @ARGV_env = shell_unquote(split/(?<![\\])\s/, $ENV{'PARALLEL'}); $ENV{'PARALLEL'} and @ARGV_env = shell_unquote(split/(?<![\\])\s/, $ENV{'PARALLEL'});
@ -3812,7 +3813,7 @@ sub drain_job_queue {
} }
my $last_header=""; my $last_header="";
while($Global::total_running > 0) { while($Global::total_running > 0) {
debug("jobs running: $Global::total_running Memory usage:".my_memory_usage()."\n"); debug("jobs running: ",$Global::total_running," Memory usage:".my_memory_usage()."\n");
sleep 1; sleep 1;
reaper(); # Some systems fail to catch the SIGCHLD reaper(); # Some systems fail to catch the SIGCHLD
if($::opt_progress) { if($::opt_progress) {
@ -4949,7 +4950,7 @@ sub my_memory_usage {
my @procinfo = split(/\s+/,$data); my @procinfo = split(/\s+/,$data);
return $procinfo[22]; return undef_as_zero($procinfo[22]);
} else { } else {
return 0; return 0;
} }

View file

@ -528,7 +528,7 @@ $Global::Initfile && unlink $Global::Initfile;
exit ($err); exit ($err);
sub parse_options { sub parse_options {
$Global::version = 20100922; $Global::version = 20101113;
$Global::progname = 'sql'; $Global::progname = 'sql';
# This must be done first as this may exec myself # This must be done first as this may exec myself

View file

@ -156,6 +156,13 @@ echo line 1Nline 2Nline 3 | parallel -k --delimiter N echo This is
printf "delimiter NUL line 1\0line 2\0line 3" | parallel -k -d '\0' echo printf "delimiter NUL line 1\0line 2\0line 3" | parallel -k -d '\0' echo
printf "delimiter TAB line 1\tline 2\tline 3" | parallel -k --delimiter '\t' echo printf "delimiter TAB line 1\tline 2\tline 3" | parallel -k --delimiter '\t' echo
echo '### Hans found a bug giving unitialized variable'
echo >/tmp/parallel_f1
echo >/tmp/parallel_f2'
'
echo /tmp/parallel_f1 /tmp/parallel_f2 | stdout parallel -kv --delimiter ' ' gzip
rm /tmp/parallel_f*
echo '### Test --max-chars and -s: Max number of chars in a line' echo '### Test --max-chars and -s: Max number of chars in a line'
(echo line 1;echo line 1;echo line 2) | parallel -k --max-chars 25 -X echo (echo line 1;echo line 1;echo line 2) | parallel -k --max-chars 25 -X echo
(echo line 1;echo line 1;echo line 2) | parallel -k -s 25 -X echo (echo line 1;echo line 1;echo line 2) | parallel -k -s 25 -X echo

View file

@ -3,15 +3,22 @@
SERVER1=parallel-server3 SERVER1=parallel-server3
SERVER2=parallel-server2 SERVER2=parallel-server2
echo '### Test $PARALLEL' echo '### Test $PARALLEL - single line'
echo | PARALLEL=--number-of-cpus parallel echo | PARALLEL=--number-of-cpus parallel
seq 1 2 | PARALLEL="-S$SERVER1 -Sssh\ -l\ parallel\ $SERVER2 -j1" parallel -kvv echo
echo '### Test $PARALLEL - multi line'
seq 1 2 | PARALLEL="-S$SERVER1 seq 1 2 | PARALLEL="-S$SERVER1
-Sssh -l parallel $SERVER2 -Sssh\ -l\ parallel\ $SERVER2
-j1" parallel -kvv echo -j1" parallel -kvv echo
echo '### Test ~/.parallel/config' echo '### Test ~/.parallel/config - single line'
echo "-S$SERVER1 -Sssh\ -l\ parallel\ $SERVER2 -j1" > ~/.parallel/config
seq 1 2 | parallel -kvv echo
echo '### Test ~/.parallel/config - multi line'
echo "-S$SERVER1 echo "-S$SERVER1
-Sssh -l parallel $SERVER2 -Sssh\ -l\ parallel\ $SERVER2
-j1" > ~/.parallel/config -j1" > ~/.parallel/config
seq 1 2 | parallel -kvv echo seq 1 2 | parallel -kvv echo
rm ~/.parallel/config rm ~/.parallel/config

View file

@ -62,4 +62,4 @@ echo '### Test of --trim n'
parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' ::: 'a% c %%b' 'a%c% b %d' parallel -k -C %+ echo '"{1}_{3}_{2}_{4}"' ::: 'a% c %%b' 'a%c% b %d'
echo '### Test of bug: If input is empty string' echo '### Test of bug: If input is empty string'
(echo ; echo abcbdbebf;echo abc) | parallel --colsep b -v echo {1}{2} (echo ; echo abcbdbebf;echo abc) | parallel -k --colsep b -v echo {1}{2}

View file

@ -5,8 +5,8 @@ stdout parallel -j no_such_file echo ::: 1
echo '### Test of -j filename' echo '### Test of -j filename'
echo 3 >/tmp/jobs_to_run echo 3 >/tmp/jobs_to_run
parallel -j /tmp/jobs_to_run -v sleep 0.{} ::: 9 8 7 6 5 parallel -j /tmp/jobs_to_run -v sleep 0.{} ::: 9 8 7 6 4
# Should give 7 8 9 5 6 # Should give 7 8 9 4 6
echo '### Test of -j filename with file content changing' echo '### Test of -j filename with file content changing'
(echo 1 >/tmp/jobs_to_run; sleep 3; echo 10 >/tmp/jobs_to_run) & (echo 1 >/tmp/jobs_to_run; sleep 3; echo 10 >/tmp/jobs_to_run) &

View file

@ -10,7 +10,7 @@ echo '### Test $PARALLEL_SEQ - remote'
seq 1 20 | parallel -kN2 -S $SERVER1,parallel@$SERVER2 echo arg1:{1} seq:'$'PARALLEL_SEQ arg2:{2} seq 1 20 | parallel -kN2 -S $SERVER1,parallel@$SERVER2 echo arg1:{1} seq:'$'PARALLEL_SEQ arg2:{2}
echo '### Test $PARALLEL_PID - local' echo '### Test $PARALLEL_PID - local'
seq 1 20 | parallel -kN2 echo arg1:{1} seq:'$'PARALLEL_PID arg2:{2} | perl -pe 's/\d/0/g' seq 1 20 | parallel -kN2 echo arg1:{1} pid:'$'PARALLEL_PID arg2:{2} | perl -pe 's/\d{3,}/0/g'
echo '### Test $PARALLEL_PID - remote' echo '### Test $PARALLEL_PID - remote'
seq 1 20 | parallel -kN2 -S $SERVER1,parallel@$SERVER2 echo arg1:{1} seq:'$'PARALLEL_PID arg2:{2} | perl -pe 's/\d/0/g' seq 1 20 | parallel -kN2 -S $SERVER1,parallel@$SERVER2 echo arg1:{1} pid:'$'PARALLEL_PID arg2:{2} | perl -pe 's/\d{3,}/0/g'

View file

@ -1,5 +1,8 @@
#!/bin/bash #!/bin/bash
SERVER1=parallel-server3
SERVER2=parallel-server2
echo '### Test $PARALLEL' echo '### Test $PARALLEL'
PARALLEL="-k PARALLEL="-k
-j1 -j1
@ -24,40 +27,40 @@ PARALLEL="-k --jobs 1 echo 1" parallel -v echo 2 ::: a b c
echo '### Test ugly quoting from $PARALLEL' echo '### Test ugly quoting from $PARALLEL'
PARALLEL="-k --jobs 1 perl -pe '\$a=1; print\$a'" parallel -v ::: <(echo a) <(echo b) PARALLEL="-k --jobs 1 perl -pe '\$a=1; print\$a'" parallel -v ::: <(echo a) <(echo b)
PARALLEL='-k --jobs 1 -S newton perl -pe "\\$a=1; print\\$a"' parallel -v ::: /etc/passwd PARALLEL='-k --jobs 1 -S '$SERVER1' perl -pe "\\$a=1; print\\$a"' parallel -v ::: /bin/gunzip
echo '### Test ugly quoting from profile file' echo '### Test ugly quoting from profile file'
cat <<EOF >/tmp/parallel_profile cat <<EOF >~/.parallel/test_profile
-k --jobs 1 perl -pe '\$a=1; print \$a' -k --jobs 1 perl -pe '\$a=1; print \$a'
EOF EOF
parallel -v -J /tmp/parallel_profile ::: <(echo a) <(echo b) parallel -v -J test_profile ::: <(echo a) <(echo b)
PARALLEL='-k --jobs 1 echo' parallel -S ssh\ newton\ ssh\ maxwell -v ::: /etc/passwd PARALLEL='-k --jobs 1 echo' parallel -S ssh\ $SERVER1\ ssh\ parallel@$SERVER2 -v ::: /bin/gunzip
PARALLEL='-k --jobs 1 perl -pe "\\$a=1; print \\$a"' parallel -S ssh\ newton\ ssh\ maxwell -vv ::: /etc/passwd PARALLEL='-k --jobs 1 perl -pe "\\$a=1; print \\$a"' parallel -S ssh\ $SERVER1\ ssh\ parallel@$SERVER2 -vv ::: /bin/gunzip
echo '### Test quoting of $ in command from profile file' echo '### Test quoting of $ in command from profile file'
cat <<EOF >/tmp/parallel_profile cat <<EOF >~/.parallel/test_profile
-k --jobs 1 perl -pe '\\\$a=1; print \\\$a' -k --jobs 1 perl -pe '\\\$a=1; print \\\$a'
EOF EOF
parallel -v -J /tmp/parallel_profile -S ssh\ newton\ ssh\ maxwell ::: /etc/passwd parallel -v -J test_profile -S ssh\ $SERVER1\ ssh\ parallel@$SERVER2 ::: /bin/gunzip
echo '### Test quoting of $ in command from $PARALLEL' echo '### Test quoting of $ in command from $PARALLEL'
PARALLEL='-k --jobs 1 perl -pe "\\$a=1; print \\$a" ' parallel -S ssh\ newton\ ssh\ maxwell -v ::: /etc/passwd PARALLEL='-k --jobs 1 perl -pe "\\$a=1; print \\$a" ' parallel -S ssh\ $SERVER1\ ssh\ parallel@$SERVER2 -v ::: /bin/gunzip
echo '### Test quoting of space in arguments (-S) from profile file' echo '### Test quoting of space in arguments (-S) from profile file'
cat <<EOF >/tmp/parallel_profile cat <<EOF >~/.parallel/test_profile
-k --jobs 1 -S ssh\ newton\ ssh\ maxwell perl -pe '\$a=1; print \$a' -k --jobs 1 -S ssh\ $SERVER1\ ssh\ parallel@$SERVER2 perl -pe '\$a=1; print \$a'
EOF EOF
parallel -v -J /tmp/parallel_profile ::: /etc/passwd parallel -v -J test_profile ::: /bin/gunzip
echo '### Test quoting of space in arguments (-S) from $PARALLEL' echo '### Test quoting of space in arguments (-S) from $PARALLEL'
PARALLEL='-k --jobs 1 -S ssh\ newton\ ssh\ maxwell perl -pe "\\$a=1; print \\$a" ' parallel -v ::: /etc/passwd PARALLEL='-k --jobs 1 -S ssh\ '$SERVER1'\ ssh\ parallel@'$SERVER2' perl -pe "\\$a=1; print \\$a" ' parallel -v ::: /bin/gunzip
echo '### Test quoting of space in long arguments (--sshlogin) from profile file' echo '### Test quoting of space in long arguments (--sshlogin) from profile file'
cat <<EOF >/tmp/parallel_profile cat <<EOF >~/.parallel/test_profile
-k --jobs 1 --sshlogin ssh\ newton\ ssh\ maxwell perl -pe '\$a=1; print \$a' -k --jobs 1 --sshlogin ssh\ $SERVER1\ ssh\ parallel@$SERVER2 perl -pe '\$a=1; print \$a'
EOF EOF
parallel -v -J /tmp/parallel_profile ::: /etc/passwd parallel -v -J test_profile ::: /bin/gunzip
echo '### Test quoting of space in arguments (-S) from $PARALLEL' echo '### Test quoting of space in arguments (-S) from $PARALLEL'
PARALLEL='-k --jobs 1 --sshlogin ssh\ newton\ ssh\ maxwell perl -pe "\\$a=1; print \\$a" ' parallel -v ::: /etc/passwd PARALLEL='-k --jobs 1 --sshlogin ssh\ '$SERVER1'\ ssh\ parallel@'$SERVER2' perl -pe "\\$a=1; print \\$a" ' parallel -v ::: /bin/gunzip

View file

@ -266,6 +266,10 @@ line 3
delimiter TAB line 1 delimiter TAB line 1
line 2 line 2
line 3 line 3
### Hans found a bug giving unitialized variable
gzip /tmp/parallel_f1
gzip /tmp/parallel_f2'
'
### Test --max-chars and -s: Max number of chars in a line ### Test --max-chars and -s: Max number of chars in a line
line 1 line 1 line 1 line 1
line 2 line 2

View file

@ -1,10 +1,20 @@
### Test $PARALLEL ### Test $PARALLEL - single line
1 1
ssh -l parallel parallel-server2 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 1; ssh -l parallel parallel-server2 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 1;
1 1
ssh parallel-server3 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 2; ssh parallel-server3 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 2;
2 2
### Test ~/.parallel/config ### Test $PARALLEL - multi line
ssh -l parallel parallel-server2 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 1;
1
ssh parallel-server3 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 2;
2
### Test ~/.parallel/config - single line
ssh -l parallel parallel-server2 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 1;
1
ssh parallel-server3 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 2;
2
### Test ~/.parallel/config - multi line
ssh -l parallel parallel-server2 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 1; ssh -l parallel parallel-server2 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 1;
1 1
ssh parallel-server3 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 2; ssh parallel-server3 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; echo\ 2;

View file

@ -10,7 +10,7 @@ See 'man parallel' for the options
sleep 0.7 sleep 0.7
sleep 0.8 sleep 0.8
sleep 0.9 sleep 0.9
sleep 0.5 sleep 0.4
sleep 0.6 sleep 0.6
### Test of -j filename with file content changing ### Test of -j filename with file content changing
sleep 3.3 sleep 3.3

View file

@ -21,24 +21,24 @@ arg1:15 seq:8 arg2:16
arg1:17 seq:9 arg2:18 arg1:17 seq:9 arg2:18
arg1:19 seq:10 arg2:20 arg1:19 seq:10 arg2:20
### Test $PARALLEL_PID - local ### Test $PARALLEL_PID - local
arg0:0 seq:00000 arg0:0 arg1:1 pid:0 arg2:2
arg0:0 seq:00000 arg0:0 arg1:3 pid:0 arg2:4
arg0:0 seq:00000 arg0:0 arg1:5 pid:0 arg2:6
arg0:0 seq:00000 arg0:0 arg1:7 pid:0 arg2:8
arg0:0 seq:00000 arg0:00 arg1:9 pid:0 arg2:10
arg0:00 seq:00000 arg0:00 arg1:11 pid:0 arg2:12
arg0:00 seq:00000 arg0:00 arg1:13 pid:0 arg2:14
arg0:00 seq:00000 arg0:00 arg1:15 pid:0 arg2:16
arg0:00 seq:00000 arg0:00 arg1:17 pid:0 arg2:18
arg0:00 seq:00000 arg0:00 arg1:19 pid:0 arg2:20
### Test $PARALLEL_PID - remote ### Test $PARALLEL_PID - remote
arg0:0 seq:00000 arg0:0 arg1:1 pid:0 arg2:2
arg0:0 seq:00000 arg0:0 arg1:3 pid:0 arg2:4
arg0:0 seq:00000 arg0:0 arg1:5 pid:0 arg2:6
arg0:0 seq:00000 arg0:0 arg1:7 pid:0 arg2:8
arg0:0 seq:00000 arg0:00 arg1:9 pid:0 arg2:10
arg0:00 seq:00000 arg0:00 arg1:11 pid:0 arg2:12
arg0:00 seq:00000 arg0:00 arg1:13 pid:0 arg2:14
arg0:00 seq:00000 arg0:00 arg1:15 pid:0 arg2:16
arg0:00 seq:00000 arg0:00 arg1:17 pid:0 arg2:18
arg0:00 seq:00000 arg0:00 arg1:19 pid:0 arg2:20

View file

@ -0,0 +1,75 @@
### Test $PARALLEL
a
b
c
a
b
c
a
b
c
echo 1 echo 2 a
1 echo 2 a
echo 1 echo 2 b
1 echo 2 b
echo 1 echo 2 c
1 echo 2 c
a
b
c
echo 1 echo 2 a
1 echo 2 a
echo 1 echo 2 b
1 echo 2 b
echo 1 echo 2 c
1 echo 2 c
### Test ugly quoting from $PARALLEL
perl -pe '$a=1; print$a' /dev/fd/63
1a
perl -pe '$a=1; print$a' /dev/fd/62
1b
perl -pe "\$a=1; print\$a" /bin/gunzip
1#!/bin/bash
1PATH=${GZIP_BINDIR-'/bin'}:$PATH
1exec gzip -d "$@"
### Test ugly quoting from profile file
perl -pe '$a=1; print $a' /dev/fd/63
1a
perl -pe '$a=1; print $a' /dev/fd/62
1b
echo /bin/gunzip
/bin/gunzip
ssh parallel-server3 ssh parallel@parallel-server2 PARALLEL_SEQ=$PARALLEL_SEQ\;export PARALLEL_SEQ\;PARALLEL_PID=$PARALLEL_PID\;export PARALLEL_PID\; perl\ -pe\ \"\\\$a=1\;\ print\ \\\$a\"\ /bin/gunzip;
1#!/bin/bash
1PATH=${GZIP_BINDIR-'/bin'}:$PATH
1exec gzip -d "$@"
### Test quoting of $ in command from profile file
perl -pe '$a=1; print $a' /bin/gunzip
1#!/bin/bash
1PATH=${GZIP_BINDIR-'/bin'}:$PATH
1exec gzip -d "$@"
### Test quoting of $ in command from $PARALLEL
perl -pe "\$a=1; print \$a" /bin/gunzip
1#!/bin/bash
1PATH=${GZIP_BINDIR-'/bin'}:$PATH
1exec gzip -d "$@"
### Test quoting of space in arguments (-S) from profile file
perl -pe '$a=1; print $a' /bin/gunzip
1#!/bin/bash
1PATH=${GZIP_BINDIR-'/bin'}:$PATH
1exec gzip -d "$@"
### Test quoting of space in arguments (-S) from $PARALLEL
perl -pe "\$a=1; print \$a" /bin/gunzip
1#!/bin/bash
1PATH=${GZIP_BINDIR-'/bin'}:$PATH
1exec gzip -d "$@"
### Test quoting of space in long arguments (--sshlogin) from profile file
perl -pe '$a=1; print $a' /bin/gunzip
1#!/bin/bash
1PATH=${GZIP_BINDIR-'/bin'}:$PATH
1exec gzip -d "$@"
### Test quoting of space in arguments (-S) from $PARALLEL
perl -pe "\$a=1; print \$a" /bin/gunzip
1#!/bin/bash
1PATH=${GZIP_BINDIR-'/bin'}:$PATH
1exec gzip -d "$@"