#!/bin/bash function die() { echo $* exit 1 } URL=$1 DIR=$2 CERT=$3 TMPF=`mktemp` wget --no-check-certificate -O$TMPF $URL || die "Unable to download $URL: $?" if [ "x$CERT" != "x" ]; then samlsign -c $CERT -f $TMPF || die "Unable to verify $URL with $CERT: $?" fi TMPD=`mktemp -d` xsltproc --stringparam output $TMPD xslt/import-metadata.xsl $TMPF || die "Unable to import metadata from $URL: $?" rsync -avz $TMPD/ $DIR ( echo '<?xml version="1.0"?>' echo "<EntitiesDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:xi=\"http://www.w3.org/2001/XInclude\" Name=\"http://md.swamid.se/md/$DIR.xml\">" T=`mktemp` for md in $DIR/*.xml; do xsltproc xslt/clean-entitydescriptor.xsl $md > $T && mv $T $md echo "<xi:include href=\"$md\"/>" done rm -f $T echo "</EntitiesDescriptor>" ) > $DIR.mxml git add $DIR.mxml $DIR git commit -m "$URL into $DIR" $DIR.mxml $DIR rm -rf $TMPF $TMPD