diff --git a/NEWS b/NEWS index c4040f18..dd66ae4e 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -20140222 +20140322 * Offical package for Alpine Linux now exists: http://alpinelinux.org/apk/main/x86/parallel diff --git a/src/Makefile.am b/src/Makefile.am index 5cc4a4c2..217d9873 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,87 +4,97 @@ doc_DATA = parallel.html sem.html sql.html niceload.html parallel_tutorial.html parallel.1: parallel.pod Makefile pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \ - --section=1 $(srcdir)/parallel.pod > $(srcdir)/parallel.1 + --section=1 $(srcdir)/parallel.pod > $(srcdir)/parallel.1 \ + || echo "Warning: pod2man not found. Using old parallel.1" parallel_tutorial.1: parallel_tutorial.pod Makefile pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \ - --section=1 $(srcdir)/parallel_tutorial.pod > $(srcdir)/parallel_tutorial.1 + --section=1 $(srcdir)/parallel_tutorial.pod > $(srcdir)/parallel_tutorial.1 \ + || echo "Warning: pod2man not found. Using old parallel_tutorial.1" sem.1: sem.pod Makefile pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \ - --section=1 $(srcdir)/sem.pod > $(srcdir)/sem.1 + --section=1 $(srcdir)/sem.pod > $(srcdir)/sem.1 \ + || echo "Warning: pod2man not found. Using old sem.1" sql.1: sql Makefile pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \ - --section=1 $(srcdir)/sql > $(srcdir)/sql.1 + --section=1 $(srcdir)/sql > $(srcdir)/sql.1 \ + || echo "Warning: pod2man not found. Using old sql.1" niceload.1: niceload.pod Makefile pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \ - --section=1 $(srcdir)/niceload.pod > $(srcdir)/niceload.1 + --section=1 $(srcdir)/niceload.pod > $(srcdir)/niceload.1 \ + || echo "Warning: pod2man not found. Using old niceload.1" parallel.html: parallel.pod Makefile - pod2html $(srcdir)/parallel.pod > $(srcdir)/parallel.html + pod2html $(srcdir)/parallel.pod > $(srcdir)/parallel.html \ + || echo "Warning: pod2html not found. Using old parallel.html" rm -f $(srcdir)/pod2htm* # Depending on parallel.html to avoid stupid pod2html race condition parallel_tutorial.html: parallel_tutorial.pod Makefile parallel.html - pod2html $(srcdir)/parallel_tutorial.pod > $(srcdir)/parallel_tutorial.html + pod2html $(srcdir)/parallel_tutorial.pod > $(srcdir)/parallel_tutorial.html \ + || echo "Warning: pod2html not found. Using old parallel_tutorial.html" rm -f $(srcdir)/pod2htm* # Depending on parallel_tutorial.html to avoid stupid pod2html race condition sem.html: sem.pod Makefile parallel_tutorial.html - pod2html $(srcdir)/sem.pod > $(srcdir)/sem.html + pod2html $(srcdir)/sem.pod > $(srcdir)/sem.html \ + || echo "Warning: pod2html not found. Using old sem.html" rm -f $(srcdir)/pod2htm* # Depending on sem.html to avoid stupid pod2html race condition sql.html: sql Makefile sem.html - pod2html $(srcdir)/sql > $(srcdir)/sql.html + pod2html $(srcdir)/sql > $(srcdir)/sql.html \ + || echo "Warning: pod2html not found. Using old sql.html" rm -f $(srcdir)/pod2htm* # Depending on sql.html to avoid stupid pod2html race condition niceload.html: niceload.pod Makefile sql.html - pod2html $(srcdir)/niceload.pod > $(srcdir)/niceload.html + pod2html $(srcdir)/niceload.pod > $(srcdir)/niceload.html \ + || echo "Warning: pod2html not found. Using old niceload.html" rm -f $(srcdir)/pod2htm* parallel.texi: parallel.pod -# If pod2texi is not installed: Forget about it - pod2texi --output=$(srcdir)/parallel.texi $(srcdir)/parallel.pod || true + pod2texi --output=$(srcdir)/parallel.texi $(srcdir)/parallel.pod \ + || echo "Warning: pod2texi not found. Using old parallel.texi" parallel_tutorial.texi: parallel_tutorial.pod -# If pod2texi is not installed: Forget about it - pod2texi --output=$(srcdir)/parallel_tutorial.texi $(srcdir)/parallel_tutorial.pod || true + pod2texi --output=$(srcdir)/parallel_tutorial.texi $(srcdir)/parallel_tutorial.pod \ + || echo "Warning: pod2texi not found. Using old parallel_tutorial.texi" sem.texi: sem.pod -# If pod2texi is not installed: Forget about it - pod2texi --output=$(srcdir)/sem.texi $(srcdir)/sem.pod || true + pod2texi --output=$(srcdir)/sem.texi $(srcdir)/sem.pod \ + || echo "Warning: pod2texi not found. Using old sem.texi" sql.texi: sql -# If pod2texi is not installed: Forget about it - pod2texi --output=$(srcdir)/sql.texi $(srcdir)/sql || true + pod2texi --output=$(srcdir)/sql.texi $(srcdir)/sql \ + || echo "Warning: pod2texi not found. Using old sql.texi" niceload.texi: niceload.pod -# If pod2texi is not installed: Forget about it - pod2texi --output=$(srcdir)/niceload.texi $(srcdir)/niceload.pod || true + pod2texi --output=$(srcdir)/niceload.texi $(srcdir)/niceload.pod \ + || echo "Warning: pod2texi not found. Using old niceload.texi" parallel.pdf: parallel.pod -# If pod2pdf is not installed: Forget about it - pod2pdf --output-file $(srcdir)/parallel.pdf $(srcdir)/parallel.pod --title "GNU Parallel" || true + pod2pdf --output-file $(srcdir)/parallel.pdf $(srcdir)/parallel.pod --title "GNU Parallel" \ + || echo "Warning: pod2pdf not found. Using old parallel.pdf" parallel_tutorial.pdf: parallel_tutorial.pod -# If pod2pdf is not installed: Forget about it - pod2pdf --output-file $(srcdir)/parallel_tutorial.pdf $(srcdir)/parallel_tutorial.pod --title "GNU Parallel Tutorial" || true + pod2pdf --output-file $(srcdir)/parallel_tutorial.pdf $(srcdir)/parallel_tutorial.pod --title "GNU Parallel Tutorial" \ + || echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf" sem.pdf: sem.pod -# If pod2pdf is not installed: Forget about it - pod2pdf --output-file $(srcdir)/sem.pdf $(srcdir)/sem.pod --title "GNU sem" || true + pod2pdf --output-file $(srcdir)/sem.pdf $(srcdir)/sem.pod --title "GNU sem" \ + || echo "Warning: pod2pdf not found. Using old sem.pdf" sql.pdf: sql -# If pod2pdf is not installed: Forget about it - pod2pdf --output-file $(srcdir)/sql.pdf $(srcdir)/sql --title "GNU SQL" || true + pod2pdf --output-file $(srcdir)/sql.pdf $(srcdir)/sql --title "GNU SQL" \ + || echo "Warning: pod2pdf not found. Using old sql.pdf" niceload.pdf: niceload.pod -# If pod2pdf is not installed: Forget about it - pod2pdf --output-file $(srcdir)/niceload.pdf $(srcdir)/niceload.pod --title "GNU niceload" || true + pod2pdf --output-file $(srcdir)/niceload.pdf $(srcdir)/niceload.pod --title "GNU niceload" \ + || echo "Warning: pod2pdf not found. Using old niceload.pdf" sem: parallel ln -fs parallel sem diff --git a/src/Makefile.in b/src/Makefile.in index eea93179..78dfc4ef 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -491,87 +491,97 @@ uninstall-man: uninstall-man1 parallel.1: parallel.pod Makefile pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \ - --section=1 $(srcdir)/parallel.pod > $(srcdir)/parallel.1 + --section=1 $(srcdir)/parallel.pod > $(srcdir)/parallel.1 \ + || echo "Warning: pod2man not found. Using old parallel.1" parallel_tutorial.1: parallel_tutorial.pod Makefile pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \ - --section=1 $(srcdir)/parallel_tutorial.pod > $(srcdir)/parallel_tutorial.1 + --section=1 $(srcdir)/parallel_tutorial.pod > $(srcdir)/parallel_tutorial.1 \ + || echo "Warning: pod2man not found. Using old parallel_tutorial.1" sem.1: sem.pod Makefile pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \ - --section=1 $(srcdir)/sem.pod > $(srcdir)/sem.1 + --section=1 $(srcdir)/sem.pod > $(srcdir)/sem.1 \ + || echo "Warning: pod2man not found. Using old sem.1" sql.1: sql Makefile pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \ - --section=1 $(srcdir)/sql > $(srcdir)/sql.1 + --section=1 $(srcdir)/sql > $(srcdir)/sql.1 \ + || echo "Warning: pod2man not found. Using old sql.1" niceload.1: niceload.pod Makefile pod2man --release='$(PACKAGE_VERSION)' --center='$(PACKAGE_NAME)' \ - --section=1 $(srcdir)/niceload.pod > $(srcdir)/niceload.1 + --section=1 $(srcdir)/niceload.pod > $(srcdir)/niceload.1 \ + || echo "Warning: pod2man not found. Using old niceload.1" parallel.html: parallel.pod Makefile - pod2html $(srcdir)/parallel.pod > $(srcdir)/parallel.html + pod2html $(srcdir)/parallel.pod > $(srcdir)/parallel.html \ + || echo "Warning: pod2html not found. Using old parallel.html" rm -f $(srcdir)/pod2htm* # Depending on parallel.html to avoid stupid pod2html race condition parallel_tutorial.html: parallel_tutorial.pod Makefile parallel.html - pod2html $(srcdir)/parallel_tutorial.pod > $(srcdir)/parallel_tutorial.html + pod2html $(srcdir)/parallel_tutorial.pod > $(srcdir)/parallel_tutorial.html \ + || echo "Warning: pod2html not found. Using old parallel_tutorial.html" rm -f $(srcdir)/pod2htm* # Depending on parallel_tutorial.html to avoid stupid pod2html race condition sem.html: sem.pod Makefile parallel_tutorial.html - pod2html $(srcdir)/sem.pod > $(srcdir)/sem.html + pod2html $(srcdir)/sem.pod > $(srcdir)/sem.html \ + || echo "Warning: pod2html not found. Using old sem.html" rm -f $(srcdir)/pod2htm* # Depending on sem.html to avoid stupid pod2html race condition sql.html: sql Makefile sem.html - pod2html $(srcdir)/sql > $(srcdir)/sql.html + pod2html $(srcdir)/sql > $(srcdir)/sql.html \ + || echo "Warning: pod2html not found. Using old sql.html" rm -f $(srcdir)/pod2htm* # Depending on sql.html to avoid stupid pod2html race condition niceload.html: niceload.pod Makefile sql.html - pod2html $(srcdir)/niceload.pod > $(srcdir)/niceload.html + pod2html $(srcdir)/niceload.pod > $(srcdir)/niceload.html \ + || echo "Warning: pod2html not found. Using old niceload.html" rm -f $(srcdir)/pod2htm* parallel.texi: parallel.pod -# If pod2texi is not installed: Forget about it - pod2texi --output=$(srcdir)/parallel.texi $(srcdir)/parallel.pod || true + pod2texi --output=$(srcdir)/parallel.texi $(srcdir)/parallel.pod \ + || echo "Warning: pod2texi not found. Using old parallel.texi" parallel_tutorial.texi: parallel_tutorial.pod -# If pod2texi is not installed: Forget about it - pod2texi --output=$(srcdir)/parallel_tutorial.texi $(srcdir)/parallel_tutorial.pod || true + pod2texi --output=$(srcdir)/parallel_tutorial.texi $(srcdir)/parallel_tutorial.pod \ + || echo "Warning: pod2texi not found. Using old parallel_tutorial.texi" sem.texi: sem.pod -# If pod2texi is not installed: Forget about it - pod2texi --output=$(srcdir)/sem.texi $(srcdir)/sem.pod || true + pod2texi --output=$(srcdir)/sem.texi $(srcdir)/sem.pod \ + || echo "Warning: pod2texi not found. Using old sem.texi" sql.texi: sql -# If pod2texi is not installed: Forget about it - pod2texi --output=$(srcdir)/sql.texi $(srcdir)/sql || true + pod2texi --output=$(srcdir)/sql.texi $(srcdir)/sql \ + || echo "Warning: pod2texi not found. Using old sql.texi" niceload.texi: niceload.pod -# If pod2texi is not installed: Forget about it - pod2texi --output=$(srcdir)/niceload.texi $(srcdir)/niceload.pod || true + pod2texi --output=$(srcdir)/niceload.texi $(srcdir)/niceload.pod \ + || echo "Warning: pod2texi not found. Using old niceload.texi" parallel.pdf: parallel.pod -# If pod2pdf is not installed: Forget about it - pod2pdf --output-file $(srcdir)/parallel.pdf $(srcdir)/parallel.pod --title "GNU Parallel" || true + pod2pdf --output-file $(srcdir)/parallel.pdf $(srcdir)/parallel.pod --title "GNU Parallel" \ + || echo "Warning: pod2pdf not found. Using old parallel.pdf" parallel_tutorial.pdf: parallel_tutorial.pod -# If pod2pdf is not installed: Forget about it - pod2pdf --output-file $(srcdir)/parallel_tutorial.pdf $(srcdir)/parallel_tutorial.pod --title "GNU Parallel Tutorial" || true + pod2pdf --output-file $(srcdir)/parallel_tutorial.pdf $(srcdir)/parallel_tutorial.pod --title "GNU Parallel Tutorial" \ + || echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf" sem.pdf: sem.pod -# If pod2pdf is not installed: Forget about it - pod2pdf --output-file $(srcdir)/sem.pdf $(srcdir)/sem.pod --title "GNU sem" || true + pod2pdf --output-file $(srcdir)/sem.pdf $(srcdir)/sem.pod --title "GNU sem" \ + || echo "Warning: pod2pdf not found. Using old sem.pdf" sql.pdf: sql -# If pod2pdf is not installed: Forget about it - pod2pdf --output-file $(srcdir)/sql.pdf $(srcdir)/sql --title "GNU SQL" || true + pod2pdf --output-file $(srcdir)/sql.pdf $(srcdir)/sql --title "GNU SQL" \ + || echo "Warning: pod2pdf not found. Using old sql.pdf" niceload.pdf: niceload.pod -# If pod2pdf is not installed: Forget about it - pod2pdf --output-file $(srcdir)/niceload.pdf $(srcdir)/niceload.pod --title "GNU niceload" || true + pod2pdf --output-file $(srcdir)/niceload.pdf $(srcdir)/niceload.pod --title "GNU niceload" \ + || echo "Warning: pod2pdf not found. Using old niceload.pdf" sem: parallel ln -fs parallel sem diff --git a/src/parallel.pdf b/src/parallel.pdf index 2e093abe..cbb876ba 100644 Binary files a/src/parallel.pdf and b/src/parallel.pdf differ diff --git a/src/parallel.texi b/src/parallel.texi index cdaf0bf4..ef9eef68 100644 --- a/src/parallel.texi +++ b/src/parallel.texi @@ -571,6 +571,8 @@ data to the program on stdin (standard input). With @strong{--fifo} GNU @strong{parallel} will create a temporary fifo with the name in @{@}, so you can do: @strong{parallel --pipe --fifo wc @{@}}. +Beware: If data is not read from the fifo, the job will block forever. + See also @strong{--cat}. @item @strong{--filter-hosts} diff --git a/src/sql.pdf b/src/sql.pdf index 47710854..00dae8f0 100644 Binary files a/src/sql.pdf and b/src/sql.pdf differ diff --git a/testsuite/tests-to-run/parallel-install.sh b/testsuite/tests-to-run/parallel-install.sh new file mode 100644 index 00000000..ad9ee60f --- /dev/null +++ b/testsuite/tests-to-run/parallel-install.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +echo '### Test installation missing pod2*' + +parallel which ::: pod2html pod2man pod2texi pod2pdf | sudo parallel mv {} {}.hidden + +cd ~/privat/parallel +stdout make dist | perl -pe 's/\d{8}/00000000/g' +LAST=$(ls *tar.gz | tail -n1) +cd /tmp +rm -rf parallel-20??????/ +tar xf ~/privat/parallel/$LAST +cd parallel-20??????/ +./configure && sudo stdout make install | perl -pe 's/\d{8}/00000000/g' + +parallel which {}.hidden ::: pod2html pod2man pod2texi pod2pdf | sudo parallel mv {} {.} diff --git a/testsuite/wanted-results/parallel-install b/testsuite/wanted-results/parallel-install new file mode 100644 index 00000000..3edc3a30 --- /dev/null +++ b/testsuite/wanted-results/parallel-install @@ -0,0 +1,94 @@ +### Test installation missing pod2* +make[1]: Entering directory `/home/tange/privat/parallel' +if test -d "parallel-00000000"; then find "parallel-00000000" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "parallel-00000000" || { sleep 5 && rm -rf "parallel-00000000"; }; else :; fi +test -d "parallel-00000000" || mkdir "parallel-00000000" + (cd src && make top_distdir=../parallel-00000000 distdir=../parallel-00000000/src \ + am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) +make[2]: Entering directory `/home/tange/privat/parallel/src' +make[2]: Leaving directory `/home/tange/privat/parallel/src' +test -n "" \ + || find "parallel-00000000" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec /bin/bash /home/tange/privat/parallel/install-sh -c -m a+r {} {} \; \ + || chmod -R a+r "parallel-00000000" +tardir=parallel-00000000 && ${TAR-tar} chof - "$tardir" | GZIP=--best gzip -c >parallel-00000000.tar.gz +if test -d "parallel-00000000"; then find "parallel-00000000" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "parallel-00000000" || { sleep 5 && rm -rf "parallel-00000000"; }; else :; fi +make[1]: Leaving directory `/home/tange/privat/parallel' +checking for a BSD-compatible install... /usr/bin/install -c +checking whether build environment is sane... yes +checking for a thread-safe mkdir -p... /bin/mkdir -p +checking for gawk... gawk +checking whether make sets $(MAKE)... yes +configure: creating ./config.status +config.status: creating Makefile +config.status: creating src/Makefile +config.status: creating config.h +Making install in src +make[1]: Entering directory `/tmp/parallel-00000000/src' +pod2man --release='00000000' --center='parallel' \ + --section=1 ./parallel.pod > ./parallel.1 \ + || echo "Warning: pod2man not found. Using old parallel.1" +/bin/bash: pod2man: command not found +Warning: pod2man not found. Using old parallel.1 +pod2man --release='00000000' --center='parallel' \ + --section=1 ./sem.pod > ./sem.1 \ + || echo "Warning: pod2man not found. Using old sem.1" +/bin/bash: pod2man: command not found +Warning: pod2man not found. Using old sem.1 +pod2man --release='00000000' --center='parallel' \ + --section=1 ./sql > ./sql.1 \ + || echo "Warning: pod2man not found. Using old sql.1" +/bin/bash: pod2man: command not found +Warning: pod2man not found. Using old sql.1 +pod2man --release='00000000' --center='parallel' \ + --section=1 ./niceload.pod > ./niceload.1 \ + || echo "Warning: pod2man not found. Using old niceload.1" +/bin/bash: pod2man: command not found +Warning: pod2man not found. Using old niceload.1 +pod2man --release='00000000' --center='parallel' \ + --section=1 ./parallel_tutorial.pod > ./parallel_tutorial.1 \ + || echo "Warning: pod2man not found. Using old parallel_tutorial.1" +/bin/bash: pod2man: command not found +Warning: pod2man not found. Using old parallel_tutorial.1 +pod2html ./parallel.pod > ./parallel.html \ + || echo "Warning: pod2html not found. Using old parallel.html" +/bin/bash: pod2html: command not found +Warning: pod2html not found. Using old parallel.html +rm -f ./pod2htm* +pod2html ./parallel_tutorial.pod > ./parallel_tutorial.html \ + || echo "Warning: pod2html not found. Using old parallel_tutorial.html" +/bin/bash: pod2html: command not found +Warning: pod2html not found. Using old parallel_tutorial.html +rm -f ./pod2htm* +pod2html ./sem.pod > ./sem.html \ + || echo "Warning: pod2html not found. Using old sem.html" +/bin/bash: pod2html: command not found +Warning: pod2html not found. Using old sem.html +rm -f ./pod2htm* +pod2html ./sql > ./sql.html \ + || echo "Warning: pod2html not found. Using old sql.html" +/bin/bash: pod2html: command not found +Warning: pod2html not found. Using old sql.html +rm -f ./pod2htm* +pod2html ./niceload.pod > ./niceload.html \ + || echo "Warning: pod2html not found. Using old niceload.html" +/bin/bash: pod2html: command not found +Warning: pod2html not found. Using old niceload.html +rm -f ./pod2htm* +make[2]: Entering directory `/tmp/parallel-00000000/src' + /bin/mkdir -p '/usr/local/bin' + /usr/bin/install -c parallel sem sql niceload '/usr/local/bin' + /bin/mkdir -p '/usr/local/share/doc/parallel' + /usr/bin/install -c -m 644 parallel.html sem.html sql.html niceload.html parallel_tutorial.html parallel.texi sem.texi sql.texi niceload.texi parallel_tutorial.texi parallel.pdf sem.pdf sql.pdf niceload.pdf parallel_tutorial.pdf '/usr/local/share/doc/parallel' + /bin/mkdir -p '/usr/local/share/man/man1' + /usr/bin/install -c -m 644 parallel.1 sem.1 sql.1 niceload.1 parallel_tutorial.1 '/usr/local/share/man/man1' +make[2]: Leaving directory `/tmp/parallel-00000000/src' +make[1]: Leaving directory `/tmp/parallel-00000000/src' +make[1]: Entering directory `/tmp/parallel-00000000' +make[2]: Entering directory `/tmp/parallel-00000000' +make[2]: Nothing to be done for `install-exec-am'. +make[2]: Nothing to be done for `install-data-am'. +make[2]: Leaving directory `/tmp/parallel-00000000' +make[1]: Leaving directory `/tmp/parallel-00000000'