Released as 20160222 ('N977GA')

This commit is contained in:
Ole Tange 2016-02-21 23:07:44 +01:00
parent b1447b6bad
commit f1cbb08d78
14 changed files with 99 additions and 54 deletions

59
NEWS
View file

@ -1,3 +1,34 @@
20160222
* Vote for new community on Superuser, Ask Ubuntu, Unix&Linux
http://meta.superuser.com/questions/11127/community-promotion-ads-2016/11225#11225
http://meta.askubuntu.com/questions/14925/community-promotion-ads-2016/15046#15046
http://meta.unix.stackexchange.com/questions/3854/community-promotion-ads-2016/3893#3893
* Daily Quick Tip: parallel
https://medium.com/@jacaetevha/daily-quick-tip-parallel-8772435f6582
* Downloading a list of URLs
http://blog.gypsydave5.com/2016/02/04/xargs-and-curl/
* Using GNU Parallel and ImageMagick for Conversions
http://blog.fractalcomic.com/tutorials/using-gnu-parallel-and-imagemagick-for-conversions/
* Running bash commands in parallel
http://linuxcommando.blogspot.dk/2016/01/running-bash-commands-in-parallel.html
* parallel processing in PDAL
https://smathermather.wordpress.com/2016/01/28/parallel-processing-in-pdal/
* A Million Text Files And A Single Laptop
http://randyzwitch.com/gnu-parallel-medium-data/
* 「今日から使い切る」ための GNU Parallelによる並列処理入門
http://www.slideshare.net/koji_matsuda/gnu-parallel
* Bug fixes and man page updates.
20160122 20160122
* --sql DBURL uses DBURL as storage for jobs and output. It does not * --sql DBURL uses DBURL as storage for jobs and output. It does not
@ -52,21 +83,35 @@
* --transfer is now an alias for --transferfile {}. * --transfer is now an alias for --transferfile {}.
* --transferfile works like --transfer, but takes an argument like --return. This makes it possible to combine transferring files with multiple input sources: parallel -S server --tf {1} wc {2} {1} ::: * ::: -l -w -c * --transferfile works like --transfer, but takes an argument like
--return. This makes it possible to combine transferring files
with multiple input sources: parallel -S server --tf {1} wc {2}
{1} ::: * ::: -l -w -c
* total_jobs() can now be used in {= =}: parallel echo job {#} of '{= $_=total_jobs() =}' ::: {1..50} * total_jobs() can now be used in {= =}: parallel echo job {#} of '{=
$_=total_jobs() =}' ::: {1..50}
* GNU Parallel was cited in: Evolution and Learning in Heterogeneous Environments http://research.gold.ac.uk/15078/1/COM_thesis_JonesD_2015.pdf * GNU Parallel was cited in: Evolution and Learning in Heterogeneous
Environments
http://research.gold.ac.uk/15078/1/COM_thesis_JonesD_2015.pdf
* GNU Parallel was cited in: Contrasting genetic architectures of schizophrenia and other complex diseases using fast variance-components analysis http://www.nature.com/ng/journal/v47/n12/full/ng.3431.html * GNU Parallel was cited in: Contrasting genetic architectures of
schizophrenia and other complex diseases using fast
variance-components analysis
http://www.nature.com/ng/journal/v47/n12/full/ng.3431.html
* GNU Parallel was cited in: Efficient Retrieval of Key Material for Inspecting Potentially Malicious Traffic in the Cloud http://www.cs.bham.ac.uk/~bxb/Papres/2015.1.pdf * GNU Parallel was cited in: Efficient Retrieval of Key Material for
Inspecting Potentially Malicious Traffic in the Cloud
http://www.cs.bham.ac.uk/~bxb/Papres/2015.1.pdf
* GNU Parallel was cited in: Achieving Consistent Doppler Measurements from SDO/HMI Vector Field Inversions http://arxiv.org/pdf/1511.06500.pdf * GNU Parallel was cited in: Achieving Consistent Doppler Measurements
from SDO/HMI Vector Field Inversions
http://arxiv.org/pdf/1511.06500.pdf
* Flo uses GNU Parallel: https://github.com/wurmlab/flo * Flo uses GNU Parallel: https://github.com/wurmlab/flo
* 使用 GNU parallel 來平行運算http://mutolisp.logdown.com/posts/316959-using-gnu-parallel-to-parallel-computing * 使用 GNU parallel 來平行運算
http://mutolisp.logdown.com/posts/316959-using-gnu-parallel-to-parallel-computing
* Bug fixes and man page updates. * Bug fixes and man page updates.

12
README
View file

@ -40,9 +40,9 @@ document.
Full installation of GNU Parallel is as simple as: Full installation of GNU Parallel is as simple as:
wget http://ftpmirror.gnu.org/parallel/parallel-20160122.tar.bz2 wget http://ftpmirror.gnu.org/parallel/parallel-20160222.tar.bz2
bzip2 -dc parallel-20160122.tar.bz2 | tar xvf - bzip2 -dc parallel-20160222.tar.bz2 | tar xvf -
cd parallel-20160122 cd parallel-20160222
./configure && make && sudo make install ./configure && make && sudo make install
@ -51,9 +51,9 @@ Full installation of GNU Parallel is as simple as:
If you are not root you can add ~/bin to your path and install in If you are not root you can add ~/bin to your path and install in
~/bin and ~/share: ~/bin and ~/share:
wget http://ftpmirror.gnu.org/parallel/parallel-20160122.tar.bz2 wget http://ftpmirror.gnu.org/parallel/parallel-20160222.tar.bz2
bzip2 -dc parallel-20160122.tar.bz2 | tar xvf - bzip2 -dc parallel-20160222.tar.bz2 | tar xvf -
cd parallel-20160122 cd parallel-20160222
./configure --prefix=$HOME && make && make install ./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel Or if your system lacks 'make' you can simply copy src/parallel

20
configure vendored
View file

@ -1,6 +1,6 @@
#! /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.69 for parallel 20160122. # Generated by GNU Autoconf 2.69 for parallel 20160222.
# #
# Report bugs to <bug-parallel@gnu.org>. # Report bugs to <bug-parallel@gnu.org>.
# #
@ -579,8 +579,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='parallel' PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel' PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20160122' PACKAGE_VERSION='20160222'
PACKAGE_STRING='parallel 20160122' PACKAGE_STRING='parallel 20160222'
PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL='' PACKAGE_URL=''
@ -1203,7 +1203,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 20160122 to adapt to many kinds of systems. \`configure' configures parallel 20160222 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1269,7 +1269,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 20160122:";; short | recursive ) echo "Configuration of parallel 20160222:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1345,7 +1345,7 @@ 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 20160122 parallel configure 20160222
generated by GNU Autoconf 2.69 generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
@ -1362,7 +1362,7 @@ 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 20160122, which was It was created by parallel $as_me 20160222, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
@ -2225,7 +2225,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='parallel' PACKAGE='parallel'
VERSION='20160122' VERSION='20160222'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -2867,7 +2867,7 @@ 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 20160122, which was This file was extended by parallel $as_me 20160222, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -2929,7 +2929,7 @@ _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 20160122 parallel config.status 20160222
configured by $0, generated by GNU Autoconf 2.69, configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"

View file

@ -1,4 +1,4 @@
AC_INIT([parallel], [20160122], [bug-parallel@gnu.org]) AC_INIT([parallel], [20160222], [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

@ -4,7 +4,7 @@
Check that documentation is updated (compare to web): Check that documentation is updated (compare to web):
Fixet for 20160122 Fixet for 20160222
git diff last-release-commit git diff last-release-commit
Unmodified beta since last version => production Unmodified beta since last version => production
Unmodified alpha since last version => beta Unmodified alpha since last version => beta

View file

@ -1,6 +1,6 @@
Summary: Shell tool for executing jobs in parallel Summary: Shell tool for executing jobs in parallel
Name: parallel Name: parallel
Version: 20160122 Version: 20160222
Release: 1.1 Release: 1.1
License: GPL License: GPL
Group: Productivity/File utilities Group: Productivity/File utilities

View file

@ -24,7 +24,7 @@
use strict; use strict;
use Getopt::Long; use Getopt::Long;
$Global::progname="niceload"; $Global::progname="niceload";
$Global::version = 20160122; $Global::version = 20160222;
Getopt::Long::Configure("bundling","require_order"); Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV) || die_usage(); get_options_from_array(\@ARGV) || die_usage();
if($opt::version) { if($opt::version) {

View file

@ -1176,7 +1176,7 @@ sub check_invalid_option_combinations {
sub init_globals { sub init_globals {
# Defaults: # Defaults:
$Global::version = 20160123; $Global::version = 20160222;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$Global::infinity = 2**31; $Global::infinity = 2**31;
$Global::debug = 0; $Global::debug = 0;

View file

@ -322,7 +322,7 @@ shell quote a string
=item Z<> B<total_jobs()> =item Z<> B<total_jobs()>
number of jobs in total (beta testing) number of jobs in total
=back =back
@ -452,9 +452,9 @@ It is compatible with B<zenity>:
2> >(zenity --progress --auto-kill) | wc 2> >(zenity --progress --auto-kill) | wc
=item B<--basefile> I<file> (beta testing) =item B<--basefile> I<file>
=item B<--bf> I<file> (beta testing) =item B<--bf> I<file>
I<file> will be transferred to each sshlogin before a jobs is I<file> will be transferred to each sshlogin before a jobs is
started. It will be removed if B<--cleanup> is active. The file may be started. It will be removed if B<--cleanup> is active. The file may be
@ -540,7 +540,7 @@ Implies B<--pipe> unless B<--pipepart> is used.
See also B<--fifo>. See also B<--fifo>.
=item B<--cleanup> (beta testing) =item B<--cleanup>
Remove transferred files. B<--cleanup> will remove the transferred Remove transferred files. B<--cleanup> will remove the transferred
files on the remote computer after processing is done. files on the remote computer after processing is done.
@ -1060,9 +1060,9 @@ the same syntax as B<--jobs>, so I<100%> for one per CPU is a valid
setting. Only difference is 0 which is interpreted as 0.01. setting. Only difference is 0 which is interpreted as 0.01.
=item B<--controlmaster> (beta testing) =item B<--controlmaster>
=item B<-M> (beta testing) =item B<-M>
Use ssh's ControlMaster to make ssh connections faster. Useful if jobs Use ssh's ControlMaster to make ssh connections faster. Useful if jobs
run remote and are very fast to run. This is disabled for sshlogins run remote and are very fast to run. This is disabled for sshlogins
@ -1136,7 +1136,7 @@ This is useful for running the same command (e.g. uptime) on a list of
servers. servers.
=item B<--onall> (alpha testing) =item B<--onall> (beta testing)
Run all the jobs on all computers given with B<--sshlogin>. GNU Run all the jobs on all computers given with B<--sshlogin>. GNU
B<parallel> will log into B<--jobs> number of computers in parallel B<parallel> will log into B<--jobs> number of computers in parallel
@ -1161,9 +1161,9 @@ of each job is saved in a file and the filename is then printed.
See also: B<--results> See also: B<--results>
=item B<--pipe> (beta testing) =item B<--pipe>
=item B<--spreadstdin> (beta testing) =item B<--spreadstdin>
Spread input to jobs on stdin (standard input). Read a block of data Spread input to jobs on stdin (standard input). Read a block of data
from stdin (standard input) and give one block of data as input to one from stdin (standard input) and give one block of data as input to one
@ -1524,7 +1524,7 @@ the joblog.
See also B<--joblog>, B<--resume>, B<--resume-failed>. See also B<--joblog>, B<--resume>, B<--resume-failed>.
=item B<--retries> I<n> (beta testing) =item B<--retries> I<n>
If a job fails, retry it on another computer on which it has not If a job fails, retry it on another computer on which it has not
failed. Do this I<n> times. If there are fewer than I<n> computers in failed. Do this I<n> times. If there are fewer than I<n> computers in
@ -1533,7 +1533,7 @@ useful if some jobs fail for no apparent reason (such as network
failure). failure).
=item B<--return> I<filename> (beta testing) =item B<--return> I<filename>
Transfer files from remote computers. B<--return> is used with Transfer files from remote computers. B<--return> is used with
B<--sshlogin> when the arguments are files on the remote computers. When B<--sshlogin> when the arguments are files on the remote computers. When
@ -1791,7 +1791,7 @@ Do not use the first line of input (used by GNU B<parallel> itself
when called with B<--shebang>). when called with B<--shebang>).
=item B<--sql> I<DBURL> (alpha testing) =item B<--sql> I<DBURL> (beta testing)
Submit jobs via SQL server. I<DBURL> must point to a table, which will Submit jobs via SQL server. I<DBURL> must point to a table, which will
contain the same information as B<--joblog>, the values from the input contain the same information as B<--joblog>, the values from the input
@ -1823,12 +1823,12 @@ It can also be an alias from ~/.sql/aliases:
:myalias mysql:///mydb/paralleljobs :myalias mysql:///mydb/paralleljobs
=item B<--sqlandworker> I<DBURL> (alpha testing) =item B<--sqlandworker> I<DBURL> (beta testing)
Shorthand for: B<--sql> I<DBURL> B<--sqlworker> I<DBURL>. Shorthand for: B<--sql> I<DBURL> B<--sqlworker> I<DBURL>.
=item B<--sqlworker> I<DBURL> (alpha testing) =item B<--sqlworker> I<DBURL> (beta testing)
Execute jobs via SQL server. Read the input sources variables from the Execute jobs via SQL server. Read the input sources variables from the
table pointed to by I<DBURL>. The I<command> on the command line table pointed to by I<DBURL>. The I<command> on the command line
@ -2050,14 +2050,14 @@ Print the job to be run on stderr (standard error).
See also B<-v>, B<-p>. See also B<-v>, B<-p>.
=item B<--transfer> (beta testing) =item B<--transfer>
Transfer files to remote computers. Shorthand for: B<--transferfile {}>. Transfer files to remote computers. Shorthand for: B<--transferfile {}>.
=item B<--transferfile> I<filename> (beta testing) =item B<--transferfile> I<filename>
=item B<--tf> I<filename> (beta testing) =item B<--tf> I<filename>
B<--transferfile> is used with B<--sshlogin> to transfer files to the B<--transferfile> is used with B<--sshlogin> to transfer files to the
remote computers. The files will be transferred using B<rsync> and remote computers. The files will be transferred using B<rsync> and
@ -2187,9 +2187,9 @@ Use B<-v> B<-v> to print the wrapping ssh command when running remotely.
Print the version GNU B<parallel> and exit. Print the version GNU B<parallel> and exit.
=item B<--workdir> I<mydir> (alpha testing) =item B<--workdir> I<mydir> (beta testing)
=item B<--wd> I<mydir> (alpha testing) =item B<--wd> I<mydir> (beta testing)
Files transferred using B<--transferfile> and B<--return> will be Files transferred using B<--transferfile> and B<--return> will be
relative to I<mydir> on remote computers, and the command will be relative to I<mydir> on remote computers, and the command will be

View file

@ -566,7 +566,7 @@ $Global::Initfile && unlink $Global::Initfile;
exit ($err); exit ($err);
sub parse_options { sub parse_options {
$Global::version = 20160122; $Global::version = 20160222;
$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

@ -40,7 +40,7 @@ prereqlocal: installparallel
which timeout || (echo timeout is required for testsuite; /bin/false) which timeout || (echo timeout is required for testsuite; /bin/false)
which autossh || (echo autossh is required for testsuite; /bin/false) which autossh || (echo autossh is required for testsuite; /bin/false)
which lsh || (echo lsh is required for testsuite; /bin/false) which lsh || (echo lsh is required for testsuite; /bin/false)
timeout 10 ssh sh@lo true || (echo ssh sh@lo is required for testsuite; /bin/false) timeout 20 ssh sh@lo true || (echo ssh sh@lo is required for testsuite; /bin/false)
timeout 5 ssh csh@lo true || (echo ssh csh@lo is required for testsuite; /bin/false) timeout 5 ssh csh@lo true || (echo ssh csh@lo is required for testsuite; /bin/false)
prereqremote: installparallel startvm prereqremote: installparallel startvm

View file

@ -45,7 +45,7 @@ export -f copy_and_test
stdout parallel -j0 -k --retries $RETRIES --timeout $TIMEOUT --delay 0.1 --tag -v copy_and_test {} ::: $POLAR stdout parallel -j0 -k --retries $RETRIES --timeout $TIMEOUT --delay 0.1 --tag -v copy_and_test {} ::: $POLAR
# Test remote wrapper working on all platforms # Test remote wrapper working on all platforms
parallel -j0 --nonall -k $S_POLAR hostname parallel -j0 --nonall -k --timeout $TIMEOUT $S_POLAR hostname
cat /tmp/test_empty_cmd cat /tmp/test_empty_cmd
rm /tmp/test_empty_cmd rm /tmp/test_empty_cmd

View file

@ -141,7 +141,7 @@ Funky-
* Documentation: http://www.linuxmint.com * Documentation: http://www.linuxmint.com
zsh:130: command not found: alias_echo zsh:129: command not found: alias_echo
function_works function_works
myvar works myvar works
array_val2 array_val2
@ -149,7 +149,7 @@ assoc_val_a
Funky- Funky-
 
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funky  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<D096><E29486><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<E8B28A><E9BCAC><EFBFBD><EFBFBD>-funky
zsh:130: command not found: alias_echo zsh:129: command not found: alias_echo
function_works_over_ssh function_works_over_ssh
myvar works myvar works
array_val2 array_val2

View file

@ -73,8 +73,8 @@ echo '### Check that 4 processes are really used'
echo '### --version must have higher priority than retired options' echo '### --version must have higher priority than retired options'
### --version must have higher priority than retired options ### --version must have higher priority than retired options
$NICEPAR --version -g -Y -U -W -T | tail $NICEPAR --version -g -Y -U -W -T | tail
Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015 Ole Tange Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015,2016
and Free Software Foundation, Inc. Ole Tange and Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. This is free software: you are free to change and redistribute it.
GNU parallel comes with no warranty. GNU parallel comes with no warranty.