From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
Received: from mp11.migadu.com ([2001:41d0:8:6d80::])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
by ms5.migadu.com with LMTPS
id IMIPHVYi7WLfoQAAbAwnHQ
(envelope-from )
for ; Fri, 05 Aug 2022 15:59:50 +0200
Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
by mp11.migadu.com with LMTPS
id eJUbHVYi7WKrVQAA9RJhRA
(envelope-from )
for ; Fri, 05 Aug 2022 15:59:50 +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 1D5941A102
for ; Fri, 5 Aug 2022 15:59:49 +0200 (CEST)
Received: from localhost ([::1]:39164 helo=lists1p.gnu.org)
by lists.gnu.org with esmtp (Exim 4.90_1)
(envelope-from )
id 1oJxrf-0007rG-TJ
for larch@yhetil.org; Fri, 05 Aug 2022 09:59:47 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:41438)
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from )
id 1oJxrH-0007qt-Cd
for guix-devel@gnu.org; Fri, 05 Aug 2022 09:59:23 -0400
Received: from xavier.telenet-ops.be ([2a02:1800:120:4::f00:14]:53970)
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from )
id 1oJxrE-00007z-3F
for guix-devel@gnu.org; Fri, 05 Aug 2022 09:59:23 -0400
Received: from [192.168.247.79] ([213.119.230.10])
by xavier.telenet-ops.be with bizsmtp
id 3pzF280070E6evH01pzFr6; Fri, 05 Aug 2022 15:59:16 +0200
Message-ID: <98da36a2-d0cc-77da-77bf-6984253131ac@telenet.be>
Date: Fri, 5 Aug 2022 15:59:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
From: Maxime Devos
To: Guix-devel
References:
Content-Language: en-US
Subject: v2: A proposal of a consistent set of clear rules and guidelines
involving snippets, phases and patches.
In-Reply-To:
Content-Type: multipart/signed; micalg=pgp-sha256;
protocol="application/pgp-signature";
boundary="------------u8cIyNxBgcAFYqVrgCYsFMSr"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22;
t=1659707956; bh=CyFc95flF7kzSxf1BuH3eSTUVlVKaM8ixYe4M5UrEZU=;
h=Date:From:To:References:Subject:In-Reply-To;
b=DlCNoGIadytamvLh8oJy6VSNmIUjDkHot3QG37i34TNtVd60QaxflsuP7sZfxM9Ad
WkPghTvSY5rt85+86xjgYxPZUo2NukaAF99RBF1eMFahLB+XifcN5sorsLM5ZQsKOg
0OLKpcBGCxLJNhkDdziyedqKILOC03Dbq0MS+UVGYqW4kC0TBbBuYzWsC2GZdzCAYv
XN7cau2PfRdGEtYCL2gJe9MNNATMTUQbJritfGGHhqkQqWiyEqtPNyKgcC5DoIAZb4
6x76wsvNRn67D1TILkjTZ0sLQIE4rejrcjDB+TYrU1M9atJG9hz5X3OYehWkr9NV3v
r9BhU4rrzaQyw==
Received-SPF: pass client-ip=2a02:1800:120:4::f00:14;
envelope-from=maximedevos@telenet.be; helo=xavier.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,
HTML_MESSAGE=0.001, 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=1659707990;
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=KOUF0RDUelfrgah93WkP6hLw3oRyp94V2B3yTsYU0Rw=;
b=A0kP/zArMGFWkouoGZZ3oLx5Cx0N6a2kKeHdmywzbI7u5qdaNMNH7fW5sEP8El3e+/1aJ8
9f98uR/vva9spqsVqIUP491SFlBsFK5oU+8KgRvG2/I2DGRQrZEq8KvOrvWiFAn0L66bfh
k27YXXQkWHF2L90KeUg9ksSCBnqyKBXUmURazGN1cBT55+KGgdnLCkGfjnQI7Trsx40zdt
K1g0CoX+rAD/mYiebRzJgLoLDhlFwqK6r2ovJL0OdgXHT5kIPA2WeEEBAQTVXcsVut65xZ
0OQbQFbx8bohmpPxLwSHZw+QSWBLKknKeOEb+ReYUEaP9Bvfo7r06t5xKuB3ag==
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1659707990; a=rsa-sha256; cv=none;
b=UeVE+fAcG0+Jj+2EYCQxwVSUyHirup4jMx2mUSW9Mt/1OYKUy0YMI4N1uIYEy1zLQM2poW
HYEO+qF/FFFPwtHfFKGbNZqvqMg+73zJvGeJiRDWvSOCKQNhDk5OjUt5bTa8qzRS4oeEt+
VHEPxHvIWorSfUuUd3WnZRSEQip6Xut1d9HPGIeOJp0647YjM0FM+HFYOjIQse0pQScFTp
q5Fx0SRJafKYPTJDMLCh+o6nCqdEqj7mdwxOFPgpUPchbJOaTiSdGMsNT3qKWNrRt+fOQl
B8N5jU4pmmV36jAkxrh7vJYw4sx+IItakzlBr8TopYYHYLlw7k+62RvL0NEopQ==
ARC-Authentication-Results: i=1;
aspmx1.migadu.com;
dkim=fail ("body hash did not verify") header.d=telenet.be header.s=r22 header.b=DlCNoGIa;
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: 4.60
Authentication-Results: aspmx1.migadu.com;
dkim=fail ("body hash did not verify") header.d=telenet.be header.s=r22 header.b=DlCNoGIa;
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: 1D5941A102
X-Spam-Score: 4.60
X-Migadu-Scanner: scn0.migadu.com
X-TUID: e2h0FBHaRjRU
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------u8cIyNxBgcAFYqVrgCYsFMSr
Content-Type: multipart/mixed; boundary="------------L8JuX0VdjIi1q87bGmAsL7EJ";
protected-headers="v1"
From: Maxime Devos
To: Guix-devel
Message-ID: <98da36a2-d0cc-77da-77bf-6984253131ac@telenet.be>
Subject: v2: A proposal of a consistent set of clear rules and guidelines
involving snippets, phases and patches.
References:
In-Reply-To:
--------------L8JuX0VdjIi1q87bGmAsL7EJ
Content-Type: multipart/mixed; boundary="------------4Lub7mKL9cOUMIEDFBkvV6Qm"
--------------4Lub7mKL9cOUMIEDFBkvV6Qm
Content-Type: multipart/alternative;
boundary="------------4vR940UJvBNNSktyTQlsvwu2"
--------------4vR940UJvBNNSktyTQlsvwu2
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64
SGVyZSdzIGEgdjIuIEkndmUgY2hhbmdlZCB0aGUgc3RydWN0dXJlIHRvIHNvbWV0aGluZyBj
bG9zZSB0byB3aGF0IA0KSnVsaWVuIHByb3Bvc2VkLCBpdCBsb29rcyBhIGxvdCBiZXR0ZXIg
bm93IHRvIG1lIQ0KDQpUaGUgKF4pIHNob3VsZCBwcm9iYWJseSBiZSB0ZXN0ZWQgYmVmb3Jl
IHRoZSBmaW5hbCB2ZXJzaW9uLg0KDQpJIGRvbid0IHRoaW5rIHRoZSBsaXN0IG9mICdndWlk
aW5nIHByaW5jaXBsZXMnIGlzIHdvcmRlZCB3ZWxsLCBwcm9iYWJseSANCm5lZWRzIG1vcmUg
d29yay4NCg0KW3NvbWV0aGluZyBJIHdyb3RlIHByZXZpb3VzbHldDQoNCj4+IEZlZWwgZnJl
ZSB0byB0cnkgdG8gc2VwYXJhdGUgdGhlIHRoaW5ncywgYnV0IGdvaW5nIHByZXZpb3VzIA0K
Pj4gZGlzY3Vzc2lvbnMsIG1hbnkgdGluZ3MgYXJlIGltcG9ydGFudCwgYW5kIHRoZXkgYXBw
ZWFyIGFsbCB0byBiZSANCj4+IGluc2VwYXJhYmxlLiANCldlbGwgc2VlbXMgbGlrZSBJIHdh
cyB3cm9uZywgaXQgc3BsaXRzIG5pY2VseSBpbiB0aHJlZSBzdWJzZWN0aW9ucyENCg0KPiBJ
4oCZZCBzdWdnZXN0IHN0YXJ0aW5nIHdpdGggYSBwYXRjaCBhZ2FpbnN0IHRoYXQgc2VjdGlv
biB0byBhZGRyZXNzIG9uZQ0KPiBzcGVjaWZpYyBwb2ludCB0aGF0IHlvdSB0aGluayBpcyB0
aGUgbW9zdCBwcmVzc2luZyBvbmUuICBGcm9tIHRoZXJlIHdlDQo+IGNhbiBjb250aW51ZSB0
aGUgZGlzY3Vzc2lvbi4NCkFzIHdyaXR0ZW4gaW4gYW5vdGhlciByZXNwb25zZSwgSSBkb24n
dCByZWFsbHkgaGF2ZSBhbiBvcGluaW9uIG9uIHdoYXQncyANCm1vcmUgcHJlc3NpbmcgdGhh
biBhbm90aGVyLiBJIGhhdmUgd3JpdHRlbiB0aHJlZSAncG9pbnRzJywgYnV0IHdlIGRvbid0
IA0KaGF2ZSB0byBkaXNjdXNzIHRoZW0gYWxsIGF0IG9uY2UsIG1heWJlIGZpcnN0IDIwLjQu
NS4yPyBUaGF0IG9uZSBzb3VuZHMgDQpyZWxhdGl2ZWx5IHNpbXBsZSB0byBtZS4NCg0KLS0t
IFtzdGFydF0NCg0KMjAuNC41IFNuaXBwZXRzLCBwaGFzZXMgYW5kIHBhdGNoZXMuDQoNClNu
aXBwZXRzLCBwaGFzZXMgYW5kIHBhdGNoZXMgYXQgdGltZXMgc2VydmUgb3ZlcmxhcHBpbmcg
cHVycG9zZXMuIFRvIA0KZGVjaWRlIGJldHdlZW4gdGhlIHRocmVlLCB0aGVyZSBhcmUgYSBm
ZXcgZ3VpZGluZyBwcmluY2lwbGVzOg0KDQogICogSW4gcHJpbmNpcGxlLCBHdWl4IG9ubHkg
aGFzIGZyZWUgc29mdHdhcmU7IHdoZW4gdGhlIHVwc3RyZWFtIHNvdXJjZQ0KICAgIGNvbnRh
aW5zIHNvbWUgbm9uLWZyZWUgc29mdHdhcmUsIGl0IGhhcyB0byBiZSByZW1vdmVkIHN1Y2gg
dGhhdA0KICAgIOKAmGd1aXggYnVpbGQgLS1zb3VyY2XigJkgcmV0dXJucyB0aGUgImZyZWVk
IiBzb3VyY2UgY29kZSByYXRoZXIgdGhhbg0KICAgIHRoZSB1bm1vZGlmaWVkIHVwc3RyZWFt
IHNvdXJjZSAoc2VlOiAyOC40LjEgU29mdHdhcmUgRnJlZWRvbSkuDQogICogVGhlIHNvdXJj
ZSBvZiB0aGUgcGFja2FnZSBuZWVkcyB0byBjb3JyZXNwb25kIHRvIHdoYXQgaXMgYWN0dWFs
bHkNCiAgICBidWlsdCAoaS5lLiwgYWN0IGFzIHRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZSks
IHRvIGZ1bGZpbGwgb3VyDQogICAgZXRoaWNhbCBhbmQgbGVnYWwgb2JsaWdhdGlvbnMuDQog
ICogSXQgaXMgY29udmVuaWVudCBmb3IgdGhlIHNvdXJjZSBkZXJpdmVkIGZyb20gYW4gb3Jp
Z2luIHRvIGJ1aWxkIG9uDQogICAgYW55IHN5c3RlbSB0aGF0IHRoZSB1cHN0cmVhbSBwYWNr
YWdlIHN1cHBvcnRzLg0KICAqIFRoZSBzb3VyY2UgbmVlZHMgdG8gYWN0dWFsbHkgd29yaywg
bm90IG9ubHkgb24geW91ciBHdWl4IHN5c3RlbSBidXQNCiAgICBhbHNvIGZvciBvdGhlciBz
eXN0ZW1zOyB0aGlzIHJlcXVpcmVzIHNvbWUgY2FyZSBmb3Igc3Vic3RpdHV0aW9ucw0KICAg
IGludm9sdmluZyBzdG9yZSBpdGVtcyBhbmQgb3RoZXIgYXJjaGl0ZWN0dXJlLXNwZWNpZmlj
IGNoYW5nZXMuDQogICogU29tZXRpbWVzLCB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIHdheSB0
byBkbyBpdC4gTGV0J3MgZ28gZm9yIHRoZQ0KICAgIHNpbXBsZXN0IG9uZS4gU29tZXRpbWVz
LCB3aGljaCB0b29sIGlzIHRoZSBzaW1wbGVzdCwgaXMgc3ViamVjdGl2ZSwNCiAgICB0aGF0
J3MgZmluZSB0b28uDQoNClRvIG1ha2UgdGhpbmdzIG1vcmUgY29uY3JldGUgYW5kIHRvIHJl
c29sdmUgY29uZmxpY3RzIGJldHdlZW4gdGhlIA0KcHJpbmNpcGxlcywgYSBmZXcgY2FzZXMg
aGF2ZSBiZWVuIHdvcmtlZCBvdXQ6DQoNCjIwLjQuNS4xIFJlbW92aW5nIG5vbi1mcmVlIHNv
ZnR3YXJlLg0KDQpOb24tZnJlZSBzb2Z0d2FyZSBoYXMgdG8gYmUgcmVtb3ZlZCBpbiBhIHNu
aXBwZXQ7IHRoZSByZWFzb24gaXMgdGhhdCBhIA0KcGF0Y2ggb3IgcGhhc2Ugd2lsbCBub3Qg
d29yay4NCg0KRm9yIGEgcGF0Y2gsIHRoZSBwcm9ibGVtIGlzIHRoYXQgYSBwYXRjaCByZW1v
dmluZyBhIG5vbi1mcmVlIGZpbGUgDQphdXRvbWF0aWNhbGx5IGNvbnRhaW5zIHRoZSBub24t
ZnJlZSBmaWxlICheKSwgYW5kIHdlIGRvIG5vdCB3YW50IA0KYW55dGhpbmcgbm9uLWZyZWUg
dG8gYXBwZWFyIGluIEd1aXggZXZlbiBpZiBvbmx5IGluIGl0cyBwYXRjaGVzLg0KDQpGb3Ig
YSBwaGFzZSwgdGhlIHByb2JsZW0gaXMgdGhhdCBwaGFzZXMgZG8gbm90IGluZmx1ZW5jZSB0
aGUgcmVzdWx0IG9mIA0K4oCYZ3VpeCBidWlsZCAtLXNvdXJjZeKAmS4NCg0KKF4pIEl0IGhh
cyBiZWVuIG5vdGVkIHRoYXQgZ2l0IHBhdGNoZXMgc3VwcG9ydCByZW1vdmluZyBmaWxlcyB3
aXRob3V0IA0KaW5jbHVkaW5nIHRoZSBmaWxlIGluIHRoZSBwYXRjaCBpbiA8aW5zZXJ0IGxp
bmsgdG8gUGhpbGlwIE1jR3JhdGgncyANCmUtbWFpbD4uIElmIGl0IGlzIHZlcmlmaWVkIHRo
YXQgdGhlICdwYXRjaCcgdXRpbGl0eSBzdXBwb3J0cyBzdWNoIA0KcGF0Y2hlcywgdGhpcyBt
ZXRob2QgY2FuIGJlIHVzZWQgYW5kIHRoaXMgcG9saWN5IGFkanVzdGVkIGFwcHJvcHJpYXRl
bHkuDQoNCjIwLjQuNS4yIFJlbW92aW5nIGJ1bmRsZWQgbGlicmFyaWVzLg0KDQpCdW5kbGVk
IGxpYnJhcmllcyBzaG91bGQgbm90IGJlIHJlbW92ZWQgd2l0aCBhIHBhdGNoLCBiZWNhdXNl
IHRoZW4gdGhlIA0KcGF0Y2ggd291bGQgY29udGFpbiB0aGUgZnVsbCBidW5kbGVkIGxpYnJh
cnksIHdoaWNoIGNhbiBiZSBsYXJnZS4gVGhleSANCmNhbiBiZSByZW1vdmVkIGVpdGhlciBp
biBhIHNuaXBwZXQgb3IgYSBwaGFzZSwgb2Z0ZW4gdXNpbmcgdGhlIHByb2NlZHVyZSANCidk
ZWxldGUtZmlsZS1yZWN1cnNpdmVseScuIFRoZXJlIGFyZSBhIGZldyBiZW5lZml0cyBmb3Ig
c25pcHBldHMgaGVyZToNCg0KV2hlbiB1c2luZyBzbmlwcGV0cywgdGhlIGJ1bmRsZWQgbGli
cmFyeSBkb2VzIG5vdCBvY2N1ciBpbiB0aGUgc291cmNlIA0KcmV0dXJuZWQgYnkg4oCYZ3Vp
eCBidWlsZCAtLXNvdXJjZeKAmSwgc28gdXNlcnMgYW5kIHJldmlld2VycyBkbyBub3QgaGF2
ZSB0byANCndvcnJ5IGFib3V0IHdoZXRoZXIgdGhlIGJ1bmRsZWQgbGlicmFyeSBjb250YWlu
cyBtYWx3YXJlLCB3aGV0aGVyIGl0IGlzIA0Kbm9uLWZyZWUsIGlmIGl0IGNvbnRhaW5zIHBy
ZS1jb21waWxlZCBiaW5hcmllcyAuLi4gVGhlcmUgYXJlIGFsc28gbGVzcyANCmxpY2Vuc2lu
ZyBjb25jZXJuczogaWYgdGhlIGJ1bmRsZWQgbGlicmFyaWVzIGFyZSByZW1vdmVkLCBpdCBi
ZWNvbWVzIA0KbGVzcyBsaWtlbHkgdGhhdCB0aGUgbGljZW5zaW5nIGNvbmRpdGlvbnMgYXBw
bHkgdG8gcGVvcGxlIHNoYXJpbmcgdGhlIA0Kc291cmNlIHJldHVybmVkIGJ5IOKAmGd1aXgg
YnVpbGQgLS1zb3VyY2XigJksIGVzcGVjaWFsbHkgaWYgdGhlIGJ1bmRsZWQgDQpsaWJyYXJ5
IGlzIG5vdCBhY3R1YWxseSB1c2VkIG9uIEd1aXggc3lzdGVtcy4gKCopDQoNCkFzIHN1Y2gs
IHNuaXBwZXRzIGFyZSByZWNvbW1lbmRlZCBoZXJlLg0KDQooKikgVGhpcyBpcyBfbm90XyBh
IGNsYWltIHRoYXQgeW91IGNhbiBzaW1wbHkgaWdub3JlIHRoZSBsaWNlbnNlcyBvZiANCmxp
YnJhcmllcyB3aGVuIHRoZXkgYXJlIHVuYnVuZGxlZCBhbmQgcmVwbGFjZWQgYnkgR3VpeCBw
YWNrYWdlcyAtLSB0aGVyZSANCmFyZSBsZXNzIGNvbmNlcm5zLCBub3Qgbm9uZS4NCg0KMjAu
NC41LjMgRml4aW5nIHRlY2huaWNhbCBpc3N1ZXMgKGNvbXBpbGF0aW9uIGVycm9ycywgdGVz
dCBmYWlsdXJlcywgDQpvdGhlciBidWdzIC4uLikNCg0KVXN1YWxseSwgYSBidWcgZml4IGNv
bWVzIGluIHRoZSBmb3JtIG9mIGEgcGF0Y2ggY29waWVkIGZyb20gdXBzdHJlYW0gb3IgDQph
bm90aGVyIGRpc3RyaWJ1dGlvbi4gSW4gdGhhdCBjYXNlLCBzaW1wbHkgYWRkaW5nIHRoZSBw
YXRjaCB0byB0aGUgDQoncGF0Y2hlcycgZmllbGQgaXMgdGhlIG1vc3QgY29udmVuaWVudCBh
bmQgdXN1YWxseSBkb2VzIG5vdCBjYXVzZSBhbnkgDQpwcm9ibGVtczsgdGhlcmUgaXMgbm8g
bmVlZCB0byByZXdyaXRlIGl0IGFzIGEgc25pcHBldCBvciBhIHBoYXNlLg0KDQpJZiBubyBy
ZWFkeS1tYWRlIHBhdGNoIGFscmVhZHkgZXhpc3RzLCB0aGVuIGNob29zaW5nIGJldHdlZW4g
YSBwYXRjaCBvciANCmEgc25pcHBldCBpcyBhIG1hdHRlciBvZiBjb252ZW5pZW5jZS4gSG93
ZXZlciwgdGhlcmUgYXJlIHR3byB0aGluZ3MgdG8gDQprZWVwIGluIG1pbmQ6DQoNCkZpcnN0
LCB3aGVuIHRoZSBmaXggaXMgbm90IEd1aXgtc3BlY2lmaWMsIGl0IGlzIHN0cm9uZ2x5IGRl
c2lyZWQgdG8gDQp1cHN0cmVhbSB0aGUgZml4IHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIG1h
aW50ZW5hbmNlIGNvc3QgdG8gR3VpeC4gQXMgDQp1cHN0cmVhbXMgY2Fubm90IGFjY2VwdCBh
IHNuaXBwZXQsIHdyaXRpbmcgYSBwYXRjaCBjYW4gYmUgYSBtb3JlIA0KZWZmaWNpZW50IHVz
ZSBvZiB0aW1lLiBTZWNvbmRseSwgaWYgdGhlIGZpeCBvZiBhIHRlY2huaWNhbCBpc3N1ZSBl
bWJlZHMgDQphIHN0b3JlIGZpbGUgbmFtZSwgdGhlbiBpdCBoYXMgdG8gYmUgYSBwaGFzZS4g
T3RoZXJ3aXNlLCBpZiBhIHN0b3JlIGZpbGUgDQpuYW1lIHdhcyBlbWJlZGRlZCBpbiB0aGUg
c291cmNlLCB0aGUgcmVzdWx0IG9mICdndWl4IGJ1aWxkIC0tc291cmNlJyANCndvdWxkIGJl
IHVudXNhYmxlIG9uIG5vbi1HdWl4IHN5c3RlbXMgYW5kIGxpa2VseSBhbHNvIHVudXNhYmxl
IG9uIEd1aXggDQpzeXN0ZW1zIG9mIGFub3RoZXIgYXJjaGl0ZWN0dXJlLg0KDQo=
--------------4vR940UJvBNNSktyTQlsvwu2
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Here's a v2. I've changed the structure to something close to
what Julien proposed, it looks a lot better now to me!
The (^) should probably be tested before the final version.
I don't think the list of 'guiding principles' is worded well,
probably needs more work.
[something I wrote previously]
Feel free to try to separate the things=
,
but going previous discussions, many tings are important, and
they appear all to be inseparable.
Well seems like I was wrong, it splits nicely in three
subsections!
I=E2=80=99d suggest starti=
ng with a patch against that section to address one
specific point that you think is the most pressing one. From there we
can continue the discussion.
As written in another response, I don't really have an opinion on
what's more pressing than another. I have written three 'points',
but we don't have to discuss them all at once, maybe first
20.4.5.2? That one sounds relatively simple to me.
--- [start]
20.4.5 Snippets, phases and patches.
Snippets, phases and patches at times serve overlapping purposes.
To decide between the three, there are a few guiding principles:
- In principle, Guix only has free software; when the upstream
source contains some non-free software, it has to be removed
such that =E2=80=98guix build --source=E2=80=99 returns the "free=
d" source code
rather than the unmodified upstream source (see: 28.4.1 Software
Freedom).
- The source of the package needs to correspond to what is
actually built (i.e., act as the corresponding source), to
fulfill our ethical and legal obligations.
- It is convenient for the source derived from an origin to
build on any system that the upstream package supports.
- The source needs to actually work, not only on your Guix
system but also for other systems; this requires some care for
substitutions involving store items and other
architecture-specific changes.
- Sometimes, there is more than one way to do it. Let's go for
the simplest one. Sometimes, which tool is the simplest, is
subjective, that's fine too.
To make things more concrete and to resolve conflicts between the
principles, a few cases have been worked out:
20.4.5.1 Removing non-free software.
Non-free software has to be removed in a snippet; the reason is
that a patch or phase will not work.
For a patch, the problem is that a patch removing a non-free file
automatically contains the non-free file (^), and we do not want
anything non-free to appear in Guix even if only in its patches.
For a phase, the problem is that phases do not influence the
result of =E2=80=98guix build --source=E2=80=99.
(^) It has been noted that git patches support removing files
without including the file in the patch in <insert link to
Philip McGrath's e-mail>. If it is verified that the 'patch'
utility supports such patches, this method can be used and this
policy adjusted appropriately.
20.4.5.2 Removing bundled libraries.
Bundled libraries should not be removed with a patch, because
then the patch would contain the full bundled library, which can
be large. They can be removed either in a snippet or a phase,
often using the procedure 'delete-file-recursively'. There are a
few benefits for snippets here:
When using snippets, the bundled library does not occur in the
source returned by =E2=80=98guix build --source=E2=80=99, so users =
and reviewers
do not have to worry about whether the bundled library contains
malware, whether it is non-free, if it contains pre-compiled
binaries ... There are also less licensing concerns: if the
bundled libraries are removed, it becomes less likely that the
licensing conditions apply to people sharing the source returned
by =E2=80=98guix build --source=E2=80=99, especially if the bundled=
library is not
actually used on Guix systems. (*)
As such, snippets are recommended here.
(*) This is _not_ a claim that you can simply ignore the licenses
of libraries when they are unbundled and replaced by Guix packages
-- there are less concerns, not none.
20.4.5.3 Fixing technical issues (compilation errors, test
failures, other bugs ...)
Usually, a bug fix comes in the form of a patch copied from
upstream or another distribution. In that case, simply adding the
patch to the 'patches' field 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 upstream the fix to avoid the additional maintenance cost to
Guix. As upstreams cannot 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.
--------------4vR940UJvBNNSktyTQlsvwu2--
--------------4Lub7mKL9cOUMIEDFBkvV6Qm
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-----
--------------4Lub7mKL9cOUMIEDFBkvV6Qm--
--------------L8JuX0VdjIi1q87bGmAsL7EJ--
--------------u8cIyNxBgcAFYqVrgCYsFMSr
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"
-----BEGIN PGP SIGNATURE-----
wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYu0iMgUDAAAAAAAKCRBJ4+4iGRcl7sUX
AQD8TVpk6FW3VmF9sKBsmv23kp1EQzxg7fLO9jCh83/VAwD/Trk7ik/xPORBju+d+5JB39UNRPAK
am9Bv3tUYnoXZQk=
=qne4
-----END PGP SIGNATURE-----
--------------u8cIyNxBgcAFYqVrgCYsFMSr--