From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 8J/fOuT9YGAZeAAAgWs5BA (envelope-from ) for ; Mon, 29 Mar 2021 00:06:28 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id UObLNOT9YGAQZgAA1q6Kng (envelope-from ) for ; Sun, 28 Mar 2021 22:06:28 +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 6186A158D7 for ; Mon, 29 Mar 2021 00:06:28 +0200 (CEST) Received: from localhost ([::1]:35904 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lQdYB-0004YI-0w for larch@yhetil.org; Sun, 28 Mar 2021 18:06:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54764) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lQdY1-0004YA-OO for guix-devel@gnu.org; Sun, 28 Mar 2021 18:06:17 -0400 Received: from laurent.telenet-ops.be ([2a02:1800:110:4::f00:19]:41792) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lQdXz-0006tl-4A for guix-devel@gnu.org; Sun, 28 Mar 2021 18:06:17 -0400 Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d]) by laurent.telenet-ops.be with bizsmtp id ly6A2400A0mfAB401y6Azm; Mon, 29 Mar 2021 00:06:11 +0200 Message-ID: <49232872faef1b3f5efed01816734c3bcf4e1b9b.camel@telenet.be> Subject: Re: [PATCHES] ImageMagick security updates without grafting From: Maxime Devos To: Mark H Weaver , guix-devel@gnu.org Date: Mon, 29 Mar 2021 00:05:54 +0200 In-Reply-To: <875z1bdkmq.fsf@netris.org> References: <878s68zqsd.fsf@netris.org> <927d66ccc760afacdb88485c5158731458d52dd6.camel@telenet.be> <87k0psdu25.fsf@netris.org> <9fb6ac4f0893446e3619d62395e035a446a9606f.camel@telenet.be> <875z1bdkmq.fsf@netris.org> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-so8+taFGW3revXlPhQF6" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1616969171; bh=OXZtuEA3xUtB3+uRdnKv3rMBKx7Rz1DJfcjlzQSBpWY=; h=Subject:From:To:Date:In-Reply-To:References; b=Quus0l7uZQu+le3VRi2uV+TgVQ8++OPhxy5l6N+42FHfeS1HSTvhDUl/ypFWmASIg OOkXQG1DQZ9rXPlSJZ8hLUzOCaFN9U0qjYLfbhQ1oarx1IN6tMDTJRMKR69Fen5a24 LJjnjIXUmPeKMo8+UrUfdo1mk6cKFWCTCjk9nigKHej7UpSSfs97W5pioKQyWiZg+Y czg7pshYmpnThc1k2F9ZfN43hjbJqRgbLi1KbG059NzQg5+IyV0/xYgOTfkDZWxbo1 0nJYRJC+y46TMPwIm9hVkaBYKuC2m3PGFrRwKAek4ZszcvyoXzx/6J2Sm1kVGrfiBB k2wtHSaAXA0Rw== Received-SPF: pass client-ip=2a02:1800:110:4::f00:19; envelope-from=maximedevos@telenet.be; helo=laurent.telenet-ops.be X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, 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: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1616969188; 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:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=OXZtuEA3xUtB3+uRdnKv3rMBKx7Rz1DJfcjlzQSBpWY=; b=OWY8qUK++NP4J19/mMkifwNz7L69VOds+NLKZNvheXozaVmVvZSEyNkNkq6d32jqx7UMyQ VJWHkO/jqc89T6/VVyfW7iiSk7bEepACU7yHTGIVC6RpYsggeKbglAbHbbkqsu1lSS1DgE SzJcxSkjSeYTs3//RbhN9F1QaB/Yv66pJeKgibM/1U+wUr9VaDr1HMY6LCALpSSwCEENPT JQD0ELw0LohxqeHc3EG9/qvkUZLcbmKADYvw4SeM7u8IldTZy3gTKctB99kcTSQ6nprI14 pYISL/TUfSkBPirTRtic/04SfMv6dHsGEF/A2jA0yVoTd1+Svio357cjepnu1w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1616969188; a=rsa-sha256; cv=none; b=Qek5eu0G6oT2rKNpzUUO+PUq+YEhDIE2sqcuQvB1TWunZI9RwPpBHemm6T4/JkJtXu/OVp aa+7T+mA52X20szkmJqSRFbMSHx8iNm3QU9QP4HL7o2c/5VVZa4C/xd0e2GMq9AfBCNOXS 2TsR0JCJYpmWZUYBcmHhzs4eVO9PEGsOjGkWm1HZ1AAhgM5X3qbkm2nqZK6u7r/NTmE/FI SNpJ6xjOdhc4szG0FAVTn5goOokXq3dGsXd0n+rawzy3yCLO7hS9zrEsIELvwkWv1mEE+J kabvpuDGLrUZ+nPTZjkkySupuEuW7PU2v6pJhC1cQj8t7+Er+g+GGazzPzBPUA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=telenet.be header.s=r21 header.b=Quus0l7u; dmarc=pass (policy=none) header.from=telenet.be; 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-Migadu-Spam-Score: -5.22 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=telenet.be header.s=r21 header.b=Quus0l7u; dmarc=pass (policy=none) header.from=telenet.be; 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-Migadu-Queue-Id: 6186A158D7 X-Spam-Score: -5.22 X-Migadu-Scanner: scn0.migadu.com X-TUID: pdCpvxtDvmyz --=-so8+taFGW3revXlPhQF6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, 2021-03-28 at 17:37 -0400, Mark H Weaver wrote: > Maxime Devos writes: >=20 > > On Sat, 2021-03-27 at 20:01 -0400, Mark H Weaver wrote: > > > [...] > > > Maxime wrote: > > > > What does =E2=80=98guix refresh --list-dependent imagemagick@6.9.11= -48=E2=80=99 > > > > output now? > > > When I last checked, it reported on the order of 2400 dependent packa= ge > > > rebuilds. > >=20 > > I should have written imagemagick@6.9.12-4 here. >=20 > On my Guix system, after applying my recent patch set, "guix refresh -l > imagemagick" (which refers to imagemagick@6.9.12-4) reports 603 > dependent packages. I had a similar number (after "guix pull"). Looks good. > I see that, according to our guidelines, since this number is greater > than 300, it implies that updates to 'imagemagick' should not be done on > the 'master' branch. >=20 > On the other hand, for what it's worth, on my own GNOME system, the > number of rebuilds from my patch set was quite minimal, and *far* less > than the number of rebuilds than I usually need to do when updating my > system to the latest 'master' after just a few days. >=20 > I should say that I'm fully in support of having guidelines like this to > limit the number of rebuilds on 'master'. It's especially important to > me since I never use substitutes, and build everything locally on my > (rather old) Thinkpad X200. >=20 > That said, _number_ of dependent packages is not a good measure of what > we should be trying to minimize. I can build hundreds of 'python-*' > packages in the time it takes to build a single package like 'webkitgtk' > or 'icecat'. >=20 > A better measure might try to estimate the total amount of *build time* > suffered by _all_ Guix users, as a result of updating a given package. > That would depend on both (1) the estimated _time_ needed to build the > dependent packages, and (2) the estimated number of users of those > dependent packages, perhaps based on download statistics from our > substitute servers. That seems a good idea, but something to discuss in a new thread (or a bug report to make sure it is not forgotten). > > You missed a few packages: > > in gnu/packages/mate.scm: search for "gtk-doc". > > Also, the (gnu packages imagemagick) import seems > > unused. >=20 > I did not attempt to comprehensively change all 'native-inputs' > references of 'gtk-doc' to 'gtk-doc/stable'. I stopped when the number > of rebuilds on my own GNOME system became quite minimal. That's why the > summary line of commit 9dea1618755891526f708aa335b4136c1302d16e ends > with the words "selected packages". I have began writing a patch that changes *all* references of gtk-doc to gtk-doc/stable (in native-inputs only). > However, I see now that we should continue working on this, at least > until we can update 'imagemagick' on 'master' without violating our > guidelines. >=20 > > Looking at the package graph, many packages depend on imagemagick > > through python-sphinx, so it may be worthwile to define a > > python-sphinx/stable and use it instead of python-sphinx in the > > native-inputs. > >=20 > > I suggest > > guix graph --type=3Dreverse-package imagemagick@6.9.12-4 | dot -Tpdf >= a.pdf > >=20 > > to find out if there are more uses for imagemagick/stable. >=20 > That's a good idea. Would you like to work on it? Yes. > One thing to be very careful about is to only use 'gtk-doc/stable', > 'dblatex/stable', and 'imagemagick/stable' in native-inputs, and > moreover to make sure that no references to these */stable packages > remain in any package outputs. >=20 > Of course, if any package retains references to its 'native-inputs', > that's always a bug, but I wouldn't be surprised if such bugs exist in > Guix. Such bugs might be relatively harmless now (except when > cross-compiling), but they could become a security bug if a package > retains a reference to 'imagemagick/stable'. I'll be careful! > On my own system and user profile, which includes GNOME, I'm glad to > report that I have *no* references to 'imagemagick' at all, not even to > its newest release, and that's my strong preference. Note to self, before I forget how to test this: guix build $PACKAGES # maybe guix build $PACKAGES --no-grafts? guix graph --type=3Dreferences $PACKAGES # ^ look in output for "imagemagick". Greetings, Maxime. --=-so8+taFGW3revXlPhQF6 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYIADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYGD9wxccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7knpAP9ZWYIChd9oQK1FfG6qS5oMmt0p 6f9OUOO6SxiA111geQEAlVtatn8mQFsfYmKnqkPtjdefjv9uGuZ+h71w6Alamwo= =vFhn -----END PGP SIGNATURE----- --=-so8+taFGW3revXlPhQF6--