From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:1008:1e59::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms1.migadu.com with LMTPS id IAPrD1JrW2ZM2AAAA41jLg (envelope-from ) for ; Sat, 01 Jun 2024 20:41:22 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id GD+eClJrW2bY9AAA62LTzQ (envelope-from ) for ; Sat, 01 Jun 2024 20:41:22 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=none ("invalid DKIM record") header.d=freakingpenguin.com header.s=x header.b=SvqBA0SM; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1717267282; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=cPYm57D9oDlRWVTypfXkF82qqliKZ7rUMbMszWiWbzg=; b=EUUfDkqPW6S2EaluSgX4/XFPE79AosAdOACjiDzqAlxzOFwm1XhiY8/u6EgmpPwBFEqgpy f2hg1lrN4c6zgRSElc/ek347YCMQWhsGeLlrlcuX7c/WsVwu9ThXJ/m4ngrGpMqt78BoX4 PM9+hHj2vQbUgB7bMdwyev8zrPDtvttho6V0ECypA2b3VpFD7kFQDTGaFsIpSDG10egtm4 770Cjcu2U8DGeUEnUhQJXLof5RYKPUTJzAdUjN0uIje15mghvNJ81q/xt9KT+J/skTK4OV ojHLIiC4mNyIFaZyWGM2obZd249xHmaV/UqkJDMus3hlV9AVpgDtb8xMXMDNtQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none ("invalid DKIM record") header.d=freakingpenguin.com header.s=x header.b=SvqBA0SM; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1717267282; a=rsa-sha256; cv=none; b=h28gpGJF8YN6rxGGdkV9x/FwKFgXZPhqR1D+the0Hdld8WL8M+gp30yWtrfpH9Lr0xDO9x ajEpC8DD3qT/7wVTqW2jr96GEcSIpY6NVDogvGLxP1l0hA8fhSdU3kylVxRqukvfG6ksLa rShkC7hZ0+mpZrKPkSmm333/UA7ee43IyM76c9wKnDn8TvRn+QdAXAxcx/eQZfN6++vYyN flh4LC02hAb0/SlnNos6xmAz3fr07WB1MgSy1mOVyLdyQ1BZKnYl/zQSKnfkSGh34lbzzo neRDFZaXMZHadLtVeKlkCAd6O+QIbv3mnIcyKR/8HkOpuB7De4I6WjGhIPTsKg== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id CED9623F50 for ; Sat, 1 Jun 2024 20:41:21 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sDTeu-0001QU-NC; Sat, 01 Jun 2024 14:40:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sDTes-0001Pr-JK for bug-guix@gnu.org; Sat, 01 Jun 2024 14:40:50 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sDTes-0003Tx-B1 for bug-guix@gnu.org; Sat, 01 Jun 2024 14:40:50 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sDTf3-0005LQ-QX for bug-guix@gnu.org; Sat, 01 Jun 2024 14:41:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#71299: Investigation References: <87ikyt8wfr.fsf@freakingpenguin.com> In-Reply-To: <87ikyt8wfr.fsf@freakingpenguin.com> Resent-From: Richard Sent Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 01 Jun 2024 18:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71299 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71299@debbugs.gnu.org Received: via spool by 71299-submit@debbugs.gnu.org id=B71299.171726722520493 (code B ref 71299); Sat, 01 Jun 2024 18:41:01 +0000 Received: (at 71299) by debbugs.gnu.org; 1 Jun 2024 18:40:25 +0000 Received: from localhost ([127.0.0.1]:57399 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sDTeS-0005KT-TP for submit@debbugs.gnu.org; Sat, 01 Jun 2024 14:40:25 -0400 Received: from mail-108-mta11.mxroute.com ([136.175.108.11]:37651) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sDTeQ-0005KE-NG for 71299@debbugs.gnu.org; Sat, 01 Jun 2024 14:40:23 -0400 Received: from filter006.mxroute.com ([136.175.111.3] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta11.mxroute.com (ZoneMTA) with ESMTPSA id 18fd51a0ced000e2b6.001 for <71299@debbugs.gnu.org> (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Sat, 01 Jun 2024 18:40:05 +0000 X-Zone-Loop: fa16059d81f9e63e5bc6e223a39a19e8b988a005b3b7 X-Originating-IP: [136.175.111.3] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=freakingpenguin.com; s=x; h=Content-Type:MIME-Version:Message-ID:Date: Subject:To:From:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=cPYm57D9oDlRWVTypfXkF82qqliKZ7rUMbMszWiWbzg=; b=SvqBA0SMMdpQZOmYfhMSRitshB +wnHiIB6wFuwOoAc5aUnqPU+yyXXYLvCUxCmsY+oSJoDS4NFnq28FU8+No6xVJ3OIoLjkiKhct2fy D3YB1yL7Neye2FMepriNb9S/gLoaZd+nmsv13xr6bXidUCYxAD6oz++XFbWiNs6QjAKfLuP6CC+cm 2pJCNOPIVBX+Us3iqH+LucI/+cw65GEp7inPYetIKPGvf3tR3tP+XeUdU6VFoOgSlk07sR94xGl+l 1Iigq1LZdhyMxyQsrVi9IN8ZE2tHTf0g4qij6TYyuo5o7Ye1UDaegP22JPW0i5K5PZRSdYoGcCTDa o/S6HfNQ==; From: Richard Sent Date: Sat, 01 Jun 2024 14:39:55 -0400 Message-ID: <87a5k48q2s.fsf@freakingpenguin.com> MIME-Version: 1.0 Content-Type: text/plain X-Authenticated-Id: richard@freakingpenguin.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: bug-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Spam-Score: -6.34 X-Migadu-Queue-Id: CED9623F50 X-Migadu-Scanner: mx10.migadu.com X-Migadu-Spam-Score: -6.34 X-TUID: Ro6trlW9ylHz Hi Guix! I started looking into this problem and unfortunately it looks like it might be more complicated than I thought. My initial thought was having two progress-reporters and selecting on based on a simple conditional if current-error-port was a tty or not. This would be in guix/scripts/substitute. Unfortunately, this might be a bit more challenging. Unlike the other scripts, guix/scripts/substitute is invoked by the daemon directly. Furthermore, it isn't passed a file descriptor to the invokers stderr. Instead, it goes through the build daemon. See nix/libstore/local-store.cc:LocalStore::getLineFromSubstituter. >From my testing calling istty? on that error port always returns #f, ergo the "simple" progress-reporter is always used and we lose the interactive progress bars. Testing this is also a pain as well because it involves changing the build daemon. In my experience the easiest way is: 1. Change the commit field for the guix package in package-management.scm to the commit you want to check 2. Update the url field for the guix package to "file:///path/to/guix/clone" 3. Forcefully disable authentication in guix/build-system/channel.scm 4. Generate an installer image via $ ./pre-inst-env guix system image gnu/system/install.scm --image-type=iso9660, then boot from that image and observe the output. So, that leaves two options that I can see: 1. The daemon stops capturing stderr from the substituter and merely passes it the daemon's stderr. 1. Challenging to get right and this may have unforseen consequences. Two processes writing freely to the same output at once is a bad idea. 2. The daemon has a isatty? check and sets a flag for the build agent which is passed along to scripts/substitute. -- Take it easy, Richard Sent Making my computer weirder one commit at a time.