Source: devscripts
Version: 2.20.3
X-Debbugs-CC: y...@debian.org

Hello, looks like ghc watch file is not able to work anymore

version=3
opts="pgpsigurlmangle=s/$/.sig/,dirversionmangle=s/-rc/~rc/,repacksuffix=+dfsg1,dversionmangle=s/\+dfsg\d*$//"
 \
https://downloads.haskell.org/~ghc/(\d[\d.rc-]*)/ghc-(\d[\d.]*)-src.tar.(?:bz2|xz|gz)


the problem is that the https://downloads.haskell.org/~ghc/ page is configured 
to send gzipped content
(something that browsers handle natively).

I'm not able to speak perl, but I crafted a "fake patch" that worked for me to 
grab the new version, and I would like to share it with you.
(note: I was not able to gunzip a buffer variable, so I saved the content into 
a file and loaded it from there, sorry but my perl-foo is really NULL)

This is a POC that works for ghc, but of course it needs to be changed to 
selectively allow gzipped content via configuration switch, or by detecting the 
type of received stream, or something else


diff -Nru devscripts-2.20.3/lib/Devscripts/Uscan/http.pm 
devscripts-2.20.4/lib/Devscripts/Uscan/http.pm
--- devscripts-2.20.3/lib/Devscripts/Uscan/http.pm      2020-04-25 
21:01:45.000000000 +0200
+++ devscripts-2.20.4/lib/Devscripts/Uscan/http.pm      2020-04-25 
21:15:48.000000000 +0200
@@ -6,6 +6,7 @@
 use Devscripts::Uscan::Utils;
 use Devscripts::Uscan::_xtp;
 use Moo::Role;
+use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ;
 
 *http_newfile_base = \&Devscripts::Uscan::_xtp::_xtp_newfile_base;
 
@@ -239,6 +240,12 @@
     }
 
     my $content = $response->content;
+    open(FH, '>', '/tmp/content') or die $!;
+    print FH $content;
+    close(FH);
+
+    my $input = new IO::File "< /tmp/content";
+    gunzip $input => \$content;
     uscan_debug
       "received content:\n$content\n[End of received content] by HTTP";
 

Reply via email to