#!/usr/bin/env bash repo="azlux/ssh-prompter" current=$(reprepro -b /var/www/repos/apt/debian list stable ssh-prompter | head -n1 | awk '{print $3}') api=$(curl --silent "https://api.github.com/repos/$repo/releases/latest") new=$(echo $api | grep -Po '"tag_name": "v\K.*?(?=")') if [ "$current" == "$new" ]; then exit fi echo "New SSH-PROMPTER version $current -> $new" BEGIN="ssh-prompter-linux" bin_urls=$(echo $api | python3 -c "import sys; from json import loads as l; x = l(sys.stdin.read()); print(' '.join(s['browser_download_url'] for s in x['assets'] if s['name'].startswith('$BEGIN')))") for bin_url in $bin_urls; do STARTDIR="/tmp/ssh-prompter" DESTDIR="$STARTDIR/pkg" OUTDIR="$STARTDIR/deb" rm -rf "$STARTDIR" mkdir "$STARTDIR" wget -q $bin_url -O "$STARTDIR/ssh-prompter" install -Dm 755 "$STARTDIR/ssh-prompter" "$DESTDIR/usr/bin/ssh-prompter" mkdir -p "$DESTDIR/DEBIAN" archi=$(echo ${bin_url##*/} | cut -d '-' -f4) [ "$archi" == "386" ] && archi="i386" [ "$archi" == "arm" ] && archi="armhf" echo "ARCHI - $archi" cat >"$DESTDIR/DEBIAN/control"< Description: Simple TUI to instantly search and SSH into servers from your ssh_config file Homepage: https://github.com/azlux/ssh-prompter Bugs: https://github.com/azlux/ssh-prompter/issues EOL cat >"$STARTDIR/changelog"< $(date -R) EOL install -Dm 644 "$STARTDIR/changelog" "$DESTDIR/usr/share/doc/ssh-prompter/changelog.Debian" gzip "$DESTDIR/usr/share/doc/ssh-prompter/changelog.Debian" rm -rf "$OUTDIR" mkdir "$OUTDIR" dpkg-deb --build "$DESTDIR" "$OUTDIR" reprepro -b /var/www/repos/apt/debian includedeb stable "$OUTDIR"/*.deb reprepro -b /var/www/repos/apt/debian includedeb oldstable "$OUTDIR"/*.deb done rm -rf "$STARTDIR"