Released as 20161122 ('Trump')

This commit is contained in:
Ole Tange 2016-11-21 22:35:25 +01:00
parent f905690898
commit ca9b3ac100
14 changed files with 107 additions and 39 deletions

13
NEWS
View file

@ -1,3 +1,16 @@
20161122
* --record-env can now be used with env_parallel for bash, ksh, pdksh, and zsh.
* GNU Parallel was cited in: An improved implementation of Conditional Reciprocal Best Hits with LAST and Python https://pypi.python.org/pypi/shmlast/1.0.3
* GNU Parallel was cited in: miRPathDB: a new dictionary on microRNAs and target pathways http://nar.oxfordjournals.org/content/early/2016/10/13/nar.gkw926.full
* GNU/Parallel Run multiple commands simultaneously https://vinusumi.wordpress.com/2016/11/08/gnuparallel-run-multiple-commands-simultaneously/
* Tutorial: Parallel web scraping with CasperJS and GNU Parallel http://g-liu.com/blog/2016/10/tutorial-parallel-web-scraping-with-casperjs-and-gnu-parallel/
20161022
* First command no longer gets stdin as it causes unpredictable issues.

16
README
View file

@ -26,6 +26,10 @@ possible to use output from GNU Parallel as input for other programs.
= 10 seconds installation =
For security reasons it is recommended you use your package manager to
install. But if you cannot do that then you can use this 10 seconds
installation.
The 10 seconds installation will try do to a full installation; if
that fails, a personal installation; if that fails, a minimal
installation.
@ -40,9 +44,9 @@ document.
Full installation of GNU Parallel is as simple as:
wget http://ftpmirror.gnu.org/parallel/parallel-20161022.tar.bz2
bzip2 -dc parallel-20161022.tar.bz2 | tar xvf -
cd parallel-20161022
wget http://ftpmirror.gnu.org/parallel/parallel-20161122.tar.bz2
bzip2 -dc parallel-20161122.tar.bz2 | tar xvf -
cd parallel-20161122
./configure && make && sudo make install
@ -51,9 +55,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-20161022.tar.bz2
bzip2 -dc parallel-20161022.tar.bz2 | tar xvf -
cd parallel-20161022
wget http://ftpmirror.gnu.org/parallel/parallel-20161122.tar.bz2
bzip2 -dc parallel-20161122.tar.bz2 | tar xvf -
cd parallel-20161122
./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel

20
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for parallel 20161022.
# Generated by GNU Autoconf 2.69 for parallel 20161122.
#
# Report bugs to <bug-parallel@gnu.org>.
#
@ -579,8 +579,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20161022'
PACKAGE_STRING='parallel 20161022'
PACKAGE_VERSION='20161122'
PACKAGE_STRING='parallel 20161122'
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL=''
@ -1214,7 +1214,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 20161022 to adapt to many kinds of systems.
\`configure' configures parallel 20161122 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1281,7 +1281,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of parallel 20161022:";;
short | recursive ) echo "Configuration of parallel 20161122:";;
esac
cat <<\_ACEOF
@ -1357,7 +1357,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
parallel configure 20161022
parallel configure 20161122
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@ -1374,7 +1374,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 20161022, which was
It was created by parallel $as_me 20161122, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@ -2237,7 +2237,7 @@ fi
# Define the identity of the package.
PACKAGE='parallel'
VERSION='20161022'
VERSION='20161122'
cat >>confdefs.h <<_ACEOF
@ -2880,7 +2880,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 20161022, which was
This file was extended by parallel $as_me 20161122, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -2942,7 +2942,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 20161022
parallel config.status 20161122
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

View file

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

View file

@ -219,22 +219,27 @@ cc:Tim Cuthbertson <tim3d.junk@gmail.com>,
Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
Jesse Alama <jesse.alama@gmail.com>
Subject: GNU Parallel 20161122 ('Hillary') released <<[stable]>>
Subject: GNU Parallel 20161122 ('Trump') released <<[stable]>>
GNU Parallel 20161122 ('Hillary') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
GNU Parallel 20161122 ('Trump') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
<<No new functionality was introduced so this is a good candidate for a stable release.>>
Haiku of the month:
Speed is good for you
Multi speed is better still
Use GNU Parallel
-- Ole Tange
New in this release:
http://g-liu.com/blog/2016/10/tutorial-parallel-web-scraping-with-casperjs-and-gnu-parallel/
* --record-env can now be used with env_parallel for bash, ksh, pdksh, and zsh.
* GNU Parallel was cited in: An improved implementation of Conditional Reciprocal Best Hits with LAST and Python https://pypi.python.org/pypi/shmlast/1.0.3
* GNU Parallel was cited in: miRPathDB: a new dictionary on microRNAs and target pathways http://nar.oxfordjournals.org/content/early/2016/10/13/nar.gkw926.full
* GNU/Parallel Run multiple commands simultaneously https://vinusumi.wordpress.com/2016/11/08/gnuparallel-run-multiple-commands-simultaneously/
* Tutorial: Parallel web scraping with CasperJS and GNU Parallel http://g-liu.com/blog/2016/10/tutorial-parallel-web-scraping-with-casperjs-and-gnu-parallel/
* <<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>>

View file

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

View file

@ -25,6 +25,33 @@ B<env_parallel> is beta quality and not production ready.
B<env_parallel> is 0.1 sec slower at startup than pure GNU
B<parallel>, and takes up to 15 ms to start a job.
Due to the problem with environment space (see below) the recommended
usage is:
# Run once to record the "empty" environment
env_parallel --record-env
# Define whatever you want to use
alias myalias=echo
myvar=it
myfunc() { myalias $1 $myvar works.; }
# Use --env _ to only transfer the names not in the "empty" environment
env_parallel --env _ -S localhost myfunc ::: Yay,
In B<csh>:
# Run once to record the "empty" environment
env_parallel --record-env
# Define whatever you want to use
alias myalias 'echo \!* $myvar works.'
set myvar=it
# Use --env _ to only transfer the names not in the "empty" environment
env_parallel --env _ -S localhost myalias ::: Yay,
=head2 Environment space
By default B<env_parallel> will export all environment variables,

View file

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

View file

@ -1216,7 +1216,7 @@ sub check_invalid_option_combinations {
sub init_globals {
# Defaults:
$Global::version = 20161023;
$Global::version = 20161122;
$Global::progname = 'parallel';
$Global::infinity = 2**31;
$Global::debug = 0;
@ -3751,7 +3751,7 @@ sub citation_notice {
"This helps funding further development; AND IT WON'T COST YOU A CENT.",
"If you pay 10000 EUR you should feel free to use GNU Parallel without citing.",
"",
"To silence the citation notice: run 'parallel --citation'.",
"To silence this citation notice: run 'parallel --citation'.",
""
);
}
@ -9910,13 +9910,28 @@ sub Q {
return $a;
}
sub pQ {
# pQ alias for ::perl_quote_scalar
*pQ = \&::perl_quote_scalar;
return pQ(@_);
}
sub total_jobs {
return $Global::JobQueue->total_jobs()
}
{
my %perleval;
my $job;
sub skip {
# shorthand for $job->skip();
$job->skip();
}
sub slot {
# shorthand for $job->slot();
$job->slot();
}
sub replace {
# Calculates the corresponding value for a given perl expression
# Returns:
@ -9926,7 +9941,7 @@ sub total_jobs {
my $quote = (shift) ? 1 : 0; # should the string be quoted?
# This is actually a CommandLine-object,
# but it looks nice to be able to say {= $job->slot() =}
my $job = shift;
$job = shift;
$perlexpr =~ s/^(-?\d+)? *//; # Positional replace treated as normal replace
if(not $self->{'cache'}{$perlexpr}) {
# Only compute the value once

View file

@ -260,6 +260,10 @@ made:
shell quote a string
=item Z<> B<pQ(>I<string>B<)>
perl quote a string
=item Z<> B<total_jobs()>
number of jobs in total

View file

@ -17,8 +17,8 @@ To run this tutorial you must have the following:
=item parallel >= version 20160822
Install the newest version using your package manager or with this
command:
Install the newest version using your package manager (recommended for
security reasons) or with this command:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash
@ -531,9 +531,9 @@ Output:
*/!#$ shell quoted is \*/\!\#\$
B<$job->>B<skip()> skips the job:
B<skip()> skips the job:
parallel echo {= 'if($_==3) { $job->skip() }' =} ::: {1..5}
parallel echo {= 'if($_==3) { skip() }' =} ::: {1..5}
Output:
@ -544,7 +544,7 @@ Output:
B<@arg> contains the input source variables:
parallel echo {= 'if($arg[1]==$arg[2]) { $job->skip() }' =} ::: {1..3} ::: {1..3}
parallel echo {= 'if($arg[1]==$arg[2]) { skip() }' =} ::: {1..3} ::: {1..3}
Output:

View file

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

View file

@ -10,7 +10,7 @@ please cite:
This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
To silence the citation notice: run 'parallel --citation'.
To silence this citation notice: run 'parallel --citation'.
echo a
a
@ -32,7 +32,7 @@ please cite:
This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
To silence the citation notice: run 'parallel --citation'.
To silence this citation notice: run 'parallel --citation'.
10 files to edit
[?1049h[?1h=[?12;25h[?12l[?25h[?25l"file1" [New File]~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [?12l[?25h[?25lE173: 9 more files to edit[?12l[?25h[?1l>[?1049lAcademic tradition requires you to cite works you base your article on.

View file

@ -218,12 +218,12 @@ Job 4 of 5
Job 5 of 5
parallel echo {} shell quoted is {= '$_=Q($_)' =} ::: '*/!#$'
*/!#$ shell quoted is \*/\!\#\$
parallel echo {= 'if($_==3) { $job->skip() }' =} ::: {1..5}
parallel echo {= 'if($_==3) { skip() }' =} ::: {1..5}
9
9
9
9
parallel echo {= 'if($arg[1]==$arg[2]) { $job->skip() }' =} ::: {1..3} ::: {1..3}
parallel echo {= 'if($arg[1]==$arg[2]) { skip() }' =} ::: {1..3} ::: {1..3}
1 2
1 3
2 1