From 65d2d45a8cc0e86b289e4b573b2fc513310c8d6b Mon Sep 17 00:00:00 2001 From: Cem Keylan Date: Sun, 19 Apr 2020 13:56:41 +0300 Subject: [PATCH] kiss: fix checksum mistake when checksums file doesn't exist. If the checksums file doesn't exist on the package directory, kiss used as_root regardless of permissions. This checks whether the directory is writable instead of the checksums file, which should provide proper permissions. This patch ignores if the directory has weird permissions. If the directory is writable but the checksums file isn't, kiss will exit with error. This ignorance is intentional as ideally a package dir should have identical permissions. Signed-off-by: Dylan Araps --- kiss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kiss b/kiss index e4a0da0..0a0596b 100755 --- a/kiss +++ b/kiss @@ -1297,14 +1297,14 @@ args() { for pkg do pkg_sources "$pkg" c; done for pkg do pkg_checksums "$pkg" | { - repo_dir=$(pkg_find "$pkg")/checksums + repo_dir=$(pkg_find "$pkg") if [ -w "$repo_dir" ]; then - tee "$repo_dir" + tee "$repo_dir/checksums" else log "$pkg" "Need permissions to generate checksums" - user=$(stat -c %U "$repo_dir") as_root tee "$repo_dir" + user=$(stat -c %U "$repo_dir") as_root tee "$repo_dir/checksums" fi }