diff --git a/doc/release_new_version b/doc/release_new_version index 25907cb8..7b73c822 100644 --- a/doc/release_new_version +++ b/doc/release_new_version @@ -254,29 +254,24 @@ from:tange@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org stable-bcc: Jesse Alama -Subject: GNU Parallel 20220722 ('Roe vs Wade') released +Subject: GNU Parallel 20220822 ('<<>>') released -GNU Parallel 20220722 ('Roe vs Wade') has been released. It is available for download at: lbry://@GnuParallel:4 +GNU Parallel 20220822 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4 Quote of the month: - The syntax for GNU Parallel is so slick that I often use it just to make my script read nicer, and the parallelism is a cherry on top. - -- Epistaxis@reddit + <<>> New in this release: -* --colour-failed will color output red if the job fails. - -* sql: support for InfluxDB. - -* Polarhome.com is dead, so these OSs are no longer supported: AIX HPUX IRIX Minix OPENSTEP OpenIndiana OpenServer QNX Solaris Syllable Tru64 Ultrix UnixWare. +<<>> * Bug fixes and man page updates. News about GNU Parallel: -* GNU Parallel used in "Hitting the Target" https://www.centrefornetzero.org/wp-content/uploads/2022/05/ABM-Report-Final.pdf +<<>> GNU Parallel - For people who live life in the parallel lane. diff --git a/src/env_parallel.ash b/src/env_parallel.ash index 64a3b522..7776ac7d 100755 --- a/src/env_parallel.ash +++ b/src/env_parallel.ash @@ -395,7 +395,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220722 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220723 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/env_parallel.bash b/src/env_parallel.bash index ebfaa752..429f3d3b 100755 --- a/src/env_parallel.bash +++ b/src/env_parallel.bash @@ -397,7 +397,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220722 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220723 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/env_parallel.dash b/src/env_parallel.dash index dddeae10..7925d163 100755 --- a/src/env_parallel.dash +++ b/src/env_parallel.dash @@ -395,7 +395,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220722 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220723 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/env_parallel.ksh b/src/env_parallel.ksh index 781f7dc0..bcedd3e9 100755 --- a/src/env_parallel.ksh +++ b/src/env_parallel.ksh @@ -378,7 +378,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220722 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220723 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/env_parallel.mksh b/src/env_parallel.mksh index b795c917..cb7adace 100644 --- a/src/env_parallel.mksh +++ b/src/env_parallel.mksh @@ -380,7 +380,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220722 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220723 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/env_parallel.sh b/src/env_parallel.sh index 0d6dec5d..6e180f76 100755 --- a/src/env_parallel.sh +++ b/src/env_parallel.sh @@ -395,7 +395,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220722 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220723 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/env_parallel.zsh b/src/env_parallel.zsh index c8cc3914..e305ef71 100755 --- a/src/env_parallel.zsh +++ b/src/env_parallel.zsh @@ -370,7 +370,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20220722 (GNU parallel `parallel --minversion 1`)" + echo "parset 20220723 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Foundation, Inc." echo "License GPLv3+: GNU GPL version 3 or later " diff --git a/src/niceload b/src/niceload index b181fce9..d654e879 100755 --- a/src/niceload +++ b/src/niceload @@ -26,7 +26,7 @@ use strict; use Getopt::Long; $Global::progname="niceload"; -$Global::version = 20220722; +$Global::version = 20220723; 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 c98d6406..9da42998 100755 --- a/src/parallel +++ b/src/parallel @@ -2658,7 +2658,7 @@ sub check_invalid_option_combinations() { sub init_globals() { # Defaults: - $Global::version = 20220722; + $Global::version = 20220723; $Global::progname = 'parallel'; $::name = "GNU Parallel"; $Global::infinity = 2**31; @@ -8644,35 +8644,47 @@ sub rsync_transfer_cmd($) { $self->rsync()." $file ".$self->{'host'}.":$rsync_destdir"); } -sub rsync($) { - sub rsync_protocol { - # rsync 3.1.x uses protocol 31 which is unsupported by 2.5.7. - # If the version >= 3.1.0: downgrade to protocol 30 - # Returns: - # $rsync = "rsync" or "rsync --protocol 30" - if(not $Global::rsync_protocol) { - my @out = `rsync --version`; - for (@out) { - # rsync version 3.1.3 protocol version 31 - # rsync version v3.2.3 protocol version 31 - if(/version v?(\d+.\d+)(.\d+)?/) { - if($1 >= 3.1) { - # Version 3.1.0 or later: Downgrade to protocol 30 - $Global::rsync_protocol = "rsync --protocol 30"; +{ + my $rsync_protocol; + + sub rsync($) { + sub rsync_protocol { + # rsync 3.1.x uses protocol 31 which is unsupported by 2.5.7. + # If the version >= 3.1.0: downgrade to protocol 30 + # Returns: + # $rsync = "rsync" or "rsync --protocol 30" + if(not $rsync_protocol) { + my @out = `rsync --version`; + if(not @out) { + if(::which("rsync")) { + ::die_bug("'rsync --version' gave no output."); } else { - $Global::rsync_protocol = "rsync"; + ::error("'rsync' is not in \$PATH."); + ::wait_and_exit(255); } } + for (@out) { + # rsync version 3.1.3 protocol version 31 + # rsync version v3.2.3 protocol version 31 + if(/version v?(\d+.\d+)(.\d+)?/) { + if($1 >= 3.1) { + # Version 3.1.0 or later: Downgrade to protocol 30 + $rsync_protocol = "rsync --protocol 30"; + } else { + $rsync_protocol = "rsync"; + } + } + } + $rsync_protocol or + ::die_bug("Cannot figure out version of rsync: @out"); } - $Global::rsync_protocol or - ::die_bug("Cannot figure out version of rsync: @out"); + return $rsync_protocol; } - return $Global::rsync_protocol; - } - my $self = shift; + my $self = shift; - return rsync_protocol()." ".$ENV{'PARALLEL_RSYNC_OPTS'}. - " -e".::Q($self->sshcmd()); + return rsync_protocol()." ".$ENV{'PARALLEL_RSYNC_OPTS'}. + " -e".::Q($self->sshcmd()); + } } sub cleanup_cmd($$$) { diff --git a/src/parsort b/src/parsort index a67babbd..99f3f72c 100755 --- a/src/parsort +++ b/src/parsort @@ -122,7 +122,7 @@ GetOptions( "help" => \$opt::dummy, ) || exit(255); $Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1]; -$Global::version = 20220722; +$Global::version = 20220723; if($opt::version) { version(); exit 0; } @Global::sortoptions = grep { ! /^-D$/ } shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]); diff --git a/src/sql b/src/sql index c8081db0..498a6b43 100755 --- a/src/sql +++ b/src/sql @@ -667,7 +667,7 @@ $Global::Initfile && unlink $Global::Initfile; exit ($err); sub parse_options { - $Global::version = 20220722; + $Global::version = 20220723; $Global::progname = 'sql'; # This must be done first as this may exec myself