Released as 20201022 ('SamuelPaty')

This commit is contained in:
Ole Tange 2020-10-22 22:16:17 +02:00
parent bb2c22b0d4
commit 01c59822f0
22 changed files with 108 additions and 93 deletions

17
NEWS
View file

@ -1,3 +1,20 @@
20201022
* --termseq now works for jobs running remotely.
* parsort: Performance optimized for 64-core machines.
* Bug fixes and man page updates.
News about GNU Parallel:
* Juan Sierra Pons has made a testimonial:
http://www.elsotanillo.net/wp-content/uploads/GnuParallel_JuanSierraPons.mp4
* 「翻译」在生物信息学中使用 GNU-Parallel
https://cloud.tencent.com/developer/article/1705499
20200922
* New CPU detection for GNU/Linux.

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-20200922.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20200922.tar.bz2.sig
gpg parallel-20200922.tar.bz2.sig
bzip2 -dc parallel-20200922.tar.bz2 | tar xvf -
cd parallel-20200922
wget https://ftpmirror.gnu.org/parallel/parallel-20201022.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20201022.tar.bz2.sig
gpg parallel-20201022.tar.bz2.sig
bzip2 -dc parallel-20201022.tar.bz2 | tar xvf -
cd parallel-20201022
./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-20200922.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20200922.tar.bz2.sig
gpg parallel-20200922.tar.bz2.sig
bzip2 -dc parallel-20200922.tar.bz2 | tar xvf -
cd parallel-20200922
wget https://ftpmirror.gnu.org/parallel/parallel-20201022.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20201022.tar.bz2.sig
gpg parallel-20201022.tar.bz2.sig
bzip2 -dc parallel-20201022.tar.bz2 | tar xvf -
cd parallel-20201022
./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. (2020, September 22). GNU Parallel 20200922 ('Ginsburg').
Zenodo. https://doi.org/10.5281/zenodo.4045386
Tange, O. (2020, October 22). GNU Parallel 20201022 ('SamuelPaty').
Zenodo. https://doi.org/10.5281/zenodo.4118697
Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015,
2016, 2017, 2018, 2019, 2020 Ole Tange, http://ole.tange.dk and Free

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

View file

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

View file

@ -8,11 +8,6 @@ Quote of the month:
My favorite man page is that of GNU parallel.
-- Jeroen Janssens @jeroenhjanssens@twitter
I get a weird sense of satisfaction every single time I see the
lovely logo of #GNU Parallel (plus, what an underrated piece of
great software!)
-- Emre Sevinç @EmreSevinc@twitter
I have gotten a *ton* of mileage out of jq, awk, and GNU parallel,
even at multi-GB sizes.
-- Eric Wolak @ericthewolak@twitter
@ -72,6 +67,11 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html
=== Used ===
I get a weird sense of satisfaction every single time I see the
lovely logo of #GNU Parallel (plus, what an underrated piece of
great software!)
-- Emre Sevinç @EmreSevinc@twitter
My favorite man page is that of GNU parallel.
-- Jeroen Janssens @jeroenhjanssens@twitter

View file

@ -198,11 +198,9 @@ GNU Parallel 20201022 ('Samuel Paty') <<[stable]>> has been released. It is avai
<<No new functionality was introduced so this is a good candidate for a stable release.>>
* --termseq now works for jobs running remotely.
Please help spreading GNU Parallel by making a testimonial video like
Juan Sierra Pons:
http://www.elsotanillo.net/wp-content/uploads/GnuParallel_JuanSierraPons.mp4
* Please help spreading GNU Parallel by making a testimonial video like Juan Sierra Pons: http://www.elsotanillo.net/wp-content/uploads/GnuParallel_JuanSierraPons.mp4
It does not have to be as detailed as Juan's. It is perfectly fine if
you just say your name, and what field you are using GNU Parallel for.
@ -212,7 +210,7 @@ Quote of the month:
New in this release:
* --termseq now works for remote running jobs.
* --termseq now works for jobs running remotely.
* parsort: Performance optimized for 64-core machines.

View file

@ -1,7 +1,7 @@
<directory name="parallel" rev="291" vrev="1" srcmd5="772589241980cede15670091c1a016e5">
<entry name="PKGBUILD" md5="14b62b28eedfea3c3830ffbb3d54c79c" size="936" mtime="1600848731" />
<entry name="parallel-20200922.tar.bz2" md5="d8bc0c44c37dd1ccc4d7bc42f98062c0" size="2101992" mtime="1600848732" />
<entry name="parallel.spec" md5="b71e6e62334c5ebe26c4b400b1725318" size="4876" mtime="1600848732" />
<entry name="parallel_20200922.dsc" md5="50e740b90ee7dfa6927fa73b5387052b" size="556" mtime="1600848732" />
<entry name="parallel_20200922.tar.gz" md5="f6c79896a62bc45280fce08ec1a7a092" size="2295683" mtime="1600848733" />
<directory name="parallel" rev="292" vrev="1" srcmd5="d1085f246b2992392315dcd23b0fdedc">
<entry name="PKGBUILD" md5="c0b88e52fcb876f479963dea743180aa" size="936" mtime="1603397482" />
<entry name="parallel-20201022.tar.bz2" md5="7ce51296e9b1a45c6b573845d5b3d486" size="2103371" mtime="1603397483" />
<entry name="parallel.spec" md5="e7283a6f00122cf15fccdd8a1880c9a0" size="4876" mtime="1603397483" />
<entry name="parallel_20201022.dsc" md5="0ab7d32511338dc1a581c773045f433e" size="556" mtime="1603397483" />
<entry name="parallel_20201022.tar.gz" md5="1d463c5da5be20f96c3622867347ebf6" size="2297597" mtime="1603397483" />
</directory>

View file

@ -1,35 +1,35 @@
<package name="parallel" project="home:tange">
<title>GNU Parallel</title>
<description>= About GNU Parallel =&#13;
&#13;
GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job is can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.&#13;
&#13;
If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.&#13;
&#13;
GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it&#13;
possible to use output from GNU Parallel as input for other programs.&#13;
&#13;
You can find more about GNU Parallel at: http://www.gnu.org/s/parallel/&#13;
&#13;
Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1 or walk through the tutorial http://www.gnu.org/software/parallel/parallel_tutorial.html&#13;
&#13;
When using GNU Parallel for a publication please cite as per: 'parallel --citation'&#13;
&#13;
&#13;
= About GNU SQL =&#13;
&#13;
GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.&#13;
&#13;
The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.&#13;
&#13;
When using GNU SQL for a publication please cite:&#13;
&#13;
O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.&#13;
&#13;
&#13;
= About GNU Niceload =&#13;
&#13;
GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.&#13;
<description>= About GNU Parallel =
GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job is can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.
If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.
GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it
possible to use output from GNU Parallel as input for other programs.
You can find more about GNU Parallel at: http://www.gnu.org/s/parallel/
Watch the intro video on http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1 or walk through the tutorial http://www.gnu.org/software/parallel/parallel_tutorial.html
When using GNU Parallel for a publication please cite as per: 'parallel --citation'
= About GNU SQL =
GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.
The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.
When using GNU SQL for a publication please cite:
O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.
= About GNU Niceload =
GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.
</description>
<person userid="tange" role="bugowner"/>
<person userid="tange" role="maintainer"/>

View file

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

View file

@ -382,7 +382,7 @@ _parset_main() {
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20201010 (GNU parallel `parallel --minversion 1`)"
echo "parset 20201022 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2020 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 20201010 (GNU parallel `parallel --minversion 1`)"
echo "parset 20201022 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2020 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

@ -83,7 +83,7 @@ else
# Make a tmpfile for the variable definitions + alias
set _tMpaLLfILe=`_tempfile`
foreach _vARnAmE ($_vARnAmES);
# These 3 lines break in csh version 20110502-3
# These 3 lines break in csh ver. 20110502-3
# if not defined: next
eval if'(! $?'$_vARnAmE') continue'
# if $#myvar <= 1 echo scalar_myvar=$var

View file

@ -382,7 +382,7 @@ _parset_main() {
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20201010 (GNU parallel `parallel --minversion 1`)"
echo "parset 20201022 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2020 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 20201010 (GNU parallel `parallel --minversion 1`)"
echo "parset 20201022 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2020 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

@ -368,7 +368,7 @@ _parset_main() {
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20201010 (GNU parallel `parallel --minversion 1`)"
echo "parset 20201022 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2020 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

@ -382,7 +382,7 @@ _parset_main() {
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20201010 (GNU parallel `parallel --minversion 1`)"
echo "parset 20201022 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2020 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

@ -83,7 +83,7 @@ else
# Make a tmpfile for the variable definitions + alias
set _tMpaLLfILe=`_tempfile`
foreach _vARnAmE ($_vARnAmES);
# These 3 lines break in csh version 20110502-3
# These 3 lines break in csh version 20201022-3
# if not defined: next
eval if'(! $?'$_vARnAmE') continue'
# if $#myvar <= 1 echo scalar_myvar=$var

View file

@ -359,7 +359,7 @@ _parset_main() {
return 255
fi
if [ "$_parset_NAME" = "--version" ] ; then
echo "parset 20201010 (GNU parallel `parallel --minversion 1`)"
echo "parset 20201022 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2020 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

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

View file

@ -2164,7 +2164,7 @@ sub check_invalid_option_combinations() {
sub init_globals() {
# Defaults:
$Global::version = 20200923;
$Global::version = 20201022;
$Global::progname = 'parallel';
$::name = "GNU Parallel";
$Global::infinity = 2**31;
@ -4924,8 +4924,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. (2020, September 22). GNU Parallel 20200922 ('Ginsburg').",
" Zenodo. https://doi.org/10.5281/zenodo.4045386",
" Tange, O. (2020, October 22). GNU Parallel 20201022 ('SamuelPaty').",
" Zenodo. https://doi.org/10.5281/zenodo.4118697",
"",
# Before changing this line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
@ -4955,8 +4955,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. (2020, September 22). GNU Parallel 20200922 ('Ginsburg').",
" Zenodo. https://doi.org/10.5281/zenodo.4045386",
" Tange, O. (2020, October 22). GNU Parallel 20201022 ('SamuelPaty').",
" Zenodo. https://doi.org/10.5281/zenodo.4118697",
"",
# Before changing this line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and
@ -5069,20 +5069,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_2020_4045386,",
"\@software{tange_2020_4118697,",
" author = {Tange, Ole},",
" title = {GNU Parallel 20200922 ('Ginsburg')},",
" month = Sep,",
" title = {GNU Parallel 20201022 ('SamuelPaty')},",
" month = Oct,",
" year = 2020,",
" 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.4045386},",
" url = {https://doi.org/10.5281/zenodo.4045386}",
" doi = {10.5281/zenodo.4118697},",
" url = {https://doi.org/10.5281/zenodo.4118697}",
"}",
"",
"(Feel free to use \\nocite{tange_2020_4045386})",
"(Feel free to use \\nocite{tange_2020_4118697})",
"",
# Before changing this line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and

View file

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

View file

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