3 # Generates XML manifest of packages for
4 # http://www.planet-lab.org/Software/download.php
6 # Mark Huang <mlhuang@cs.princeton.edu>
7 # Copyright (C) 2004 The Trustees of Princeton University
9 # $Id: packages.sh,v 1.3 2004/10/27 19:38:36 mlhuang Exp $
19 -e 's/\&/\&/g' | sed \
35 -e 's/\\/\\\\/g' | sed \
42 # XXX rpmquery version 4.3.1 crashes if too large of a queryformat is passed
43 #TAGS=$(rpm --querytags)
44 TAGS="NAME VERSION RELEASE URL BUILDTIME DESCRIPTION"
47 <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
48 <!-- \$Id: packages.sh,v 1.3 2004/10/27 19:38:36 mlhuang Exp $ -->
49 <!-- Generated at $(date) in $(cd ${1-.} && pwd -P) on $HOSTNAME by $USER -->
51 <!ELEMENT PACKAGES (PACKAGE)*>
52 <!ELEMENT PACKAGE (#PCDATA)>
56 # List each tag as an attribute
64 # Build up QUERYFORMAT for later use
65 QUERYFORMAT="$QUERYFORMAT $tag=@QUOTE@%{$tag}@QUOTE@\n"
75 # For every RPM in the current directory
76 RPMS=$(find ${1-.} -name '*.rpm')
83 # Print the tags (@QUOTE@ prevents escaping of syntax)
84 rpmquery --queryformat "$QUERYFORMAT" -p $rpm | xml_escape_cdata | sed -e 's/@QUOTE@/"/g'
86 # Print the name of the RPM
89 $(basename $rpm | xml_escape_pcdata)