aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormerakor <cem@ckyln.com>2021-07-30 13:37:35 +0000
committermerakor <cem@ckyln.com>2021-07-30 13:37:35 +0000
commitaab6f5bc18810b340515d5e9decaadb144c84b15 (patch)
tree02c17f10f1f8c71e9130e9641e580af9bce90eaf
parent28b6e68c812da646c181bb60b2276037bc7de0b9 (diff)
downloadcpt-aab6f5bc18810b340515d5e9decaadb144c84b15.tar.gz
cpt-checksum: add option to use sha256 digest
FossilOrigin-Name: 2bac5faea6f21388a494d2d0db913b339e88f1b5a9320176ee3b7be2fc0e0002
-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"