|
|
|
@ -5,7 +5,7 @@ use std::process::{Command, Stdio};
|
|
|
|
|
use std::{env, fs::*, io::Write, path::PathBuf};
|
|
|
|
|
|
|
|
|
|
fn compute_static_hash() -> String {
|
|
|
|
|
//"find static/ -type f ! -path 'static/media/*' | sort | xargs stat --printf='%n %Y\n' | sha256sum"
|
|
|
|
|
//"find static/ -type f ! -path 'static/media/*' | sort | xargs stat -c'%n %Y' | openssl dgst -r"
|
|
|
|
|
|
|
|
|
|
let find = Command::new("find")
|
|
|
|
|
.args(&["static/", "-type", "f", "!", "-path", "static/media/*"])
|
|
|
|
@ -20,17 +20,19 @@ fn compute_static_hash() -> String {
|
|
|
|
|
.expect("failed sort command");
|
|
|
|
|
|
|
|
|
|
let xargs = Command::new("xargs")
|
|
|
|
|
.args(&["stat", "--printf='%n %Y\n'"])
|
|
|
|
|
.args(&["stat", "-c'%n %Y'"])
|
|
|
|
|
.stdin(sort.stdout.unwrap())
|
|
|
|
|
.stdout(Stdio::piped())
|
|
|
|
|
.spawn()
|
|
|
|
|
.expect("failed xargs command");
|
|
|
|
|
|
|
|
|
|
let sha = Command::new("sha256sum")
|
|
|
|
|
let mut sha = Command::new("openssl")
|
|
|
|
|
.args(&["dgst", "-r"])
|
|
|
|
|
.stdin(xargs.stdout.unwrap())
|
|
|
|
|
.output()
|
|
|
|
|
.expect("failed sha256sum command");
|
|
|
|
|
.expect("failed openssl command");
|
|
|
|
|
|
|
|
|
|
sha.stdout.resize(64, 0);
|
|
|
|
|
String::from_utf8(sha.stdout).unwrap()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|