aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--man/cpt-checksum.116
-rwxr-xr-xsrc/cpt-checksum18
2 files changed, 25 insertions, 9 deletions
diff --git a/man/cpt-checksum.1 b/man/cpt-checksum.1
index 4c637eb..bfced46 100644
--- a/man/cpt-checksum.1
+++ b/man/cpt-checksum.1
@@ -5,15 +5,27 @@
.Nd generate checksums
.Sh SYNOPSIS
.Nm
+.Op Fl s
.Op Ar package...
.Sh DESCRIPTION
.Nm
-lints a package, downloads the sources, and creates a checksum file
-including the SHA256 digests of the sources. If no
+lints a package, downloads the sources, and creates a file named
+.Sq checksums
+which includes the
+.Em BLAKE3
+digests of the sources. If no
.Ar package
is specified,
.Nm
will generate checksums assuming the working directory as the package.
+.Pp
+If the
+.Fl s
+flag is given,
+.Nm
+will generate checksums using the
+.Em SHA256
+algorithm.
.Sh AUTHOR
.An Cem Keylan Aq Mt cem@ckyln.com
.Sh LICENSE
diff --git a/src/cpt-checksum b/src/cpt-checksum
index 619aad2..2de15a8 100755
--- a/src/cpt-checksum
+++ b/src/cpt-checksum
@@ -1,13 +1,14 @@
#!/bin/sh -ef
# Generate checksums
-if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi
+parser_definition() {
+ setup REST help:usage -- "usage: ${0##*/} [-s] [pkg...]"
+ msg -- '' 'Options:'
+ flag sha -s -- "Generate checksums using the depracated sha256 algorithm"
+ global_options
+}
-case "$1" in
- --help|-h) out "usage: ${0##*/} [pkg...]"; exit 0 ;;
- --version|-v) version ;;
- '') set -- "${PWD##*/}"; export CPT_PATH=${PWD%/*}:$CPT_PATH ;;
-esac
+if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi
create_cache
@@ -21,7 +22,10 @@ for pkg; do
log "$pkg" "No 'sources' file, skipping checksums"
continue
}
- pkg_checksums "$pkg" | {
+
+ # $sha is defined by the parser.
+ # shellcheck disable=2154
+ pkg_checksums "$pkg" "${sha:+sh256}" | {
if [ -w "$repo_dir" ]; then
tee "$repo_dir/checksums"