Handle RPM files properly.

Estimated hours taken: 0.5
Branches: main

tools/generate_index_html:
	Handle RPM files properly.

	Also fix a bug where the "bindists" variable was not being initialized,
	which lead to bogus output.
This commit is contained in:
Fergus Henderson
2004-02-08 15:25:27 +00:00
parent 2e2d3c0447
commit c0f66e00d4

View File

@@ -88,7 +88,9 @@ skip_file () {
# Generate a link to a file if it exists. # Generate a link to a file if it exists.
# This should be called within a `<ul>' element. # This should be called within a `<ul>' element.
link_to_existing_file () { link_to_existing_file () {
#echo link_to_existing_file "$@"
if [ -f $1 ]; then if [ -f $1 ]; then
#echo YES
link_to_file "<li> " $1 "$2" link_to_file "<li> " $1 "$2"
fi fi
} }
@@ -114,51 +116,55 @@ handle_release () {
do_handle_release () { do_handle_release () {
file=$1 file=$1
date=`expr "$file" : '.*\([0-9]\{4\}-[0-9][0-9]-[0-9][0-9]\).*'` date=`expr "$file" : '.*\([0-9]\{4\}[-_][0-9][0-9][-_][0-9][0-9]\).*'`
date_underscores=`echo $date | tr '-' '_'`
date=`echo $date | tr '_' '-'`
#echo "file=$file, date=$date"
case $file in case $file in
*.rpm|*.deb)
# XXX Currently we only produce RPMs and Debian
# packages for major releases.
version=`expr "$file" : ".*-\([0-9.]*[0-9]\)-[0-9].*"`
release_name="Release $version"
release_id="$version"
;;
*-rotd*-unstable*) *-rotd*-unstable*)
release_name="Unstable snapshot $date" release_name="Unstable snapshot $date"
release_id="rotd-$date-unstable" release_id="rotd-$date-unstable"
release_id_underscores="rotd_${date_underscores}_unstable"
;; ;;
*-rotd*) *-rotd*)
release_name="Stable snapshot $date" release_name="Stable snapshot $date"
release_id="rotd-$date" release_id="rotd-$date"
release_id_underscores="rotd_$date_underscores"
;; ;;
*-*([0-9.])-beta*-unstable*) *-*([0-9.])-beta*-unstable*)
version=`expr "$file" : ".*-\([0-9.]*\)-beta.*-unstable.*"` version=`expr "$file" : ".*-\([0-9.]*\)-beta.*-unstable.*"`
release_name="Unstable $version beta $date" release_name="Unstable $version beta $date"
release_id="$version-beta-$date-unstable" release_id="$version-beta-$date-unstable"
release_id_underscores="${version}_beta_${date_underscores}_unstable"
;; ;;
*-*([0-9.])-beta*) *-*([0-9.])-beta*)
version=`expr "$file" : ".*-\([0-9.]*\)-beta.*"` version=`expr "$file" : ".*-\([0-9.]*\)-beta.*"`
release_name="Stable $version beta $date" release_name="Stable $version beta $date"
release_id="$version-beta-$date" release_id="$version-beta-$date"
release_id_underscores="${version}_beta_$date_underscores"
;; ;;
*-*([0-9.])*-unstable*) *-*([0-9.])*-unstable*)
version=`expr "$file" : ".*-\([0-9.]*[0-9]\).*-unstable.*"` version=`expr "$file" : ".*-\([0-9.]*[0-9]\).*-unstable.*"`
release_name="Unstable release $version" release_name="Unstable release $version"
release_id="$version-unstable" release_id="$version-unstable"
release_id_underscores="${version}_unstable"
;; ;;
*-*([0-9.])*) *-*([0-9.])*)
echo "XXX [release_id=$release_id file=$file]" 1>&2
version=`expr "$file" : ".*-\([0-9.]*[0-9]\).*"` version=`expr "$file" : ".*-\([0-9.]*[0-9]\).*"`
release_name="Release $version" release_name="Release $version"
release_id="$version" release_id="$version"
release_id_underscores="$version"
;; ;;
*) *)
# Unknown release, this will be put in the list of # Unknown release, this will be put in the list of
# other files after all known releases. # other files after all known releases.
#echo "unknown file name: $file"
return 0 return 0
;; ;;
esac esac
#echo "[release_id=$release_id file=$file]" 1>&2 echo "[release_id=$release_id file=$file]" 1>&2
echo "<li> $release_name" >> $INDEX echo "<li> $release_name" >> $INDEX
echo '<ul>' >> $INDEX echo '<ul>' >> $INDEX
@@ -168,15 +174,18 @@ do_handle_release () {
"Installation instructions" "Installation instructions"
link_to_existing_file mercury-compiler-$release_id.tar.gz \ link_to_existing_file mercury-compiler-$release_id.tar.gz \
"Source distribution" "Source distribution"
link_to_existing_file mercury-compiler-$release_id-1.src.rpm \ link_to_existing_file \
mercury-compiler-$release_id_underscores-1.src.rpm \
"Source RPM" "Source RPM"
link_to_existing_file mercury-compiler-$release_id-1.i386.rpm \ link_to_existing_file \
mercury-compiler-$release_id_underscores-1.i386.rpm \
"RPM (x86)" "RPM (x86)"
link_to_existing_file mercury_$release_id-1_i386.deb "Debian (x86)" link_to_existing_file mercury_$release_id-1_i386.deb "Debian (x86)"
bindists1=`echo mercury-$release_id.[a-z]*.tar.gz` bindists1=`echo mercury-$release_id.[a-z]*.tar.gz`
bindists2=`echo mercury-compiler-$release_id.[a-z]*.zip` bindists2=`echo mercury-compiler-$release_id.[a-z]*.zip`
case "$bindists1" in case "$bindists1" in
*'*'.tar.gz) *'*'.tar.gz)
bindists=""
;; ;;
*) *)
bindists="$bindists1" bindists="$bindists1"
@@ -303,7 +312,7 @@ handle_release mercury-compiler-${CURRENT_RELEASE}.tar.gz
# We list these in reverse alphabetical order, # We list these in reverse alphabetical order,
# so that the most recently dated ones come first. # so that the most recently dated ones come first.
# #
for file in `ls -1 mercury-compiler-${BETA_RELEASE}-beta*.tar.gz \ for file in `ls -1 mercury-compiler-${BETA_RELEASE}-beta*.{tar.gz,rpm} \
mercury-${BETA_RELEASE}-beta*.tar.gz 2>/dev/null | sort -r` mercury-${BETA_RELEASE}-beta*.tar.gz 2>/dev/null | sort -r`
do do
case $file in case $file in
@@ -315,7 +324,7 @@ done
# #
# Stable release-of-the-day. # Stable release-of-the-day.
# #
for file in `ls -1 mercury-compiler-rotd*.tar.gz mercury-rotd-* 2>/dev/null \ for file in `ls -1 mercury-compiler-rotd*.{tar.gz,rpm} mercury-rotd* 2>/dev/null \
| sort -r` | sort -r`
do do
case $file in case $file in
@@ -327,7 +336,7 @@ done
# #
# Unstable release-of-the-day # Unstable release-of-the-day
# #
for file in `ls -1 mercury-compiler-rotd-*-unstable.tar.gz 2>/dev/null \ for file in `ls -1 mercury-compiler-rotd*-unstable.{tar.gz,rpm} 2>/dev/null \
| sort -r` | sort -r`
do do
handle_release $file handle_release $file
@@ -336,7 +345,7 @@ done
# #
# Other assorted releases. # Other assorted releases.
# #
for file in mercury-compiler-* mercury-rotd-* mercury-gcc-* for file in mercury-compiler-* mercury-rotd* mercury-gcc-*
do do
handle_release $file handle_release $file
done done