From 3cbbc507ea698c6ae4118f3990f47e2f7fc4e3e0 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Sat, 22 Apr 2023 22:57:46 +0200 Subject: [PATCH] Released as 20230422 ('Grand Jury') --- NEWS | 17 ++++++++++++ README | 24 ++++++++--------- configure | 20 +++++++------- configure.ac | 2 +- doc/haikus | 5 ++-- doc/release_new_version | 26 ++++++++++++------- packager/obs/home-tange/parallel/.osc/_files | 12 ++++----- .../home-tange/parallel/.osc/parallel.spec | 2 +- src/env_parallel.ash | 2 +- src/env_parallel.bash | 2 +- src/env_parallel.dash | 2 +- src/env_parallel.ksh | 2 +- src/env_parallel.mksh | 2 +- src/env_parallel.sh | 2 +- src/env_parallel.zsh | 2 +- src/niceload | 2 +- src/parallel | 22 ++++++++-------- src/parsort | 2 +- src/sql | 2 +- testsuite/tests-to-run/parallel-local-mem.sh | 3 +++ 20 files changed, 90 insertions(+), 63 deletions(-) diff --git a/NEWS b/NEWS index 0d6fdca9..5804033d 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,23 @@ New in this release: * Bug fixes and man page updates. +News about GNU Parallel: + +* Running shell script in parallel + https://w3toppers.com/running-shell-script-in-parallel/ + +* Simulating climate risk scenarios for the Amazon Rainforest + https://aws.amazon.com/blogs/hpc/simulating-climate-risk-scenarios-for-the-amazon-rainforest/ + +* How To Use Your Entire CPU In Bash With Parallel + https://bash-prompt.net/guides/parallell-bash/ + +* Bash - parallel command execution + https://medium.com/linuxstories/bash-parallel-command-execution-d4bd7c7cc1d6 + +* 3 tips for faster batch post-pro + https://www.cfdengine.com/newsletter/142/ + 20230322 diff --git a/README b/README index ebb55dc3..591d41fe 100644 --- a/README +++ b/README @@ -57,11 +57,11 @@ document. Full installation of GNU Parallel is as simple as: - wget https://ftpmirror.gnu.org/parallel/parallel-20230322.tar.bz2 - wget https://ftpmirror.gnu.org/parallel/parallel-20230322.tar.bz2.sig - gpg parallel-20230322.tar.bz2.sig - bzip2 -dc parallel-20230322.tar.bz2 | tar xvf - - cd parallel-20230322 + wget https://ftpmirror.gnu.org/parallel/parallel-20230422.tar.bz2 + wget https://ftpmirror.gnu.org/parallel/parallel-20230422.tar.bz2.sig + gpg parallel-20230422.tar.bz2.sig + bzip2 -dc parallel-20230422.tar.bz2 | tar xvf - + cd parallel-20230422 ./configure && make && sudo make install @@ -70,11 +70,11 @@ 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 https://ftpmirror.gnu.org/parallel/parallel-20230322.tar.bz2 - wget https://ftpmirror.gnu.org/parallel/parallel-20230322.tar.bz2.sig - gpg parallel-20230322.tar.bz2.sig - bzip2 -dc parallel-20230322.tar.bz2 | tar xvf - - cd parallel-20230322 + wget https://ftpmirror.gnu.org/parallel/parallel-20230422.tar.bz2 + wget https://ftpmirror.gnu.org/parallel/parallel-20230422.tar.bz2.sig + gpg parallel-20230422.tar.bz2.sig + bzip2 -dc parallel-20230422.tar.bz2 | tar xvf - + cd parallel-20230422 ./configure --prefix=$HOME && make && make install Or if your system lacks 'make' you can simply copy src/parallel @@ -122,8 +122,8 @@ will love you for it. When using programs that use GNU Parallel to process data for publication please cite: - Tange, O. (2023, March 22). GNU Parallel 20230322 ('Arrest Warrant'). - Zenodo. https://doi.org/10.5281/zenodo.7761866 + Tange, O. (2023, April 22). GNU Parallel 20230422 ('Grand Jury'). + Zenodo. https://doi.org/10.5281/zenodo.7855617 Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software Foundation, Inc. diff --git a/configure b/configure index 079b5866..59aef3ff 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.71 for parallel 20230322. +# Generated by GNU Autoconf 2.71 for parallel 20230422. # # Report bugs to . # @@ -610,8 +610,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='parallel' PACKAGE_TARNAME='parallel' -PACKAGE_VERSION='20230322' -PACKAGE_STRING='parallel 20230322' +PACKAGE_VERSION='20230422' +PACKAGE_STRING='parallel 20230422' PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_URL='' @@ -1246,7 +1246,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 20230322 to adapt to many kinds of systems. +\`configure' configures parallel 20230422 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1313,7 +1313,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of parallel 20230322:";; + short | recursive ) echo "Configuration of parallel 20230422:";; esac cat <<\_ACEOF @@ -1390,7 +1390,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -parallel configure 20230322 +parallel configure 20230422 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1427,7 +1427,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 20230322, which was +It was created by parallel $as_me 20230422, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -2379,7 +2379,7 @@ fi # Define the identity of the package. PACKAGE='parallel' - VERSION='20230322' + VERSION='20230422' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -3026,7 +3026,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 20230322, which was +This file was extended by parallel $as_me 20230422, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -3090,7 +3090,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -parallel config.status 20230322 +parallel config.status 20230422 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 75ef1a5c..d311c389 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([parallel],[20230322],[bug-parallel@gnu.org]) +AC_INIT([parallel],[20230422],[bug-parallel@gnu.org]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([ diff --git a/doc/haikus b/doc/haikus index 3815e9a3..aa01e539 100644 --- a/doc/haikus +++ b/doc/haikus @@ -4,8 +4,6 @@ Quote of the month: - parallel might be one of the best utilities out there - -- @ThePrimeagen ThePrimeagen Recently learned how to use GNU parallel (from ChatGPT, no less!) and I've gone mad with power -- Mark, Anthropomorphic Anuran @reject_resubmit@twitter @@ -233,6 +231,9 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html === Used === + parallel might be one of the best utilities out there + -- @ThePrimeagen ThePrimeagen + GNU parallel is magic, half of my work uses it, to the point where they're referenced and thanked in my thesis -- Best Catboy Key Grip @alamogordoglass@twitter diff --git a/doc/release_new_version b/doc/release_new_version index 5a0fbe74..1600f705 100644 --- a/doc/release_new_version +++ b/doc/release_new_version @@ -105,6 +105,7 @@ lbry://@GnuParallel#4/parallel-20210322.tar.bz2 . .last-doitag.txt file_path="`pwd`/parallel-$YYYYMMDD.tar.bz2" title="GNU Parallel $YYYYMMDD ('$SPCTAG') [stable]" +title="GNU Parallel $YYYYMMDD ('$SPCTAG')" name="GNU-Parallel-$YYYYMMDD-$TAG" author="Ole Tange" license="GNU GPLv3 or later" @@ -262,28 +263,33 @@ from:tange@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org stable-bcc: Jesse Alama -Subject: GNU Parallel 20230422 ('Grand Jury<<>>') released +Subject: GNU Parallel 20230422 ('Grand Jury') released -GNU Parallel 20230422 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4 +GNU Parallel 20230422 ('Grand Jury') has been released. It is available for download at: lbry://@GnuParallel:4 Quote of the month: - <<>> + parallel might be one of the best utilities out there + -- @ThePrimeagen ThePrimeagen New in this release: -<<>> +* --jobs evaluates expression: +3*log(55)% = ncpu*1.12 + * Bug fixes and man page updates. News about GNU Parallel: -https://w3toppers.com/running-shell-script-in-parallel/ -https://aws.amazon.com/blogs/hpc/simulating-climate-risk-scenarios-for-the-amazon-rainforest/ -https://bash-prompt.net/guides/parallell-bash/ -https://medium.com/linuxstories/bash-parallel-command-execution-d4bd7c7cc1d6 -https://www.cfdengine.com/newsletter/142/ +* Running shell script in parallel https://w3toppers.com/running-shell-script-in-parallel/ + +* Simulating climate risk scenarios for the Amazon Rainforest https://aws.amazon.com/blogs/hpc/simulating-climate-risk-scenarios-for-the-amazon-rainforest/ + +* How To Use Your Entire CPU In Bash With Parallel https://bash-prompt.net/guides/parallell-bash/ + +* Bash - parallel command execution https://medium.com/linuxstories/bash-parallel-command-execution-d4bd7c7cc1d6 + +* 3 tips for faster batch post-pro https://www.cfdengine.com/newsletter/142/ -<<>> GNU Parallel - For people who live life in the parallel lane. diff --git a/packager/obs/home-tange/parallel/.osc/_files b/packager/obs/home-tange/parallel/.osc/_files index 2dc43c84..e49f15a7 100644 --- a/packager/obs/home-tange/parallel/.osc/_files +++ b/packager/obs/home-tange/parallel/.osc/_files @@ -1,7 +1,7 @@ - - - - - - + + + + + + diff --git a/packager/obs/home-tange/parallel/.osc/parallel.spec b/packager/obs/home-tange/parallel/.osc/parallel.spec index f6f9f623..0833d121 100644 --- a/packager/obs/home-tange/parallel/.osc/parallel.spec +++ b/packager/obs/home-tange/parallel/.osc/parallel.spec @@ -1,7 +1,7 @@ Summary: Shell tool for executing jobs in parallel Name: parallel -Version: 20230322 +Version: 20230422 Release: 2.1 License: GPL-3.0-or-later Group: Productivity/File utilities diff --git a/src/env_parallel.ash b/src/env_parallel.ash index e3d459d5..75e05c71 100755 --- a/src/env_parallel.ash +++ b/src/env_parallel.ash @@ -393,7 +393,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20230323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2023 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 019fb36c..0b8f67cf 100755 --- a/src/env_parallel.bash +++ b/src/env_parallel.bash @@ -395,7 +395,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20230323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2023 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 c2c7b904..d01c1b60 100755 --- a/src/env_parallel.dash +++ b/src/env_parallel.dash @@ -393,7 +393,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20230323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2023 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 975e6ecf..2ab81c69 100755 --- a/src/env_parallel.ksh +++ b/src/env_parallel.ksh @@ -376,7 +376,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20230323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2023 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 b70cb1f4..8705f6a8 100644 --- a/src/env_parallel.mksh +++ b/src/env_parallel.mksh @@ -378,7 +378,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20230323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2023 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 f1cd6637..0dcc6e2a 100755 --- a/src/env_parallel.sh +++ b/src/env_parallel.sh @@ -393,7 +393,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20230323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2023 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 f90385a0..730dfc50 100755 --- a/src/env_parallel.zsh +++ b/src/env_parallel.zsh @@ -368,7 +368,7 @@ _parset_main() { fi if [ "$_parset_NAME" = "--version" ] ; then # shellcheck disable=SC2006 - echo "parset 20230323 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230422 (GNU parallel `parallel --minversion 1`)" echo "Copyright (C) 2007-2023 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 9aa4011e..5cbf5cfd 100755 --- a/src/niceload +++ b/src/niceload @@ -26,7 +26,7 @@ use strict; use Getopt::Long; $Global::progname="niceload"; -$Global::version = 20230323; +$Global::version = 20230422; 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 6fd22192..bfecc03a 100755 --- a/src/parallel +++ b/src/parallel @@ -2762,7 +2762,7 @@ sub check_invalid_option_combinations() { sub init_globals() { # Defaults: - $Global::version = 20230323; + $Global::version = 20230422; $Global::progname = 'parallel'; $::name = "GNU Parallel"; $Global::infinity = 2**31; @@ -5711,8 +5711,8 @@ sub usage() { "If you use programs that use GNU Parallel to process data for an article in a", "scientific publication, please cite:", "", - " Tange, O. (2023, March 22). GNU Parallel 20230322 ('Arrest Warrant').", - " Zenodo. https://doi.org/10.5281/zenodo.7761866", + " Tange, O. (2023, April 22). GNU Parallel 20230422 ('Grand Jury').", + " Zenodo. https://doi.org/10.5281/zenodo.7855617", "", # Before changing these lines, please read # https://www.gnu.org/software/parallel/parallel_design.html#citation-notice @@ -5744,8 +5744,8 @@ sub citation_notice() { "If you use programs that use GNU Parallel to process data for an article in a", "scientific publication, please cite:", "", - " Tange, O. (2023, March 22). GNU Parallel 20230322 ('Arrest Warrant').", - " Zenodo. https://doi.org/10.5281/zenodo.7761866", + " Tange, O. (2023, April 22). GNU Parallel 20230422 ('Grand Jury').", + " Zenodo. https://doi.org/10.5281/zenodo.7855617", "", # Before changing these line, please read # https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and @@ -5872,20 +5872,20 @@ sub citation() { "If you use programs that use GNU Parallel to process data for an article in a", "scientific publication, please cite:", "", - "\@software{tange_2023_7761866,", + "\@software{tange_2023_7855617,", " author = {Tange, Ole},", - " title = {GNU Parallel 20230322 ('Arrest Warrant')},", - " month = Mar,", + " title = {GNU Parallel 20230422 ('Grand Jury')},", + " month = Apr,", " year = 2023,", " note = {{GNU Parallel is a general parallelizer to run", " multiple serial command line programs in parallel", " without changing them.}},", " publisher = {Zenodo},", - " doi = {10.5281/zenodo.7761866},", - " url = {https://doi.org/10.5281/zenodo.7761866}", + " doi = {10.5281/zenodo.7855617},", + " url = {https://doi.org/10.5281/zenodo.7855617}", "}", "", - "(Feel free to use \\nocite{tange_2023_7761866})", + "(Feel free to use \\nocite{tange_2023_7855617})", "", # Before changing these lines, please read # https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and diff --git a/src/parsort b/src/parsort index 14cbae8f..afd76a9e 100755 --- a/src/parsort +++ b/src/parsort @@ -137,7 +137,7 @@ GetOptions( "help" => \$opt::dummy, ) || exit(255); $Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1]; -$Global::version = 20230323; +$Global::version = 20230422; if($opt::version) { version(); exit 0; } # Remove -D and --parallel=N my @s = (grep { ! /^-D$|^--parallel=\S+$/ } diff --git a/src/sql b/src/sql index 9dfaa74b..c43f75e2 100755 --- a/src/sql +++ b/src/sql @@ -670,7 +670,7 @@ $Global::Initfile && unlink $Global::Initfile; exit ($err); sub parse_options { - $Global::version = 20230323; + $Global::version = 20230422; $Global::progname = 'sql'; # This must be done first as this may exec myself diff --git a/testsuite/tests-to-run/parallel-local-mem.sh b/testsuite/tests-to-run/parallel-local-mem.sh index 8be25e0f..18f5ad38 100755 --- a/testsuite/tests-to-run/parallel-local-mem.sh +++ b/testsuite/tests-to-run/parallel-local-mem.sh @@ -9,6 +9,8 @@ TMPDIR=${TMPDIR:-/tmp} mkdir -p $TMPDIR # Jobs that eat more than 2 GB RAM +echo "dir $testsuitedir" +[ -e "$testsuitedir" ] && cd "$testsuitedir" gendata() { # Generate a lot of text data fast yes "`seq 3000`" | head -c $1 @@ -18,6 +20,7 @@ export -f gendata perl5.14parallel() { # Run GNU Parallel under perl 5.14 which does not support 64-bit very well # Remove setpgrp_func because 5.14 may use another func + pwd rm -f ~/.parallel/tmp/sshlogin/*/setpgrp_func PATH=input-files/perl-v5.14.2:$PATH PERL5LIB=input-files/perl-v5.14.2/lib input-files/perl-v5.14.2/perl `which parallel` "$@"