mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 14:07:55 +00:00
285 lines
9 KiB
Plaintext
285 lines
9 KiB
Plaintext
= Notes on how to release new version =
|
||
|
||
== alpha/beta/production ==
|
||
|
||
Update documentation:
|
||
|
||
git diff last-release-commit
|
||
Unmodified beta since last version => production
|
||
Unmodified alpha since last version => beta
|
||
Modified => alpha
|
||
|
||
== Update version ==
|
||
|
||
configure.ac: AC_INIT([parallel], [20100422], [bug-parallel@gnu.org])
|
||
src/parallel: $Global::version = 20100422;
|
||
README: parallel-20130222
|
||
YYYYMMDD=`yyyymmdd`
|
||
perl -i -pe "s/20\d\d\d\d\d\d/$YYYYMMDD/" configure.ac
|
||
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
|
||
perl -i -pe "s/parallel-20\d\d\d\d\d\d/parallel-$YYYYMMDD/" README
|
||
|
||
=== 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 parallel-$YYYYMMDD.tar.bz2 parallel-latest.tar.bz2
|
||
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 --yes parallel-$YYYYMMDD.tar.bz2.directive
|
||
|
||
cp doc/parallel.latest.directive parallel-latest.tar.bz2.directive
|
||
perl -i -pe "s/20\d\d\d\d\d\d/$YYYYMMDD/" parallel-latest.tar.*directive
|
||
gpg --clearsign --yes parallel-latest.tar.bz2.directive
|
||
|
||
(echo '#!/bin/bash';
|
||
echo;
|
||
echo "# To check the signature run:"
|
||
echo "# echo | gpg"
|
||
echo "# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$YYYYMMDD.tar.bz2.sig"
|
||
echo
|
||
echo "echo | gpg 2>/dev/null"
|
||
echo 'gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $0'
|
||
echo 'exit $?'
|
||
echo
|
||
gpg -ab -o - parallel-$YYYYMMDD.tar.bz2
|
||
) > parallel-$YYYYMMDD.tar.bz2.sig
|
||
|
||
(echo '#!/bin/bash';
|
||
echo;
|
||
echo "# To check the signature run:"
|
||
echo "# echo | gpg"
|
||
echo "# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig"
|
||
echo
|
||
echo "echo | gpg 2>/dev/null"
|
||
echo 'gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $0'
|
||
echo 'exit $?'
|
||
echo
|
||
gpg -ab -o - parallel-$YYYYMMDD.tar.bz2
|
||
) > parallel-latest.tar.bz2.sig
|
||
|
||
gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-latest.tar.bz2.sig
|
||
gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-$YYYYMMDD.tar.bz2.sig
|
||
|
||
#../ftpsync/src/ftpsync parallel-$YYYYMMDD.tar.bz2{,.sig,*asc} ftp://ftp-upload.gnu.org/incoming/alpha/
|
||
|
||
echo put parallel-$YYYYMMDD.tar.bz2{,.sig,*asc} | ncftp ftp://ftp-upload.gnu.org/incoming/ftp/
|
||
echo put parallel-latest.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/
|
||
|
||
|
||
== Update OpenSUSE build system ==
|
||
|
||
cd ~/privat/parallel/packager/obs
|
||
# Update version number
|
||
em home:tange/parallel/parallel.spec
|
||
|
||
find home:tange/parallel/* -type f | grep -v parallel.spec | parallel -Xj1 osc rm {}
|
||
# This should not create new files
|
||
osc up home:tange/parallel/
|
||
make
|
||
# Update versionsnummeret from 20110422-2 to YYYYMMDD-1
|
||
# Reload build-status:
|
||
https://build.opensuse.org/package/show?package=parallel&project=home%3Atange
|
||
# Check that one .deb (Debian 5.0) and one .rpm (CentOS) end with 'succeeded'
|
||
|
||
== Download and test ==
|
||
|
||
YYYYMMDD=`yyyymmdd`
|
||
pushd /tmp
|
||
rm -rf parallel-${YYYYMMDD}*
|
||
while ! wget http://ftp.gnu.org/gnu/parallel/parallel-$YYYYMMDD.tar.bz2 ; do sleep 2; done
|
||
#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
|
||
sudo cp /usr/local/bin/parallel /usr/local/bin/parallel-$YYYYMMDD
|
||
|
||
== 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
|
||
|
||
cp src/*.pdf src/*.html ../parallel-web/parallel
|
||
cp src/parallel.html ../parallel-web/parallel/man.html
|
||
|
||
pushd ../parallel-web/parallel
|
||
cvs up
|
||
cvs ci -m "New release"
|
||
pushd
|
||
|
||
== Commit released version ==
|
||
|
||
git diff
|
||
|
||
git commit -a
|
||
|
||
== Update Savannah ==
|
||
|
||
Content from release mail:
|
||
|
||
cat doc/release_new_version | klipper-stdin
|
||
https://savannah.gnu.org/news/submit.php?group=parallel
|
||
https://savannah.gnu.org/news/approve.php?group=parallel
|
||
|
||
== Update Freshmeat ==
|
||
|
||
http://freshmeat.net/projects/parallel/releases/new
|
||
|
||
== Update Diaspora Twitter ==
|
||
|
||
New release of #GNU Parallel pi․dk/0 New in this release pi․dk/2 See the intro videos pi․dk/1
|
||
10 secs installation: wget -O - pi․dk/3|bash
|
||
|
||
[x] Twitter
|
||
Aspect: Public
|
||
|
||
GNU Parallel - for people who live life in the parallel lane.
|
||
|
||
== Send announce ==
|
||
|
||
http://groups.google.com/group/comp.unix.shell/post
|
||
http://groups.google.com/group/comp.unix.admin/post
|
||
|
||
https://lists.gnu.org/mailman/admindb/bug-parallel
|
||
https://lists.gnu.org/mailman/admindb/parallel
|
||
|
||
<<<<<
|
||
from:tange@gnu.org
|
||
to:parallel@gnu.org, bug-parallel@gnu.org
|
||
cc:Sandro Cazzaniga <kharec@mandriva.org>,
|
||
Tim Cuthbertson <tim3d.junk@gmail.com>,
|
||
Steven M. Christensen <sunfreeware@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>,
|
||
Chris Howey <howeyc@gmail.com>,
|
||
Fethican Coşkuner <fethicanc@gmail.com>,
|
||
Rogério Brito <rbrito@ime.usp.br>,
|
||
Koen Vervloesem <koen@vervloesem.eu>,
|
||
R. Tyler Croy <tyler@monkeypox.org>,
|
||
kerick@shiftedbit.net, Christian Faulhammer <fauli@gentoo.org>,
|
||
Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
|
||
Jesse Alama <jesse.alama@gmail.com>
|
||
|
||
Subject: GNU Parallel 20131122 ('') released
|
||
|
||
GNU Parallel 20131122 ('') has been released. It is
|
||
available for download at: http://ftp.gnu.org/gnu/parallel/
|
||
|
||
New in this release:
|
||
|
||
*
|
||
|
||
* 如何利用多核CPU來加速你的Linux命令 — awk, sed, bzip2, grep, wc等
|
||
http://www.hksilicon.com/kb/articles/290543/CPULinuxawk-sed-bzip2-grep-wc
|
||
|
||
* 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 can even replace nested loops.
|
||
|
||
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/s/parallel/
|
||
|
||
You can install GNU Parallel in just 10 seconds with:
|
||
(wget -O - pi.dk/3 || curl pi.dk/3/) | bash
|
||
|
||
Watch the intro video on
|
||
http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
|
||
|
||
Walk through the tutorial (man parallel_tutorial). Your commandline
|
||
will love you for it.
|
||
|
||
When using GNU Parallel for a publication please cite:
|
||
|
||
O. Tange (2011): GNU Parallel - The Command-Line Power Tool, ;login:
|
||
The USENIX Magazine, February 2011:42-47.
|
||
|
||
|
||
= About GNU SQL =
|
||
|
||
GNU sql aims to give a simple, unified interface for accessing
|
||
databases through all the different databases' command line
|
||
clients. So far the focus has been on giving a common way to specify
|
||
login information (protocol, username, password, hostname, and port
|
||
number), size (database and table size), and running queries.
|
||
|
||
The database is addressed using a DBURL. If commands are left out you
|
||
will get that database's interactive shell.
|
||
|
||
When using GNU SQL for a publication please cite:
|
||
|
||
O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different
|
||
Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.
|
||
|
||
|
||
= About GNU Niceload =
|
||
|
||
GNU niceload slows down a program when the computer load average (or
|
||
other system activity) is above a certain limit. When the limit is
|
||
reached the program will be suspended for some time. If the limit is a
|
||
soft limit the program will be allowed to run for short amounts of
|
||
time before being suspended again. If the limit is a hard limit the
|
||
program will only be allowed to run when the system is below the
|
||
limit.
|
||
|
||
>>>>>
|