guix-devel/guix
Ludovic Courtès 101d9f3fd4 substitute-binary: Pass `filtered-port' an unbuffered port.
This fixes a bug whereby `read-response' would read more than just the
response, with the extra data going into the port's buffer; the
"bzip2 -dc" process spawned by `filtered-port' would not see the those
buffered data, which are definitely lost, and would bail out with
"bzip2: (stdin) is not a bzip2 file."

* guix/utils.scm (filtered-port): Document that INPUT must be
  unbuffered.
* guix/web.scm (http-fetch): Add `buffered?' parameter.  Call
  `open-socket-for-uri' explicitly, and call `setvbuf' when BUFFERED? is
  false.  Pass the port to `http-get'.  Close it upon 301/302.
* guix/scripts/substitute-binary.scm (fetch): Add `buffered?'
  parameter.  Pass it to `http-fetch'; honor it for `file' URIs.
  (guix-substitute-binary): Call `fetch' with #:buffered? #f for port RAW.
* tests/utils.scm ("filtered-port, file"): Open FILE as unbuffered.
2013-05-15 23:40:09 +02:00
..
build download: Fix premature socket close on TLS connections. 2013-05-10 01:14:25 +02:00
build-system Add 'python-build-system'. 2013-05-08 22:46:12 +00:00
scripts substitute-binary: Pass `filtered-port' an unbuffered port. 2013-05-15 23:40:09 +02:00
base32.scm Update license headers. 2013-01-06 00:47:50 +01:00
build-system.scm Move record utilities to (guix records). 2013-05-12 15:46:16 +02:00
config.scm.in substitute-binary: Implement `--substitute'. 2013-04-12 21:58:47 +02:00
derivations.scm scripts: Report what will be substituted. 2013-04-17 00:08:21 +02:00
download.scm Merge branch 'master' into core-updates 2013-04-26 16:43:08 +02:00
ftp-client.scm ftp-client: Let callers handle `ftp-open' exceptions. 2013-05-14 23:51:36 +02:00
gnu-maintenance.scm Move record utilities to (guix records). 2013-05-12 15:46:16 +02:00
gnupg.scm gnupg: Turn the GPG command name and keyserver into parameters. 2013-05-11 14:32:20 +02:00
licenses.scm licenses: Add 'x11-style'. 2013-03-06 20:40:11 +00:00
nar.scm nar: Add support for symlinks. 2013-04-12 21:58:47 +02:00
packages.scm Move record utilities to (guix records). 2013-05-12 15:46:16 +02:00
records.scm Move record utilities to (guix records). 2013-05-12 15:46:16 +02:00
serialization.scm Add (guix nar) and (guix serialization). 2013-04-12 21:57:58 +02:00
snix.scm snix: Prefer synopses from the Womb rather than from Nixpkgs. 2013-04-20 11:52:50 +02:00
store.scm daemon: Gracefully handle cases where the daemon does not return a status code. 2013-04-20 10:53:31 +02:00
ui.scm Sort commands alphabetically in "guix --help". 2013-05-14 13:37:53 +02:00
utils.scm substitute-binary: Pass `filtered-port' an unbuffered port. 2013-05-15 23:40:09 +02:00
web.scm substitute-binary: Pass `filtered-port' an unbuffered port. 2013-05-15 23:40:09 +02:00