Released as 20210922 ('Vindelev')

This commit is contained in:
Ole Tange 2021-09-22 23:37:24 +02:00
parent 4e6f4644f4
commit 123126f678
25 changed files with 181 additions and 108 deletions

2
.gitignore vendored
View file

@ -17,3 +17,5 @@ src/*.pdf
src/*.texi
src/*.1
src/*.7
src/sphinx/source/*.rst
src/sphinx/build/*

25
NEWS
View file

@ -1,3 +1,28 @@
20210922
New in this release:
* Bug fixes and man page updates.
News about GNU Parallel:
* 3 Programs that will Level Up your Bash Game
https://medium.com/codex/3-programs-that-will-level-up-your-bash-game-bf14e17e2291
* I Summarized 100+ Command-Line Tools for Data Scientists in 15
Minutes
https://towardsdatascience.com/i-summarized-100-command-line-tools-for-data-scientists-in-15-minutes-976def544ffe
* Speed up Your Builds by Parallelizing
https://www.incredibuild.com/blog/speed-up-your-builds-by-parallelizing
* Bash: GNU Parallel with Curl
https://gist.github.com/dinh/93b936a55de9a331199d6582bc2921d2
20210822
New in this release:

24
README
View file

@ -57,11 +57,11 @@ document.
Full installation of GNU Parallel is as simple as:
wget https://ftpmirror.gnu.org/parallel/parallel-20210822.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20210822.tar.bz2.sig
gpg parallel-20210822.tar.bz2.sig
bzip2 -dc parallel-20210822.tar.bz2 | tar xvf -
cd parallel-20210822
wget https://ftpmirror.gnu.org/parallel/parallel-20210922.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20210922.tar.bz2.sig
gpg parallel-20210922.tar.bz2.sig
bzip2 -dc parallel-20210922.tar.bz2 | tar xvf -
cd parallel-20210922
./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-20210822.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20210822.tar.bz2.sig
gpg parallel-20210822.tar.bz2.sig
bzip2 -dc parallel-20210822.tar.bz2 | tar xvf -
cd parallel-20210822
wget https://ftpmirror.gnu.org/parallel/parallel-20210922.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20210922.tar.bz2.sig
gpg parallel-20210922.tar.bz2.sig
bzip2 -dc parallel-20210922.tar.bz2 | tar xvf -
cd parallel-20210922
./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. (2021, August 22). GNU Parallel 20210822 ('Kabul').
Zenodo. https://doi.org/10.5281/zenodo.5233953
Tange, O. (2021, September 22). GNU Parallel 20210922 ('Vindelev').
Zenodo. https://doi.org/10.5281/zenodo.5523272
Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015,
2016, 2017, 2018, 2019, 2020, 2021 Ole Tange, http://ole.tange.dk and

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 20210822.
# Generated by GNU Autoconf 2.69 for parallel 20210922.
#
# Report bugs to <bug-parallel@gnu.org>.
#
@ -579,8 +579,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20210822'
PACKAGE_STRING='parallel 20210822'
PACKAGE_VERSION='20210922'
PACKAGE_STRING='parallel 20210922'
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 20210822 to adapt to many kinds of systems.
\`configure' configures parallel 20210922 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 20210822:";;
short | recursive ) echo "Configuration of parallel 20210922:";;
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 20210822
parallel configure 20210922
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 20210822, which was
It was created by parallel $as_me 20210922, 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='20210822'
VERSION='20210922'
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 20210822, which was
This file was extended by parallel $as_me 20210922, 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 20210822
parallel config.status 20210922
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

View file

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

View file

@ -1,15 +1,16 @@
== Citation FAQ ==
=== Citation FAQ ===
> Why does GNU Parallel show a citation notice?
== Why does GNU Parallel show a citation notice? ==
GNU Parallel is indirectly funded through citations.
GNU Parallel is funded by me having a paid job that allows for
maintaining GNU Parallel. This is much easier to get if GNU Parallel
is cited in scientific journals, and history has shown that
researchers forget to do this if they are not reminded explicitly.
researchers forget to do this if the notice is only put in the
documentation.
It is therefore important for the long-term survival of GNU Parallel
It is therefore crucial for the long-term survival of GNU Parallel
that it is cited. The citation notice makes users aware of this.
See also: https://lists.gnu.org/archive/html/parallel/2013-11/msg00006.html
@ -24,7 +25,7 @@ single solution that just works:
* https://www.numfocus.org/blog/why-is-numpy-only-now-getting-funded/
> Is the citation notice compatible with GPLv3?
== Is the citation notice compatible with GPLv3? ==
Yes. The wording has been cleared by Richard M. Stallman to be
compatible with GPLv3. This is because the citation notice is not part
@ -34,15 +35,30 @@ Therefore the notice is not adding a term that would require citation
as mentioned on:
https://www.gnu.org/licenses/gpl-faq.en.html#RequireCitation
If you disagree with Richard M. Stallman's interpretation and feel the
citation notice does not adhere to GPLv3, you should treat the
software as if it is not available under GPLv3. And since GPLv3 is the
only thing that would give you the right to change it, you would not
be allowed to change the software.
> Do automated scripts break if the notice is not silenced?
In other words: If you want to remove the citation notice to make the
software compliant with your interpretation of GPLv3, you first have
to accept that the software is already compliant with GPLv3, because
nothing else gives you the right to change it. And if you accept this,
you do not need to change it to make it compliant.
So: If you do not feel the citation notice adheres to GPLv3, you need
to treat it as software that you have no license to use.
== Do automated scripts break if the notice is not silenced? ==
No. Not a single time has that happened. This is due to the notice
only being printed, if the output is to the screen - not if the output
is to a file or a pipe.
> How do I silence the citation notice?
== How do I silence the citation notice? ==
Run this once:
@ -60,12 +76,12 @@ academic tradition requires you to cite in scientific articles. That
tradition requires you to cite even if there had been no notice.
> I do not write scientific articles. Does the notice apply to me?
== I do not write scientific articles. Does the notice apply to me? ==
The notice is only relevant if you write scientific articles.
> What shows citing software is an academic tradition?
== What shows citing software is an academic tradition? ==
These links say: Yes, you should cite software, and if the author
suggests a way of citing, use that.
@ -78,6 +94,7 @@ suggests a way of citing, use that.
* https://journals.aas.org/policy-statement-on-software/
* https://guides.lib.monash.edu/c.php?g=219786&p=1454293
* https://www.maxqda.com/how-to-cite-maxqda
* https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files
If you feel the benefit from using GNU Parallel is too small to
warrant a citation, then prove that by simply using another tool. If
@ -87,7 +104,7 @@ use of GNU Parallel, then it is a good indication that the benefit is
big enough to warrant a citation.
> Do other software tools show how to cite?
== Do other software tools show how to cite? ==
Here are other examples of software showing how to cite. Some of these
refer to peer-reviewed articles - others do not:
@ -107,7 +124,7 @@ refer to peer-reviewed articles - others do not:
* https://github.com/UnixJunkie/PAR/blob/master/README
> I do not like the notice. Can I fork GNU Parallel and remove it?
== I do not like the notice. Can I fork GNU Parallel and remove it? ==
Yes. GNU Parallel is released under GNU GPLv3 and thus you are allowed
to fork the code. But you have to make sure that your forked version
@ -130,9 +147,9 @@ and do not want to see it wither away like many of the competitors,
then this is a bad idea, as it will lead to less funding.
> How important is the notice for the survival of GNU Parallel?
== How important is the notice for the survival of GNU Parallel? ==
Citations is what indirectly funds maintaining GNU Parallel. Before
Citations are what indirectly fund maintaining GNU Parallel. Before
the citation notice was implemented hardly anyone cited GNU Parallel,
and that would not have been sustainable in the long term. Funding
development aligns well with "We will give back to the free software
@ -146,7 +163,7 @@ removed (and staying in main).
In other words: It is preferable having fewer users, who all know they
should cite, over having many users, who do not know they should cite.
This is because a long-term survival with funding is more important
This is because long-term survival with funding is more important
than short-term gains in popularity that can be achieved by being
distributed as part of a distribution.
@ -154,7 +171,7 @@ If the goal had been to get more users, then the license would have
been public domain.
> Is there another way I can get rid of the citation notice?
== Is there another way I can get rid of the citation notice? ==
Yes. Find a way to finance future development of GNU Parallel. If you
pay me a normal salary, I will be happy to remove the citation notice.
@ -162,7 +179,7 @@ pay me a normal salary, I will be happy to remove the citation notice.
The citation notice is about (indirect) funding - nothing else.
> I do not think it is fair having to cite
== I do not think it is fair having to cite ==
If the inconvenience of having to cite is too big for you, then you
should use another tool.
@ -174,7 +191,7 @@ help you find an alternative:
https://www.gnu.org/software/parallel/parallel_alternatives.html
> I do not want to run 'parallel --citation'
== I do not want to run 'parallel --citation' ==
If the inconvenience of running 'parallel --citation' one single time
after installing GNU Parallel is too big, then you do not have to do
@ -184,7 +201,7 @@ notice.
But it really only takes 10 seconds to run.
> I do not want to see the citation notice at every run
== I do not want to see the citation notice at every run ==
You do not have to. Spend 10 seconds on running 'parallel --citation'
and the notice is silenced. This is similar to clicking 'OK. Do not
@ -194,7 +211,7 @@ If GNU Parallel does not save you more than 10 seconds, then you
should probably not be using it anyway.
> I do not want to help finance the development
== I do not want to help finance the development ==
If you care so little about GNU Parallel that you do not want to help
finance development, then you should contemplate whether GNU Parallel

View file

@ -128,6 +128,9 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html
=== Used ===
Take a look at GNU Parallel. Its magnificent.
-- Siira@ycombinator.com
Safe to say, @GnuParallel was a life changer during my PhD! It helped
me optimise so many of my tasks and analyses.
-- Parice Brandies @PariceBrandies@twitter

View file

@ -255,33 +255,31 @@ from:tange@gnu.org
to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
Subject: GNU Parallel 20210822 ('Kabul') released
Subject: GNU Parallel 20210922 ('<<>>Vindelev/Chris Donahue/Ida') released <<[stable]>>
GNU Parallel 20210822 ('Kabul') has been released. It is available for download at: lbry://@GnuParallel:4
GNU Parallel 20210922 ('Vindelev') [stable] 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.
Quote of the month:
Safe to say, @GnuParallel was a life changer during my PhD! It helped
me optimise so many of my tasks and analyses.
-- Parice Brandies @PariceBrandies@twitter
Take a look at GNU Parallel. Its magnificent.
-- Siira@ycombinator.com
New in this release:
* --ctag/--ctagstring colors the tag in different colors for each job.
* You can use unit prefixes (k, m, g, etc) with -n -N -L.
* Bug fixes and man page updates.
News about GNU Parallel:
* Parallelising jobs with GNU parallel https://blog.ronin.cloud/gnu-parallel/
* 3 Programs that will Level Up your Bash Game https://medium.com/codex/3-programs-that-will-level-up-your-bash-game-bf14e17e2291
* Use multiple CPU Cores with your Linux commands - awk, sed, bzip2, grep, wc, etc. https://cdmana.com/2021/07/20210728132344693t.html
* I Summarized 100+ Command-Line Tools for Data Scientists in 15 Minutes https://towardsdatascience.com/i-summarized-100-command-line-tools-for-data-scientists-in-15-minutes-976def544ffe
* How to execute commands in parallel in Linux https://net2.com/how-to-execute-commands-in-parallel-in-linux/
* Speed up Your Builds by Parallelizing https://www.incredibuild.com/blog/speed-up-your-builds-by-parallelizing
* Bash: GNU Parallel with Curl https://gist.github.com/dinh/93b936a55de9a331199d6582bc2921d2
Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html

View file

@ -1,7 +1,7 @@
<directory name="parallel" rev="312" vrev="1" srcmd5="3b2d528a15b0898ec9a2649f393cb24d">
<entry name="PKGBUILD" md5="872019301c50c38abc39ba04937925d1" size="936" mtime="1629661749" />
<entry name="parallel-20210822.tar.bz2" md5="1a9a3282c6287ad43936497f4c0fe61b" size="2267536" mtime="1629661749" />
<entry name="parallel.spec" md5="1360338a8e6c60305fb2c9a27db7a902" size="5630" mtime="1629661749" />
<entry name="parallel_20210822.dsc" md5="48d6e04ee967486209117322306aa3bd" size="556" mtime="1629661749" />
<entry name="parallel_20210822.tar.gz" md5="6f1ecb52bdf18a8ac846f3b5feb8c60f" size="2509459" mtime="1629661750" />
<directory name="parallel" rev="313" vrev="1" srcmd5="6814e6bd1cf4ac6a903551ee342be431">
<entry name="PKGBUILD" md5="cd2a244a75df25eb5cacb8c644855902" size="936" mtime="1632345652" />
<entry name="parallel-20210922.tar.bz2" md5="b74b7adf0d57fea23bd09bd427e3a1d0" size="2268369" mtime="1632345652" />
<entry name="parallel.spec" md5="881c476934d5120fa21974d985454e68" size="5630" mtime="1632345653" />
<entry name="parallel_20210922.dsc" md5="90fc749aaea89e74809e81514505bb2d" size="556" mtime="1632345653" />
<entry name="parallel_20210922.tar.gz" md5="68b0e83e4652805c7c2c85e88d167245" size="2511473" mtime="1632345653" />
</directory>

View file

@ -1,7 +1,7 @@
Summary: Shell tool for executing jobs in parallel
Name: parallel
Version: 20210822
Version: 20210922
Release: 1.3
License: GPL-3.0-or-later
Group: Productivity/File utilities

View file

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

View file

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

View file

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

View file

@ -1604,9 +1604,11 @@ sub options_hash() {
"gnu" => \$opt::gnu,
"link|xapply" => \$opt::link,
"linkinputsource|xapplyinputsource=i" => \@opt::linkinputsource,
# Before changing this line, please read
# Before changing these lines, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
# https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt
# You accept to be put in a public hall of shame by removing
# the lines.
"bibtex|citation" => \$opt::citation,
"wc|willcite|will-cite|nn|nonotice|no-notice" => \$opt::willcite,
# Termination and retries
@ -1761,9 +1763,11 @@ sub parse_options(@) {
my @argv_before = @ARGV;
@ARGV = read_options();
# Before changing this line, please read
# Before changing these line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
# https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt
# You accept to be added to a public hall of shame by
# removing the lines.
if(defined $opt::citation) {
citation(\@argv_before,\@ARGV);
wait_and_exit(0);
@ -2118,11 +2122,10 @@ sub parse_options(@) {
# If you want GNU Parallel to be maintained in the future you
# should keep this line.
citation_notice();
# Seriously: _YOU_ will be harming free software by removing the
# notice. _YOU_ make it harder to justify spending time developing
# it. If you *do* remove the line, please email
# hallofshame@tange.dk if you want to avoid being put in a hall of
# shame.
# _YOU_ will be harming free software by removing the notice. You
# accept to be added to a public hall of shame by removing the
# line. This is because _YOU_ actively make it harder to justify
# spending time developing GNU Parallel.
parse_halt();
@ -2241,7 +2244,7 @@ sub check_invalid_option_combinations() {
sub init_globals() {
# Defaults:
$Global::version = 20210822;
$Global::version = 20210922;
$Global::progname = 'parallel';
$::name = "GNU Parallel";
$Global::infinity = 2**31;
@ -5052,12 +5055,14 @@ sub usage() {
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
" Tange, O. (2021, August 22). GNU Parallel 20210822 ('Kabul').",
" Zenodo. https://doi.org/10.5281/zenodo.5233953",
" Tange, O. (2021, September 22). GNU Parallel 20210922 ('Vindelev').",
" Zenodo. https://doi.org/10.5281/zenodo.5523272",
"",
# Before changing this line, please read
# Before changing these lines, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
# https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt
# https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt
# You accept to be put in a public hall of shame by removing
# the lines.
"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.",
"",
@ -5083,12 +5088,14 @@ 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. (2021, August 22). GNU Parallel 20210822 ('Kabul').",
" Zenodo. https://doi.org/10.5281/zenodo.5233953",
" Tange, O. (2021, September 22). GNU Parallel 20210922 ('Vindelev').",
" Zenodo. https://doi.org/10.5281/zenodo.5523272",
"",
# Before changing this line, please read
# Before changing these line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and
# https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt
# You accept to be put in a public hall of shame by
# removing the lines.
"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.",
"",
@ -5207,24 +5214,26 @@ sub citation() {
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
"\@software{tange_2021_5233953,",
"\@software{tange_2021_5523272,",
" author = {Tange, Ole},",
" title = {GNU Parallel 20210822 ('Kabul')},",
" month = Aug,",
" title = {GNU Parallel 20210922 ('Vindelev')},",
" month = Sep,",
" year = 2021,",
" 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.5233953},",
" url = {https://doi.org/10.5281/zenodo.5233953}",
" doi = {10.5281/zenodo.5523272},",
" url = {https://doi.org/10.5281/zenodo.5523272}",
"}",
"",
"(Feel free to use \\nocite{tange_2021_5233953})",
"(Feel free to use \\nocite{tange_2021_5523272})",
"",
# Before changing this line, please read
# Before changing these lines, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and
# https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt
# You accept to be put in a public hall of shame by removing
# the lines.
"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.",
"",

View file

@ -576,7 +576,10 @@ See also: B<--fg>, B<man sem>.
Implies B<--semaphore>.
=cut
# You accept to be added to a public hall of shame by
# removing this section.
=item B<--bibtex>
=item B<--citation>
@ -740,12 +743,12 @@ Even quoted newlines are parsed correctly:
When used with B<--pipe> only pass full CSV-records.
=item B<--ctag> I<str> (alpha testing)
=item B<--ctag> I<str> (beta testing)
Color tag. See B<--tag>.
=item B<--ctagstring> I<str> (alpha testing)
=item B<--ctagstring> I<str> (beta testing)
Color tagstring. See B<--tagstring>.
@ -1882,9 +1885,9 @@ it to the command.
Only used with B<--pipe>.
=item B<--results> I<name> (beta testing)
=item B<--results> I<name>
=item B<--res> I<name> (beta testing)
=item B<--res> I<name>
Save the output into files.
@ -2707,7 +2710,7 @@ to GNU B<parallel> giving each child its own process group, which is
then killed. Process groups are dependant on the tty.
=item B<--tag> (alpha testing)
=item B<--tag> (beta testing)
Tag lines with arguments. Each output line will be prepended with the
arguments and TAB (\t). When combined with B<--onall> or B<--nonall>
@ -2718,7 +2721,7 @@ B<--tag> is ignored when using B<-u>.
B<--ctag> gives the tag a color.
=item B<--tagstring> I<str> (alpha testing)
=item B<--tagstring> I<str> (beta testing)
Tag lines with a string. Each output line will be prepended with
I<str> and TAB (\t). I<str> can contain replacement strings such as

View file

@ -13,11 +13,13 @@ parallel_alternatives - Alternatives to GNU B<parallel>
=head1 DIFFERENCES BETWEEN GNU Parallel AND ALTERNATIVES
There are a lot programs with some of the functionality of GNU
B<parallel>. GNU B<parallel> strives to include the best of the
functionality without sacrificing ease of use.
There are a lot programs that share functionality with GNU
B<parallel>. Some of these are specialized tools, and while GNU
B<parallel> can emulate many of them, a specialized tool can be better
at a given task. GNU B<parallel> strives to include the best of the
general functionality without sacrificing ease of use.
B<parallel> has existed since 2002 and as GNU B<parallel> since
B<parallel> has existed since 2002-01-06 and as GNU B<parallel> since
2010. A lot of the alternatives have not had the vitality to survive
that long, but have come and gone during that time.
@ -293,6 +295,9 @@ contain space, " or ').
ls | xargs -d "\n" -P8 -I {} bash -c "wc {} >{}.wc"
ls | xargs -d "\n" -P8 -I {} bash -c "echo {}; ls {}|wc"
A more extreme example can be found on:
https://unix.stackexchange.com/q/405552/
https://www.gnu.org/software/findutils/

View file

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

View file

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

View file

@ -104,11 +104,20 @@ prereqlocal: installparallel startvm
prereqremote: installparallel startvm
parallel -j0 --timeout 10 --tag ssh vagrant@parallel-server{} parallel --minversion 20121021 ::: 1 2 || (echo parallel on remote required for testsuite; /bin/true)
startvm:
parallel --tag -k 'ping -w 1 -c 1 {} || (cd vagrant/*/{} && vagrant up; wssh vagrant@{} echo {} is up)' ::: centos8 freebsd11 freebsd12 rhel8 centos3 &
ignore=bytes.of.data|ping.statistics|packets.transmitted|64.bytes.from|\
min/avg/max/mdev|default
start=(stdout ping -w 1 -c 1 {} || \
(cd vagrant/*/{} && vagrant up; \
wssh vagrant@{} echo {} is up) ) | \
grep -Ev "${ignore}"
stop=(stdout ping -w 1 -c 1 {} && \
(cd vagrant/*/{} && vagrant suspend) ) | \
grep -Ev "${ignore}"
startvm:
parallel --tag -k '${start}' ::: centos8 freebsd11 freebsd12 rhel8 centos3 &
stopvm:
parallel --tag -k 'ping -w 1 -c 1 {} && cd vagrant/*/{} && vagrant suspend' ::: centos8 freebsd11 freebsd12 rhel8 centos3 || true
parallel --tag -k '${stop}' ::: centos8 freebsd11 freebsd12 rhel8 centos3 || true
startdb:
true TODO should start Oracle in vagrant

View file

@ -58,7 +58,9 @@ par_controlmaster_is_faster() {
par_workdir_in_HOME() {
echo '### test --workdir . in $HOME'
cd && mkdir -p parallel-test && cd parallel-test &&
echo OK > testfile && parallel --workdir . --transfer -S $SSHLOGIN1 cat {} ::: testfile
echo OK > testfile &&
stdout parallel --workdir . --transfer -S $SSHLOGIN1 cat {} ::: testfile |
grep -v 'Permanently added'
}
export -f $(compgen -A function | grep par_)