Released as 20220222 ('Donetsk Luhansk')

This commit is contained in:
Ole Tange 2022-02-22 22:55:41 +01:00
parent 2ebb75eb17
commit 5b325c60ba
30 changed files with 185 additions and 124 deletions

24
NEWS
View file

@ -1,3 +1,27 @@
20220222
New in this release:
* Encoding of remote commands has changed. This limits the length of
remote commands to less than half. It also requires $REMOTE_TMPDIR
to be writable. It makes this release beta quality.
* Time functions hh_mm_ss() hhmmss() hh_mm() hhmm() are now available
for {= =}.
* Many options in the man page for parallel now has 'see also' for
related options.
* parallel_options_map.pdf is a map showing which options other
options relate to.
* {uniq} added to --plus to only run jobs with unique values.
* sem --fg exits with the exit code of the job.
* Bug fixes and man page updates.
20220122 20220122
New in this release: New in this release:

24
README
View file

@ -57,11 +57,11 @@ document.
Full installation of GNU Parallel is as simple as: Full installation of GNU Parallel is as simple as:
wget https://ftpmirror.gnu.org/parallel/parallel-20220122.tar.bz2 wget https://ftpmirror.gnu.org/parallel/parallel-20220222.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20220122.tar.bz2.sig wget https://ftpmirror.gnu.org/parallel/parallel-20220222.tar.bz2.sig
gpg parallel-20220122.tar.bz2.sig gpg parallel-20220222.tar.bz2.sig
bzip2 -dc parallel-20220122.tar.bz2 | tar xvf - bzip2 -dc parallel-20220222.tar.bz2 | tar xvf -
cd parallel-20220122 cd parallel-20220222
./configure && make && sudo make install ./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 If you are not root you can add ~/bin to your path and install in
~/bin and ~/share: ~/bin and ~/share:
wget https://ftpmirror.gnu.org/parallel/parallel-20220122.tar.bz2 wget https://ftpmirror.gnu.org/parallel/parallel-20220222.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20220122.tar.bz2.sig wget https://ftpmirror.gnu.org/parallel/parallel-20220222.tar.bz2.sig
gpg parallel-20220122.tar.bz2.sig gpg parallel-20220222.tar.bz2.sig
bzip2 -dc parallel-20220122.tar.bz2 | tar xvf - bzip2 -dc parallel-20220222.tar.bz2 | tar xvf -
cd parallel-20220122 cd parallel-20220222
./configure --prefix=$HOME && make && make install ./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel 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 When using programs that use GNU Parallel to process data for
publication please cite: publication please cite:
Tange, O. (2022, January 22). GNU Parallel 20220122 ('20 years'). Tange, O. (2022, February 22). GNU Parallel 20220222 ('Donetsk Luhansk').
Zenodo. https://doi.org/10.5281/zenodo.5893336 Zenodo. https://doi.org/10.5281/zenodo.6213471
Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015,
2016, 2017, 2018, 2019, 2020, 2021 Ole Tange, http://ole.tange.dk and 2016, 2017, 2018, 2019, 2020, 2021 Ole Tange, http://ole.tange.dk and

20
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for parallel 20220122. # Generated by GNU Autoconf 2.69 for parallel 20220222.
# #
# Report bugs to <bug-parallel@gnu.org>. # Report bugs to <bug-parallel@gnu.org>.
# #
@ -579,8 +579,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='parallel' PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel' PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20220122' PACKAGE_VERSION='20220222'
PACKAGE_STRING='parallel 20220122' PACKAGE_STRING='parallel 20220222'
PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL='' 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. # 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. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures parallel 20220122 to adapt to many kinds of systems. \`configure' configures parallel 20220222 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1281,7 +1281,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of parallel 20220122:";; short | recursive ) echo "Configuration of parallel 20220222:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1357,7 +1357,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
parallel configure 20220122 parallel configure 20220222
generated by GNU Autoconf 2.69 generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
@ -1374,7 +1374,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by parallel $as_me 20220122, which was It was created by parallel $as_me 20220222, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
@ -2237,7 +2237,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='parallel' PACKAGE='parallel'
VERSION='20220122' VERSION='20220222'
cat >>confdefs.h <<_ACEOF 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 # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by parallel $as_me 20220122, which was This file was extended by parallel $as_me 20220222, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -2942,7 +2942,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
parallel config.status 20220122 parallel config.status 20220222
configured by $0, generated by GNU Autoconf 2.69, configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"

View file

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

View file

@ -102,10 +102,6 @@ Quote of the month:
--jobs parameters #GiveThanks --jobs parameters #GiveThanks
-- Erin Young @ErinYoun -- Erin Young @ErinYoun
I also prefer gnu parallel. Mainly because it makes embarrassingly
parallel tasks embarrassingly easy to run on the command line.
-- Vincent D. Warmerdam @fishnets88@twitter
It's not a data migration party until GNU Parallel is involved... It's not a data migration party until GNU Parallel is involved...
involved involved
involved involved
@ -170,6 +166,10 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html
=== Used === === Used ===
I also prefer gnu parallel. Mainly because it makes embarrassingly
parallel tasks embarrassingly easy to run on the command line.
-- Vincent D. Warmerdam @fishnets88@twitter
I'm going to make GNU parallel my new superpower this year. I'm going to make GNU parallel my new superpower this year.
-- Christian G. Warden @xn@twitter -- Christian G. Warden @xn@twitter

View file

@ -254,15 +254,17 @@ from:tange@gnu.org
to:parallel@gnu.org, bug-parallel@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm> stable-bcc: Jesse Alama <jessealama@fastmail.fm>
Subject: GNU Parallel 20220222 ('Ukraine/Mali') released [stable] Subject: GNU Parallel 20220222 ('Donetsk Luhansk') released
GNU Parallel 20220222 ('<<>>') [stable] has been released. It is available for download at: lbry://@GnuParallel:4 GNU Parallel 20220222 ('Donetsk Luhansk') has been released. It is available for download at: lbry://@GnuParallel:4
No new functionality was introduced so this is a good candidate for a stable release. This release has a major change in the remote code. This makes this release beta quality.
Quote of the month: Quote of the month:
<<>> I also prefer gnu parallel. Mainly because it makes embarrassingly
parallel tasks embarrassingly easy to run on the command line.
-- Vincent D. Warmerdam @fishnets88@twitter
New in this release: New in this release:
@ -270,17 +272,19 @@ New in this release:
* Time functions hh_mm_ss() hhmmss() hh_mm() hhmm() are now available for {= =}. * Time functions hh_mm_ss() hhmmss() hh_mm() hhmm() are now available for {= =}.
<<>> * parallel_options_map.pdf is a map showing which options other options relate to.
* {uniq} added to --plus to only run jobs with unique values.
* Bug fixes and man page updates: Many options now have a 'See also' section. * Bug fixes and man page updates: Many options now have a 'See also' section.
News about GNU Parallel: News about GNU Parallel:
https://kim.uni-hohenheim.de/en/96097?tx_ttnews%5Btt_news%5D=53919&cHash=985f4f4ac1a166d180d81f6e9be832a3 * HPC at Noon - GNU Parallel u SLURM srun , 22 February 2022 https://kim.uni-hohenheim.de/en/96097?tx_ttnews%5Btt_news%5D=53919&cHash=985f4f4ac1a166d180d81f6e9be832a3
https://blog.csdn.net/qq_38197157/article/details/112596389
https://www.freelancer.com/projects/linux/gnu-parallel-processing-for-data/?ngsw-bypass=&w=f
<<>> * linux 命令 -- parallel https://blog.csdn.net/qq_38197157/article/details/112596389
* Iterating Over Each Line of ls -l Output https://www.baeldung.com/linux/iterating-ls-l-output
Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html
@ -312,13 +316,13 @@ You can install GNU Parallel in just 10 seconds with:
$ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \ $ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \
fetch -o - http://pi.dk/3 ) > install.sh fetch -o - http://pi.dk/3 ) > install.sh
$ sha1sum install.sh | grep c82233e7da3166308632ac8c34f850c0 $ sha1sum install.sh | grep 883c667e01eed62f975ad28b6d50e22a
12345678 c82233e7 da316630 8632ac8c 34f850c0 12345678 883c667e 01eed62f 975ad28b 6d50e22a
$ md5sum install.sh | grep ae3d7aac5e15cf3dfc87046cfc5918d2 $ md5sum install.sh | grep cc21b4c943fd03e93ae1ae49e28573c0
ae3d7aac 5e15cf3d fc87046c fc5918d2 cc21b4c9 43fd03e9 3ae1ae49 e28573c0
$ sha512sum install.sh | grep dfc00d823137271a6d96225cea9e89f533ff6c81f $ sha512sum install.sh | grep ec113b49a54e705f86d51e784ebced224fdff3f52
9c5198d5 31a3b755 b7910ece 3a42d206 c804694d fc00d823 137271a6 d96225ce 79945d9d 250b42a4 2067bb00 99da012e c113b49a 54e705f8 6d51e784 ebced224
a9e89f53 3ff6c81f f52b298b ef9fb613 2d3f9ccd 0e2c7bd3 c35978b5 79acb5ca fdff3f52 ca588d64 e75f6033 61bd543f d631f592 2f87ceb2 ab034149 6df84a35
$ bash install.sh $ bash install.sh
Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1 Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

View file

@ -1,7 +1,7 @@
<directory name="parallel" rev="318" vrev="1" srcmd5="16362175e423388a2d90f50e327a5f86"> <directory name="parallel" rev="320" vrev="2" srcmd5="905f81629a5ed7087d429ae28a9b91af">
<entry name="PKGBUILD" md5="13671e63cef1b613f22bc2ba917472bb" size="936" mtime="1642866613" /> <entry name="PKGBUILD" md5="de26b2954eee4fb4892176227e2952c8" size="936" mtime="1645552790" />
<entry name="parallel-20220122.tar.bz2" md5="b329b388156cffcc7532177563c18010" size="2287354" mtime="1642866614" /> <entry name="parallel-20220222.tar.bz2" md5="73a869af30a1d44979c62d53de571560" size="2356561" mtime="1645552790" />
<entry name="parallel.spec" md5="db6dadee7fa550909ed6ccf044bb6a1e" size="5630" mtime="1642866614" /> <entry name="parallel.spec" md5="9acb4b8654ecfdde83dc7192d258cda1" size="5713" mtime="1645489450" />
<entry name="parallel_20220122.dsc" md5="2674e2b3a719e15e10dc420b3f6dc358" size="556" mtime="1642866614" /> <entry name="parallel_20220222.dsc" md5="cdaacd2e8292275283ed1bcfa7f517aa" size="556" mtime="1645552791" />
<entry name="parallel_20220122.tar.gz" md5="3dc0cc653208ab5272d75d7f9189e481" size="2526577" mtime="1642866614" /> <entry name="parallel_20220222.tar.gz" md5="a875e2da6fd97629650833defda51891" size="2601791" mtime="1645552791" />
</directory> </directory>

View file

@ -1,7 +1,7 @@
Summary: Shell tool for executing jobs in parallel Summary: Shell tool for executing jobs in parallel
Name: parallel Name: parallel
Version: 20220122 Version: 20220222
Release: 1.3 Release: 1.3
License: GPL-3.0-or-later License: GPL-3.0-or-later
Group: Productivity/File utilities Group: Productivity/File utilities
@ -92,6 +92,7 @@ rm $RPM_BUILD_ROOT%{_docdir}/parcat.pdf
rm $RPM_BUILD_ROOT%{_docdir}/parset.pdf rm $RPM_BUILD_ROOT%{_docdir}/parset.pdf
rm $RPM_BUILD_ROOT%{_docdir}/parsort.pdf rm $RPM_BUILD_ROOT%{_docdir}/parsort.pdf
rm $RPM_BUILD_ROOT%{_docdir}/parallel_cheat_bw.pdf rm $RPM_BUILD_ROOT%{_docdir}/parallel_cheat_bw.pdf
rm $RPM_BUILD_ROOT%{_docdir}/parallel_options_map.pdf
rm $RPM_BUILD_ROOT%{_docdir}/parallel.rst rm $RPM_BUILD_ROOT%{_docdir}/parallel.rst
rm $RPM_BUILD_ROOT%{_docdir}/env_parallel.rst rm $RPM_BUILD_ROOT%{_docdir}/env_parallel.rst
rm $RPM_BUILD_ROOT%{_docdir}/parallel_tutorial.rst rm $RPM_BUILD_ROOT%{_docdir}/parallel_tutorial.rst
@ -113,7 +114,7 @@ rm -rf $RPM_BUILD_ROOT
/usr/bin/* /usr/bin/*
/usr/share/man/man1/* /usr/share/man/man1/*
/usr/share/man/man7/* /usr/share/man/man7/*
%doc README NEWS src/parallel.html src/env_parallel.html src/parallel_tutorial.html src/parallel_design.html src/parallel_alternatives.html src/parallel_book.html src/sem.html src/sql.html src/parcat.html src/parset.html src/parsort.html src/niceload.html src/parallel.texi src/env_parallel.texi src/parallel_tutorial.texi src/parallel_design.texi src/parallel_alternatives.texi src/parallel_book.texi src/niceload.texi src/sem.texi src/sql.texi src/parcat.texi src/parset.texi src/parsort.texi src/parallel.pdf src/env_parallel.pdf src/parallel_tutorial.pdf src/parallel_design.pdf src/parallel_alternatives.pdf src/parallel_book.pdf src/niceload.pdf src/sem.pdf src/sql.pdf src/parcat.pdf src/parset.pdf src/parsort.pdf src/parallel_cheat_bw.pdf src/parallel.rst src/env_parallel.rst src/parallel_tutorial.rst src/parallel_design.rst src/parallel_alternatives.rst src/parallel_book.rst src/niceload.rst src/sem.rst src/sql.rst src/parcat.rst src/parset.rst src/parsort.rst %doc README NEWS src/parallel.html src/env_parallel.html src/parallel_tutorial.html src/parallel_design.html src/parallel_alternatives.html src/parallel_book.html src/sem.html src/sql.html src/parcat.html src/parset.html src/parsort.html src/niceload.html src/parallel.texi src/env_parallel.texi src/parallel_tutorial.texi src/parallel_design.texi src/parallel_alternatives.texi src/parallel_book.texi src/niceload.texi src/sem.texi src/sql.texi src/parcat.texi src/parset.texi src/parsort.texi src/parallel.pdf src/env_parallel.pdf src/parallel_tutorial.pdf src/parallel_design.pdf src/parallel_alternatives.pdf src/parallel_book.pdf src/niceload.pdf src/sem.pdf src/sql.pdf src/parcat.pdf src/parset.pdf src/parsort.pdf src/parallel_cheat_bw.pdf src/parallel_options_map.pdf src/parallel.rst src/env_parallel.rst src/parallel_tutorial.rst src/parallel_design.rst src/parallel_alternatives.rst src/parallel_book.rst src/niceload.rst src/sem.rst src/sql.rst src/parcat.rst src/parset.rst src/parsort.rst
%changelog %changelog
* Sat Jan 22 2011 Ole Tange * Sat Jan 22 2011 Ole Tange

View file

@ -345,7 +345,7 @@ parallel_cheat_bw.pdf: parallel_cheat_bw.fodt
libreoffice --headless --convert-to pdf parallel_cheat_bw.fodt \ libreoffice --headless --convert-to pdf parallel_cheat_bw.fodt \
|| echo "Warning: libreoffice failed. Using old parallel_cheat_bw.pdf" || echo "Warning: libreoffice failed. Using old parallel_cheat_bw.pdf"
parallel_options_map.pdf: parallel.pod parallel_options_map.pdf: parallel.pod pod2graph
./pod2graph parallel.pod > parallel_options_map.pdf \ ./pod2graph parallel.pod > parallel_options_map.pdf \
|| echo "Warning: pod2graph failed. Using old parallel_options_map.pdf" || echo "Warning: pod2graph failed. Using old parallel_options_map.pdf"
@ -379,4 +379,4 @@ EXTRA_DIST = parallel sem sql niceload parcat parset parsort \
parset.pod sem.pod parallel.pod env_parallel.pod niceload.pod \ parset.pod sem.pod parallel.pod env_parallel.pod niceload.pod \
parallel_tutorial.pod parallel_book.pod parallel_design.pod \ parallel_tutorial.pod parallel_book.pod parallel_design.pod \
parallel_alternatives.pod parallel_cheat_bw.fodt \ parallel_alternatives.pod parallel_cheat_bw.fodt \
$(DISTCLEANFILES) pod2graph $(DISTCLEANFILES)

View file

@ -385,7 +385,7 @@ _parset_main() {
return 255 return 255
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20220123 (GNU parallel `parallel --minversion 1`)" echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -385,7 +385,7 @@ _parset_main() {
return 255 return 255
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20220123 (GNU parallel `parallel --minversion 1`)" echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -385,7 +385,7 @@ _parset_main() {
return 255 return 255
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20220123 (GNU parallel `parallel --minversion 1`)" echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -363,7 +363,7 @@ _parset_main() {
return 255 return 255
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20220123 (GNU parallel `parallel --minversion 1`)" echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -365,7 +365,7 @@ _parset_main() {
return 255 return 255
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20220123 (GNU parallel `parallel --minversion 1`)" echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -390,7 +390,7 @@ _parset_main() {
return 255 return 255
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20220123 (GNU parallel `parallel --minversion 1`)" echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -355,7 +355,7 @@ _parset_main() {
return 255 return 255
fi fi
if [ "$_parset_NAME" = "--version" ] ; then if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20220123 (GNU parallel `parallel --minversion 1`)" echo "parset 20220222 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software" echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc." echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>" echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

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

View file

@ -2313,7 +2313,7 @@ sub check_invalid_option_combinations() {
sub init_globals() { sub init_globals() {
# Defaults: # Defaults:
$Global::version = 20220202; $Global::version = 20220222;
$Global::progname = 'parallel'; $Global::progname = 'parallel';
$::name = "GNU Parallel"; $::name = "GNU Parallel";
$Global::infinity = 2**31; $Global::infinity = 2**31;
@ -2356,6 +2356,8 @@ sub init_globals() {
'{/...}' => 's:.*/::; s:\.[^/.]+\.[^/.]+\.[^/.]+$::', '{/...}' => 's:.*/::; s:\.[^/.]+\.[^/.]+\.[^/.]+$::',
# n choose k = Binomial coefficient # n choose k = Binomial coefficient
'{choose_k}' => 'for $t (2..$#arg){ if($arg[$t-1] ge $arg[$t]) { skip() } }', '{choose_k}' => 'for $t (2..$#arg){ if($arg[$t-1] ge $arg[$t]) { skip() } }',
# unique values: Skip job if any args are the same
'{uniq}' => 'if(::uniq(@arg) != @arg) { skip(); }',
# {##} = number of jobs # {##} = number of jobs
'{##}' => '1 $_=total_jobs()', '{##}' => '1 $_=total_jobs()',
# {0%} = 0-padded jobslot # {0%} = 0-padded jobslot
@ -5140,8 +5142,8 @@ sub usage() {
"If you use programs that use GNU Parallel to process data for an article in a", "If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:", "scientific publication, please cite:",
"", "",
" Tange, O. (2022, January 22). GNU Parallel 20220122 ('20 years').", " Tange, O. (2022, February 22). GNU Parallel 20220222 ('Donetsk Luhansk').",
" Zenodo. https://doi.org/10.5281/zenodo.5893336", " Zenodo. https://doi.org/10.5281/zenodo.6213471",
"", "",
# Before changing these lines, please read # Before changing these lines, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
@ -5173,8 +5175,8 @@ sub citation_notice() {
"If you use programs that use GNU Parallel to process data for an article in a", "If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:", "scientific publication, please cite:",
"", "",
" Tange, O. (2022, January 22). GNU Parallel 20220122 ('20 years').", " Tange, O. (2022, February 22). GNU Parallel 20220222 ('Donetsk Luhansk').",
" Zenodo. https://doi.org/10.5281/zenodo.5893336", " Zenodo. https://doi.org/10.5281/zenodo.6213471",
"", "",
# Before changing these line, please read # Before changing these line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and
@ -5299,20 +5301,20 @@ sub citation() {
"If you use programs that use GNU Parallel to process data for an article in a", "If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:", "scientific publication, please cite:",
"", "",
"\@software{tange_2022_5893336,", "\@software{tange_2022_6213471,",
" author = {Tange, Ole},", " author = {Tange, Ole},",
" title = {GNU Parallel 20220122 ('20 years')},", " title = {GNU Parallel 20220222 ('Donetsk Luhansk')},",
" month = Jan,", " month = Feb,",
" year = 2021,", " year = 2021,",
" note = {{GNU Parallel is a general parallelizer to run", " note = {{GNU Parallel is a general parallelizer to run",
" multiple serial command line programs in parallel", " multiple serial command line programs in parallel",
" without changing them.}},", " without changing them.}},",
" publisher = {Zenodo},", " publisher = {Zenodo},",
" doi = {10.5281/zenodo.5893336},", " doi = {10.5281/zenodo.6213471},",
" url = {https://doi.org/10.5281/zenodo.5893336}", " url = {https://doi.org/10.5281/zenodo.6213471}",
"}", "}",
"", "",
"(Feel free to use \\nocite{tange_2022_5893336})", "(Feel free to use \\nocite{tange_2022_6213471})",
"", "",
# Before changing these lines, please read # Before changing these lines, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and

View file

@ -403,7 +403,7 @@ See also: B<--rpl> B<--parens> B<{}> B<{=>I<n> I<perl expression>B<=}>
=item B<{=>I<n> I<perl expression>B<=}> =item B<{=>I<n> I<perl expression>B<=}>
Positional equivalent to B<{=perl expression=}>. Positional equivalent to B<{=>I<perl expression>B<=}>.
To understand positional replacement strings see B<{>I<n>B<}>. To understand positional replacement strings see B<{>I<n>B<}>.
@ -1057,7 +1057,7 @@ but this means output from different commands can get mixed.
B<--group> is the default. Can be reversed with B<-u>. B<--group> is the default. Can be reversed with B<-u>.
See also: B<--line-buffer> B<--ungroup> See also: B<--line-buffer> B<--ungroup> B<--tag>
=item B<--group-by> I<val> =item B<--group-by> I<val>
@ -1567,7 +1567,7 @@ mix. Compare:
parallel -j0 --lb 'echo {};sleep {};echo {}' ::: 1 3 2 4 parallel -j0 --lb 'echo {};sleep {};echo {}' ::: 1 3 2 4
parallel -j0 -k --lb 'echo {};sleep {};echo {}' ::: 1 3 2 4 parallel -j0 -k --lb 'echo {};sleep {};echo {}' ::: 1 3 2 4
See also: B<--group> B<--ungroup> B<--keep-order> See also: B<--group> B<--ungroup> B<--keep-order> B<--tag>
=item B<--link> =item B<--link>
@ -1889,6 +1889,8 @@ choose k. k is the number of input sources and n is the number of
arguments in an input source. The content of the input sources must arguments in an input source. The content of the input sources must
be the same and the arguments must be unique. be the same and the arguments must be unique.
B<{uniq}> skips jobs where values from two input sources are the same.
Shorthands for variables: Shorthands for variables:
{slot} $PARALLEL_JOBSLOT (see {%}) {slot} $PARALLEL_JOBSLOT (see {%})
@ -1902,7 +1904,7 @@ inspired by bash's parameter expansion:
{:-str} str if the value is empty {:-str} str if the value is empty
{:num} remove the first num characters {:num} remove the first num characters
{:num1:num2} characters from num1 to num2 {:pos:len} substring from position pos length len
{#regexp} remove prefix regexp (non-greedy) {#regexp} remove prefix regexp (non-greedy)
{##regexp} remove prefix regexp (greedy) {##regexp} remove prefix regexp (greedy)
{%regexp} remove postfix regexp (non-greedy) {%regexp} remove postfix regexp (non-greedy)
@ -2059,7 +2061,7 @@ redirections and without variable assignments.
Most people will not need this. Quoting is disabled by default. Most people will not need this. Quoting is disabled by default.
See also: QUOTING I<command> B<--shell-quote> B<uq()> See also: QUOTING I<command> B<--shell-quote> B<uq()> B<Q()>
=item B<--no-run-if-empty> =item B<--no-run-if-empty>
@ -4117,6 +4119,13 @@ B<{choose_k}> works for any number of input sources:
parallel --plus echo {choose_k} ::: A B C D ::: A B C D ::: A B C D parallel --plus echo {choose_k} ::: A B C D ::: A B C D ::: A B C D
Where B<{choose_k}> does not care about order, B<{uniq}> cares about
order. It simply skips jobs where values from different input sources
are the same:
parallel --plus echo {uniq} ::: A B C ::: A B C ::: A B C
parallel --plus echo {1uniq}+{2uniq}+{3uniq} ::: A B C ::: A B C ::: A B C
=head2 EXAMPLE: From a to b and b to c =head2 EXAMPLE: From a to b and b to c

View file

@ -122,7 +122,7 @@ GetOptions(
"help" => \$opt::dummy, "help" => \$opt::dummy,
) || exit(255); ) || exit(255);
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1]; $Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
$Global::version = 20220123; $Global::version = 20220222;
if($opt::version) { version(); exit 0; } if($opt::version) { version(); exit 0; }
@Global::sortoptions = grep { ! /^-D$/ } @Global::sortoptions = grep { ! /^-D$/ }
shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]); shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]);

View file

@ -82,20 +82,19 @@ for(split(/\n\n+/,$pod)) {
sub header() { sub header() {
return q[ return q[
graph test123 { graph test123 {
graph [splines=true overlap=false;nodesep=2; graph [splines=true; overlap=false;];
];
labelloc="t"; labelloc="t";
label="Related map for options for GNU Parallel\nFind which options relate to which";fontsize=33; label="Related map for options for GNU Parallel\nFind the options you use and learn about the options related to it";fontsize=33;
"{}"[margin=0.3;] "{}"[margin=0.3;]
"--sshlogin"[margin=0.3] "--sshlogin"[margin=0.3;]
"--pipe"[margin=0.3;] "--pipe"[margin=0.3;]
":::"[margin=0.3;] ":::"[margin=0.3;]
"-N"[margin=0.3] "-X"[margin=0.3;]
]; ];
} }
open(GRAPHVIZ,"|-","sfdp -Tpdf") || die; open(GRAPHVIZ,"|-","tee foo.dot |neato -Gepsilon=.000000001 -Tpdf") || die;
print GRAPHVIZ header(), (sort { rand()*3 -1 } @nodelines), "}"; print GRAPHVIZ header(), (sort { rand()*3 -1 } @nodelines), "}";
close GRAPHVIZ; close GRAPHVIZ;

View file

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

View file

@ -42,7 +42,7 @@ install_packages() {
# Build Tools # Build Tools
build_pkgs="bison libxxhash-dev libzstd-dev liblz4-dev libssl-dev" build_pkgs="bison libxxhash-dev libzstd-dev liblz4-dev libssl-dev"
build_pkgs="$build_pkgs python3-cmarkgfm" build_pkgs="$build_pkgs python3-cmarkgfm graphviz"
sudo dpkg --add-architecture i386; sudo apt update sudo dpkg --add-architecture i386; sudo apt update
if $INSTALL $test_pkgs $packaging_pkgs $shebang_pkgs $sql_pkgs \ if $INSTALL $test_pkgs $packaging_pkgs $shebang_pkgs $sql_pkgs \

View file

@ -44,6 +44,10 @@ par_plus() {
parallel --plus echo {%.z.z} ::: foo.z.z.z parallel --plus echo {%.z.z} ::: foo.z.z.z
echo ${a%%.z*z} echo ${a%%.z*z}
parallel --plus echo {%%.z.*z} ::: foo.z.z.z parallel --plus echo {%%.z.*z} ::: foo.z.z.z
parallel -k --plus echo {uniq} ::: A B C ::: A B C ::: A B C
parallel -k --plus echo {1uniq}+{2uniq}+{3uniq} ::: A B C ::: A B C ::: A B C
parallel -k --plus echo {choose_k} ::: A B C D ::: A B C D ::: A B C D
} }
par_env_parallel_pipefail() { par_env_parallel_pipefail() {

View file

@ -20,8 +20,9 @@ par_bin() {
paste <(seq 10) <(seq 10 -1 1) | paste <(seq 10) <(seq 10 -1 1) |
parallel --pipe --colsep '\t' --bin '2 $_%=2' -j4 wc | sort parallel --pipe --colsep '\t' --bin '2 $_%=2' -j4 wc | sort
echo '### Blocks in version 20220122' echo '### Blocks in version 20220122'
echo 10 | ppar --pipe --bin 1 -j100% wc echo 10 | parallel --pipe --bin 1 -j100% wc | sort
paste <(seq 10) <(seq 10 -1 1) | parallel --pipe --colsep '\t' --bin 2 wc paste <(seq 10) <(seq 10 -1 1) |
parallel --pipe --colsep '\t' --bin 2 wc | sort
} }
par_shard_a() { par_shard_a() {
@ -563,7 +564,7 @@ par_keeporder_roundrobin() {
} }
random1G | random1G |
parallel $1 -j13 --block 1m --pipe --roundrobin 'echo {#} $(md5sum)' | parallel $1 -j13 --block 1m --pipe --roundrobin 'echo {#} $(md5sum)' |
sort sort
} }
env_parset a,b,c run_roundrobin ::: -k -k '' env_parset a,b,c run_roundrobin ::: -k -k ''

View file

@ -31,18 +31,19 @@ export -f par_tmux
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj8 --delay 1 --timeout 100 --retries 1 -k --joblog /tmp/jl-`basename $0` -L1 -r cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj8 --delay 1 --timeout 100 --retries 1 -k --joblog /tmp/jl-`basename $0` -L1 -r
echo '### tmux-1.9' echo '### tmux-1.9'
seq 0000 10 1000 | PARALLEL_TMUX=tmux-1.9 par_tmux seq 510 512 | PARALLEL_TMUX=tmux-1.9 par_tmux
seq 1001 10 2000 | PARALLEL_TMUX=tmux-1.9 par_tmux seq 0000 10 510 | PARALLEL_TMUX=tmux-1.9 par_tmux
seq 2001 10 3000 | PARALLEL_TMUX=tmux-1.9 par_tmux
seq 3001 10 4000 | PARALLEL_TMUX=tmux-1.9 par_tmux
seq 4001 10 4030 | PARALLEL_TMUX=tmux-1.9 par_tmux
echo '### tmux-1.9 fails' echo '### tmux-1.9 fails'
seq 512 10 2000 | PARALLEL_TMUX=tmux-1.9 par_tmux
seq 2001 10 3000 | PARALLEL_TMUX=tmux-1.9 par_tmux
seq 3001 10 4000 | PARALLEL_TMUX=tmux-1.9 par_tmux
seq 4001 10 4030 | PARALLEL_TMUX=tmux-1.9 par_tm
echo 4036 | PARALLEL_TMUX=tmux-1.9 par_tmux echo 4036 | PARALLEL_TMUX=tmux-1.9 par_tmux
echo 4037 | PARALLEL_TMUX=tmux-1.9 par_tmux echo 4037 | PARALLEL_TMUX=tmux-1.9 par_tmux
echo 4038 | PARALLEL_TMUX=tmux-1.9 par_tmux echo 4038 | PARALLEL_TMUX=tmux-1.9 par_tmux
echo '### tmux-1.8' echo '### tmux-1.8 (fails for all in 20220222'
seq 1 5 100 | PARALLEL_TMUX=tmux-1.8 par_tmux seq 1 5 100 | PARALLEL_TMUX=tmux-1.8 par_tmux
seq 101 5 200 | PARALLEL_TMUX=tmux-1.8 par_tmux seq 101 5 200 | PARALLEL_TMUX=tmux-1.8 par_tmux
seq 201 5 300 | PARALLEL_TMUX=tmux-1.8 par_tmux seq 201 5 300 | PARALLEL_TMUX=tmux-1.8 par_tmux

View file

@ -739,6 +739,22 @@ par_plus foo.z
par_plus foo.z par_plus foo.z
par_plus foo par_plus foo
par_plus foo par_plus foo
par_plus A B C
par_plus A C B
par_plus B A C
par_plus B C A
par_plus C A B
par_plus C B A
par_plus A+B+C
par_plus A+C+B
par_plus B+A+C
par_plus B+C+A
par_plus C+A+B
par_plus C+B+A
par_plus A B C
par_plus A B D
par_plus A C D
par_plus B C D
par_profile ### Test -J profile, -J /dir/profile, -J ./profile par_profile ### Test -J profile, -J /dir/profile, -J ./profile
par_profile local local par_profile local local
par_profile abs abs par_profile abs abs

View file

@ -224,7 +224,7 @@ par_test_build_and_install ln -s parallel "/tmp/parallel-install/bin"/sem
par_test_build_and_install make[0]: Leaving directory '/tmp/parallel-00000000/src' par_test_build_and_install make[0]: Leaving directory '/tmp/parallel-00000000/src'
par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/share/doc/parallel' par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/share/doc/parallel'
par_test_build_and_install /bin/install -c -m 644 parallel.html env_parallel.html sem.html sql.html niceload.html parallel_tutorial.html parallel_book.html parallel_design.html parallel_alternatives.html parcat.html parset.html parsort.html parallel.texi env_parallel.texi sem.texi sql.texi niceload.texi parallel_tutorial.texi parallel_book.texi parallel_design.texi parallel_alternatives.texi parcat.texi parset.texi parsort.texi parallel.rst env_parallel.rst sem.rst sql.rst niceload.rst parallel_tutorial.rst parallel_book.rst parallel_design.rst parallel_alternatives.rst parcat.rst parset.rst parsort.rst parallel.pdf env_parallel.pdf sem.pdf sql.pdf '/tmp/parallel-install/share/doc/parallel' par_test_build_and_install /bin/install -c -m 644 parallel.html env_parallel.html sem.html sql.html niceload.html parallel_tutorial.html parallel_book.html parallel_design.html parallel_alternatives.html parcat.html parset.html parsort.html parallel.texi env_parallel.texi sem.texi sql.texi niceload.texi parallel_tutorial.texi parallel_book.texi parallel_design.texi parallel_alternatives.texi parcat.texi parset.texi parsort.texi parallel.rst env_parallel.rst sem.rst sql.rst niceload.rst parallel_tutorial.rst parallel_book.rst parallel_design.rst parallel_alternatives.rst parcat.rst parset.rst parsort.rst parallel.pdf env_parallel.pdf sem.pdf sql.pdf '/tmp/parallel-install/share/doc/parallel'
par_test_build_and_install /bin/install -c -m 644 niceload.pdf parallel_tutorial.pdf parallel_book.pdf parallel_design.pdf parallel_alternatives.pdf parcat.pdf parset.pdf parsort.pdf parallel_cheat_bw.pdf '/tmp/parallel-install/share/doc/parallel' par_test_build_and_install /bin/install -c -m 644 niceload.pdf parallel_tutorial.pdf parallel_book.pdf parallel_design.pdf parallel_alternatives.pdf parcat.pdf parset.pdf parsort.pdf parallel_cheat_bw.pdf parallel_options_map.pdf '/tmp/parallel-install/share/doc/parallel'
par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/share/man/man1' par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/share/man/man1'
par_test_build_and_install /bin/install -c -m 644 parallel.1 env_parallel.1 sem.1 sql.1 niceload.1 parcat.1 parset.1 parsort.1 '/tmp/parallel-install/share/man/man1' par_test_build_and_install /bin/install -c -m 644 parallel.1 env_parallel.1 sem.1 sql.1 niceload.1 parcat.1 parset.1 parsort.1 '/tmp/parallel-install/share/man/man1'
par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/share/man/man7' par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/share/man/man7'
@ -639,7 +639,7 @@ par_test_build_and_install /bin/bash: pod2pdf: command not found
par_test_build_and_install Warning: pod2pdf not found. Using old parset.pdf par_test_build_and_install Warning: pod2pdf not found. Using old parset.pdf
par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/share/doc/parallel' par_test_build_and_install /bin/mkdir -p '/tmp/parallel-install/share/doc/parallel'
par_test_build_and_install /bin/install -c -m 644 parallel.html env_parallel.html sem.html sql.html niceload.html parallel_tutorial.html parallel_book.html parallel_design.html parallel_alternatives.html parcat.html parset.html parsort.html parallel.texi env_parallel.texi sem.texi sql.texi niceload.texi parallel_tutorial.texi parallel_book.texi parallel_design.texi parallel_alternatives.texi parcat.texi parset.texi parsort.texi parallel.rst env_parallel.rst sem.rst sql.rst niceload.rst parallel_tutorial.rst parallel_book.rst parallel_design.rst parallel_alternatives.rst parcat.rst parset.rst parsort.rst parallel.pdf env_parallel.pdf sem.pdf sql.pdf '/tmp/parallel-install/share/doc/parallel' par_test_build_and_install /bin/install -c -m 644 parallel.html env_parallel.html sem.html sql.html niceload.html parallel_tutorial.html parallel_book.html parallel_design.html parallel_alternatives.html parcat.html parset.html parsort.html parallel.texi env_parallel.texi sem.texi sql.texi niceload.texi parallel_tutorial.texi parallel_book.texi parallel_design.texi parallel_alternatives.texi parcat.texi parset.texi parsort.texi parallel.rst env_parallel.rst sem.rst sql.rst niceload.rst parallel_tutorial.rst parallel_book.rst parallel_design.rst parallel_alternatives.rst parcat.rst parset.rst parsort.rst parallel.pdf env_parallel.pdf sem.pdf sql.pdf '/tmp/parallel-install/share/doc/parallel'
par_test_build_and_install /bin/install -c -m 644 niceload.pdf parallel_tutorial.pdf parallel_book.pdf parallel_design.pdf parallel_alternatives.pdf parcat.pdf parset.pdf parsort.pdf parallel_cheat_bw.pdf '/tmp/parallel-install/share/doc/parallel' par_test_build_and_install /bin/install -c -m 644 niceload.pdf parallel_tutorial.pdf parallel_book.pdf parallel_design.pdf parallel_alternatives.pdf parcat.pdf parset.pdf parsort.pdf parallel_cheat_bw.pdf parallel_options_map.pdf '/tmp/parallel-install/share/doc/parallel'
par_test_build_and_install pod2man --release='00000000' --center='parallel' \ par_test_build_and_install pod2man --release='00000000' --center='parallel' \
par_test_build_and_install --section=1 "."/parallel.pod > "."/parallel.1n \ par_test_build_and_install --section=1 "."/parallel.pod > "."/parallel.1n \
par_test_build_and_install && mv "."/parallel.1n "."/parallel.1 \ par_test_build_and_install && mv "."/parallel.1n "."/parallel.1 \

View file

@ -20,20 +20,20 @@ par_bin 5 10 21
par_bin ### Blocks in version 20220122 par_bin ### Blocks in version 20220122
par_bin 0 0 0 par_bin 0 0 0
par_bin 0 0 0 par_bin 0 0 0
par_bin 0 0 0
par_bin 0 0 0
par_bin 0 0 0
par_bin 0 0 0
par_bin 0 0 0
par_bin 1 1 3 par_bin 1 1 3
par_bin 0 0 0 par_bin 1 2 4
par_bin 0 0 0 par_bin 1 2 4
par_bin 0 0 0 par_bin 1 2 4
par_bin 0 0 0
par_bin 0 0 0
par_bin 1 2 4 par_bin 1 2 4
par_bin 1 2 4 par_bin 1 2 4
par_bin 1 2 4 par_bin 1 2 4
par_bin 2 4 9 par_bin 2 4 9
par_bin 1 2 4
par_bin 2 4 9 par_bin 2 4 9
par_bin 1 2 4
par_bin 1 2 4
par_exit_code bug #52207: Exit status 0 when child job is killed, even with "now,fail=1" par_exit_code bug #52207: Exit status 0 when child job is killed, even with "now,fail=1"
par_exit_code # Ideally the command should return the same par_exit_code # Ideally the command should return the same
par_exit_code # with or without parallel par_exit_code # with or without parallel

View file

@ -1,33 +1,33 @@
echo '### tmux-1.9' echo '### tmux-1.9'
### tmux-1.9 ### tmux-1.9
seq 0000 10 1000 | PARALLEL_TMUX=tmux-1.9 par_tmux seq 510 512 | PARALLEL_TMUX=tmux-1.9 par_tmux
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
0 0
seq 1001 10 2000 | PARALLEL_TMUX=tmux-1.9 par_tmux seq 0000 10 510 | PARALLEL_TMUX=tmux-1.9 par_tmux
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
0
echo '### tmux-1.9 fails' seq 512 10 2000 | PARALLEL_TMUX=tmux-1.9 par_tmux
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
0 0
seq 2001 10 3000 | PARALLEL_TMUX=tmux-1.9 par_tmux seq 2001 10 3000 | PARALLEL_TMUX=tmux-1.9 par_tmux
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach parallel: Error: Command line too long (2012 >= 523) at input 0: 2001
0 255
seq 3001 10 4000 | PARALLEL_TMUX=tmux-1.9 par_tmux seq 3001 10 4000 | PARALLEL_TMUX=tmux-1.9 par_tmux
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach parallel: Error: Command line too long (3012 >= 523) at input 0: 3001
0 255
seq 4001 10 4030 | PARALLEL_TMUX=tmux-1.9 par_tmux seq 4001 10 4030 | PARALLEL_TMUX=tmux-1.9 par_tm
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach /usr/bin/bash: par_tm: command not found
0
echo '### tmux-1.9 fails'
### tmux-1.9 fails
echo 4036 | PARALLEL_TMUX=tmux-1.9 par_tmux echo 4036 | PARALLEL_TMUX=tmux-1.9 par_tmux
parallel: Error: Command line too long (4047 >= 4047) at input 0: 4036 parallel: Error: Command line too long (4047 >= 523) at input 0: 4036
255 255
echo 4037 | PARALLEL_TMUX=tmux-1.9 par_tmux echo 4037 | PARALLEL_TMUX=tmux-1.9 par_tmux
parallel: Error: Command line too long (4048 >= 4047) at input 0: 4037 parallel: Error: Command line too long (4048 >= 523) at input 0: 4037
255 255
echo 4038 | PARALLEL_TMUX=tmux-1.9 par_tmux echo 4038 | PARALLEL_TMUX=tmux-1.9 par_tmux
parallel: Error: Command line too long (4049 >= 4047) at input 0: 4038 parallel: Error: Command line too long (4049 >= 523) at input 0: 4038
255 255
echo '### tmux-1.8' echo '### tmux-1.8 (fails for all in 20220222'
### tmux-1.8 ### tmux-1.8 (fails for all in 20220222
seq 1 5 100 | PARALLEL_TMUX=tmux-1.8 par_tmux seq 1 5 100 | PARALLEL_TMUX=tmux-1.8 par_tmux
parallel: Error: Command line too long (9 >= -1264) at input 0: 1 parallel: Error: Command line too long (9 >= -1264) at input 0: 1
255 255
@ -78,4 +78,4 @@ See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach
seq 560 850 | PARALLEL_TMUX=tmux-1.8 stdout parallel --tmux echo '{}{=$_="a"x$_=}' | par_tmux_filter seq 560 850 | PARALLEL_TMUX=tmux-1.8 stdout parallel --tmux echo '{}{=$_="a"x$_=}' | par_tmux_filter
parallel: Error: Command line too long (568 >= -1264) at input 0: 560 parallel: Error: Command line too long (568 >= -1264) at input 0: 560
seq 560 850 | PARALLEL_TMUX=tmux-1.9 stdout parallel --tmux echo '{}{=$_="a"x$_=}' | par_tmux_filter seq 560 850 | PARALLEL_TMUX=tmux-1.9 stdout parallel --tmux echo '{}{=$_="a"x$_=}' | par_tmux_filter
See output with: tmux-1.9 -S /tmp/parallel-local7-tmpdir/tmsXXXXX attach parallel: Error: Command line too long (568 >= 523) at input 0: 560