mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-22 15:58:50 -05:00
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 <allan@archlinux.org>
This commit is contained in:
parent
ea7fc8962a
commit
cb64fbeac4
@ -219,14 +219,14 @@ GCC_VISIBILITY_CC
|
|||||||
GCC_GNU89_INLINE_CC
|
GCC_GNU89_INLINE_CC
|
||||||
|
|
||||||
# Host-dependant definitions
|
# Host-dependant definitions
|
||||||
SIZECMD="stat -L -c %s"
|
SIZECMD="stat -c %s"
|
||||||
SEDINPLACE="sed -i"
|
SEDINPLACE="sed -i"
|
||||||
STRIP_BINARIES="--strip-all"
|
STRIP_BINARIES="--strip-all"
|
||||||
STRIP_SHARED="--strip-unneeded"
|
STRIP_SHARED="--strip-unneeded"
|
||||||
STRIP_STATIC="--strip-debug"
|
STRIP_STATIC="--strip-debug"
|
||||||
case "${host_os}" in
|
case "${host_os}" in
|
||||||
*bsd*)
|
*bsd*)
|
||||||
SIZECMD="stat -L -f %z"
|
SIZECMD="stat -f %z"
|
||||||
SEDINPLACE="sed -i \"\""
|
SEDINPLACE="sed -i \"\""
|
||||||
;;
|
;;
|
||||||
cygwin*)
|
cygwin*)
|
||||||
@ -235,7 +235,7 @@ case "${host_os}" in
|
|||||||
;;
|
;;
|
||||||
darwin*)
|
darwin*)
|
||||||
host_os_darwin=yes
|
host_os_darwin=yes
|
||||||
SIZECMD="/usr/bin/stat -L -f %z"
|
SIZECMD="/usr/bin/stat -f %z"
|
||||||
SEDINPLACE="/usr/bin/sed -i ''"
|
SEDINPLACE="/usr/bin/sed -i ''"
|
||||||
STRIP_BINARIES=""
|
STRIP_BINARIES=""
|
||||||
STRIP_SHARED="-S"
|
STRIP_SHARED="-S"
|
||||||
|
@ -144,7 +144,7 @@ db_write_delta() {
|
|||||||
# get md5sum and compressed size of package
|
# get md5sum and compressed size of package
|
||||||
md5sum="$(openssl dgst -md5 "$deltafile")"
|
md5sum="$(openssl dgst -md5 "$deltafile")"
|
||||||
md5sum="${md5sum##* }"
|
md5sum="${md5sum##* }"
|
||||||
csize=$(@SIZECMD@ "$deltafile")
|
csize=$(@SIZECMD@ -L "$deltafile")
|
||||||
|
|
||||||
oldfile=$(xdelta3 printhdr $deltafile | grep "XDELTA filename (source)" | sed 's/.*: *//')
|
oldfile=$(xdelta3 printhdr $deltafile | grep "XDELTA filename (source)" | sed 's/.*: *//')
|
||||||
newfile=$(xdelta3 printhdr $deltafile | grep "XDELTA filename (output)" | sed 's/.*: *//')
|
newfile=$(xdelta3 printhdr $deltafile | grep "XDELTA filename (output)" | sed 's/.*: *//')
|
||||||
@ -294,7 +294,7 @@ db_write_entry() {
|
|||||||
|
|
||||||
# compute base64'd PGP signature
|
# compute base64'd PGP signature
|
||||||
if [[ -f "$pkgfile.sig" ]]; then
|
if [[ -f "$pkgfile.sig" ]]; then
|
||||||
pgpsigsize=$(@SIZECMD@ "$pkgfile.sig")
|
pgpsigsize=$(@SIZECMD@ -L "$pkgfile.sig")
|
||||||
if (( pgpsigsize > 16384 )); then
|
if (( pgpsigsize > 16384 )); then
|
||||||
error "$(gettext "Invalid package signature file '%s'.")" "$pkgfile.sig"
|
error "$(gettext "Invalid package signature file '%s'.")" "$pkgfile.sig"
|
||||||
return 1
|
return 1
|
||||||
@ -303,7 +303,7 @@ db_write_entry() {
|
|||||||
pgpsig=$(openssl base64 -in "$pkgfile.sig" | tr -d '\n')
|
pgpsig=$(openssl base64 -in "$pkgfile.sig" | tr -d '\n')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
csize=$(@SIZECMD@ "$pkgfile")
|
csize=$(@SIZECMD@ -L "$pkgfile")
|
||||||
|
|
||||||
# compute checksums
|
# compute checksums
|
||||||
msg2 "$(gettext "Computing checksums...")"
|
msg2 "$(gettext "Computing checksums...")"
|
||||||
|
Loading…
Reference in New Issue
Block a user