From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id 4FF6A+KpcGadEwAAe85BDQ:P1 (envelope-from ) for ; Mon, 17 Jun 2024 21:25:55 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id 4FF6A+KpcGadEwAAe85BDQ (envelope-from ) for ; Mon, 17 Jun 2024 23:25:55 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=XBTiu36J; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1718659523; a=rsa-sha256; cv=none; b=EneWMC6W0/JsMWBoiDAXPbHsJBqzkS3HM8GSWcTbO1FlZ/HyI/sfW4c+lZ9HB+Nd6Ov1RN 3FVSSuGLuwLKKa4QcMRFuiHOQxu/Vfm7+2wF8QlkVUCKgDvtWX/6XTTLqKAWITXMFvE+55 8fiZWldvhDiR/Pmr2pYH1R0Ov/HRn2T3A9UYtfT/4NRji95+KAH4CWvteovpPAST3iQLcC p4Z5MTGdrz2Su096ZGXOrE29EadV5ZmXd2BeTY2nMd3WRp9VlTjFPQSz1qjAq1FIA1VW/s 126FxOyy3NWFueboRz5gsdQDr4uHT/F6Q98zh9+paWVOJhpbguBI89LA1bYu9Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=XBTiu36J; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1718659523; 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: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=V88yDWqiI+WtwmRvSoTnhONXaMcbjIX2isbW2d4JaII=; b=ANQB122+3huCq0iWLHd1AhkmccMxhdfTE3ml8GL3x4kfV8NfgKKk0lrSetd/ybTxH2kvnC gFhujp5QUTJDUElO6dY0WuC8c17s0KlbfOrwC088Plo0rua76Ir/m0m2c6FUqU3WcRTLjl aOk+A/6A+AsW+hYkuF4ONgMM+hBVuLUl9AYrXEKq618I5OVpU5J6swsLkAU2lXyG1kvuOS 24CIaRzLbCLRbHR3LslMZgLz9HVS+g8Gxc2YDxdkBgHmkbQ8RE++ev9/vSi7rnafLJfENW vCc4/vrdCEWKmG7oDymi9pXDDJpclhe7oJu50K6xtqv3jqyf5Jd3DmxqIC5Uuw== 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 9C6A26A9E5 for ; Mon, 17 Jun 2024 23:25:23 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sJJqB-00031w-2Z; Mon, 17 Jun 2024 17:24:39 -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 1sJJq7-0002zn-5N for guix-devel@gnu.org; Mon, 17 Jun 2024 17:24:37 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sJJq6-0004e9-RZ; Mon, 17 Jun 2024 17:24:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=V88yDWqiI+WtwmRvSoTnhONXaMcbjIX2isbW2d4JaII=; b=XBTiu36J2o41dO1qPaeM dj/NaSISE2SnLzYZb5T16wllRnwq7DXGij028jHR31P4EmeO9/KgDMOF4YxbyukcLRSipCeb4PkqK xDXi4pYfKXFCkyByVoHCu9zaVnMe6O6JBeiFkdTlZZI2msrvcJcbiFiKQOuDqCBD2PLpOxasufp/T TTrN1sqoUsiWEWl5myaaa9i14WxTVv0MbnrymgIwN7ID2Ea5d2s9XEw/e5Y3RLmc34es8aUHclQJs /nvt4aYSSkZB4NNxgZuv1rh1CfxO3atLIlmV6X/iY1xBk/uM1saybpTjm/VbwfWssjhUkRseWqPBS zJZgqdGt+9dx3Q==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Michal Atlas Cc: Michal Atlas , guix-devel@gnu.org, Oleg Pykhalov Subject: Re: "guix pack -f docker" does too much work In-Reply-To: <5783e136-b8ee-4546-9673-d35009714199@posteo.net> (Michal Atlas's message of "Mon, 17 Jun 2024 11:57:38 +0000") References: <87sey0lqpn.fsf@elephly.net> <87wmmnak7n.fsf@gnu.org> <5783e136-b8ee-4546-9673-d35009714199@posteo.net> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: =?utf-8?Q?D=C3=A9cadi?= 30 Prairial an 232 de la =?utf-8?Q?R=C3=A9volution=2C?= jour du Chariot X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 17 Jun 2024 23:24:21 +0200 Message-ID: <87frtb5kl6.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 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-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -9.60 X-Migadu-Scanner: mx12.migadu.com X-Spam-Score: -9.60 X-Migadu-Queue-Id: 9C6A26A9E5 X-TUID: bqwRLKyho5FV Hi, Michal Atlas skribis: >>> Also seems that Nix's way only quickly imports the changed layers? And >>> Guix's always imports the whole thing, at least I think? >> What do you mean by =E2=80=9Cimports the whole thing=E2=80=9D? > > I'm not sure what exactly happens, so correct me if I'm wrong, however > if I time the different approaches, I think that how Guix creates a > single-layered image, then if anything changes the entire image gets > re-imported into docker. Oh, there=E2=80=99s the quite recent =E2=80=98--max-layers=E2=80=99 option: https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-pack.html However the default is to create a single layer. Maybe worth changing to 32 or so? Oleg, WDYT? (We should also document the default value of =E2=80=98--max-layers=E2=80= =99 in the manual: I had to check the code=E2=80=A6) > On that note, I know that guix pack goes through %compressors in > order, however zstd is an insane improvement over gzip when working > with containers, would it perhaps be possible to default to it, or > would that break far too many workflows, or is there another reason? > Perhaps during changing how guix pack works would be a good time to > make both breaking changes at once? If Docker itself always understands zstd, then we could change the default, indeed. For other backends, such as plain tarballs, we could make that change but it=E2=80=99s going to be potentially more of a breaking change. Thoughts? Ludo=E2=80=99.