[pacman-dev] [PATCH 1/2] pacscripts: don't read the whole package from cache
'-q' means "Exit as soon as each specified pattern or filename has been matched." There is no reason to keep reading the whole package from the cache when the install script has already been printed to stdout. Signed-off-by: Karol Błażewicz <karol.blazewicz at gmail.com> --- contrib/pacscripts.sh.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/contrib/pacscripts.sh.in b/contrib/pacscripts.sh.in index 8468714..4ecebde 100644 --- a/contrib/pacscripts.sh.in +++ b/contrib/pacscripts.sh.in @@ -5,6 +5,7 @@ # # Copyright (c) 2009 Giulio "giulivo" Fidente <giulivo.navigante@gmail.com> # Copyright (c) 2009 Xavier Chantry <shiningxc@gmail.com> +# Copyright (c) 2009-2013 Pacman Development Team <pacman-dev@archlinux.org> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -91,7 +91,7 @@ print_db() { } print_pkg() { - if ! bsdtar -xOf "$1" .INSTALL 2>/dev/null; then + if ! bsdtar -xqOf "$1" .INSTALL 2>/dev/null; then error "Package $1 does not include any .INSTALL script" return 1 fi -- 1.8.3.1
Things have changed since 2009 when this script was created and now you need to pass '-d' twice to skip all checks. Signed-off-by: Karol Błażewicz <karol.blazewicz at gmail.com> --- contrib/pacscripts.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/pacscripts.sh.in b/contrib/pacscripts.sh.in index 4ecebde..62c4e35 100644 --- a/contrib/pacscripts.sh.in +++ b/contrib/pacscripts.sh.in @@ -113,10 +114,10 @@ print_scriptlet() { error "Package $1 not found" return 1 fi - url=$(spacman -Sdp $1 | tail -n1) + url=$(pacman -Sddp $1) filename=$(basename $url) if [ ! -f "$pac_cache/$filename" ]; then - if ! spacman -Sdw --noconfirm $1 >&2; then + if ! spacman -Sddw --noconfirm $1 >&2; then error "Failed to download $1" return 1 fi -- 1.8.3.1
participants (1)
-
Karol Blazewicz