From 8fe993e3f5450b63fc6a8e8206b82db720f8d8cb Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Mon, 23 May 2016 11:18:41 -0300 Subject: pacman-5.0.1-4.parabola1: pull upstream patchset, fixes pacman-key with latest gpg --- .../0001-libmakepkg-fix-is_array-function.patch | 32 ---- libre/pacman/PKGBUILD | 21 +-- libre/pacman/pacman-5.0.1-roundup.patch | 174 +++++++++++++++++++++ 3 files changed, 185 insertions(+), 42 deletions(-) delete mode 100644 libre/pacman/0001-libmakepkg-fix-is_array-function.patch create mode 100644 libre/pacman/pacman-5.0.1-roundup.patch diff --git a/libre/pacman/0001-libmakepkg-fix-is_array-function.patch b/libre/pacman/0001-libmakepkg-fix-is_array-function.patch deleted file mode 100644 index b8ada06f4..000000000 --- a/libre/pacman/0001-libmakepkg-fix-is_array-function.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 2822a45fa91b430c99b4b8bd3531ee745ada1ab7 Mon Sep 17 00:00:00 2001 -From: Allan McRae -Date: Fri, 26 Feb 2016 15:01:11 +1000 -Subject: [PATCH] libmakepkg: fix is_array function - -This happened to work for the majority of cases because the only calling -function used a variable named "i" that was related to the variable being -passed to the function. - -Fixes FS#48340. - -Signed-off-by: Allan McRae ---- - scripts/libmakepkg/util/util.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/scripts/libmakepkg/util/util.sh b/scripts/libmakepkg/util/util.sh -index 675e75d..f9f1c20 100644 ---- a/scripts/libmakepkg/util/util.sh -+++ b/scripts/libmakepkg/util/util.sh -@@ -46,7 +46,7 @@ is_array() { - local shellopts=$(shopt -p) - shopt -s extglob - -- if [[ $(declare -p "$i") == declare\ -*([[:alnum:]])a*([[:alnum:]])\ * ]]; then -+ if [[ $(declare -p "$v") == declare\ -*([[:alnum:]])a*([[:alnum:]])\ * ]]; then - ret=0 - fi - --- -2.7.1 - diff --git a/libre/pacman/PKGBUILD b/libre/pacman/PKGBUILD index f1ea71438..16541c609 100644 --- a/libre/pacman/PKGBUILD +++ b/libre/pacman/PKGBUILD @@ -1,5 +1,5 @@ # vim: set ts=2 sw=2 et: -# $Id: PKGBUILD 266765 2016-05-02 13:04:32Z allan $ +# $Id: PKGBUILD 268273 2016-05-18 05:54:54Z allan $ # Maintainer (Arch): Dan McGee # Maintainer (Arch): Dave Reisner # Maintainer: André Silva @@ -10,7 +10,7 @@ pkgname=pacman pkgver=5.0.1 -pkgrel=3.parabola1 +pkgrel=4.parabola1 pkgdesc="A library-based package manager with dependency support" arch=('i686' 'x86_64' 'armv7h') url="http://www.archlinux.org/pacman/" @@ -20,7 +20,7 @@ depends=('bash' 'glibc' 'libarchive' 'curl' 'gpgme' 'pacman-mirrorlist' 'archlinux-keyring' 'parabola-keyring') depends_armv7h=('archlinuxarm-keyring') -makedepends=('asciidoc') # roundup patch alters docs +makedepends=('asciidoc') checkdepends=('python2' 'fakechroot') optdepends=('cron: run specified programs at scheduled times and related tools') provides=("$pkgname-contrib") @@ -33,7 +33,7 @@ source=(https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig makepkg.conf.in $pkgname-keyring.service $pkgname-keyring.timer - 0001-libmakepkg-fix-is_array-function.patch + pacman-5.0.1-roundup.patch 0001-Sychronize-filesystem.patch 0002-Revert-close-stdin-before-running-install-scripts.patch 0003-Revert-alpm_run_chroot-always-connect-parent2child-p.patch @@ -46,7 +46,7 @@ md5sums=('377a2664d6007d72d6d8a126add83bcf' '19c91127e409cf24246de252be44eaa9' '11a5fac02651041e44d65d66c3538030' '7fb448e0d2b5b22da5ddc0040378efb0' - '55732144f1048f714f1f93203e9b7728' + '1a6573187531068d38cb4478cd20368c' '11869a104d0944cc86215098cf5a32bf' 'd4692c3add0b0dab87036edad3f59626' 'fd59d9fb04abadffb937082c288bb10c' @@ -57,17 +57,18 @@ prepare() { cd "$pkgname-$pkgver" # From Arch - patch -p1 -i $srcdir/0001-libmakepkg-fix-is_array-function.patch + # v5.0.1..pacman-5.0.1..c2f97580 + patch -p1 -i $srcdir/pacman-5.0.1-roundup.patch # From Arch ARM if [ "${CARCH}" = "armv7h" ]; then - patch -p1 -i ../0001-Sychronize-filesystem.patch - patch -p1 -i ../0002-Revert-close-stdin-before-running-install-scripts.patch - patch -p1 -i ../0003-Revert-alpm_run_chroot-always-connect-parent2child-p.patch + patch -p1 -i $srcdir/0001-Sychronize-filesystem.patch + patch -p1 -i $srcdir/0002-Revert-close-stdin-before-running-install-scripts.patch + patch -p1 -i $srcdir/0003-Revert-alpm_run_chroot-always-connect-parent2child-p.patch fi # From Parabola - patch -p1 -i ../0001-makepkg-treat-pkgrel-more-similarly-to-pkgver.patch + patch -p1 -i $srcdir/0001-makepkg-treat-pkgrel-more-similarly-to-pkgver.patch } build() { diff --git a/libre/pacman/pacman-5.0.1-roundup.patch b/libre/pacman/pacman-5.0.1-roundup.patch new file mode 100644 index 000000000..ddb8ddb31 --- /dev/null +++ b/libre/pacman/pacman-5.0.1-roundup.patch @@ -0,0 +1,174 @@ +diff --git a/NEWS b/NEWS +index 07aa028..b7298bf 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,5 +1,22 @@ + VERSION DESCRIPTION + ----------------------------------------------------------------------------- ++5.0.1 - fix alignment issues with wide character locales (FS#47980) ++ - fix removal of .pacnew files (FS#47993) ++ - fix triggering of Install hooks (FS#47996) ++ - fix handling of stdin scripts called by pacman ++ - hook activity is logged ++ - documentataion updates for alpm-hooks (FS#48080) ++ - makepkg: ++ - increase robustness of variable array checks ++ - makepkg -g does not perform current architecture checks ++ - do not run prepare() with --noextract ++ - all directories in the packaging directory are cleared ++ before each build ++ - fix translations issues (FS#48057, FS#48298) ++ - repo-add: ++ - fix checking for non-existent database ++ - contrib: ++ - zsh_completion: updated makepkg options + 5.0.0 - pacman can run hooks pre- and post-transaction. See the + alpm-hooks(5) man page for details and an example hook (FS#2985) + - pacman can now sync and read .files databases (-Fy) and do basic +diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt +index e410481..4b4a22c 100644 +--- a/doc/PKGBUILD.5.txt ++++ b/doc/PKGBUILD.5.txt +@@ -52,10 +52,10 @@ similar to `$_basekernver`. + + + The `pkgver` variable can be automatically updated by providing a `pkgver()` + function in the PKGBUILD that outputs the new package version. +-This is run after downloading and extracting the sources so it can use those +-files in determining the new `pkgver`. +-This is most useful when used with sources from version control systems (see +-below). ++This is run after downloading and extracting the sources and running the ++`prepare()` function (if present), so it can use those files in determining the ++new `pkgver`. This is most useful when used with sources from version control ++systems (see below). + + *pkgrel*:: + This is the release number specific to the Arch Linux release. This +diff --git a/scripts/libmakepkg/tidy/emptydirs.sh.in b/scripts/libmakepkg/tidy/emptydirs.sh.in +index 32b8d8c..85ab39d 100644 +--- a/scripts/libmakepkg/tidy/emptydirs.sh.in ++++ b/scripts/libmakepkg/tidy/emptydirs.sh.in +@@ -33,6 +33,7 @@ tidy_remove+=('tidy_emptydirs') + tidy_emptydirs() { + if check_option "emptydirs" "n"; then + msg2 "$(gettext "Removing empty directories...")" +- find . -depth -type d -exec rmdir '{}' + 2>/dev/null ++ # we are unable to use '-empty' as it is non-POSIX and not support by all find variants ++ find . -depth -type d -exec rmdir '{}' \; 2>/dev/null + fi + } +diff --git a/scripts/libmakepkg/util/util.sh b/scripts/libmakepkg/util/util.sh +index 675e75d..f9f1c20 100644 +--- a/scripts/libmakepkg/util/util.sh ++++ b/scripts/libmakepkg/util/util.sh +@@ -46,7 +46,7 @@ is_array() { + local shellopts=$(shopt -p) + shopt -s extglob + +- if [[ $(declare -p "$i") == declare\ -*([[:alnum:]])a*([[:alnum:]])\ * ]]; then ++ if [[ $(declare -p "$v") == declare\ -*([[:alnum:]])a*([[:alnum:]])\ * ]]; then + ret=0 + fi + +diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in +index 30d2704..0db0952 100644 +--- a/scripts/pacman-key.sh.in ++++ b/scripts/pacman-key.sh.in +@@ -483,7 +483,7 @@ verify_sig() { + local ret=0 + for sig; do + msg "Checking %s..." "$sig" +- if ! "${GPG_PACMAN[@]}" --status-fd 1 --verify "$sig" | grep -qE '^\[GNUPG:\] TRUST_(FULLY|ULTIMATE)$'; then ++ if ! "${GPG_PACMAN[@]}" --status-fd 1 --verify "$sig" | grep -qE '^\[GNUPG:\] TRUST_(FULLY|ULTIMATE).*$'; then + error "$(gettext "The signature identified by %s could not be verified.")" "$sig" + ret=1 + fi +diff --git a/src/pacman/check.c b/src/pacman/check.c +index 0fe74e8..d282cc2 100644 +--- a/src/pacman/check.c ++++ b/src/pacman/check.c +@@ -254,7 +254,6 @@ int check_pkg_full(alpm_pkg_t *pkg) + const char *root, *pkgname; + size_t errors = 0; + size_t rootlen; +- char filepath[PATH_MAX]; + struct archive *mtree; + struct archive_entry *entry = NULL; + size_t file_count = 0; +@@ -267,7 +266,6 @@ int check_pkg_full(alpm_pkg_t *pkg) + pm_printf(ALPM_LOG_ERROR, _("path too long: %s%s\n"), root, ""); + return 1; + } +- strcpy(filepath, root); + + pkgname = alpm_pkg_get_name(pkg); + mtree = alpm_pkg_mtree_open(pkg); +@@ -282,6 +280,8 @@ int check_pkg_full(alpm_pkg_t *pkg) + while(alpm_pkg_mtree_next(pkg, mtree, &entry) == ARCHIVE_OK) { + struct stat st; + const char *path = archive_entry_pathname(entry); ++ char filepath[PATH_MAX]; ++ int filepath_len; + mode_t type; + size_t file_errors = 0; + int backup = 0; +@@ -292,31 +292,37 @@ int check_pkg_full(alpm_pkg_t *pkg) + path += 2; + } + +- if(strcmp(path, ".INSTALL") == 0) { +- char filename[PATH_MAX]; +- snprintf(filename, PATH_MAX, "%slocal/%s-%s/install", +- alpm_option_get_dbpath(config->handle) + 1, +- pkgname, alpm_pkg_get_version(pkg)); +- archive_entry_set_pathname(entry, filename); +- path = archive_entry_pathname(entry); +- } else if(strcmp(path, ".CHANGELOG") == 0) { +- char filename[PATH_MAX]; +- snprintf(filename, PATH_MAX, "%slocal/%s-%s/changelog", +- alpm_option_get_dbpath(config->handle) + 1, +- pkgname, alpm_pkg_get_version(pkg)); +- archive_entry_set_pathname(entry, filename); +- path = archive_entry_pathname(entry); +- } else if(*path == '.') { +- continue; +- } ++ if(*path == '.') { ++ const char *dbfile = NULL; + +- file_count++; ++ if(strcmp(path, ".INSTALL") == 0) { ++ dbfile = "install"; ++ } else if(strcmp(path, ".CHANGELOG") == 0) { ++ dbfile = "changelog"; ++ } else { ++ continue; ++ } + +- if(rootlen + 1 + strlen(path) > PATH_MAX) { +- pm_printf(ALPM_LOG_WARNING, _("path too long: %s%s\n"), root, path); +- continue; ++ /* Do not append root directory as alpm_option_get_dbpath is already ++ * an absoute path */ ++ filepath_len = snprintf(filepath, PATH_MAX, "%slocal/%s-%s/%s", ++ alpm_option_get_dbpath(config->handle), ++ pkgname, alpm_pkg_get_version(pkg), dbfile); ++ if(filepath_len >= PATH_MAX) { ++ pm_printf(ALPM_LOG_WARNING, _("path too long: %slocal/%s-%s/%s\n"), ++ alpm_option_get_dbpath(config->handle), ++ pkgname, alpm_pkg_get_version(pkg), dbfile); ++ continue; ++ } ++ } else { ++ filepath_len = snprintf(filepath, PATH_MAX, "%s%s", root, path); ++ if(filepath_len >= PATH_MAX) { ++ pm_printf(ALPM_LOG_WARNING, _("path too long: %s%s\n"), root, path); ++ continue; ++ } + } +- strcpy(filepath + rootlen, path); ++ ++ file_count++; + + exists = check_file_exists(pkgname, filepath, rootlen, &st); + if(exists == 1) { -- cgit v1.2.3