diff options
Diffstat (limited to 'abs')
-rw-r--r-- | abs/core/wget/PKGBUILD | 21 | ||||
-rw-r--r-- | abs/core/wget/wget-1.16-fix-test-proxied-https-auth.patch | 89 |
2 files changed, 102 insertions, 8 deletions
diff --git a/abs/core/wget/PKGBUILD b/abs/core/wget/PKGBUILD index d218e4e..c531535 100644 --- a/abs/core/wget/PKGBUILD +++ b/abs/core/wget/PKGBUILD @@ -2,23 +2,28 @@ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=wget -pkgver=1.15 -pkgrel=1 +pkgver=1.16 +pkgrel=2 pkgdesc="A network utility to retrieve files from the Web" arch=('i686' 'x86_64') url="http://www.gnu.org/software/wget/wget.html" license=('GPL3') -depends=('openssl' 'libidn' 'util-linux') -checkdepends=('perl-http-daemon' 'perl-io-socket-ssl') +depends=('openssl' 'libidn' 'libutil-linux') +checkdepends=('perl-http-daemon' 'perl-io-socket-ssl' 'python') optdepends=('ca-certificates: HTTPS downloads') backup=('etc/wgetrc') install=wget.install -source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig}) -sha1sums=('e9fb1d25fa04f9c69e74e656a3174dca02700ba1' - 'SKIP') +source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig} + wget-1.16-fix-test-proxied-https-auth.patch) +sha1sums=('08d991acc80726abe57043a278f9da469c454503' + 'SKIP' + 'a324d1910a6440552a3745c873da9e3dff7d7ec9') prepare() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${pkgname}-${pkgver} + patch -p1 -i "${srcdir}/wget-1.16-fix-test-proxied-https-auth.patch" + sed -i 's/--no-check-certificate/& --no-http-keep-alive/' \ + tests/Test-proxied-https-auth.px cat >> doc/sample.wgetrc <<EOF # default root certs location diff --git a/abs/core/wget/wget-1.16-fix-test-proxied-https-auth.patch b/abs/core/wget/wget-1.16-fix-test-proxied-https-auth.patch new file mode 100644 index 0000000..4d38744 --- /dev/null +++ b/abs/core/wget/wget-1.16-fix-test-proxied-https-auth.patch @@ -0,0 +1,89 @@ +From 3eff3ad69a46364475e1f4abdf9412cfa87e3d6c Mon Sep 17 00:00:00 2001 +From: Tim Rühsen <tim.ruehsen@gmx.de> +Date: Tue, 28 Oct 2014 10:40:34 +0000 +Subject: synchronize client and server in Test-proxied-https-auth.px + +--- +(limited to 'tests/Test-proxied-https-auth.px') + +diff --git a/tests/Test-proxied-https-auth.px b/tests/Test-proxied-https-auth.px +index cc987ff..272003f 100755 +--- a/tests/Test-proxied-https-auth.px ++++ b/tests/Test-proxied-https-auth.px +@@ -49,12 +49,15 @@ sub get_request { + } + + sub do_server { ++ my ($synch_callback) = @_; + my $alrm = alarm 10; +- + my $s = $SOCKET; + my $conn; + my $rqst; + my $rspn; ++ ++ $synch_callback->(); ++ + for my $expect_inner_auth (0, 1) { + $conn = $s->accept; + $rqst = $conn->get_request; +@@ -90,7 +93,7 @@ sub do_server { + Connection => 'close' + ]); + $rspn->protocol('HTTP/1.0'); +- print $rspn->as_string; ++ print STDERR $rspn->as_string; + print $conn $rspn->as_string; + } else { + die "No proxied auth\n" unless $rqst->header('Authorization'); +@@ -100,9 +103,9 @@ sub do_server { + 'Connection' => 'close', + ], "foobarbaz\n"); + $rspn->protocol('HTTP/1.0'); +- print "=====\n"; +- print $rspn->as_string; +- print "\n=====\n"; ++ print STDERR "=====\n"; ++ print STDERR $rspn->as_string; ++ print STDERR "\n=====\n"; + print $conn $rspn->as_string; + } + $conn->close; +@@ -113,18 +116,29 @@ sub do_server { + } + + sub fork_server { +- my $pid = fork; +- die "Couldn't fork" if ($pid < 0); +- return $pid if $pid; ++ pipe(FROM_CHILD, TO_PARENT) or die "Cannot create pipe!"; ++ select((select(TO_PARENT), $| = 1)[0]); ++ ++ my $pid = fork(); ++ if ($pid < 0) { ++ die "Cannot fork"; ++ } elsif ($pid == 0) { ++ # child ++ close FROM_CHILD; ++ do_server(sub { print TO_PARENT "SYNC\n"; close TO_PARENT }); ++ } else { ++ # parent ++ close TO_PARENT; ++ chomp(my $line = <FROM_CHILD>); ++ close FROM_CHILD; ++ } + +- &do_server; +- exit; ++ return $pid; + } + + system ('rm -f needs-auth.txt'); + my $pid = &fork_server; + +-sleep 1; + my $cmdline = $WgetTest::WGETPATH . " --user=fiddle-dee-dee" + . " --password=Dodgson -e https_proxy=localhost:{{port}}" + . " --no-check-certificate" +-- +cgit v0.9.0.2 |