From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 8J7RK/wAFmMPBAEAbAwnHQ (envelope-from ) for ; Mon, 05 Sep 2022 16:00:28 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id kMDOK/wAFmPH0QAAauVa8A (envelope-from ) for ; Mon, 05 Sep 2022 16:00:28 +0200 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 32C052B203 for ; Mon, 5 Sep 2022 16:00:28 +0200 (CEST) Received: from localhost ([::1]:59718 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oVBtv-0001iO-Ma for larch@yhetil.org; Mon, 05 Sep 2022 09:12:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43306) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oVBlS-00086p-RC for guix-devel@gnu.org; Mon, 05 Sep 2022 09:03:47 -0400 Received: from laurent.telenet-ops.be ([2a02:1800:110:4::f00:19]:32856) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oVBlL-0002q7-9M for guix-devel@gnu.org; Mon, 05 Sep 2022 09:03:44 -0400 Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by laurent.telenet-ops.be with bizsmtp id GD3a2800F20ykKC01D3aus; Mon, 05 Sep 2022 15:03:35 +0200 Message-ID: Date: Mon, 5 Sep 2022 15:03:34 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Subject: Re: v2: A proposal of a consistent set of clear rules and guidelines involving snippets, phases and patches. Content-Language: en-US To: Andreas Enge Cc: Guix-devel References: <98da36a2-d0cc-77da-77bf-6984253131ac@telenet.be> From: Maxime Devos In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------akwDj08jfMWEL0wxyaja65SQ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1662383015; bh=qin15vQZ1TSitYRkgk1DCbw38Xjahuogd6DFhRTem9U=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=EcmiyQritqb0DQqPGc5H67al6m+Ob3Nurjev/258EiUAL4ZefdSjXoIxwQqKNheNc 81HCBMDnLJtxrpQDeLk3Kn9O8QRO+ScKl9FN2UYWAW2s3/hJXYWTmLIOP5pbcnCiV/ Kig+hpBRF1COXpr1OjVQLF7n9uBO0hMDoxnxrXkBNUHk2xAhAR/W42QXLOcNgADhJG NB+HljbizxCyQnVsNZoLwRmySbO1rSEYqd6YqrWKO6odheBp3Je54nLOYae7lNCVGH Ns1igpax9eDy8JAnPKZ/uNGWiEITynhSNnj2N4nd4j5zlOMSIh9hK3J7klzPx646To A+r61Om7Dn+Gg== 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: -44 X-Spam_score: -4.5 X-Spam_bar: ---- X-Spam_report: (-4.5 / 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, HTML_MESSAGE=0.001, NICE_REPLY_A=-1.716, 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" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1662386428; 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:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=3t+NyXpMN/yJxOtRMe6+oZgx56egaPV28z+om46R4l0=; b=fk0tPNeHtSuwv0FXWQdwTLBdkSfVZMn/EGsB9QsXzrY1NXghrjUzVSrQJApDYJOa+Lrhas t9Jw7Bc6H3JHOa7JQ0kgbfWLPz8Q3tB8/WjTixtQFKxYyRLS06R1fO5ErR0PuDjIjL1zRZ R4bsfnhFqveCzgVxNRMx2DbHkxq8geuVjAEtW3Q0dwqAqUwVFonMOrx44jNVySVz21Ybq4 6BJeRusP9dgViJImg/rmIH8irOyutvqRIr9xnpNZz+1gOqNya3+jPfGOrSc6zUzzPJuEZM HpMCDLFN2hJT3eqGiRE15zFiZ04n4tBcda//hu2HVii/Ivie4bo1ld2RyyIJ8Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1662386428; a=rsa-sha256; cv=none; b=ZZS85cGWl/SzzTOmXos5GUNH9wfWwqHaOZeanOla2AhnwnL3rKFMaoNo+3MFZFee/an0xR KySe+9HavexJDsqtvohYnPQynbS4203jo7dOV9MP5n+jEXJXUcvOrT3eB8588yKv5DNUyl Uz8qcdwSlC4/b+7g4I1UXtfz1wVLoHQjjyKi/KSFgz2p0rX/XIO7HcJ/9PcRLSFgeD6/EA 0wuPbcu3ylsr82s7i2REjfMGOrkmqh1EMvz230vUm54p4sJpMy2q/PANjaAwHFP2IqEruu HNnH5BACYzshZsHDn4KaNTEJYRPfLmcx8+Jrr6jwDB308+AamrdtYcE1x6XoNA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=telenet.be header.s=r22 header.b=EcmiyQri; dmarc=fail reason="SPF not aligned (relaxed)" header.from=telenet.be (policy=none); 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" X-Migadu-Spam-Score: 6.43 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=telenet.be header.s=r22 header.b=EcmiyQri; dmarc=fail reason="SPF not aligned (relaxed)" header.from=telenet.be (policy=none); 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" X-Migadu-Queue-Id: 32C052B203 X-Spam-Score: 6.43 X-Migadu-Scanner: scn0.migadu.com X-TUID: IrbrPtDEGNhu This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------akwDj08jfMWEL0wxyaja65SQ Content-Type: multipart/mixed; boundary="------------80kpn98aFbk3yThyI8lD2roZ"; protected-headers="v1" From: Maxime Devos To: Andreas Enge Cc: Guix-devel Message-ID: Subject: Re: v2: A proposal of a consistent set of clear rules and guidelines involving snippets, phases and patches. References: <98da36a2-d0cc-77da-77bf-6984253131ac@telenet.be> In-Reply-To: --------------80kpn98aFbk3yThyI8lD2roZ Content-Type: multipart/mixed; boundary="------------fUqMHKYJhoGtA1jn03WC2OX1" --------------fUqMHKYJhoGtA1jn03WC2OX1 Content-Type: multipart/alternative; boundary="------------ifbEgv0Xs6khanx5WMwPBaa7" --------------ifbEgv0Xs6khanx5WMwPBaa7 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 DQpPbiAwOC0wOC0yMDIyIDIzOjUxLCBBbmRyZWFzIEVuZ2Ugd3JvdGU6DQo+PiAyMC40LjUu MyBGaXhpbmcgdGVjaG5pY2FsIGlzc3VlcyAoY29tcGlsYXRpb24gZXJyb3JzLCB0ZXN0IGZh aWx1cmVzLCBvdGhlciBidWdzDQo+PiAuLi4pDQo+PiBVc3VhbGx5LCBhIGJ1ZyBmaXggY29t ZXMgaW4gdGhlIGZvcm0gb2YgYSBwYXRjaCBjb3BpZWQgZnJvbSB1cHN0cmVhbSBvciBhbm90 aGVyDQo+PiBkaXN0cmlidXRpb24uIEluIHRoYXQgY2FzZSwgc2ltcGx5IGFkZGluZyB0aGUg cGF0Y2ggdG8gdGhlICdwYXRjaGVzJyBmaWVsZCBpcw0KPj4gdGhlIG1vc3QgY29udmVuaWVu dCBhbmQgdXN1YWxseSBkb2VzIG5vdCBjYXVzZSBhbnkgcHJvYmxlbXM7IHRoZXJlIGlzIG5v IG5lZWQNCj4+IHRvIHJld3JpdGUgaXQgYXMgYSBzbmlwcGV0IG9yIGEgcGhhc2UuDQo+PiBJ ZiBubyByZWFkeS1tYWRlIHBhdGNoIGFscmVhZHkgZXhpc3RzLCB0aGVuIGNob29zaW5nIGJl dHdlZW4gYSBwYXRjaCBvciBhDQo+PiBzbmlwcGV0IGlzIGEgbWF0dGVyIG9mIGNvbnZlbmll bmNlLiBIb3dldmVyLCB0aGVyZSBhcmUgdHdvIHRoaW5ncyB0byBrZWVwIGluDQo+PiBtaW5k Og0KPj4gRmlyc3QsIHdoZW4gdGhlIGZpeCBpcyBub3QgR3VpeC1zcGVjaWZpYywgaXQgaXMg c3Ryb25nbHkgZGVzaXJlZCB0byB1cHN0cmVhbQ0KPj4gdGhlIGZpeCB0byBhdm9pZCB0aGUg YWRkaXRpb25hbCBtYWludGVuYW5jZSBjb3N0IHRvIEd1aXguIEFzIHVwc3RyZWFtcyBjYW5u b3QNCj4+IGFjY2VwdCBhIHNuaXBwZXQsIHdyaXRpbmcgYSBwYXRjaCBjYW4gYmUgYSBtb3Jl IGVmZmljaWVudCB1c2Ugb2YgdGltZS4NCj4+IFNlY29uZGx5LCBpZiB0aGUgZml4IG9mIGEg dGVjaG5pY2FsIGlzc3VlIGVtYmVkcyBhIHN0b3JlIGZpbGUgbmFtZSwgdGhlbiBpdCBoYXMN Cj4+IHRvIGJlIGEgcGhhc2UuIE90aGVyd2lzZSwgaWYgYSBzdG9yZSBmaWxlIG5hbWUgd2Fz IGVtYmVkZGVkIGluIHRoZSBzb3VyY2UsIHRoZQ0KPj4gcmVzdWx0IG9mICdndWl4IGJ1aWxk IC0tc291cmNlJyB3b3VsZCBiZSB1bnVzYWJsZSBvbiBub24tR3VpeCBzeXN0ZW1zIGFuZA0K Pj4gbGlrZWx5IGFsc28gdW51c2FibGUgb24gR3VpeCBzeXN0ZW1zIG9mIGFub3RoZXIgYXJj aGl0ZWN0dXJlLg0KPiBEbyB5b3UgbWVhbiAicGhhc2UiIGhlcmUgaW5zdGVhZCBvZiAic25p cHBldCI/IFRoYXQgaXMgd2hhdCBJIHVzdWFsbHkgZG8uLi4NCj4gTXkgcHJhY3RpY2UgaXMg dG8gdXNlIGEgcGF0Y2ggd2hlbiB0aGUgZ29hbCBpcyB0byBldmVudHVhbGx5IGNoYW5nZSB0 aGUNCj4gc291cmNlIGNvZGUgdXBzdHJlYW0gKG9yIGl0IGlzIGFscmVhZHkgY2hhbmdlZCB1 cHN0cmVhbSBhbmQgd2UgY2FuIHRha2UgYQ0KPiBwYXRjaCBmcm9tIHRoZWlyIGdpdCByZXBv LCBzYXkpLCBhbmQgYSBwaGFzZSB3aGVuIG9uZSBjYW5ub3QgZXhwZWN0IHVwc3RyZWFtDQo+ IHRvIGluY29ycG9yYXRlIHRoZSBjaGFuZ2VzIHNpbmNlIHRoZXkgYXJlIHNwZWNpZmljIHRv IEd1aXggKGxpa2UgZW1iZWRkaW5nDQo+IHN0b3JlIHBhdGhzLCBhcyBMaWxpYW5hIHdyaXRl cywgd2hlcmUgYXBwYXJlbnRseSBhIHBoYXNlIGlzIHRoZSBvbmx5IG9wdGlvbg0KPiBhbnl3 YXkpLg0KDQpJIG1lYW50ICdzbmlwcGV0JyBpbiB0aGlzIHN1YnN1YnNlY3Rpb24uIEJ1Z2Zp eGVzIHNlZW0gdXNlZnVsIHRvIGhhdmUgaW4gDQp0aGUgcmVzdWx0IG9mICJndWl4IGJ1aWxk IC0tc291cmNlIiwgYW5kIGFwcGVhciB0byBiZSByZXF1aXJlZCB0byBiZSBpbiANCnRoZXJl IGZvciB0aGUgJ2NvcnJlc3BvbmRpbmcgc291cmNlJyB0aGluZy4NCg0KR3JlZXRpbmdzLA0K TWF4aW1lLg0KDQo= --------------ifbEgv0Xs6khanx5WMwPBaa7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On 08-08-2022 23:51, Andreas Enge wrote:
20.4.5.3 Fixing technical =
issues (compilation errors, test failures, other bugs
=2E..)
Usually, a bug fix comes in the form of a patch copied from upstream or a=
nother
distribution. In that case, simply adding the patch to the 'patches' fiel=
d is
the most convenient and usually does not cause any problems; there is no =
need
to rewrite it as a snippet or a phase.
If no ready-made patch already exists, then choosing between a patch or a=

snippet is a matter of convenience. However, there are two things to keep=
 in
mind:
First, when the fix is not Guix-specific, it is strongly desired to upstr=
eam
the fix to avoid the additional maintenance cost to Guix. As upstreams ca=
nnot
accept a snippet, writing a patch can be a more efficient use of time.
Secondly, if the fix of a technical issue embeds a store file name, then =
it has
to be a phase. Otherwise, if a store file name was embedded in the source=
, the
result of 'guix build --source' would be unusable on non-Guix systems and=

likely also unusable on Guix systems of another architecture.
Do you mean "phase" here ins=
tead of "snippet"? That is what I usually do...
My practice is to use a patch when the goal is to eventually change the
source code upstream (or it is already changed upstream and we can take a=

patch from their git repo, say), and a phase when one cannot expect upstr=
eam
to incorporate the changes since they are specific to Guix (like embeddin=
g
store paths, as Liliana writes, where apparently a phase is the only opti=
on
anyway).

I meant 'snippet' in this subsubsection. Bugfixes seem useful to have in the result of "guix build --source", and appear to be required to be in there for the 'corresponding source' thing.

Greetings,
Maxime.

--------------ifbEgv0Xs6khanx5WMwPBaa7-- --------------fUqMHKYJhoGtA1jn03WC2OX1 Content-Type: application/pgp-keys; name="OpenPGP_0x49E3EE22191725EE.asc" Content-Disposition: attachment; filename="OpenPGP_0x49E3EE22191725EE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEX4ch6BYJKwYBBAHaRw8BAQdANPb/d6MrGnGi5HyvODCkBUJPRjiFQcRU5V+m xvMaAa/NL01heGltZSBEZXZvcyA8bWF4aW1lLmRldm9zQHN0dWRlbnQua3VsZXV2 ZW4uYmU+wpAEExYIADgWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCX4ch6AIbAwUL CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJ4+4iGRcl7japAQC3opZ2KGWzWmRc /gIWSu0AAcfMwyinFEEPa/QhUt2CogD/e2RdF4CYAgaRHJJmZ9WU7piKbLZ7llB4 LzgezVDHggzNJU1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT7C kAQTFggAOBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJf56ycAhsDBQsJCAcDBRUK CQgLBRYCAwEAAh4BAheAAAoJEEnj7iIZFyXujpQBAKV1SwDDl4f24rXciDlB9L8W ycZt30CgbewMSRQk4mvbAP9dFMbVVixYBd6C8cfhR+NsOBGiOJnQABlUmgNuqGFJ Dc44BF+HIegSCisGAQQBl1UBBQEBB0BOlzIWiJzgobMF6/cqwLaLk7jIcFSZ++c0 k9cCNT6YXwMBCAfCeAQYFggAIBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJfhyHo AhsMAAoJEEnj7iIZFyXuMr0BAJc8cl5PGvVmVuSQVKjleNl4DK1/XAaPAYPe34AE fZJPAP9IqLCQhH/FeJanHqBP8gNdGNI2qn8RnnLVfRJgUjZ1BA=3D=3D =3DOVqp -----END PGP PUBLIC KEY BLOCK----- --------------fUqMHKYJhoGtA1jn03WC2OX1-- --------------80kpn98aFbk3yThyI8lD2roZ-- --------------akwDj08jfMWEL0wxyaja65SQ Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYxXzpgUDAAAAAAAKCRBJ4+4iGRcl7hUw AQDkvfbt0/2yLU+1RQo21yGu6GPpT6OMnAEbztu9W8kRFAEAtJ4i7PzhWVaXFigjPrJd4EQm6aXf 6TcsUO/AvUK02Ao= =jfOO -----END PGP SIGNATURE----- --------------akwDj08jfMWEL0wxyaja65SQ--