From a932b23d663d4c6de5a5224203079850a54d1b6c Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Sat, 28 Jul 2018 13:59:58 +0000 Subject: [PATCH] core/pacman to 5.1.1-1 --- ...ERR-trap-before-trying-to-restore-it.patch | 27 ------ ...kepkg-Don-t-use-parameterless-return.patch | 93 ------------------- core/pacman/PKGBUILD | 17 +--- core/pacman/pacman.conf | 2 +- 4 files changed, 6 insertions(+), 133 deletions(-) delete mode 100644 core/pacman/0001-makepkg-Clear-ERR-trap-before-trying-to-restore-it.patch delete mode 100644 core/pacman/0002-makepkg-Don-t-use-parameterless-return.patch diff --git a/core/pacman/0001-makepkg-Clear-ERR-trap-before-trying-to-restore-it.patch b/core/pacman/0001-makepkg-Clear-ERR-trap-before-trying-to-restore-it.patch deleted file mode 100644 index b4a5f16ae..000000000 --- a/core/pacman/0001-makepkg-Clear-ERR-trap-before-trying-to-restore-it.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 842bdfbb622db0673d4952812a490e10f61fa3bd Mon Sep 17 00:00:00 2001 -Message-Id: <842bdfbb622db0673d4952812a490e10f61fa3bd.1527784094.git.jan.steffens@gmail.com> -From: "Jan Alexander Steffens (heftig)" -Date: Thu, 31 May 2018 17:01:16 +0200 -Subject: [PATCH 1/2] makepkg: Clear ERR trap before trying to restore it - -$restoretrap is empty if the trap was not set. This caused the trap -handler to remain and override later exit codes. ---- - scripts/makepkg.sh.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index e9080a70..d67fd853 100644 ---- a/scripts/makepkg.sh.in -+++ b/scripts/makepkg.sh.in -@@ -432,6 +432,7 @@ run_function_safe() { - - run_function "$1" - -+ trap - ERR - eval "$restoretrap" - eval "$restoreset" - eval "$restoreshopt" --- -2.17.0 - diff --git a/core/pacman/0002-makepkg-Don-t-use-parameterless-return.patch b/core/pacman/0002-makepkg-Don-t-use-parameterless-return.patch deleted file mode 100644 index c919e4f09..000000000 --- a/core/pacman/0002-makepkg-Don-t-use-parameterless-return.patch +++ /dev/null @@ -1,93 +0,0 @@ -From bd164585f1a815a9f57b0c5bd2365d251500bc9f Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: <842bdfbb622db0673d4952812a490e10f61fa3bd.1527784094.git.jan.steffens@gmail.com> -References: <842bdfbb622db0673d4952812a490e10f61fa3bd.1527784094.git.jan.steffens@gmail.com> -From: "Jan Alexander Steffens (heftig)" -Date: Thu, 31 May 2018 17:46:51 +0200 -Subject: [PATCH 2/2] makepkg: Don't use parameterless return - -It's especially dangerous in trap handlers since the return value of the -function becomes the return value of the last command before the trap, -not the last command in the current function. This applies to any -function executed in a trap handler, nested functions included. - -In one case, install_packages failed (via return 14), which was inside a -conditional that then ran exit 14, which triggered the EXIT handler, -which called clean_up, which called remove_deps, which had !RMDEPS and -thus returned. The return value of remove_deps became the return value -of install_packages, triggering the ERR handler, which (due to another -problem) was still the user function handler, which then printed a -misleading error message and overrode the exit code with 4. ---- - scripts/makepkg.sh.in | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in -index d67fd853..15524dc0 100644 ---- a/scripts/makepkg.sh.in -+++ b/scripts/makepkg.sh.in -@@ -133,7 +133,7 @@ clean_up() { - - if (( INFAKEROOT )); then - # Don't clean up when leaving fakeroot, we're not done yet. -- return -+ return 0 - fi - - if (( (EXIT_CODE == E_OK || EXIT_CODE == E_INSTALL_FAILED) && CLEANUP )); then -@@ -313,7 +313,7 @@ resolve_deps() { - } - - remove_deps() { -- (( ! RMDEPS )) && return -+ (( ! RMDEPS )) && return 0 - - # check for packages removed during dependency install (e.g. due to conflicts) - # removing all installed packages is risky in this case -@@ -519,7 +519,7 @@ find_libdepends() { - - if (( sodepends == 0 )); then - (( ${#depends[@]} )) && printf '%s\n' "${depends[@]}" -- return; -+ return 0; - fi - - local libdeps filename soarch sofile soname soversion; -@@ -721,7 +721,7 @@ list_package_files() { - } - - create_package() { -- (( NOARCHIVE )) && return -+ (( NOARCHIVE )) && return 0 - - if [[ ! -d $pkgdir ]]; then - error "$(gettext "Missing %s directory.")" "\$pkgdir/" -@@ -784,14 +784,14 @@ create_package() { - create_debug_package() { - # check if a debug package was requested - if ! check_option "debug" "y" || ! check_option "strip" "y"; then -- return -+ return 0 - fi - - pkgdir="$pkgdirbase/$pkgbase-@DEBUGSUFFIX@" - - # check if we have any debug symbols to package - if dir_is_empty "$pkgdir/usr/lib/debug"; then -- return -+ return 0 - fi - - unset groups depends optdepends provides conflicts replaces backup install changelog -@@ -875,7 +875,7 @@ create_srcpackage() { - } - - install_package() { -- (( ! INSTALL )) && return -+ (( ! INSTALL )) && return 0 - - if (( ! SPLITPKG )); then - msg "$(gettext "Installing package %s with %s...")" "$pkgname" "$PACMAN -U" --- -2.17.0 - diff --git a/core/pacman/PKGBUILD b/core/pacman/PKGBUILD index 5e9ad1ff2..4aed4f61c 100644 --- a/core/pacman/PKGBUILD +++ b/core/pacman/PKGBUILD @@ -11,8 +11,8 @@ # - reverts to allow scriplet input on stdin pkgname=pacman -pkgver=5.1.0 -pkgrel=2 +pkgver=5.1.1 +pkgrel=1 pkgdesc="A library-based package manager with dependency support" arch=('x86_64') url="http://www.archlinux.org/pacman/" @@ -22,34 +22,27 @@ depends=('bash' 'glibc' 'libarchive' 'curl' 'gpgme' 'pacman-mirrorlist' 'archlinuxarm-keyring') makedepends=('asciidoc') checkdepends=('python2' 'fakechroot') -optdpepends=('perl-locale-gettext: translation support in makepkg-template') +optdepends=('perl-locale-gettext: translation support in makepkg-template') backup=(etc/pacman.conf etc/makepkg.conf) options=('strip' 'debug') validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae 'B8151B117037781095514CA7BBDFFC92306B1121') # Andrew Gregory (pacman) source=(https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig} - 0001-makepkg-Clear-ERR-trap-before-trying-to-restore-it.patch - 0002-makepkg-Don-t-use-parameterless-return.patch 0001-Sychronize-filesystem.patch 0002-Revert-close-stdin-before-running-install-scripts.patch 0003-Revert-alpm_run_chroot-always-connect-parent2child-p.patch pacman.conf makepkg.conf) -sha256sums=('9f5993fc8923530713742f15df284677f297b3eca15ed7a24758c98ac7399bd3' +sha256sums=('be04b9162d62d2567e21402dcbabb5bedfdb03909fa5ec6e8568e02ab325bd8d' 'SKIP' - '9b2304141582a421e812c76760a74f360a3cbd780472cbb60cf023a34d6fcb3d' - '2a31d4db5f6e19e0148d4892de14317514f2b2dfb5369c7972a641ca8be89e5a' '8d70fb5094f58aad98b601bbc42be354c2014b9fe734a1ee0b1e14bb041cc9cc' '0e771370da68c855bfb4eaad4c2ae137883a474886a049b934dac2e775574cb9' '2f586f72c34150330389854575a21be1d3ef3637c4f94bec2e948c2717a5aecb' - '4d7b47a2d1877e1426a2a0f93a595c634135b0f37a53db937e5f712fa71a1073' + 'd55cd09eda56a0f19dfba8a042056fdf8d8d441d2c218fddaa30c1546a703532' 'edc48d8a6c051d50241fa727e948a06ece8890d9d9da80573f8894a3bf455d36') prepare() { cd "$pkgname-$pkgver" - # Fix install_packages failure exit code, required by makechrootpkg - patch -Np1 -i ../0001-makepkg-Clear-ERR-trap-before-trying-to-restore-it.patch - patch -Np1 -i ../0002-makepkg-Don-t-use-parameterless-return.patch patch -p1 -i ../0001-Sychronize-filesystem.patch patch -p1 -i ../0002-Revert-close-stdin-before-running-install-scripts.patch diff --git a/core/pacman/pacman.conf b/core/pacman/pacman.conf index 9279f832d..22fa85a3e 100644 --- a/core/pacman/pacman.conf +++ b/core/pacman/pacman.conf @@ -16,7 +16,7 @@ #GPGDir = /etc/pacman.d/gnupg/ #HookDir = /etc/pacman.d/hooks/ HoldPkg = pacman glibc -#XferCommand = /usr/bin/curl -C - -f %u > %o +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u #CleanMethod = KeepInstalled #UseDelta = 0.7