From 9bb46c6ed6685ac167e1a5c106386c4a4efc4e2d Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Tue, 22 Jul 2014 06:47:30 +0200 Subject: [PATCH] Released as 20140722 ('MH17'). --- NEWS | 67 ++++++++++++++++++ README | 12 ++-- configure | 20 +++--- configure.ac | 2 +- doc/release_new_version | 2 + .../obs/home:tange/parallel/parallel.spec | 2 +- src/niceload | 2 +- src/parallel | 15 ++-- src/parallel.pod | 4 +- src/parallel.texi | 8 +-- src/sql | 2 +- src/sql.pdf | Bin 42346 -> 42373 bytes testsuite/tests-to-run/parallel-local22.sh | 3 + testsuite/wanted-results/parallel-install | 20 ++++++ testsuite/wanted-results/parallel-local-10s | 0 testsuite/wanted-results/parallel-local22 | 4 ++ 16 files changed, 127 insertions(+), 36 deletions(-) create mode 100644 testsuite/wanted-results/parallel-local-10s diff --git a/NEWS b/NEWS index 9bfebdf6..cb6e460e 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,70 @@ +20140722 + +* {= perl expression =} can be used as replacement string. The + expression should modify $_. E.g. {= s/\.gz$// =} to remove .gz from + the string. This makes replacement strings extremely flexible. + +* Positional perl expressions (similar to {2}) are given as {=2 perl + expression=} where 2 is the position. + +* One small backwards incompatability: {1}_{2} will replace {2} with + the empty string if there is only one argument. Previously {2} would + have been left untouched. + +* Replacement strings can be defined using --rpl. E.g. parallel --rpl + '{.gz} s/\.gz$//' echo {.gz} ::: *.gz + +* The parenthesis around {= perl expression =} can be changed with + --parens. + +* --tmux will direct the output to a tmux session instead of + files. Each running jobs will be in its own window. + +* --halt 10% will stop spawning new jobs if 10% failed so far. + +* GNU Parallel was cited in: bammds: A tool for assessing the ancestry + of low depth whole genome data using multidimensional scaling (MDS) + http://bioinformatics.oxfordjournals.org/content/early/2014/06/28/bioinformatics.btu410.abstract + +* GNU Parallel was cited in: Molecular ferroelectric contributions to + anomalous hysteresis in hybrid perovskite solar cells + http://people.bath.ac.uk/aw558/publications/2014/arxiv_hysteresis_14.pdf + +* GNU Parallel was cited in: Energy Sorghum-a genetic model for the + design of C4 grass bioenergy crops + http://jxb.oxfordjournals.org/content/early/2014/06/20/jxb.eru229.short + +* GNU Parallel was cited in: Web-scale Content Reuse Detection + www.isi.edu/~johnh/PAPERS/Ardi14a.pdf + +* Tell your friends to sign up for the Webcast at 2014-08-20 covering + GNU Parallel: Data Science at the Command Line + http://www.oreilly.com/pub/e/3115 + +* GNU Parallel all the things! + http://longwayaround.org.uk/notes/gnu-parallel-all-the-things/ + +* Shell command composition and dispatch + http://lukeluo.blogspot.dk/2014/07/linux-virtual-console6-shell-command.html + +* Parallelising plink (or anything else) the easy way + http://chrisladroue.com/2012/03/parallelising-plink-or-anything-else-the-easy-way/ + +* Easy and cheap cluster building on AWS + https://grapeot.me/easy-and-cheap-cluster-building-on-aws.html + +* Paralelizace běžných činností v konzoli pomocí GNU Parallel + http://www.abclinuxu.cz/clanky/paralelizace-beznych-cinnosti-v-konzoli-pomoci-gnu-parallel + +* [原] Ubuntu 下使用 parallel 命令的注意事项 + http://blog.ailms.me/2014/06/28/ubuntu-with-parallel.html + +* 简单的并行, 可使用GNU parallel + http://jerkwin.github.io/2014/06/10/GNU-parallel/ + +* Bug fixes and man page updates. + + 20140622 * --shebang and --shebang-wrap now works on FreeBSD. diff --git a/README b/README index 33e6d43e..5a6c8058 100644 --- a/README +++ b/README @@ -40,9 +40,9 @@ document. Full installation of GNU Parallel is as simple as: - wget http://ftpmirror.gnu.org/parallel/parallel-20140711.tar.bz2 - bzip2 -dc parallel-20140711.tar.bz2 | tar xvf - - cd parallel-20140711 + wget http://ftpmirror.gnu.org/parallel/parallel-20140722.tar.bz2 + bzip2 -dc parallel-20140722.tar.bz2 | tar xvf - + cd parallel-20140722 ./configure && make && 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 ~/bin and ~/share: - wget http://ftpmirror.gnu.org/parallel/parallel-20140711.tar.bz2 - bzip2 -dc parallel-20140711.tar.bz2 | tar xvf - - cd parallel-20140711 + wget http://ftpmirror.gnu.org/parallel/parallel-20140722.tar.bz2 + bzip2 -dc parallel-20140722.tar.bz2 | tar xvf - + cd parallel-20140722 ./configure --prefix=$HOME && make && make install Or if your system lacks 'make' you can simply copy src/parallel diff --git a/configure b/configure index 98ebe44b..7ccc959f 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for parallel 20140711. +# Generated by GNU Autoconf 2.69 for parallel 20140722. # # Report bugs to . # @@ -579,8 +579,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='parallel' PACKAGE_TARNAME='parallel' -PACKAGE_VERSION='20140711' -PACKAGE_STRING='parallel 20140711' +PACKAGE_VERSION='20140722' +PACKAGE_STRING='parallel 20140722' PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_URL='' @@ -1197,7 +1197,7 @@ if test "$ac_init_help" = "long"; then # 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. cat <<_ACEOF -\`configure' configures parallel 20140711 to adapt to many kinds of systems. +\`configure' configures parallel 20140722 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1263,7 +1263,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of parallel 20140711:";; + short | recursive ) echo "Configuration of parallel 20140722:";; esac cat <<\_ACEOF @@ -1337,7 +1337,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -parallel configure 20140711 +parallel configure 20140722 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1354,7 +1354,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by parallel $as_me 20140711, which was +It was created by parallel $as_me 20140722, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2169,7 +2169,7 @@ fi # Define the identity of the package. PACKAGE='parallel' - VERSION='20140711' + VERSION='20140722' cat >>confdefs.h <<_ACEOF @@ -2741,7 +2741,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by parallel $as_me 20140711, which was +This file was extended by parallel $as_me 20140722, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -2803,7 +2803,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -parallel config.status 20140711 +parallel config.status 20140722 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index a69d17f3..6e865872 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([parallel], [20140711], [bug-parallel@gnu.org]) +AC_INIT([parallel], [20140722], [bug-parallel@gnu.org]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([ diff --git a/doc/release_new_version b/doc/release_new_version index b78b6f4a..ed4ed536 100644 --- a/doc/release_new_version +++ b/doc/release_new_version @@ -245,6 +245,8 @@ New in this release: * --tmux will direct the output to a tmux session instead of files. Each running jobs will be in its own window. +* --halt 10% will stop spawning new jobs if 10% failed so far. + * GNU Parallel was cited in: bammds: A tool for assessing the ancestry of low depth whole genome data using multidimensional scaling (MDS) http://bioinformatics.oxfordjournals.org/content/early/2014/06/28/bioinformatics.btu410.abstract * GNU Parallel was cited in: Molecular ferroelectric contributions to anomalous hysteresis in hybrid perovskite solar cells http://people.bath.ac.uk/aw558/publications/2014/arxiv_hysteresis_14.pdf diff --git a/packager/obs/home:tange/parallel/parallel.spec b/packager/obs/home:tange/parallel/parallel.spec index 4220825a..6a20c79b 100644 --- a/packager/obs/home:tange/parallel/parallel.spec +++ b/packager/obs/home:tange/parallel/parallel.spec @@ -1,6 +1,6 @@ Summary: Shell tool for executing jobs in parallel Name: parallel -Version: 20140622 +Version: 20140722 Release: 1 License: GPL Group: Productivity/File utilities diff --git a/src/niceload b/src/niceload index cf7737b6..e0bcaa07 100755 --- a/src/niceload +++ b/src/niceload @@ -24,7 +24,7 @@ use strict; use Getopt::Long; $Global::progname="niceload"; -$Global::version = 20140711; +$Global::version = 20140722; Getopt::Long::Configure("bundling","require_order"); get_options_from_array(\@ARGV) || die_usage(); if($opt::version) { diff --git a/src/parallel b/src/parallel index 292ae432..f8454537 100755 --- a/src/parallel +++ b/src/parallel @@ -720,7 +720,7 @@ sub get_options_from_array { sub parse_options { # Returns: N/A # Defaults: - $Global::version = 20140719; + $Global::version = 20140722; $Global::progname = 'parallel'; $Global::infinity = 2**31; $Global::debug = 0; @@ -5279,7 +5279,6 @@ sub start { # The eval is needed to catch exception from open3 if($opt::tmux) { $command = $job->tmux_wrap($command); -# $command = tmux_wrap($command,$job->replaced()); } eval { $pid = ::open3("<&IN", ">&OUT", ">&ERR", $ENV{SHELL}, "-c", $command) || @@ -5296,7 +5295,6 @@ sub start { # The eval is needed to catch exception from open3 if($opt::tmux) { $command = $job->tmux_wrap($command); -# $command = tmux_wrap($command,$job->replaced()); } eval { $pid = ::open3("<&IN", ">&OUT", ">&ERR", $ENV{SHELL}, "-c", $command) || @@ -5308,7 +5306,6 @@ sub start { } else { if($opt::tmux) { $command = $job->tmux_wrap($command); -# $command = tmux_wrap($command,$job->replaced()); } eval { $pid = ::open3(::gensym, ">&OUT", ">&ERR", $ENV{SHELL}, "-c", $command) || @@ -5348,20 +5345,18 @@ sub tmux_wrap { close $fh; unlink $tmpfile; my $visual_command = $self->replaced(); - my $c = ::undef_as_empty($self->{'commandline'}->replace_placeholders(["\257<\257>"],0,0)).""; + my $title = ::undef_as_empty($self->{'commandline'}->replace_placeholders(["\257<\257>"],0,0)).""; # ascii 194-224 annoys tmux - $c =~ s/[\011-\016;\302-\340]//g; + $title =~ s/[\011-\016;\302-\340]//g; my $tmux; if($Global::total_running == 0) { $tmux = "tmux new-session -s p$$ -d -n ". - ::shell_quote_scalar($c); + ::shell_quote_scalar($title); print $Global::original_stderr "See output with: tmux attach -t p$$\n"; } else { - $tmux = "tmux new-window -t p$$ -n ".::shell_quote_scalar($c); + $tmux = "tmux new-window -t p$$ -n ".::shell_quote_scalar($title); } -# $tmux = "tmux new-session -s p$$ -d true >/dev/null; ". -# "tmux new-window -t p$$ -n ".::shell_quote_scalar($c); return "mkfifo $tmpfile; $tmux ". # Run in tmux ::shell_quote_scalar("(".$actual_command.');(echo $?$status;echo 255) >'.$tmpfile.";". diff --git a/src/parallel.pod b/src/parallel.pod index ac2db6b1..dcc1d7b1 100644 --- a/src/parallel.pod +++ b/src/parallel.pod @@ -244,7 +244,7 @@ directory (if any) and extension removed. To understand positional replacement strings see B<{>IB<}>. -=item B<{=>IB<=}> +=item B<{=>IB<=}> (alpha testing) Replace with calculated I. B<$_> will contain the same as B<{}>. After evaluating I B<$_> will be used @@ -257,7 +257,7 @@ The B<{=>IB<=}> must be given as a single string. See also: B<--rpl> B<--parens> -=item B<{=>I IB<=}> +=item B<{=>I IB<=}> (alpha testing) Positional equivalent to B<{= perl expression =}>. To understand positional replacement strings see B<{>IB<}>. diff --git a/src/parallel.texi b/src/parallel.texi index c2b1c9a8..c54586ef 100644 --- a/src/parallel.texi +++ b/src/parallel.texi @@ -323,8 +323,8 @@ directory (if any) and extension removed. To understand positional replacement strings see @strong{@{}@emph{n}@strong{@}}. -@item @strong{@{=}@emph{perl expression}@strong{=@}} -@anchor{@strong{@{=}@emph{perl expression}@strong{=@}}} +@item @strong{@{=}@emph{perl expression}@strong{=@}} (alpha testing) +@anchor{@strong{@{=}@emph{perl expression}@strong{=@}} (alpha testing)} Replace with calculated @emph{perl expression}. @strong{$_} will contain the same as @strong{@{@}}. After evaluating @emph{perl expression} @strong{$_} will be used @@ -336,8 +336,8 @@ The @strong{@{=}@emph{perl expression}@strong{=@}} must be given as a single str See also: @strong{--rpl} @strong{--parens} -@item @strong{@{=}@emph{n} @emph{perl expression}@strong{=@}} -@anchor{@strong{@{=}@emph{n} @emph{perl expression}@strong{=@}}} +@item @strong{@{=}@emph{n} @emph{perl expression}@strong{=@}} (alpha testing) +@anchor{@strong{@{=}@emph{n} @emph{perl expression}@strong{=@}} (alpha testing)} Positional equivalent to @strong{@{= perl expression =@}}. To understand positional replacement strings see @strong{@{}@emph{n}@strong{@}}. diff --git a/src/sql b/src/sql index ac7e2e40..15a044dc 100755 --- a/src/sql +++ b/src/sql @@ -566,7 +566,7 @@ $Global::Initfile && unlink $Global::Initfile; exit ($err); sub parse_options { - $Global::version = 20140711; + $Global::version = 20140722; $Global::progname = 'sql'; # This must be done first as this may exec myself diff --git a/src/sql.pdf b/src/sql.pdf index 5a775645ee84a435b0fc952bba00c1c9fa7f9e27..566cba09cdcb610b46068a6aad5421d2254a910f 100644 GIT binary patch delta 24880 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 K<<&IMBK=>R$zBHl delta 24734 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 ZbSMsjNI;UIMe4**NfKUOHGOrG{{vF9{>lIV diff --git a/testsuite/tests-to-run/parallel-local22.sh b/testsuite/tests-to-run/parallel-local22.sh index 5cc8d3c2..f424f3f0 100755 --- a/testsuite/tests-to-run/parallel-local22.sh +++ b/testsuite/tests-to-run/parallel-local22.sh @@ -57,4 +57,7 @@ echo '### bug #42055: --pipe -a bigfile should not require sequential reading of parallel --pipepart -a /etc/passwd -N 1 should not be run parallel --pipepart -a /etc/passwd -l 1 should not be run +echo '### --tmux test - check termination' + perl -e 'map {printf "$_%o%c\n",$_,$_}1..255' | parallel --tmux echo {} :::: - ::: a b + EOF diff --git a/testsuite/wanted-results/parallel-install b/testsuite/wanted-results/parallel-install index 33c8875c..d67a34e0 100644 --- a/testsuite/wanted-results/parallel-install +++ b/testsuite/wanted-results/parallel-install @@ -5,6 +5,26 @@ test -d "parallel-00000000" || mkdir "parallel-00000000" (cd src && make top_distdir=../parallel-00000000 distdir=../parallel-00000000/src \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[0]: Entering directory `/home/tange/privat/parallel/src' +pod2man --release='00000000' --center='parallel' \ + --section=1 ./parallel.pod > ./parallel.1n \ + && mv ./parallel.1n ./parallel.1 \ + || echo "Warning: pod2man not found. Using old parallel.1" +/bin/bash: pod2man: command not found +Warning: pod2man not found. Using old parallel.1 +pod2html ./parallel.pod > ./parallel.htmln \ + && mv ./parallel.htmln ./parallel.html \ + || echo "Warning: pod2html not found. Using old parallel.html" +/bin/bash: pod2html: command not found +Warning: pod2html not found. Using old parallel.html +rm -f ./pod2htm* +pod2texi --output=./parallel.texi ./parallel.pod \ + || echo "Warning: pod2texi not found. Using old parallel.texi" +/bin/bash: pod2texi: command not found +Warning: pod2texi not found. Using old parallel.texi +pod2pdf --output-file ./parallel.pdf ./parallel.pod --title "GNU Parallel" \ + || echo "Warning: pod2pdf not found. Using old parallel.pdf" +/bin/bash: pod2pdf: command not found +Warning: pod2pdf not found. Using old parallel.pdf make[0]: Leaving directory `/home/tange/privat/parallel/src' test -n "" \ || find "parallel-00000000" -type d ! -perm -755 \ diff --git a/testsuite/wanted-results/parallel-local-10s b/testsuite/wanted-results/parallel-local-10s new file mode 100644 index 00000000..e69de29b diff --git a/testsuite/wanted-results/parallel-local22 b/testsuite/wanted-results/parallel-local22 index 7448e7a2..7b244484 100644 --- a/testsuite/wanted-results/parallel-local22 +++ b/testsuite/wanted-results/parallel-local22 @@ -73,3 +73,7 @@ parallel: Error: --pipepart is incompatible with --max-replace-args, --max-lines parallel: Error: --pipepart is incompatible with --max-replace-args, --max-lines, and -L. parallel --pipepart -a /etc/passwd -l 1 should not be run parallel: Error: --pipepart is incompatible with --max-replace-args, --max-lines, and -L. +echo '### --tmux test - check termination' +### --tmux test - check termination + perl -e 'map {printf "$_%o%c\n",$_,$_}1..255' | parallel --tmux echo {} :::: - ::: a b +See output with: tmux attach -t p6522