guix-devel/guix/scripts
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.scm ui: Add `args-fold*' and use it. 2013-04-27 16:46:39 +02:00
download.scm ui: Add `args-fold*' and use it. 2013-04-27 16:46:39 +02:00
gc.scm ui: Add `args-fold*' and use it. 2013-04-27 16:46:39 +02:00
hash.scm tests: Add `guix hash' test. 2013-05-11 15:09:56 +02:00
import.scm ui: Add `args-fold*' and use it. 2013-04-27 16:46:39 +02:00
package.scm package: Always clear the SIGINT handler. 2013-05-14 23:52:13 +02:00
pull.scm ui: Add `args-fold*' and use it. 2013-04-27 16:46:39 +02:00
refresh.scm refresh: Add `--key-server' and `--gpg'. 2013-05-11 14:36:58 +02:00
substitute-binary.scm substitute-binary: Pass `filtered-port' an unbuffered port. 2013-05-15 23:40:09 +02:00