diff options
-rw-r--r-- | libre/pacman/PKGBUILD | 37 | ||||
-rw-r--r-- | libre/pacman/pacman-5.0.1-roundup.patch | 174 |
2 files changed, 16 insertions, 195 deletions
diff --git a/libre/pacman/PKGBUILD b/libre/pacman/PKGBUILD index 6dd5a2823..8139b625c 100644 --- a/libre/pacman/PKGBUILD +++ b/libre/pacman/PKGBUILD @@ -9,8 +9,8 @@ # Contributor: Daniel Milewski <niitotantei@riseup.net> pkgname=pacman -pkgver=5.0.1 -pkgrel=5.parabola1 +pkgver=5.0.2 +pkgrel=1.parabola1 pkgdesc="A library-based package manager with dependency support" arch=('i686' 'x86_64' 'armv7h') url="http://www.archlinux.org/pacman/" @@ -29,38 +29,33 @@ conflicts=("$pkgname-contrib" "$pkgname-parabola" 'cacert-dot-org') replaces=("$pkgname-contrib" "$pkgname-parabola" 'cacert-dot-org') backup=('etc/pacman.conf' 'etc/makepkg.conf') options=('strip' 'debug') +validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae <allan@archlinux.org> + 'B8151B117037781095514CA7BBDFFC92306B1121') # Andrew Gregory (pacman) <andrew@archlinux.org> source=(https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig} "${arch[@]/#/$pkgname.conf.}" makepkg.conf.in $pkgname-keyring.service $pkgname-keyring.timer - 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 0001-makepkg-treat-pkgrel-more-similarly-to-pkgver.patch) -md5sums=('377a2664d6007d72d6d8a126add83bcf' - 'SKIP' - '91acf59bee8951fc64c6d2a2734a60a9' - '24dd29d6917e2bd60d0b9b399743c52e' - '22a5641e5b54d14de76f294c442a5baa' - '19c91127e409cf24246de252be44eaa9' - '11a5fac02651041e44d65d66c3538030' - '7fb448e0d2b5b22da5ddc0040378efb0' - '1a6573187531068d38cb4478cd20368c' - '11869a104d0944cc86215098cf5a32bf' - 'd4692c3add0b0dab87036edad3f59626' - 'fd59d9fb04abadffb937082c288bb10c' - '5c01220f49538d37bf1a424af46790d0') -validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD') # Allan McRae <allan@archlinux.org> +sha256sums=('dfd36086ad68564bcd977f4a1fafe51dd328acd4a95093ac4bf1249be9c41f0e' + 'SKIP' + '955108882725cb7540315f64620cf4cb553d45450e89724885bd5ec8b1ab2ad0' + '873627cc322ec696994f2a0af24f2aa29c49129fa6eb8c7ddcc14a33bcdc46c3' + 'b00c183ecbc35b2d25d8f1e49d5ed647d03a99d8cbb8a16fa6e227dc9b91178c' + '0d174c7c47921cfbb35dacb9d099095e78f6f67bfaa86836a3e588552f14ed03' + '1df848c5038a3f81ae4dc79a4072d340109b02f56292a5c4a20c59f735edd2b3' + '1cc4af1cf8e2133d4520827cc7d3ffad731892595f8e699909002d2e40ad8df9' + '16d1d426fd1365470891c918c2a82147fb80be97a47bfa0d8c547edbcad9b05c' + 'c33246b876f8ba574077471bd71ff0e698d5b41ef0f9f34685dd17d417c1f204' + '414d65dffedf912af05b09fe6a55cd5144a8f39a5a280c1ad85c019e66ef5c83' + '416efd44f4d52345871877fd1cb1674dc6e5c063d51f9fe0d723ca51e004595e') prepare() { cd "$pkgname-$pkgver" - # From Arch - # v5.0.1..pacman-5.0.1..c2f975802 - patch -p1 -i $srcdir/pacman-5.0.1-roundup.patch - # From Arch ARM if [ "${CARCH}" = "armv7h" ]; then patch -p1 -i $srcdir/0001-Sychronize-filesystem.patch diff --git a/libre/pacman/pacman-5.0.1-roundup.patch b/libre/pacman/pacman-5.0.1-roundup.patch deleted file mode 100644 index ddb8ddb31..000000000 --- a/libre/pacman/pacman-5.0.1-roundup.patch +++ /dev/null @@ -1,174 +0,0 @@ -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) { |