#!/bin/sh set -e . ./common.sh trap error INT TERM start 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 FN=$(mktemp) echo "pkgs/openssh: update to '${COMMIT}'" >${FN} echo >>${FN} echo "${COMMENT}" >>${FN} git add pkgs/openssh/version.json && git commit -F $FN else echo "No updates." fi