Skip to content

Commit 46e30f7

Browse files
authored
Merge pull request #10142 from RenjiSann/peron/checksum-common-cli-post-reverse
cksum/hashsum: Merge common logic under a common crate
2 parents 9d0ac44 + 70c37a7 commit 46e30f7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+3007
-371
lines changed

Cargo.lock

Lines changed: 103 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,13 @@ feat_common_core = [
8686
"basenc",
8787
"cat",
8888
"cksum",
89+
"b2sum",
90+
"md5sum",
91+
"sha1sum",
92+
"sha224sum",
93+
"sha256sum",
94+
"sha384sum",
95+
"sha512sum",
8996
"comm",
9097
"cp",
9198
"csplit",
@@ -407,6 +414,7 @@ uucore = { version = "0.6.0", package = "uucore", path = "src/uucore" }
407414
uucore_procs = { version = "0.6.0", package = "uucore_procs", path = "src/uucore_procs" }
408415
uu_ls = { version = "0.6.0", path = "src/uu/ls" }
409416
uu_base32 = { version = "0.6.0", path = "src/uu/base32" }
417+
uu_checksum_common = { version = "0.6.0", path = "src/uu/checksum_common" }
410418
uutests = { version = "0.6.0", package = "uutests", path = "tests/uutests" }
411419

412420
[dependencies]
@@ -436,6 +444,13 @@ chmod = { optional = true, version = "0.6.0", package = "uu_chmod", path = "src/
436444
chown = { optional = true, version = "0.6.0", package = "uu_chown", path = "src/uu/chown" }
437445
chroot = { optional = true, version = "0.6.0", package = "uu_chroot", path = "src/uu/chroot" }
438446
cksum = { optional = true, version = "0.6.0", package = "uu_cksum", path = "src/uu/cksum" }
447+
b2sum = { optional = true, version = "0.6.0", package = "uu_b2sum", path = "src/uu/b2sum" }
448+
md5sum = { optional = true, version = "0.6.0", package = "uu_md5sum", path = "src/uu/md5sum" }
449+
sha1sum = { optional = true, version = "0.6.0", package = "uu_sha1sum", path = "src/uu/sha1sum" }
450+
sha224sum = { optional = true, version = "0.6.0", package = "uu_sha224sum", path = "src/uu/sha224sum" }
451+
sha256sum = { optional = true, version = "0.6.0", package = "uu_sha256sum", path = "src/uu/sha256sum" }
452+
sha384sum = { optional = true, version = "0.6.0", package = "uu_sha384sum", path = "src/uu/sha384sum" }
453+
sha512sum = { optional = true, version = "0.6.0", package = "uu_sha512sum", path = "src/uu/sha512sum" }
439454
comm = { optional = true, version = "0.6.0", package = "uu_comm", path = "src/uu/comm" }
440455
cp = { optional = true, version = "0.6.0", package = "uu_cp", path = "src/uu/cp" }
441456
csplit = { optional = true, version = "0.6.0", package = "uu_csplit", path = "src/uu/csplit" }

GNUmakefile

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -95,15 +95,6 @@ SELINUX_PROGS := \
9595
chcon \
9696
runcon
9797

98-
HASHSUM_PROGS := \
99-
b2sum \
100-
md5sum \
101-
sha1sum \
102-
sha224sum \
103-
sha256sum \
104-
sha384sum \
105-
sha512sum
106-
10798
$(info Detected OS = $(OS))
10899

109100
ifeq (,$(findstring MINGW,$(OS)))

build.rs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -89,15 +89,6 @@ pub fn main() {
8989
}
9090
"hashsum" => {
9191
phf_map.entry(krate, format!("({krate}::uumain, {krate}::uu_app_custom)"));
92-
93-
let map_value = format!("({krate}::uumain, {krate}::uu_app_common)");
94-
phf_map.entry("md5sum", map_value.clone());
95-
phf_map.entry("sha1sum", map_value.clone());
96-
phf_map.entry("sha224sum", map_value.clone());
97-
phf_map.entry("sha256sum", map_value.clone());
98-
phf_map.entry("sha384sum", map_value.clone());
99-
phf_map.entry("sha512sum", map_value.clone());
100-
phf_map.entry("b2sum", map_value.clone());
10192
}
10293
_ => {
10394
phf_map.entry(krate, map_value.clone());

fuzz/Cargo.lock

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/common/validation.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,6 @@ fn get_canonical_util_name(util_name: &str) -> &str {
5050
// uu_test aliases - '[' is an alias for test
5151
"[" => "test",
5252

53-
// hashsum aliases - all these hash commands are aliases for hashsum
54-
"md5sum" | "sha1sum" | "sha224sum" | "sha256sum" | "sha384sum" | "sha512sum" | "b2sum" => {
55-
"hashsum"
56-
}
57-
5853
"dir" => "ls", // dir is an alias for ls
5954

6055
// Default case - return the util name as is
@@ -85,7 +80,6 @@ mod tests {
8580
fn test_get_canonical_util_name() {
8681
// Test a few key aliases
8782
assert_eq!(get_canonical_util_name("["), "test");
88-
assert_eq!(get_canonical_util_name("md5sum"), "hashsum");
8983
assert_eq!(get_canonical_util_name("dir"), "ls");
9084

9185
// Test passthrough case

src/uu/b2sum/Cargo.toml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
[package]
2+
name = "uu_b2sum"
3+
description = "b2sum ~ (uutils) Print or check the BLAKE2b checksums"
4+
repository = "https://github.com/uutils/coreutils/tree/main/src/uu/b2sum"
5+
version.workspace = true
6+
authors.workspace = true
7+
license.workspace = true
8+
homepage.workspace = true
9+
keywords.workspace = true
10+
categories.workspace = true
11+
edition.workspace = true
12+
readme.workspace = true
13+
14+
[lints]
15+
workspace = true
16+
17+
[lib]
18+
path = "src/b2sum.rs"
19+
20+
[dependencies]
21+
clap = { workspace = true }
22+
uu_checksum_common = { workspace = true }
23+
uucore = { workspace = true, features = [
24+
"checksum",
25+
"encoding",
26+
"sum",
27+
"hardware",
28+
] }
29+
fluent = { workspace = true }
30+
31+
[dev-dependencies]
32+
divan = { workspace = true }
33+
tempfile = { workspace = true }
34+
uucore = { workspace = true, features = ["benchmark"] }
35+
36+
[[bin]]
37+
name = "b2sum"
38+
path = "src/main.rs"

src/uu/b2sum/LICENSE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../LICENSE

src/uu/b2sum/locales/en-US.ftl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
b2sum-about = Print or check the BLAKE2b checksums
2+
b2sum-usage = b2sum [OPTIONS] [FILE]...

src/uu/b2sum/locales/fr-FR.ftl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
b2sum-about = Afficher le BLAKE2b et la taille de chaque fichier
2+
b2sum-usage = b2sum [OPTION]... [FICHIER]...

0 commit comments

Comments
 (0)