[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Process for cherry-picking patches from other projects


  • To: Juergen Gross <JGross@xxxxxxxx>
  • From: George Dunlap <George.Dunlap@xxxxxxxxxx>
  • Date: Mon, 16 May 2022 13:12:28 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mKXxXWjlAnBX6O9S2wmMAnhdNCGKvYLYpa8g8VZ/jIg=; b=fC9FO9aXcLJgmYEkIlr2eXdu70rggOmezAJdB1uo1H8vwzBeEWZUK3yzPVuGJfu1A24h5plZBa0mJQg9wbm8tZZSSJVirMVXEND/rEM8rrZuQIgGGeY3QaNfpTXCArWe1U3eURF5zhbFsRnKEZCNBKpLfH4cJ5tdS7210DH95xnmEaSJIu5UpXTOllKUAhKYWOPvDe4ZAbZYTPA9JTgwFObd/rPviCSzHq4Gx4aKRMrGMHTdXKVq0QoLjTqxUWXAOw6RSfCLZkJpjHSJKILkjOhfzITl0l2KJM25980SgNfPeNxndSQDxVxn0YTZ/mmZAZJKnh+14RaaMibuYO4LEA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bc1NYI+VQNdr5rF8KtGIajotkrn9Jht9UF2xUKB0WCI91EKurTFRqHmUaBwqFZG11j84jBH/R79VlniuIpWoohKggPb46GjMEwEWUNbK86qCo1vTady/mAvW0f0RxVlo2B8sT+rsLtFAlj/UgIoEalfEu6243ITAgte3DSEKowSkXxSEh9sT3IRqQUBVuOEFd0+mVetF5ZKttMeqlTHrzV/pYi3m+zX7uD4QHAPxAljTaCsy5qpw/qqd8/ABh7Qz3S18Hog1K0JiveI5eeTef3FZY+PK0Gb33GqC6dpKBpQmZpq8058sYQAzksNvmxKnBLKEwrCsEuQJ3erGN399rQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Roger Pau Monne <roger.pau@xxxxxxxxxx>
  • Delivery-date: Mon, 16 May 2022 13:13:02 +0000
  • Ironport-data: A9a23:qlvQsK3cqisx3fqNCPbD5Xpwkn2cJEfYwER7XKvMYbSIYQITYwd3j TtIBzjCf73ffDO2KOnCW/228UgPucSBndJmSQU6qHhgFCMV+JWUXY3DdEz5NC2fcZObFEs+t 5lONdTKJ5s4QyCA9k3ybeOwpnV3j/mGSuKtYAKo1lidYCc9IMt2oU4zy4bV+7JVvOVVIz9hm PuurcOBaAD0h2B9aDhMtvPepkk35ayi6GJB4AZgbvkXsQ6CmyEZAqxEKPDqJRMUYGX18s1W5 Qrn5Ovklo8M1051UrtJqp6iLgtSBOS60TGm0hK6YYD76vR5jnF0g/9T2MY0Mx8N0W3Uxo0pk r2hiLTrIesXFvyU8Agie0Ew/xFWZcWqL5eefBBTGeTKp6H3WyOEL8dGVSnaDqVBkgpDOklc9 ORwFdw4Rkvra9RaYl6MYrIEaswLdKEHNW6E051q5Wmx4f0OGfgvT0hWjDPxMfhZas1mRJ7ji 8QlhTVHXDvwRAVxHlotNZ8dsuD431rQKGNTkQfAzUY3yzC7IA1Z9pHIaYCQVvnUAMJfkwCfu 37M+Hn/DlcCLtuDxDGZ83WqwOjSgSf8X4FUH7q9nhJoqATLmipPV1tLBB3i/qTRZk2WArqzL 2Q79y00oqV02FGtStDldxa5vGSFrlgXXN84/+gSt1jXlPOFsl3x6m4sdR0Cadd3m8gMGTEI3 F6x2P35WWNEv+jAIZ6a3vLOxd+oAgA3AnUFfjQsVhYe7p/op4RbphDFQ8tnEaW1psboAjy2y DePxAAUiq8Pl8cN2+Oe9ErenjO3jpHTS0g+4QC/dmC46gJ0Yqa1aoru7kLUhd5bN5qQRFSFu HkCmuCd4foIAJXLkzaCKM0dEbfs6/ubPTn0hV90A4Jn5zmr42Skf41b/Hd5PkgBDyofUTrgY UuWtQYP4pZWZSGudfUuPN/3DNk2x6/9E9ijTurTctdFfpl2ckmA4T1qYkmTmWvqlSDAjJ0CB HtSSu70ZV5yNEit5GPeqzs1uVPz+h0D+A==
  • Ironport-hdrordr: A9a23:8lDvY6iswfb1rE7TmvQJSXvz+3BQX3Z13DAbv31ZSRFFG/FwyP rCoB1L73XJYWgqM03IwerwQ5VpQRvnhP1ICPoqTM2ftWjdySaVxeRZgbcKrAeQfBEWmtQ96U 4kSdkHNDSSNyk3sS+Z2njfLz9I+rDun86VbKXlvg5QpGpRGsNdBnJCe2Km+zpNNWx77PQCdK a0145inX6NaH4XZsO0Cj0uRO7YveDGk5rgfFovGwMnwBPmt0Ln1JfKVzyjmjsOWTJGxrkvtU LflRbi26mlu/anjjfBym7o6YhMkteJ8KoDOCXMsLlUFtzfsHfrWG1TYczGgNnzmpDq1L8eqq iOn/7nBbU115qeRBDynfKn4Xic7N9n0Q6f9bbfuwqtnSWxfkNFN+NRwY1eaRfX8EwmoZV117 9KxXuQs95NAQrHhzmV3amBa/n7/nDE3kbKvNRj+UC3a7FuIYO5bLZvjn99AdMFBmb3+YonGO 5hAIXV4+tXa0qTazTcsnN0yNKhU3wvFlPeK3Jy8PC9wnxThjR03kEYzMsQkjMJ8488UYBN46 DBPr5znL9DQ8cKZeZ2BfsHQ8GwFmvRKCi8e166MBDiDuUKKnjNo5n47PE84/yrYoUByN8olJ HIQDpjxBkPkoLVeLmzNbFwg2DwqT+GLEXQI+lllutEk6y5Qqb3OiueT11rm9e8opwkc7jmZ8 o=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHYZtZ1suK3TAKIFU2tuY9R7u+Tcq0c5HqAgASbAoA=
  • Thread-topic: Process for cherry-picking patches from other projects


> On May 13, 2022, at 3:52 PM, Juergen Gross <JGross@xxxxxxxx> wrote:
> 
> On 13.05.22 16:33, George Dunlap wrote:
>> Starting a new thread to make it clear that we’re discussing a wider policy 
>> here.
>> This question is aimed at Jan and Andy in particular, as I think they’ve 
>> probably done the most of this; so I’m looking to them to find out what our 
>> “standard practice” is.
>> There have recently been some patches that Bertrand has submitted which pull 
>> in code from Linux ("[PATCH 1/3] xen/arm: Sync sysregs and cpuinfo with 
>> Linux 5.18-rc3”), which has caused a discussion between him, Julien, and 
>> Stefano about the proper way to do such patches.
>> The “Origin:” tag section of xen.git/docs/process/sending-patches.pandoc 
>> suggests that there are some standards, but doesn’t spell them out.
>> The questions seem to be:
>> 1) When doing this kind of update, is it permissible to send a single patch 
>> which “batches” several upstream commits together, or should each patch be 
>> backported individually?
>> 2) If “batches” are permissible, when? When would individual patches be 
>> preferred?
>> 3) For “batch updates”, what tags are necessary? Do we need to note the 
>> changesets of all the commits, and if so, do we need multiple “Origin” tags? 
>> Do we need to include anything from the original commits — commit messages? 
>> Signed-off-by’s?
>> And a related question:
>> 4) When importing an entire file from an upstream like Linux, what tags do 
>> we need?
>> My recollection is that we often to a “accumulated patch” to update, say, 
>> the Kconfig tooling; so it seems like the answer to this is sometimes “yes”.
>> It seems to me that in a case where you’re importing a handful of patches — 
>> say 5-10 — that importing them one-by-one might be preferred; but in this 
>> case, since the submission was already made as a batch, I’d accept having it 
>> as a batch.
>> I think if I were writing this patch, I’d make a separate “Origin” tag for 
>> each commit.
>> I wouldn’t include the upstream commit messages or S-o-b’s; I would write my 
>> own commit message summarizing why I’m importing the commits, then have the 
>> ‘origin’ tags, then my own S-o-b to indicate that I am attesting that it 
>> comes from an open-source project (and for whatever copyright can be 
>> asserted on the commit message and the patch as a collection).
>> And for #4, I would do something similar: I would write my own commit 
>> message describing what the file is for and why we’re importing it; have the 
>> Origin tag point to the commit at the point I took the file; and my own 
>> S-o-b.
> 
> IMO we should add another tag for that purpose, e.g.:
> 
> File-origin: <repository> <tag> <path> [# <local-path>]
> 
> Specifying the repository the file(s) are coming from, the tag (e.g. a
> tagged version, or the top git commit), and the path of the original
> file(s) in that repository (<path> could either be a common directory
> of multiple files, or a single file; multiple "File-origin:" tags should
> be possible). In case the file is being renamed locally, its new name
> can be added as <local-path>.
> 
> This variant should be used to add _new_ files to Xen. In case of
> updating a file which has seem lots of commits since its last update or
> introduction, it might be easier to just use the "File-origin:" tag,
> probably with a note below the "---" marker that listing more than <x>
> patches (x > 10?) or splitting into more than <x> patches would be
> just useless work (common sense should apply here, especially regarding
> the readability of the patch and the related review effort).

You don’t mention what to do about SoB’s — I assume you agree with my 
assessment above, that a single  SoB from the submitter of the patch to Xen, 
asserting that they’re satisfied that all of the code has been asserted by 
other people as having a suitable license, is sufficient.

In which case, barring a contradiction from Andy or Jan as to our standard 
practice, I think that we don’t need to collect SoBs from the original commits; 
a single SoB by Bertrand (or whomever) that it all comes from Linux and that 
suitable SoBs can be tracked down should it become necessary, will be 
sufficient.

That should be enough to get the specific patch currently under discussion from 
the ARM maintainers un-stuck.

 -George

Attachment: signature.asc
Description: Message signed with OpenPGP


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.