From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id SPOtJaKg5mW5JgAA62LTzQ:P1 (envelope-from ) for ; Tue, 05 Mar 2024 05:33:38 +0100 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 SPOtJaKg5mW5JgAA62LTzQ (envelope-from ) for ; Tue, 05 Mar 2024 05:33:38 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=dan.games header.s=fm2 header.b=nmCjwpoK; dkim=pass header.d=messagingengine.com header.s=fm1 header.b="K a6rtdg"; 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"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1709613218; 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=PA1xz/KhEtqxXzIaQmQ3It+9wqmGZnKI16apL5cOyjM=; b=M+NMGwPJFkhOv9f0AZw3VnqhyUaiVKM/z3AOIqM3TOQ8+pkB4a7WdfvZwNYTD7q71WJisj j1JnBY26O029jgGpQtxo4AKE1kBOhGBald8SjJUMxU6bU3JDb2wnnDMPeLIsss5IiH/SY8 D0CvpQVDZEyiQPw4Y7FDhgVWOEvAp1zYFjJmY4yhC66IFhWeoDnreJxrcGF5oMLi+7KkFW I7BYB/QTnbOnm0iYrDKvKbZTxuM5hNuDadOwOKiVSwKljSr+2cHsFUlgwsKVxHq0Zoj6BH tg1RUHatj9MTr9c3FaqCHX2i0zRZsEQdEP+FvQP12sPFwsdMgCNfEOKeICZisA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=dan.games header.s=fm2 header.b=nmCjwpoK; dkim=pass header.d=messagingengine.com header.s=fm1 header.b="K a6rtdg"; 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"; dmarc=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1709613218; a=rsa-sha256; cv=none; b=LkzKqhiUH88VDVjJCkKauBB385RYkHV5qv69zhn5wIzjxZbZMXX2pQnbRrc0XfD1orURTt gE1OmwnoPGS5uY6PfrVcD9oGZdHML+F4ZXDVRaMVRf4VgQR0s15d0Ij86KivFOU6AGw1a5 e6uGTm0zxcRwe/fjPiMjxBQQ0A1cng0s76fDYpbdLkLh/VXHlH7l8ei+07w8VATU25N02a 2XMLXJ/J4Y8GZ1tnx4Nzb8GSGYn4XjXVPYFtq+3pAsPrymc/yFaX8ao1EEFYVDY1N7WDFm OolNdoOZ13upoqVsS11jR0DffJgZoyqqtnPo+WQMY2Te7y6zvoXEb/usQHcdvg== 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 6F253220FA for ; Tue, 5 Mar 2024 05:33:38 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rhMU6-000766-IR; Mon, 04 Mar 2024 23:32:58 -0500 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 1rhMU3-00075o-Nn for guix-devel@gnu.org; Mon, 04 Mar 2024 23:32:56 -0500 Received: from wfout4-smtp.messagingengine.com ([64.147.123.147]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rhMU0-00080X-Nf for guix-devel@gnu.org; Mon, 04 Mar 2024 23:32:55 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailfout.west.internal (Postfix) with ESMTP id 63BA61C00088; Mon, 4 Mar 2024 23:32:48 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Mon, 04 Mar 2024 23:32:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dan.games; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1709613167; x=1709699567; bh=PA1xz/KhEtqxXzIaQmQ3It+9wqmGZnKI16apL5cOyjM=; b= nmCjwpoKcIKt1sAaD76NCCqNr1zq/onn5bXmn/sKgyAyAOg5QZlm5l+KW3ggcaTO EOx97ZiCSE/6BPiWE9CQVxIUzwI8Nwx5QM12i5UkYLRlzcZ8d8H9U8giE1RUk3E8 0F5mgn3lDiZ6cRebg0T45om/HwOVyTia4V95F2pcy0cBVZnl8+V2oTvH6SB97+/5 804o5Nn8//bsGG17FdRiCA9b9Z+FST3zNy3vQbh0X5rtXkxG3+lrgd9TtHi44JV7 ETKkqJk+ykV9BAdoqAZ0QQHb36mLKrRQn0zY3dr/exZ0869PFYAHKwt2PMgll5WS roFylgiUBBEwf6bbPSAyAw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1709613167; x= 1709699567; bh=PA1xz/KhEtqxXzIaQmQ3It+9wqmGZnKI16apL5cOyjM=; b=K a6rtdgAeb6RsdAIo7AL1PIlMTax47jwoXCVdAHIscXhQ6iCZb3CiZw/74gO0CRm+ w2TQbo1jD2EkWLumfoF+Mntu0r8S8WWLXlgwrjWeiG0l/SxoExc2hW2xTukHGS2S NfRsJSHXiG8AKSNe8GAJygCoFbHzDIl1gYdAJMThiLNbrMlYPS6hdOpq53mZ/Kdt d37jtz1NqDDUjHBEc5FxvkyUKUlLrSjTm4QjZUMyu2cF1kOHNye5sKY1x9ZT0gGp S0k8lqJQ4c9YBrFhUs6XYuHoMGiwNXGbDm6+EmD3iuo9Fw1FUCGb4iTejxdUMYq0 DUooroedjS7obk2EsX55A== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrheekgdejtdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddvjeenucfhrhhomhepuggrnhcu oehisegurghnrdhgrghmvghsqeenucggtffrrghtthgvrhhnpeekveduudehhfdtgfffff ehhefgvefgjeegveetveefhefhledthfefheevtdeivdenucevlhhushhtvghrufhiiigv pedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehisegurghnrdhgrghmvghs X-ME-Proxy: Feedback-ID: i3b5946ed:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 4 Mar 2024 23:32:43 -0500 (EST) Message-ID: <4baeb31e-d8e7-4cef-944b-7214627d7905@dan.games> Date: Tue, 5 Mar 2024 12:32:39 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Should commits rather be buildable or small Content-Language: en-US To: John Kehayias , Ricardo Wurmus Cc: Attila Lendvai , Philip McGrath , Saku Laesvuori , Liliana Marie Prikler , guix-devel@gnu.org, 69461@debbugs.gnu.org References: <6bcc9412f092c20fbd7f8326dbf91e90cef0eed1.camel@gmail.com> <875y16c54b.fsf@elephly.net> <87fs09ar56.fsf@elephly.net> <87jzmhad9s.fsf@protonmail.com> From: dan In-Reply-To: <87jzmhad9s.fsf@protonmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=64.147.123.147; envelope-from=i@dan.games; helo=wfout4-smtp.messagingengine.com 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action 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-Scanner: mx10.migadu.com X-Migadu-Spam-Score: -5.97 X-Spam-Score: -5.97 X-Migadu-Queue-Id: 6F253220FA X-TUID: iLyvaZyAq4WK Hi John, On 3/5/2024 5:38 AM, John Kehayias wrote: > In this case all the vulkan packages share a version through a variable name. I would assume packages wouldn't like mixed versions, but maybe some would work (I haven't tried). I'll be taking this series on mesa-updates with related changes, so the plan is that when it hits master there are no/few broken packages and full substitute coverage. So perhaps this makes this more of a style and convention question. > > Some options: > > 1. Essentially squash to one commit where all of vulkan is updated in one commit. The main upside is that nothing should break (within vulkan, dependents to be fixed as needed) and it shows as "one" change; the main downside is that the proposed changes are not just trivial version bumps. Harder to then disentangle as needed. > > 2. Make each commit updating a package, but don't use the variable %vulkan-sdk-version, updating each package with a version as it is done. Then do a commit where all the versions are replaced by the variable. This seems like unnecessary work to me and while it stops the obvious breaking (source hashes don't match once variable is updated but package hasn't yet) versions are still mixed which is likely a problem. > > 3. Go with the series as proposed: this means after the first commit for sure all other vulkan packages and dependents don't build, as the source hashes won't match until the commit that updates that package. Along with version mixing, this perhaps doesn't give you a helpful git bisect either? > > None are perfect. What do people think? > > My instinct is to go with the series as proposed (after review) accepting that there will be for sure builds failing if time traveling to the middle of the series. I don't think we can really avoid that anyway, as sometimes we only see an issue after a commit and it is fixed some time later. We could have a note in the first commit that this requires the next n commits to update vulkan packages. That might help if someone is on an intermediate commit and can see quickly in git log this note. > > Or perhaps we can note something is part of a dependent series when we make commits so this is easier for someone to tell in general? I think to make each commit able to build, it's feasible to remove this %vulkan-sdk-version variable. However, this doesn't fundamentally solve the problem: when updating several packages in a patch series, some packages might be broken since their dependencies are updated. Another question is how should we treat vulkan packages. Some distros package them on a per package basis (I see in Arch Linux, vulkan-headers and vulkan-icd-loaders have version 1.3.276 while other packages like spirv-headers has 1.3.275). I had to admit that I'm not that familiar with vulkan packages, but I feel it's safer to keep their version matched since each vulkan-sdk release makes sure every vulkan packages are compatible with others. Thus, I prefer updating them in batch. I think maybe it's a good option that we mark these commits are a series. -- dan