# Mark Huang <mlhuang@cs.princeton.edu>
# Copyright (C) 2004 The Trustees of Princeton University
#
-# $Id: packages.sh,v 1.2 2004/10/27 04:47:02 mlhuang Exp $
+# $Id$
#
+# Set defaults
+BASE=
+
+# Get options
+while getopts "b:h" opt ; do
+ case $opt in
+ b)
+ BASE=$OPTARG
+ ;;
+ h|*)
+ echo "usage: `basename $0` [OPTION]..."
+ echo " -b base URL base for packages (default: none)"
+ exit 1
+ ;;
+ esac
+done
+shift $(($OPTIND - 1))
+
xml_escape_pcdata() {
# & to &
- # " to \"
+ # " to "
# ' to '
# < to <
# > to >
-e 's/>/\>/g'
}
-# All supported tags
-TAGS=$(rpm --querytags)
+# XXX rpmquery version 4.3.1 crashes if too large of a queryformat is passed
+#TAGS=$(rpm --querytags)
+TAGS="NAME VERSION RELEASE ARCH URL BUILDTIME DESCRIPTION"
cat <<EOF
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
-<!-- \$Id: packages.sh,v 1.2 2004/10/27 04:47:02 mlhuang Exp $ -->
+<!-- \$Id$ -->
<!-- Generated at $(date) in $(cd ${1-.} && pwd -P) on $HOSTNAME by $USER -->
<!DOCTYPE PACKAGES [
<!ELEMENT PACKAGES (PACKAGE)*>
+ <!ATTLIST PACKAGES
+ BASE CDATA #REQUIRED
+ >
<!ELEMENT PACKAGE (#PCDATA)>
<!ATTLIST PACKAGE
EOF
cat <<EOF
>
]>
-<PACKAGES>
+<PACKAGES
+BASE="$BASE"
+>
EOF
# For every RPM in the current directory
-RPMS=$(find ${1-.} -name '*.rpm')
+RPMS=$(find ${1-.} -name '*.rpm' -and -not -name '*debuginfo*' | sort)
for rpm in $RPMS ; do
cat <<EOF