[arch-commits] Commit in curl/repos (8 files)

Dave Reisner dreisner at archlinux.org
Tue Jan 24 17:51:49 UTC 2012


    Date: Tuesday, January 24, 2012 @ 12:51:49
  Author: dreisner
Revision: 147206

archrelease: copy trunk to testing-i686, testing-x86_64

Added:
  curl/repos/testing-i686/
  curl/repos/testing-i686/PKGBUILD
    (from rev 147205, curl/trunk/PKGBUILD)
  curl/repos/testing-i686/curlbuild.h
    (from rev 147205, curl/trunk/curlbuild.h)
  curl/repos/testing-i686/fix-J-with-O-regression.patch
    (from rev 147205, curl/trunk/fix-J-with-O-regression.patch)
  curl/repos/testing-x86_64/
  curl/repos/testing-x86_64/PKGBUILD
    (from rev 147205, curl/trunk/PKGBUILD)
  curl/repos/testing-x86_64/curlbuild.h
    (from rev 147205, curl/trunk/curlbuild.h)
  curl/repos/testing-x86_64/fix-J-with-O-regression.patch
    (from rev 147205, curl/trunk/fix-J-with-O-regression.patch)

----------------------------------------------+
 testing-i686/PKGBUILD                        |   66 +++++++++++
 testing-i686/curlbuild.h                     |    9 +
 testing-i686/fix-J-with-O-regression.patch   |  142 +++++++++++++++++++++++++
 testing-x86_64/PKGBUILD                      |   66 +++++++++++
 testing-x86_64/curlbuild.h                   |    9 +
 testing-x86_64/fix-J-with-O-regression.patch |  142 +++++++++++++++++++++++++
 6 files changed, 434 insertions(+)

Copied: curl/repos/testing-i686/PKGBUILD (from rev 147205, curl/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2012-01-24 17:51:49 UTC (rev 147206)
@@ -0,0 +1,66 @@
+# $Id$
+# Maintainer: Dave Reisner <dreisner at archlinux.org>
+# Contributor: Angel Velasquez <angvp at archlinux.org>
+# Contributor: Eric Belanger <eric at archlinux.org>
+# Contributor: Lucien Immink <l.immink at student.fnt.hvu.nl>
+# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
+
+pkgname=curl
+pkgver=7.24.0
+pkgrel=1
+pkgdesc="An URL retrival utility and library"
+arch=('i686' 'x86_64')
+url="http://curl.haxx.se"
+license=('MIT')
+depends=('ca-certificates' 'libssh2' 'openssl' 'zlib')
+options=('!libtool')
+source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc}
+        fix-J-with-O-regression.patch
+        curlbuild.h)
+md5sums=('b93420f80a2baaa61a0f45214eddc2ba'
+         '710242df6bc318d16eea611e7d1b1410'
+         'aa4539ec4f4a2dad1663dc22dd3ab0a1'
+         '751bd433ede935c8fae727377625a8ae')
+
+ptrsize=$(cpp <<<'__SIZEOF_POINTER__' | sed '/^#/d')
+case $ptrsize in
+  8) _curlbuild=curlbuild-64.h ;;
+  4) _curlbuild=curlbuild-32.h ;;
+  *) error "unknown pointer size for architecture: %s bytes" "$ptrsize"
+    exit 1
+    ;;
+esac
+
+build() {
+  cd "$pkgname-$pkgver"
+
+  ./configure \
+      --prefix=/usr \
+      --mandir=/usr/share/man \
+      --disable-dependency-tracking \
+      --disable-ldap \
+      --disable-ldaps \
+      --enable-ipv6 \
+      --enable-manual \
+      --enable-versioned-symbols \
+      --enable-threaded-resolver \
+      --without-libidn \
+      --with-random=/dev/urandom \
+      --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
+
+  make
+}
+
+package() {
+  cd "$pkgname-$pkgver"
+
+  make DESTDIR="$pkgdir" install
+
+  # license
+  install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+
+  # devel
+  install -Dm644 docs/libcurl/libcurl.m4 "$pkgdir/usr/share/aclocal/libcurl.m4"
+  mv "$pkgdir/usr/include/curl/curlbuild.h" "$pkgdir/usr/include/curl/$_curlbuild"
+  install -m644 "$srcdir/curlbuild.h" "$pkgdir/usr/include/curl/curlbuild.h"
+}

Copied: curl/repos/testing-i686/curlbuild.h (from rev 147205, curl/trunk/curlbuild.h)
===================================================================
--- testing-i686/curlbuild.h	                        (rev 0)
+++ testing-i686/curlbuild.h	2012-01-24 17:51:49 UTC (rev 147206)
@@ -0,0 +1,9 @@
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+#include "curlbuild-32.h"
+#elif __WORDSIZE == 64
+#include "curlbuild-64.h"
+#else
+#error "Unknown word size"
+#endif

Copied: curl/repos/testing-i686/fix-J-with-O-regression.patch (from rev 147205, curl/trunk/fix-J-with-O-regression.patch)
===================================================================
--- testing-i686/fix-J-with-O-regression.patch	                        (rev 0)
+++ testing-i686/fix-J-with-O-regression.patch	2012-01-24 17:51:49 UTC (rev 147206)
@@ -0,0 +1,142 @@
+From c532604b137cae2e2814280778f914e4cd0460d1 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel at haxx.se>
+Date: Sun, 20 Nov 2011 23:33:46 +0100
+Subject: [PATCH] -J -O: use -O name if no Content-Disposition header comes!
+
+A regression between 7.22.0 and 7.23.0 -- downloading a file with the
+flags -O and -J results in the content being written to stdout if and
+only if there was no Content-Disposition header in the http response. If
+there is a C-D header with a filename attribute, the output is correctly
+written.
+
+Reported by: Dave Reisner
+Bug: http://curl.haxx.se/mail/archive-2011-11/0030.html
+---
+ src/tool_cb_hdr.c      |    3 +-
+ src/tool_operate.c     |   59 ++++++++++++++++++++++----------------------
+ src/tool_operhlp.c     |   18 +++++++++++++
+ tests/data/Makefile.am |    2 +-
+ tests/data/test1210    |   63 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 112 insertions(+), 33 deletions(-)
+ create mode 100644 tests/data/test1210
+
+diff --git a/src/tool_cb_hdr.c b/src/tool_cb_hdr.c
+index fb24b45..dea7338 100644
+--- a/src/tool_cb_hdr.c
++++ b/src/tool_cb_hdr.c
+@@ -66,8 +66,7 @@ size_t tool_header_cb(void *ptr, size_t size, size_t nmemb, void *userdata)
+   }
+ #endif
+ 
+-  if(!outs->filename && (cb > 20) &&
+-    checkprefix("Content-disposition:", str)) {
++  if((cb > 20) && checkprefix("Content-disposition:", str)) {
+     const char *p = str + 20;
+ 
+     /* look for the 'filename=' parameter
+diff --git a/src/tool_operate.c b/src/tool_operate.c
+index 7ab815f..1e88120 100644
+--- a/src/tool_operate.c
++++ b/src/tool_operate.c
+@@ -576,41 +576,40 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
+ 
+           if((urlnode->flags & GETOUT_USEREMOTE)
+              && config->content_disposition) {
+-            /* Our header callback sets the filename */
++            /* Our header callback MIGHT set the filename */
+             DEBUGASSERT(!outs.filename);
+           }
+-          else {
+-            if(config->resume_from_current) {
+-              /* We're told to continue from where we are now. Get the size
+-                 of the file as it is now and open it for append instead */
+-              struct_stat fileinfo;
+-              /* VMS -- Danger, the filesize is only valid for stream files */
+-              if(0 == stat(outfile, &fileinfo))
+-                /* set offset to current file size: */
+-                config->resume_from = fileinfo.st_size;
+-              else
+-                /* let offset be 0 */
+-                config->resume_from = 0;
+-            }
+ 
+-            if(config->resume_from) {
+-              /* open file for output: */
+-              FILE *file = fopen(outfile, config->resume_from?"ab":"wb");
+-              if(!file) {
+-                helpf(config->errors, "Can't open '%s'!\n", outfile);
+-                res = CURLE_WRITE_ERROR;
+-                goto quit_urls;
+-              }
+-              outs.fopened = TRUE;
+-              outs.stream = file;
+-              outs.init = config->resume_from;
+-            }
+-            else {
+-              outs.stream = NULL; /* open when needed */
++          if(config->resume_from_current) {
++            /* We're told to continue from where we are now. Get the size
++               of the file as it is now and open it for append instead */
++            struct_stat fileinfo;
++            /* VMS -- Danger, the filesize is only valid for stream files */
++            if(0 == stat(outfile, &fileinfo))
++              /* set offset to current file size: */
++              config->resume_from = fileinfo.st_size;
++            else
++              /* let offset be 0 */
++              config->resume_from = 0;
++          }
++
++          if(config->resume_from) {
++            /* open file for output: */
++            FILE *file = fopen(outfile, config->resume_from?"ab":"wb");
++            if(!file) {
++              helpf(config->errors, "Can't open '%s'!\n", outfile);
++              res = CURLE_WRITE_ERROR;
++              goto quit_urls;
+             }
+-            outs.filename = outfile;
+-            outs.s_isreg = TRUE;
++            outs.fopened = TRUE;
++            outs.stream = file;
++            outs.init = config->resume_from;
++          }
++          else {
++            outs.stream = NULL; /* open when needed */
+           }
++          outs.filename = outfile;
++          outs.s_isreg = TRUE;
+         }
+ 
+         if(uploadfile && !stdin_upload(uploadfile)) {
+diff --git a/src/tool_operhlp.c b/src/tool_operhlp.c
+index 808d2d5..4c1697b 100644
+--- a/src/tool_operhlp.c
++++ b/src/tool_operhlp.c
+@@ -178,6 +178,24 @@ CURLcode get_url_file_name(char **filename, const char *url)
+         return CURLE_OUT_OF_MEMORY;
+     }
+   }
++
++  /* in case we built debug enabled, we allow an environment variable
++   * named CURL_TESTDIR to prefix the given file name to put it into a
++   * specific directory
++   */
++#ifdef DEBUGBUILD
++  {
++    char *tdir = curlx_getenv("CURL_TESTDIR");
++    if(tdir) {
++      char buffer[512]; /* suitably large */
++      snprintf(buffer, sizeof(buffer), "%s/%s", tdir, *filename);
++      Curl_safefree(*filename);
++      *filename = strdup(buffer); /* clone the buffer */
++      curl_free(tdir);
++    }
++  }
++#endif
++
+   return CURLE_OK;
+ }
+ 
+-- 
+1.7.7.3

Copied: curl/repos/testing-x86_64/PKGBUILD (from rev 147205, curl/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2012-01-24 17:51:49 UTC (rev 147206)
@@ -0,0 +1,66 @@
+# $Id$
+# Maintainer: Dave Reisner <dreisner at archlinux.org>
+# Contributor: Angel Velasquez <angvp at archlinux.org>
+# Contributor: Eric Belanger <eric at archlinux.org>
+# Contributor: Lucien Immink <l.immink at student.fnt.hvu.nl>
+# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
+
+pkgname=curl
+pkgver=7.24.0
+pkgrel=1
+pkgdesc="An URL retrival utility and library"
+arch=('i686' 'x86_64')
+url="http://curl.haxx.se"
+license=('MIT')
+depends=('ca-certificates' 'libssh2' 'openssl' 'zlib')
+options=('!libtool')
+source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc}
+        fix-J-with-O-regression.patch
+        curlbuild.h)
+md5sums=('b93420f80a2baaa61a0f45214eddc2ba'
+         '710242df6bc318d16eea611e7d1b1410'
+         'aa4539ec4f4a2dad1663dc22dd3ab0a1'
+         '751bd433ede935c8fae727377625a8ae')
+
+ptrsize=$(cpp <<<'__SIZEOF_POINTER__' | sed '/^#/d')
+case $ptrsize in
+  8) _curlbuild=curlbuild-64.h ;;
+  4) _curlbuild=curlbuild-32.h ;;
+  *) error "unknown pointer size for architecture: %s bytes" "$ptrsize"
+    exit 1
+    ;;
+esac
+
+build() {
+  cd "$pkgname-$pkgver"
+
+  ./configure \
+      --prefix=/usr \
+      --mandir=/usr/share/man \
+      --disable-dependency-tracking \
+      --disable-ldap \
+      --disable-ldaps \
+      --enable-ipv6 \
+      --enable-manual \
+      --enable-versioned-symbols \
+      --enable-threaded-resolver \
+      --without-libidn \
+      --with-random=/dev/urandom \
+      --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
+
+  make
+}
+
+package() {
+  cd "$pkgname-$pkgver"
+
+  make DESTDIR="$pkgdir" install
+
+  # license
+  install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+
+  # devel
+  install -Dm644 docs/libcurl/libcurl.m4 "$pkgdir/usr/share/aclocal/libcurl.m4"
+  mv "$pkgdir/usr/include/curl/curlbuild.h" "$pkgdir/usr/include/curl/$_curlbuild"
+  install -m644 "$srcdir/curlbuild.h" "$pkgdir/usr/include/curl/curlbuild.h"
+}

Copied: curl/repos/testing-x86_64/curlbuild.h (from rev 147205, curl/trunk/curlbuild.h)
===================================================================
--- testing-x86_64/curlbuild.h	                        (rev 0)
+++ testing-x86_64/curlbuild.h	2012-01-24 17:51:49 UTC (rev 147206)
@@ -0,0 +1,9 @@
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+#include "curlbuild-32.h"
+#elif __WORDSIZE == 64
+#include "curlbuild-64.h"
+#else
+#error "Unknown word size"
+#endif

Copied: curl/repos/testing-x86_64/fix-J-with-O-regression.patch (from rev 147205, curl/trunk/fix-J-with-O-regression.patch)
===================================================================
--- testing-x86_64/fix-J-with-O-regression.patch	                        (rev 0)
+++ testing-x86_64/fix-J-with-O-regression.patch	2012-01-24 17:51:49 UTC (rev 147206)
@@ -0,0 +1,142 @@
+From c532604b137cae2e2814280778f914e4cd0460d1 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel at haxx.se>
+Date: Sun, 20 Nov 2011 23:33:46 +0100
+Subject: [PATCH] -J -O: use -O name if no Content-Disposition header comes!
+
+A regression between 7.22.0 and 7.23.0 -- downloading a file with the
+flags -O and -J results in the content being written to stdout if and
+only if there was no Content-Disposition header in the http response. If
+there is a C-D header with a filename attribute, the output is correctly
+written.
+
+Reported by: Dave Reisner
+Bug: http://curl.haxx.se/mail/archive-2011-11/0030.html
+---
+ src/tool_cb_hdr.c      |    3 +-
+ src/tool_operate.c     |   59 ++++++++++++++++++++++----------------------
+ src/tool_operhlp.c     |   18 +++++++++++++
+ tests/data/Makefile.am |    2 +-
+ tests/data/test1210    |   63 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 112 insertions(+), 33 deletions(-)
+ create mode 100644 tests/data/test1210
+
+diff --git a/src/tool_cb_hdr.c b/src/tool_cb_hdr.c
+index fb24b45..dea7338 100644
+--- a/src/tool_cb_hdr.c
++++ b/src/tool_cb_hdr.c
+@@ -66,8 +66,7 @@ size_t tool_header_cb(void *ptr, size_t size, size_t nmemb, void *userdata)
+   }
+ #endif
+ 
+-  if(!outs->filename && (cb > 20) &&
+-    checkprefix("Content-disposition:", str)) {
++  if((cb > 20) && checkprefix("Content-disposition:", str)) {
+     const char *p = str + 20;
+ 
+     /* look for the 'filename=' parameter
+diff --git a/src/tool_operate.c b/src/tool_operate.c
+index 7ab815f..1e88120 100644
+--- a/src/tool_operate.c
++++ b/src/tool_operate.c
+@@ -576,41 +576,40 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
+ 
+           if((urlnode->flags & GETOUT_USEREMOTE)
+              && config->content_disposition) {
+-            /* Our header callback sets the filename */
++            /* Our header callback MIGHT set the filename */
+             DEBUGASSERT(!outs.filename);
+           }
+-          else {
+-            if(config->resume_from_current) {
+-              /* We're told to continue from where we are now. Get the size
+-                 of the file as it is now and open it for append instead */
+-              struct_stat fileinfo;
+-              /* VMS -- Danger, the filesize is only valid for stream files */
+-              if(0 == stat(outfile, &fileinfo))
+-                /* set offset to current file size: */
+-                config->resume_from = fileinfo.st_size;
+-              else
+-                /* let offset be 0 */
+-                config->resume_from = 0;
+-            }
+ 
+-            if(config->resume_from) {
+-              /* open file for output: */
+-              FILE *file = fopen(outfile, config->resume_from?"ab":"wb");
+-              if(!file) {
+-                helpf(config->errors, "Can't open '%s'!\n", outfile);
+-                res = CURLE_WRITE_ERROR;
+-                goto quit_urls;
+-              }
+-              outs.fopened = TRUE;
+-              outs.stream = file;
+-              outs.init = config->resume_from;
+-            }
+-            else {
+-              outs.stream = NULL; /* open when needed */
++          if(config->resume_from_current) {
++            /* We're told to continue from where we are now. Get the size
++               of the file as it is now and open it for append instead */
++            struct_stat fileinfo;
++            /* VMS -- Danger, the filesize is only valid for stream files */
++            if(0 == stat(outfile, &fileinfo))
++              /* set offset to current file size: */
++              config->resume_from = fileinfo.st_size;
++            else
++              /* let offset be 0 */
++              config->resume_from = 0;
++          }
++
++          if(config->resume_from) {
++            /* open file for output: */
++            FILE *file = fopen(outfile, config->resume_from?"ab":"wb");
++            if(!file) {
++              helpf(config->errors, "Can't open '%s'!\n", outfile);
++              res = CURLE_WRITE_ERROR;
++              goto quit_urls;
+             }
+-            outs.filename = outfile;
+-            outs.s_isreg = TRUE;
++            outs.fopened = TRUE;
++            outs.stream = file;
++            outs.init = config->resume_from;
++          }
++          else {
++            outs.stream = NULL; /* open when needed */
+           }
++          outs.filename = outfile;
++          outs.s_isreg = TRUE;
+         }
+ 
+         if(uploadfile && !stdin_upload(uploadfile)) {
+diff --git a/src/tool_operhlp.c b/src/tool_operhlp.c
+index 808d2d5..4c1697b 100644
+--- a/src/tool_operhlp.c
++++ b/src/tool_operhlp.c
+@@ -178,6 +178,24 @@ CURLcode get_url_file_name(char **filename, const char *url)
+         return CURLE_OUT_OF_MEMORY;
+     }
+   }
++
++  /* in case we built debug enabled, we allow an environment variable
++   * named CURL_TESTDIR to prefix the given file name to put it into a
++   * specific directory
++   */
++#ifdef DEBUGBUILD
++  {
++    char *tdir = curlx_getenv("CURL_TESTDIR");
++    if(tdir) {
++      char buffer[512]; /* suitably large */
++      snprintf(buffer, sizeof(buffer), "%s/%s", tdir, *filename);
++      Curl_safefree(*filename);
++      *filename = strdup(buffer); /* clone the buffer */
++      curl_free(tdir);
++    }
++  }
++#endif
++
+   return CURLE_OK;
+ }
+ 
+-- 
+1.7.7.3




More information about the arch-commits mailing list