From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id kEL7JzbZ2GEKBQEAgWs5BA (envelope-from ) for ; Sat, 08 Jan 2022 01:22:14 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id AoY+JTbZ2GEN0QAA9RJhRA (envelope-from ) for ; Sat, 08 Jan 2022 01:22:14 +0100 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 E2EBD2D969 for ; Sat, 8 Jan 2022 01:22:13 +0100 (CET) Received: from localhost ([::1]:55988 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n5zUq-0000sM-9H for larch@yhetil.org; Fri, 07 Jan 2022 19:22:12 -0500 Received: from eggs.gnu.org ([209.51.188.92]:37442) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n5zUi-0000rz-AR for guix-patches@gnu.org; Fri, 07 Jan 2022 19:22:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:53161) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n5zUg-00057J-CU for guix-patches@gnu.org; Fri, 07 Jan 2022 19:22:04 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1n5zUg-00017t-6N for guix-patches@gnu.org; Fri, 07 Jan 2022 19:22:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#51838] [PATCH v8 00/41] guix: node-build-system: Support compiling add-ons with node-gyp. Resent-From: Liliana Marie Prikler Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 08 Jan 2022 00:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51838 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Jelle Licht , Timothy Sample Cc: 51838@debbugs.gnu.org, Pierre Langlois , Philip McGrath , Leo Famulari Received: via spool by 51838-submit@debbugs.gnu.org id=B51838.16416012704255 (code B ref 51838); Sat, 08 Jan 2022 00:22:02 +0000 Received: (at 51838) by debbugs.gnu.org; 8 Jan 2022 00:21:10 +0000 Received: from localhost ([127.0.0.1]:46064 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5zTp-00016Y-V2 for submit@debbugs.gnu.org; Fri, 07 Jan 2022 19:21:10 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:36753) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5zTl-00015g-QP for 51838@debbugs.gnu.org; Fri, 07 Jan 2022 19:21:08 -0500 Received: by mail-wr1-f67.google.com with SMTP id r10so6351491wrc.3 for <51838@debbugs.gnu.org>; Fri, 07 Jan 2022 16:21:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=mPN4cM76t/YuvHwKt6M+f5YQmjBKh/3q3KM6j0dxiME=; b=NjQinEB3RwjIw47eohFpMB6O6nedWkiM5rC2FSVd4T5qRM583+Vui1euOtqrQA/s4p ijkWQoqvJIDl87zAevv9dVMwQmU7VtrekgG6dGjXPyREnlU+MdZa0syzS83n46aY5TP4 4/c+p9lGS3DwvrkuWMBbWaU5UC1TKR9k7oY0NGOvrn+B7xMplQkt40LMN1xiOOscFyYg KatOfo89nbAGIXVZNDnhom4dMUlvfQBRyuZNzcww5nG4pyo76lRkiX/T2tVcAapzQKZL I9HVrvviWmhvHy0WacPXfG5fJJJf9E45JA1jex9nNVUgWKziGp5GUAaHsM0CBB7XpFSQ a8ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=mPN4cM76t/YuvHwKt6M+f5YQmjBKh/3q3KM6j0dxiME=; b=OuEWWPSfu+kBysKKuEn+OmSGNovSshPMhEnh6XNDLCh9JnUXNBLqhOnoBqBbl3pmvv mwgVtlOHohpWngj6dJxYEyZ5QrUyP16VAzlqz62ltFT74EAj/EPDtemSpgy3dgQ0AJP9 5sO0mP6Bf6dlBYU/WYcGUJycFkCCux8l+kyLvQgaefFgMGUj+irEA839fZV2Icjh7g7p wjK1y/Z1+wGy6kwenBArY5hz7GrgVmaw+tAyOfj2UDmcpm2xv1nCMPNOuiYj0q1h1CDV yr5sIGVqgtJ/MhKMOXrfyy/FSyQjufDk2xzuNlZncYF20OVVJIWWAUBiYKj4la9dtwhC fjpA== X-Gm-Message-State: AOAM532udTPI+nf6esPcVaKzruldMgMw2ZqNpZVJLw9f3GYpPCX7oIDp rhHQmK+CN+TA7G2nrUCerfw= X-Google-Smtp-Source: ABdhPJys6ehkyV/55xGlQcu+RYXAtbgWoh+TbMQfU2l0LNjHXL6dNvBokGs07wrv/sV/5Kj/kardrQ== X-Received: by 2002:a05:6000:15c9:: with SMTP id y9mr11727548wry.32.1641601259639; Fri, 07 Jan 2022 16:20:59 -0800 (PST) Received: from nijino.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id r9sm154450wrm.76.2022.01.07.16.20.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jan 2022 16:20:59 -0800 (PST) Message-ID: <10d5b7f0e05545cc6ca007da831358846e988438.camel@gmail.com> From: Liliana Marie Prikler Date: Sat, 08 Jan 2022 01:20:57 +0100 In-Reply-To: <86iluv87s5.fsf@fsfe.org> References: <64e08d3a1838ed8507f33fae895545372960522f.camel@gmail.com> <87v8yv1ofd.fsf@ngyro.com> <86o84n8dkj.fsf@fsfe.org> <80c4882db596f0b439b9ecca0b59cfea3ec96499.camel@gmail.com> <86iluv87s5.fsf@fsfe.org> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1641601334; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: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=mPN4cM76t/YuvHwKt6M+f5YQmjBKh/3q3KM6j0dxiME=; b=Gxtpx1Y3CWi4MVU2as+qMs3gIM2M4UiQOHnsEJoCOeUuXtbZvJQgvZ5kML4pzIikB0J8Sm /uOOs2VPmG/Wl90XrCEguDNU+fO1mZStI0XlBsPfnkpaAXvyaHP9UD03UyUT3oovQSXO28 4PJKl3wksPZ2gwd4SfR2zRXxA76mVTSJnvAZGqnSFd3p1hHIfTZzndvTDLeG3rNQPOPsi0 p0cpuQSOQTlTm0BLGIF3V+0w3XbdFkw7misjivg0jMYMK4BOxl30p5Tx01lgYY2Ef7ALNE M77iChZmZMHuy9eVkSwO400AVJvlAQSoHgkUodLFVdcJiJre1XAEaaPTH2IFGA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1641601334; a=rsa-sha256; cv=none; b=f3uluNNoovCNsz2k5w2pZCN0e44HGc+AuJ37SNQ6GbMPF+aof4VrRBOtckoSkWVxkAADyF Uo8FnHmvQ/ihrQKPfLG7uZmrPw0B/o1TIHiM+VjAHzfNbOPXcELAtxfphohWnemQMcaiyl auRwlfeGAdAceU4pTVmRi8dRT8fVLvRlPqu/6SuNY/eW2k4C4mQheFAD64a5qz8UWmpJ3J Om548gdYqRd7a7qW+IlnAhhyIS/R6sgkYzJGUNUnw6VgO1FTSdql9DnKhL3B5g7rGGwK1h +vzjw6uNqlfUkL+BpOQeMtBoApa4ujIzySE5n7+bemh9y/pWlP5NqWVP9c38Kg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=NjQinEB3; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -2.00 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=NjQinEB3; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: E2EBD2D969 X-Spam-Score: -2.00 X-Migadu-Scanner: scn1.migadu.com X-TUID: gsm52yIT1tqb Hi Jelle, Am Samstag, dem 08.01.2022 um 00:07 +0100 schrieb Jelle Licht: > Liliana Marie Prikler writes: > > [...] > > I don't think either form is particularly helpful and in fact, I'd > > urge reviewers to take a close look at the package.json before and > > after regardless form. > > Rather the other way around; if we do not allow regex, we will see > that there is a new dependency that we are currently neither patching > nor adding to the inputs. We should celebrate any accurate build time > failures we can make happen! We're arguing past each other. What I'm saying is that with neither you can assure your exclude list is actually reasonable in any sense of the word. > > > At this stage, we expect the author to determine which dependencies > to leave in and out, then correctly encode these choices as a regex, > which is then decoded again by a reviewer who then must manually > verify that this decoded intent makes sense with regards to both the > listed inputs and the actual unpatched contents of package.json. Again de gustibus, but I'd rather read one very well thought out "typescript.*" than dozens of lines excluding typescript-something. Also, with longer/well-known prefixes, it typically becomes easier to reason about a single regexp rather than seeing again 3+ lines of any given package family and missing the forest for the trees. > Without regex, there's just a few details that need to be kept in > mind for each step, for both author and reviewer(s). > > Adding something to the deleted dependencies can either: > - fix a (newly) broken build > - remove an optional dependency, and can most likely be removed from >   existing inputs. > > Removing something from the deleted dependencies can either: > - be a no-op: so the existing deleted dependency was (made) redundant > - enable an optional dependency, which should most likely be added to >   the inputs. > > That's it! Some creative types can put this in fancy decision graph > and we have our "You Too Can Review Node Packages" campaign! That's not at all the complete list of possibilities for node packages. Unless you define "optional" in the loosest sense, meaning "yeah, you can build it, but try calling a simple function and you'll get an import error of doom", which is possible because node doesn't statically verify zilch (*). That's the main reason Philip rejected my "just restrict ourselves to what we find in inputs" suggestion. Cheers > > (*) double negative meant as actual negative