All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul Gortmaker" <paul.gortmaker@windriver.com>
To: Bruce Ashfield <bruce.ashfield@gmail.com>,
	Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: linux-yocto@lists.yoctoproject.org, bitbake-devel@lists.openembedded.org
Subject: [PATCH 14/21] kernel: allow splitting mainline v5.10 source download in four
Date: Fri,  2 Apr 2021 13:15:50 -0400	[thread overview]
Message-ID: <20210402171557.981599-15-paul.gortmaker@windriver.com> (raw)
In-Reply-To: <20210402171557.981599-1-paul.gortmaker@windriver.com>

Extending from three to four roughly equal chunks introduces three new
split boundaries - 3.3 4.3 and 4.18, but is trivial to hook in.

This gets chunks down to roughly 1/2G and with the resulting loss of
compression efficiency, it doesn't seem to make sense to support
splitting things any further.  See the chunk sizes in the commit.

Document the new variable and its allowed value range since we don't
see adding any further split options.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 documentation/ref-manual/variables.rst  |  6 ++++++
 meta/recipes-kernel/linux/linux-3.3.bb  |  9 +++++++++
 meta/recipes-kernel/linux/linux-4.18.bb | 10 ++++++++++
 meta/recipes-kernel/linux/linux-4.3.bb  | 10 ++++++++++
 meta/recipes-kernel/linux/linux-5.10.bb |  4 ++++
 5 files changed, 39 insertions(+)
 create mode 100644 meta/recipes-kernel/linux/linux-3.3.bb
 create mode 100644 meta/recipes-kernel/linux/linux-4.18.bb
 create mode 100644 meta/recipes-kernel/linux/linux-4.3.bb

diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 55028987c08a..1226bbf77193 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -3441,6 +3441,12 @@ system and gives an overview of their function and contents.
       lines in the example are from individual recipes and show how the
       ``PR`` value is set.
 
+   :term:`INITIAL_KERNEL_SPLIT`
+      Specifies the number of times the initial kernel Git clone should be
+      split in order to avoid one single gigabyte+ download. Supported
+      values are 0 through 3 inclusive, resulting in one through four
+      separate chunks (repositories) in the download dir.
+
    :term:`INCOMPATIBLE_LICENSE`
       Specifies a space-separated list of license names (as they would
       appear in :term:`LICENSE`) that should be excluded
diff --git a/meta/recipes-kernel/linux/linux-3.3.bb b/meta/recipes-kernel/linux/linux-3.3.bb
new file mode 100644
index 000000000000..da355f9cd32c
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-3.3.bb
@@ -0,0 +1,9 @@
+SUMMARY = "Linux kernel v3.3 source"
+DESCRIPTION = "Fetch source of the linux kernel up to the v3.3 tag"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
+KTAG = "3.3"
+
+require recipes-kernel/linux/fetch-linux.inc
diff --git a/meta/recipes-kernel/linux/linux-4.18.bb b/meta/recipes-kernel/linux/linux-4.18.bb
new file mode 100644
index 000000000000..ea87f5e92b52
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-4.18.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Linux kernel v4.18 source"
+DESCRIPTION = "Fetch source of the linux kernel up to the v4.18 tag"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
+KTAG = "4.18"
+KREF = "4.3"
+
+require recipes-kernel/linux/fetch-linux.inc
diff --git a/meta/recipes-kernel/linux/linux-4.3.bb b/meta/recipes-kernel/linux/linux-4.3.bb
new file mode 100644
index 000000000000..35e5fd48d8ba
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-4.3.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Linux kernel v4.3 source"
+DESCRIPTION = "Fetch source of the linux kernel up to the v4.3 tag"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
+
+KTAG = "4.3"
+KREF = "3.3"
+
+require recipes-kernel/linux/fetch-linux.inc
diff --git a/meta/recipes-kernel/linux/linux-5.10.bb b/meta/recipes-kernel/linux/linux-5.10.bb
index 373c6b8def2e..e147c854477d 100644
--- a/meta/recipes-kernel/linux/linux-5.10.bb
+++ b/meta/recipes-kernel/linux/linux-5.10.bb
@@ -15,6 +15,7 @@ KTAG = "5.10"
 # No split:	1521	epoch->5.10
 # One split:	1730	epoch->4.0, 4.0->5.10 (854+877)
 # Two splits:	1928	epoch->3.8, 3.8->4.12, 4.12->5.10 (628+647+653)
+# Three splits:	2106	epoch->3.3, 3.3->4.3, 4.3->4.18, 4.18->5.10 (536+532+519+520)
 #
 # Download sizes will vary depending on server compression settings.
 
@@ -28,6 +29,9 @@ python __anonymous () {
     if splits == 2:
         d.setVar("KREF", "4.12")
         return
+    if splits == 3:
+        d.setVar("KREF", "4.18")
+        return
     bb.fatal("Unsupported number of v5.10 kernel content splits (%s)." % splits)
 }
 
-- 
2.25.1


  parent reply	other threads:[~2021-04-02 17:16 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-02 17:15 [PATCH RFC 00/21] Git repository sharing for kernel (and other) repos Paul Gortmaker
2021-04-02 17:15 ` [PATCH 01/21] bitbake: fetch2/git: allow override of clone args with GITCLONEARGS Paul Gortmaker
2021-04-02 17:15 ` [PATCH 02/21] bitbake: fetch2/git: allow limiting upstream fetch refs to a subset Paul Gortmaker
2021-04-03  7:43   ` Richard Purdie
2021-04-02 17:15 ` [PATCH 03/21] bitbake: fetch2/git: allow optional git download name overrride Paul Gortmaker
2021-04-02 17:15 ` [PATCH 04/21] bitbake: fetch2/git: allow specifying repos as static/unchanging Paul Gortmaker
2021-04-02 17:15 ` [PATCH 05/21] bitbake: fetch2/git: ensure static repos have at least one refs/heads Paul Gortmaker
2021-04-02 17:15 ` [PATCH 06/21] bitbake: fetch2/git: allow alt references within download dir Paul Gortmaker
2021-04-02 17:15 ` [PATCH 07/21] bitbake: fetch2/git: append new altref line if/when SRC_URI changed value Paul Gortmaker
2021-04-02 17:15 ` [PATCH 08/21] bitbake: fetch2/git: allow pack references within download dir Paul Gortmaker
2021-04-02 17:15 ` [PATCH 09/21] bitbake: fetch2/git: use constant names for packs in static repos Paul Gortmaker
2021-04-02 17:15 ` [PATCH 10/21] kernel: add basic boilerplate for fetch-only recipes Paul Gortmaker
2021-04-02 17:15 ` [PATCH 11/21] kernel: add a fetch-only recipe for mainline v5.10 source Paul Gortmaker
2021-04-02 20:13   ` Bruce Ashfield
2021-04-02 17:15 ` [PATCH 12/21] kernel: allow splitting mainline v5.10 source download in two Paul Gortmaker
2021-04-02 17:15 ` [PATCH 13/21] kernel: allow splitting mainline v5.10 source download in three Paul Gortmaker
2021-04-02 17:15 ` Paul Gortmaker [this message]
2021-04-02 17:15 ` [PATCH 15/21] kernel: add recipe for linux-master (mainline latest) Paul Gortmaker
2021-04-02 20:16   ` Bruce Ashfield
2021-04-02 17:15 ` [PATCH 16/21] kernel: add stable fetch recipes for v5.4.x, v5.10.x and v5.12.x Paul Gortmaker
2021-04-02 17:15 ` [PATCH 17/21] kernel: add preempt-rt fetch recipes for v5.4.x, v5.10.x and 5.12.x Paul Gortmaker
2021-04-02 17:15 ` [PATCH 18/21] kernel: make v5.4.x Yocto recipes use shared source Paul Gortmaker
2021-04-02 17:15 ` [PATCH 19/21] kernel: make v5.10.x " Paul Gortmaker
2021-04-02 17:15 ` [PATCH 20/21] kernel: make linux-yocto-dev recipe " Paul Gortmaker
2021-04-02 17:15 ` [PATCH 21/21] kernel: disable (pre)mirror for linux-yocto and linux-yocto-dev Paul Gortmaker
2021-04-02 20:19   ` Bruce Ashfield
2021-04-02 22:14 ` [PATCH RFC 00/21] Git repository sharing for kernel (and other) repos Richard Purdie
2021-04-03  1:44   ` Paul Gortmaker
2021-04-03  8:33     ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210402171557.981599-15-paul.gortmaker@windriver.com \
    --to=paul.gortmaker@windriver.com \
    --cc=bitbake-devel@lists.openembedded.org \
    --cc=bruce.ashfield@gmail.com \
    --cc=linux-yocto@lists.yoctoproject.org \
    --cc=richard.purdie@linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.