Date: Wednesday, November 17, 2021 @ 19:27:51 Author: grawlinson Revision: 1051109
upgpkg: parallel 20211022-1 New upstream release. Modified: parallel/trunk/0001-Remove-citation-things.patch parallel/trunk/0002-Remove-GNU-branding.patch parallel/trunk/PKGBUILD -----------------------------------+ 0001-Remove-citation-things.patch | 127 +++++++++++++++++------------------- 0002-Remove-GNU-branding.patch | 121 +++++++++++++++++++--------------- PKGBUILD | 15 ++-- 3 files changed, 139 insertions(+), 124 deletions(-) Modified: 0001-Remove-citation-things.patch =================================================================== --- 0001-Remove-citation-things.patch 2021-11-17 19:15:41 UTC (rev 1051108) +++ 0001-Remove-citation-things.patch 2021-11-17 19:27:51 UTC (rev 1051109) @@ -1,37 +1,26 @@ -From 7283e27213e016eeecfddc8d394fa2630a6da3ec Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Johannes=20L=C3=B6thberg?= <johan...@kyriasis.com> -Date: Fri, 22 Mar 2019 19:03:41 +0100 -Subject: [PATCH 1/2] Remove citation things -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Johannes Löthberg <johan...@kyriasis.com> ---- - src/parallel | 241 +-------------------------------------------------- - 1 file changed, 1 insertion(+), 240 deletions(-) - -diff --git a/src/parallel b/src/parallel -index 21eb3dc..e8ae7b0 100755 --- a/src/parallel +++ b/src/parallel -@@ -1609,9 +1609,6 @@ sub options_hash() { +@@ -1624,11 +1624,6 @@ sub options_hash() { "gnu" => \$opt::gnu, "link|xapply" => \$opt::link, "linkinputsource|xapplyinputsource=i" => \@opt::linkinputsource, -- # Before changing this line, please read +- # Before changing these lines, please read - # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice - # https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt +- # You accept to be put in a public hall of shame by removing +- # the lines. "bibtex|citation" => \$opt::citation, "wc|willcite|will-cite|nn|nonotice|no-notice" => \$opt::willcite, # Termination and retries -@@ -1718,13 +1715,6 @@ sub parse_options(@) { +@@ -1783,15 +1778,6 @@ sub parse_options(@) { my @argv_before = @ARGV; @ARGV = read_options(); -- # Before changing this line, please read +- # Before changing these line, please read - # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice - # https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt +- # You accept to be added to a public hall of shame by +- # removing the lines. - if(defined $opt::citation) { - citation(\@argv_before,\@ARGV); - wait_and_exit(0); @@ -39,7 +28,7 @@ # no-* overrides * if($opt::nokeeporder) { $opt::keeporder = undef; } -@@ -1959,78 +1949,6 @@ sub parse_options(@) { +@@ -2072,81 +2058,6 @@ sub parse_options(@) { if(defined $opt::eta) { $opt::progress = $opt::eta; } if(defined $opt::bar) { $opt::progress = $opt::bar; } @@ -52,8 +41,12 @@ - # This problem has been covered by others - though no solution has - # been found: - # https://www.slideshare.net/NadiaEghbal/consider-the-maintainer +- # https://blog.licensezero.com/2019/08/24/process-of-elimination.html - # https://www.numfocus.org/blog/why-is-numpy-only-now-getting-funded/ - # +- # The FAQ tells you why the citation notice exists: +- # https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt +- # - # If you want GNU Parallel to be maintained in the future, and not - # just wither away like so many other free software tools, you - # need to help finance the development. @@ -95,7 +88,7 @@ - # 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 +- # 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/ @@ -106,32 +99,33 @@ - # the alternatives instead? - # See a list in: 'man parallel_alternatives' - # -- # If you want GNU Parallel to be maintained in the future keep -- # this line. +- # If you want GNU Parallel to be maintained in the future you +- # should keep this line. - citation_notice(); -- # Seriously: *You* will be harming free software by removing the -- # notice. You make it harder to justify spending time developing -- # it. If you *do* remove the line, please email -- # hallofsh...@tange.dk if you want to avoid being put in a hall of -- # shame. +- # _YOU_ will be harming free software by removing the notice. You +- # accept to be added to a public hall of shame by removing the +- # line. This is because _YOU_ actively make it harder to justify +- # spending time developing GNU Parallel. - parse_halt(); if($ENV{'PARALLEL_ENV'}) { -@@ -4874,79 +4792,9 @@ sub usage() { +@@ -5071,83 +4982,9 @@ sub usage() { "", - "See 'man $Global::progname' for details", + "GNU Parallel can do much more. 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", +- " Tange, O. (2021, October 22). GNU Parallel 20211022 ('Sinclair').", +- " Zenodo. https://doi.org/10.5281/zenodo.5593566", - "", -- # Before changing this line, please read +- # Before changing these lines, please read - # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice -- # https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt +- # https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt +- # You accept to be put in a public hall of shame by removing +- # the lines. - "This helps funding further development; AND IT WON'T COST YOU A CENT.", - "If you pay 10000 EUR you should feel free to use GNU Parallel without citing.", - "", @@ -157,12 +151,14 @@ - "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", +- " Tange, O. (2021, October 22). GNU Parallel 20211022 ('Sinclair').", +- " Zenodo. https://doi.org/10.5281/zenodo.5593566", - "", -- # Before changing this line, please read -- # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice +- # Before changing these line, please read +- # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and - # https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt +- # You accept to be put in a public hall of shame by +- # removing the lines. - "This helps funding further development; AND IT WON'T COST YOU A CENT.", - "If you pay 10000 EUR you should feel free to use GNU Parallel without citing.", - "", @@ -173,7 +169,7 @@ - "" - ); - mkdir $Global::config_dir; -- # Number of times the user has run GNU Parallel without showing +- # Number of times the user has run GNU Parallel without showing - # willingness to cite - my $runs = 0; - if(open (my $fh, "<", $Global::config_dir. @@ -198,19 +194,16 @@ sub status(@) { my @w = @_; my $fh = $Global::status_fd || *STDERR; -@@ -4999,97 +4847,10 @@ sub version() { - "Foundation, Inc.", - "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>", +@@ -5212,97 +5049,7 @@ sub version() { "This is free software: you are free to change and redistribute it.", -- "GNU $Global::progname comes with no warranty.", -- "", -- "Web site: http://www.gnu.org/software/${Global::progname}\n", + "GNU $Global::progname comes with no warranty.", + "", +- "Web site: https://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", -+ "GNU $Global::progname comes with no warranty.\n", - ); - } - +- ); +-} +- -sub citation() { - # Returns: N/A - my ($all_argv_ref,$argv_options_removed_ref) = @_; @@ -227,22 +220,26 @@ - "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,", +- "\@software{tange_2021_5593566,", - " 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}", +- " title = {GNU Parallel 20211022 ('Sinclair')},", +- " month = Oct,", +- " year = 2021,", +- " note = {{GNU Parallel is a general parallelizer to run", +- " multiple serial command line programs in parallel", +- " without changing them.}},", +- " publisher = {Zenodo},", +- " doi = {10.5281/zenodo.5593566},", +- " url = {https://doi.org/10.5281/zenodo.5593566}", - "}", - "", -- "(Feel free to use \\nocite{tange_ole_2018_1146014})", +- "(Feel free to use \\nocite{tange_2021_5593566})", - "", -- # Before changing this line, please read -- # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice +- # Before changing these lines, please read +- # https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice and - # https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt +- # You accept to be put in a public hall of shame by removing +- # the lines. - "This helps funding further development; AND IT WON'T COST YOU A CENT.", - "If you pay 10000 EUR you should feel free to use GNU Parallel without citing.", - "", @@ -254,7 +251,7 @@ - "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>; @@ -292,11 +289,7 @@ - } - } - } --} -- + } + sub show_limits() { - # Returns: N/A - print("Maximal size of command: ",Limits::Command::real_max_length(),"\n", --- -2.26.2 Modified: 0002-Remove-GNU-branding.patch =================================================================== --- 0002-Remove-GNU-branding.patch 2021-11-17 19:15:41 UTC (rev 1051108) +++ 0002-Remove-GNU-branding.patch 2021-11-17 19:27:51 UTC (rev 1051109) @@ -1,23 +1,15 @@ -From 053a577963192e699bcbe715672d15d84f46e8dd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Johannes=20L=C3=B6thberg?= <johan...@kyriasis.com> -Date: Fri, 22 Mar 2019 19:04:42 +0100 -Subject: [PATCH 2/2] Remove GNU branding -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -To comply with trademark requirements. - -Signed-off-by: Johannes Löthberg <johan...@kyriasis.com> ---- - src/parallel | 62 ++++++++++++++++++++++++++-------------------------- - 1 file changed, 31 insertions(+), 31 deletions(-) - -diff --git a/src/parallel b/src/parallel -index e8ae7b0..502cebb 100755 --- a/src/parallel +++ b/src/parallel -@@ -1758,7 +1758,7 @@ sub parse_options(@) { +@@ -1750,7 +1750,7 @@ sub parse_parset() { + ("@illegal is an invalid variable name.", + "Variable names must be letter followed by letters or digits.", + "Usage:", +- " parset varname GNU Parallel options and command"); ++ " parset varname Parallel options and command"); + wait_and_exit(255); + } + if($var_or_assoc eq "assoc") { +@@ -1839,7 +1839,7 @@ sub parse_options(@) { if(defined $opt::tmpdir) { $ENV{'TMPDIR'} = $opt::tmpdir; } $ENV{'PARALLEL_RSYNC_OPTS'} = $opt::rsync_opts || $ENV{'PARALLEL_RSYNC_OPTS'} || '-rlDzR'; @@ -26,9 +18,9 @@ $opt::nice ||= eval { getpriority(0,0) } || 0; if(defined $opt::help) { usage(); exit(0); } if(defined $opt::embed) { embed(); exit(0); } -@@ -2066,7 +2066,7 @@ sub init_globals() { +@@ -2177,7 +2177,7 @@ sub init_globals() { # Defaults: - $Global::version = 20200322; + $Global::version = 20211022; $Global::progname = 'parallel'; - $::name = "GNU Parallel"; + $::name = "Parallel"; @@ -35,25 +27,25 @@ $Global::infinity = 2**31; $Global::debug = 0; $Global::verbose = 0; -@@ -2281,7 +2281,7 @@ sub parse_replacement_string_options() { +@@ -2424,7 +2424,7 @@ sub parse_replacement_string_options() { 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 GNU Parallel does not read args + # because when running as a semaphore Parallel does not read args # Uses: # $opt::semaphore # $Global::semaphore -@@ -3110,7 +3110,7 @@ sub __RUNNING_THE_JOBS_AND_PRINTING_PROGRESS__() {} +@@ -3255,7 +3255,7 @@ sub __RUNNING_THE_JOBS_AND_PRINTING_PROGRESS__() {} # $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 GNU Parallel +# $Global::exitstatus = status code of Parallel # $Global::quoting = quote the command to run sub init_run_jobs() { -@@ -4019,7 +4019,7 @@ sub setup_basefile() { +@@ -4168,7 +4168,7 @@ sub setup_basefile() { } debug("init", "basesetup: @cmd\n"); my ($exitstatus,$stdout_ref,$stderr_ref) = @@ -62,7 +54,7 @@ if($exitstatus) { my @stdout = @$stdout_ref; my @stderr = @$stderr_ref; -@@ -4049,7 +4049,7 @@ sub cleanup_basefile() { +@@ -4198,7 +4198,7 @@ sub cleanup_basefile() { } debug("init", "basecleanup: @cmd\n"); my ($exitstatus,$stdout_ref,$stderr_ref) = @@ -71,7 +63,7 @@ if($exitstatus) { my @stdout = @$stdout_ref; my @stderr = @$stderr_ref; -@@ -4058,22 +4058,22 @@ sub cleanup_basefile() { +@@ -4207,22 +4207,22 @@ sub cleanup_basefile() { } } @@ -84,35 +76,35 @@ } -sub _run_gnu_parallel() { -- # Run GNU Parallel +- # Run GNU Parallel +sub _run_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 GNU Parallel + # $stdin = data to provide on stdin for Parallel # @args = command line arguments # Returns: -- # $exitstatus = exitcode of GNU Parallel run +- # $exitstatus = exitcode of GNU Parallel run + # $exitstatus = exitcode of Parallel run # \@stdout = standard output # \@stderr = standard error my ($stdin,@args) = @_; -@@ -4449,7 +4449,7 @@ sub onall($@) { +@@ -4612,7 +4612,7 @@ sub onall($@) { ); ::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 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}; -@@ -4513,14 +4513,14 @@ sub sigpipe() { +@@ -4676,14 +4676,14 @@ sub sigpipe() { sub signal_children() { # Send signal to all children process groups -- # and GNU Parallel itself +- # and GNU Parallel itself + # and Parallel itself # Uses: # %SIG @@ -120,27 +112,36 @@ 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 GNU Parallel itself + # Use default signal handler for Parallel itself $SIG{$signal} = undef; kill $signal, $$; } -@@ -4842,12 +4842,12 @@ sub version() { +@@ -4980,7 +4980,7 @@ sub usage() { + "--recend str Record end separator for --pipe.", + "--recstart str Record start separator for --pipe.", + "", +- "GNU Parallel can do much more. See 'man $Global::progname' for details", ++ "Parallel can do much more. See 'man $Global::progname' for details", + "", + "",); + } +@@ -5042,12 +5042,12 @@ sub version() { # Returns: N/A print join ("\n", - "GNU $Global::progname $Global::version", + "$Global::progname $Global::version", - "Copyright (C) 2007-2020 Ole Tange, http://ole.tange.dk and Free Software", + "Copyright (C) 2007-2021 Ole Tange, http://ole.tange.dk and Free Software", "Foundation, Inc.", - "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>", + "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>", "This is free software: you are free to change and redistribute it.", -- "GNU $Global::progname comes with no warranty.\n", -+ "$Global::progname comes with no warranty.\n", +- "GNU $Global::progname comes with no warranty.", ++ "$Global::progname comes with no warranty.", + "", ); } - -@@ -4862,7 +4862,7 @@ sub show_limits() { +@@ -5063,7 +5063,7 @@ sub show_limits() { } sub embed() { @@ -149,7 +150,7 @@ # Tested with: bash, zsh, ksh, ash, dash, sh my $randomstring = "cut-here-".join"", map { (0..9,"a".."z","A".."Z")[rand(62)] } (1..20); -@@ -4907,9 +4907,9 @@ sub embed() { +@@ -5108,9 +5108,9 @@ sub embed() { "; print q! @@ -161,7 +162,7 @@ # # Not all shells support 'perl <(cat ...)' # This is a complex way of doing: -@@ -4920,7 +4920,7 @@ parallel() { +@@ -5121,7 +5121,7 @@ parallel() { # [1]+ Done cat # Make a temporary fifo that perl can read from @@ -170,7 +171,7 @@ do { $f = "/tmp/parallel-".join"", map { (0..9,"a".."z","A".."Z")[rand(62)] } (1..5); -@@ -4929,9 +4929,9 @@ parallel() { +@@ -5130,9 +5130,9 @@ parallel() { print $f;'` # Put source code into temporary file # so it is easy to copy to the fifo @@ -182,7 +183,7 @@ @source, $randomstring,"\n", q! -@@ -4939,10 +4939,10 @@ parallel() { +@@ -5140,10 +5140,10 @@ parallel() { # and remove the file and fifo ASAP # 'sh -c' is needed to avoid # [1]+ Done cat @@ -195,7 +196,16 @@ } !, @env_parallel_source, -@@ -6384,7 +6384,7 @@ sub loadavg($) { +@@ -5155,7 +5155,7 @@ env_parallel --session + env_parallel -k echo ::: Put your code here + parset p,y,c,h -k echo ::: Put your code here + echo $p $y $c $h +-echo You can also activate GNU Parallel for interactive use by: ++echo You can also activate Parallel for interactive use by: + echo . "$0" + !; + } else { +@@ -6725,7 +6725,7 @@ sub loadavg($) { # 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 @@ -204,7 +214,7 @@ # that will push the load over the limit. # # Returns: -@@ -8552,8 +8552,8 @@ sub base64_zip_eval() { +@@ -9052,8 +9052,8 @@ sub base64_zip_eval() { # Returns: # $script = 1-liner for perl -e my $script = ::spacefree(0,q{ @@ -215,7 +225,7 @@ $chld = $SIG{CHLD}; $SIG{CHLD} = "IGNORE"; # Search for bzip2. Not found => use default path -@@ -8605,13 +8605,13 @@ sub base64_eval($) { +@@ -9105,13 +9105,13 @@ sub base64_eval($) { # 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 @@ -232,7 +242,16 @@ my $eval = decode_base64(join"",@ARGV); eval $eval; }); -@@ -11285,7 +11285,7 @@ sub get($) { +@@ -10957,7 +10957,7 @@ sub slot($) { + # To be safe assume all arguments are one-char + # The max_len is cached between runs, but if the size of + # the environment is different we need to recompute the +- # usable max length for this run of GNU Parallel ++ # usable max length for this run of Parallel + # See https://unix.stackexchange.com/a/604943/2972 + if(not $darwin_max_len) { + my $envc = (keys %ENV); +@@ -12152,7 +12152,7 @@ sub get($) { my $ret = $self->{'arg_sub_queue'}->get(); if($ret) { if(grep { index($_->orig(),"\0") > 0 } @$ret) { @@ -241,6 +260,4 @@ # to mean no-string ::warning("A NUL character in the input was replaced with \\0.", "NUL cannot be passed through in the argument list.", --- -2.26.2 Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-11-17 19:15:41 UTC (rev 1051108) +++ PKGBUILD 2021-11-17 19:27:51 UTC (rev 1051109) @@ -1,10 +1,11 @@ # Maintainer: Johannes Löthberg <johan...@kyriasis.com> +# Contributor: George Rawlinson <grawlin...@archlinux.org> # Contributor: Timothy Redaelli <timothy.redae...@gmail.com> # Contributor: Vianney le Clément <vleclement AT gmail·com> # Contributor: Peter Simons <sim...@cryp.to> pkgname=parallel -pkgver=20200322 +pkgver=20211022 pkgrel=1 pkgdesc='A shell tool for executing jobs in parallel' arch=('any') @@ -14,10 +15,14 @@ source=(https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig} 0001-Remove-citation-things.patch 0002-Remove-GNU-branding.patch) -sha1sums=('073ff02f6140f8a7ccfcd695e09895a6e9720559' - 'SKIP' - '8b6c47736cd827f3a826dbceb03925678c3d2080' - '0f61b5e584063daa7c7be08734fdec10acba36d6') +sha512sums=('bf48f7b13ecfae7275efa5935fcbfbbc942c290daa226243c12de15f3a4579ce64c862b8bae93e5c97af798fb529d4cd750e6b83803f48c33604e3a3212fe157' + 'SKIP' + 'fa594beb8cf8298c52f10251263cd23109cb125fc4dafd84d1d366cbf923f2d460438dbf20250712cfa4249d0e7fe18941b531fb16e0a6fc41acee8b77bf4fad' + '211f6f65d1b1ad6a7fad827ddc0cb1a83d43b5fa8c542337a1fed4e550a3bf0e4941f37ef7d12943b15f789f616f9aa14a959da09af783466475a19ef84720d7') +b2sums=('3d50e5fd078b69c7d9b0f2c27d3c853d7b731ed5a04ff74a763691e36e89bbc10b79a95ad6c96bfe760a6fc56ca3b4d86dc1a4d2315c17c1cbb307bc2300e95d' + 'SKIP' + '147cf080306bf978ac625dddb717c83c14f6dfdc2f61b429e1f4cd239b477d30a9f8e630722f0226d035e6a053dd797a0c9b5898dd9440bd9aa3b2d0689d8927' + 'd3c6e1546b5d806d5c0762a697fb1bf72b642472c7960a70d818e1803e7f7ca00561ef2e87a9614ec6bafce05172fe1f67b38cb009113f9280f4a658b5b1e1d8') validpgpkeys=('CDA01A4208C4F74506107E7BD1AB451688888888') prepare() {