From c77a7daf379e48d2495f16cab676d94f76e1d99b Mon Sep 17 00:00:00 2001 From: Tim Cuthbertson Date: Wed, 24 Apr 2013 20:38:17 +1000 Subject: [PATCH 1/5] 0install: added version 20130422 --- packager/0install/parallel.xml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packager/0install/parallel.xml b/packager/0install/parallel.xml index 771bef17..ee8bbfc4 100644 --- a/packager/0install/parallel.xml +++ b/packager/0install/parallel.xml @@ -143,11 +143,15 @@ xargs or cat | sh. + + + + From 93e8e3113e77491506f20db61efe418248a03f87 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Wed, 24 Apr 2013 15:20:57 +0200 Subject: [PATCH 2/5] README: 10 seconds installation. --- README | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README b/README index a03c5774..d9e58781 100644 --- a/README +++ b/README @@ -24,6 +24,18 @@ you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs. += 10 seconds installation = + +The 10 seconds installation will try do to a full installation; if +that fails, a personal installation; if that fails, a minimal +installation. + + wget -O - pi.dk/3 | sh + +This will literally install faster than reading the rest of this +document. + + = Full installation = Full installation of GNU Parallel is as simple as: From f566bf766ec70868e9fd54ff900cfcb013a0fd92 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Wed, 24 Apr 2013 16:25:29 +0200 Subject: [PATCH 3/5] 10seconds_install: added. --- 10seconds_install | 51 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 10seconds_install diff --git a/10seconds_install b/10seconds_install new file mode 100644 index 00000000..eb7363ca --- /dev/null +++ b/10seconds_install @@ -0,0 +1,51 @@ +#!/bin/bash + +# Copyright (C) 2013 Ole Tange and Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This script downloads the latest version of GNU Parallel and +# installs it. +# +# It first tries to install it globally. +# If that fails, it does a personal installation. +# If that fails, it does copies to $HOME/bin + +LATEST=$(wget -qO- http://ftpmirror.gnu.org/parallel | perl -ne '/(parallel-\d{8})/ and print $1."\n"' | sort | tail -n1) +test -d $LATEST/src/ || wget http://ftpmirror.gnu.org/parallel/parallel-latest.tar.bz2 -O - | bzip2 -dc | tar xvf - +cd $LATEST || exit 2 +if ./configure && make && make install; then + echo GNU $LATEST installed globally +else + if ./configure --prefix=$HOME && make && make install; then + echo GNU $LATEST installed in $HOME/bin + else + mkdir -p $HOME/bin/; + chmod 755 src/*; + cp src/parallel src/sem src/sql src/niceload $HOME/bin; + echo GNU $LATEST copied to $HOME/bin + fi + + # Is $HOME/bin already in $PATH? + if echo $PATH | grep $HOME/bin >/dev/null; then + # $HOME/bin is already in $PATH + true + else + # Add $HOME/bin to $PATH for both bash and csh + echo 'PATH=$PATH:$HOME/bin' >> $HOME/.bashrc + echo 'setenv PATH ${PATH}:${HOME}/bin' >> $HOME/.cshrc + fi + + # Is $HOME/share/man already in $MANPATH? + if echo $MANPATH | grep $HOME/share/man >/dev/null; then + # $HOME/share/man is already in $MANPATH + true + else + # Add $HOME/share/man to $MANPATH for both bash and csh + echo 'MANPATH=$MANPATH:$HOME/share/man' >> $HOME/.bashrc + echo 'setenv MANPATH ${MANPATH}:${HOME}/share/man' >> $HOME/.cshrc + fi +fi From ac34b44162dbbe5fb223404961f5ff6aab341888 Mon Sep 17 00:00:00 2001 From: Tim Cuthbertson Date: Fri, 26 Apr 2013 20:42:09 +1000 Subject: [PATCH 4/5] 0install: use ftpmirror.gnu.org instead of ftp.gnu.org --- packager/0install/parallel.xml | 62 +++++++++++++++++----------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/packager/0install/parallel.xml b/packager/0install/parallel.xml index ee8bbfc4..7c5193aa 100644 --- a/packager/0install/parallel.xml +++ b/packager/0install/parallel.xml @@ -34,124 +34,124 @@ xargs or cat | sh. - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + From 10a42484daf468efcb6ab850c9522c03c6aff6ad Mon Sep 17 00:00:00 2001 From: Tim Cuthbertson Date: Fri, 26 Apr 2013 20:46:20 +1000 Subject: [PATCH 5/5] 0install: check gpg signature when publishing new version --- packager/0install/update | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/packager/0install/update b/packager/0install/update index d4ee3ec9..5cfc1031 100755 --- a/packager/0install/update +++ b/packager/0install/update @@ -6,12 +6,27 @@ if [ -z "${version}" ]; then echo "usage: update " exit 1 fi -set -ex -url="http://ftp.gnu.org/gnu/parallel/parallel-${version}.tar.bz2" +set -eux +url="http://ftpmirror.gnu.org/parallel/parallel-${version}.tar.bz2" file="/tmp/parallel-${version}.tgz" wget "$url" -O "${file}" +wget "$url.sig" -O "${file}.sig" + +# verify published signature comes from expected GPG key +gpg -n --verify "${file}.sig" "${file}" 2>&1 | tee "${file}.gpglog" +set +x +KEYID="$(grep '^Primary key fingerprint:' "${file}.gpglog" | tr -d ' ' | cut -f 2 -d : )" +fingerprint="BE9CB49381DE3166A3BC66C12C6229E2FFFFFFF1" +if [ "$KEYID" != "$fingerprint" ]; then + echo "Signature verification FAILED:" + cat "${file}.gpglog" + exit 1 +fi + +set -x + ( cd "$(dirname "$0")" && \ - 0publish \ + 0install run http://0install.net/2006/interfaces/0publish \ --add-version ${version} \ --archive-url="${url}" \ --archive-file="${file}" \