= Notes on how to release new version = == Update version == === configure.ac === configure.ac: AC_INIT([parallel], [20100422], [bug-parallel@gnu.org]) YYYYMMDD=`yyyymmdd` perl -i -pe "s/20\d\d\d\d\d\d/$YYYYMMDD/" configure.ac === src/parallel === src/parallel: $Global::version = 20100422; YYYYMMDD=`yyyymmdd` perl -i -pe "/version/ and s/20\d\d\d\d\d\d/$YYYYMMDD/" src/parallel perl -i -pe "/version/ and s/20\d\d\d\d\d\d/$YYYYMMDD/" src/sql perl -i -pe "/version/ and s/20\d\d\d\d\d\d/$YYYYMMDD/" src/niceload === Autoconf/automake === rm -fr autom4te.cache aclocal.m4 config.h config.h.in config.log Makefile.in missing install-sh rm -rf src/Makefile.in autoreconf --install -W gnu ./configure make -j && sudo make install == Testsuite == cd testsuite; make == Update NEWS == With the same things that goes in the announce mail == Package == ./configure make dist make dist-bzip2 == Test the package == YYYYMMDD=`yyyymmdd` cp parallel-$YYYYMMDD.tar.bz2 /tmp pushd /tmp tar xjvf parallel-$YYYYMMDD.tar.bz2 cd parallel-$YYYYMMDD ./configure && make -j && sudo make -j install pushd == Upload == YYYYMMDD=`yyyymmdd` cp doc/parallel.directive parallel-$YYYYMMDD.tar.bz2.directive perl -i -pe "s/20\d\d\d\d\d\d/$YYYYMMDD/" parallel-*.tar.*directive gpg --clearsign parallel-$YYYYMMDD.tar.bz2.directive YYYYMMDD=`yyyymmdd` gpg -b parallel-$YYYYMMDD.tar.bz2 YYYYMMDD=`yyyymmdd` echo put parallel-$YYYYMMDD.tar.bz2{,.sig,*asc} | ncftp ftp://ftp-upload.gnu.org/incoming/ftp/ #echo put parallel-$YYYYMMDD.tar.bz2{,.sig,*asc} | ncftp ftp://ftp-upload.gnu.org/incoming/alpha/ == Download and test == pushd /tmp rm parallel-$YYYYMMDD.tar.bz2 wget http://ftp.gnu.org/gnu/parallel/parallel-$YYYYMMDD.tar.bz2 #wget http://alpha.gnu.org/gnu/parallel/parallel-$YYYYMMDD.tar.bz2 tar xjvf parallel-$YYYYMMDD.tar.bz2 cd parallel-$YYYYMMDD ./configure make -j && sudo make -j install pushd == Update OpenSUSE build system == https://build.opensuse.org/package/show?package=parallel&project=home%3Atange cd ~/privat/parallel/packager/obs ; make == Update Savannah == Content from release mail: https://savannah.gnu.org/news/submit.php?group=parallel https://savannah.gnu.org/news/approve.php?group=parallel # No longer updated. Too long and too buggy # doc/pod2savannah_publicinfo src/parallel | klipper-stdin # https://savannah.gnu.org/project/admin/editgroupinfo.php?group=parallel == Update website == http://www.gnu.org/software/parallel/ http://www.gnu.org/software/parallel/man.html http://www.gnu.org/software/parallel/sql.html http://www.gnu.org/software/parallel/sem.html http://www.gnu.org/software/parallel/niceload.html pod2html src/parallel.pod > ../parallel-web/parallel/man.html pod2html src/sql > ../parallel-web/parallel/sql.html pod2html src/niceload > ../parallel-web/parallel/niceload.html pod2html src/sem.pod > ../parallel-web/parallel/sem.html cd ../parallel-web/parallel cvs up cvs ci == Update Freshmeat == http://freshmeat.net/projects/parallel/releases/new == Update Twitter == New version of #GNU Parallel released. See what is new in this release http://nd.gd/2j Watch the intro video http://nd.gd/0s https://savannah.gnu.org/news/?group=parallel cat twitters | parallel -j1 echo @{} You have earlier shown interest in GNU Parallel. \ A new version is out: http://nd.gd/2j '|' ttytter == Send announce == http://groups.google.com/group/comp.unix.shell/post Newsgroups: comp.unix.shell,comp.unix.admin <<<<< from:tange@gnu.org to:parallel@gnu.org, bug-parallel@gnu.org, info-gnu@gnu.org, bug-directory@gnu.org cc:Peter Simons , Sandro Cazzaniga , Tim Cuthbertson , Ludovic Courtès , Markus Ammer , Pavel Nuzhdin , Phil Sung , Michael Shigorin , Andrew McFague , Steven M. Christensen , Chris Howey , Fethican Coşkuner , Rogério Brito , Jonathan Palardy , Koen Vervloesem , R. Tyler Croy , ryoichiro.suzuki@gmail.com,kerick@shiftedbit.net, Christian Faulhammer , Ryoichiro Suzuki Subject: GNU Parallel 20110205 (FOSDEM release) 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). 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. * --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. * 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 * Bug fixes and man page updates. = About GNU Parallel = GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job is can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel. If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs. You can find more about GNU Parallel at: http://www.gnu.org/software/parallel/ Watch the intro video on http://www.youtube.com/watch?v=OpaiGYxkSuQ or at http://tinyogg.com/watch/TORaR/ and http://tinyogg.com/watch/hfxKj/ >>>>>