From eba8a4d13e6ec1e92b38e7b36dc6a65c85f691c9 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Mon, 22 Mar 2021 21:16:35 +0100 Subject: [PATCH] parallel: Partial Reuse licensing support. --- 10seconds_install | 36 +- Makefile.am | 20 + Makefile.in | 20 + NEWS | 37 ++ configure | 6 + doc/haikus | 5 +- doc/release_new_version | 60 ++- fdl.txt | 451 ---------------- src/env_parallel.ash | 5 +- src/env_parallel.bash | 5 +- src/env_parallel.csh | 3 + src/env_parallel.dash | 5 +- src/env_parallel.fish | 3 + src/env_parallel.ksh | 5 +- src/env_parallel.mksh | 5 +- src/env_parallel.pdksh | 3 + src/env_parallel.pod | 19 +- src/env_parallel.sh | 3 + src/env_parallel.tcsh | 3 + src/env_parallel.zsh | 5 +- src/niceload | 5 +- src/niceload.pod | 19 +- src/parallel.pod | 103 ++-- src/parallel_alternatives.pod | 635 +++++++++++++++++------ src/parallel_book.pod | 4 + src/parallel_design.pod | 4 + src/parallel_tutorial.pod | 7 +- src/parcat | 21 + src/parcat.pod | 19 +- src/parset | 3 + src/parset.pod | 19 +- src/parsort | 5 +- src/sem.pod | 19 +- src/sql | 38 +- testsuite/Makefile | 2 +- testsuite/tests-to-run/niceload01.sh | 4 + testsuite/tests-to-run/niceload02.sh | 4 + testsuite/tests-to-run/niceload03.sh | 4 + testsuite/tests-to-run/niceload04.sh | 4 + testsuite/tests-to-run/parallel-android.sh | 4 + testsuite/tests-to-run/parallel-centos3.sh | 4 + testsuite/tests-to-run/parallel-freebsd.sh | 4 + testsuite/tests-to-run/parallel-install.sh | 4 + testsuite/tests-to-run/parallel-local-0.3s.sh | 4 + testsuite/tests-to-run/parallel-local-100s.sh | 4 + testsuite/tests-to-run/parallel-local-10s.sh | 4 + testsuite/tests-to-run/parallel-local-1s.sh | 4 + testsuite/tests-to-run/parallel-local-300s.sh | 4 + testsuite/tests-to-run/parallel-local-30s.sh | 4 + testsuite/tests-to-run/parallel-local-3s.sh | 5 + testsuite/tests-to-run/parallel-local-load.sh | 4 + testsuite/tests-to-run/parallel-local-mem.sh | 4 + testsuite/tests-to-run/parallel-local-parsort.sh | 4 + testsuite/tests-to-run/parallel-local-race01.sh | 4 + testsuite/tests-to-run/parallel-local-race02.sh | 4 + testsuite/tests-to-run/parallel-local-sql.sh | 4 + testsuite/tests-to-run/parallel-local-sql01.sh | 4 + testsuite/tests-to-run/parallel-local-sql02.sh | 4 + testsuite/tests-to-run/parallel-local-ssh1.sh | 4 + testsuite/tests-to-run/parallel-local-ssh2.sh | 4 + testsuite/tests-to-run/parallel-local-ssh3.sh | 4 + testsuite/tests-to-run/parallel-local-ssh4.sh | 4 + testsuite/tests-to-run/parallel-local-ssh5.sh | 4 + testsuite/tests-to-run/parallel-local-ssh6.sh | 4 + testsuite/tests-to-run/parallel-local-ssh7.sh | 4 + testsuite/tests-to-run/parallel-local-ssh8.sh | 4 + testsuite/tests-to-run/parallel-local-ssh9.sh | 4 + testsuite/tests-to-run/parallel-local-utf8.sh | 22 +- testsuite/tests-to-run/parallel-local1.sh | 4 + testsuite/tests-to-run/parallel-local10.sh | 4 + testsuite/tests-to-run/parallel-local104.sh | 4 + testsuite/tests-to-run/parallel-local105.sh | 4 + testsuite/tests-to-run/parallel-local108.sh | 5 +- testsuite/tests-to-run/parallel-local114.sh | 4 + testsuite/tests-to-run/parallel-local12.sh | 4 + testsuite/tests-to-run/parallel-local129.sh | 3 + testsuite/tests-to-run/parallel-local13.sh | 4 + testsuite/tests-to-run/parallel-local14.sh | 4 + testsuite/tests-to-run/parallel-local140.sh | 3 + testsuite/tests-to-run/parallel-local15.sh | 4 + testsuite/tests-to-run/parallel-local150.sh | 4 + testsuite/tests-to-run/parallel-local152.sh | 4 + testsuite/tests-to-run/parallel-local154.sh | 4 +- testsuite/tests-to-run/parallel-local157.sh | 3 + testsuite/tests-to-run/parallel-local164.sh | 4 + testsuite/tests-to-run/parallel-local18.sh | 4 + testsuite/tests-to-run/parallel-local19.sh | 3 + testsuite/tests-to-run/parallel-local2.sh | 4 + testsuite/tests-to-run/parallel-local20.sh | 4 + testsuite/tests-to-run/parallel-local21.sh | 3 + testsuite/tests-to-run/parallel-local22.sh | 4 + testsuite/tests-to-run/parallel-local23.sh | 4 + testsuite/tests-to-run/parallel-local4.sh | 5 + testsuite/tests-to-run/parallel-local5.sh | 4 + testsuite/tests-to-run/parallel-local6.sh | 3 + testsuite/tests-to-run/parallel-local7.sh | 4 + testsuite/tests-to-run/parallel-local8.sh | 4 + testsuite/tests-to-run/parallel-local9.sh | 4 + testsuite/tests-to-run/parallel-localhost1.sh | 4 + testsuite/tests-to-run/parallel-macos.sh | 4 + testsuite/tests-to-run/parallel-polarhome.sh | 4 + testsuite/tests-to-run/parallel-remote1.sh | 4 + testsuite/tests-to-run/parallel-tutorial.sh | 4 + testsuite/tests-to-run/parallel-virtualbox1.sh | 4 + testsuite/tests-to-run/parsort-local-01.sh | 4 + testsuite/tests-to-run/sem01.sh | 4 + testsuite/tests-to-run/sem02.sh | 4 + testsuite/tests-to-run/sql01.sh | 4 + testsuite/tests-to-run/sql02.sh | 4 + testsuite/tests-to-run/sql03.sh | 4 + testsuite/tests-to-run/test13.sh | 4 + testsuite/tests-to-run/test15.sh | 4 + testsuite/tests-to-run/test17.sh | 4 + testsuite/tests-to-run/test18.sh | 4 + testsuite/tests-to-run/test19.sh | 4 + testsuite/tests-to-run/test21.sh | 4 + testsuite/tests-to-run/test23.sh | 4 + testsuite/tests-to-run/test30.sh | 4 + testsuite/tests-to-run/test32.sh | 3 + testsuite/tests-to-run/test35.sh | 4 + testsuite/tests-to-run/test36.sh | 4 + testsuite/tests-to-run/test37.sh | 4 + testsuite/tests-to-run/test41.sh | 4 + testsuite/tests-to-run/test45.sh | 4 + testsuite/tests-to-run/test46.sh | 4 + testsuite/tests-to-run/test47.sh | 4 + testsuite/tests-to-run/test60.sh | 4 + testsuite/tests-to-run/test61.sh | 4 + testsuite/vagrant/setup.sh | 4 + testsuite/wanted-results/parallel-local-3s | 42 +- 130 files changed, 1270 insertions(+), 764 deletions(-) delete mode 100644 fdl.txt diff --git a/10seconds_install b/10seconds_install index e05d7a07..b89312ad 100644 --- a/10seconds_install +++ b/10seconds_install @@ -2,13 +2,6 @@ true <<'EOF'

- Copyright (C) 2013-2020 Ole Tange and Free Software Foundation, Inc. -

- This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 3 of - the License, or (at your option) any later version. -

This script downloads the latest version of GNU Parallel, checks the signature and installs it. @@ -33,6 +26,15 @@ true <<'EOF'



EOF +# SPDX-FileCopyrightText: 2013-2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of +# the License, or (at your option) any later version. + run() { # FreeBSD prefers 'fetch', MacOS prefers 'curl', Linux prefers 'wget' get=$( @@ -43,11 +45,11 @@ run() { echo 'No lynx, wget, curl, fetch: Please inform parallel@gnu.org what you use for downloading URLs' >&2 ) if test "$get" = ""; then - exit 1 + exit 1 fi if ! perl -e 1; then - echo No perl installed. GNU Parallel depends on perl. Install perl and retry. + echo No perl installed. GNU Parallel depends on perl. Install perl and retry. exit 1 fi @@ -66,7 +68,7 @@ run() { if gpg -h 2>/dev/null >/dev/null ; then # GnuPG installed # Setup .gnupg/gpg.conf if not already done - echo | gpg 2>/dev/null >/dev/null + echo | gpg 2>/dev/null >/dev/null if gpg --list-keys 0xFFFFFFF1 && gpg --list-keys 0x88888888 ; then echo Keys fetched # OK @@ -90,12 +92,12 @@ run() { echo "Cannot fetch keyID 0xFFFFFFF1, so the signature cannot be checked." return 1 fi - fi + fi else # GnuPG not installed echo echo "GnuPG (gpg) is not installed so the signature cannot be checked." - return 1 + return 1 fi } @@ -104,7 +106,7 @@ run() { if gpg --with-fingerprint "$latest".tar.bz2.sig 2>&1 | perl -e 'exit not grep /^Primary key fingerprint: BE9C B493 81DE 3166 A3BC 66C1 2C62 29E2 FFFF FFF1|^Primary key fingerprint: CDA0 1A42 08C4 F745 0610 7E7B D1AB 4516 8888 8888/, <>'; then # Source code signed by Ole Tange - # KeyID FFFFFFF1/88888888 + # KeyID FFFFFFF1/88888888 true else # GnuPG signature failed @@ -116,17 +118,17 @@ run() { exit 1 fi else - # GnuPG not installed or public keys not downloaded + # GnuPG not installed or public keys not downloaded echo "This means that if the code has been changed by criminals, you will not discover that!" echo - echo "Continue anyway? (y/n)" + echo "Continue anyway? (y/n)" read YN > "$HOME"/.bashrc echo 'setenv MANPATH ${MANPATH}:${HOME}/share/man' >> "$HOME"/.cshrc - fi + fi fi } diff --git a/Makefile.am b/Makefile.am index 70da1c35..ed4179a2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2002-2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SUBDIRS = src test: @@ -119,6 +123,22 @@ monitorman: # If man page changed: open new pdfman inotifywait -qmre MOVED_TO -e CLOSE_WRITE --format %w%f . | parallel -uj1 'echo {=/\.pod$$/ or skip()=};make -j && sudo make install; pdfman {/.} &' +reuse: + rm -rf /tmp/reuse + mkdir /tmp/reuse + git commit -a -m dummy + (wd=`pwd`; \ + cd /tmp/reuse; \ + git clone "$$wd"; \ + reuse lint || \ + (echo Use; \ + echo ' reuse addheader --copyright="Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc." --license="GPL-3.0-or-later" source-files'; \ + echo or; \ + echo ' reuse addheader --copyright="Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc." --license="GPL-3.0-or-later" --explicit-license bin-files' \ + ) ) + git reset HEAD~ >/dev/null + git commit -c ORIG_HEAD >/dev/null + testurls: mkdir -p urls cd urls && grep -v '(dead)' ../src/* | grep -h -Po 'https?://[^ $$<>")}]+' | perl -pe 's/(>|\{).*//;s/\\-/-/g;s/\\n//g;s/&/&/g;s/&#.*//;'"s/'.*//" | grep -Ev 'parallel-(20)?$$|coolwebsite.biz' | sort -u | egrep -v 'example.com|##|\*\(' | parallel -j0 --timeout 33 --bar --tag --joblog joblog --retries 3 neno wget -m -l1 -Q1 '{=$$_=Q($$_)=}' diff --git a/Makefile.in b/Makefile.in index d53da25d..95fd5ca9 100644 --- a/Makefile.in +++ b/Makefile.in @@ -13,6 +13,10 @@ # PARTICULAR PURPOSE. @SET_MAKE@ + +# SPDX-FileCopyrightText: 2002-2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ @@ -870,6 +874,22 @@ monitorman: # If man page changed: open new pdfman inotifywait -qmre MOVED_TO -e CLOSE_WRITE --format %w%f . | parallel -uj1 'echo {=/\.pod$$/ or skip()=};make -j && sudo make install; pdfman {/.} &' +reuse: + rm -rf /tmp/reuse + mkdir /tmp/reuse + git commit -a -m dummy + (wd=`pwd`; \ + cd /tmp/reuse; \ + git clone "$$wd"; \ + reuse lint || \ + (echo Use; \ + echo ' reuse addheader --copyright="Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc." --license="GPL-3.0-or-later" source-files'; \ + echo or; \ + echo ' reuse addheader --copyright="Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc." --license="GPL-3.0-or-later" --explicit-license bin-files' \ + ) ) + git reset HEAD~ >/dev/null + git commit -c ORIG_HEAD >/dev/null + testurls: mkdir -p urls cd urls && grep -v '(dead)' ../src/* | grep -h -Po 'https?://[^ $$<>")}]+' | perl -pe 's/(>|\{).*//;s/\\-/-/g;s/\\n//g;s/&/&/g;s/&#.*//;'"s/'.*//" | grep -Ev 'parallel-(20)?$$|coolwebsite.biz' | sort -u | egrep -v 'example.com|##|\*\(' | parallel -j0 --timeout 33 --bar --tag --joblog joblog --retries 3 neno wget -m -l1 -Q1 '{=$$_=Q($$_)=}' diff --git a/NEWS b/NEWS index d6c0e914..d145d701 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,40 @@ +20210322 + +* Bug fixes and man page updates. + +News about GNU Parallel: + +* The very first version of Parallel dated 2002-01-06 was found in an + old backup: + + #!/usr/bin/perl + + $processes=shift; + + chomp(@jobs=<>); + for (@jobs) { + $jobnr++; + push @makefile, + (".PHONY : job$jobnr\n", + "job$jobnr :\n", + "\t$_\n"); + } + unshift @makefile, "all : ",(map { "job$_ " } 1 .. $jobnr),"\n"; + + open (MAKE, "| make -k -f - -j $processes") || die; + print MAKE @makefile; + close MAKE; + +* Introduction to GNU Parallel + https://www.youtube.com/watch?v=Kj-6JkAqw-8 + +* Using GNU Parallel with GooseSLURM + https://readthedocs.org/projects/gooseslurm/downloads/pdf/latest/#chapter.7 + +* Why GNU-parallel? + https://github.com/lijingbu/omics/blob/main/why_gnu_parallel.md + + 20210222 * --filter only run jobs where the filter is true. The filter can diff --git a/configure b/configure index a93a45e5..48ce14a0 100755 --- a/configure +++ b/configure @@ -10,6 +10,12 @@ # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + + ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## diff --git a/doc/haikus b/doc/haikus index f6d571ca..1a63c48d 100644 --- a/doc/haikus +++ b/doc/haikus @@ -121,7 +121,10 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html === Used === - GNU Parallel is a priceless timesaver + GNU Parallel is my new favorite thing + -- Will Tejeda @thewilltejeda + +GNU Parallel is a priceless timesaver -- June "Wakalix" @TWakalix@twitter I think many people would be surprised to learn that GNU parallel is diff --git a/doc/release_new_version b/doc/release_new_version index fe1ac5e8..f0617691 100644 --- a/doc/release_new_version +++ b/doc/release_new_version @@ -98,7 +98,8 @@ cp src/parallel.html ../parallel-web/parallel/man.html pushd ../parallel-web/parallel # Bug at Savannah makes this take 30 seconds -(cd ..; cvs -z3 -d:ext:tange@cvs.savannah.gnu.org:/web/parallel co parallel) +(cd ..; + torsocks cvs -z3 -d:ext:tange@cvs.savannah.gnu.org:/web/parallel co parallel) torsocks cvs up torsocks cvs ci -m "New release" pushd @@ -148,6 +149,12 @@ Modified => alpha make testurls +== Check REUSE == + +make reuse + +https://api.reuse.software/info/git.savannah.gnu.org/git/parallel +https://api.reuse.software/status/git.savannah.gnu.org/git/parallel == Update Savannah == @@ -194,9 +201,9 @@ from:tange@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org stable-bcc: Jesse Alama -Subject: GNU Parallel 20210222 ('AngSangSuKyi<<>>') released <<[stable]>> +Subject: GNU Parallel 20210322 ('Sarkozy/Sarah Everard/AstraZeneca/ Meghan<<>>') released <<[stable]>> -GNU Parallel 20210222 ('') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/ +GNU Parallel 20210322 ('2002-01-06') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/ <> @@ -206,43 +213,42 @@ It does not have to be as detailed as Juan's. It is perfectly fine if you just s Quote of the month: - GNU Parallel is a priceless timesaver - -- June "Wakalix" @TWakalix@twitter - + GNU Parallel is my new favorite thing + -- Will Tejeda @thewilltejeda New in this release: -* --filter only run jobs where the filter is true. The filter can contain replacement strings and Perl code such as: '{1} < {2}+1' - -* --template takes a text file as a template with replacement strings. Then it replaces the replacement strings and saves it under a new filename. - -* --plus implements {0%} {0#} replacement string for zero padded slot and sequence. - -* Warn that you probably mean -d '\r\n' if the first 3 values end in \r\n (DOS newline). - -* {= perlexpression =} must return the same value, if run twice on the same input. - -* Man pages available as .rst-format. - * Bug fixes and man page updates. News about GNU Parallel: -* A short tutorial on Gnu Parallel https://www.polarmicrobes.org/a-short-tutorial-on-gnu-parallel/ +* The very first version of Parallel dated 2002-01-06 was found in an + old backup: -* 5 reasons why I love coding on Linux https://opensource.com/article/21/2/linux-programming + #!/usr/bin/perl -* Simple Tutorial to install & use GNU Parallel https://medium.com/analytics-vidhya/simple-tutorial-to-install-use-gnu-parallel-79251120d618 + $processes=shift; -* LiDO3 - first contact https://www.lido.tu-dortmund.de/cms/de/LiDO3/LiDO3_first_contact_handout.pdf - -* Rill Stage 2-1: Ways of command-line data analysis https://blog.jastix.biz/post/rill-stage-2-1-cli-data-analysis/ + chomp(@jobs=<>); + for (@jobs) { + $jobnr++; + push @makefile, + (".PHONY : job$jobnr\n", + "job$jobnr :\n", + "\t$_\n"); + } + unshift @makefile, "all : ",(map { "job$_ " } 1 .. $jobnr),"\n"; + + open (MAKE, "| make -k -f - -j $processes") || die; + print MAKE @makefile; + close MAKE; -* Introduction to GNU Parallel https://blog.knoldus.com/introduction-to-gnu-parallel/ +* Introduction to GNU Parallel https://www.youtube.com/watch?v=Kj-6JkAqw-8 -* GNU Parallel https://www.hahwul.com/cullinan/parallel/ +* Using GNU Parallel with GooseSLURM https://readthedocs.org/projects/gooseslurm/downloads/pdf/latest/#chapter.7 -* <<>> +* Why GNU-parallel? + https://github.com/lijingbu/omics/blob/main/why_gnu_parallel.md Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html diff --git a/fdl.txt b/fdl.txt deleted file mode 100644 index 2f7e03ca..00000000 --- a/fdl.txt +++ /dev/null @@ -1,451 +0,0 @@ - - GNU Free Documentation License - Version 1.3, 3 November 2008 - - - Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -0. PREAMBLE - -The purpose of this License is to make a manual, textbook, or other -functional and useful document "free" in the sense of freedom: to -assure everyone the effective freedom to copy and redistribute it, -with or without modifying it, either commercially or noncommercially. -Secondarily, this License preserves for the author and publisher a way -to get credit for their work, while not being considered responsible -for modifications made by others. - -This License is a kind of "copyleft", which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. - -We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. - - -1. APPLICABILITY AND DEFINITIONS - -This License applies to any manual or other work, in any medium, that -contains a notice placed by the copyright holder saying it can be -distributed under the terms of this License. Such a notice grants a -world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The "Document", below, -refers to any such manual or work. Any member of the public is a -licensee, and is addressed as "you". You accept the license if you -copy, modify or distribute the work in a way requiring permission -under copyright law. - -A "Modified Version" of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. - -A "Secondary Section" is a named appendix or a front-matter section of -the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document's overall -subject (or to related matters) and contains nothing that could fall -directly within that overall subject. (Thus, if the Document is in -part a textbook of mathematics, a Secondary Section may not explain -any mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. - -The "Invariant Sections" are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. If a -section does not fit the above definition of Secondary then it is not -allowed to be designated as Invariant. The Document may contain zero -Invariant Sections. If the Document does not identify any Invariant -Sections then there are none. - -The "Cover Texts" are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. A Front-Cover Text may -be at most 5 words, and a Back-Cover Text may be at most 25 words. - -A "Transparent" copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup, or absence of markup, has been arranged to thwart -or discourage subsequent modification by readers is not Transparent. -An image format is not Transparent if used for any substantial amount -of text. A copy that is not "Transparent" is called "Opaque". - -Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, LaTeX input format, SGML -or XML using a publicly available DTD, and standard-conforming simple -HTML, PostScript or PDF designed for human modification. Examples of -transparent image formats include PNG, XCF and JPG. Opaque formats -include proprietary formats that can be read and edited only by -proprietary word processors, SGML or XML for which the DTD and/or -processing tools are not generally available, and the -machine-generated HTML, PostScript or PDF produced by some word -processors for output purposes only. - -The "Title Page" means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, "Title Page" means -the text near the most prominent appearance of the work's title, -preceding the beginning of the body of the text. - -The "publisher" means any person or entity that distributes copies of -the Document to the public. - -A section "Entitled XYZ" means a named subunit of the Document whose -title either is precisely XYZ or contains XYZ in parentheses following -text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as "Acknowledgements", -"Dedications", "Endorsements", or "History".) To "Preserve the Title" -of such a section when you modify the Document means that it remains a -section "Entitled XYZ" according to this definition. - -The Document may include Warranty Disclaimers next to the notice which -states that this License applies to the Document. These Warranty -Disclaimers are considered to be included by reference in this -License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and has -no effect on the meaning of this License. - -2. VERBATIM COPYING - -You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no -other conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. - -You may also lend copies, under the same conditions stated above, and -you may publicly display copies. - - -3. COPYING IN QUANTITY - -If you publish printed copies (or copies in media that commonly have -printed covers) of the Document, numbering more than 100, and the -Document's license notice requires Cover Texts, you must enclose the -copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. - -If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. - -If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a computer-network location from which the general network-using -public has access to download using public-standard network protocols -a complete Transparent copy of the Document, free of added material. -If you use the latter option, you must take reasonably prudent steps, -when you begin distribution of Opaque copies in quantity, to ensure -that this Transparent copy will remain thus accessible at the stated -location until at least one year after the last time you distribute an -Opaque copy (directly or through your agents or retailers) of that -edition to the public. - -It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to -give them a chance to provide you with an updated version of the -Document. - - -4. MODIFICATIONS - -You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: - -A. Use in the Title Page (and on the covers, if any) a title distinct - from that of the Document, and from those of previous versions - (which should, if there were any, be listed in the History section - of the Document). You may use the same title as a previous version - if the original publisher of that version gives permission. -B. List on the Title Page, as authors, one or more persons or entities - responsible for authorship of the modifications in the Modified - Version, together with at least five of the principal authors of the - Document (all of its principal authors, if it has fewer than five), - unless they release you from this requirement. -C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. -D. Preserve all the copyright notices of the Document. -E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. -F. Include, immediately after the copyright notices, a license notice - giving the public permission to use the Modified Version under the - terms of this License, in the form shown in the Addendum below. -G. Preserve in that license notice the full lists of Invariant Sections - and required Cover Texts given in the Document's license notice. -H. Include an unaltered copy of this License. -I. Preserve the section Entitled "History", Preserve its Title, and add - to it an item stating at least the title, year, new authors, and - publisher of the Modified Version as given on the Title Page. If - there is no section Entitled "History" in the Document, create one - stating the title, year, authors, and publisher of the Document as - given on its Title Page, then add an item describing the Modified - Version as stated in the previous sentence. -J. Preserve the network location, if any, given in the Document for - public access to a Transparent copy of the Document, and likewise - the network locations given in the Document for previous versions - it was based on. These may be placed in the "History" section. - You may omit a network location for a work that was published at - least four years before the Document itself, or if the original - publisher of the version it refers to gives permission. -K. For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the section all - the substance and tone of each of the contributor acknowledgements - and/or dedications given therein. -L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section titles. -M. Delete any section Entitled "Endorsements". Such a section - may not be included in the Modified Version. -N. Do not retitle any existing section to be Entitled "Endorsements" - or to conflict in title with any Invariant Section. -O. Preserve any Warranty Disclaimers. - -If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version's license notice. -These titles must be distinct from any other section titles. - -You may add a section Entitled "Endorsements", provided it contains -nothing but endorsements of your Modified Version by various -parties--for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. - -You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. - -The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. - - -5. COMBINING DOCUMENTS - -You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice, and that you preserve all their Warranty Disclaimers. - -The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. - -In the combination, you must combine any sections Entitled "History" -in the various original documents, forming one section Entitled -"History"; likewise combine any sections Entitled "Acknowledgements", -and any sections Entitled "Dedications". You must delete all sections -Entitled "Endorsements". - - -6. COLLECTIONS OF DOCUMENTS - -You may make a collection consisting of the Document and other -documents released under this License, and replace the individual -copies of this License in the various documents with a single copy -that is included in the collection, provided that you follow the rules -of this License for verbatim copying of each of the documents in all -other respects. - -You may extract a single document from such a collection, and -distribute it individually under this License, provided you insert a -copy of this License into the extracted document, and follow this -License in all other respects regarding verbatim copying of that -document. - - -7. AGGREGATION WITH INDEPENDENT WORKS - -A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, is called an "aggregate" if the copyright -resulting from the compilation is not used to limit the legal rights -of the compilation's users beyond what the individual works permit. -When the Document is included in an aggregate, this License does not -apply to the other works in the aggregate which are not themselves -derivative works of the Document. - -If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half of -the entire aggregate, the Document's Cover Texts may be placed on -covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic form. -Otherwise they must appear on printed covers that bracket the whole -aggregate. - - -8. TRANSLATION - -Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License, and all the license notices in the -Document, and any Warranty Disclaimers, provided that you also include -the original English version of this License and the original versions -of those notices and disclaimers. In case of a disagreement between -the translation and the original version of this License or a notice -or disclaimer, the original version will prevail. - -If a section in the Document is Entitled "Acknowledgements", -"Dedications", or "History", the requirement (section 4) to Preserve -its Title (section 1) will typically require changing the actual -title. - - -9. TERMINATION - -You may not copy, modify, sublicense, or distribute the Document -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, or distribute it is void, and -will automatically terminate your rights under this License. - -However, if you cease all violation of this License, then your license -from a particular copyright holder is reinstated (a) provisionally, -unless and until the copyright holder explicitly and finally -terminates your license, and (b) permanently, if the copyright holder -fails to notify you of the violation by some reasonable means prior to -60 days after the cessation. - -Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - -Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, receipt of a copy of some or all of the same material does -not give you any rights to use it. - - -10. FUTURE REVISIONS OF THIS LICENSE - -The Free Software Foundation may publish new, revised versions of the -GNU Free Documentation License from time to time. Such new versions -will be similar in spirit to the present version, but may differ in -detail to address new problems or concerns. See -http://www.gnu.org/copyleft/. - -Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License "or any later version" applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. If the Document -specifies that a proxy can decide which future versions of this -License can be used, that proxy's public statement of acceptance of a -version permanently authorizes you to choose that version for the -Document. - -11. RELICENSING - -"Massive Multiauthor Collaboration Site" (or "MMC Site") means any -World Wide Web server that publishes copyrightable works and also -provides prominent facilities for anybody to edit those works. A -public wiki that anybody can edit is an example of such a server. A -"Massive Multiauthor Collaboration" (or "MMC") contained in the site -means any set of copyrightable works thus published on the MMC site. - -"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 -license published by Creative Commons Corporation, a not-for-profit -corporation with a principal place of business in San Francisco, -California, as well as future copyleft versions of that license -published by that same organization. - -"Incorporate" means to publish or republish a Document, in whole or in -part, as part of another Document. - -An MMC is "eligible for relicensing" if it is licensed under this -License, and if all works that were first published under this License -somewhere other than this MMC, and subsequently incorporated in whole or -in part into the MMC, (1) had no cover texts or invariant sections, and -(2) were thus incorporated prior to November 1, 2008. - -The operator of an MMC Site may republish an MMC contained in the site -under CC-BY-SA on the same site at any time before August 1, 2009, -provided the MMC is eligible for relicensing. - - -ADDENDUM: How to use this License for your documents - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: - - Copyright (c) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. - A copy of the license is included in the section entitled "GNU - Free Documentation License". - -If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the "with...Texts." line with this: - - with the Invariant Sections being LIST THEIR TITLES, with the - Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. - -If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - -If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. diff --git a/src/env_parallel.ash b/src/env_parallel.ash index 7cd6efde..636be35e 100755 --- a/src/env_parallel.ash +++ b/src/env_parallel.ash @@ -24,6 +24,9 @@ # along with this program; if not, see # or write to the Free Software Foundation, Inc., 51 Franklin St, # Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later env_parallel() { # based on env_parallel.sh @@ -382,7 +385,7 @@ _parset_main() { return 255 fi if [ "$_parset_NAME" = "--version" ] ; then - echo "parset 20210222 (GNU parallel `parallel --minversion 1`)" + echo "parset 20210223 (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 " diff --git a/src/env_parallel.bash b/src/env_parallel.bash index 48cd5407..d8bae9ef 100755 --- a/src/env_parallel.bash +++ b/src/env_parallel.bash @@ -24,6 +24,9 @@ # along with this program; if not, see # or write to the Free Software Foundation, Inc., 51 Franklin St, # Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later env_parallel() { # env_parallel.bash @@ -384,7 +387,7 @@ _parset_main() { return 255 fi if [ "$_parset_NAME" = "--version" ] ; then - echo "parset 20210222 (GNU parallel `parallel --minversion 1`)" + echo "parset 20210223 (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 " diff --git a/src/env_parallel.csh b/src/env_parallel.csh index 8e2ea262..167ff595 100755 --- a/src/env_parallel.csh +++ b/src/env_parallel.csh @@ -24,6 +24,9 @@ # along with this program; if not, see # or write to the Free Software Foundation, Inc., 51 Franklin St, # Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later set _parallel_exit_CODE=0 if ("`alias env_parallel`" == '' || ! $?PARALLEL_CSH) then diff --git a/src/env_parallel.dash b/src/env_parallel.dash index 34be66ee..a9de94ef 100755 --- a/src/env_parallel.dash +++ b/src/env_parallel.dash @@ -24,6 +24,9 @@ # along with this program; if not, see # or write to the Free Software Foundation, Inc., 51 Franklin St, # Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later env_parallel() { # based on env_parallel.sh @@ -382,7 +385,7 @@ _parset_main() { return 255 fi if [ "$_parset_NAME" = "--version" ] ; then - echo "parset 20210222 (GNU parallel `parallel --minversion 1`)" + echo "parset 20210223 (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 " diff --git a/src/env_parallel.fish b/src/env_parallel.fish index fcc8a7f5..c9009f6b 100755 --- a/src/env_parallel.fish +++ b/src/env_parallel.fish @@ -24,6 +24,9 @@ # along with this program; if not, see # or write to the Free Software Foundation, Inc., 51 Franklin St, # Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later # If you are a fisherman feel free to improve the code # diff --git a/src/env_parallel.ksh b/src/env_parallel.ksh index 7f0dabd6..9db5cc4a 100755 --- a/src/env_parallel.ksh +++ b/src/env_parallel.ksh @@ -24,6 +24,9 @@ # along with this program; if not, see # or write to the Free Software Foundation, Inc., 51 Franklin St, # Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later env_parallel() { # env_parallel.ksh @@ -365,7 +368,7 @@ _parset_main() { return 255 fi if [ "$_parset_NAME" = "--version" ] ; then - echo "parset 20210222 (GNU parallel `parallel --minversion 1`)" + echo "parset 20210223 (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 " diff --git a/src/env_parallel.mksh b/src/env_parallel.mksh index 5ac423a9..025101d1 100644 --- a/src/env_parallel.mksh +++ b/src/env_parallel.mksh @@ -24,6 +24,9 @@ # along with this program; if not, see # or write to the Free Software Foundation, Inc., 51 Franklin St, # Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later env_parallel() { # env_parallel.mksh @@ -368,7 +371,7 @@ _parset_main() { return 255 fi if [ "$_parset_NAME" = "--version" ] ; then - echo "parset 20210222 (GNU parallel `parallel --minversion 1`)" + echo "parset 20210223 (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 " diff --git a/src/env_parallel.pdksh b/src/env_parallel.pdksh index 71ed6e0d..43b479fd 100755 --- a/src/env_parallel.pdksh +++ b/src/env_parallel.pdksh @@ -24,6 +24,9 @@ # along with this program; if not, see # or write to the Free Software Foundation, Inc., 51 Franklin St, # Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later env_parallel() { # env_parallel.pdksh diff --git a/src/env_parallel.pod b/src/env_parallel.pod index 8da85bf6..57c7d54b 100644 --- a/src/env_parallel.pod +++ b/src/env_parallel.pod @@ -1,5 +1,9 @@ #!/usr/bin/perl -w +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GFDL-1.3-or-later +# SPDX-License-Identifier: CC-BY-SA-4.0 + =encoding utf8 =head1 NAME @@ -824,11 +828,13 @@ along with this program. If not, see . =head2 Documentation license I -Permission is granted to copy, distribute and/or modify this documentation -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the file fdl.txt. +Permission is granted to copy, distribute and/or modify this +documentation under the terms of the GNU Free Documentation License, +Version 1.3 or any later version published by the Free Software +Foundation; with no Invariant Sections, with no Front-Cover Texts, and +with no Back-Cover Texts. A copy of the license is included in the +file LICENSES/GFDL-1.3-or-later.txt. + =head2 Documentation license II @@ -911,7 +917,8 @@ license terms of this work. =back -A copy of the full license is included in the file as cc-by-sa.txt. +A copy of the full license is included in the file as +LICENCES/CC-BY-SA-4.0.txt =head1 DEPENDENCIES diff --git a/src/env_parallel.sh b/src/env_parallel.sh index 103078a7..47b7728a 100755 --- a/src/env_parallel.sh +++ b/src/env_parallel.sh @@ -24,6 +24,9 @@ # along with this program; if not, see # or write to the Free Software Foundation, Inc., 51 Franklin St, # Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later env_parallel() { # env_parallel.sh diff --git a/src/env_parallel.tcsh b/src/env_parallel.tcsh index 4e96b4ba..9e6b908d 100755 --- a/src/env_parallel.tcsh +++ b/src/env_parallel.tcsh @@ -24,6 +24,9 @@ # along with this program; if not, see # or write to the Free Software Foundation, Inc., 51 Franklin St, # Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later set _parallel_exit_CODE=0 if ("`alias env_parallel`" == '' || ! $?PARALLEL_CSH) then diff --git a/src/env_parallel.zsh b/src/env_parallel.zsh index 2ef1d169..88cbd9a9 100755 --- a/src/env_parallel.zsh +++ b/src/env_parallel.zsh @@ -24,6 +24,9 @@ # along with this program; if not, see # or write to the Free Software Foundation, Inc., 51 Franklin St, # Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later env_parallel() { # env_parallel.zsh @@ -359,7 +362,7 @@ _parset_main() { return 255 fi if [ "$_parset_NAME" = "--version" ] ; then - echo "parset 20210222 (GNU parallel `parallel --minversion 1`)" + echo "parset 20210223 (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 " diff --git a/src/niceload b/src/niceload index 9a7a89b1..2325231d 100755 --- a/src/niceload +++ b/src/niceload @@ -19,11 +19,14 @@ # along with this program; if not, see # or write to the Free Software Foundation, Inc., 51 Franklin St, # Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later use strict; use Getopt::Long; $Global::progname="niceload"; -$Global::version = 20210222; +$Global::version = 20210223; Getopt::Long::Configure("bundling","require_order"); get_options_from_array(\@ARGV) || die_usage(); if($opt::version) { diff --git a/src/niceload.pod b/src/niceload.pod index 4af07ca0..2849fee8 100644 --- a/src/niceload.pod +++ b/src/niceload.pod @@ -1,5 +1,9 @@ #!/usr/bin/perl -w +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GFDL-1.3-or-later +# SPDX-License-Identifier: CC-BY-SA-4.0 + =head1 NAME niceload - slow down a program when the load average is above a certain limit @@ -325,11 +329,12 @@ along with this program. If not, see . =head2 Documentation license I -Permission is granted to copy, distribute and/or modify this documentation -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the file fdl.txt. +Permission is granted to copy, distribute and/or modify this +documentation under the terms of the GNU Free Documentation License, +Version 1.3 or any later version published by the Free Software +Foundation; with no Invariant Sections, with no Front-Cover Texts, and +with no Back-Cover Texts. A copy of the license is included in the +file LICENSES/GFDL-1.3-or-later.txt. =head2 Documentation license II @@ -412,7 +417,9 @@ license terms of this work. =back -A copy of the full license is included in the file as cc-by-sa.txt. +A copy of the full license is included in the file as +LICENCES/CC-BY-SA-4.0.txt + =head1 DEPENDENCIES diff --git a/src/parallel.pod b/src/parallel.pod index 90511097..65ae897a 100644 --- a/src/parallel.pod +++ b/src/parallel.pod @@ -1,5 +1,9 @@ #!/usr/bin/perl -w +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GFDL-1.3-or-later +# SPDX-License-Identifier: CC-BY-SA-4.0 + =encoding utf8 =head1 NAME @@ -299,7 +303,7 @@ directory (if any) and extension removed. To understand positional replacement strings see B<{>IB<}>. -=item B<{=>IB<=}> (alpha testing) +=item B<{=>IB<=}> (beta testing) Replace with calculated I. B<$_> will contain the same as B<{}>. After evaluating I B<$_> will be used @@ -869,7 +873,7 @@ Implies B<--pipe> unless B<--pipepart> is used. See also: B<--cat>. -=item B<--filter> I (alpha testing) +=item B<--filter> I (beta testing) Only run jobs where I is true. I can contain replacement strings and Perl code. Example: @@ -1107,9 +1111,9 @@ B<--header :> is an alias for B<--header '.*\n'>. If I is a number, it is a fixed number of lines. -=item B<--hostgroups> (beta testing) +=item B<--hostgroups> -=item B<--hgrp> (beta testing) +=item B<--hgrp> Enable hostgroups on arguments. If an argument contains '@' the string after '@' will be removed and treated as a list of hostgroups on which @@ -1369,9 +1373,9 @@ mix. Compare: See also: B<--group> B<--ungroup> -=item B<--xapply> (alpha testing) +=item B<--xapply> (beta testing) -=item B<--link> (alpha testing) +=item B<--link> (beta testing) Link input sources. Read multiple input sources like B. If multiple input sources are given, one argument will be read from each @@ -1446,7 +1450,7 @@ should retry a given job. See also: B<--memsuspend> -=item B<--memsuspend> I (beta testing) +=item B<--memsuspend> I Suspend jobs when there is less than 2 * I memory free. The I can be postfixed with K, M, G, T, P, k, m, g, t, or p which @@ -2634,9 +2638,9 @@ Silent. The job to be run will not be printed. This is the default. Can be reversed with B<-v>. -=item B<--template> I=I (alpha testing) +=item B<--template> I=I (beta testing) -=item B<--tmpl> I=I (alpha testing) +=item B<--tmpl> I=I (beta testing) Copy I to I. All replacement strings in the contents of I will be replaced. All replacement strings in the name I @@ -3149,7 +3153,7 @@ solution is to quote the whole command: parallel "zcat {} >{.}" ::: *.gz -Other special shell characters (such as * ; $ > < | >> <<) also need +Other special shell characters (such as * ; $ > < | >> <<) also need to be put in quotes, as they may otherwise be interpreted by the shell and not given to GNU B. @@ -4690,14 +4694,16 @@ changes. There is a a small issue when using GNU B as queue system/batch manager: You have to submit JobSlot number of jobs before they will start, and after that you can submit one at a time, and job -will start immediately if free slots are available. Output from the -running or completed jobs are held back and will only be printed when -JobSlots more jobs has been started (unless you use --ungroup or +will start immediately if free slots are available. + +Output from the running or completed jobs are held back and will only +be printed when the next job is started (unless you use --ungroup or --line-buffer, in which case the output from the jobs are printed -immediately). E.g. if you have 10 jobslots then the output from the -first completed job will only be printed when job 11 has started, and -the output of second completed job will only be printed when job 12 -has started. +immediately). + +E.g. if you have 10 jobslots then the output from the first completed +job will only be printed when job 11 has started, and the output of +second completed job will only be printed when job 12 has started. =head2 EXAMPLE: GNU Parallel as dir processor @@ -4952,7 +4958,7 @@ Dir where GNU B stores config files, semaphores, and caches information between invocations. Default: $HOME/.parallel. -=item $PARALLEL_ARGHOSTGROUPS (beta testing) +=item $PARALLEL_ARGHOSTGROUPS When using B<--hostgroups> GNU B sets this to the hostgroups of the job. @@ -5320,6 +5326,11 @@ not exist with PostgreSQL. Report bugs to or https://savannah.gnu.org/bugs/?func=additem&group=parallel +When you write your report, please keep in mind, that you must give +the reader enough information to be able to run exactly what you +run. So you need to include all data and programs that you use to +show the problem. + See a perfect bug report on https://lists.gnu.org/archive/html/bug-parallel/2015-01/msg00000.html @@ -5348,17 +5359,22 @@ https://stackoverflow.com/help/mcve). It should be a complete example that others can run which shows the problem including all files needed to run the example. This should preferably be small and simple, so try to remove as many options as -possible. A combination of B, B, B, B, B, and -B can reproduce most errors. If your example requires large -files, see if you can make them with something like B > -B or B > B. If you need -multiple columns: B +possible. + +A combination of B, B, B, B, B, and B +can reproduce most errors. + +If your example requires large files, see if you can make them with +something like B > B or B > B. If you need multiple columns: B If your example requires remote execution, see if you can use B - maybe using another login. If you have access to a different system (maybe a VirtualBox on your -own machine), test if the MCVE shows the problem on that system. +own machine), test if your MCVE shows the problem on that system. If +it does not, read below. =item * @@ -5391,6 +5407,31 @@ important you give any information that help. In general the problem will be fixed faster and with less work for you if you can reproduce the error on a VirtualBox. +=head2 In summary + +Your report must include: + +=over 2 + +=item * + +B + +=item * + +output + error message + +=item * + +full example including all files + +=item * + +VirtualBox image, if you cannot reproduce it on other systems + +=back + + =head1 AUTHOR @@ -5430,11 +5471,12 @@ along with this program. If not, see . =head2 Documentation license I -Permission is granted to copy, distribute and/or modify this documentation -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the file fdl.txt. +Permission is granted to copy, distribute and/or modify this +documentation under the terms of the GNU Free Documentation License, +Version 1.3 or any later version published by the Free Software +Foundation; with no Invariant Sections, with no Front-Cover Texts, and +with no Back-Cover Texts. A copy of the license is included in the +file LICENSES/GFDL-1.3-or-later.txt. =head2 Documentation license II @@ -5517,7 +5559,8 @@ license terms of this work. =back -A copy of the full license is included in the file as cc-by-sa.txt. +A copy of the full license is included in the file as +LICENCES/CC-BY-SA-4.0.txt =head1 DEPENDENCIES diff --git a/src/parallel_alternatives.pod b/src/parallel_alternatives.pod index 6132376f..691ba113 100644 --- a/src/parallel_alternatives.pod +++ b/src/parallel_alternatives.pod @@ -1,5 +1,9 @@ #!/usr/bin/perl -w +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GFDL-1.3-or-later +# SPDX-License-Identifier: CC-BY-SA-4.0 + =encoding utf8 =head1 NAME @@ -27,86 +31,184 @@ years. The following features are in some of the comparable tools: -B - I1. Arguments can be read from stdin - I2. Arguments can be read from a file - I3. Arguments can be read from multiple files - I4. Arguments can be read from command line - I5. Arguments can be read from a table - I6. Arguments can be read from the same file using #! (shebang) - I7. Line oriented input as default (Quoting of special chars not needed) - -B - M1. Composed command - M2. Multiple arguments can fill up an execution line - M3. Arguments can be put anywhere in the execution line - M4. Multiple arguments can be put anywhere in the execution line - M5. Arguments can be replaced with context - M6. Input can be treated as the complete command line - -B - O1. Grouping output so output from different jobs do not mix - O2. Send stderr (standard error) to stderr (standard error) - O3. Send stdout (standard output) to stdout (standard output) - O4. Order of output can be same as order of input - O5. Stdout only contains stdout (standard output) from the command - O6. Stderr only contains stderr (standard error) from the command - O7. Buffering on disk - O8. Cleanup of temporary files if killed - O9. Test if disk runs full during run - O10. Output of a line bigger than 4 GB - -B - E1. Running jobs in parallel - E2. List running jobs - E3. Finish running jobs, but do not start new jobs - E4. Number of running jobs can depend on number of cpus - E5. Finish running jobs, but do not start new jobs after first failure - E6. Number of running jobs can be adjusted while running - E7. Only spawn new jobs if load is less than a limit - -B - R1. Jobs can be run on remote computers - R2. Basefiles can be transferred - R3. Argument files can be transferred - R4. Result files can be transferred - R5. Cleanup of transferred files - R6. No config files needed - R7. Do not run more than SSHD's MaxStartups can handle - R8. Configurable SSH command - R9. Retry if connection breaks occasionally - -B - S1. Possibility to work as a mutex - S2. Possibility to work as a counting semaphore - -B - - = no - x = not applicable - ID = yes +=head3 Inputs + +=over + +=item I1. Arguments can be read from stdin + +=item I2. Arguments can be read from a file + +=item I3. Arguments can be read from multiple files + +=item I4. Arguments can be read from command line + +=item I5. Arguments can be read from a table + +=item I6. Arguments can be read from the same file using #! (shebang) + +=item I7. Line oriented input as default (Quoting of special chars not needed) + +=back + + +=head3 Manipulation of input + +=over + +=item M1. Composed command + +=item M2. Multiple arguments can fill up an execution line + +=item M3. Arguments can be put anywhere in the execution line + +=item M4. Multiple arguments can be put anywhere in the execution line + +=item M5. Arguments can be replaced with context + +=item M6. Input can be treated as the complete command line + +=back + + +=head3 Outputs + +=over + +=item O1. Grouping output so output from different jobs do not mix + +=item O2. Send stderr (standard error) to stderr (standard error) + +=item O3. Send stdout (standard output) to stdout (standard output) + +=item O4. Order of output can be same as order of input + +=item O5. Stdout only contains stdout (standard output) from the command + +=item O6. Stderr only contains stderr (standard error) from the command + +=item O7. Buffering on disk + +=item O8. Cleanup of temporary files if killed + +=item O9. Test if disk runs full during run + +=item O10. Output of a line bigger than 4 GB + +=back + + +=head3 Execution + +=over + +=item E1. Running jobs in parallel + +=item E2. List running jobs + +=item E3. Finish running jobs, but do not start new jobs + +=item E4. Number of running jobs can depend on number of cpus + +=item E5. Finish running jobs, but do not start new jobs after first failure + +=item E6. Number of running jobs can be adjusted while running + +=item E7. Only spawn new jobs if load is less than a limit + +=back + + +=head3 Remote execution + +=over + +=item R1. Jobs can be run on remote computers + +=item R2. Basefiles can be transferred + +=item R3. Argument files can be transferred + +=item R4. Result files can be transferred + +=item R5. Cleanup of transferred files + +=item R6. No config files needed + +=item R7. Do not run more than SSHD's MaxStartups can handle + +=item R8. Configurable SSH command + +=item R9. Retry if connection breaks occasionally + +=back + + +=head3 Semaphore + +=over + +=item S1. Possibility to work as a mutex + +=item S2. Possibility to work as a counting semaphore + +=back + + +=head3 Legend + +=over + +=item - = no + +=item x = not applicable + +=item ID = yes + +=back As every new version of the programs are not tested the table may be outdated. Please file a bug report if you find errors (See REPORTING BUGS). parallel: -I1 I2 I3 I4 I5 I6 I7 -M1 M2 M3 M4 M5 M6 -O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 -E1 E2 E3 E4 E5 E6 E7 -R1 R2 R3 R4 R5 R6 R7 R8 R9 -S1 S2 + +=over + +=item I1 I2 I3 I4 I5 I6 I7 + +=item M1 M2 M3 M4 M5 M6 + +=item O1 O2 O3 O4 O5 O6 O7 O8 O9 O10 + +=item E1 E2 E3 E4 E5 E6 E7 + +=item R1 R2 R3 R4 R5 R6 R7 R8 R9 + +=item S1 S2 + +=back =head2 DIFFERENCES BETWEEN xargs AND GNU Parallel Summary (see legend above): -I1 I2 - - - - - -- M2 M3 - - - -- O2 O3 - O5 O6 -E1 - - - - - - -- - - - - x - - - -- - + +=over + +=item I1 I2 - - - - - + +=item - M2 M3 - - - + +=item - O2 O3 - O5 O6 + +=item E1 - - - - - - + +=item - - - - - x - - - + +=item - - + +=back B offers some of the same possibilities as GNU B. @@ -197,12 +299,22 @@ https://www.gnu.org/software/findutils/ =head2 DIFFERENCES BETWEEN find -exec AND GNU Parallel Summary (see legend above): -- - - x - x - -- M2 M3 - - - - -- O2 O3 O4 O5 O6 -- - - - - - - -- - - - - - - - - -x x + +=over + +=item - - - x - x - + +=item - M2 M3 - - - - + +=item - O2 O3 O4 O5 O6 + +=item - - - - - - - + +=item - - - - - - - - - + +=item x x + +=back B offers some of the same possibilities as GNU B. @@ -216,12 +328,22 @@ https://www.gnu.org/software/findutils/ (Last checked: 2019-01) =head2 DIFFERENCES BETWEEN make -j AND GNU Parallel Summary (see legend above): -- - - - - - - -- - - - - - -O1 O2 O3 - x O6 -E1 - - - E5 - -- - - - - - - - - -- - + +=over + +=item - - - - - - - + +=item - - - - - - + +=item O1 O2 O3 - x O6 + +=item E1 - - - E5 - + +=item - - - - - - - - - + +=item - - + +=back B can run jobs in parallel, but requires a crafted Makefile to do this. That results in extra quoting to get filenames containing @@ -239,12 +361,22 @@ https://www.gnu.org/software/make/ (Last checked: 2019-01) =head2 DIFFERENCES BETWEEN ppss AND GNU Parallel Summary (see legend above): -I1 I2 - - - - I7 -M1 - M3 - - M6 -O1 - - x - - -E1 E2 ?E3 E4 - - - -R1 R2 R3 R4 - - ?R7 ? ? -- - + +=over + +=item I1 I2 - - - - I7 + +=item M1 - M3 - - M6 + +=item O1 - - x - - + +=item E1 E2 ?E3 E4 - - - + +=item R1 R2 R3 R4 - - ?R7 ? ? + +=item - - + +=back B is also a tool for running jobs in parallel. @@ -324,12 +456,22 @@ https://github.com/louwrentius/PPSS =head2 DIFFERENCES BETWEEN pexec AND GNU Parallel Summary (see legend above): -I1 I2 - I4 I5 - - -M1 - M3 - - M6 -O1 O2 O3 - O5 O6 -E1 - - E4 - E6 - -R1 - - - - R6 - - - -S1 - + +=over + +=item I1 I2 - I4 I5 - - + +=item M1 - M3 - - M6 + +=item O1 O2 O3 - O5 O6 + +=item E1 - - E4 - E6 - + +=item R1 - - - - R6 - - - + +=item S1 - + +=back B is also a tool for running jobs in parallel. @@ -647,12 +789,22 @@ https://github.com/cheusov/paexec =head2 DIFFERENCES BETWEEN map(sitaramc) AND GNU Parallel Summary (see legend above): -I1 - - I4 - - (I7) -M1 (M2) M3 (M4) M5 M6 -- O2 O3 - O5 - - N/A N/A O10 -E1 - - - - - - -- - - - - - - - - -- - + +=over + +=item I1 - - I4 - - (I7) + +=item M1 (M2) M3 (M4) M5 M6 + +=item - O2 O3 - O5 - - N/A N/A O10 + +=item E1 - - - - - - + +=item - - - - - - - - - + +=item - - + +=back (I7): Only under special circumstances. See below. @@ -1963,12 +2115,22 @@ https://github.com/fd0/machma (Last checked: 2019-06) =head2 DIFFERENCES BETWEEN interlace AND GNU Parallel Summary (see legend above): -- I2 I3 I4 - - - -M1 - M3 - - M6 -- O2 O3 - - - - x x -E1 E2 - - - - - -- - - - - - - - - -- - + +=over + +=item - I2 I3 I4 - - - + +=item M1 - M3 - - M6 + +=item - O2 O3 - - - - x x + +=item E1 E2 - - - - - + +=item - - - - - - - - - + +=item - - + +=back B is built for network analysis to run network tools in parallel. @@ -2340,12 +2502,22 @@ https://github.com/amritb/with-this.git (Last checked: 2019-03) =head2 DIFFERENCES BETWEEN Tollef's parallel (moreutils) AND GNU Parallel Summary (see legend above): -- - - I4 - - I7 -- - M3 - - M6 -- O2 O3 - O5 O6 - x x -E1 - - - - - E7 -- x x x x x x x x -- - + +=over + +=item - - - I4 - - I7 + +=item - - M3 - - M6 + +=item - O2 O3 - O5 O6 - x x + +=item E1 - - - - - E7 + +=item - x x x x x x x x + +=item - - + +=back =head3 EXAMPLES FROM Tollef's parallel MANUAL @@ -2366,12 +2538,22 @@ B parallel -j 3 ::: ls df "echo hi" =head2 DIFFERENCES BETWEEN rargs AND GNU Parallel Summary (see legend above): -I1 - - - - - I7 -- - M3 M4 - - -- O2 O3 - O5 O6 - O8 - -E1 - - E4 - - - -- - - - - - - - - -- - + +=over + +=item I1 - - - - - I7 + +=item - - M3 M4 - - + +=item - O2 O3 - O5 O6 - O8 - + +=item E1 - - E4 - - - + +=item - - - - - - - - - + +=item - - + +=back B has elegant ways of doing named regexp capture and field ranges. @@ -2425,12 +2607,22 @@ https://github.com/lotabout/rargs (Last checked: 2020-01) =head2 DIFFERENCES BETWEEN threader AND GNU Parallel Summary (see legend above): -I1 - - - - - - -M1 - M3 - - M6 -O1 - O3 - O5 - - N/A N/A -E1 - - E4 - - - -- - - - - - - - - -- - + +=over + +=item I1 - - - - - - + +=item M1 - M3 - - M6 + +=item O1 - O3 - O5 - - N/A N/A + +=item E1 - - E4 - - - + +=item - - - - - - - - - + +=item - - + +=back Newline separates arguments, but newline at the end of file is treated as an empty argument. So this runs 2 jobs: @@ -2447,12 +2639,22 @@ https://github.com/voodooEntity/threader (Last checked: 2020-04) =head2 DIFFERENCES BETWEEN runp AND GNU Parallel Summary (see legend above): -I1 I2 - - - - - -M1 - (M3) - - M6 -O1 O2 O3 - O5 O6 - N/A N/A - -E1 - - - - - - -- - - - - - - - - -- - + +=over + +=item I1 I2 - - - - - + +=item M1 - (M3) - - M6 + +=item O1 O2 O3 - O5 O6 - N/A N/A - + +=item E1 - - - - - - + +=item - - - - - - - - - + +=item - - + +=back (M3): You can add a prefix and a postfix to the input, so it means you can only insert the argument on the command line once. @@ -2575,12 +2777,22 @@ https://github.com/jreisinger/runp (Last checked: 2020-04) =head2 DIFFERENCES BETWEEN papply AND GNU Parallel Summary (see legend above): -- - - I4 - - - -M1 - M3 - - M6 -- - O3 - O5 - - N/A N/A O10 -E1 - - E4 - - - -- - - - - - - - - -- - + +=over + +=item - - - I4 - - - + +=item M1 - M3 - - M6 + +=item - - O3 - O5 - - N/A N/A O10 + +=item E1 - - E4 - - - + +=item - - - - - - - - - + +=item - - + +=back B does not print the output if the command fails: @@ -2621,12 +2833,22 @@ https://pypi.org/project/papply/ (Last checked: 2020-04) =head2 DIFFERENCES BETWEEN async AND GNU Parallel Summary (see legend above): -- - - I4 - - I7 -- - - - - M6 -- O2 O3 - O5 O6 - N/A N/A O10 -E1 - - E4 - E6 - -- - - - - - - - - -S1 S2 + +=over + +=item - - - I4 - - I7 + +=item - - - - - M6 + +=item - O2 O3 - O5 O6 - N/A N/A O10 + +=item E1 - - E4 - E6 - + +=item - - - - - - - - - + +=item S1 S2 + +=back B is very similary to GNU B's B<--semaphore> mode (aka B). B requires the user to start a server process. @@ -2698,12 +2920,22 @@ https://github.com/ctbur/async/ (Last checked: 2020-11) =head2 DIFFERENCES BETWEEN pardi AND GNU Parallel Summary (see legend above): -I1 I2 - - - - I7 -M1 - - - - M6 -O1 O2 O3 O4 O5 - O7 - - O10 -E1 - - E4 - - - -- - - - - - - - - -- - + +=over + +=item I1 I2 - - - - I7 + +=item M1 - - - - M6 + +=item O1 O2 O3 O4 O5 - O7 - - O10 + +=item E1 - - E4 - - - + +=item - - - - - - - - - + +=item - - + +=back B is very similar to B: It reads blocks of data and not arguments. So it cannot insert an argument in the @@ -2756,12 +2988,22 @@ https://github.com/UnixJunkie/pardi (Last checked: 2021-01) =head2 DIFFERENCES BETWEEN bthread AND GNU Parallel Summary (see legend above): -- - - I4 - - - -- - - - - M6 -O1 - O3 - - - O7 O8 - - -E1 - - - - - - -- - - - - - - - - -- - + +=over + +=item - - - I4 - - - + +=item - - - - - M6 + +=item O1 - O3 - - - O7 O8 - - + +=item E1 - - - - - - + +=item - - - - - - - - - + +=item - - + +=back B takes around 1 sec per MB of output. The maximal output line length is 1073741759. @@ -2775,12 +3017,22 @@ https://gitlab.com/netikras/bthread (Last checked: 2021-01) =head2 DIFFERENCES BETWEEN simple_gpu_scheduler AND GNU Parallel Summary (see legend above): -I1 - - - - - I7 -M1 - - - - M6 -- O2 O3 - - O6 - x x O10 -E1 - - - - - - -- - - - - - - - - -- - + +=over + +=item I1 - - - - - I7 + +=item M1 - - - - M6 + +=item - O2 O3 - - O6 - x x O10 + +=item E1 - - - - - - + +=item - - - - - - - - - + +=item - - + +=back =head3 EXAMPLES FROM simple_gpu_scheduler MANUAL @@ -2888,12 +3140,22 @@ https://github.com/eviatarbach/parasweep (Last checked: 2021-01) =head2 DIFFERENCES BETWEEN parallel-bash AND GNU Parallel Summary (see legend above): -I1 I2 - - - - - -- - M3 - - M6 -- O2 O3 - O5 O6 - O8 x O10 -E1 - - - - - - -- - - - - - - - - -- - + +=over + +=item I1 I2 - - - - - + +=item - - M3 - - M6 + +=item - O2 O3 - O5 O6 - O8 x O10 + +=item E1 - - - - - - + +=item - - - - - - - - - + +=item - - + +=back B is written in pure bash. It is really fast (overhead of ~0.05 ms/job compared to GNU B's ~3 ms/job). So if your @@ -2954,6 +3216,10 @@ https://github.com/themattrix/bash-concurrent =head2 Todo +https://github.com/mylanconnolly/parallel + +https://github.com/krashanoff/parallel + https://github.com/Nukesor/pueue https://arxiv.org/pdf/2012.15443.pdf KumQuat @@ -2978,7 +3244,32 @@ http://manpages.ubuntu.com/manpages/xenial/man1/tsp.1.html http://vicerveza.homeunix.net/~viric/soft/ts/ +https://github.com/chapmanjacobd/que + +https://github.com/ExpectationMax/simple_gpu_scheduler + simple_gpu_scheduler --gpus 0 1 2 < gpu_commands.txt + parallel -j3 --shuf CUDA_VISIBLE_DEVICES='{=1 $_=slot()-1 =} {=uq;=}' < gpu_commands.txt + + simple_hypersearch "python3 train_dnn.py --lr {lr} --batch_size {bs}" -p lr 0.001 0.0005 0.0001 -p bs 32 64 128 | simple_gpu_scheduler --gpus 0,1,2 + parallel --header : --shuf -j3 -v CUDA_VISIBLE_DEVICES='{=1 $_=slot()-1 =}' python3 train_dnn.py --lr {lr} --batch_size {bs} ::: lr 0.001 0.0005 0.0001 ::: bs 32 64 128 + + simple_hypersearch "python3 train_dnn.py --lr {lr} --batch_size {bs}" --n-samples 5 -p lr 0.001 0.0005 0.0001 -p bs 32 64 128 | simple_gpu_scheduler --gpus 0,1,2 + parallel --header : --shuf CUDA_VISIBLE_DEVICES='{=1 $_=slot()-1; seq() > 5 and skip() =}' python3 train_dnn.py --lr {lr} --batch_size {bs} ::: lr 0.001 0.0005 0.0001 ::: bs 32 64 128 + + touch gpu.queue + tail -f -n 0 gpu.queue | simple_gpu_scheduler --gpus 0,1,2 & + echo "my_command_with | and stuff > logfile" >> gpu.queue + + touch gpu.queue + tail -f -n 0 gpu.queue | parallel -j3 CUDA_VISIBLE_DEVICES='{=1 $_=slot()-1 =} {=uq;=}' & + # Needed to fill job slots once + seq 3 | parallel echo true >> gpu.queue + # Add jobs + echo "my_command_with | and stuff > logfile" >> gpu.queue + # Needed to flush output from completed jobs + seq 3 | parallel echo true >> gpu.queue +https://github.com/Overv/outrun#outrun =head1 TESTING OTHER TOOLS @@ -3246,11 +3537,12 @@ along with this program. If not, see . =head2 Documentation license I -Permission is granted to copy, distribute and/or modify this documentation -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the file fdl.txt. +Permission is granted to copy, distribute and/or modify this +documentation under the terms of the GNU Free Documentation License, +Version 1.3 or any later version published by the Free Software +Foundation; with no Invariant Sections, with no Front-Cover Texts, and +with no Back-Cover Texts. A copy of the license is included in the +file LICENSES/GFDL-1.3-or-later.txt. =head2 Documentation license II @@ -3333,7 +3625,8 @@ license terms of this work. =back -A copy of the full license is included in the file as cc-by-sa.txt. +A copy of the full license is included in the file as +LICENCES/CC-BY-SA-4.0.txt =head1 DEPENDENCIES diff --git a/src/parallel_book.pod b/src/parallel_book.pod index 54619a17..74999e3f 100644 --- a/src/parallel_book.pod +++ b/src/parallel_book.pod @@ -1,5 +1,9 @@ #!/usr/bin/perl -w +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GFDL-1.3-or-later +# SPDX-License-Identifier: CC-BY-SA-4.0 + =encoding utf8 =head1 Why should you read this book? diff --git a/src/parallel_design.pod b/src/parallel_design.pod index 6a9b6a64..94be7f4f 100644 --- a/src/parallel_design.pod +++ b/src/parallel_design.pod @@ -1,5 +1,9 @@ #!/usr/bin/perl -w +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GFDL-1.3-or-later +# SPDX-License-Identifier: CC-BY-SA-4.0 + =encoding utf8 options as wrapper scripts diff --git a/src/parallel_tutorial.pod b/src/parallel_tutorial.pod index e08a8dd6..410c7105 100644 --- a/src/parallel_tutorial.pod +++ b/src/parallel_tutorial.pod @@ -1,5 +1,9 @@ #!/usr/bin/perl -w +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GFDL-1.3-or-later +# SPDX-License-Identifier: CC-BY-SA-4.0 + =head1 GNU Parallel Tutorial This tutorial shows off much of GNU B's functionality. The @@ -3161,7 +3165,8 @@ https://my.fsf.org/donate/ =back -(C) 2013-2021 Ole Tange, FDLv1.3 (See fdl.txt) +(C) 2013-2021 Ole Tange, GFDLv1.3+ (See +LICENSES/GFDL-1.3-or-later.txt) =cut diff --git a/src/parcat b/src/parcat index 721da3d4..3042c975 100755 --- a/src/parcat +++ b/src/parcat @@ -1,5 +1,26 @@ #!/usr/bin/perl +# Copyright (C) 2016-2021 Ole Tange, http://ole.tange.dk and Free +# Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see +# or write to the Free Software Foundation, Inc., 51 Franklin St, +# Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later + use Symbol qw(gensym); use IPC::Open3; use POSIX qw(:errno_h); diff --git a/src/parcat.pod b/src/parcat.pod index de3c3c95..47b30738 100644 --- a/src/parcat.pod +++ b/src/parcat.pod @@ -1,5 +1,9 @@ #!/usr/bin/perl +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GFDL-1.3-or-later +# SPDX-License-Identifier: CC-BY-SA-4.0 + =head1 NAME parcat - cat files or fifos in parallel @@ -87,11 +91,12 @@ along with this program. If not, see . =head2 Documentation license I -Permission is granted to copy, distribute and/or modify this documentation -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the file fdl.txt. +Permission is granted to copy, distribute and/or modify this +documentation under the terms of the GNU Free Documentation License, +Version 1.3 or any later version published by the Free Software +Foundation; with no Invariant Sections, with no Front-Cover Texts, and +with no Back-Cover Texts. A copy of the license is included in the +file LICENSES/GFDL-1.3-or-later.txt. =head2 Documentation license II @@ -170,7 +175,9 @@ license terms of this work. =back -A copy of the full license is included in the file as cc-by-sa.txt. +A copy of the full license is included in the file as +LICENCES/CC-BY-SA-4.0.txt + =head1 DEPENDENCIES diff --git a/src/parset b/src/parset index 69d2ed91..13adad08 100755 --- a/src/parset +++ b/src/parset @@ -17,6 +17,9 @@ # along with this program; if not, see # or write to the Free Software Foundation, Inc., 51 Franklin St, # Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later grepq() { # grep -q for systems without -q diff --git a/src/parset.pod b/src/parset.pod index c5f9fb52..3a295e39 100644 --- a/src/parset.pod +++ b/src/parset.pod @@ -1,5 +1,9 @@ #!/usr/bin/perl -w +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GFDL-1.3-or-later +# SPDX-License-Identifier: CC-BY-SA-4.0 + =encoding utf8 =head1 NAME @@ -211,11 +215,12 @@ along with this program. If not, see . =head2 Documentation license I -Permission is granted to copy, distribute and/or modify this documentation -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the file fdl.txt. +Permission is granted to copy, distribute and/or modify this +documentation under the terms of the GNU Free Documentation License, +Version 1.3 or any later version published by the Free Software +Foundation; with no Invariant Sections, with no Front-Cover Texts, and +with no Back-Cover Texts. A copy of the license is included in the +file LICENSES/GFDL-1.3-or-later.txt. =head2 Documentation license II @@ -298,8 +303,8 @@ license terms of this work. =back -A copy of the full license is included in the file as cc-by-sa.txt. - +A copy of the full license is included in the file as +LICENCES/CC-BY-SA-4.0.txt =head1 DEPENDENCIES diff --git a/src/parsort b/src/parsort index 0eafed9c..2e50154c 100755 --- a/src/parsort +++ b/src/parsort @@ -1,5 +1,8 @@ #!/usr/bin/perl +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later + =pod =head1 NAME @@ -118,7 +121,7 @@ GetOptions( "help" => \$opt::dummy, ) || exit(255); $Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1]; -$Global::version = 20210222; +$Global::version = 20210223; if($opt::version) { version(); exit 0; } @Global::sortoptions = shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]); diff --git a/src/sem.pod b/src/sem.pod index 5cacce81..c61a09f3 100644 --- a/src/sem.pod +++ b/src/sem.pod @@ -1,5 +1,9 @@ #!/usr/bin/perl -w +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GFDL-1.3-or-later +# SPDX-License-Identifier: CC-BY-SA-4.0 + =head1 NAME sem - semaphore for executing shell command lines in parallel @@ -265,11 +269,12 @@ along with this program. If not, see . =head2 Documentation license I -Permission is granted to copy, distribute and/or modify this documentation -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the file fdl.txt. +Permission is granted to copy, distribute and/or modify this +documentation under the terms of the GNU Free Documentation License, +Version 1.3 or any later version published by the Free Software +Foundation; with no Invariant Sections, with no Front-Cover Texts, and +with no Back-Cover Texts. A copy of the license is included in the +file LICENSES/GFDL-1.3-or-later.txt. =head2 Documentation license II @@ -352,7 +357,9 @@ license terms of this work. =back -A copy of the full license is included in the file as cc-by-sa.txt. +A copy of the full license is included in the file as +LICENCES/CC-BY-SA-4.0.txt + =head1 DEPENDENCIES diff --git a/src/sql b/src/sql index d31709dc..75dda0cf 100755 --- a/src/sql +++ b/src/sql @@ -1,5 +1,29 @@ #!/usr/bin/perl -w +# Copyright (C) 2008-2010 Ole Tange, http://ole.tange.dk +# +# Copyright (C) 2010-2021 Ole Tange, http://ole.tange.dk and +# Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see +# or write to the Free Software Foundation, Inc., 51 Franklin St, +# Fifth Floor, Boston, MA 02110-1301 USA +# +# SPDX-FileCopyrightText: 2008-2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# SPDX-License-Identifier: GPL-3.0-or-later +# SPDX-License-Identifier: GFDL-1.3-or-later + =head1 NAME sql - execute a command on a database determined by a dburl @@ -361,11 +385,13 @@ along with this program. If not, see . =head2 Documentation license I -Permission is granted to copy, distribute and/or modify this documentation -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the file fdl.txt. +Permission is granted to copy, distribute and/or modify this +documentation under the terms of the GNU Free Documentation License, +Version 1.3 or any later version published by the Free Software +Foundation; with no Invariant Sections, with no Front-Cover Texts, and +with no Back-Cover Texts. A copy of the license is included in the +file LICENSES/GFDL-1.3-or-later.txt. + =head2 Documentation license II @@ -574,7 +600,7 @@ $Global::Initfile && unlink $Global::Initfile; exit ($err); sub parse_options { - $Global::version = 20210222; + $Global::version = 20210223; $Global::progname = 'sql'; # This must be done first as this may exec myself diff --git a/testsuite/Makefile b/testsuite/Makefile index 6ac2a6c4..fb4020b9 100644 --- a/testsuite/Makefile +++ b/testsuite/Makefile @@ -99,7 +99,7 @@ startvm: parallel --tag -k 'ping -w 1 -c 1 {} || (cd vagrant/*/{} && vagrant up; wssh vagrant@{} echo {} is up)' ::: centos8 freebsd11 freebsd12 rhel8 centos3 & stopvm: - parallel --tag -k 'ping -w 1 -c 1 {} && cd vagrant/*/{} && vagrant suspend' ::: centos8 freebsd11 freebsd12 rhel8 centos3 + parallel --tag -k 'ping -w 1 -c 1 {} && cd vagrant/*/{} && vagrant suspend' ::: centos8 freebsd11 freebsd12 rhel8 centos3 || true startdb: true TODO should start Oracle in vagrant diff --git a/testsuite/tests-to-run/niceload01.sh b/testsuite/tests-to-run/niceload01.sh index ba7675d2..03d2c851 100755 --- a/testsuite/tests-to-run/niceload01.sh +++ b/testsuite/tests-to-run/niceload01.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + echo '### Test niceload -q' niceload -q perl -e '$a = "works";$b="This $a\n"; print($b);' echo diff --git a/testsuite/tests-to-run/niceload02.sh b/testsuite/tests-to-run/niceload02.sh index 7236cff5..48096483 100755 --- a/testsuite/tests-to-run/niceload02.sh +++ b/testsuite/tests-to-run/niceload02.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + echo '### Test niceload exit code' niceload "perl -e 'exit(3)'" ; echo $? eq 3 niceload "perl -e 'exit(0)'" ; echo $? eq 0 diff --git a/testsuite/tests-to-run/niceload03.sh b/testsuite/tests-to-run/niceload03.sh index 76eec46e..ff0a2401 100755 --- a/testsuite/tests-to-run/niceload03.sh +++ b/testsuite/tests-to-run/niceload03.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # force load > 10 while uptime | grep -v age:.[1-9]\\+[0-9].[0-9][0-9] >/dev/null ; do (timeout 5 nice perl -e 'while(1){}' 2>/dev/null &) diff --git a/testsuite/tests-to-run/niceload04.sh b/testsuite/tests-to-run/niceload04.sh index 4df6f479..ac1f4c36 100755 --- a/testsuite/tests-to-run/niceload04.sh +++ b/testsuite/tests-to-run/niceload04.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + cp /bin/sleep /tmp/mysleep killall -9 mysleep 2>/dev/null diff --git a/testsuite/tests-to-run/parallel-android.sh b/testsuite/tests-to-run/parallel-android.sh index 268de946..943122de 100755 --- a/testsuite/tests-to-run/parallel-android.sh +++ b/testsuite/tests-to-run/parallel-android.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + unset TIMEOUT . `which env_parallel.bash` env_parallel --session diff --git a/testsuite/tests-to-run/parallel-centos3.sh b/testsuite/tests-to-run/parallel-centos3.sh index 28bf9223..f7a16bcd 100644 --- a/testsuite/tests-to-run/parallel-centos3.sh +++ b/testsuite/tests-to-run/parallel-centos3.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + echo "### These tests requires VirtualBox running with the following images" echo 'vagrant@centos3' diff --git a/testsuite/tests-to-run/parallel-freebsd.sh b/testsuite/tests-to-run/parallel-freebsd.sh index 7c9fe335..74f838d3 100644 --- a/testsuite/tests-to-run/parallel-freebsd.sh +++ b/testsuite/tests-to-run/parallel-freebsd.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + echo "### These tests requires VirtualBox running with the following images" SERVER1=freebsd11 SSHUSER1=vagrant diff --git a/testsuite/tests-to-run/parallel-install.sh b/testsuite/tests-to-run/parallel-install.sh index 72bbbeb4..0e660f81 100644 --- a/testsuite/tests-to-run/parallel-install.sh +++ b/testsuite/tests-to-run/parallel-install.sh @@ -1,3 +1,7 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Moved to parallel-local-100s.sh diff --git a/testsuite/tests-to-run/parallel-local-0.3s.sh b/testsuite/tests-to-run/parallel-local-0.3s.sh index 36eb75fb..8b5ad32b 100644 --- a/testsuite/tests-to-run/parallel-local-0.3s.sh +++ b/testsuite/tests-to-run/parallel-local-0.3s.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Simple jobs that never fails # Each should be taking 0.3-1s and be possible to run in parallel # I.e.: No race conditions, no logins diff --git a/testsuite/tests-to-run/parallel-local-100s.sh b/testsuite/tests-to-run/parallel-local-100s.sh index b0c2de9e..5686a17a 100644 --- a/testsuite/tests-to-run/parallel-local-100s.sh +++ b/testsuite/tests-to-run/parallel-local-100s.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Simple jobs that never fails # Each should be taking 100-300s and be possible to run in parallel # I.e.: No race conditions, no logins diff --git a/testsuite/tests-to-run/parallel-local-10s.sh b/testsuite/tests-to-run/parallel-local-10s.sh index 07a570b2..8b1de442 100644 --- a/testsuite/tests-to-run/parallel-local-10s.sh +++ b/testsuite/tests-to-run/parallel-local-10s.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Simple jobs that never fails # Each should be taking 10-30s and be possible to run in parallel # I.e.: No race conditions, no logins diff --git a/testsuite/tests-to-run/parallel-local-1s.sh b/testsuite/tests-to-run/parallel-local-1s.sh index 13f36006..391496c8 100644 --- a/testsuite/tests-to-run/parallel-local-1s.sh +++ b/testsuite/tests-to-run/parallel-local-1s.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Simple jobs that never fails # Each should be taking 1-3s and be possible to run in parallel # I.e.: No race conditions, no logins diff --git a/testsuite/tests-to-run/parallel-local-300s.sh b/testsuite/tests-to-run/parallel-local-300s.sh index 645e5cbb..053d5bf9 100644 --- a/testsuite/tests-to-run/parallel-local-300s.sh +++ b/testsuite/tests-to-run/parallel-local-300s.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Simple jobs that never fails # Each should be taking >300s and be possible to run in parallel # I.e.: No race conditions, no logins diff --git a/testsuite/tests-to-run/parallel-local-30s.sh b/testsuite/tests-to-run/parallel-local-30s.sh index 6d377880..21eeb0f9 100755 --- a/testsuite/tests-to-run/parallel-local-30s.sh +++ b/testsuite/tests-to-run/parallel-local-30s.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Simple jobs that never fails # Each should be taking 30-100s and be possible to run in parallel # I.e.: No race conditions, no logins diff --git a/testsuite/tests-to-run/parallel-local-3s.sh b/testsuite/tests-to-run/parallel-local-3s.sh index 26526073..66e80959 100644 --- a/testsuite/tests-to-run/parallel-local-3s.sh +++ b/testsuite/tests-to-run/parallel-local-3s.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Simple jobs that never fails # Each should be taking 3-10s and be possible to run in parallel # I.e.: No race conditions, no logins @@ -165,6 +169,7 @@ par_totaljob_repl() { parallel -k -N7 --plus echo {#} {##} ::: {1..14} parallel -k -N7 --plus echo {#} {##} ::: {1..15} parallel -k -S 8/: -X --plus echo {#} {##} ::: {1..15} + parallel -k --plus -j 10 echo '{0#}/{##}:{0%}' ::: {1..5} ::: {1..4} } par_jobslot_repl() { diff --git a/testsuite/tests-to-run/parallel-local-load.sh b/testsuite/tests-to-run/parallel-local-load.sh index 6cfc4d48..50ce7139 100644 --- a/testsuite/tests-to-run/parallel-local-load.sh +++ b/testsuite/tests-to-run/parallel-local-load.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Force load 12 in 10 seconds seq 12 | stdout parallel --nice 11 --timeout 10 -j0 -N0 "bzip2 < /dev/zero" > /dev/null & diff --git a/testsuite/tests-to-run/parallel-local-mem.sh b/testsuite/tests-to-run/parallel-local-mem.sh index aefe5040..505ea4ca 100755 --- a/testsuite/tests-to-run/parallel-local-mem.sh +++ b/testsuite/tests-to-run/parallel-local-mem.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + make stopvm >/dev/null 2>/dev/null TMPDIR=${TMPDIR:-/tmp} mkdir -p $TMPDIR diff --git a/testsuite/tests-to-run/parallel-local-parsort.sh b/testsuite/tests-to-run/parallel-local-parsort.sh index 4b21401b..ac129a51 100755 --- a/testsuite/tests-to-run/parallel-local-parsort.sh +++ b/testsuite/tests-to-run/parallel-local-parsort.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + setup() { tmp=$(tempfile) perl -pe 's/\n/\n\0/' >$tmp </dev/null diff --git a/testsuite/tests-to-run/parallel-local-ssh3.sh b/testsuite/tests-to-run/parallel-local-ssh3.sh index a6f78d5b..e9cfaa98 100644 --- a/testsuite/tests-to-run/parallel-local-ssh3.sh +++ b/testsuite/tests-to-run/parallel-local-ssh3.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # SSH only allowed to localhost/lo par_trailing_space_sshlogin() { diff --git a/testsuite/tests-to-run/parallel-local-ssh4.sh b/testsuite/tests-to-run/parallel-local-ssh4.sh index 3c5ae520..f6cbe523 100644 --- a/testsuite/tests-to-run/parallel-local-ssh4.sh +++ b/testsuite/tests-to-run/parallel-local-ssh4.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + unset run_test unset run_once diff --git a/testsuite/tests-to-run/parallel-local-ssh5.sh b/testsuite/tests-to-run/parallel-local-ssh5.sh index 63b30042..c9158162 100644 --- a/testsuite/tests-to-run/parallel-local-ssh5.sh +++ b/testsuite/tests-to-run/parallel-local-ssh5.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # SSH only allowed to localhost/lo par_autossh() { diff --git a/testsuite/tests-to-run/parallel-local-ssh6.sh b/testsuite/tests-to-run/parallel-local-ssh6.sh index 38631bb4..1673122e 100644 --- a/testsuite/tests-to-run/parallel-local-ssh6.sh +++ b/testsuite/tests-to-run/parallel-local-ssh6.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # At most 2 parallel sshs per function export SSHLOGIN1=parallel@lo diff --git a/testsuite/tests-to-run/parallel-local-ssh7.sh b/testsuite/tests-to-run/parallel-local-ssh7.sh index f231e7ec..85fab609 100755 --- a/testsuite/tests-to-run/parallel-local-ssh7.sh +++ b/testsuite/tests-to-run/parallel-local-ssh7.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + echo '### test --env _, env_parallel for different shells' # diff --git a/testsuite/tests-to-run/parallel-local-ssh8.sh b/testsuite/tests-to-run/parallel-local-ssh8.sh index b7e2c927..e54c4f51 100644 --- a/testsuite/tests-to-run/parallel-local-ssh8.sh +++ b/testsuite/tests-to-run/parallel-local-ssh8.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Each test should at most run 1 ssh against parallel@lo or lo par_transfer_special_char_names() { diff --git a/testsuite/tests-to-run/parallel-local-ssh9.sh b/testsuite/tests-to-run/parallel-local-ssh9.sh index 6d29bdcd..d66533a2 100644 --- a/testsuite/tests-to-run/parallel-local-ssh9.sh +++ b/testsuite/tests-to-run/parallel-local-ssh9.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + par_ash_embed() { myscript=$(cat <<'_EOF' echo '--embed' diff --git a/testsuite/tests-to-run/parallel-local-utf8.sh b/testsuite/tests-to-run/parallel-local-utf8.sh index 65f3e5c7..84e401f3 100755 --- a/testsuite/tests-to-run/parallel-local-utf8.sh +++ b/testsuite/tests-to-run/parallel-local-utf8.sh @@ -1,10 +1,15 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Test all UTF-8 chars all_utf8() { cat <<'EOF' | perl -pe 's/\s/\0/g;' - ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M + + ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ …   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ Ā ā Ă ă Ą ą Ć @@ -4615,7 +4620,8 @@ N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u 􏾅 􏾆 􏾇 􏾈 􏾉 􏾊 􏾋 􏾌 􏾍 􏾎 􏾏 􏾐 􏾑 􏾒 􏾓 􏾔 􏾕 􏾖 􏾗 􏾘 􏾙 􏾚 􏾛 􏾜 􏾝 􏾞 􏾟 􏾠 􏾡 􏾢 􏾣 􏾤 􏾥 􏾦 􏾧 􏾨 􏾩 􏾪 􏾫 􏾬 􏾭 􏾮 􏾯 􏾰 􏾱 􏾲 􏾳 􏾴 􏾵 􏾶 􏾷 􏾸 􏾹 􏾺 􏾻 􏾼 􏾽 􏾾 􏾿 􏿀 􏿁 􏿂 􏿃 􏿄 􏿅 􏿆 􏿇 􏿈 􏿉 􏿊 􏿋 􏿌 􏿍 􏿎 􏿏 􏿐 􏿑 􏿒 􏿓 􏿔 􏿕 􏿖 􏿗 􏿘 􏿙 􏿚 􏿛 􏿜 􏿝 􏿞 􏿟 􏿠 􏿡 􏿢 􏿣 􏿤 􏿥 􏿦 􏿧 􏿨 􏿩 􏿪 􏿫 􏿬 􏿭 􏿮 􏿯 􏿰 􏿱 􏿲 􏿳 􏿴 􏿵 􏿶 􏿷 􏿸 􏿹 􏿺 􏿻 􏿼 􏿽 - ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M + + ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ …   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ Ā ā Ă ă Ą ą Ć @@ -5801,7 +5807,8 @@ N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u 𝝲 𝝳 𝝴 𝝵 𝝶 𝝷 𝝸 𝝹 𝝺 𝝻 𝝼 𝝽 𝝾 𝝿 𝞀 𝞁 𝞂 𝞃 𝞄 𝞅 𝞆 𝞇 𝞈 𝞉 𝞊 𝞋 𝞌 𝞍 𝞎 𝞏 𝞐 𝞑 𝞒 𝞓 𝞔 𝞕 𝞖 𝞗 𝞘 𝞙 𝞚 𝞛 𝞜 𝞝 𝞞 𝞟 𝞠 𝞡 𝞢 𝞣 𝞤 𝞥 𝞦 𝞧 𝞨 𝞩 𝞪 𝞫 𝞬 𝞭 𝞮 𝞯 𝞰 𝞱 𝞲 𝞳 𝞴 𝞵 𝞶 𝞷 𝞸 𝞹 𝞺 𝞻 𝞼 𝞽 𝞾 𝞿 𝟀 𝟁 𝟂 𝟃 𝟄 𝟅 𝟆 𝟇 𝟈 𝟉 𝟎 𝟏 𝟐 𝟑 𝟒 𝟓 𝟔 𝟕 𝟖 𝟗 𝟘 𝟙 𝟚 𝟛 𝟜 𝟝 𝟞 𝟟 𝟠 𝟡 𝟢 𝟣 𝟤 𝟥 𝟦 𝟧 𝟨 𝟩 𝟪 𝟫 𝟬 𝟭 𝟮 𝟯 𝟰 𝟱 𝟲 𝟳 𝟴 𝟵 𝟶 𝟷 𝟸 𝟹 𝟺 𝟻 𝟼 𝟽 𝟾 𝟿 - ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M + + ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ …   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ Ā ā Ă ă Ą ą Ć @@ -7835,11 +7842,13 @@ N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u 芑 芋 芝 劳 花 芳 芽 苦 𦬼 若 茝 荣 莭 茣 莽 菧 著 荓 菊 菌 菜 𦰶 𦵫 𦳕 䔫 蓱 蓳 蔖 𧏊 蕤 𦼬 䕝 䕡 𦾱 𧃒 䕫 虐 虜 虧 虩 蚩 蚈 蜎 蛢 蝹 蜨 蝫 螆 䗗 蟡 蠁 䗹 衠 衣 𧙧 裗 裞 䘵 裺 㒻 𧢮 𧥦 䚾 䛇 誠 諭 變 豕 𧲨 貫 賁 贛 起 𧼯 𠠄 跋 趼 跰 𠣞 軔 輸 𨗒 𨗭 邔 郱 鄑 𨜮 鄛 鈸 鋗 鋘 鉼 鏹 鐕 𨯺 開 䦕 閷 𨵷 䧦 雃 嶲 霣 𩅅 𩈚 䩮 䩶 韠 𩐊 䪲 𩒖 頋 頋 頩 𩖶 飢 䬳 餩 馧 駂 駾 䯎 𩬰 鬒 鱀 鳽 䳎 䳭 鵧 𪃎 䳸 𪄅 𪈎 𪊑 麻 䵖 黹 黾 鼅 鼏 鼖 鼻 𪘀 - ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M + + ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ …   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ - ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M + + ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ …   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ Ā ā Ă ă Ą ą Ć @@ -7897,7 +7906,8 @@ N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u ཁ ག གྷ ང ཅ ཆ ཇ ཉ ཊ ཋ ཌ ཌྷ ཎ ཏ ཐ ད དྷ ན པ ཕ བ བྷ མ ཙ ཚ ཛ ཛྷ ཝ ཞ ཟ འ ཡ ར ལ ཤ ཥ ས ཧ ཨ ཀྵ ཪ ཱ ི ཱི ུ ཱུ ྲྀ ཷ ླྀ ཹ ེ ཻ ོ ཽ ཾ ཿ ྀ ཱྀ ྂ ྃ ྄ ྅ ྆ ྇ ྈ ྉ ྊ ྋ ྐ ྑ ྒ ྒྷ ྔ ྕ ྖ ྗ ྙ ྚ ྛ ྜ ྜྷ ྞ ྟ ྠ ྡ ྡྷ ྣ ྤ ྥ ྦ ྦྷ ྨ ྩ ྪ ྫ ྫྷ ྭ ྮ ྯ ྰ ྱ ྲ ླ ྴ ྵ ྶ ྷ ྸ ྐྵ ྺ ྻ ྼ ྾ ྿ ࿀ ࿁ ࿂ ࿃ ࿄ ࿅ ࿆ ࿇ ࿈ ࿉ ࿊ ࿋ ࿌ ࿏ ࿐ ࿑ - ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M + + ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ …   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ Ā ā Ă ă Ą ą Ć diff --git a/testsuite/tests-to-run/parallel-local1.sh b/testsuite/tests-to-run/parallel-local1.sh index 6d7842eb..432d4538 100644 --- a/testsuite/tests-to-run/parallel-local1.sh +++ b/testsuite/tests-to-run/parallel-local1.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1 -r echo moved to parallel-local-1s.sh diff --git a/testsuite/tests-to-run/parallel-local10.sh b/testsuite/tests-to-run/parallel-local10.sh index 851f42c5..877ec604 100755 --- a/testsuite/tests-to-run/parallel-local10.sh +++ b/testsuite/tests-to-run/parallel-local10.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + echo '### Test with old perl libs' # Old libraries are put into input-files/perllib PERL5LIB=input-files/perllib:../input-files/perllib; export PERL5LIB diff --git a/testsuite/tests-to-run/parallel-local104.sh b/testsuite/tests-to-run/parallel-local104.sh index 04cbdd2a..b1d8d400 100755 --- a/testsuite/tests-to-run/parallel-local104.sh +++ b/testsuite/tests-to-run/parallel-local104.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + rm -rf tmp 2>/dev/null cd input-files tar xjf random_dirs_no_newline.tar.bz2 diff --git a/testsuite/tests-to-run/parallel-local105.sh b/testsuite/tests-to-run/parallel-local105.sh index 8c97937b..4dadeeb6 100755 --- a/testsuite/tests-to-run/parallel-local105.sh +++ b/testsuite/tests-to-run/parallel-local105.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + TMP=/run/shm/parallel_local105 rm -rf $TMP 2>/dev/null mkdir -p $TMP diff --git a/testsuite/tests-to-run/parallel-local108.sh b/testsuite/tests-to-run/parallel-local108.sh index 48a8a5f2..714c8af4 100755 --- a/testsuite/tests-to-run/parallel-local108.sh +++ b/testsuite/tests-to-run/parallel-local108.sh @@ -1,4 +1,5 @@ #!/bin/bash - - +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later \ No newline at end of file diff --git a/testsuite/tests-to-run/parallel-local114.sh b/testsuite/tests-to-run/parallel-local114.sh index 7e948afe..39e818c1 100755 --- a/testsuite/tests-to-run/parallel-local114.sh +++ b/testsuite/tests-to-run/parallel-local114.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1 -r echo "### bug #41482: --pipe --compress blocks at different -j/seq combinations" seq 1 | parallel -k -j2 --compress -N1 -L1 --pipe cat; diff --git a/testsuite/tests-to-run/parallel-local12.sh b/testsuite/tests-to-run/parallel-local12.sh index 7548e4fc..d18be68e 100644 --- a/testsuite/tests-to-run/parallel-local12.sh +++ b/testsuite/tests-to-run/parallel-local12.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + rm -f ~/.parallel/will-cite resize=`resize` diff --git a/testsuite/tests-to-run/parallel-local129.sh b/testsuite/tests-to-run/parallel-local129.sh index 05a7907c..714c8af4 100644 --- a/testsuite/tests-to-run/parallel-local129.sh +++ b/testsuite/tests-to-run/parallel-local129.sh @@ -1,2 +1,5 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later \ No newline at end of file diff --git a/testsuite/tests-to-run/parallel-local13.sh b/testsuite/tests-to-run/parallel-local13.sh index e9b5a0b3..9badb57d 100644 --- a/testsuite/tests-to-run/parallel-local13.sh +++ b/testsuite/tests-to-run/parallel-local13.sh @@ -1,5 +1,9 @@ #!/bin/bash -x +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + echo '### Tests from xargs' rsync -Ha --delete input-files/xargs-inputs/ tmp/ diff --git a/testsuite/tests-to-run/parallel-local14.sh b/testsuite/tests-to-run/parallel-local14.sh index 0b2e217c..d2026420 100644 --- a/testsuite/tests-to-run/parallel-local14.sh +++ b/testsuite/tests-to-run/parallel-local14.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Make a dir that is easy to fill up SHM=/tmp/shm/parallel-local14 mkdir -p $SHM diff --git a/testsuite/tests-to-run/parallel-local140.sh b/testsuite/tests-to-run/parallel-local140.sh index 05a7907c..714c8af4 100644 --- a/testsuite/tests-to-run/parallel-local140.sh +++ b/testsuite/tests-to-run/parallel-local140.sh @@ -1,2 +1,5 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later \ No newline at end of file diff --git a/testsuite/tests-to-run/parallel-local15.sh b/testsuite/tests-to-run/parallel-local15.sh index 8d67a6ca..76a52917 100755 --- a/testsuite/tests-to-run/parallel-local15.sh +++ b/testsuite/tests-to-run/parallel-local15.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + TMP=/run/shm/parallel_$$ rsync -Ha --delete input-files/testdir/ $TMP/ diff --git a/testsuite/tests-to-run/parallel-local150.sh b/testsuite/tests-to-run/parallel-local150.sh index cab8c27d..d42ef294 100644 --- a/testsuite/tests-to-run/parallel-local150.sh +++ b/testsuite/tests-to-run/parallel-local150.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + rsync -Ha --delete input-files/segfault/ tmp/ cd tmp diff --git a/testsuite/tests-to-run/parallel-local152.sh b/testsuite/tests-to-run/parallel-local152.sh index faa01d58..52002697 100644 --- a/testsuite/tests-to-run/parallel-local152.sh +++ b/testsuite/tests-to-run/parallel-local152.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + echo "### test global config - must run alone so the global config does not confuse others" echo "### test --tollef in global config" echo /etc/parallel/config | sudo parallel "mkdir -p /etc/parallel; echo --tollef > " diff --git a/testsuite/tests-to-run/parallel-local154.sh b/testsuite/tests-to-run/parallel-local154.sh index 7a693aac..714c8af4 100644 --- a/testsuite/tests-to-run/parallel-local154.sh +++ b/testsuite/tests-to-run/parallel-local154.sh @@ -1,3 +1,5 @@ #!/bin/bash - +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later \ No newline at end of file diff --git a/testsuite/tests-to-run/parallel-local157.sh b/testsuite/tests-to-run/parallel-local157.sh index 05a7907c..714c8af4 100644 --- a/testsuite/tests-to-run/parallel-local157.sh +++ b/testsuite/tests-to-run/parallel-local157.sh @@ -1,2 +1,5 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later \ No newline at end of file diff --git a/testsuite/tests-to-run/parallel-local164.sh b/testsuite/tests-to-run/parallel-local164.sh index 7b4cba51..77e9d41e 100644 --- a/testsuite/tests-to-run/parallel-local164.sh +++ b/testsuite/tests-to-run/parallel-local164.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # -L1 will join lines ending in ' ' cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1 -r diff --git a/testsuite/tests-to-run/parallel-local18.sh b/testsuite/tests-to-run/parallel-local18.sh index c95fd492..264cc294 100644 --- a/testsuite/tests-to-run/parallel-local18.sh +++ b/testsuite/tests-to-run/parallel-local18.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + par_space() { echo '### Test --env - https://savannah.gnu.org/bugs/?37351' export TWOSPACES=' 2 spaces ' diff --git a/testsuite/tests-to-run/parallel-local19.sh b/testsuite/tests-to-run/parallel-local19.sh index 05a7907c..714c8af4 100755 --- a/testsuite/tests-to-run/parallel-local19.sh +++ b/testsuite/tests-to-run/parallel-local19.sh @@ -1,2 +1,5 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later \ No newline at end of file diff --git a/testsuite/tests-to-run/parallel-local2.sh b/testsuite/tests-to-run/parallel-local2.sh index 22e5956c..0385908d 100644 --- a/testsuite/tests-to-run/parallel-local2.sh +++ b/testsuite/tests-to-run/parallel-local2.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + cpuburn=$(tempfile) (echo '#!/usr/bin/perl' echo "eval{setpriority(0,0,9)}; while(1){}") > $cpuburn diff --git a/testsuite/tests-to-run/parallel-local20.sh b/testsuite/tests-to-run/parallel-local20.sh index 5f5e971b..c86b142e 100644 --- a/testsuite/tests-to-run/parallel-local20.sh +++ b/testsuite/tests-to-run/parallel-local20.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + echo '### Test of #! --shebang' cat >/tmp/shebang < 130k'; seq 1 60000 | parallel -m -j1 echo a{}b{}c | tee >(wc >/tmp/awc$$) >(sort | md5sum) >/tmp/a$$; diff --git a/testsuite/tests-to-run/parallel-local23.sh b/testsuite/tests-to-run/parallel-local23.sh index 18eabe40..b432705f 100755 --- a/testsuite/tests-to-run/parallel-local23.sh +++ b/testsuite/tests-to-run/parallel-local23.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + rm -rf tmp 2>/dev/null cp -a input-files/testdir2 tmp diff --git a/testsuite/tests-to-run/parallel-local4.sh b/testsuite/tests-to-run/parallel-local4.sh index bf692ad7..2be663d8 100644 --- a/testsuite/tests-to-run/parallel-local4.sh +++ b/testsuite/tests-to-run/parallel-local4.sh @@ -1,4 +1,9 @@ #!/bin/bash + +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + cat <<'EOF' | sed -e 's/;$/; /;' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1 -r echo '### -L -n with pipe' diff --git a/testsuite/tests-to-run/parallel-local5.sh b/testsuite/tests-to-run/parallel-local5.sh index 04da4ecd..e4faf5af 100644 --- a/testsuite/tests-to-run/parallel-local5.sh +++ b/testsuite/tests-to-run/parallel-local5.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + echo '### Test --pipe' # Make some pseudo random input that stays the same seq 1 1000000 >/tmp/parallel-seq diff --git a/testsuite/tests-to-run/parallel-local6.sh b/testsuite/tests-to-run/parallel-local6.sh index 05a7907c..714c8af4 100755 --- a/testsuite/tests-to-run/parallel-local6.sh +++ b/testsuite/tests-to-run/parallel-local6.sh @@ -1,2 +1,5 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later \ No newline at end of file diff --git a/testsuite/tests-to-run/parallel-local7.sh b/testsuite/tests-to-run/parallel-local7.sh index 0b1fd480..4fd73de3 100755 --- a/testsuite/tests-to-run/parallel-local7.sh +++ b/testsuite/tests-to-run/parallel-local7.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + par_tmux_filter() { # /tmp/parallel-local7/tmsOU2Ig perl -pe 's:(/tmp\S+/tms).....:$1XXXXX:;s/ p\d+/pID/;' diff --git a/testsuite/tests-to-run/parallel-local8.sh b/testsuite/tests-to-run/parallel-local8.sh index dc7f191b..c80a80e0 100644 --- a/testsuite/tests-to-run/parallel-local8.sh +++ b/testsuite/tests-to-run/parallel-local8.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + par_dummy() { true; } export -f $(compgen -A function | grep par_) diff --git a/testsuite/tests-to-run/parallel-local9.sh b/testsuite/tests-to-run/parallel-local9.sh index bbcd9684..82b0a5c2 100644 --- a/testsuite/tests-to-run/parallel-local9.sh +++ b/testsuite/tests-to-run/parallel-local9.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + PAR="nice nice parallel -j2 --pipe --keeporder --block 150000 --tmpdir=/dev/shm" export PAR XAP="nice nice parallel --xapply" diff --git a/testsuite/tests-to-run/parallel-localhost1.sh b/testsuite/tests-to-run/parallel-localhost1.sh index 80aafed2..b7b11da2 100644 --- a/testsuite/tests-to-run/parallel-localhost1.sh +++ b/testsuite/tests-to-run/parallel-localhost1.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + echo '### Test --env all chars except \n,\92,\160 - single and double - no output is good' # 92 and 160 are special for csh diff --git a/testsuite/tests-to-run/parallel-macos.sh b/testsuite/tests-to-run/parallel-macos.sh index 89107005..694c8c7c 100644 --- a/testsuite/tests-to-run/parallel-macos.sh +++ b/testsuite/tests-to-run/parallel-macos.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + . `which env_parallel.bash` env_parallel --session diff --git a/testsuite/tests-to-run/parallel-polarhome.sh b/testsuite/tests-to-run/parallel-polarhome.sh index dfca7e41..e610f768 100644 --- a/testsuite/tests-to-run/parallel-polarhome.sh +++ b/testsuite/tests-to-run/parallel-polarhome.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Check servers up on http://www.polarhome.com/service/status/ unset TIMEOUT . `which env_parallel.bash` diff --git a/testsuite/tests-to-run/parallel-remote1.sh b/testsuite/tests-to-run/parallel-remote1.sh index c62305c4..c1c62799 100644 --- a/testsuite/tests-to-run/parallel-remote1.sh +++ b/testsuite/tests-to-run/parallel-remote1.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SERVER2=parallel-server2 SERVER3=parallel-server3 diff --git a/testsuite/tests-to-run/parallel-tutorial.sh b/testsuite/tests-to-run/parallel-tutorial.sh index ed5a112c..32706f33 100644 --- a/testsuite/tests-to-run/parallel-tutorial.sh +++ b/testsuite/tests-to-run/parallel-tutorial.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + find {$TMPDIR,/var/tmp,/tmp}/{fif,tms,par[^a]}* -mmin -10 2>/dev/null | parallel rm cd testsuite 2>/dev/null rm -rf tmp diff --git a/testsuite/tests-to-run/parallel-virtualbox1.sh b/testsuite/tests-to-run/parallel-virtualbox1.sh index 67f794e3..4f1fddfb 100644 --- a/testsuite/tests-to-run/parallel-virtualbox1.sh +++ b/testsuite/tests-to-run/parallel-virtualbox1.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + stdout ping -w 1 -c 1 centos3 >/dev/null || ( # Vagrant does not set the IP addr cd testsuite/vagrant/tange/centos3/ 2>/dev/null diff --git a/testsuite/tests-to-run/parsort-local-01.sh b/testsuite/tests-to-run/parsort-local-01.sh index 40c36fc7..0c86c74d 100644 --- a/testsuite/tests-to-run/parsort-local-01.sh +++ b/testsuite/tests-to-run/parsort-local-01.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + par_whitespace_delimiter() { echo 'bug #59779: parsort does not work with white characters as delimiters' doit() { diff --git a/testsuite/tests-to-run/sem01.sh b/testsuite/tests-to-run/sem01.sh index b6e04115..68989fa4 100755 --- a/testsuite/tests-to-run/sem01.sh +++ b/testsuite/tests-to-run/sem01.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # -L1 will join lines ending in ' ' cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1 -r echo '### Test mutex. This should not mix output'; diff --git a/testsuite/tests-to-run/sem02.sh b/testsuite/tests-to-run/sem02.sh index f69a4f18..d7ccb8ae 100644 --- a/testsuite/tests-to-run/sem02.sh +++ b/testsuite/tests-to-run/sem02.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + minipv() { sleep=$1 while read line; do diff --git a/testsuite/tests-to-run/sql01.sh b/testsuite/tests-to-run/sql01.sh index b6501981..b4ea49a4 100755 --- a/testsuite/tests-to-run/sql01.sh +++ b/testsuite/tests-to-run/sql01.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + exec 2>&1 ## Setup diff --git a/testsuite/tests-to-run/sql02.sh b/testsuite/tests-to-run/sql02.sh index 683033bc..5610cf19 100644 --- a/testsuite/tests-to-run/sql02.sh +++ b/testsuite/tests-to-run/sql02.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + cd /tmp echo '### Test of sqlite' for CMDSQL in sqlite sqlite3 ; do diff --git a/testsuite/tests-to-run/sql03.sh b/testsuite/tests-to-run/sql03.sh index 0a299bbf..533ba8b2 100644 --- a/testsuite/tests-to-run/sql03.sh +++ b/testsuite/tests-to-run/sql03.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + mysqlrootpass=${mysqlrootpass:-M-b+Ydjq4ejT4E} MYSQL_ADMIN_DBURL=mysql://root:$mysqlrootpass@/mysql diff --git a/testsuite/tests-to-run/test13.sh b/testsuite/tests-to-run/test13.sh index 2c978aa3..a9bca8fb 100755 --- a/testsuite/tests-to-run/test13.sh +++ b/testsuite/tests-to-run/test13.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # moved to parallel-local-ssh8.sh # parallel-local-0.3s.sh # parallel-local-10s.sh diff --git a/testsuite/tests-to-run/test15.sh b/testsuite/tests-to-run/test15.sh index 988d0696..3cfd74cc 100755 --- a/testsuite/tests-to-run/test15.sh +++ b/testsuite/tests-to-run/test15.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # Test xargs compatibility #rm -f ~/.parallel/will-cite diff --git a/testsuite/tests-to-run/test17.sh b/testsuite/tests-to-run/test17.sh index b6450c46..44fc9088 100755 --- a/testsuite/tests-to-run/test17.sh +++ b/testsuite/tests-to-run/test17.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SERVER2=parallel-server2 SSHUSER1=vagrant diff --git a/testsuite/tests-to-run/test18.sh b/testsuite/tests-to-run/test18.sh index 62c6a640..42d8c48e 100644 --- a/testsuite/tests-to-run/test18.sh +++ b/testsuite/tests-to-run/test18.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SERVER2=parallel-server2 SSHUSER1=vagrant diff --git a/testsuite/tests-to-run/test19.sh b/testsuite/tests-to-run/test19.sh index 05bcf6e1..fc96a04e 100644 --- a/testsuite/tests-to-run/test19.sh +++ b/testsuite/tests-to-run/test19.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + # TODO return multiple SERVER1=parallel-server1 diff --git a/testsuite/tests-to-run/test21.sh b/testsuite/tests-to-run/test21.sh index 45e93c76..888ad1ff 100644 --- a/testsuite/tests-to-run/test21.sh +++ b/testsuite/tests-to-run/test21.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SERVER2=parallel-server2 SERVER2=parallel-server3 diff --git a/testsuite/tests-to-run/test23.sh b/testsuite/tests-to-run/test23.sh index e11ad3f6..3513cc6b 100644 --- a/testsuite/tests-to-run/test23.sh +++ b/testsuite/tests-to-run/test23.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SERVER2=parallel-server2 SSHUSER1=vagrant diff --git a/testsuite/tests-to-run/test30.sh b/testsuite/tests-to-run/test30.sh index 5deffbe8..3db7f633 100644 --- a/testsuite/tests-to-run/test30.sh +++ b/testsuite/tests-to-run/test30.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SERVER2=parallel-server2 SSHUSER1=vagrant diff --git a/testsuite/tests-to-run/test32.sh b/testsuite/tests-to-run/test32.sh index 05a7907c..714c8af4 100644 --- a/testsuite/tests-to-run/test32.sh +++ b/testsuite/tests-to-run/test32.sh @@ -1,2 +1,5 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later \ No newline at end of file diff --git a/testsuite/tests-to-run/test35.sh b/testsuite/tests-to-run/test35.sh index 54e2aa9f..9f12ff84 100755 --- a/testsuite/tests-to-run/test35.sh +++ b/testsuite/tests-to-run/test35.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SSHUSER1=vagrant SSHLOGIN1=$SSHUSER1@$SERVER1 diff --git a/testsuite/tests-to-run/test36.sh b/testsuite/tests-to-run/test36.sh index 17944bb2..39baacea 100644 --- a/testsuite/tests-to-run/test36.sh +++ b/testsuite/tests-to-run/test36.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SERVER2=parallel-server2 SERVER2=parallel-server3 diff --git a/testsuite/tests-to-run/test37.sh b/testsuite/tests-to-run/test37.sh index 5fb0a924..037ec743 100644 --- a/testsuite/tests-to-run/test37.sh +++ b/testsuite/tests-to-run/test37.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SERVER2=parallel-server2 SSHUSER1=vagrant diff --git a/testsuite/tests-to-run/test41.sh b/testsuite/tests-to-run/test41.sh index 24efa27b..7d16d1f2 100644 --- a/testsuite/tests-to-run/test41.sh +++ b/testsuite/tests-to-run/test41.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SERVER2=parallel-server2 SSHUSER1=vagrant diff --git a/testsuite/tests-to-run/test45.sh b/testsuite/tests-to-run/test45.sh index a8ca1e86..efdc1d71 100644 --- a/testsuite/tests-to-run/test45.sh +++ b/testsuite/tests-to-run/test45.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server3 SERVER2=parallel-server1 diff --git a/testsuite/tests-to-run/test46.sh b/testsuite/tests-to-run/test46.sh index 32a944e6..aea45fad 100644 --- a/testsuite/tests-to-run/test46.sh +++ b/testsuite/tests-to-run/test46.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SERVER2=parallel-server2 diff --git a/testsuite/tests-to-run/test47.sh b/testsuite/tests-to-run/test47.sh index b61270d0..73b7eab8 100644 --- a/testsuite/tests-to-run/test47.sh +++ b/testsuite/tests-to-run/test47.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SERVER2=parallel-server2 SERVER2=parallel-server3 diff --git a/testsuite/tests-to-run/test60.sh b/testsuite/tests-to-run/test60.sh index 80d83960..42592218 100644 --- a/testsuite/tests-to-run/test60.sh +++ b/testsuite/tests-to-run/test60.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SERVER2=parallel-server2 SSHUSER1=vagrant diff --git a/testsuite/tests-to-run/test61.sh b/testsuite/tests-to-run/test61.sh index 810ca973..436b9073 100644 --- a/testsuite/tests-to-run/test61.sh +++ b/testsuite/tests-to-run/test61.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + SERVER1=parallel-server1 SERVER2=parallel-server2 SSHUSER1=vagrant diff --git a/testsuite/vagrant/setup.sh b/testsuite/vagrant/setup.sh index 629f2f98..89f1bc14 100644 --- a/testsuite/vagrant/setup.sh +++ b/testsuite/vagrant/setup.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2021 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc. +# +# SPDX-License-Identifier: GPL-3.0-or-later + setup_one() { # setup_one ubuntu/trusty64 172.27.27.2 if [ -z "$2" ] ; then diff --git a/testsuite/wanted-results/parallel-local-3s b/testsuite/wanted-results/parallel-local-3s index 3fb351de..e1330866 100644 --- a/testsuite/wanted-results/parallel-local-3s +++ b/testsuite/wanted-results/parallel-local-3s @@ -389,19 +389,39 @@ par_totaljob_repl 10 par_totaljob_repl 10 par_totaljob_repl 10 par_totaljob_repl 10 -par_totaljob_repl 1 2 2 2 2 2 2 2 -par_totaljob_repl 2 2 2 2 2 2 2 2 -par_totaljob_repl 1 3 3 3 3 3 3 3 -par_totaljob_repl 2 3 3 3 3 3 3 3 +par_totaljob_repl 1 2 +par_totaljob_repl 2 2 +par_totaljob_repl 1 3 +par_totaljob_repl 2 3 par_totaljob_repl 3 3 -par_totaljob_repl 1 15 15 -par_totaljob_repl 2 14 14 -par_totaljob_repl 3 14 14 -par_totaljob_repl 4 14 14 -par_totaljob_repl 5 14 14 -par_totaljob_repl 6 14 14 -par_totaljob_repl 7 14 14 +par_totaljob_repl 1 15 +par_totaljob_repl 2 14 +par_totaljob_repl 3 14 +par_totaljob_repl 4 14 +par_totaljob_repl 5 14 +par_totaljob_repl 6 14 +par_totaljob_repl 7 14 par_totaljob_repl 8 14 +par_totaljob_repl 01/20:01 +par_totaljob_repl 02/20:02 +par_totaljob_repl 03/20:03 +par_totaljob_repl 04/20:04 +par_totaljob_repl 05/20:05 +par_totaljob_repl 06/20:06 +par_totaljob_repl 07/20:07 +par_totaljob_repl 08/20:08 +par_totaljob_repl 09/20:09 +par_totaljob_repl 10/20:10 +par_totaljob_repl 11/20:01 +par_totaljob_repl 12/20:02 +par_totaljob_repl 13/20:03 +par_totaljob_repl 14/20:04 +par_totaljob_repl 15/20:05 +par_totaljob_repl 16/20:06 +par_totaljob_repl 17/20:07 +par_totaljob_repl 18/20:08 +par_totaljob_repl 19/20:09 +par_totaljob_repl 20/20:10 par_wrong_slot_rpl_resume ### bug #47644: Wrong slot number replacement when resuming par_wrong_slot_rpl_resume 1 0 par_wrong_slot_rpl_resume 2 1 -- 2.11.4.GIT