123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #!/bin/bash
- # Script to list all upgrade scripts in a clear manner
- # Limitations:
- # * Does only show scripts of packages whose `files'/`luasrc' directories represent the whole image filesystem (which are all Gluon packages)
- SUFFIX1=files/lib/gluon/upgrade
- SUFFIX2=luasrc/lib/gluon/upgrade
- shopt -s nullglob
- if tty -s <&1; then
- RED="$(echo -e '\x1b[01;31m')"
- GREEN="$(echo -e '\x1b[01;32m')"
- BLUE="$(echo -e '\x1b[01;34m')"
- RESET="$(echo -e '\x1b[0m')"
- else
- RED=
- GREEN=
- BLUE=
- RESET=
- fi
- pushd "$(dirname "$0")/.." >/dev/null
- find ./package packages -name Makefile | while read makefile; do
- dir="$(dirname "$makefile")"
- pushd "$dir" >/dev/null
- repo="$(dirname "$dir" | cut -d/ -f 2)"
- dirname="$(dirname "$dir" | cut -d/ -f 3-)"
- package="$(basename "$dir")"
- for file in "${SUFFIX1}"/*; do
- echo "${GREEN}$(basename "${file}")${RESET}" "(${BLUE}${repo}${RESET}/${dirname}${dirname:+/}${RED}${package}${RESET}/${SUFFIX1})"
- done
- for file in "${SUFFIX2}"/*; do
- echo "${GREEN}$(basename "${file}")${RESET}" "(${BLUE}${repo}${RESET}/${dirname}${dirname:+/}${RED}${package}${RESET}/${SUFFIX2})"
- done
- popd >/dev/null
- done | sort
- popd >/dev/null
|