2006-07-26 11:35:13 +00:00
|
|
|
#!/bin/sh
|
2006-09-20 11:53:43 +00:00
|
|
|
#*******************************************************************************
|
|
|
|
# Copyright (c) 2006 Wind River Systems, Inc.
|
|
|
|
# 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:
|
|
|
|
# Martin Oberhuber - initial API and implementation
|
|
|
|
#*******************************************************************************
|
2006-07-26 11:35:13 +00:00
|
|
|
# Convert normal "site.xml" to "testUpdates"
|
2006-07-26 11:40:30 +00:00
|
|
|
#
|
|
|
|
# Prerequisites:
|
2007-01-17 17:51:31 +00:00
|
|
|
# - Eclipse 3.3Mx installed in $HOME/ws2/eclipse
|
2006-07-26 11:40:30 +00:00
|
|
|
# - Java5 in the PATH or in /shared/common/ibm-java2-ppc64-50
|
2006-07-26 11:35:13 +00:00
|
|
|
|
|
|
|
curdir=`pwd`
|
|
|
|
cd `dirname $0`
|
|
|
|
mydir=`pwd`
|
|
|
|
|
2006-12-12 17:53:07 +00:00
|
|
|
umask 022
|
2006-07-26 11:35:13 +00:00
|
|
|
|
2006-08-18 09:29:56 +00:00
|
|
|
#Use Java5 on build.eclipse.org - need JRE for pack200
|
|
|
|
export PATH=/shared/common/ibm-java2-ppc64-50/jre/bin:/shared/common/ibm-java2-ppc64-50/bin:$PATH
|
2006-08-18 08:39:12 +00:00
|
|
|
|
2006-07-26 11:35:13 +00:00
|
|
|
# patch site.xml
|
|
|
|
cd ..
|
2006-07-26 11:51:48 +00:00
|
|
|
SITE=`pwd`
|
2006-11-07 14:34:53 +00:00
|
|
|
if [ -f index.html.new ]; then
|
|
|
|
rm -f index.html.new
|
|
|
|
fi
|
2006-08-18 09:17:09 +00:00
|
|
|
if [ -f site.xml.new ]; then
|
|
|
|
rm -f site.xml.new
|
|
|
|
fi
|
|
|
|
if [ -f web/site.xsl.new ]; then
|
|
|
|
rm -f web/site.xsl.new
|
|
|
|
fi
|
|
|
|
|
|
|
|
# get newest plugins and features: to be done manually on real update site
|
2006-07-26 11:51:48 +00:00
|
|
|
if [ `basename $SITE` = testUpdates ]; then
|
|
|
|
echo "Working on test update site"
|
2007-01-17 17:51:31 +00:00
|
|
|
REL=`ls $HOME/ws2/working/package | sort | tail -1`
|
2006-08-11 16:08:06 +00:00
|
|
|
if [ "$REL" != "" ]; then
|
2006-08-11 16:24:11 +00:00
|
|
|
echo "Checking new Updates from $REL"
|
2007-01-17 17:51:31 +00:00
|
|
|
DIR="$HOME/ws2/working/package/$REL/updates"
|
2006-08-11 16:08:06 +00:00
|
|
|
if [ -d "$DIR/features" ]; then
|
|
|
|
echo "Copying new plugins and features from $DIR"
|
|
|
|
rm -rf features
|
|
|
|
rm -rf plugins
|
|
|
|
cp -R $DIR/features .
|
|
|
|
cp -R $DIR/plugins .
|
|
|
|
fi
|
|
|
|
fi
|
2006-11-07 14:34:53 +00:00
|
|
|
rm index.html site.xml web/site.xsl
|
|
|
|
cvs -q update -dPR
|
|
|
|
sed -e 's,/dsdp/tm/updates,/dsdp/tm/testUpdates,g' \
|
|
|
|
-e 's,Project Update,Project Test Update,g' \
|
|
|
|
index.html > index.html.new
|
|
|
|
mv -f index.html.new index.html
|
2006-07-26 11:51:48 +00:00
|
|
|
sed -e 's,/dsdp/tm/updates,/dsdp/tm/testUpdates,g' \
|
2006-07-26 13:17:44 +00:00
|
|
|
-e 's,Project Update,Project Test Update,g' \
|
2006-07-26 11:51:48 +00:00
|
|
|
site.xml > site.xml.new
|
|
|
|
mv -f site.xml.new site.xml
|
2006-07-26 13:17:44 +00:00
|
|
|
sed -e 's,Project Update,Project Test Update,g' \
|
|
|
|
web/site.xsl > web/site.xsl.new
|
|
|
|
mv -f web/site.xsl.new web/site.xsl
|
2006-11-17 21:18:37 +00:00
|
|
|
echo "Conditioning the site... $SITE"
|
|
|
|
#java -Dorg.eclipse.update.jarprocessor.pack200=$mydir \
|
2007-01-17 17:51:31 +00:00
|
|
|
# -jar $HOME/ws2/eclipse/startup.jar \
|
2006-11-17 21:18:37 +00:00
|
|
|
# -application org.eclipse.update.core.siteOptimizer \
|
|
|
|
# -jarProcessor -outputDir $SITE \
|
|
|
|
# -processAll -repack $SITE
|
|
|
|
java -Dorg.eclipse.update.jarprocessor.pack200=$mydir \
|
2007-01-17 17:51:31 +00:00
|
|
|
$HOME/ws2/jarprocessor/jarprocessor.jar \
|
2006-11-17 21:18:37 +00:00
|
|
|
-outputDir $SITE -processAll -repack $SITE
|
2006-11-07 14:34:53 +00:00
|
|
|
elif [ `basename $SITE` = signedUpdates ]; then
|
|
|
|
echo "Working on signed update site"
|
2006-11-17 21:18:37 +00:00
|
|
|
echo "Signing jars from test update site (expecting conditioned jars)..."
|
2006-11-03 18:20:48 +00:00
|
|
|
STAGING=/home/data/httpd/download-staging.priv/dsdp/tm
|
|
|
|
stamp=`date +'%Y%m%d-%H%M'`
|
|
|
|
if [ -d ${STAGING} -a -d ${SITE}/../testUpdates ]; then
|
|
|
|
#get jars from testUpdates, sign them and put them here
|
|
|
|
mkdir ${SITE}/features.${stamp}
|
|
|
|
mkdir -p ${STAGING}/updates.${stamp}/features
|
|
|
|
cp -R ${SITE}/../testUpdates/features/*.jar ${STAGING}/updates.${stamp}/features
|
|
|
|
cd ${STAGING}/updates.${stamp}/features
|
|
|
|
for x in `ls *.jar`; do
|
|
|
|
echo "signing feature: ${x}"
|
|
|
|
sign ${x} nomail >/dev/null
|
|
|
|
done
|
|
|
|
TRIES=10
|
|
|
|
while [ $TRIES -gt 0 ]; do
|
|
|
|
sleep 30
|
|
|
|
echo "TRIES to go: ${TRIES}"
|
|
|
|
for x in `ls *.jar | grep -v '^temp[_.]'`; do
|
|
|
|
result=`jarsigner -verify ${x}`
|
|
|
|
if [ "$result" = "jar verified." ]; then
|
|
|
|
echo "${result}: ${x}"
|
|
|
|
cp ${x} ${SITE}/features.${stamp}
|
|
|
|
rm ${x}
|
|
|
|
else
|
|
|
|
echo "-pending- ${x} : ${result}" | head -1
|
|
|
|
sleep 30
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
FILES=`ls 2>/dev/null`
|
|
|
|
if [ "$FILES" = "" ]; then
|
|
|
|
TRIES=0
|
|
|
|
ok=1
|
|
|
|
else
|
|
|
|
echo "--> FILES is $FILES"
|
|
|
|
TRIES=`expr $TRIES - 1`
|
|
|
|
ok=0
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
if [ "$ok" = "1" ]; then
|
|
|
|
rmdir ${STAGING}/updates.${stamp}/features
|
|
|
|
mkdir ${SITE}/plugins.${stamp}
|
|
|
|
mkdir -p ${STAGING}/updates.${stamp}/plugins
|
|
|
|
cp ${SITE}/../testUpdates/plugins/*.jar ${STAGING}/updates.${stamp}/plugins
|
|
|
|
cd ${STAGING}/updates.${stamp}/plugins
|
|
|
|
for x in `ls *.jar`; do
|
|
|
|
echo "signing plugin: ${x}"
|
|
|
|
sign ${x} nomail >/dev/null
|
|
|
|
done
|
|
|
|
TRIES=10
|
|
|
|
while [ $TRIES -gt 0 ]; do
|
|
|
|
sleep 30
|
|
|
|
echo "TRIES to go: ${TRIES}"
|
|
|
|
for x in `ls *.jar | grep -v '^temp[_.]'`; do
|
|
|
|
result=`jarsigner -verify ${x}`
|
|
|
|
if [ "$result" = "jar verified." ]; then
|
|
|
|
echo "${result}: ${x}"
|
|
|
|
cp ${x} ${SITE}/plugins.${stamp}
|
|
|
|
rm ${x}
|
|
|
|
else
|
|
|
|
echo "-pending- ${x} : ${result}" | head -1
|
|
|
|
sleep 30
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
FILES=`ls 2>/dev/null`
|
|
|
|
if [ "$FILES" = "" ]; then
|
|
|
|
TRIES=0
|
|
|
|
ok=1
|
|
|
|
else
|
|
|
|
echo "--> FILES is $FILES"
|
|
|
|
TRIES=`expr $TRIES - 1`
|
|
|
|
ok=0
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
if [ "$ok" = "1" ]; then
|
|
|
|
cd ${SITE}
|
|
|
|
rmdir ${STAGING}/updates.${stamp}/plugins
|
|
|
|
rmdir ${STAGING}/updates.${stamp}
|
2006-11-07 14:34:53 +00:00
|
|
|
#mv features features.old.${stamp}
|
|
|
|
#mv plugins plugins.old.${stamp}
|
|
|
|
rm -rf features plugins
|
2006-11-03 18:20:48 +00:00
|
|
|
mv features.${stamp} features
|
|
|
|
mv plugins.${stamp} plugins
|
|
|
|
else
|
|
|
|
echo "Something went wrong during staging and signing."
|
|
|
|
echo "Keeping existing update site intact."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "staging or testUpdates not found:"
|
2006-11-07 14:34:53 +00:00
|
|
|
echo "please fix your pathes"
|
|
|
|
exit 1
|
2006-11-03 18:20:48 +00:00
|
|
|
fi
|
2006-11-07 14:34:53 +00:00
|
|
|
rm index.html site.xml web/site.xsl
|
|
|
|
cvs -q update -dPR
|
|
|
|
sed -e 's,/dsdp/tm/updates,/dsdp/tm/signedUpdates,g' \
|
|
|
|
-e 's,Project Update,Project Signed Test Update,g' \
|
|
|
|
index.html > index.html.new
|
|
|
|
mv -f index.html.new index.html
|
|
|
|
sed -e 's,/dsdp/tm/updates,/dsdp/tm/signedUpdates,g' \
|
|
|
|
-e 's,Project Update,Project Signed Test Update,g' \
|
|
|
|
site.xml > site.xml.new
|
|
|
|
mv -f site.xml.new site.xml
|
|
|
|
sed -e 's,Project Update,Project Signed Test Update,g' \
|
|
|
|
web/site.xsl > web/site.xsl.new
|
|
|
|
mv -f web/site.xsl.new web/site.xsl
|
2007-01-02 14:37:09 +00:00
|
|
|
elif [ `basename $SITE` = interim ]; then
|
|
|
|
echo "Working on interim update site"
|
2006-12-20 18:03:21 +00:00
|
|
|
echo "Expect that you copied your features and plugins yourself"
|
|
|
|
stamp=`date +'%Y%m%d-%H%M'`
|
|
|
|
rm index.html site.xml web/site.xsl
|
|
|
|
cvs -q update -dPR
|
2007-01-02 14:37:09 +00:00
|
|
|
sed -e 's,/dsdp/tm/updates,/dsdp/tm/updates/interim,g' \
|
|
|
|
-e 's,Project Update,Project Interim Update,g' \
|
|
|
|
-e '\,</h1>,a\
|
|
|
|
This site contains Target Management Milestones (I-, S- and M- builds) which are \
|
|
|
|
being contributed to the Europa coordinated release train (Eclipse 3.3).' \
|
2006-12-20 18:03:21 +00:00
|
|
|
index.html > index.html.new
|
|
|
|
mv -f index.html.new index.html
|
2007-01-02 14:37:09 +00:00
|
|
|
sed -e 's,/dsdp/tm/updates,/dsdp/tm/updates/interim,g' \
|
|
|
|
-e 's,Project Update,Project Interim Update,g' \
|
2006-12-20 18:03:21 +00:00
|
|
|
site.xml > site.xml.new
|
|
|
|
mv -f site.xml.new site.xml
|
2007-01-02 14:37:09 +00:00
|
|
|
sed -e 's,Project Update,Project Interim Update,g' \
|
2006-12-20 18:03:21 +00:00
|
|
|
web/site.xsl > web/site.xsl.new
|
|
|
|
mv -f web/site.xsl.new web/site.xsl
|
2006-11-07 14:34:53 +00:00
|
|
|
else
|
|
|
|
echo "Working on official update site"
|
|
|
|
echo "Expect that you copied your features and plugins yourself"
|
|
|
|
stamp=`date +'%Y%m%d-%H%M'`
|
|
|
|
rm index.html site.xml web/site.xsl
|
|
|
|
cvs -q update -dPR
|
2006-07-26 11:51:48 +00:00
|
|
|
fi
|
2006-09-28 15:28:47 +00:00
|
|
|
FEATURES=`grep 'features/[^ ]*\.qualifier\.jar' site.xml | sed -e 's,^[^"]*"features/\([^0-9]*[0-9][0-9.]*\).*$,\1,g'`
|
2006-08-18 09:17:09 +00:00
|
|
|
for feature in $FEATURES ; do
|
|
|
|
#list newest ones first
|
2006-09-28 15:28:47 +00:00
|
|
|
TAG=`ls -t features/${feature}*.jar | head -1 | sed -e 's,[^0-9]*[0-9][0-9]*\.[0-9]*\.[0-9]*\.\([^.]*\).jar,\1,'`
|
2006-08-18 09:17:09 +00:00
|
|
|
if [ "$TAG" != "" ]; then
|
|
|
|
echo "$feature : $TAG"
|
|
|
|
sed -e "/$feature/s/qualifier/$TAG/g" site.xml > site.xml.new
|
|
|
|
mv -f site.xml.new site.xml
|
|
|
|
fi
|
|
|
|
done
|
2006-07-26 11:35:13 +00:00
|
|
|
|
|
|
|
# optimize the site
|
|
|
|
# see http://wiki.eclipse.org/index.php/Platform-releng-faq
|
|
|
|
#Pack the site
|
2006-08-18 08:39:12 +00:00
|
|
|
# Workaround for downgrading effort of pack200 to avoid VM bug
|
|
|
|
# See https://bugs.eclipse.org/bugs/show_bug.cgi?id=154069
|
2006-07-26 11:57:04 +00:00
|
|
|
echo "Packing the site... $SITE"
|
2006-11-11 01:22:02 +00:00
|
|
|
#java -Dorg.eclipse.update.jarprocessor.pack200=$mydir \
|
2007-01-17 17:51:31 +00:00
|
|
|
# -jar $HOME/ws2/eclipse/startup.jar \
|
2006-11-11 01:22:02 +00:00
|
|
|
# -application org.eclipse.update.core.siteOptimizer \
|
|
|
|
# -jarProcessor -outputDir $SITE \
|
|
|
|
# -processAll -pack $SITE
|
2006-11-17 21:18:37 +00:00
|
|
|
java -Dorg.eclipse.update.jarprocessor.pack200=$mydir \
|
2007-01-17 17:51:31 +00:00
|
|
|
$HOME/ws2/jarprocessor/jarprocessor.jar \
|
2006-11-17 21:18:37 +00:00
|
|
|
-outputDir $SITE -processAll -pack $SITE
|
2006-07-26 11:35:13 +00:00
|
|
|
|
|
|
|
#Create the digest
|
2006-07-26 11:40:30 +00:00
|
|
|
echo "Creating digest..."
|
2007-01-17 17:51:31 +00:00
|
|
|
java -jar $HOME/ws2/eclipse/startup.jar \
|
2006-07-26 11:35:13 +00:00
|
|
|
-application org.eclipse.update.core.siteOptimizer \
|
2006-07-26 11:51:48 +00:00
|
|
|
-digestBuilder -digestOutputDir=$SITE \
|
|
|
|
-siteXML=$SITE/site.xml
|
2006-07-26 11:40:30 +00:00
|
|
|
|
2006-07-26 11:51:48 +00:00
|
|
|
cd $SITE
|
2007-01-02 14:51:49 +00:00
|
|
|
chgrp -R dsdp-tmadmin .
|
|
|
|
chmod -R g+w .
|
2006-11-03 22:19:09 +00:00
|
|
|
chmod -R a+r .
|
2006-11-03 18:20:48 +00:00
|
|
|
cd $curdir
|