From cb64fbeac41308ee8c46384a126195a1fd75a361 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Fri, 24 Feb 2012 21:40:20 +1000 Subject: Do not dereference symlinks when calculating size Passing the "-L" flag to stat means we get the size of the file being pointed to for symlinks instead of the size of the symlink. Keep "-L" usage in repo-add as we want the actual size of the package/delta/signature there. Signed-off-by: Allan McRae --- scripts/repo-add.sh.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in index 26aa7257..2bb9c83f 100644 --- a/scripts/repo-add.sh.in +++ b/scripts/repo-add.sh.in @@ -144,7 +144,7 @@ db_write_delta() { # get md5sum and compressed size of package md5sum="$(openssl dgst -md5 "$deltafile")" md5sum="${md5sum##* }" - csize=$(@SIZECMD@ "$deltafile") + csize=$(@SIZECMD@ -L "$deltafile") oldfile=$(xdelta3 printhdr $deltafile | grep "XDELTA filename (source)" | sed 's/.*: *//') newfile=$(xdelta3 printhdr $deltafile | grep "XDELTA filename (output)" | sed 's/.*: *//') @@ -294,7 +294,7 @@ db_write_entry() { # compute base64'd PGP signature if [[ -f "$pkgfile.sig" ]]; then - pgpsigsize=$(@SIZECMD@ "$pkgfile.sig") + pgpsigsize=$(@SIZECMD@ -L "$pkgfile.sig") if (( pgpsigsize > 16384 )); then error "$(gettext "Invalid package signature file '%s'.")" "$pkgfile.sig" return 1 @@ -303,7 +303,7 @@ db_write_entry() { pgpsig=$(openssl base64 -in "$pkgfile.sig" | tr -d '\n') fi - csize=$(@SIZECMD@ "$pkgfile") + csize=$(@SIZECMD@ -L "$pkgfile") # compute checksums msg2 "$(gettext "Computing checksums...")" -- cgit v1.2.3-24-g4f1b