parallel/doc/release_new_version
Ole Tange 76d9e4f41b -N for --pipe. Fixed race condition in --pipe.
Tests for --pipe. Passes testsuite.
2011-01-24 20:06:30 +01:00

212 lines
7 KiB
Plaintext

= 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
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
== 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 <simons@cryp.to>, Sandro Cazzaniga <kharec@mandriva.org>,
Tim Cuthbertson <tim3d.junk@gmail.com>, Ludovic Courtès <ludo@gnu.org>,
Markus Ammer <mkmm@gmx-topmail.de>, Pavel Nuzhdin <pnzhdin@gmail.com>,
Phil Sung <psung@alum.mit.edu>, Michael Shigorin <mike@altlinux.org>,
Andrew McFague <amcfague@wgen.net>, Steven M. Christensen <sunfreeware@gmail.com>,
Chris Howey <howeyc@gmail.com>, Fethican Coşkuner <fethicanc@gmail.com>,
Rogério Brito <rbrito@ime.usp.br>, Jonathan Palardy <jonathan.palardy@gmail.com>,
Koen Vervloesem <koen@vervloesem.eu>, R. Tyler Croy <tyler@monkeypox.org>,
ryoichiro.suzuki@gmail.com,kerick@shiftedbit.net,
Christian Faulhammer <fauli@gentoo.org>, Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>
Subject: GNU Parallel 2011XXXX released
GNU Parallel 2011XXXX 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. To learn about --pipe see the example section for uses of
--pipe.
But rest assured: No old functionality is changed.
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 regular expression matching the start of a
record. Default is "".
* --recend sets the regular expression 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.
* --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 set the number of records to read. If used with --blocksize
the block read will at most be --blocksize. -N is much slower
than --blocksize so avoid -N if performance is important.
* 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 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/
>>>>>