forked from kiss-community/kiss
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 <dylan.araps@gmail.com>
This commit is contained in:
parent
ad79c6ea7e
commit
65d2d45a8c
6
kiss
6
kiss
@ -1297,14 +1297,14 @@ args() {
|
|||||||
for pkg do pkg_sources "$pkg" c; done
|
for pkg do pkg_sources "$pkg" c; done
|
||||||
for pkg do
|
for pkg do
|
||||||
pkg_checksums "$pkg" | {
|
pkg_checksums "$pkg" | {
|
||||||
repo_dir=$(pkg_find "$pkg")/checksums
|
repo_dir=$(pkg_find "$pkg")
|
||||||
|
|
||||||
if [ -w "$repo_dir" ]; then
|
if [ -w "$repo_dir" ]; then
|
||||||
tee "$repo_dir"
|
tee "$repo_dir/checksums"
|
||||||
else
|
else
|
||||||
log "$pkg" "Need permissions to generate checksums"
|
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
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user