#!/bin/bash

DISTVER=VinePlus/6
CATLIST=vine6x
if [ "$1" == "VineSeed" ]; then
  DISTVER=VineSeed
  CATLIST=vineseed
elif [ "$1" == "VinePlus5" ]; then
  DISTVER=VinePlus/5
  CATLIST=vine5x
fi
FILENAME=$(echo ${DISTVER} | sed -e 's|/||g' | tr '[:upper:]' '[:lower:]')news.html

TOPDIR=/home/ftp/pub/Vine
SRPMSDIR=${TOPDIR}/${DISTVER}/pool
NEWRPMS=""
URLHEAD="http://vinelinux.org/"

#NEWRPMS=$((cd $SRPMSDIR ; rpm -qp --qf '%{BUILDTIME}\t%{NAME}-%{VERSION}-%{RELEASE}.src.rpm\n' *.src.rpm) | sort -rn | head -30 | \
#while read buildtime srcrpm
#do
#  echo -n "$srcrpm "
#done)

NEWRPMS=$(ls -1t ${SRPMSDIR}/*.rpm | head -40 | xargs rpm -qp --qf '%{name}-%{version}-%{release}.src.rpm ')

# Header
cat << EOF
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
<channel rdf:about="http://vinelinux.org/seed/index.html">
  <title>${DISTVER}更新情報</title>
  <link>http://vinelinux.org/${FILENAME}</link>
  <description>${DISTVER} パッケージ更新情報</description>
  <dc:date>`LANG=C date +%Y-%m-%dT%X+09:00`</dc:date>
EOF

export LANG=ja_JP.UTF-8

# Contents
echo "  <items>"
echo "    <rdf:Seq>"
for i in $NEWRPMS
do
  rpm -qp \
      --qf "      <rdf:li resource=\"${URLHEAD}${FILENAME}#%{NAME}-%{VERSION}-%{RELEASE}\" />\n" \
      ${SRPMSDIR}/$i | grep -v '^. \*'
done
echo "    </rdf:Seq>
  </items>
</channel>"
echo

for i in $NEWRPMS
do
  rpm -qp \
      --qf "<item rdf:about=\"${URLHEAD}${FILENAME}#%{NAME}-%{VERSION}-%{RELEASE}\">\n" \
      --qf '<title>%{NAME}-%{VERSION}-%{RELEASE}</title>\n' \
      --qf "<link>${URLHEAD}${FILENAME}#%{NAME}-%{VERSION}-%{RELEASE}</link>\n" \
      --qf '<description>\n' \
      --qf '<\!\[CDATA\[<pre>\n' \
      ${SRPMSDIR}/$i | grep -v '^. \*'
  rpm -qp \
      --qf '%{CHANGELOGTEXT}\n' \
      ${SRPMSDIR}/$i | grep -v '^. \*' | grep -v '^ $' | \
      sed -e 's/&/\&amp;/g' -e 's/</\&lt;/g' -e 's/>/\&gt;/g' -e 's/@/ at /g'
  rpm -qp \
      --qf '</pre>\]\]>\n' \
      --qf '</description>\n' \
      --qf '<dc:date>%{CHANGELOGTIME:date}+09:00</dc:date>\n' \
      --qf '</item>\n\n' \
      ${SRPMSDIR}/$i | \
      sed -e 's/[年月]/-/g' -e 's/ /T/g' -e 's/[日秒]//g' -e 's/[時分]/:/g'
done

# Footer
echo "</rdf:RDF>"
