#!/bin/sh set -eu . neko/update/utils # Apply patches run './neko/update/patch.sh' br # Show messages for message in $(find neko/messages -type f ! -name '*.resolved' -print | sort); do file=$(basename -- "${message}") if [ ! -f "neko/flags/${file}" ]; then if contains '--install' "$@"; then touch "neko/flags/${file}" else say 'There is an important notice!' cat "${message}" say 'Continue? (Are you ready for upgrading?)' printf '[y/N] > ' read -r yn case "${yn}" in [Yy]|[Yy][Ee][Ss]) touch "neko/flags/${file}" say "Let's go!" say "To read the message again, run: \$ cat ${message}" br ;; *) say "Okay, please run this script again when you're ready!" exit 1 ;; esac fi fi done # Update docker_update() { ./neko/update/container.sh 'docker' "$@" } podman_update() { ./neko/update/container.sh 'podman' "$@" } native_update() { ./neko/update/native.sh "$@" } if contains '--docker' "$@"; then docker_update "$@" elif contains '--podman' "$@"; then podman_update "$@" elif contains '--native' "$@"; then native_update "$@" else say 'Do you use Docker or Podman?' printf 'd: Docker, p: Podman, n: No [d/p/N] > ' read -r resp case "${resp}" in [Yy]|[Yy][Ee][Ss]) sadsay "Watch out! ${resp} is not a valid answer." >&2 exit 2 ;; [Dd]) docker_update "$@" ;; [Pp]) podman_update "$@" ;; *) native_update "$@" ;; esac fi # Done say 'Enjoy your sabakan life~'