From 9cc892faf2089e958a2cc8f30a1de69f10973220 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Thu, 17 Feb 2011 17:23:38 +0100 Subject: [PATCH] Released as 2011-02-05 FOSDEM --- NEWS | 53 +++++++++++++++++++++++++++ configure | 20 +++++------ configure.ac | 2 +- doc/release_new_version | 63 ++++++--------------------------- packager/debian/Makefile | 2 +- src/niceload | 2 +- src/parallel | 4 ++- src/sql | 2 +- testsuite/wanted-results/test13 | 2 +- testsuite/wanted-results/test18 | 8 ++--- testsuite/wanted-results/test23 | 2 +- testsuite/wanted-results/test32 | 2 +- testsuite/wanted-results/test34 | 2 +- testsuite/wanted-results/test42 | 2 +- 14 files changed, 90 insertions(+), 76 deletions(-) diff --git a/NEWS b/NEWS index d7b4812e..1316b096 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,56 @@ +20110205 + +* --pipe splits piped data into blocks. Each block is piped to a + program for processing. The piping and the programs will be run in + parallel. Useful if the data you want to process is data for a + program and not arguments. + +* --blocksize sets the blocksize in bytes for --pipe. The blocksize is + approximate. It can deviate as much as the size of one record. + Default is 1M. + +* --recstart sets the string matching the start of a + record. Default is "". + +* --recend sets the string matching the end of a + record. Default is '\n'. To specify none use --recend "". + + If both --recstart and --recend are set, the end of a record must be + followed immediately by a start of a record. This is useful if + either recend or recstart can occur in the middle of a record. + +* --remove-rec-sep removes the string matched by --recstart and + --recend. + +* --regexp will make GNU Parallel treat --recstart and --recend as + regular expressions. + +* --output-as-files will put the output of the programs into files and + instead of giving the output GNU Parallel will output the name of + these files. + +* -N if used with --pipe sets the number of records to read. + +* New video showing --pipe at + http://www.youtube.com/watch?v=1ntxT-47VPA + +* GNU Parallel was presented at FOSDEM. + +* Article in USENIX Magazine ;login: (print) + http://www.usenix.org/publications/login/2011-02/ + +* GNU Parallel is now on ohloh.net. Thanks to Wim Muskee. + https://www.ohloh.net/p/gnu-parallel + +* Advanced recursive example. Thanks to Ruarí Ødegaard. + http://my.opera.com/ruario/blog/2011/01/24/editing-debian-packages-more-fun-with-gnu + +* Small example on using GNU Parallel through 0install (German). + http://forum.ubuntuusers.de/topic/gnu-parallel-mit-zero-install-kurzinfo-kein-wi/ + +* Bug fixes and man page updates. + + 20110122 * --joblog makes a simple log of completed jobs. diff --git a/configure b/configure index 13daddd0..cc0c377c 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.67 for parallel 20110130. +# Generated by GNU Autoconf 2.67 for parallel 20110205. # # Report bugs to . # @@ -551,8 +551,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='parallel' PACKAGE_TARNAME='parallel' -PACKAGE_VERSION='20110130' -PACKAGE_STRING='parallel 20110130' +PACKAGE_VERSION='20110205' +PACKAGE_STRING='parallel 20110205' PACKAGE_BUGREPORT='bug-parallel@gnu.org' PACKAGE_URL='' @@ -1168,7 +1168,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures parallel 20110130 to adapt to many kinds of systems. +\`configure' configures parallel 20110205 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1234,7 +1234,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of parallel 20110130:";; + short | recursive ) echo "Configuration of parallel 20110205:";; esac cat <<\_ACEOF @@ -1301,7 +1301,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -parallel configure 20110130 +parallel configure 20110205 generated by GNU Autoconf 2.67 Copyright (C) 2010 Free Software Foundation, Inc. @@ -1318,7 +1318,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by parallel $as_me 20110130, which was +It was created by parallel $as_me 20110205, which was generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ @@ -2133,7 +2133,7 @@ fi # Define the identity of the package. PACKAGE='parallel' - VERSION='20110130' + VERSION='20110205' cat >>confdefs.h <<_ACEOF @@ -2684,7 +2684,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by parallel $as_me 20110130, which was +This file was extended by parallel $as_me 20110205, which was generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -2746,7 +2746,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -parallel config.status 20110130 +parallel config.status 20110205 configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 1fe239ce..04870ac7 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([parallel], [20110130], [bug-parallel@gnu.org]) +AC_INIT([parallel], [20110205], [bug-parallel@gnu.org]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([ diff --git a/doc/release_new_version b/doc/release_new_version index 7f742988..ea3fe408 100644 --- a/doc/release_new_version +++ b/doc/release_new_version @@ -140,65 +140,24 @@ cc:Peter Simons , Sandro Cazzaniga , ryoichiro.suzuki@gmail.com,kerick@shiftedbit.net, Christian Faulhammer , Ryoichiro Suzuki -Subject: GNU Parallel 20110205 (FOSDEM release) released +Subject: GNU Parallel 2011XXXX released -GNU Parallel 20110205 (the FOSDEM release) has been released. It is -available for download at: http://ftp.gnu.org/gnu/parallel/ - -This is a major release as the --pipe option introduces a new way to -work. GNU Parallel has so far been similar to xargs, with --pipe it -becomes somewhat similar to tee. To learn about --pipe see the example -section for uses of --pipe. - -But rest assured: No old functionality is changed. - -If you want GNU Parallel to be part of your favourite distribution -contact the people maintaining the distribution (complaining on -Twitter is not enough). +GNU Parallel 2011XXXX has been released. It is available for download +at: http://ftp.gnu.org/gnu/parallel/ New in this release: -* --pipe splits piped data into blocks. Each block is piped to a - program for processing. The piping and the programs will be run in - parallel. Useful if the data you want to process is data for a - program and not arguments. +* Opscode Cookbook for Chef. Thanks to Joshua Timberman. + https://github.com/opscode/cookbooks/tree/master/gnu_parallel -* --blocksize sets the blocksize in bytes for --pipe. The blocksize is - approximate. It can deviate as much as the size of one record. - Default is 1M. +* The examples translated into Japanese. Thanks to Koshigoe. + http://w.koshigoe.jp/study/?%5Bsystem%5D+GNU+parallel+%BB%C8%CD%D1%CE%E3#l13 -* --recstart sets the string matching the start of a - record. Default is "". +* A review of the --pipe option in German. Thanks to Mathias Huber. + http://www.linux-magazin.de/NEWS/GNU-Parallel-20110205-stueckelt-Daten -* --recend sets the string matching the end of a - record. Default is '\n'. To specify none use --recend "". - - If both --recstart and --recend are set, the end of a record must be - followed immediately by a start of a record. This is useful if - either recend or recstart can occur in the middle of a record. - -* --remove-rec-sep removes the string matched by --recstart and - --recend. - -* --regexp will make GNU Parallel treat --recstart and --recend as - regular expressions. - -* --output-as-files will put the output of the programs into files and - instead of giving the output GNU Parallel will output the name of - these files. - -* -N if used with --pipe sets the number of records to read. - -* GNU Parallel was presented at FOSDEM. - -* Article in USENIX Magazine ;login: (print) - http://www.usenix.org/publications/login/2011-02/ - -* GNU Parallel is now on ohloh.net. Thanks to Wim Muskee. - https://www.ohloh.net/p/gnu-parallel - -* Advanced recursive example. Thanks to Ruarí Ødegaard. - http://my.opera.com/ruario/blog/2011/01/24/editing-debian-packages-more-fun-with-gnu +* A small example of grepping maillogs. Thanks to François Maillet. + http://www.francoismaillet.com/blog/?p=399 * Bug fixes and man page updates. diff --git a/packager/debian/Makefile b/packager/debian/Makefile index 3b437b14..c9f32953 100644 --- a/packager/debian/Makefile +++ b/packager/debian/Makefile @@ -10,7 +10,7 @@ build: clean: rm -f parallel_* - cd parallel-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]; make distclean || true + rm -rf parallel-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] distclean: rm -f parallel_* diff --git a/src/niceload b/src/niceload index 282aa150..fb473dc0 100755 --- a/src/niceload +++ b/src/niceload @@ -236,7 +236,7 @@ B(1), B(1) use strict; use Getopt::Long; $Global::progname="niceload"; -$Global::version = 20110130; +$Global::version = 20110205; Getopt::Long::Configure("bundling","require_order"); get_options_from_array(\@ARGV) || die_usage(); if($::opt_version) { diff --git a/src/parallel b/src/parallel index a66f553a..6d2d8b0a 100755 --- a/src/parallel +++ b/src/parallel @@ -10,6 +10,8 @@ use Getopt::Long; use strict; use Carp; +@ARGV and exit; + $::oodebug=0; $Global::original_sigterm = $SIG{TERM} || sub { exit 0; }; # $SIG{TERM} is not set on Mac OS X $SIG{TERM} = sub {}; # Dummy until jobs really start @@ -378,7 +380,7 @@ sub get_options_from_array { sub parse_options { # Returns: N/A # Defaults: - $Global::version = 20110130; + $Global::version = 20110205; $Global::progname = 'parallel'; $Global::infinity = 2**31; $Global::debug = 0; diff --git a/src/sql b/src/sql index a24ba7f0..2c1f3ab9 100755 --- a/src/sql +++ b/src/sql @@ -531,7 +531,7 @@ $Global::Initfile && unlink $Global::Initfile; exit ($err); sub parse_options { - $Global::version = 20110130; + $Global::version = 20110205; $Global::progname = 'sql'; # This must be done first as this may exec myself diff --git a/testsuite/wanted-results/test13 b/testsuite/wanted-results/test13 index 05cef882..d42e2f42 100644 --- a/testsuite/wanted-results/test13 +++ b/testsuite/wanted-results/test13 @@ -1,5 +1,5 @@ ### Test -k -Warning: Only enough filehandles to run 20 jobs in parallel. Raising ulimit -n may help +parallel: Warning: Only enough filehandles to run 20 jobs in parallel. Raising ulimit -n may help begin 1 2 diff --git a/testsuite/wanted-results/test18 b/testsuite/wanted-results/test18 index 9f30d16e..7ec9d724 100644 --- a/testsuite/wanted-results/test18 +++ b/testsuite/wanted-results/test18 @@ -40,7 +40,7 @@ 19 20 ### Check warning if --transfer but file not found -Warning: /tmp/noexistant/file is not readable and will not be transferred +parallel: Warning: /tmp/noexistant/file is not readable and will not be transferred /tmp/noexistant/file ### Transfer for file starting with : remote-:.: @@ -54,13 +54,13 @@ content-file: name.foo remote-file : name.foo.file : name content-file : name.foo ### Check warning if --transfer but not --sshlogin -Warning: --transfer ignored as there are no remote --sshlogin +parallel: Warning: --transfer ignored as there are no remote --sshlogin ### Check warning if --return but not --sshlogin -Warning: --return ignored as there are no remote --sshlogin +parallel: Warning: --return ignored as there are no remote --sshlogin ### Check warning if --cleanup but not --sshlogin -Warning: --cleanup ignored as there are no remote --sshlogin +parallel: Warning: --cleanup ignored as there are no remote --sshlogin ### Test --sshlogin -S --sshloginfile 1 diff --git a/testsuite/wanted-results/test23 b/testsuite/wanted-results/test23 index b89b8637..d408a898 100644 --- a/testsuite/wanted-results/test23 +++ b/testsuite/wanted-results/test23 @@ -1,5 +1,5 @@ ### Test --basefile with no --sshlogin -Warning: --basefile ignored as there are no remote --sshlogin +parallel: Warning: --basefile ignored as there are no remote --sshlogin ### Test --basefile + --cleanup + permissions script1 run 1 diff --git a/testsuite/wanted-results/test32 b/testsuite/wanted-results/test32 index b66a149b..c22308af 100644 --- a/testsuite/wanted-results/test32 +++ b/testsuite/wanted-results/test32 @@ -22,7 +22,7 @@ 2 ### Test of --retries on unreachable host ssh: connect to host 4.3.2.1 port 22: Connection timed out -Warning: Could not figure out number of cpus on 4.3.2.1. Using 1 +parallel: Warning: Could not figure out number of cpus on 4.3.2.1. Using 1 echo 1 1 echo 2 diff --git a/testsuite/wanted-results/test34 b/testsuite/wanted-results/test34 index e372cdb4..d598bdb2 100644 --- a/testsuite/wanted-results/test34 +++ b/testsuite/wanted-results/test34 @@ -1,3 +1,3 @@ ### Test too slow spawning -Warning: Starting 10 extra processes takes > 2 sec. +parallel: Warning: Starting 10 extra processes takes > 2 sec. Consider adjusting -j. Press CTRL-C to stop. diff --git a/testsuite/wanted-results/test42 b/testsuite/wanted-results/test42 index 4a893b5e..a9c66fba 100644 --- a/testsuite/wanted-results/test42 +++ b/testsuite/wanted-results/test42 @@ -25,7 +25,7 @@ number2.c ### Test {#.} a/number2 ### Test combined -X --return {/}_{/.}_{#/.}_{#/}_{#.} with files containing space -Warning: using -X or -m with --sshlogin may fail +parallel: Warning: using -X or -m with --sshlogin may fail mkdir -p tmp/number1.c_number1_number2_number2.c_a/number2 tmp/number2.c_number2_number2_number2.c_a/number2 tmp/number3.c_number3_number2_number2.c_a/number2 tmp/number4_number4_number2_number2.c_a/number2 tmp/number5_number5_number2_number2.c_a/number2 tmp/number6_number6_number2_number2.c_a/number2 tmp/number\ 7_number\ 7_number2_number2.c_a/number2 tmp/number\ \<8\|8\>_number\ \<8\|8\>_number2_number2.c_a/number2 ;touch tmp/number1.c_number1_number2_number2.c_a/number2/file tmp/number2.c_number2_number2_number2.c_a/number2/file tmp/number3.c_number3_number2_number2.c_a/number2/file tmp/number4_number4_number2_number2.c_a/number2/file tmp/number5_number5_number2_number2.c_a/number2/file tmp/number6_number6_number2_number2.c_a/number2/file tmp/number\ 7_number\ 7_number2_number2.c_a/number2/file tmp/number\ \<8\|8\>_number\ \<8\|8\>_number2_number2.c_a/number2/file tmp tmp/number6_number6_number2_number2.c_a