Date: Wednesday, June 16, 2010 @ 22:27:48 Author: dan Revision: 82777
upgpkg: pacman 3.4.0-1 hot new version Modified: pacman/trunk/PKGBUILD pacman/trunk/makepkg.conf pacman/trunk/pacman.conf Deleted: pacman/trunk/completion.patch pacman/trunk/vercmp.patch ------------------+ PKGBUILD | 23 ++---- completion.patch | 68 ------------------ makepkg.conf | 8 ++ pacman.conf | 4 - vercmp.patch | 191 ----------------------------------------------------- 5 files changed, 20 insertions(+), 274 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2010-06-16 23:28:18 UTC (rev 82776) +++ PKGBUILD 2010-06-17 02:27:48 UTC (rev 82777) @@ -3,8 +3,8 @@ # Maintainer: Dan McGee <[email protected]> pkgname=pacman -pkgver=3.3.3 -pkgrel=5 +pkgver=3.4.0 +pkgrel=1 pkgdesc="A library-based package manager with dependency support" arch=('i686' 'x86_64') url="http://www.archlinux.org/pacman/" @@ -18,24 +18,19 @@ options=(!libtool) source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz pacman.conf - makepkg.conf - vercmp.patch - completion.patch) -md5sums=('a8cef73d68e2a4c3a46fb46c33210719' - 'abe70dabacee7036368c7afeb686eb10' - '4d2f2f2ac74cba7bd2d336db9135ab16' - '84129116c61c8a7cad03a5ae5d80aee5' - '7eddda58bf55809e6bde14b446e41a15') + makepkg.conf) +md5sums=('50ad71be1faaad84842c576e239d1bb5' + '80f5bb2a606553512d0db857f78d9ac2' + 'aef317285c7d16ac495b0e53deeb948d') +sha256sums=('cd80e206ee653ce337555c73b7064088e672e9341245317fe09dc52d06bff3c3' + '97fb68536c1179a7de52dfb8a107c6e9bf3a71eaa6a98d6ae74dc224d4ca5838' + '3a60e1f895c90c8e74f5ca389fa05fb3328745e9873c5452b8cd1b2e68bee418') # keep an upgrade path for older installations PKGEXT='.pkg.tar.gz' build() { cd $srcdir/$pkgname-$pkgver - # avoid linking vercmp against libalpm as this might be broken during a transaction - patch -p0 -i $srcdir/vercmp.patch || return 1 - # fix completion for .pkg.tar.xz pacakges (included in next upstream release) - patch -p1 -i $srcdir/completion.patch || return 1 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var make || return 1 } Deleted: completion.patch =================================================================== --- completion.patch 2010-06-16 23:28:18 UTC (rev 82776) +++ completion.patch 2010-06-17 02:27:48 UTC (rev 82777) @@ -1,68 +0,0 @@ -From d85421ec62cdcd0b4b1f162b9908dc3eb0b704b4 Mon Sep 17 00:00:00 2001 -From: Pierre Schmitz <[email protected]> -Date: Thu, 18 Feb 2010 04:18:10 +0000 -Subject: contrib/*_completion: match *.pkg.tar.* - -Signed-off-by: Pierre Schmitz <[email protected]> -Signed-off-by: Dan McGee <[email protected]> ---- -diff --git a/contrib/bash_completion b/contrib/bash_completion -index 62e5bc9..a231eb6 100644 ---- a/contrib/bash_completion -+++ b/contrib/bash_completion -@@ -321,7 +321,7 @@ _pacman () - case "${op}" in - U) - COMPREPLY=( $( compgen -d -- "$cur" ) \ -- $( compgen -f -X '!*.pkg.tar.gz' -- "$cur" ) ) -+ $( compgen -f -X '!*.pkg.tar.*' -- "$cur" ) ) - return 0 - ;; - h|V) -@@ -336,7 +336,7 @@ _pacman () - $( compgen -f -- "$cur" ) ) - elif _instring $mod p; then - COMPREPLY=( $( compgen -d -- "$cur" ) \ -- $( compgen -f -X '!*.pkg.tar.gz' -- "$cur" ) ) -+ $( compgen -f -X '!*.pkg.tar.*' -- "$cur" ) ) - elif _instring $mod u; then - COMPREPLY='' - return 0 -diff --git a/contrib/zsh_completion b/contrib/zsh_completion -index 2f43d9b..01b3c44 100644 ---- a/contrib/zsh_completion -+++ b/contrib/zsh_completion -@@ -32,7 +32,7 @@ _pacman_opts_common=( - _pacman_opts_pkgfile=( - '-d[Skip dependency checks]' - '-f[Overwrite conflicting files]' -- '*:package file:_files -g "*.pkg.tar.gz(.)"' -+ '*:package file:_files -g "*.pkg.tar.*(.)"' - ) - - # options for passing to _arguments: subactions for --query command -@@ -120,7 +120,7 @@ _pacman_action_query() { - _arguments -s : \ - "$_pacman_opts_comm...@]" \ - "$_pacman_opts_query_modifie...@]" \ -- '*:package file:_files -g "*.pkg.tar.gz"' -+ '*:package file:_files -g "*.pkg.tar.*"' - ;; - query_group) - _arguments -s : \ -@@ -295,11 +295,11 @@ _pacman() { - "$_pacman_opts_query_modifie...@]" \ - '*:package file:_files' - ;; -- -Q*p*) # file *.pkg.tar.gz -+ -Q*p*) # file *.pkg.tar.* - _arguments -s : \ - "$_pacman_opts_comm...@]" \ - "$_pacman_opts_query_modifie...@]" \ -- '*:package file:_files -g "*.pkg.tar.gz"' -+ '*:package file:_files -g "*.pkg.tar.*"' - ;; - -Q*) _pacman_action_query ;; - -R*) _pacman_action_remove ;; --- -cgit v0.8.3.1-3-ga650 Modified: makepkg.conf =================================================================== --- makepkg.conf 2010-06-16 23:28:18 UTC (rev 82776) +++ makepkg.conf 2010-06-17 02:27:48 UTC (rev 82777) @@ -72,6 +72,12 @@ #-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512 INTEGRITY_CHECK=(md5) +#-- Options to be used when stripping binaries. See `man strip' for details. +STRIP_BINARIES="--strip-all" +#-- Options to be used when stripping shared libraries. See `man strip' for details. +STRIP_SHARED="--strip-unneeded" +#-- Options to be used when stripping static libraries. See `man strip' for details. +STRIP_STATIC="--strip-debug" #-- Manual (man and info) directories to compress (if zipman is specified) MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) #-- Doc directories to remove (if !docs is specified) @@ -91,6 +97,8 @@ #PKGDEST=/home/packages #-- Source cache: specify a fixed directory where source files will be cached #SRCDEST=/home/sources +#-- Source packages: specify a fixed directory where all src packages will be placed +#SRCPKGDEST=/home/srcpackages #-- Packager: name/email of the person or organization building packages #PACKAGER="John Doe <[email protected]>" Modified: pacman.conf =================================================================== --- pacman.conf 2010-06-16 23:28:18 UTC (rev 82776) +++ pacman.conf 2010-06-17 02:27:48 UTC (rev 82777) @@ -17,8 +17,9 @@ # If upgrades are available for these packages they will be asked for first SyncFirst = pacman #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#XferCommand = /usr/bin/curl %u > %o +#XferCommand = /usr/bin/curl -C - %u > %o #CleanMethod = KeepInstalled +Architecture = auto # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup #IgnorePkg = @@ -41,6 +42,7 @@ # - repositories listed first will take precedence when packages # have identical names, regardless of version number # - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture # # Repository entries are of the format: # [repo-name] Deleted: vercmp.patch =================================================================== --- vercmp.patch 2010-06-16 23:28:18 UTC (rev 82776) +++ vercmp.patch 2010-06-17 02:27:48 UTC (rev 82777) @@ -1,191 +0,0 @@ ---- src/util/vercmp.c 2009-09-30 03:38:22.000000000 +0200 -+++ src/util/vercmp.c 2010-04-07 18:49:13.659173306 +0200 -@@ -18,17 +18,184 @@ - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - --#include "config.h" -- - #include <stdio.h> /* printf */ -+#include <stdlib.h> /* malloc/free */ - #include <string.h> /* strncpy */ - --#include <alpm.h> -- - #define BASENAME "vercmp" - - #define MAX_LEN 255 - -+/** Compare two version strings and determine which one is 'newer'. -+ * Returns a value comparable to the way strcmp works. Returns 1 -+ * if a is newer than b, 0 if a and b are the same version, or -1 -+ * if b is newer than a. -+ * -+ * This function has been adopted from the rpmvercmp function located -+ * at lib/rpmvercmp.c, and was most recently updated against rpm -+ * version 4.4.2.3. Small modifications have been made to make it more -+ * consistent with the libalpm coding style. -+ * -+ * Keep in mind that the pkgrel is only compared if it is available -+ * on both versions handed to this function. For example, comparing -+ * 1.5-1 and 1.5 will yield 0; comparing 1.5-1 and 1.5-2 will yield -+ * -1 as expected. This is mainly for supporting versioned dependencies -+ * that do not include the pkgrel. -+ */ -+static int alpm_pkg_vercmp(const char *a, const char *b) -+{ -+ char oldch1, oldch2; -+ char *str1, *str2; -+ char *ptr1, *ptr2; -+ char *one, *two; -+ int rc; -+ int isnum; -+ int ret = 0; -+ -+ /* libalpm added code. ensure our strings are not null */ -+ if(!a) { -+ if(!b) return(0); -+ return(-1); -+ } -+ if(!b) return(1); -+ -+ /* easy comparison to see if versions are identical */ -+ if(strcmp(a, b) == 0) return(0); -+ -+ str1 = strdup(a); -+ str2 = strdup(b); -+ -+ one = str1; -+ two = str2; -+ -+ /* loop through each version segment of str1 and str2 and compare them */ -+ while(*one && *two) { -+ while(*one && !isalnum((int)*one)) one++; -+ while(*two && !isalnum((int)*two)) two++; -+ -+ /* If we ran to the end of either, we are finished with the loop */ -+ if(!(*one && *two)) break; -+ -+ ptr1 = one; -+ ptr2 = two; -+ -+ /* grab first completely alpha or completely numeric segment */ -+ /* leave one and two pointing to the start of the alpha or numeric */ -+ /* segment and walk ptr1 and ptr2 to end of segment */ -+ if(isdigit((int)*ptr1)) { -+ while(*ptr1 && isdigit((int)*ptr1)) ptr1++; -+ while(*ptr2 && isdigit((int)*ptr2)) ptr2++; -+ isnum = 1; -+ } else { -+ while(*ptr1 && isalpha((int)*ptr1)) ptr1++; -+ while(*ptr2 && isalpha((int)*ptr2)) ptr2++; -+ isnum = 0; -+ } -+ -+ /* save character at the end of the alpha or numeric segment */ -+ /* so that they can be restored after the comparison */ -+ oldch1 = *ptr1; -+ *ptr1 = '\0'; -+ oldch2 = *ptr2; -+ *ptr2 = '\0'; -+ -+ /* this cannot happen, as we previously tested to make sure that */ -+ /* the first string has a non-null segment */ -+ if (one == ptr1) { -+ ret = -1; /* arbitrary */ -+ goto cleanup; -+ } -+ -+ /* take care of the case where the two version segments are */ -+ /* different types: one numeric, the other alpha (i.e. empty) */ -+ /* numeric segments are always newer than alpha segments */ -+ /* XXX See patch #60884 (and details) from bugzilla #50977. */ -+ if (two == ptr2) { -+ ret = isnum ? 1 : -1; -+ goto cleanup; -+ } -+ -+ if (isnum) { -+ /* this used to be done by converting the digit segments */ -+ /* to ints using atoi() - it's changed because long */ -+ /* digit segments can overflow an int - this should fix that. */ -+ -+ /* throw away any leading zeros - it's a number, right? */ -+ while (*one == '0') one++; -+ while (*two == '0') two++; -+ -+ /* whichever number has more digits wins */ -+ if (strlen(one) > strlen(two)) { -+ ret = 1; -+ goto cleanup; -+ } -+ if (strlen(two) > strlen(one)) { -+ ret = -1; -+ goto cleanup; -+ } -+ } -+ -+ /* strcmp will return which one is greater - even if the two */ -+ /* segments are alpha or if they are numeric. don't return */ -+ /* if they are equal because there might be more segments to */ -+ /* compare */ -+ rc = strcmp(one, two); -+ if (rc) { -+ ret = rc < 1 ? -1 : 1; -+ goto cleanup; -+ } -+ -+ /* restore character that was replaced by null above */ -+ *ptr1 = oldch1; -+ one = ptr1; -+ *ptr2 = oldch2; -+ two = ptr2; -+ -+ /* libalpm added code. check if version strings have hit the pkgrel -+ * portion. depending on which strings have hit, take correct action. -+ * this is all based on the premise that we only have one dash in -+ * the version string, and it separates pkgver from pkgrel. */ -+ if(*ptr1 == '-' && *ptr2 == '-') { -+ /* no-op, continue comparing since we are equivalent throughout */ -+ } else if(*ptr1 == '-') { -+ /* ptr1 has hit the pkgrel and ptr2 has not. continue version -+ * comparison after stripping the pkgrel from ptr1. */ -+ *ptr1 = '\0'; -+ } else if(*ptr2 == '-') { -+ /* ptr2 has hit the pkgrel and ptr1 has not. continue version -+ * comparison after stripping the pkgrel from ptr2. */ -+ *ptr2 = '\0'; -+ } -+ } -+ -+ /* this catches the case where all numeric and alpha segments have */ -+ /* compared identically but the segment separating characters were */ -+ /* different */ -+ if ((!*one) && (!*two)) { -+ ret = 0; -+ goto cleanup; -+ } -+ -+ /* the final showdown. we never want a remaining alpha string to -+ * beat an empty string. the logic is a bit weird, but: -+ * - if one is empty and two is not an alpha, two is newer. -+ * - if one is an alpha, two is newer. -+ * - otherwise one is newer. -+ * */ -+ if ( ( !*one && !isalpha((int)*two) ) -+ || isalpha((int)*one) ) { -+ ret = -1; -+ } else { -+ ret = 1; -+ } -+ -+cleanup: -+ free(str1); -+ free(str2); -+ return(ret); -+} -+ -+ - static void usage() - { - fprintf(stderr, "usage: %s <ver1> <ver2>\n\n", BASENAME);
