= 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 === 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 && sudo make install == Unittest == cd unittest; make unittest == Update NEWS == With the same things that goes in the announce mail == Package == ./configure make dist make dist-bzip2 == 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/ == Update Savannah == https://savannah.gnu.org/news/submit.php?group=parallel https://savannah.gnu.org/news/approve.php?group=parallel 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 pod2html src/parallel > ../parallel-web/parallel/man.html cd ../parallel-web/parallel cvs ci == Update Freshmeat == http://freshmeat.net/projects/parallel/releases/new == Send announce == http://groups.google.com/group/comp.unix.shell/post Newsgroups: comp.unix.shell,comp.unix.admin <<<<< 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 Subject: GNU Parallel 20100722 released GNU Parallel 20100722 has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/ New in this release: * Counting semaphore functionality: start a job in the background. If N jobs are already running, wait for one to complete. Examples: sem 'sleep 2; echo foo'; sem 'sleep 1; echo bar'; sem --wait sem -j2 'sleep 2; echo foo'; sem -j2 'sleep 1; echo bar'; sem --wait * With --colsep a table can be used as input. Example: cat tab_sep_table | parallel --colsep '\t' echo col1 {1} col2 {2} * --trim can remove white space around arguments. * --sshloginfile '..' means use ~/.parallel/sshloginfile * Zero install package. Thanks to Tim Cuthbertson * OpenSUSE package. Thanks to Markus Ammer * NixOS package. Thanks to Ludovic Courtès * Web review http://oentend.blogspot.com/2010/08/gnu-parallel.html Thanks to Pavel Nuzhdin * Web review http://psung.blogspot.com/2010/08/gnu-parallel.html Thanks to Phil Sung = About GNU Parallel = GNU Parallel is a shell tool for executing jobs in parallel using one or more machines. A job is typically 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. If you use xargs 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. If you use ppss or pexec you will find GNU Parallel will often make the command easier to read. 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/ >>>>>