From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id wDQOJXuPoV8LDAAA0tVLHw (envelope-from ) for ; Tue, 03 Nov 2020 17:12:27 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id ME0RIXuPoV98UwAA1q6Kng (envelope-from ) for ; Tue, 03 Nov 2020 17:12:27 +0000 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 0E64894065D for ; Tue, 3 Nov 2020 17:12:26 +0000 (UTC) Received: from localhost ([::1]:60888 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZzr7-0000Pa-Nb for larch@yhetil.org; Tue, 03 Nov 2020 12:12:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54868) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kZzqz-0000PC-0D for guix-devel@gnu.org; Tue, 03 Nov 2020 12:12:17 -0500 Received: from mail-pg1-x52b.google.com ([2607:f8b0:4864:20::52b]:38416) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kZzqw-0003gr-FZ for guix-devel@gnu.org; Tue, 03 Nov 2020 12:12:16 -0500 Received: by mail-pg1-x52b.google.com with SMTP id i26so14163407pgl.5 for ; Tue, 03 Nov 2020 09:12:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asu-edu.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=u5tz18j/h3bfuo6wLNVVDNmrGzrGZbuZdlwzCBwLYqM=; b=zvBJYvOs7Q5qra7si8JkKUJXswI5UcUFKLiunvUuz3pY9C5ZCHfYlmcQO3K0p6bSEd xEO0oNwZrcjVDzxZpLGdPnyj14WD91W3lE3cWRsPDmDXQsCbkApeCoR9QpSaCJoL4qi9 fMMd/f7cB9Rxkxcc+mXVC8y4Vm96Wblgpwqy1z8dM7MGjL1KM0osQqLkYEGmG1uw90p1 x6ZjViGWVyUVd5y5F2jJZ36AWgHL3pcjETTwii4p69qC5ZRp2ujSMyYSSdbLVrZuBvoD hmFCBNa7l6HbyDftr7xKWFAKEhnqJiycwZn/6w1Hpwjk138Jnm1yMyGyMpnIoYnmQdIO 5S6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=u5tz18j/h3bfuo6wLNVVDNmrGzrGZbuZdlwzCBwLYqM=; b=rUbNg0ODzcFkEuRQGH3mdX5h2Uuf+eBRSrxqZuqOPhSZBcGwc9DPS98mMpWstWGt1T lg1dB44MVkTFz7PW9nup2SVP31TqXn7954GZjHMonTWhZZTROG9w1VMqsodBn7XIHKQV VZ01zdp1m9uXi8/t6xen6xtXRyxuLmrgCVvfWWWWEcmwQpcb6KzcJFP0U0+5yFMbO22P lITkChB4ZjSpV/FTnA8a81TfTJL+RYB8PqOQGTHNbajGoM7fudl1i+S8VFXcwG4NgfTF OnwRQ6p12ev/rzPXnegmI/PfRt48PwCdpShTOAYOt2axJaicdTUCzAAcFx+B04IZps9M SqsA== X-Gm-Message-State: AOAM530X3c+f/fN+1Xa/k6g4xcR6277PhnhN2Kc4HAnKVqJJL46C64kM ggy2RW84MC4ZcCv7Q2zUkPl19jbvEpNcKw== X-Google-Smtp-Source: ABdhPJwudhBN6FhlB5+p/9p86g1Tz4F76CfB3KDVjq/fv0RHIw4Wh1E/MckiS49qm2+OL4CHNcvJkQ== X-Received: by 2002:aa7:8e8c:0:b029:160:9de:1943 with SMTP id a12-20020aa78e8c0000b029016009de1943mr26634932pfr.32.1604423532474; Tue, 03 Nov 2020 09:12:12 -0800 (PST) Received: from ecenter ([2600:1700:83b0:8bd0::7a8]) by smtp.gmail.com with ESMTPSA id a20sm2706216pff.118.2020.11.03.09.12.11 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 03 Nov 2020 09:12:11 -0800 (PST) From: John Soo To: Tobias Geerinckx-Rice Subject: Re: RFC: subcommand to pause/resume builds References: <87r1pbzixl.fsf@asu.edu> <87zh3yczss.fsf@gnu.org> <87ft5q4d0i.fsf@nckx> Date: Tue, 03 Nov 2020 09:12:10 -0800 In-Reply-To: <87ft5q4d0i.fsf@nckx> (Tobias Geerinckx-Rice's message of "Tue, 03 Nov 2020 17:32:29 +0100") Message-ID: <874km6z7o5.fsf@asu.edu> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::52b; envelope-from=jsoo1@asu.edu; helo=mail-pg1-x52b.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=fail (headers rsa verify failed) header.d=asu-edu.20150623.gappssmtp.com header.s=20150623 header.b=zvBJYvOs; dmarc=fail reason="SPF not aligned (relaxed)" header.from=asu.edu (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Spam-Score: 0.09 X-TUID: LNUd5yLS2Aix Hello Tobias :), Tobias Geerinckx-Rice writes: > Ludo', > > Ludovic Court=C3=A8s =E5=86=99=E9=81=93=EF=BC=9A >> First, note that the daemon is unaware of =E2=80=9Cpackages=E2=80=9D, it= only knows >> about =E2=80=9Cderivations=E2=80=9D. > > Derivations have a (file) name, which can be matched with a regex > allowing one to, say, =E2=80=98pause libreoffice=E2=80=99. It works in p= ractice. > I do this often & it's *extremely* convenient. This feels close to little sed/awk pipelines. Which is not to be entirely dismissive. I like the compositionality of these tools. In fact I mentioned earlier that it might be good to send arbitrary signals. But why not let kill (shell or scheme) do that? All we would need is to filter and format pids in a composable way (on the scheme side and the shell side). That has the benefits of remaining agnostic on side effects in builds (let the user decide what they are comfortable with) and being more composable. Maybe flags like this would be enough: guix processes --session=3D ... to get something like 5555 1212 343434 ... > Sometimes even necessary, because I have a habit of starting too many > builds ;-) It's nice not to lose 6h of work. Indeed. This already saved me hours after learning it yesterday. > Not every handy hack needs to be upstreamed though. =E2=80=98It's fugly= =E2=80=99 is a > strong argument in Guixland, and I like that. Same. > T G-R, now thinking about acronyms like =E2=80=98CRIU=E2=80=99 and what a= next-level > hack would look like... Yeah seems like functional build systems would ideally be order-independent, pause/resumable, and the build steps time-travelable themselves. But that's a cool aside for now. Thanks for the tips! John