blob: 0eede8db0afb3689366cf34a02b410eb4e9a3433 [file] [log] [blame]
#!/bin/bash -e
update() {
source composite.index
#if [ "$DIRS" == "" ]; then
# echo "missing DIRS in $PWD/composite.index"
# exit 1
#fi
if [ "$NAME" == "" ]; then
echo "missing NAME in $PWD/composite.index"
exit 1
fi
FILE=compositeArtifacts.xml
TAG=compositeArtifactRepository
TYPE=org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository
compose
FILE=compositeContent.xml
TAG=compositeMetadataRepository
TYPE=org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository
compose
cat > p2.index <<EOF
version=1
metadata.repository.factory.order=compositeContent.xml,!
artifact.repository.factory.order=compositeArtifacts.xml,!
EOF
}
compose() {
echo "Updating $PWD/$FILE"
cat > $FILE <<EOF
<?xml version='1.0' encoding='UTF-8'?>
<?TAG version='1.0.0'?>
<repository name='NAME' type='TYPE' version='1.0.0'>
<properties size='2'>
<property name='p2.compressed' value='true'/>
<property name='p2.timestamp' value='TIMESTAMP'/>
</properties>
<children size='CHILD_COUNT'>
EOF
sed -i -e "s/TAG/$TAG/" -e "s/TYPE/$TYPE/" $FILE
sed -i -e "s/NAME/$NAME/" -e "s/TIMESTAMP/$TIMESTAMP/" $FILE
COUNT=0
for i in $DIRS; do
echo " <child location='$i'/>" >> $FILE
COUNT=$((COUNT+1))
echo " added $i"
done
sed -i -e "s/CHILD_COUNT/$COUNT/" $FILE
cat >> $FILE <<EOF
</children>
</repository>
EOF
}
TIMESTAMP=$(date +%s)000
if [ "$1" == "-r" ]; then
for i in $(find -name composite.index); do
(cd $(dirname $i); update)
setfacl -m u:55011:rwx $(dirname $i)/*.xml || true
done
elif [ -e composite.index ]; then
update
else
echo "composite.index not found"
exit 1
fi