mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-02-04 02:51:18 +01:00
Rewrote the entire tooling scheme. That's about it, just make sure tooling works as expected everywhere. Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3183 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: Lizzie <lizzie@eden-emu.dev>
79 lines
1.3 KiB
Bash
Executable File
79 lines
1.3 KiB
Bash
Executable File
#!/bin/sh -e
|
|
|
|
# SPDX-FileCopyrightText: Copyright 2025 crueter
|
|
# SPDX-License-Identifier: LGPL-3.0-or-later
|
|
|
|
# shellcheck disable=SC1091
|
|
|
|
ROOTDIR=$(CDPATH='' cd -- "$(dirname -- "$0")/cpm" && pwd)
|
|
SCRIPTS="$ROOTDIR"
|
|
|
|
. "$SCRIPTS"/common.sh
|
|
|
|
RETURN=0
|
|
|
|
die() {
|
|
echo "-- $*" >&2
|
|
exit 1
|
|
}
|
|
|
|
usage() {
|
|
cat <<EOF
|
|
Usage: $0 [command]
|
|
|
|
General command-line utility for CPMUtil operations.
|
|
|
|
Commands:
|
|
package Run operations on a package or packages
|
|
format Format all cpmfiles
|
|
update Update CPMUtil and its tooling
|
|
ls List all cpmfiles
|
|
migrate Convert submodules to a basic cpmfile
|
|
|
|
Package commands:
|
|
hash Verify the hash of a package, and update it if needed
|
|
update Check for updates for a package
|
|
fetch Fetch a package and place it in the cache
|
|
add Add a new package
|
|
rm Remove a package
|
|
version Change the version of a package
|
|
which Find which cpmfile a package is defined in
|
|
download Get the download URL for a package
|
|
|
|
EOF
|
|
|
|
exit $RETURN
|
|
}
|
|
|
|
export ROOTDIR
|
|
|
|
while :; do
|
|
case "$1" in
|
|
-h | --help) usage ;;
|
|
ls)
|
|
echo "$CPMFILES" | tr ' ' '\n'
|
|
break
|
|
;;
|
|
format)
|
|
"$SCRIPTS"/format.sh
|
|
break
|
|
;;
|
|
update)
|
|
"$SCRIPTS"/update.sh
|
|
break
|
|
;;
|
|
migrate)
|
|
"$SCRIPTS"/migrate.sh
|
|
break
|
|
;;
|
|
package)
|
|
shift
|
|
"$SCRIPTS"/package.sh "$@"
|
|
break
|
|
;;
|
|
*) usage ;;
|
|
esac
|
|
|
|
shift
|
|
done
|