From b1bdce20a9807c0d4a3c4ecd8a2e74f646c06148 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Sun, 6 May 2018 17:23:31 +0200 Subject: [PATCH] Add automatic update chacking script Crunch project websites and try to find the latest version for each package without having to do the work manually. Signed-off-by: David Oberhollenzer --- check_update.sh | 27 +++++++++++++++++++++++++++ pkg/bash-completion/build | 7 +++++++ pkg/bash/build | 6 ++++++ pkg/bbstatic/build | 7 +++++++ pkg/bdb/build | 6 ++++++ pkg/btrfs-progs/build | 7 +++++++ pkg/bzip2/build | 6 ++++++ pkg/coreutils/build | 6 ++++++ pkg/dhcpcd/build | 6 ++++++ pkg/diffutils/build | 6 ++++++ pkg/dnsmasq/build | 6 ++++++ pkg/dosfstools/build | 7 +++++++ pkg/ethtool/build | 6 ++++++ pkg/eudev/build | 6 ++++++ pkg/expat/build | 9 +++++++++ pkg/file/build | 6 ++++++ pkg/findutils/build | 6 ++++++ pkg/firmware-rpi3/build | 6 ++++++ pkg/gawk/build | 6 ++++++ pkg/gmp/build | 6 ++++++ pkg/grep/build | 6 ++++++ pkg/gzip/build | 6 ++++++ pkg/iana-etc/build | 4 ++++ pkg/inetutils/build | 6 ++++++ pkg/init/build | 4 ++++ pkg/initrd/build | 4 ++++ pkg/iproute2/build | 6 ++++++ pkg/kbd/build | 6 ++++++ pkg/kmod/build | 6 ++++++ pkg/less/build | 6 ++++++ pkg/libbsd/build | 6 ++++++ pkg/libevent/build | 6 ++++++ pkg/libiconv/build | 6 ++++++ pkg/libidn2/build | 6 ++++++ pkg/libmnl/build | 6 ++++++ pkg/libnftnl/build | 6 ++++++ pkg/libseccomp/build | 6 ++++++ pkg/libtasn1/build | 6 ++++++ pkg/libunistring/build | 6 ++++++ pkg/linux-rpi3/build | 9 +++++++++ pkg/linux/build | 7 +++++++ pkg/lzo/build | 6 ++++++ pkg/musl/build | 6 ++++++ pkg/nano/build | 6 ++++++ pkg/ncurses/build | 6 ++++++ pkg/nettle/build | 6 ++++++ pkg/nftables/build | 6 ++++++ pkg/openssh/build | 8 ++++++++ pkg/openssl/build | 9 +++++++++ pkg/procps-ng/build | 6 ++++++ pkg/psmisc/build | 6 ++++++ pkg/readline/build | 6 ++++++ pkg/release-alix/build | 4 ++++ pkg/release-rpi3/build | 4 ++++ pkg/rootfs/build | 4 ++++ pkg/sed/build | 6 ++++++ pkg/shadow/build | 7 +++++++ pkg/sqlite3/build | 6 ++++++ pkg/tar/build | 6 ++++++ pkg/tc-binutils/build | 6 ++++++ pkg/tc-cloog/build | 6 ++++++ pkg/tc-gcc1/build | 7 +++++++ pkg/tc-gmp/build | 9 +++------ pkg/tc-isl/build | 6 ++++++ pkg/tc-mpc/build | 6 ++++++ pkg/tc-mpfr/build | 6 ++++++ pkg/tc-pkg-config/build | 6 ++++++ pkg/toolchain/build | 4 ++++ pkg/unbound/build | 6 ++++++ pkg/util-linux/build | 6 ++++++ pkg/xz/build | 6 ++++++ pkg/zlib/build | 6 ++++++ util/depends.sh | 2 +- util/version.sh | 33 +++++++++++++++++++++++++++++++++ 74 files changed, 488 insertions(+), 7 deletions(-) create mode 100755 check_update.sh create mode 100644 util/version.sh diff --git a/check_update.sh b/check_update.sh new file mode 100755 index 0000000..17bd71b --- /dev/null +++ b/check_update.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +set -e + +SCRIPTDIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd) + +# dummy toolchain variables +export LINUXPKG="linux" + +# utilities +source "$SCRIPTDIR/util/depends.sh" +source "$SCRIPTDIR/util/version.sh" +source "$SCRIPTDIR/util/misc.sh" + +# check all packages +for pkg in $SCRIPTDIR/pkg/*; do + [ -d $pkg ] || continue; + + name=$(basename $pkg) + echo "-- checking $name" + source "$pkg/build" + + version=$(check_update) + if [ ! -z $version ]; then + echo "$name has newer version: $version" + fi +done diff --git a/pkg/bash-completion/build b/pkg/bash-completion/build index a92095e..919e8c2 100755 --- a/pkg/bash-completion/build +++ b/pkg/bash-completion/build @@ -24,3 +24,10 @@ deploy() { split_dev_deploy "$DEPLOY" "$DEVDEPLOY" } + +check_update() { + curl --silent -L "$URL" | \ + grep -o ">bash-completion-[0-9.]*tar.gz<" | grep -v "2008" |\ + sed 's/>bash-completion-//g' | sed 's/.tar.gzbash-[0-9.]*tar.gz<" | \ + sed 's/>bash-//g' | sed 's/.tar.gzbusybox-[0-9.]*tar.bz2<" | \ + sed 's/>busybox-//g' | sed 's/.tar.bz2btrfs-progs-v[0-9.]*tar.xz<" | \ + sed 's/>btrfs-progs-v//g' | sed 's/.tar.xzcoreutils-[0-9.]*tar.xz<" | \ + sed 's/>coreutils-//g' | sed 's/.tar.xzdhcpcd-[0-9.]*tar.xz<" | \ + sed 's/>dhcpcd-//g' | sed 's/.tar.xzdiffutils-[0-9.]*tar.xz<" | \ + sed 's/>diffutils-//g' | sed 's/.tar.xzdnsmasq-[0-9.]*tar.xz<" | \ + sed 's/>dnsmasq-//g' | sed 's/.tar.xzfindutils-[0-9.]*tar.gz<" | \ + sed 's/>findutils-//g' | sed 's/.tar.gzgawk-[0-9.]*tar.xz<" | \ + sed 's/>gawk-//g' | sed 's/.tar.xzgmp-[0-9.]*tar.bz2<" | \ + sed 's/>gmp-//g' | sed 's/.tar.bz2grep-[0-9.]*tar.xz<" | \ + sed 's/>grep-//g' | sed 's/.tar.xzgzip-[0-9.]*tar.xz<" | \ + sed 's/>gzip-//g' | sed 's/.tar.xz /dev/null ; } + +check_update() { + curl --silent -L "$URL" | grep -o ">inetutils-[0-9.]*tar.xz<" | \ + sed 's/>inetutils-//g' | sed 's/.tar.xzkbd-[0-9.]*tar.xz<" | \ + sed 's/>kbd-//g' | sed 's/.tar.xzkmod-[0-9.]*tar.xz<" | \ + sed 's/>kmod-//g' | sed 's/.tar.xzless-[0-9.]*tar.gz<" | \ + sed 's/>less-//g' | sed 's/.tar.gzlibbsd-[0-9.]*tar.xz<" | \ + sed 's/>libbsd-//g' | sed 's/.tar.xzlibiconv-[0-9.]*tar.gz<" | \ + sed 's/>libiconv-//g' | sed 's/.tar.gzlibidn2-[0-9.]*tar.gz<" | \ + sed 's/>libidn2-//g' | sed 's/.tar.gzlibmnl-[0-9.]*tar.bz2<" | \ + sed 's/>libmnl-//g' | sed 's/.tar.bz2libnftnl-[0-9.]*tar.bz2<" | \ + sed 's/>libnftnl-//g' | sed 's/.tar.bz2libtasn1-[0-9.]*tar.gz<" | \ + sed 's/>libtasn1-//g' | sed 's/.tar.gzlibunistring-[0-9.]*tar.xz<" | \ + sed 's/>libunistring-//g' | sed 's/.tar.xzlzo-[0-9.]*tar.gz<" | \ + sed 's/>lzo-//g' | sed 's/.tar.gzmusl-[0-9.]*tar.gz<" | \ + sed 's/>musl-//g' | sed 's/.tar.gznano-[0-9.]*tar.xz<" | \ + sed 's/>nano-//g' | sed 's/.tar.xzncurses-[0-9.]*tar.gz<" | \ + sed 's/>ncurses-//g' | sed 's/.tar.gznettle-[0-9.]*tar.gz<" | \ + sed 's/>nettle-//g' | sed 's/.tar.gznftables-[0-9.]*tar.bz2<" | \ + sed 's/>nftables-//g' | sed 's/.tar.bz2openssh-[0-9.]*p[0-9]*.tar.gz<" | \ + sed 's/>openssh-//g' | sed 's/.tar.gzopenssl-[0-9a-z.]*tar.gz<" | \ + sed 's/>openssl-//g' | sed 's/.tar.gzprocps-ng-[0-9.]*tar.xz<" | \ + sed 's/>procps-ng-//g' | sed 's/.tar.xzpsmisc-[0-9.]*tar.xz<" | \ + sed 's/>psmisc-//g' | sed 's/.tar.xzreadline-[0-9.]*tar.gz<" | \ + sed 's/>readline-//g' | sed 's/.tar.gzsed-[0-9.]*tar.xz<" | \ + sed 's/>sed-//g' | sed 's/.tar.xztar-[0-9.]*tar.xz<" | \ + sed 's/>tar-//g' | sed 's/.tar.xzbinutils-[0-9.]*tar.xz<" | \ + sed 's/>binutils-//g' | sed 's/.tar.xzgcc-[0-9.]*/<" | \ + sed 's/>gcc-//g' | sed 's/\/mpc-[0-9.]*tar.gz<" | \ + sed 's/>mpc-//g' | sed 's/.tar.gzmpfr-[0-9.]*tar.xz<" | \ + sed 's/>mpfr-//g' | sed 's/.tar.xzpkg-config-[0-9.]*tar.gz<" | \ + sed 's/>pkg-config-//g' | sed 's/.tar.gzunbound-[0-9.]*tar.gz<" | \ + sed 's/>unbound-//g' | sed 's/.tar.gz