#!/usr/bin/env zsh
# releases.atom.zsh -- releases.atom generator
-# Copyright (C) 2022 Sergey Matveev <stargrave@stargrave.org>
+# Copyright (C) 2022-2024 Sergey Matveev <stargrave@stargrave.org>
set -e
[[ -n "$BASE_URL" ]]
[[ -n "$AUTHOR_EMAIL" ]]
export TZ=UTC
-UPDATED=`date -Iseconds`
+zmodload -F zsh/datetime b:strftime
+strftime -s UPDATED %FT%TZ
ATOM=releases.atom
tmp=`mktemp`
trap "rm -f $tmp" HUP PIPE INT QUIT TERM EXIT
</author>
EOF
+zmodload -F zsh/stat b:zstat
for meta (*.meta4(om)) {
fn=$meta:r
title=${meta%.tar.*}
- updated=$(date -j -f %s -Iseconds $(stat -f %m $meta))
+ zstat -A updated -F %FT%TZ +mtime $meta
cat >> $tmp <<EOF
<entry>
<title>$title</title>
<id>$BASE_URL/$fn</id>
<link rel="alternate" type="application/metalink4+xml" href="$BASE_URL/$meta" />
- <updated>$updated</updated>
+ <updated>${updated[1]}</updated>
</entry>
EOF
}
echo "</feed>" >> $tmp
-size_our=`stat -f %z $tmp`
-size_their=`stat -f $ATOM`
-[[ $size_our = $size_their ]] || mv $tmp $ATOM
+zstat -A size_our +size $tmp
+[[ -e $ATOM ]] && zstat -A size_their +size $ATOM || size_their=0
+[[ ${size_our[1]} = ${size_their[1]} ]] || mv $tmp $ATOM