mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-12-04 20:07:57 +00:00
Compare commits
2 commits
1daaf604c7
...
0da890a2bc
Author | SHA1 | Date | |
---|---|---|---|
0da890a2bc | |||
3916f78fb2 |
14
Makefile.am
14
Makefile.am
|
@ -27,7 +27,7 @@ web:
|
||||||
cp -r src/*.pdf src/sphinx/build/html/* ../parallel-web/parallel
|
cp -r src/*.pdf src/sphinx/build/html/* ../parallel-web/parallel
|
||||||
cp ../parallel-web/parallel/parallel.html ../parallel-web/parallel/man.html
|
cp ../parallel-web/parallel/parallel.html ../parallel-web/parallel/man.html
|
||||||
|
|
||||||
upload:
|
sig:
|
||||||
eval `gpg-agent --daemon`
|
eval `gpg-agent --daemon`
|
||||||
# make sure $YYYYMMDD is set
|
# make sure $YYYYMMDD is set
|
||||||
echo $(YYYYMMDD) | grep 20
|
echo $(YYYYMMDD) | grep 20
|
||||||
|
@ -52,6 +52,7 @@ upload:
|
||||||
echo; \
|
echo; \
|
||||||
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
|
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
|
||||||
) > parallel-$(YYYYMMDD).tar.bz2.sig
|
) > parallel-$(YYYYMMDD).tar.bz2.sig
|
||||||
|
chmod +x parallel-$(YYYYMMDD).tar.bz2.sig
|
||||||
|
|
||||||
(echo '#!/bin/bash'; \
|
(echo '#!/bin/bash'; \
|
||||||
echo; \
|
echo; \
|
||||||
|
@ -65,9 +66,16 @@ upload:
|
||||||
echo; \
|
echo; \
|
||||||
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
|
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
|
||||||
) > parallel-latest.tar.bz2.sig
|
) > parallel-latest.tar.bz2.sig
|
||||||
|
chmod +x parallel-latest.tar.bz2.sig
|
||||||
|
make checksig
|
||||||
|
|
||||||
gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig
|
checksig:
|
||||||
gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$(YYYYMMDD).tar.bz2.sig
|
# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig
|
||||||
|
# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$(YYYYMMDD).tar.bz2.sig
|
||||||
|
./parallel-latest.tar.bz2.sig
|
||||||
|
./parallel-$(YYYYMMDD).tar.bz2.sig
|
||||||
|
|
||||||
|
upload: sig
|
||||||
lftp --version
|
lftp --version
|
||||||
p=`echo parallel-latest.tar.bz2*{,.sig,.asc}`; lftp -e "put $$p; bye" ftp://anonymous:ole=tange.dk@ftp-upload.gnu.org/incoming/ftp/ || true
|
p=`echo parallel-latest.tar.bz2*{,.sig,.asc}`; lftp -e "put $$p; bye" ftp://anonymous:ole=tange.dk@ftp-upload.gnu.org/incoming/ftp/ || true
|
||||||
p=`echo parallel-$(YYYYMMDD).tar.bz2*{,.sig,.asc}`; lftp -e "put $$p; bye" ftp://anonymous:ole=tange.dk@ftp-upload.gnu.org/incoming/ftp/ || true
|
p=`echo parallel-$(YYYYMMDD).tar.bz2*{,.sig,.asc}`; lftp -e "put $$p; bye" ftp://anonymous:ole=tange.dk@ftp-upload.gnu.org/incoming/ftp/ || true
|
||||||
|
|
14
Makefile.in
14
Makefile.in
|
@ -795,7 +795,7 @@ web:
|
||||||
cp -r src/*.pdf src/sphinx/build/html/* ../parallel-web/parallel
|
cp -r src/*.pdf src/sphinx/build/html/* ../parallel-web/parallel
|
||||||
cp ../parallel-web/parallel/parallel.html ../parallel-web/parallel/man.html
|
cp ../parallel-web/parallel/parallel.html ../parallel-web/parallel/man.html
|
||||||
|
|
||||||
upload:
|
sig:
|
||||||
eval `gpg-agent --daemon`
|
eval `gpg-agent --daemon`
|
||||||
# make sure $YYYYMMDD is set
|
# make sure $YYYYMMDD is set
|
||||||
echo $(YYYYMMDD) | grep 20
|
echo $(YYYYMMDD) | grep 20
|
||||||
|
@ -820,6 +820,7 @@ upload:
|
||||||
echo; \
|
echo; \
|
||||||
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
|
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
|
||||||
) > parallel-$(YYYYMMDD).tar.bz2.sig
|
) > parallel-$(YYYYMMDD).tar.bz2.sig
|
||||||
|
chmod +x parallel-$(YYYYMMDD).tar.bz2.sig
|
||||||
|
|
||||||
(echo '#!/bin/bash'; \
|
(echo '#!/bin/bash'; \
|
||||||
echo; \
|
echo; \
|
||||||
|
@ -833,9 +834,16 @@ upload:
|
||||||
echo; \
|
echo; \
|
||||||
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
|
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
|
||||||
) > parallel-latest.tar.bz2.sig
|
) > parallel-latest.tar.bz2.sig
|
||||||
|
chmod +x parallel-latest.tar.bz2.sig
|
||||||
|
make checksig
|
||||||
|
|
||||||
gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig
|
checksig:
|
||||||
gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$(YYYYMMDD).tar.bz2.sig
|
# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig
|
||||||
|
# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$(YYYYMMDD).tar.bz2.sig
|
||||||
|
./parallel-latest.tar.bz2.sig
|
||||||
|
./parallel-$(YYYYMMDD).tar.bz2.sig
|
||||||
|
|
||||||
|
upload: sig
|
||||||
lftp --version
|
lftp --version
|
||||||
p=`echo parallel-latest.tar.bz2*{,.sig,.asc}`; lftp -e "put $$p; bye" ftp://anonymous:ole=tange.dk@ftp-upload.gnu.org/incoming/ftp/ || true
|
p=`echo parallel-latest.tar.bz2*{,.sig,.asc}`; lftp -e "put $$p; bye" ftp://anonymous:ole=tange.dk@ftp-upload.gnu.org/incoming/ftp/ || true
|
||||||
p=`echo parallel-$(YYYYMMDD).tar.bz2*{,.sig,.asc}`; lftp -e "put $$p; bye" ftp://anonymous:ole=tange.dk@ftp-upload.gnu.org/incoming/ftp/ || true
|
p=`echo parallel-$(YYYYMMDD).tar.bz2*{,.sig,.asc}`; lftp -e "put $$p; bye" ftp://anonymous:ole=tange.dk@ftp-upload.gnu.org/incoming/ftp/ || true
|
||||||
|
|
25
NEWS
25
NEWS
|
@ -1,3 +1,28 @@
|
||||||
|
20241022
|
||||||
|
|
||||||
|
New in this release:
|
||||||
|
|
||||||
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
|
News about GNU Parallel:
|
||||||
|
|
||||||
|
* <<>>
|
||||||
|
|
||||||
|
|
||||||
|
20240922
|
||||||
|
|
||||||
|
New in this release:
|
||||||
|
|
||||||
|
* --fast disables a lot of functionality to speed up running jobs.
|
||||||
|
|
||||||
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
|
News about GNU Parallel:
|
||||||
|
|
||||||
|
* Job requiring GNU Parallel knowledge
|
||||||
|
https://www.capgemini.com/ca-en/jobs/Id6D4pEBZ6aB2WPS2aAJ/systems-engineer/
|
||||||
|
|
||||||
|
|
||||||
20240822
|
20240822
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
24
README
24
README
|
@ -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-20240822.tar.bz2
|
wget https://ftpmirror.gnu.org/parallel/parallel-20240922.tar.bz2
|
||||||
wget https://ftpmirror.gnu.org/parallel/parallel-20240822.tar.bz2.sig
|
wget https://ftpmirror.gnu.org/parallel/parallel-20240922.tar.bz2.sig
|
||||||
gpg parallel-20240822.tar.bz2.sig
|
gpg parallel-20240922.tar.bz2.sig
|
||||||
bzip2 -dc parallel-20240822.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20240922.tar.bz2 | tar xvf -
|
||||||
cd parallel-20240822
|
cd parallel-20240922
|
||||||
./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-20240822.tar.bz2
|
wget https://ftpmirror.gnu.org/parallel/parallel-20240922.tar.bz2
|
||||||
wget https://ftpmirror.gnu.org/parallel/parallel-20240822.tar.bz2.sig
|
wget https://ftpmirror.gnu.org/parallel/parallel-20240922.tar.bz2.sig
|
||||||
gpg parallel-20240822.tar.bz2.sig
|
gpg parallel-20240922.tar.bz2.sig
|
||||||
bzip2 -dc parallel-20240822.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20240922.tar.bz2 | tar xvf -
|
||||||
cd parallel-20240822
|
cd parallel-20240922
|
||||||
./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. (2024, August 22). GNU Parallel 20240822 ('Southport').
|
Tange, O. (2024, September 22). GNU Parallel 20240922 ('Gold Apollo AR924').
|
||||||
Zenodo. https://doi.org/10.5281/zenodo.13357237
|
Zenodo. https://doi.org/10.5281/zenodo.13826092
|
||||||
|
|
||||||
Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
|
Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
|
||||||
Software Foundation, Inc.
|
Software Foundation, Inc.
|
||||||
|
|
20
configure
vendored
20
configure
vendored
|
@ -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.71 for parallel 20240822.
|
# Generated by GNU Autoconf 2.71 for parallel 20240922.
|
||||||
#
|
#
|
||||||
# Report bugs to <bug-parallel@gnu.org>.
|
# Report bugs to <bug-parallel@gnu.org>.
|
||||||
#
|
#
|
||||||
|
@ -610,8 +610,8 @@ MAKEFLAGS=
|
||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='parallel'
|
PACKAGE_NAME='parallel'
|
||||||
PACKAGE_TARNAME='parallel'
|
PACKAGE_TARNAME='parallel'
|
||||||
PACKAGE_VERSION='20240822'
|
PACKAGE_VERSION='20240922'
|
||||||
PACKAGE_STRING='parallel 20240822'
|
PACKAGE_STRING='parallel 20240922'
|
||||||
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
|
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
|
@ -1246,7 +1246,7 @@ if test "$ac_init_help" = "long"; then
|
||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# 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 20240822 to adapt to many kinds of systems.
|
\`configure' configures parallel 20240922 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
|
@ -1313,7 +1313,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 20240822:";;
|
short | recursive ) echo "Configuration of parallel 20240922:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
|
@ -1390,7 +1390,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 20240822
|
parallel configure 20240922
|
||||||
generated by GNU Autoconf 2.71
|
generated by GNU Autoconf 2.71
|
||||||
|
|
||||||
Copyright (C) 2021 Free Software Foundation, Inc.
|
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||||
|
@ -1427,7 +1427,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 20240822, which was
|
It was created by parallel $as_me 20240922, which was
|
||||||
generated by GNU Autoconf 2.71. Invocation command line was
|
generated by GNU Autoconf 2.71. Invocation command line was
|
||||||
|
|
||||||
$ $0$ac_configure_args_raw
|
$ $0$ac_configure_args_raw
|
||||||
|
@ -2379,7 +2379,7 @@ fi
|
||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='parallel'
|
PACKAGE='parallel'
|
||||||
VERSION='20240822'
|
VERSION='20240922'
|
||||||
|
|
||||||
|
|
||||||
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
|
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
|
||||||
|
@ -3026,7 +3026,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# 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 20240822, which was
|
This file was extended by parallel $as_me 20240922, which was
|
||||||
generated by GNU Autoconf 2.71. Invocation command line was
|
generated by GNU Autoconf 2.71. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
|
@ -3090,7 +3090,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config='$ac_cs_config_escaped'
|
ac_cs_config='$ac_cs_config_escaped'
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
parallel config.status 20240822
|
parallel config.status 20240922
|
||||||
configured by $0, generated by GNU Autoconf 2.71,
|
configured by $0, generated by GNU Autoconf 2.71,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
AC_INIT([parallel],[20240822],[bug-parallel@gnu.org])
|
AC_INIT([parallel],[20240922],[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([
|
||||||
|
|
|
@ -4,9 +4,6 @@
|
||||||
|
|
||||||
Quote of the month:
|
Quote of the month:
|
||||||
|
|
||||||
Recently executed a flawless live data migration of ~2.4pb using GNU parallel for scale and bash scripts.
|
|
||||||
-- @mechanicker@twitter Dhruva
|
|
||||||
|
|
||||||
by extreme do you mean extremely slow? you could do it at least 100x faster using awk + grep + gnu parallel
|
by extreme do you mean extremely slow? you could do it at least 100x faster using awk + grep + gnu parallel
|
||||||
-- @ObssessedDev@twitter
|
-- @ObssessedDev@twitter
|
||||||
|
|
||||||
|
@ -227,6 +224,9 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html
|
||||||
|
|
||||||
=== Used ===
|
=== Used ===
|
||||||
|
|
||||||
|
Recently executed a flawless live data migration of ~2.4pb using GNU parallel for scale and bash scripts.
|
||||||
|
-- @mechanicker@twitter Dhruva
|
||||||
|
|
||||||
honestly the coolest software i've ever seen gotta be gnu parallel or
|
honestly the coolest software i've ever seen gotta be gnu parallel or
|
||||||
ffmpeg, nothing like them
|
ffmpeg, nothing like them
|
||||||
-- @scootykins scoot
|
-- @scootykins scoot
|
||||||
|
|
|
@ -268,34 +268,25 @@ 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 20240822 ('Southport') released
|
Subject: GNU Parallel 20240922 ('Gold Apollo AR924') released
|
||||||
|
|
||||||
GNU Parallel 20240822 ('Southport') has been released. It is available for download at: lbry://@GnuParallel:4
|
GNU Parallel 20240922 ('Gold Apollo AR924') has been released. It is available for download at: lbry://@GnuParallel:4
|
||||||
|
|
||||||
Quote of the month:
|
Quote of the month:
|
||||||
|
|
||||||
honestly the coolest software i've ever seen gotta be gnu parallel or
|
Recently executed a flawless live data migration of ~2.4pb using GNU parallel for scale and bash scripts.
|
||||||
ffmpeg, nothing like them
|
-- @mechanicker@twitter Dhruva
|
||||||
-- @scootykins scoot
|
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
* --match Match input source with regexp to set replacement fields.
|
* --fast disables a lot of functionality to speed up running jobs.
|
||||||
|
|
||||||
* {:%fmt} Use printf formatting of replacement strings.
|
|
||||||
|
|
||||||
* Bug fixes and man page updates.
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
|
|
||||||
News about GNU Parallel:
|
News about GNU Parallel:
|
||||||
|
|
||||||
* Powerful GNU parallel, more than a loop https://www.linkedin.com/pulse/powerful-gnu-parallel-more-than-loop-zhenguo-zhang-18dxc
|
* Job requiring GNU Parallel knowledge
|
||||||
|
https://www.capgemini.com/ca-en/jobs/Id6D4pEBZ6aB2WPS2aAJ/systems-engineer/
|
||||||
* How To Increase File Transfer Speed Using Parallel Rsync? https://contentbase.com/blog/increase-file-transfer-speed-parallel-rsync/
|
|
||||||
|
|
||||||
* Converting WebP Images to PNG Using parallel and dwebp https://bytefreaks.net/2024/07/27
|
|
||||||
|
|
||||||
* Turbocharging the Box CLI with GNU Parallel https://medium.com/box-developer-blog/turbocharging-the-box-cli-with-gnu-parallel-ee44c48811c0
|
|
||||||
|
|
||||||
|
|
||||||
GNU Parallel - For people who live life in the parallel lane.
|
GNU Parallel - For people who live life in the parallel lane.
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
7
|
12
|
||||||
|
|
|
@ -2,8 +2,8 @@ Source: parallel
|
||||||
Section: utils
|
Section: utils
|
||||||
Priority: extra
|
Priority: extra
|
||||||
Maintainer: Ole Tange <ole@tange.dk>
|
Maintainer: Ole Tange <ole@tange.dk>
|
||||||
Build-Depends: debhelper (>= 5)
|
Build-Depends: debhelper (>= 12)
|
||||||
Standards-Version: 3.8.3
|
Standards-Version: 4.6.0
|
||||||
Homepage: https://www.gnu.org/software/parallel/
|
Homepage: https://www.gnu.org/software/parallel/
|
||||||
|
|
||||||
Package: parallel
|
Package: parallel
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
all:
|
all:
|
||||||
perl -e 'exit $$ENV{YYYYMMDD} !~ /20/'
|
perl -e 'exit $$ENV{YYYYMMDD} !~ /20/'
|
||||||
cd ../debian/ && make
|
cd ../debian/ && make
|
||||||
|
cd ../.. && make sig
|
||||||
osc rm home-tange/parallel/parallel_*.dsc || true
|
osc rm home-tange/parallel/parallel_*.dsc || true
|
||||||
cp ../debian/parallel_*.dsc ../debian/parallel_*.tar.gz home-tange/parallel/
|
cp ../debian/parallel_*.dsc ../debian/parallel_*.tar.gz home-tange/parallel/
|
||||||
cp `ls ../../parallel-2*.tar.bz2|grep -v latest|tail -n1` home-tange/parallel/
|
cp `ls ../../parallel-2*.tar.bz2|grep -v latest|tail -n1` home-tange/parallel/
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
<directory name="parallel" rev="392" vrev="3" srcmd5="b0ed240db642f9220a259b0d40632326">
|
<directory name="parallel" rev="400" vrev="9" srcmd5="0a74278ca0d9d295fddd6ce59053a55d">
|
||||||
<entry name="Makefile" md5="a165cdcca90c744dc5a5b17cde72ad8e" size="1182" mtime="1698101769" />
|
<entry name="Makefile" md5="d62bf3bdf277f9787ce915e6d1309317" size="1254" mtime="1727031498" />
|
||||||
<entry name="PKGBUILD" md5="dbc43c26061f9b183f43ac780643b362" size="714" mtime="1724271991" />
|
<entry name="PKGBUILD" md5="5de38e88564fd456a4a955e1fd7a9e99" size="795" mtime="1727031498" />
|
||||||
<entry name="parallel-20240822.tar.bz2" md5="150250ba8a27dc86cab7cb9b56bca9e5" size="2682765" mtime="1724271991" />
|
<entry name="parallel-20240922.tar.bz2" md5="ede9c532b8a381cca11b8756b6f45146" size="2675527" mtime="1727031499" />
|
||||||
<entry name="parallel.spec" md5="ff9ea031c93efd66356306d83723efcd" size="6224" mtime="1724271499" />
|
<entry name="parallel-20240922.tar.bz2.sig" md5="03e191a290803ab56fa983b6bf3f8f34" size="2080" mtime="1727031499" />
|
||||||
<entry name="parallel_20240822.dsc" md5="78549c2818624964438c8c3c6cc1fce4" size="556" mtime="1724271499" />
|
<entry name="parallel.spec" md5="c08379d0ce10a09a1b00a76ecdd2108c" size="6224" mtime="1727029032" />
|
||||||
<entry name="parallel_20240822.tar.gz" md5="1c4351c72c29614d1c2fa1402715956b" size="2931682" mtime="1724271992" />
|
<entry name="parallel_20240922.dsc" md5="ea350c690a20c6f0b8f735dd895f0e6c" size="557" mtime="1727030980" />
|
||||||
|
<entry name="parallel_20240922.tar.gz" md5="b07dcee6799cb75f34ec91683d32f85c" size="2917962" mtime="1727030981" />
|
||||||
</directory>
|
</directory>
|
||||||
|
|
|
@ -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: 20240822
|
Version: 20240922
|
||||||
Release: 2.1
|
Release: 2.1
|
||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
Group: Productivity/File utilities
|
Group: Productivity/File utilities
|
||||||
|
|
|
@ -1,12 +1,19 @@
|
||||||
all:
|
all: update upload monitorbuild
|
||||||
|
true
|
||||||
|
|
||||||
|
update:
|
||||||
# Update sha256sum
|
# Update sha256sum
|
||||||
s=`sha256sum parallel-*.tar.bz2|field 1` perl -i -pe 's/(sha256sums=..)\w+(..)/$$1$$ENV{s}$$2/' PKGBUILD
|
s=`sha256sum parallel-*.tar.bz2|field 1` perl -i -pe 's/(sha256sums=..)\w+(..)/$$1$$ENV{s}$$2/' PKGBUILD
|
||||||
# Update version
|
# Update version
|
||||||
perl -i -pe 's/pkgver=.*/pkgver=$$ENV{YYYYMMDD}/' PKGBUILD
|
perl -i -pe 's/pkgver=.*/pkgver=$$ENV{YYYYMMDD}/' PKGBUILD
|
||||||
osc diff
|
osc diff
|
||||||
|
|
||||||
|
upload:
|
||||||
osc up
|
osc up
|
||||||
parallel osc add ::: *.spec *.dsc *.tar.gz *.tar.bz2 && echo Src added OK || true
|
parallel osc add ::: *.spec *.dsc *.tar.gz *.tar.bz2 *.sig && echo Src added OK || true
|
||||||
osc ci -m "New release"
|
osc ci -m "New release"
|
||||||
|
|
||||||
|
monitorbuild:
|
||||||
### Wait for "building" state to complete
|
### Wait for "building" state to complete
|
||||||
echo '### Wait for "building" state'
|
echo '### Wait for "building" state'
|
||||||
sleep 3
|
sleep 3
|
||||||
|
|
|
@ -601,7 +601,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20240822 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20240922 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 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>"
|
||||||
|
|
|
@ -605,7 +605,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20240822 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20240922 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 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>"
|
||||||
|
|
|
@ -601,7 +601,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20240822 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20240922 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 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>"
|
||||||
|
|
|
@ -601,7 +601,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20240822 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20240922 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 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>"
|
||||||
|
|
|
@ -570,7 +570,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20240822 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20240922 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 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>"
|
||||||
|
|
|
@ -275,7 +275,7 @@ Due to a bug in Bash, aliases containing newlines must be followed by
|
||||||
a newline in the command. Some systems are not affected by this bug,
|
a newline in the command. Some systems are not affected by this bug,
|
||||||
but will print a warning anyway.
|
but will print a warning anyway.
|
||||||
|
|
||||||
=head2 csh (alpha testing)
|
=head2 csh (beta testing)
|
||||||
|
|
||||||
B<env_parallel> for B<csh> breaks B<$PARALLEL>, so do not use
|
B<env_parallel> for B<csh> breaks B<$PARALLEL>, so do not use
|
||||||
B<$PARALLEL>.
|
B<$PARALLEL>.
|
||||||
|
@ -384,7 +384,7 @@ B<--session> is supported.
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
|
||||||
=head2 fish (beta testing)
|
=head2 fish
|
||||||
|
|
||||||
=head3 Installation
|
=head3 Installation
|
||||||
|
|
||||||
|
@ -679,7 +679,7 @@ B<--session> is supported.
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
|
||||||
=head2 tcsh (alpha testing)
|
=head2 tcsh (beta testing)
|
||||||
|
|
||||||
B<env_parallel> for B<tcsh> breaks B<$PARALLEL>, so do not use
|
B<env_parallel> for B<tcsh> breaks B<$PARALLEL>, so do not use
|
||||||
B<$PARALLEL>.
|
B<$PARALLEL>.
|
||||||
|
|
|
@ -601,7 +601,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20240822 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20240922 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 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>"
|
||||||
|
|
|
@ -601,7 +601,7 @@ _parset_main() {
|
||||||
fi
|
fi
|
||||||
if [ "$_parset_NAME" = "--version" ] ; then
|
if [ "$_parset_NAME" = "--version" ] ; then
|
||||||
# shellcheck disable=SC2006
|
# shellcheck disable=SC2006
|
||||||
echo "parset 20240822 (GNU parallel `parallel --minversion 1`)"
|
echo "parset 20240922 (GNU parallel `parallel --minversion 1`)"
|
||||||
echo "Copyright (C) 2007-2024 Ole Tange, http://ole.tange.dk and Free Software"
|
echo "Copyright (C) 2007-2024 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>"
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
use strict;
|
use strict;
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
$Global::progname="niceload";
|
$Global::progname="niceload";
|
||||||
$Global::version = 20240822;
|
$Global::version = 20240922;
|
||||||
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) {
|
||||||
|
|
124
src/parallel
124
src/parallel
|
@ -156,6 +156,91 @@ sub halt() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
sub __FAST_MODE__() {}
|
||||||
|
|
||||||
|
|
||||||
|
sub fast() {
|
||||||
|
my $jobslots = $Global::host{':'}->user_requested_processes($opt::jobs);
|
||||||
|
my $i;
|
||||||
|
my $jobs_per_chunk;
|
||||||
|
my $buffer_len = 100;
|
||||||
|
my $splitstring = ("\n#\0\n");
|
||||||
|
# n = jobslots
|
||||||
|
# Read 100 jobs
|
||||||
|
# Split into n chunks
|
||||||
|
# Read 3*100 jobs
|
||||||
|
# Split into n chunks
|
||||||
|
# Read 3*3*100 jobs (up to at most 300K jobs)
|
||||||
|
# Split into n chunks
|
||||||
|
# Receiver: parallel --block 1k --pipe -N1 --recend '\n#\0\n' dash
|
||||||
|
# TODO --group? --halt? --tag? $PARALLEL_JOBSLOT
|
||||||
|
# _PARALLEL_TAG="foo"
|
||||||
|
# | tagger
|
||||||
|
# _PARALLEL_EXIT
|
||||||
|
# maybe_exit
|
||||||
|
my $executer_fh;
|
||||||
|
if($opt::D eq "fast") {
|
||||||
|
open($executer_fh, "|-", "cat") || die;
|
||||||
|
} else {
|
||||||
|
open($executer_fh, "|-", "parallel --plain -j $jobslots --block 1k --pipe -N1 --recend '\\n#\\0\\n' $Global::shell") || die;
|
||||||
|
}
|
||||||
|
# Do some testing of a stuck job - dns = 5 sec
|
||||||
|
my $block_start = q{
|
||||||
|
error() {
|
||||||
|
_exit=$((_exit+1))
|
||||||
|
# --halt-on-error stuff
|
||||||
|
if [ $_exit -gt 40 ]; then
|
||||||
|
echo "ERROR: More than 40"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
_tagger() {
|
||||||
|
{
|
||||||
|
rm -f "$1"
|
||||||
|
# This will fail for either /1 or /2
|
||||||
|
rmdir "$2" 2>/dev/null
|
||||||
|
# TODO use awk (see fasttag)
|
||||||
|
perl -pe 's{^}{$ENV{PARALLEL_TAGSTRING}}'
|
||||||
|
} < "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
_taggerwrap() {
|
||||||
|
_dir=`mktemp -d`
|
||||||
|
mkfifo "$_dir"/1 "$_dir"/2
|
||||||
|
_tagger "$_dir"/1 "$_dir" >&1 &
|
||||||
|
_tagger "$_dir"/2 "$_dir" >&2 &
|
||||||
|
# ( ... ) is needed to deal correctly with 'exit 1'
|
||||||
|
( eval $@ ; ) >"$_dir"/1 2>"$_dir"/2 || error
|
||||||
|
wait
|
||||||
|
}
|
||||||
|
PARALLEL_TAGSTRING=dummy
|
||||||
|
export PARALLEL_TAGSTRING
|
||||||
|
};
|
||||||
|
my $block_end = "\n# Define get exit value\necho EXIT=\$_exit\n".$splitstring."\n";
|
||||||
|
do {
|
||||||
|
$i = 0;
|
||||||
|
my @jobbuffer;
|
||||||
|
while(my $job = $Global::JobQueue->get()) {
|
||||||
|
push (@jobbuffer, "PARALLEL_TAGSTRING=".Q($job->tag()).
|
||||||
|
"\n_taggerwrap ". Q($job->replaced()));
|
||||||
|
($i++ < $buffer_len) or last;
|
||||||
|
}
|
||||||
|
my $jobs_per_chunk = 1 + ($i / $jobslots);
|
||||||
|
my $j = 0;
|
||||||
|
print $executer_fh $block_start;
|
||||||
|
for(@jobbuffer) {
|
||||||
|
print $executer_fh $_,"\n";
|
||||||
|
(++$j % $jobs_per_chunk) or print $executer_fh $block_end,$block_start;
|
||||||
|
}
|
||||||
|
print $executer_fh $block_end;
|
||||||
|
if($buffer_len < 100000) { $buffer_len *= 3; }
|
||||||
|
} while ($i);
|
||||||
|
close $executer_fh;
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
sub __PIPE_MODE__() {}
|
sub __PIPE_MODE__() {}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2084,7 +2169,7 @@ sub options_completion_hash() {
|
||||||
"first line of a script. The content of the file will be treated ".
|
"first line of a script. The content of the file will be treated ".
|
||||||
"as inputsource]"
|
"as inputsource]"
|
||||||
=> \$opt::shebang),
|
=> \$opt::shebang),
|
||||||
("_pipe-means-argfiles[internal]"
|
("_pipe-means-argfiles[Internal: Called by --shebang-wrap]"
|
||||||
=> \$opt::_pipe_means_argfiles),
|
=> \$opt::_pipe_means_argfiles),
|
||||||
"Y" => \$opt::retired,
|
"Y" => \$opt::retired,
|
||||||
("skip-first-line|skipfirstline".
|
("skip-first-line|skipfirstline".
|
||||||
|
@ -2141,7 +2226,8 @@ sub options_completion_hash() {
|
||||||
"[Embed GNU parallel in a shell script]" => \$opt::combineexec,
|
"[Embed GNU parallel in a shell script]" => \$opt::combineexec,
|
||||||
("filter=s[Only run jobs where filter is true]:filter"
|
("filter=s[Only run jobs where filter is true]:filter"
|
||||||
=> \@opt::filter),
|
=> \@opt::filter),
|
||||||
"_parset=s[Generate shell code for parset]" => \$opt::_parset,
|
"fast[Run commands fast]" => \$opt::fast,
|
||||||
|
"_parset=s[Internal: Generate shell code for parset]" => \$opt::_parset,
|
||||||
("shell-completion|shellcompletion=s".
|
("shell-completion|shellcompletion=s".
|
||||||
"[Generate shell code for shell completion]:shell:(bash zsh)"
|
"[Generate shell code for shell completion]:shell:(bash zsh)"
|
||||||
=> \$opt::shellcompletion),
|
=> \$opt::shellcompletion),
|
||||||
|
@ -2248,8 +2334,12 @@ sub parse_options(@) {
|
||||||
#
|
#
|
||||||
## Shell
|
## Shell
|
||||||
#
|
#
|
||||||
$Global::shell = $ENV{'PARALLEL_SHELL'} || parent_shell($$)
|
if($opt::fast) {
|
||||||
|| $ENV{'SHELL'} || "/bin/sh";
|
$Global::shell = $ENV{'PARALLEL_SHELL'} || which("dash") || "/bin/sh";
|
||||||
|
} else {
|
||||||
|
$Global::shell = $ENV{'PARALLEL_SHELL'} || parent_shell($$)
|
||||||
|
|| $ENV{'SHELL'} || "/bin/sh";
|
||||||
|
}
|
||||||
if(not -x $Global::shell and not which($Global::shell)) {
|
if(not -x $Global::shell and not which($Global::shell)) {
|
||||||
::error("Shell '$Global::shell' not found.");
|
::error("Shell '$Global::shell' not found.");
|
||||||
wait_and_exit(255);
|
wait_and_exit(255);
|
||||||
|
@ -2798,7 +2888,7 @@ sub check_invalid_option_combinations() {
|
||||||
|
|
||||||
sub init_globals() {
|
sub init_globals() {
|
||||||
# Defaults:
|
# Defaults:
|
||||||
$Global::version = 20240822;
|
$Global::version = 20240922;
|
||||||
$Global::progname = 'parallel';
|
$Global::progname = 'parallel';
|
||||||
$::name = "GNU Parallel";
|
$::name = "GNU Parallel";
|
||||||
$Global::infinity = 2**31;
|
$Global::infinity = 2**31;
|
||||||
|
@ -5856,8 +5946,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. (2024, August 22). GNU Parallel 20240822 ('Southport').",
|
" Tange, O. (2024, September 22). GNU Parallel 20240922 ('Gold Apollo AR924').",
|
||||||
" Zenodo. https://doi.org/10.5281/zenodo.13357237",
|
" Zenodo. https://doi.org/10.5281/zenodo.13826092",
|
||||||
"",
|
"",
|
||||||
# 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
|
||||||
|
@ -5889,8 +5979,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. (2024, August 22). GNU Parallel 20240822 ('Southport').",
|
" Tange, O. (2024, September 22). GNU Parallel 20240922 ('Gold Apollo AR924').",
|
||||||
" Zenodo. https://doi.org/10.5281/zenodo.13357237",
|
" Zenodo. https://doi.org/10.5281/zenodo.13826092",
|
||||||
"",
|
"",
|
||||||
# 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
|
||||||
|
@ -6016,20 +6106,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_2024_13357237,",
|
"\@software{tange_2024_13826092,",
|
||||||
" author = {Tange, Ole},",
|
" author = {Tange, Ole},",
|
||||||
" title = {GNU Parallel 20240822 ('Southport')},",
|
" title = {GNU Parallel 20240922 ('Gold Apollo AR924')},",
|
||||||
" month = Aug,",
|
" month = Sep,",
|
||||||
" year = 2023,",
|
" year = 2024,",
|
||||||
" 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.13357237},",
|
" doi = {10.5281/zenodo.13826092},",
|
||||||
" url = {https://doi.org/10.5281/zenodo.13357237}",
|
" url = {https://doi.org/10.5281/zenodo.13826092}",
|
||||||
"}",
|
"}",
|
||||||
"",
|
"",
|
||||||
"(Feel free to use \\nocite{tange_2024_13357237})",
|
"(Feel free to use \\nocite{tange_2024_13826092})",
|
||||||
"",
|
"",
|
||||||
# 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
|
||||||
|
@ -15700,6 +15790,8 @@ sub main() {
|
||||||
# Fill all jobslots
|
# Fill all jobslots
|
||||||
while(start_more_jobs()) {}
|
while(start_more_jobs()) {}
|
||||||
spreadstdin();
|
spreadstdin();
|
||||||
|
} elsif($opt::fast) {
|
||||||
|
fast();
|
||||||
} else {
|
} else {
|
||||||
# Reap the finished jobs and start more
|
# Reap the finished jobs and start more
|
||||||
while(reapers() + start_more_jobs()) {}
|
while(reapers() + start_more_jobs()) {}
|
||||||
|
|
|
@ -134,7 +134,7 @@ B<Bash, Csh, or Tcsh aliases>: Use B<env_parallel>.
|
||||||
|
|
||||||
B<Zsh, Fish, Ksh, and Pdksh functions and aliases>: Use B<env_parallel>.
|
B<Zsh, Fish, Ksh, and Pdksh functions and aliases>: Use B<env_parallel>.
|
||||||
|
|
||||||
=item B<{}> (alpha testing)
|
=item B<{}> (beta testing)
|
||||||
|
|
||||||
Input line.
|
Input line.
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ See also: B<--plus> B<{.}> B<{/}> B<{//}> B<{/.}> B<{#}> B<{%}>
|
||||||
B<{>I<n>B<}> B<{=>I<perl expression>B<=}>
|
B<{>I<n>B<}> B<{=>I<perl expression>B<=}>
|
||||||
|
|
||||||
|
|
||||||
=item B<{.}> (alpha testing)
|
=item B<{.}> (beta testing)
|
||||||
|
|
||||||
Input line without extension.
|
Input line without extension.
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ The replacement string B<{.}> can be changed with B<--extensionreplace>
|
||||||
See also: B<{}> B<--extensionreplace>
|
See also: B<{}> B<--extensionreplace>
|
||||||
|
|
||||||
|
|
||||||
=item B<{/}> (alpha testing)
|
=item B<{/}> (beta testing)
|
||||||
|
|
||||||
Basename of input line.
|
Basename of input line.
|
||||||
|
|
||||||
|
@ -183,7 +183,7 @@ directory part removed.
|
||||||
See also: B<{}> B<--basenamereplace>
|
See also: B<{}> B<--basenamereplace>
|
||||||
|
|
||||||
|
|
||||||
=item B<{//}> (alpha testing)
|
=item B<{//}> (beta testing)
|
||||||
|
|
||||||
Dirname of input line.
|
Dirname of input line.
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ line. See B<dirname>(1).
|
||||||
See also: B<{}> B<--dirnamereplace>
|
See also: B<{}> B<--dirnamereplace>
|
||||||
|
|
||||||
|
|
||||||
=item B<{/.}> (alpha testing)
|
=item B<{/.}> (beta testing)
|
||||||
|
|
||||||
Basename of input line without extension.
|
Basename of input line without extension.
|
||||||
|
|
||||||
|
@ -204,7 +204,7 @@ B<{/}> and B<{.}>.
|
||||||
See also: B<{}> B<--basenameextensionreplace>
|
See also: B<{}> B<--basenameextensionreplace>
|
||||||
|
|
||||||
|
|
||||||
=item B<{#}> (alpha testing)
|
=item B<{#}> (beta testing)
|
||||||
|
|
||||||
Sequence number of the job to run.
|
Sequence number of the job to run.
|
||||||
|
|
||||||
|
@ -214,7 +214,7 @@ job being run. It contains the same number as $PARALLEL_SEQ.
|
||||||
See also: B<{}> B<--seqreplace>
|
See also: B<{}> B<--seqreplace>
|
||||||
|
|
||||||
|
|
||||||
=item B<{%}> (alpha testing)
|
=item B<{%}> (beta testing)
|
||||||
|
|
||||||
Job slot number.
|
Job slot number.
|
||||||
|
|
||||||
|
@ -249,7 +249,7 @@ Notice how {%} and $PARALLEL_JOBSLOT differ in the retry run of C and D.
|
||||||
See also: B<{}> B<--jobs> B<--slotreplace>
|
See also: B<{}> B<--jobs> B<--slotreplace>
|
||||||
|
|
||||||
|
|
||||||
=item B<{>I<n>B<}> (alpha testing)
|
=item B<{>I<n>B<}> (beta testing)
|
||||||
|
|
||||||
Argument from input source I<n> or the I<n>'th argument.
|
Argument from input source I<n> or the I<n>'th argument.
|
||||||
|
|
||||||
|
@ -263,7 +263,7 @@ See also: B<{}> B<{>I<n>.B<}> B<{>I<n>/B<}> B<{>I<n>//B<}>
|
||||||
B<{>I<n>/.B<}> B<--colsep>
|
B<{>I<n>/.B<}> B<--colsep>
|
||||||
|
|
||||||
|
|
||||||
=item B<{>I<n>.B<}> (alpha testing)
|
=item B<{>I<n>.B<}> (beta testing)
|
||||||
|
|
||||||
Argument from input source I<n> or the I<n>'th argument without
|
Argument from input source I<n> or the I<n>'th argument without
|
||||||
extension.
|
extension.
|
||||||
|
@ -278,7 +278,7 @@ extension removed.
|
||||||
See also: B<{>I<n>B<}> B<{.}>
|
See also: B<{>I<n>B<}> B<{.}>
|
||||||
|
|
||||||
|
|
||||||
=item B<{>I<n>/B<}> (alpha testing)
|
=item B<{>I<n>/B<}> (beta testing)
|
||||||
|
|
||||||
Basename of argument from input source I<n> or the I<n>'th argument.
|
Basename of argument from input source I<n> or the I<n>'th argument.
|
||||||
|
|
||||||
|
@ -292,7 +292,7 @@ directory (if any) removed.
|
||||||
See also: B<{>I<n>B<}> B<{/}>
|
See also: B<{>I<n>B<}> B<{/}>
|
||||||
|
|
||||||
|
|
||||||
=item B<{>I<n>//B<}> (alpha testing)
|
=item B<{>I<n>//B<}> (beta testing)
|
||||||
|
|
||||||
Dirname of argument from input source I<n> or the I<n>'th argument.
|
Dirname of argument from input source I<n> or the I<n>'th argument.
|
||||||
|
|
||||||
|
@ -305,7 +305,7 @@ the I<n>'th argument (when used with B<-N>). See B<dirname>(1).
|
||||||
See also: B<{>I<n>B<}> B<{//}>
|
See also: B<{>I<n>B<}> B<{//}>
|
||||||
|
|
||||||
|
|
||||||
=item B<{>I<n>/.B<}> (alpha testing)
|
=item B<{>I<n>/.B<}> (beta testing)
|
||||||
|
|
||||||
Basename of argument from input source I<n> or the I<n>'th argument
|
Basename of argument from input source I<n> or the I<n>'th argument
|
||||||
without extension.
|
without extension.
|
||||||
|
@ -321,7 +321,7 @@ directory (if any) and extension removed.
|
||||||
See also: B<{>I<n>B<}> B<{/.}>
|
See also: B<{>I<n>B<}> B<{/.}>
|
||||||
|
|
||||||
|
|
||||||
=item B<{=>I<perl expression>B<=}> (alpha testing)
|
=item B<{=>I<perl expression>B<=}> (beta testing)
|
||||||
|
|
||||||
Replace with calculated I<perl expression>.
|
Replace with calculated I<perl expression>.
|
||||||
|
|
||||||
|
@ -438,7 +438,7 @@ See also: B<--rpl> B<--parens> B<{}> B<{=>I<n> I<perl expression>B<=}>
|
||||||
B<--filter>
|
B<--filter>
|
||||||
|
|
||||||
|
|
||||||
=item B<{=>I<n> I<perl expression>B<=}> (alpha testing)
|
=item B<{=>I<n> I<perl expression>B<=}> (beta testing)
|
||||||
|
|
||||||
Positional equivalent to B<{=>I<perl expression>B<=}>.
|
Positional equivalent to B<{=>I<perl expression>B<=}>.
|
||||||
|
|
||||||
|
@ -447,7 +447,7 @@ To understand positional replacement strings see B<{>I<n>B<}>.
|
||||||
See also: B<{=>I<perl expression>B<=}> B<{>I<n>B<}>
|
See also: B<{=>I<perl expression>B<=}> B<{>I<n>B<}>
|
||||||
|
|
||||||
|
|
||||||
=item B<{>I<rpl>:I<format>B<}> (alpha testing)
|
=item B<{>I<rpl>:I<format>B<}> (beta testing)
|
||||||
|
|
||||||
Format replacement string.
|
Format replacement string.
|
||||||
|
|
||||||
|
@ -1104,6 +1104,27 @@ Implies B<--progress>.
|
||||||
See also: B<--bar> B<--progress> B<--total-jobs>
|
See also: B<--bar> B<--progress> B<--total-jobs>
|
||||||
|
|
||||||
|
|
||||||
|
=item B<--fast> (alpha testing)
|
||||||
|
|
||||||
|
Run jobs fast.
|
||||||
|
|
||||||
|
This disables a lot of functionality of GNU B<parallel> to make jobs
|
||||||
|
run as fast as possible: Think of it as the nitro racing car compared
|
||||||
|
to the Volvo.
|
||||||
|
|
||||||
|
Useful for benchmarking and if you have 1000's of tiny jobs.
|
||||||
|
|
||||||
|
Compare:
|
||||||
|
|
||||||
|
time parallel echo ::: {1..10} ::: {1..10} ::: {1..10}
|
||||||
|
time parallel --fast echo ::: {1..10} ::: {1..10} ::: {1..10}
|
||||||
|
time parallel --fast echo ::: {1..100} ::: {1..100} ::: {1..100}
|
||||||
|
|
||||||
|
Supported options: B<--group> B<--keep-order>
|
||||||
|
|
||||||
|
If you need more options: File a bug.
|
||||||
|
|
||||||
|
|
||||||
=item B<--fg>
|
=item B<--fg>
|
||||||
|
|
||||||
Run command in foreground.
|
Run command in foreground.
|
||||||
|
@ -1796,7 +1817,7 @@ If in doubt use B<-X> as that will most likely do what is needed.
|
||||||
See also: B<-X> B<--xargs>
|
See also: B<-X> B<--xargs>
|
||||||
|
|
||||||
|
|
||||||
=item B<--match> I<regexp> (alpha testing)
|
=item B<--match> I<regexp> (beta testing)
|
||||||
|
|
||||||
Match input source with regexp to set replacement fields.
|
Match input source with regexp to set replacement fields.
|
||||||
|
|
||||||
|
|
|
@ -1555,11 +1555,11 @@ B<parallelion> is fast: 0.1 ms/job. Similar to B<parallel-bash>.
|
||||||
|
|
||||||
=head3 EXAMPLES FROM parallelion
|
=head3 EXAMPLES FROM parallelion
|
||||||
|
|
||||||
1$ parallelion -progress 'echo {}' {1..1000}
|
1$ parallelion --progress 'echo {}' {1..1000}
|
||||||
|
|
||||||
1$ parallel --bar echo {} ::: {1..1000}
|
1$ parallel --bar echo {} ::: {1..1000}
|
||||||
|
|
||||||
2$ parallelion -progress 'echo {}' $(seq 1 999)
|
2$ parallelion --progress 'echo {}' $(seq 1 999)
|
||||||
|
|
||||||
2$ seq 1 999 | parallel --bar echo
|
2$ seq 1 999 | parallel --bar echo
|
||||||
|
|
||||||
|
|
|
@ -137,7 +137,7 @@ GetOptions(
|
||||||
"help" => \$opt::dummy,
|
"help" => \$opt::dummy,
|
||||||
) || exit(255);
|
) || exit(255);
|
||||||
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
|
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
|
||||||
$Global::version = 20240822;
|
$Global::version = 20240922;
|
||||||
if($opt::version) { version(); exit 0; }
|
if($opt::version) { version(); exit 0; }
|
||||||
# Remove -D and --parallel=N
|
# Remove -D and --parallel=N
|
||||||
my @s = (grep { ! /^-D$|^--parallel=\S+$/ }
|
my @s = (grep { ! /^-D$|^--parallel=\S+$/ }
|
||||||
|
|
|
@ -97,7 +97,8 @@ sub pre3 {
|
||||||
# If =for not already there, insert:
|
# If =for not already there, insert:
|
||||||
# =for pod2rst next-code-block: bash
|
# =for pod2rst next-code-block: bash
|
||||||
$all = <STDIN>;
|
$all = <STDIN>;
|
||||||
@codepar = split/(?<=\n .{0,25}\S.{0,200}\n{2,10})(?=[0-9a-zA-Z=])/, $all;
|
# Split after code block (where indented lines => no indent)
|
||||||
|
@codepar = split/(?<=\n .{0,25}\S.{0,200}\n{2,10})(?=^[0-9a-zA-Z=])/m, $all;
|
||||||
for(@codepar) {
|
for(@codepar) {
|
||||||
/=for pod2rst next-code-block:/ and next;
|
/=for pod2rst next-code-block:/ and next;
|
||||||
s/((\n +\S))/\n=for pod2rst next-code-block: bash\n$1/;
|
s/((\n +\S))/\n=for pod2rst next-code-block: bash\n$1/;
|
||||||
|
|
2
src/sql
2
src/sql
|
@ -670,7 +670,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
||||||
exit ($err);
|
exit ($err);
|
||||||
|
|
||||||
sub parse_options {
|
sub parse_options {
|
||||||
$Global::version = 20240822;
|
$Global::version = 20240922;
|
||||||
$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
|
||||||
|
|
|
@ -123,7 +123,7 @@ stop=(stdout ping -w 1 -c 1 {} && \
|
||||||
(cd vagrant/*/{} && vagrant suspend) ) | \
|
(cd vagrant/*/{} && vagrant suspend) ) | \
|
||||||
grep -Ev "${ignore}"
|
grep -Ev "${ignore}"
|
||||||
|
|
||||||
namedservers=centos8 freebsd13 freebsd14 rhel8 centos3
|
namedservers=centos9 freebsd13 freebsd14 rhel8 centos3
|
||||||
servers=parallel-server1 parallel-server2 parallel-server3 parallel-server4 ${namedservers}
|
servers=parallel-server1 parallel-server2 parallel-server3 parallel-server4 ${namedservers}
|
||||||
|
|
||||||
startvm:
|
startvm:
|
||||||
|
|
|
@ -290,7 +290,7 @@ add_server_to_hosts() {
|
||||||
insert_in_etc_hosts 127.1.2.3 server
|
insert_in_etc_hosts 127.1.2.3 server
|
||||||
|
|
||||||
insert_in_etc_hosts 127.0.0.2 lo
|
insert_in_etc_hosts 127.0.0.2 lo
|
||||||
parallel add_single_vagrant_to_etc_hosts {} parallel-server{#} ::: centos8 freebsd13 freebsd14 rhel8 centos3
|
parallel add_single_vagrant_to_etc_hosts {} parallel-server{#} ::: centos9 freebsd13 freebsd14 rhel8 centos3
|
||||||
}
|
}
|
||||||
|
|
||||||
vagrant_up() {
|
vagrant_up() {
|
||||||
|
|
|
@ -984,10 +984,10 @@ par_sem_quote ### sem --quote should not add empty argument
|
||||||
par_sem_quote echo
|
par_sem_quote echo
|
||||||
par_sem_quote
|
par_sem_quote
|
||||||
par_shellcompletion ### --shellcompletion
|
par_shellcompletion ### --shellcompletion
|
||||||
par_shellcompletion bf790ce8a53d1e7e5f8e78b063dc65bc -
|
par_shellcompletion 1eba455fe1456f03376f19255aed28d3 -
|
||||||
par_shellcompletion bf790ce8a53d1e7e5f8e78b063dc65bc -
|
par_shellcompletion 1eba455fe1456f03376f19255aed28d3 -
|
||||||
par_shellcompletion 2230e8ac0593f660fccd983596377613 -
|
par_shellcompletion 1ea63315f24ede14c1e8d93c1b64150a -
|
||||||
par_shellcompletion 2230e8ac0593f660fccd983596377613 -
|
par_shellcompletion 1ea63315f24ede14c1e8d93c1b64150a -
|
||||||
par_slow_pipe_regexp ### bug #53718: --pipe --regexp -N blocks
|
par_slow_pipe_regexp ### bug #53718: --pipe --regexp -N blocks
|
||||||
par_slow_pipe_regexp This should take a few ms, but took more than 2 hours
|
par_slow_pipe_regexp This should take a few ms, but took more than 2 hours
|
||||||
par_slow_pipe_regexp 0 1 1
|
par_slow_pipe_regexp 0 1 1
|
||||||
|
|
|
@ -1855,7 +1855,7 @@ SQLITE par_empty p_wrapper par_empty $SQLITE
|
||||||
SQLITE par_empty Do nothing: TBL99999 does not exist because it is not created
|
SQLITE par_empty Do nothing: TBL99999 does not exist because it is not created
|
||||||
SQLITE par_empty Exit=0
|
SQLITE par_empty Exit=0
|
||||||
SQLITE par_empty Exit=0
|
SQLITE par_empty Exit=0
|
||||||
SQLITE par_empty Parse error near line 1: no such table: TBL99999 (1)
|
SQLITE par_empty Parse error near line 1: no such table: TBL99999
|
||||||
SQLITE par_no_table p_wrapper par_no_table $SQLITE
|
SQLITE par_no_table p_wrapper par_no_table $SQLITE
|
||||||
SQLITE par_no_table bug #50018: --dburl without table dies
|
SQLITE par_no_table bug #50018: --dburl without table dies
|
||||||
SQLITE par_no_table 255
|
SQLITE par_no_table 255
|
||||||
|
|
|
@ -720,6 +720,7 @@ BASH_FUNC_replace_tmpdir%%
|
||||||
BASH_FUNC_run_once%%
|
BASH_FUNC_run_once%%
|
||||||
BASH_FUNC_run_test%%
|
BASH_FUNC_run_test%%
|
||||||
_
|
_
|
||||||
|
mysqlrootpass
|
||||||
qTMPDIR
|
qTMPDIR
|
||||||
qqTMPDIR
|
qqTMPDIR
|
||||||
testsuitedir
|
testsuitedir
|
||||||
|
@ -1061,16 +1062,19 @@ cat: num_%header: No such file or directory
|
||||||
/usr/bin/bash: line 2: foo: command not found
|
/usr/bin/bash: line 2: foo: command not found
|
||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
print "@ARGV\n"
|
print "@ARGV\n"
|
||||||
|
Warning: unknown mime-type for "@ARGV\n" -- using "application/octet-stream"
|
||||||
Error: no such file "@ARGV\n"
|
Error: no such file "@ARGV\n"
|
||||||
parallel perl_echo ::: foo bar
|
parallel perl_echo ::: foo bar
|
||||||
/usr/bin/bash: line 1: perl_echo: command not found
|
/usr/bin/bash: line 1: perl_echo: command not found
|
||||||
#!/usr/bin/parallel --shebang-wrap /usr/bin/perl
|
#!/usr/bin/parallel --shebang-wrap /usr/bin/perl
|
||||||
print "@ARGV\n"
|
print "@ARGV\n"
|
||||||
|
Warning: unknown mime-type for "@ARGV\n" -- using "application/octet-stream"
|
||||||
Error: no such file "@ARGV\n"
|
Error: no such file "@ARGV\n"
|
||||||
perl_echo foo bar
|
perl_echo foo bar
|
||||||
/usr/bin/bash: line 1: perl_echo: command not found
|
/usr/bin/bash: line 1: perl_echo: command not found
|
||||||
#!/usr/bin/parallel --shebang-wrap /usr/bin/perl
|
#!/usr/bin/parallel --shebang-wrap /usr/bin/perl
|
||||||
print "Arguments @ARGV\n";
|
print "Arguments @ARGV\n";
|
||||||
|
Warning: unknown mime-type for "Arguments @ARGV\n" -- using "application/octet-stream"
|
||||||
Error: no such file "Arguments @ARGV\n"
|
Error: no such file "Arguments @ARGV\n"
|
||||||
#!/usr/bin/parallel --shebang-wrap /usr/bin/python
|
#!/usr/bin/parallel --shebang-wrap /usr/bin/python
|
||||||
print 'Arguments', str(sys.argv)
|
print 'Arguments', str(sys.argv)
|
||||||
|
@ -1091,6 +1095,7 @@ Arguments
|
||||||
#!/usr/bin/parallel --shebang-wrap /usr/bin/ruby
|
#!/usr/bin/parallel --shebang-wrap /usr/bin/ruby
|
||||||
print "Arguments "
|
print "Arguments "
|
||||||
puts ARGV
|
puts ARGV
|
||||||
|
Warning: unknown mime-type for "Arguments " -- using "application/octet-stream"
|
||||||
Error: no such file "Arguments "
|
Error: no such file "Arguments "
|
||||||
/usr/bin/bash: line 4: puts: command not found
|
/usr/bin/bash: line 4: puts: command not found
|
||||||
#!/usr/bin/parallel --shebang-wrap /usr/bin/octave
|
#!/usr/bin/parallel --shebang-wrap /usr/bin/octave
|
||||||
|
@ -1201,7 +1206,7 @@ scientific publication, please cite:
|
||||||
|
|
||||||
author = {Tange, Ole},
|
author = {Tange, Ole},
|
||||||
|
|
||||||
year = 2023,
|
year = 2024,
|
||||||
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.}},
|
||||||
|
|
|
@ -3,28 +3,28 @@
|
||||||
134332 134332 940324
|
134332 134332 940324
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
centos8.localdomain
|
centos9s.localdomain
|
||||||
freebsd14.localdomain
|
freebsd14.localdomain
|
||||||
hostname; echo 1
|
hostname; echo 1
|
||||||
hostname; echo 1
|
hostname; echo 1
|
||||||
### Test $PARALLEL - multi line
|
### Test $PARALLEL - multi line
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
centos8.localdomain
|
centos9s.localdomain
|
||||||
freebsd14.localdomain
|
freebsd14.localdomain
|
||||||
hostname; echo 1
|
hostname; echo 1
|
||||||
hostname; echo 1
|
hostname; echo 1
|
||||||
### Test ~/.parallel/config - single line
|
### Test ~/.parallel/config - single line
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
centos8.localdomain
|
centos9s.localdomain
|
||||||
freebsd14.localdomain
|
freebsd14.localdomain
|
||||||
hostname; echo 1
|
hostname; echo 1
|
||||||
hostname; echo 1
|
hostname; echo 1
|
||||||
### Test ~/.parallel/config - multi line
|
### Test ~/.parallel/config - multi line
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
centos8.localdomain
|
centos9s.localdomain
|
||||||
freebsd14.localdomain
|
freebsd14.localdomain
|
||||||
hostname; echo 1
|
hostname; echo 1
|
||||||
hostname; echo 1
|
hostname; echo 1
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
par_nonall ### Test --nonall
|
par_nonall ### Test --nonall
|
||||||
par_nonall centos8.localdomain
|
par_nonall centos9s.localdomain
|
||||||
par_nonall freebsd13.localdomain
|
par_nonall freebsd13.localdomain
|
||||||
par_nonall_basefile ### Test --nonall --basefile
|
par_nonall_basefile ### Test --nonall --basefile
|
||||||
par_nonall_basefile /tmp/nonall--basefile
|
par_nonall_basefile /tmp/nonall--basefile
|
||||||
par_nonall_basefile /tmp/nonall--basefile
|
par_nonall_basefile /tmp/nonall--basefile
|
||||||
par_nonall_sshloginfile_stdin ### Test read sshloginfile from STDIN
|
par_nonall_sshloginfile_stdin ### Test read sshloginfile from STDIN
|
||||||
par_nonall_sshloginfile_stdin centos8.localdomain
|
par_nonall_sshloginfile_stdin centos9s.localdomain
|
||||||
par_nonall_sshloginfile_stdin centos8.localdomain
|
par_nonall_sshloginfile_stdin centos9s.localdomain
|
||||||
par_nonall_u ### Test --nonall -u - should be interleaved x y x y
|
par_nonall_u ### Test --nonall -u - should be interleaved x y x y
|
||||||
par_nonall_u 1 centos8.localdomain
|
par_nonall_u 1 centos9s.localdomain
|
||||||
par_nonall_u 1 centos8.localdomain
|
par_nonall_u 1 centos9s.localdomain
|
||||||
par_nonall_u 1 freebsd13.localdomain
|
par_nonall_u 1 freebsd13.localdomain
|
||||||
par_nonall_u 1 freebsd13.localdomain
|
par_nonall_u 1 freebsd13.localdomain
|
||||||
par_onall ### Test --onall
|
par_onall ### Test --onall
|
||||||
|
|
Loading…
Reference in a new issue