propset - enables svn keywords
[build.git] / packages.sh
index 7a09773..f9e6f34 100755 (executable)
@@ -6,12 +6,30 @@
 # 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 &amp;
-    # " to \"
+    # " to &quot;
     # ' to &apos;
     # < to &lt;
     # > to &gt;
@@ -39,15 +57,19 @@ xml_escape_cdata() {
        -e 's/>/\&gt;/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
@@ -68,11 +90,13 @@ done
 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