| #******************************************************************************* |
| # Copyright (c) 2009 Tasktop Technologies and others. |
| # All rights reserved. This program and the accompanying materials |
| # are made available under the terms of the Eclipse Public License v1.0 |
| # which accompanies this distribution, and is available at |
| # http://www.eclipse.org/legal/epl-v10.html |
| # |
| # Contributors: |
| # Tasktop Technologies - initial API and implementation |
| #******************************************************************************* |
| #!/bin/bash -e |
| |
| help() { |
| echo "usage: sign-update-site.sh major build" |
| echo " local" |
| exit 1 |
| } |
| |
| if [ $# -eq 0 ] |
| then |
| help |
| fi |
| |
| if [ "$1" == "local" ] |
| then |
| BUILD_ROOT=$(cd $(dirname $0); pwd) |
| source $BUILD_ROOT/local.sh |
| else |
| if [ $# -lt 2 ] |
| then |
| help |
| fi |
| |
| MAJOR_VERSION=$1 |
| QUALIFIER=$2 |
| fi |
| |
| SRC=/home/data/httpd/download.eclipse.org/tools/mylyn/update-archive/$MAJOR_VERSION/$QUALIFIER |
| DST=/opt/public/download-staging.priv/tools/mylyn |
| OUT=$DST/output |
| TMP=$DST/tmp/$MAJOR_VERSION-$QUALIFIER |
| JAVA_HOME=/opt/ibm/java2-ppc-50 |
| ECLIPSE_HOME=/shared/tools/mylyn/eclipse |
| |
| unzip() { |
| /bin/rm -R $TMP/$1 || true |
| /bin/mkdir -p $TMP/$1 |
| /usr/bin/unzip -d $TMP/$1 $SRC/mylyn-$MAJOR_VERSION.$QUALIFIER-$1.zip |
| } |
| |
| rezip() { |
| cd $TMP/$1 |
| echo Rezipping archive for $1, output is logged to $DST/sign.log |
| /usr/bin/zip $TMP/mylyn-$MAJOR_VERSION.$QUALIFIER-$1.zip -r . >> $DST/sign.log |
| } |
| |
| pack() { |
| DIR=$TMP/$1 |
| $JAVA_HOME/bin/java \ |
| -Xmx512m \ |
| -jar $ECLIPSE_HOME/plugins/org.eclipse.equinox.launcher_*.jar \ |
| -application org.eclipse.update.core.siteOptimizer \ |
| -jarProcessor -verbose -processAll -repack -pack \ |
| -digestBuilder -digestOutputDir=$DIR -siteXML=$DIR/site.xml \ |
| -outputDir $DIR $DIR |
| |
| echo Processing $DIR |
| rm -f $DIR/artifacts.jar $DIR/content.jar |
| $JAVA_HOME/bin/java \ |
| -Xmx512m \ |
| -jar $ECLIPSE_HOME/plugins/org.eclipse.equinox.launcher_*.jar \ |
| -application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator \ |
| -updateSite $DIR \ |
| -site file:$DIR/site.xml \ |
| -metadataRepository file:$DIR \ |
| -metadataRepositoryName "$2 "\ |
| -artifactRepository file:$DIR \ |
| -artifactRepositoryName "$2" \ |
| -compress \ |
| -reusePack200Files \ |
| -noDefaultIUs |
| } |
| |
| if [ ! -e $TMP ] |
| then |
| |
| # extract site |
| |
| /bin/rm $TMP || true |
| unzip e3.4 |
| unzip extras |
| unzip incubator |
| |
| echo Creating archive for signing, output is logged to $DST/sign.log |
| /bin/rm $DST/mylyn.zip || true |
| cd $TMP |
| /usr/bin/find -name "org.eclipse*mylyn*.jar" | zip $DST/mylyn.zip -@ > $DST/sign.log |
| |
| # sign |
| |
| mkdir -p $OUT |
| /bin/rm $OUT/mylyn.zip || true |
| /usr/bin/sign $DST/mylyn.zip nomail $OUT |
| fi |
| |
| I=0 |
| while [ $I -lt 30 ] && [ ! -e $OUT/mylyn.zip ]; do |
| echo Waiting for $OUT/mylyn.zip |
| sleep 45 |
| let I=I+1 |
| done |
| |
| if [ ! -e $OUT/mylyn.zip ] |
| then |
| echo |
| echo Signing Failed: Timeout waiting for $OUT/mylyn.zip |
| exit 1 |
| fi |
| |
| # repack site |
| |
| echo Unzipping signed files, output is logged to $DST/sign.log |
| /usr/bin/unzip -o -d $TMP $OUT/mylyn.zip >> $DST/sign.log |
| |
| pack e3.4 "Mylyn for Eclipse 3.4, 3.5 and 3.6" |
| pack extras "Mylyn Extras" |
| pack incubator "Mylyn Incubator" |
| |
| rezip e3.4 |
| rezip extras |
| rezip incubator |
| |
| # republish |
| |
| /bin/mv $SRC $SRC-DELETE |
| # other zip files are overridden here with signed versions |
| /bin/cp -av $TMP $SRC |
| # recover wikitext-standalone zip and other archives |
| /bin/cp -v $SRC-DELETE/mylyn-wikitext-standalone-*.zip $SRC |
| /bin/chgrp -R mylynadmin $SRC |
| /bin/chmod g+w -R $SRC |
| /bin/chmod o+r -R $SRC |
| /usr/bin/find $SRC -type d | xargs chmod +x |
| rm -R $SRC-DELETE |