[pacman-dev] [PATCH] Do not dereference symlinks when calculating size

Dan McGee dpmcgee at gmail.com
Fri Feb 24 10:59:14 EST 2012


On Fri, Feb 24, 2012 at 6:04 AM, Allan McRae <allan at archlinux.org> wrote:
> 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.
>
> Signed-off-by: Allan McRae <allan at archlinux.org>

NACK. You're reverting this commit. This is what we get for trying to
repurpose SIZECMD for use in makepkg, it looks like you need a second
command.

commit 20aa17c276c35e08c7a8e2aa20410b99a20f8129
Author: Dan McGee <dan at archlinux.org>
Date:   Wed Sep 23 19:11:34 2009 -0500

    repo-add: make sure we get size of target file

    If the package we were adding was a symlink, we stuck the symlink size in
    the database rather than the size of the file it referred to. Whoops!

    Signed-off-by: Dan McGee <dan at archlinux.org>


> ---
>  configure.ac |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index cfd3340..12a6e65 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -256,14 +256,14 @@ GCC_VISIBILITY_CC
>  GCC_GNU89_INLINE_CC
>
>  # Host-dependant definitions
> -SIZECMD="stat -L -c %s"
> +SIZECMD="stat -c %s"
>  SEDINPLACE="sed -i"
>  STRIP_BINARIES="--strip-all"
>  STRIP_SHARED="--strip-unneeded"
>  STRIP_STATIC="--strip-debug"
>  case "${host_os}" in
>        *bsd*)
> -               SIZECMD="stat -L -f %z"
> +               SIZECMD="stat -f %z"
>                SEDINPLACE="sed -i \"\""
>                ;;
>        cygwin*)
> @@ -272,7 +272,7 @@ case "${host_os}" in
>                ;;
>        darwin*)
>                host_os_darwin=yes
> -               SIZECMD="/usr/bin/stat -L -f %z"
> +               SIZECMD="/usr/bin/stat -f %z"
>                SEDINPLACE="/usr/bin/sed -i ''"
>                STRIP_BINARIES=""
>                STRIP_SHARED="-S"
> --
> 1.7.9.2
>
>


More information about the pacman-dev mailing list