From 9e5e86aa146f6a63880df5ae17340156f7315eb0 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Sat, 10 Jan 2015 19:36:35 +1000 Subject: makepkg: fix removing static libraries when shared use absolute symlinks When a shared library uses an absolute symlink for its its .so file, the check if the shared version of a static library exists fails. Test for the presence of a broken symlink too. Signed-off-by: Allan McRae --- scripts/makepkg.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 1cd8756d..873b7d29 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1832,7 +1832,7 @@ tidy_install() { # check existence of backup files local file for file in "${backup[@]}"; do - if [[ ! -f $file ]]; then + if [[ ! -f $file && ! -h $file ]]; then warning "$(gettext "%s entry file not in package : %s")" "backup" "$file" fi done -- cgit v1.2.3-70-g09d2 From 83d5512bf1f8b1321e239cb8efdcb3547213d011 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Fri, 9 Jan 2015 14:55:36 -0500 Subject: makepkg: avoid nested quoting in string replacement I suspect this is just wrong -- you never need to quote the replacement side of a PE. In bash 4.3, this is essentially a no-op, but because of a bug in bash 4.2, we get embedded quotes as a result of this replacement. The relevant changelog item in bash is: Fixed a bug that caused single quotes that resulted from $'...' quoting in the replacement portion of a double-quoted ${word/pat/rep} expansion to be treated as quote characters. But this doesn't apply to us. Let's just drop the excessive quoting... Signed-off-by: Allan McRae --- scripts/makepkg.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 873b7d29..ace44e23 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -362,11 +362,11 @@ download_file() { # replace %o by the temporary dlfile if it exists if [[ ${cmdline[*]} = *%o* ]]; then dlfile=$filename.part - cmdline=("${cmdline[@]//%o/"$dlfile"}") + cmdline=("${cmdline[@]//%o/$dlfile}") fi # add the URL, either in place of %u or at the end if [[ ${cmdline[*]} = *%u* ]]; then - cmdline=("${cmdline[@]//%u/"$url"}") + cmdline=("${cmdline[@]//%u/$url}") else cmdline+=("$url") fi -- cgit v1.2.3-70-g09d2 From fb9db2df5d1188b87f5763e4681f7f6d1b7ff988 Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Fri, 9 Jan 2015 14:57:37 -0500 Subject: makepkg: restore attr merging for write_pkginfo acc639adf20d removed this, but shouldn't have. Signed-off-by: Allan McRae --- scripts/makepkg.sh.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index ace44e23..22e02535 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -2139,6 +2139,8 @@ write_pkginfo() { local size="$(@DUPATH@ @DUFLAGS@)" size="$(( ${size%%[^0-9]*} * 1024 ))" + merge_arch_attrs + msg2 "$(gettext "Generating %s file...")" ".PKGINFO" printf "# Generated by makepkg %s\n" "$makepkg_version" printf "# using %s\n" "$(fakeroot -v)" -- cgit v1.2.3-70-g09d2 From e8d757b6ba9ca545266c43279cfef1a48971c013 Mon Sep 17 00:00:00 2001 From: Dario Giovannetti Date: Sat, 3 Jan 2015 00:11:04 +0800 Subject: paccache: exit in case of pacman error when -u flag is used Fixes https://bugs.archlinux.org/task/43286 Signed-off-by: Dario Giovannetti Signed-off-by: Allan McRae --- contrib/paccache.sh.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contrib/paccache.sh.in b/contrib/paccache.sh.in index 6a68d4de..1690583e 100644 --- a/contrib/paccache.sh.in +++ b/contrib/paccache.sh.in @@ -256,6 +256,8 @@ while :; do delete=1 ;; -u|--uninstalled) IFS=$'\n' read -r -d '' -a ign < <(pacman -Qq) + # pacman -Qq may exit with an error, thus making ign an empty array + (( ${#ign[@]} )) || die 'failed to retrieve the list of installed packages' blacklist+=("${ign[@]}") unset ign ;; -V|--version) -- cgit v1.2.3-70-g09d2