diff options
author | Timo Teräs <timo.teras@iki.fi> | 2014-10-20 16:48:03 +0300 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2014-10-20 16:48:56 +0300 |
commit | 0d2a2b4e0793f56a78bc9589dd98b7303efb6d65 (patch) | |
tree | 3f39b19c8a1bc5e434458c0f39bee4c88aebd10c | |
parent | edbda7b9abf93a45e9d193e5fe5d1c2badb4fa50 (diff) | |
download | alpine_aports-0d2a2b4e0793f56a78bc9589dd98b7303efb6d65.tar.bz2 alpine_aports-0d2a2b4e0793f56a78bc9589dd98b7303efb6d65.tar.xz alpine_aports-0d2a2b4e0793f56a78bc9589dd98b7303efb6d65.zip |
main/libquvi: fix redirect handling
-rw-r--r-- | main/libquvi/APKBUILD | 15 | ||||
-rw-r--r-- | main/libquvi/fix-redirects.patch | 29 |
2 files changed, 39 insertions, 5 deletions
diff --git a/main/libquvi/APKBUILD b/main/libquvi/APKBUILD index 335e020406..47112a5483 100644 --- a/main/libquvi/APKBUILD +++ b/main/libquvi/APKBUILD | |||
@@ -2,7 +2,7 @@ | |||
2 | # Maintainer: Natanael Copa <ncopa@alpinelinux.org> | 2 | # Maintainer: Natanael Copa <ncopa@alpinelinux.org> |
3 | pkgname=libquvi | 3 | pkgname=libquvi |
4 | pkgver=0.9.4 | 4 | pkgver=0.9.4 |
5 | pkgrel=0 | 5 | pkgrel=1 |
6 | pkgdesc="library for parsing video download links" | 6 | pkgdesc="library for parsing video download links" |
7 | url="http://quvi.sourceforge.net/" | 7 | url="http://quvi.sourceforge.net/" |
8 | arch="all" | 8 | arch="all" |
@@ -12,7 +12,9 @@ depends_dev="libquvi-scripts-dev curl-dev lua5.1-dev" | |||
12 | makedepends="$depends_dev libproxy-dev glib-dev libgcrypt-dev" | 12 | makedepends="$depends_dev libproxy-dev glib-dev libgcrypt-dev" |
13 | install="" | 13 | install="" |
14 | subpackages="$pkgname-dev $pkgname-doc" | 14 | subpackages="$pkgname-dev $pkgname-doc" |
15 | source="http://downloads.sourceforge.net/project/quvi/${pkgver%.*}/libquvi/libquvi-$pkgver.tar.xz" | 15 | source="http://downloads.sourceforge.net/project/quvi/${pkgver%.*}/libquvi/libquvi-$pkgver.tar.xz |
16 | fix-redirects.patch | ||
17 | " | ||
16 | 18 | ||
17 | _builddir="$srcdir"/libquvi-$pkgver | 19 | _builddir="$srcdir"/libquvi-$pkgver |
18 | prepare() { | 20 | prepare() { |
@@ -42,6 +44,9 @@ package() { | |||
42 | rm -f "$pkgdir"/usr/lib/*.la | 44 | rm -f "$pkgdir"/usr/lib/*.la |
43 | } | 45 | } |
44 | 46 | ||
45 | md5sums="8e3f2134a6b3376934bd884b07dcdac5 libquvi-0.9.4.tar.xz" | 47 | md5sums="8e3f2134a6b3376934bd884b07dcdac5 libquvi-0.9.4.tar.xz |
46 | sha256sums="2d3fe28954a68ed97587e7b920ada5095c450105e993ceade85606dadf9a81b2 libquvi-0.9.4.tar.xz" | 48 | 5afe26b25eebe18d955552c7aafaa81a fix-redirects.patch" |
47 | sha512sums="287015e370e7b7f98f0f4c3717f5b044c8fcfb8b823c7988cd248e56b5fbbfa1a1aa421fbdafb38d727b79495267ccd4dead71587052117db53f29236268b651 libquvi-0.9.4.tar.xz" | 49 | sha256sums="2d3fe28954a68ed97587e7b920ada5095c450105e993ceade85606dadf9a81b2 libquvi-0.9.4.tar.xz |
50 | b1367607d46f12c9dae705c9c4a141c2aa8cd04864d740c6cf5284bbd852a0f2 fix-redirects.patch" | ||
51 | sha512sums="287015e370e7b7f98f0f4c3717f5b044c8fcfb8b823c7988cd248e56b5fbbfa1a1aa421fbdafb38d727b79495267ccd4dead71587052117db53f29236268b651 libquvi-0.9.4.tar.xz | ||
52 | 1c1152361fc4767ef6411130d2b39681d7e3dcdffe419da78199193902429c7e31075fd2ef3c13309f4d60de66dc821321dc4d83a5d4a136eea625c349754e62 fix-redirects.patch" | ||
diff --git a/main/libquvi/fix-redirects.patch b/main/libquvi/fix-redirects.patch new file mode 100644 index 0000000000..d6352947e1 --- /dev/null +++ b/main/libquvi/fix-redirects.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | Do not use Effective URL if no redirections happened. This fixes to not | ||
2 | drop 'fragment' part of the URL that some services need to identify the | ||
3 | media to play. | ||
4 | |||
5 | diff -ru libquvi-0.9.4.orig/src/curl/resolve.c libquvi-0.9.4/src/curl/resolve.c | ||
6 | --- libquvi-0.9.4.orig/src/curl/resolve.c 2013-11-04 14:55:25.000000000 -0200 | ||
7 | +++ libquvi-0.9.4/src/curl/resolve.c 2014-10-20 16:36:38.493630381 -0300 | ||
8 | @@ -61,10 +61,17 @@ | ||
9 | |||
10 | if (curlcode == CURLE_OK && r->status.resp_code == 200) | ||
11 | { | ||
12 | - gchar *u = NULL; | ||
13 | - curl_easy_getinfo(c, CURLINFO_EFFECTIVE_URL, &u); | ||
14 | - /* Leave comparison for resolve_redirections.lua */ | ||
15 | - g_string_assign(r->url.dst, u); | ||
16 | + long count = 0; | ||
17 | + curl_easy_getinfo(c, CURLINFO_REDIRECT_COUNT, &count); | ||
18 | + if (count > 0) | ||
19 | + { | ||
20 | + gchar *u = NULL; | ||
21 | + curl_easy_getinfo(c, CURLINFO_EFFECTIVE_URL, &u); | ||
22 | + /* Leave comparison for resolve_redirections.lua */ | ||
23 | + g_string_assign(r->url.dst, u); | ||
24 | + } | ||
25 | + else | ||
26 | + g_string_assign(r->url.dst, r->url.addr->str); | ||
27 | } | ||
28 | else | ||
29 | { | ||