diff --git a/NEWS b/NEWS index 8bbf3522..d08b2578 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,19 @@ +20230222 + +New in this release: + +* parsort: --parallel now does closer to what you expect. + +* parallel: --files0 is --files but \0 separated. + +* Bug fixes and man page updates. + +News about GNU Parallel: + +* 5 great Perl scripts to keep in your sysadmin toolbox + https://www.redhat.com/sysadmin/perl-scripts + + 20230122 New in this release: diff --git a/README b/README index e70452ec..7f049a8b 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-20230122.tar.bz2 - wget https://ftpmirror.gnu.org/parallel/parallel-20230122.tar.bz2.sig - gpg parallel-20230122.tar.bz2.sig - bzip2 -dc parallel-20230122.tar.bz2 | tar xvf - - cd parallel-20230122 + wget https://ftpmirror.gnu.org/parallel/parallel-20230222.tar.bz2 + wget https://ftpmirror.gnu.org/parallel/parallel-20230222.tar.bz2.sig + gpg parallel-20230222.tar.bz2.sig + bzip2 -dc parallel-20230222.tar.bz2 | tar xvf - + cd parallel-20230222 ./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-20230122.tar.bz2 - wget https://ftpmirror.gnu.org/parallel/parallel-20230122.tar.bz2.sig - gpg parallel-20230122.tar.bz2.sig - bzip2 -dc parallel-20230122.tar.bz2 | tar xvf - - cd parallel-20230122 + wget https://ftpmirror.gnu.org/parallel/parallel-20230222.tar.bz2 + wget https://ftpmirror.gnu.org/parallel/parallel-20230222.tar.bz2.sig + gpg parallel-20230222.tar.bz2.sig + bzip2 -dc parallel-20230222.tar.bz2 | tar xvf - + cd parallel-20230222 ./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, January 22). GNU Parallel 20230122 ('Bolsonaristas'). - Zenodo. https://doi.org/10.5281/zenodo.7558957 + Tange, O. (2023, February 22). GNU Parallel 20230222 ('Gaziantep'). + Zenodo. https://doi.org/10.5281/zenodo.7668338 Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software Foundation, Inc. diff --git a/configure b/configure index be5f48a2..48550fd3 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 20230122. +# Generated by GNU Autoconf 2.71 for parallel 20230222. # # Report bugs to . # @@ -610,8 +610,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='parallel' PACKAGE_TARNAME='parallel' -PACKAGE_VERSION='20230122' -PACKAGE_STRING='parallel 20230122' +PACKAGE_VERSION='20230222' +PACKAGE_STRING='parallel 20230222' 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 20230122 to adapt to many kinds of systems. +\`configure' configures parallel 20230222 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 20230122:";; + short | recursive ) echo "Configuration of parallel 20230222:";; 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 20230122 +parallel configure 20230222 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 20230122, which was +It was created by parallel $as_me 20230222, 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='20230122' + VERSION='20230222' 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 20230122, which was +This file was extended by parallel $as_me 20230222, 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 20230122 +parallel config.status 20230222 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 969ad2cb..78f794be 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([parallel],[20230122],[bug-parallel@gnu.org]) +AC_INIT([parallel],[20230222],[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 7a7617da..ab70ffe6 100644 --- a/doc/haikus +++ b/doc/haikus @@ -14,9 +14,6 @@ Output is in sync write a haiku about gnu parallel and the :::+ option - Praise GNU parallel, though. That gets me pretty far. - -- Your Obed. Servant, J. B. @Jeffinatorator - Got around to using GNU parallel for the first time from a suggestion by @jdwasmuth ... now I'm wishing I started using this years ago -- Stefan Gavriliuc @GavriliucStefan@twitter @@ -217,6 +214,9 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html === Used === + Praise GNU parallel, though. That gets me pretty far. + -- Your Obed. Servant, J. B. @Jeffinatorator + Colorful output parallel, with --color flag tasks more vibrant now diff --git a/doc/release_new_version b/doc/release_new_version index 919cb575..e00bedc7 100644 --- a/doc/release_new_version +++ b/doc/release_new_version @@ -274,7 +274,7 @@ New in this release: <<>> -* Bug fixes and man page updates. + * Bug fixes and man page updates. News about GNU Parallel: diff --git a/packager/obs/home-tange/parallel/.osc/_files b/packager/obs/home-tange/parallel/.osc/_files index f15530d7..6578078a 100644 --- a/packager/obs/home-tange/parallel/.osc/_files +++ b/packager/obs/home-tange/parallel/.osc/_files @@ -1,6 +1,7 @@ - - - - - + + + + + + diff --git a/packager/obs/home-tange/parallel/.osc/parallel.spec b/packager/obs/home-tange/parallel/.osc/parallel.spec index f5a58a1f..665be5a5 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: 20230122 +Version: 20230222 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 368a0393..89577a4d 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 20230122 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230222 (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 daefec02..9458daf8 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 20230122 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230222 (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 381bd09c..d6654eb4 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 20230122 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230222 (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 1f286562..9fb4771e 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 20230122 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230222 (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 669f12c2..3dcc3011 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 20230122 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230222 (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 adcef8fc..7b00c773 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 20230122 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230222 (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 74f3fc40..969d0882 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 20230122 (GNU parallel `parallel --minversion 1`)" + echo "parset 20230222 (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 ab11671c..57e2cdba 100755 --- a/src/niceload +++ b/src/niceload @@ -26,7 +26,7 @@ use strict; use Getopt::Long; $Global::progname="niceload"; -$Global::version = 20230122; +$Global::version = 20230222; 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 753c91dc..acd8f120 100755 --- a/src/parallel +++ b/src/parallel @@ -2752,7 +2752,7 @@ sub check_invalid_option_combinations() { sub init_globals() { # Defaults: - $Global::version = 20230122; + $Global::version = 20230222; $Global::progname = 'parallel'; $::name = "GNU Parallel"; $Global::infinity = 2**31; @@ -5688,8 +5688,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, January 22). GNU Parallel 20230122 ('Bolsonaristas').", - " Zenodo. https://doi.org/10.5281/zenodo.7558957", + " Tange, O. (2023, February 22). GNU Parallel 20230222 ('Gaziantep').", + " Zenodo. https://doi.org/10.5281/zenodo.7668338", "", # Before changing these lines, please read # https://www.gnu.org/software/parallel/parallel_design.html#citation-notice @@ -5721,8 +5721,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, January 22). GNU Parallel 20230122 ('Bolsonaristas').", - " Zenodo. https://doi.org/10.5281/zenodo.7558957", + " Tange, O. (2023, February 22). GNU Parallel 20230222 ('Gaziantep').", + " Zenodo. https://doi.org/10.5281/zenodo.7668338", "", # Before changing these line, please read # https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and @@ -5849,20 +5849,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_7558957,", + "\@software{tange_2023_7668338,", " author = {Tange, Ole},", - " title = {GNU Parallel 20230122 ('Bolsonaristas')},", - " month = Jan,", + " title = {GNU Parallel 20230222 ('Gaziantep')},", + " month = Feb,", " 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.7558957},", - " url = {https://doi.org/10.5281/zenodo.7558957}", + " doi = {10.5281/zenodo.7668338},", + " url = {https://doi.org/10.5281/zenodo.7668338}", "}", "", - "(Feel free to use \\nocite{tange_2023_7558957})", + "(Feel free to use \\nocite{tange_2023_7668338})", "", # Before changing these lines, please read # https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and diff --git a/src/parallel.pod b/src/parallel.pod index dcd48b15..0d58522a 100644 --- a/src/parallel.pod +++ b/src/parallel.pod @@ -1586,9 +1586,9 @@ Similar to B<--memfree>. See also: B<--memfree> B<--load> -=item B<--latest-line> (alpha testing) +=item B<--latest-line> (beta testing) -=item B<--ll> (alpha testing) +=item B<--ll> (beta testing) Print the lastest line. Each job gets a single line that is updated with the lastest output from the job. @@ -1858,17 +1858,21 @@ Similar to B<--tty> but does not set B<--jobs> or B<--ungroup>. See also: B<--tty> -=item B<--output-as-files> +=item B<--output-as-files> (alpha testing) -=item B<--outputasfiles> +=item B<--outputasfiles> (alpha testing) -=item B<--files> +=item B<--files> (alpha testing) + +=item B<--files0> (alpha testing) Save output to files. Instead of printing the output to stdout (standard output) the output of each job is saved in a file and the filename is then printed. +B<--files0> uses NUL (\0) instead of newline (\n) as separator. + See also: B<--results> diff --git a/src/parsort b/src/parsort index a99cd75a..a3be4208 100755 --- a/src/parsort +++ b/src/parsort @@ -30,7 +30,7 @@ Same as B. Except: =over 4 -=item B<--parallel=>I +=item B<--parallel=>I (alpha testing) Change the number of sorts run concurrently to I. I will be increased to number of files if B is given more than I @@ -137,7 +137,7 @@ GetOptions( "help" => \$opt::dummy, ) || exit(255); $Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1]; -$Global::version = 20230122; +$Global::version = 20230222; 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 9e2d2a65..fc4b66ff 100755 --- a/src/sql +++ b/src/sql @@ -670,7 +670,7 @@ $Global::Initfile && unlink $Global::Initfile; exit ($err); sub parse_options { - $Global::version = 20230122; + $Global::version = 20230222; $Global::progname = 'sql'; # This must be done first as this may exec myself