Date: Tuesday, January 1, 2019 @ 18:27:28 Author: demize Revision: 420212
upgpkg: parallel 20181222-1 Modified: parallel/trunk/PKGBUILD parallel/trunk/remove-citation-nagging.patch -------------------------------+ PKGBUILD | 6 remove-citation-nagging.patch | 392 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 387 insertions(+), 11 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2019-01-01 18:05:45 UTC (rev 420211) +++ PKGBUILD 2019-01-01 18:27:28 UTC (rev 420212) @@ -4,7 +4,7 @@ # Contributor: Peter Simons <[email protected]> pkgname=parallel -pkgver=20181122 +pkgver=20181222 pkgrel=1 pkgdesc='A shell tool for executing jobs in parallel' arch=('any') @@ -13,9 +13,9 @@ depends=('perl' 'procps') source=(https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig} remove-citation-nagging.patch) -sha1sums=('e5501422315f989f622b564d4b75347abe799422' +sha1sums=('0eeb7f0503dc55c862f1c12d9d394f21e52764ae' 'SKIP' - '118706e9604bbb8de4d27682bb014a0614d6489a') + 'c33163602d9aabfe8a54c58a57f478642274f111') validpgpkeys=('CDA01A4208C4F74506107E7BD1AB451688888888') prepare() { Modified: remove-citation-nagging.patch =================================================================== --- remove-citation-nagging.patch 2019-01-01 18:05:45 UTC (rev 420211) +++ remove-citation-nagging.patch 2019-01-01 18:27:28 UTC (rev 420212) @@ -1,11 +1,387 @@ ---- a/src/parallel 2018-12-19 19:03:15.922924562 +0100 -+++ a/src/parallel 2018-12-19 19:06:12.754363549 +0100 -@@ -1455,7 +1455,7 @@ - # runs. If that is too much trouble for you, why not use one of - # the alternatives instead? - # See a list in: 'man parallel_alternatives' +--- a/src/parallel 2019-01-01 19:20:08.657296201 +0100 ++++ b/src/parallel 2019-01-01 19:24:39.786562723 +0100 +@@ -1083,8 +1083,6 @@ + "gnu" => \$opt::gnu, + "link|xapply" => \$opt::link, + "linkinputsource|xapplyinputsource=i" => \@opt::linkinputsource, +- # Before changing this line, please read +- # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice + "bibtex|citation" => \$opt::citation, + "wc|willcite|will-cite|nn|nonotice|no-notice" => \$opt::willcite, + # Termination and retries +@@ -1188,12 +1186,6 @@ + my @argv_before = @ARGV; + @ARGV = read_options(); + +- # Before changing this line, please read +- # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice +- if(defined $opt::citation) { +- citation(\@argv_before,\@ARGV); +- wait_and_exit(0); +- } + # no-* overrides * + if($opt::nokeeporder) { $opt::keeporder = undef; } + +@@ -1420,59 +1412,6 @@ + if(defined $opt::eta) { $opt::progress = $opt::eta; } + if(defined $opt::bar) { $opt::progress = $opt::bar; } + +- # Funding a free software project is hard. GNU Parallel is no +- # exception. On top of that it seems the less visible a project +- # is, the harder it is to get funding. And the nature of GNU +- # Parallel is that it will never be seen by "the guy with the +- # checkbook", but only by the people doing the actual work. +- # +- # This problem has been covered by others - though no solution has +- # been found: +- # https://www.slideshare.net/NadiaEghbal/consider-the-maintainer +- # https://www.numfocus.org/blog/why-is-numpy-only-now-getting-funded/ +- # +- # Before implementing the citation notice it was discussed with +- # the users: +- # https://lists.gnu.org/archive/html/parallel/2013-11/msg00006.html +- # +- # Having to spend 10 seconds on running 'parallel --citation' once +- # is no doubt not an ideal solution, but no one has so far come up +- # with an ideal solution - neither for funding GNU Parallel nor +- # other free software. +- # +- # If you believe you have the perfect solution, you should try it +- # out, and if it works, you should post it on the email +- # list. Ideas that will cost work and which have not been tested +- # are, however, unlikely to be prioritized. +- # +- # Please note that GPL version 3 gives you the right to fork GNU +- # Parallel under a new name, but it does not give you the right to +- # distribute modified copies with the citation notice disabled +- # under the name GNU Parallel. To do that you need to be the owner +- # of the GNU Parallel trademark. The xt:Commerce case shows this. +- # +- # Description of the xt:Commerce case in OLG Duesseldorf +- # http://www.inta.org/INTABulletin/Pages/GERMANYGeneralPublicLicenseDoesNotPermitUseofThird-PartyTrademarksforAdvertisingModifiedVersionsofOpen-SourceSoftware.aspx +- # https://web.archive.org/web/20180715073746/http://www.inta.org/INTABulletin/Pages/GERMANYGeneralPublicLicenseDoesNotPermitUseofThird-PartyTrademarksforAdvertisingModifiedVersionsofOpen-SourceSoftware.aspx +- # +- # The verdict in German +- # https://www.admody.com/urteilsdatenbank/cafe6fdaeed3/OLG-Duesseldorf_Urteil_vom_28-September-2010_Az_I-20-U-41-09 +- # https://web.archive.org/web/20180715073717/https://www.admody.com/urteilsdatenbank/cafe6fdaeed3/OLG-Duesseldorf_Urteil_vom_28-September-2010_Az_I-20-U-41-09 +- # +- # Other free software limiting derivates by the same name +- # https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux_derivatives#Legal_aspects +- # https://tm.joomla.org/trademark-faq.html +- # https://www.mozilla.org/en-US/foundation/trademarks/faq/ +- # +- # Running 'parallel --citation' one single time takes less than 10 +- # seconds, and will silence the citation notice for future +- # runs. If that is too much trouble for you, why not use one of +- # the alternatives instead? +- # See a list in: 'man parallel_alternatives' +- # +- # Please read the above before changing this line. - citation_notice(); -+ #citation_notice(); - +- parse_halt(); + if($ENV{'PARALLEL_ENV'}) { +@@ -1782,7 +1721,7 @@ + sub parse_semaphore { + # Semaphore defaults + # Must be done before computing number of processes and max_line_length +- # because when running as a semaphore GNU Parallel does not read args ++ # because when running as a semaphore Parallel does not read args + # Uses: + # $opt::semaphore + # $Global::semaphore +@@ -2598,7 +2537,7 @@ + # $Global::total_started = total number of jobs started + # $Global::joblog = filehandle of joblog + # $Global::debug = Is debugging on? +-# $Global::exitstatus = status code of GNU Parallel ++# $Global::exitstatus = status code of Parallel + # $Global::quoting = quote the command to run + + sub init_run_jobs { +@@ -3549,14 +3488,14 @@ + } + + sub _run_parallel { +- # Run GNU Parallel ++ # Run Parallel + # This should ideally just fork an internal copy + # and not start it through a shell + # Input: +- # $stdin = data to provide on stdin for GNU Parallel ++ # $stdin = data to provide on stdin for Parallel + # @args = command line arguments + # Returns: +- # $exitstatus = exitcode of GNU Parallel run ++ # $exitstatus = exitcode of Parallel run + # \@stdout = standard output + # \@stderr = standard error + my ($stdin,@args) = @_; +@@ -3931,7 +3870,7 @@ + ); + ::debug("init", "| $0 $options\n"); + open(my $parallel_fh, "|-", "$0 -0 --will-cite -j0 $options") || +- ::die_bug("This does not run GNU Parallel: $0 $options"); ++ ::die_bug("This does not run Parallel: $0 $options"); + my @joblogs; + for my $host (sort keys %Global::host) { + my $sshlogin = $Global::host{$host}; +@@ -3995,14 +3934,14 @@ + + sub signal_children { + # Send signal to all children process groups +- # and GNU Parallel itself ++ # and Parallel itself + # Uses: + # %SIG + # Returns: N/A + my $signal = shift; + debug("run", "Sending $signal "); + kill $signal, map { -$_ } keys %Global::running; +- # Use default signal handler for GNU Parallel itself ++ # Use default signal handler for Parallel itself + $SIG{$signal} = undef; + kill $signal, $$; + } +@@ -4274,77 +4213,9 @@ + "", + "See 'man $Global::progname' for details", + "", +- "Academic tradition requires you to cite works you base your article on.", +- "If you use programs that use GNU Parallel to process data for an article in a", +- "scientific publication, please cite:", +- "", +- " O. Tange (2018): GNU Parallel 2018, Mar 2018, ISBN 9781387509881,", +- " DOI https://doi.org/10.5281/zenodo.1146014", +- "", +- # Before changing this line, please read +- # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice +- "This helps funding further development; AND IT WON'T COST YOU A CENT.", +- "If you pay 10000 EUR you should feel free to use GNU Parallel without citing.", +- "", + "",); + } + +-sub citation_notice { +- # if --will-cite or --plain: do nothing +- # if stderr redirected: do nothing +- # if $PARALLEL_HOME/will-cite: do nothing +- # else: print citation notice to stderr +- if($opt::willcite +- or +- $opt::plain +- or +- not -t $Global::original_stderr +- or +- grep { -e "$_/will-cite" } @Global::config_dirs) { +- # skip +- } else { +- ::status +- ("Academic tradition requires you to cite works you base your article on.", +- "If you use programs that use GNU Parallel to process data for an article in a", +- "scientific publication, please cite:", +- "", +- " O. Tange (2018): GNU Parallel 2018, Mar 2018, ISBN 9781387509881,", +- " DOI https://doi.org/10.5281/zenodo.1146014", +- "", +- # Before changing this line, please read +- # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice +- "This helps funding further development; AND IT WON'T COST YOU A CENT.", +- "If you pay 10000 EUR you should feel free to use GNU Parallel without citing.", +- "", +- "More about funding GNU Parallel and the citation notice:", +- "https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice", +- "", +- "To silence this citation notice: run 'parallel --citation' once.", +- "" +- ); +- mkdir $Global::config_dir; +- # Number of times the user has run GNU Parallel without showing +- # willingness to cite +- my $runs = 0; +- if(open (my $fh, "<", $Global::config_dir. +- "/runs-without-willing-to-cite")) { +- $runs = <$fh>; +- close $fh; +- } +- $runs++; +- if(open (my $fh, ">", $Global::config_dir. +- "/runs-without-willing-to-cite")) { +- print $fh $runs; +- close $fh; +- if($runs >= 10) { +- ::status("Come on: You have run parallel $runs times. Isn't it about time ", +- "you run 'parallel --citation' once to silence the citation notice?", +- ""); +- } +- } +- } +-} +- + sub status { + my @w = @_; + my $fh = $Global::status_fd || *STDERR; +@@ -4392,93 +4263,16 @@ + # Returns: N/A + print join + ("\n", +- "GNU $Global::progname $Global::version", ++ "$Global::progname $Global::version", + "Copyright (C) 2007-2018 Ole Tange and Free Software Foundation, Inc.", + "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>", + "This is free software: you are free to change and redistribute it.", +- "GNU $Global::progname comes with no warranty.", ++ "$Global::progname comes with no warranty.", + "", + "Web site: http://www.gnu.org/software/${Global::progname}\n", +- "When using programs that use GNU Parallel to process data for publication", +- "please cite as described in 'parallel --citation'.\n", + ); + } + +-sub citation { +- # Returns: N/A +- my ($all_argv_ref,$argv_options_removed_ref) = @_; +- my $all_argv = "@$all_argv_ref"; +- my $no_opts = "@$argv_options_removed_ref"; +- $all_argv=~s/--citation//; +- if($all_argv ne $no_opts) { +- ::warning("--citation ignores all other options and arguments."); +- ::status(""); +- } +- +- ::status( +- "Academic tradition requires you to cite works you base your article on.", +- "If you use programs that use GNU Parallel to process data for an article in a", +- "scientific publication, please cite:", +- "", +- "\@book{tange_ole_2018_1146014,", +- " author = {Tange, Ole},", +- " title = {GNU Parallel 2018},", +- " publisher = {Ole Tange},", +- " month = Mar,", +- " year = 2018,", +- " ISBN = {9781387509881},", +- " doi = {10.5281/zenodo.1146014},", +- " url = {https://doi.org/10.5281/zenodo.1146014}", +- "}", +- "", +- "(Feel free to use \\nocite{tange_ole_2018_1146014})", +- "", +- # Before changing this line, please read +- # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice +- "This helps funding further development; AND IT WON'T COST YOU A CENT.", +- "If you pay 10000 EUR you should feel free to use GNU Parallel without citing.", +- "", +- "More about funding GNU Parallel and the citation notice:", +- "https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice", +- "", +- "If you send a copy of your published article to tange\@gnu.org, it will be", +- "mentioned in the release notes of next version of GNU Parallel.", +- "" +- ); +- while(not grep { -e "$_/will-cite" } @Global::config_dirs) { +- print "\nType: 'will cite' and press enter.\n> "; +- my $input = <STDIN>; +- if(not defined $input) { +- exit(255); +- } +- if($input =~ /will cite/i) { +- mkdir $Global::config_dir; +- if(open (my $fh, ">", $Global::config_dir."/will-cite")) { +- close $fh; +- ::status( +- "", +- "Thank you for your support. It is much appreciated. The citation", +- "notice is now silenced.", +- ""); +- } else { +- ::status( +- "", +- "Thank you for your support. It is much appreciated. The citation", +- "cannot permanently be silenced. Use '--will-cite' instead.", +- "", +- "If you use '--will-cite' in scripts to be run by others you are making", +- "it harder for others to see the citation notice. The development of", +- "GNU parallel is indirectly financed through citations, so if users", +- "do not know they should cite then you are making it harder to finance", +- "development. However, if you pay 10000 EUR, you should feel free to", +- "use '--will-cite' in scripts.", +- ""); +- last; +- } +- } +- } +-} +- + sub show_limits { + # Returns: N/A + print("Maximal size of command: ",Limits::Command::real_max_length(),"\n", +@@ -4490,7 +4284,7 @@ + } + + sub embed { +- # Give an embeddable version of GNU Parallel ++ # Give an embeddable version of Parallel + # Tested with: bash, zsh, ksh, ash, dash, sh + my $randomstring = "cut-here-".join"", + map { (0..9,"a".."z","A".."Z")[rand(62)] } (1..20); +@@ -4535,9 +4329,9 @@ + "; + + print q! +-# Embedded GNU Parallel created with --embed ++# Embedded Parallel created with --embed + parallel() { +- # Start GNU Parallel without leaving temporary files ++ # Start Parallel without leaving temporary files + # + # Not all shells support 'perl <(cat ...)' + # This is a complex way of doing: +@@ -5946,7 +5740,7 @@ + # Recompute a new one in the background + # The load average is computed as the number of processes waiting for disk + # or CPU right now. So it is the server load this instant and not averaged over +- # several minutes. This is needed so GNU Parallel will at most start one job ++ # several minutes. This is needed so Parallel will at most start one job + # that will push the load over the limit. + # + # Returns: +@@ -8138,8 +7932,8 @@ + # Returns: + # $script = 1-liner for perl -e + my $script = ::spacefree(0,q{ +- @GNU_Parallel = split /_/, "use_IPC::Open3;_use_MIME::Base64"; +- eval"@GNU_Parallel"; ++ @Parallel = split /_/, "use_IPC::Open3;_use_MIME::Base64"; ++ eval"@Parallel"; + $chld = $SIG{CHLD}; + $SIG{CHLD} = "IGNORE"; + # Search for bzip2. Not found => use default path +@@ -8191,13 +7985,13 @@ + # Will be wrapped in ' so single quote is forbidden. + # Spaces are stripped so spaces cannot be significant. + # The funny 'use IPC::Open3'-syntax is to avoid spaces and +- # to make it clear that this is a GNU Parallel command ++ # to make it clear that this is a Parallel command + # when looking at the process table. + # Returns: + # $script = 1-liner for perl -e + my $script = ::spacefree(0,q{ +- @GNU_Parallel=("use","IPC::Open3;","use","MIME::Base64"); +- eval "@GNU_Parallel"; ++ @Parallel=("use","IPC::Open3;","use","MIME::Base64"); ++ eval "@Parallel"; + my $eval = decode_base64(join"",@ARGV); + eval $eval; + }); +@@ -10783,7 +10577,7 @@ + my $ret = $self->{'arg_sub_queue'}->get(); + if($ret) { + if(grep { index($_->orig(),"\0") > 0 } @$ret) { +- # Allow for \0 in position 0 because GNU Parallel uses "\0noarg" ++ # Allow for \0 in position 0 because Parallel uses "\0noarg" + # to mean no-string + ::warning("A NUL character in the input was replaced with \\0.", + "NUL cannot be passed through in the argument list.",
