summaryrefslogtreecommitdiffstats
path: root/tools/encap-util-xml.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/encap-util-xml.sh')
-rwxr-xr-xtools/encap-util-xml.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/tools/encap-util-xml.sh b/tools/encap-util-xml.sh
new file mode 100755
index 000000000..0fdd75fe4
--- /dev/null
+++ b/tools/encap-util-xml.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+# $Id$
+
+# This builds the XML Pkgmgr files for the encap directory
+# structure created by the place script. It assumes the
+# directory has a *.run file in it (from the bcfg2 encap build)
+
+SITEBASEURI="http://example.com/encaps"
+
+for RUN in $(find * -type f | grep run$); do
+ DIR="$(dirname $RUN)"
+ FILE="$(basename $RUN)"
+ ARCH="$(printf "$FILE" | awk -F\- '{print $4}')"
+ OS="$(printf "$FILE" | awk -F\- '{print $5}' | sed s:\.run$::g)"
+ case $OS in
+ *aix*) OSDIR="aix/$(printf "$OS" | sed s:aix::g)" ;;
+ *solaris*) OSDIR="solaris/$(printf "$OS" | sed s:solaris::g)" ;;
+ *linux*) OSDIR="$(printf "$OS" | sed s:\_:\/:g)" ;;
+ *) exit 1
+ esac
+ XML="./xml/site-encaps-${ARCH}-${OS}.xml"
+ printf "<PackageList priority='0'\n" > $XML
+ printf " type='encap'\n" >> $XML
+ printf " uri='${SITEBASEURI}/%s/%s'>\n" "$OSDIR" "$ARCH" >> $XML
+ printf " <Group name='%s-%s'>\n" "$ARCH" "$OS" >> $XML
+ for FILE in `(cd ./$DIR && ls *-encap-*.tar.gz) | sort`; do
+ printf " <Package file='%s'/>\n" "$FILE" >> $XML
+ done
+ printf " </Group>\n" >> $XML
+ printf "</PackageList>\n" >> $XML
+done
+
+exit 0