xin/bin/update-openssh

25 lines
748 B
Bash
Executable File

#!/bin/sh
set -e
ATOM="$(curl -H "Accept: application/atom+xml" -s https://github.com/openssh/openssh-portable/commits/master.atom)"
CURRENT="$(cat pkgs/openssh/version.json)"
COMMIT="$(echo $ATOM | dasel -rxml 'feed.entry.[0].id' | awk -F/ '{print $NF}')"
COMMENT="$(echo $ATOM | dasel -rxml 'feed.entry.[0].title')"
UPDATED="$(echo $ATOM | dasel -rxml 'feed.entry.[0].updated' | awk -FT '{print $1}')"
CURRENT_COMMIT="$(echo $CURRENT | jq -r .rev)"
if [ "${CURRENT_COMMIT}" != "${COMMIT}" ]; then
nix-prefetch-github openssh openssh-portable \
--rev "${COMMIT}" \
--json | \
jq -r --arg v "${UPDATED}" \
--arg c "${COMMENT}" \
'. |= . + {"version": $v, "comment": $c}' \
> pkgs/openssh/version.json
else
echo "No updates."
fi