set -e
-. /etc/grml/grml-buildd.conf
+dir="$(dirname $0)"
-[ -n "$MIRROR_DIRECTORY" ] || exit 1
-cd $MIRROR_DIRECTORY || exit 2
+if [ -r /etc/grml/grml-buildd.conf ] ; then
+ . /etc/grml/grml-buildd.conf
+elif [ -r "${dir}/grml-buildd.conf" ] ; then
+ . "${dir}/grml-buildd.conf"
+fi
-cd "$DAILY_DIR"
-echo "---------------------------" >> "$DAILY_DIR"/.timestamp_link
-for flavour in grml-medium_lenny grml-medium_squeeze grml-medium_sid grml-small_lenny grml-small_squeeze grml-small_sid \
- grml64-medium_lenny grml64-medium_squeeze grml64-medium_sid grml64-small_lenny grml64-small_squeeze grml64-small_sid \
- grml64_lenny grml64_squeeze grml64_sid grml_lenny grml_squeeze grml_sid ; do
+# directory where daily ISOs are stored locally
+if [ -z "$MIRROR_DIRECTORY" ] ; then
+ echo "Error: \$MIRROR_DIRECTORY is not set. Exiting." >&2
+ exit 1
+fi
+
+if [ -z "$FLAVOURS" ] ; then
+ echo "Error: \$FLAVOURS is not set. Exiting." >&2
+ exit 2
+fi
+
+if ! cd "$MIRROR_DIRECTORY" ; then
+ echo "Error: could not change directory to $MIRROR_DIRECTORY" >&2
+ exit 1
+fi
+
+echo "---------------------------" >> "$MIRROR_DIRECTORY"/.timestamp_link
+for flavour in $FLAVOURS; do
ISO="$(ls -1 $flavour/*.iso | tail -1)"
if [ -n "$ISO" ] ; then
- ln -sf $ISO $(basename ${ISO%%_[0-9]*})_latest.iso
- ln -sf ${ISO}.md5 $(basename ${ISO%%_[0-9]*})_latest.iso.md5
- ln -sf ${ISO}.sha1 $(basename ${ISO%%_[0-9]*})_latest.iso.sha1
+ latest="$(basename ${ISO%%_[0-9]*})_latest.iso"
+ ln -sf $ISO ${latest}
+ # ln -sf ${ISO}.md5 ${latest}.md5
+ # http://bts.grml.org/grml/issue814
+ name=$(awk '{print $2}' "${ISO}".md5)
+ sed "s/$name/$latest/" "${ISO}".md5 > "${latest}".md5
+ name=$(awk '{print $2}' "${ISO}".sha1)
+ sed "s/$name/$latest/" "${ISO}".sha1 > "${latest}".sha1
+ echo "$ISO" >> "$MIRROR_DIRECTORY"/.timestamp_link
fi
done
+echo "---------------------------" >> "$MIRROR_DIRECTORY"/.timestamp_link
## END OF FILE #################################################################