> <meta name='robots' content='noindex, nofollow'/> <link rel='stylesheet' type='text/css' href='/cgit-static/cgit.css'/> <link rel='stylesheet' type='text/css' href='/cgit-static/better-cgit-markdown-heading-color.css'/> <link rel='shortcut icon' href='/cgit-static/favicon.ico'/> <link rel='alternate' title='Atom feed' href='https://git.koszko.org/guix/atom/tests/status.scm?h=koszko' type='application/atom+xml'/> </head> <body> <div id='cgit'><table id='header'> <tr> <td class='logo' rowspan='2'><a href='/'><img src='https://git.koszko.org/cgit-static/cgit.png' alt='cgit logo'/></a></td> <td class='main'><a href='/'>index</a> : <a href='/guix/'>guix</a></td><td class='form'><form method='get'> <input type='hidden' name='id' value='a30627d82bd53ab048410586d44ba1debc1d1010'/><input type='hidden' name='showmsg' value='1'/><select name='h' onchange='this.form.submit();'> <option value='koszko' selected='selected'>koszko</option> <option value='koszko-scripts'>koszko-scripts</option> </select> <input type='submit' value='switch'/></form></td></tr> <tr><td class='sub'>Wojtek's customized Guix</td><td class='sub right'></td></tr></table> <table class='tabs'><tr><td> <a href='/guix/about/'>about</a><a href='/guix/'>summary</a><a href='/guix/refs/?id=a30627d82bd53ab048410586d44ba1debc1d1010'>refs</a><a class='active' href='/guix/log/tests/status.scm?showmsg=1'>log</a><a href='/guix/tree/tests/status.scm?id=a30627d82bd53ab048410586d44ba1debc1d1010'>tree</a><a href='/guix/commit/tests/status.scm?id=a30627d82bd53ab048410586d44ba1debc1d1010'>commit</a><a href='/guix/diff/tests/status.scm?id=a30627d82bd53ab048410586d44ba1debc1d1010'>diff</a></td><td class='form'><form class='right' method='get' action='/guix/log/tests/status.scm'> <input type='hidden' name='id' value='a30627d82bd53ab048410586d44ba1debc1d1010'/><input type='hidden' name='showmsg' value='1'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/guix/log/?id=a30627d82bd53ab048410586d44ba1debc1d1010&showmsg=1'>root</a>/<a href='/guix/log/tests?id=a30627d82bd53ab048410586d44ba1debc1d1010&showmsg=1'>tests</a>/<a href='/guix/log/tests/status.scm?id=a30627d82bd53ab048410586d44ba1debc1d1010&showmsg=1'>status.scm</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/guix/log/tests/status.scm?id=a30627d82bd53ab048410586d44ba1debc1d1010'>Collapse</a>)</th><th class='left'>Author</th></tr> <tr class='logheader'><td><span title='2019-02-05 12:03:25 +0100'>2019-02-05</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=ba514b601ba6be15b823e0a12d4b6e42f9d2489e'>status: Keep track of the current build phase.</a></td><td>Ludovic Courtès</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> * guix/status.scm (<build>)[phase]: New field. (%phase-start-rx): New variable. (update-build): Add clause to match %PHASE-START-RX and adjust the 'phase' field accordingly. * tests/status.scm ("compute-status, build phase"): Add test </td></tr> <tr class='logheader'><td><span title='2019-01-29 12:09:52 +0100'>2019-01-29</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=73a8681a16869a2b3a9da1c7ba9434e07a204e19'>status: Keep track of build completion as reported by build tools.</a></td><td>Ludovic Courtès</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> * guix/status.scm (<build>)[completion]: New field. (build): Add #:completion parameter. (%percentage-line-rx, %fraction-line-rx): New variables. (update-build): New procedure. (compute-status): Add 'build-log' case. * tests/status.scm ("compute-status, build completion"): New test. </td></tr> <tr class='logheader'><td><span title='2019-01-29 12:09:52 +0100'>2019-01-29</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=976ef2d97887d16eab8d4eb9dad811786b04d690'>status: Record more information about builds.</a></td><td>Ludovic Courtès</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> * guix/status.scm (<build>): New record type. (build, matching-build): New procedures. (compute-status): Adjust to manipulate <build> records instead of derivation file names in 'build-status-builds-completed' and 'build-status-building'. (build-event-output-port)[process-line]: Use 'string-split' to preserve spaces. * tests/status.scm ("compute-status, builds + substitutes") ("compute-status, missing events"): Adjust to expect <build> records. Produce complete "build-started" events. ("compute-status, multiplexed build output"): Likewise, and remove "bar.drv" from 'builds-completed'. </td></tr> <tr class='logheader'><td><span title='2019-01-09 14:47:53 +0100'>2019-01-09</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=a65177a657b0cb36d45f2e8db574ea9c10f89a1f'>maint: Remove 'cond-expand' forms for Guile 2.0.</a></td><td>Ludovic Courtès</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> Note: Leave 'cond-expand' forms used in the build-side modules that can run on %BOOTSTRAP-GUILE, which is currently Guile 2.0. * guix/build/compile.scm: Move 'use-modules' clause from 'cond-expand' to 'define-module' form. (%default-optimizations): Remove 'cond-expand'. * guix/build/download.scm (tls-wrap): Remove 'cond-expand'. * guix/build/syscalls.scm: Remove 'cond-expand' form around '%set-automatic-finalization-enabled?!' and 'without-automatic-finalization'. * guix/inferior.scm (port->inferior): Remove 'cond-expand'. * guix/scripts/pack.scm (wrapped-package)[build]: Remove 'cond-expand'. * guix/status.scm (build-event-output-port): Remove 'cond-expand'. * guix/store.scm (open-inet-socket): Remove 'cond-expand'. * guix/ui.scm (install-locale): Remove 'cond-expand'. * tests/status.scm ("current-build-output-port, UTF-8 + garbage"): Remove 'cond-expand'. * tests/store.scm ("current-build-output-port, UTF-8 + garbage"): Remove 'cond-expand'. </td></tr> <tr class='logheader'><td><span title='2018-10-16 17:12:09 -0500'>2018-10-16</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=278f86a43f1561b1c064ce88da012db414ec7efc'>ui: Fix port-buffering with guile@2.0.</a></td><td>Eric Bavier</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> * guix/status.scm (build-event-output-port)[guile@2.0]: Do not call 'setvbuf' on custom binary port. * tests/status.scm (current-build-output-port, UTF-8 + garbage)[guile@2.0]: Use "?" in place of REPLACEMENT CHARACTER. </td></tr> <tr class='logheader'><td><span title='2018-10-15 23:06:55 +0200'>2018-10-15</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=f9a8fce10f2d99efec7cb1dd0f6c5f0df9d1b2df'>status: Build upon multiplexed build output.</a></td><td>Ludovic Courtès</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> This allows for more accurate status tracking and parsing of extended build traces. * guix/status.scm (multiplexed-output-supported?): New procedure. (print-build-event): Don't print \r when PRINT-LOG? is true. Adjust 'build-log' handling for when 'multiplexed-output-supported?' returns true. (bytevector-index, split-lines): New procedures. (build-event-output-port)[%build-output-pid, %build-output] [%build-output-left]: New variables. [process-line]: Handle "@ build-output" traces. [process-build-output]: New procedure. [write!]: Add case for when %BUILD-OUTPUT-PID is true. Use 'bytevector-index' rather than 'string-index'. (compute-status): Add #:derivation-path->output-path. Use it. * tests/status.scm ("compute-status, multiplexed build output"): New test. ("build-output-port, UTF-8") ("current-build-output-port, UTF-8 + garbage"): Adjust to new 'build-log' output. * guix/scripts/build.scm (set-build-options-from-command-line): Pass #:multiplexed-build-output?. (%default-options): Add 'multiplexed-build-output?'. * guix/scripts/environment.scm (%default-options): Likewise. * guix/scripts/pack.scm (%default-options): Likewise. * guix/scripts/package.scm (%default-options): Likewise. * guix/scripts/pull.scm (%default-options): Likewise. * guix/scripts/system.scm (%default-options): Likewise. </td></tr> <tr class='logheader'><td><span title='2018-10-09 18:54:12 +0200'>2018-10-09</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=fe17037b387c6eca0c45f0526d2761e982a192bb'>status: Gracefully handle invalid UTF-8 in build logs.</a></td><td>Ludovic Courtès</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> * guix/status.scm (maybe-utf8->string): New procedure. (build-event-output-port): Use it in lieu of 'utf8->string'. * tests/status.scm ("build-output-port, UTF-8") ("current-build-output-port, UTF-8 + garbage"): New tests. </td></tr> <tr class='logheader'><td><span title='2018-09-27 23:21:53 +0200'>2018-09-27</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=dc0f74e5fc26977a3ee6c4f2aa74a141f4359982'>Add (guix status) and use it for pretty colored output.</a></td><td>Ludovic Courtès</td></tr> <tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'> * guix/progress.scm (progress-reporter/trace): New procedure. (%progress-interval): New variable. (progress-reporter/file): Use it. * guix/scripts/build.scm (set-build-options-from-command-line): Pass #:print-extended-build-trace?. (%default-options): Add 'print-extended-build-trace?'. (guix-build): Parameterize CURRENT-TERMINAL-COLUMNS. Use 'build-status-updater'. * guix/scripts/environment.scm (%default-options): Add 'print-extended-build-trace?'. (guix-environment): Wrap body in 'with-status-report'. * guix/scripts/pack.scm (%default-options): Add 'print-build-trace?' and 'print-extended-build-trace?'. (guix-pack): Wrap body in 'with-status-report'. * guix/scripts/package.scm (%default-options, guix-package): Likewise. * guix/scripts/system.scm (%default-options, guix-system): Likewise. * guix/scripts/pull.scm (%default-options, guix-pull): Likewise. * guix/scripts/substitute.scm (progress-report-port): Don't call STOP when TOTAL is zero. (process-substitution): Add #:print-build-trace? and honor it. (guix-substitute)[print-build-trace?]: New variable. Pass #:print-build-trace? to 'process-substitution'. * guix/status.scm: New file. * guix/store.scm (set-build-options): Add #:print-extended-build-trace?; pass it into PAIRS. (%protocol-version): Bump. (protocol-version, nix-server-version): New procedures. (current-store-protocol-version): New variable. (with-store, build-things): Parameterize it. * guix/ui.scm (build-output-port): Remove. (colorize-string): Export. * po/guix/POTFILES.in: Add guix/status.scm. * tests/status.scm: New file. * Makefile.am (SCM_TESTS): Add it. * nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0x162. * nix/libstore/build.cc (DerivationGoal::registerOutputs) (SubstitutionGoal::finished): Print a "@ hash-mismatch" trace before throwing. </td></tr>