public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Uladzimir Bely <ubely@ilbers.de>
To: isar-users@googlegroups.com
Subject: [PATCH v6 08/11] testsuite: Set ISAR_PREFETCH_BASE_APT by default
Date: Thu, 14 Mar 2024 10:27:25 +0300	[thread overview]
Message-ID: <20240314073047.29465-9-ubely@ilbers.de> (raw)
In-Reply-To: <20240314073047.29465-1-ubely@ilbers.de>

This makes Isar use `base-apt` repo in different way. Any package
installation is done from `base-apt` repo which is prepopulated
from external mirrors.

This behaviour is disabled by default for downstreams. To enable it,
set the variable to "1", like isar does in local.conf.sample.

In order to be able to run CI in old mode, allow CI read the option
from the environment. Also, adjust some tests (like repro one) to
make them work with ISAR_PREFETCH_BASE_APT set.

Signed-off-by: Uladzimir Bely <ubely@ilbers.de>
---
 meta-test/conf/local.conf.sample | 3 +++
 testsuite/cibase.py              | 4 ++++
 testsuite/cibuilder.py           | 8 +++++++-
 3 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/meta-test/conf/local.conf.sample b/meta-test/conf/local.conf.sample
index f692f533..941d7cce 100644
--- a/meta-test/conf/local.conf.sample
+++ b/meta-test/conf/local.conf.sample
@@ -34,6 +34,9 @@ IMAGE_INSTALL = "hello-isar example-raw example-module-${KERNEL_NAME} enable-fsc
 IMAGE_INSTALL:remove:qemuamd64-sb = "example-module-${KERNEL_NAME}"
 IMAGE_INSTALL:append:qemuamd64-sb = " example-module-signed-${KERNEL_NAME}"
 
+# Use new base-apt behaviour
+ISAR_PREFETCH_BASE_APT ?= "1"
+
 # Users and groups
 USERS += "root"
 USER_root[password] ??= "$6$rounds=10000$RXeWrnFmkY$DtuS/OmsAS2cCEDo0BF5qQsizIrq6jPgXnwv3PHqREJeKd1sXdHX/ayQtuQWVDHe0KIO0/sVH8dvQm1KthF0d/"
diff --git a/testsuite/cibase.py b/testsuite/cibase.py
index 90591f32..74f6c971 100755
--- a/testsuite/cibase.py
+++ b/testsuite/cibase.py
@@ -43,9 +43,13 @@ class CIBaseTest(CIBuilder):
             self.fail('GPG import failed')
 
         try:
+            self.move_in_build_dir('tmp', 'tmp_before_repro')
             self.bitbake(targets, **kwargs)
 
             self.move_in_build_dir('tmp', 'tmp_middle_repro_%s' % ('signed' if signed else 'unsigned'))
+            
+            os.makedirs(f"{self.build_dir}/tmp/deploy/")
+            self.move_in_build_dir('tmp_middle_repro_%s/deploy/base-apt' % ('signed' if signed else 'unsigned'), 'tmp/deploy/base-apt')
             self.configure(gpg_pub_key=gpg_pub_key if signed else None, offline=True, sstate_dir="", **kwargs)
 
             self.bitbake(targets, **kwargs)
diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py
index fa30c2f5..08f82295 100755
--- a/testsuite/cibuilder.py
+++ b/testsuite/cibuilder.py
@@ -104,6 +104,9 @@ class CIBuilder(Test):
         # get parameters from environment
         distro_apt_premir = os.getenv('DISTRO_APT_PREMIRRORS')
 
+        # get prefetch base apt mode from environment
+        prefetch_base_apt = os.getenv('ISAR_PREFETCH_BASE_APT')
+
         self.log.info(f'===================================================\n'
                       f'Configuring build_dir {self.build_dir}\n'
                       f'  compat_arch = {compat_arch}\n'
@@ -120,6 +123,7 @@ class CIBuilder(Test):
                       f'  sstate_dir = {sstate_dir}\n'
                       f'  ccache_dir = {ccache_dir}\n'
                       f'  image_install = {image_install}\n'
+                      f'  prefetch_base_apt = {prefetch_base_apt}\n'
                       f'===================================================')
 
         # determine bitbake_args
@@ -165,7 +169,9 @@ class CIBuilder(Test):
             if sstate_dir:
                 f.write('SSTATE_DIR = "%s"\n' % sstate_dir)
             if image_install is not None:
-                f.write('IMAGE_INSTALL = "%s"' % image_install)
+                f.write('IMAGE_INSTALL = "%s"\n' % image_install)
+            if prefetch_base_apt == "0":
+                f.write('ISAR_PREFETCH_BASE_APT = "0"\n')
 
         # include ci_build.conf in local.conf
         with open(self.build_dir + '/conf/local.conf', 'r+') as f:
-- 
2.43.0


  parent reply	other threads:[~2024-03-14  7:30 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-14  7:27 [PATCH v6 00/11] Improving base-apt usage Uladzimir Bely
2024-03-14  7:27 ` [PATCH v6 01/11] scripts: Add debrepo python script handling base-apt Uladzimir Bely
2024-03-14  7:27 ` [PATCH v6 02/11] meta: Add debrepo bbclass handling base-apt prefetching Uladzimir Bely
2024-03-14  7:27 ` [PATCH v6 03/11] meta: Always use base-apt repo in local mode Uladzimir Bely
2024-03-14  7:27 ` [PATCH v6 04/11] meta: Use cached base-apt repo to debootstrap Uladzimir Bely
2024-03-14  7:27 ` [PATCH v6 05/11] meta: Consider global debrepo context Uladzimir Bely
2024-03-14  7:27 ` [PATCH v6 06/11] base-apt: Predownload packages to base-apt before install Uladzimir Bely
2024-03-14  7:27 ` [PATCH v6 07/11] meta: Add cache-deb-src functionality in base-apt mode Uladzimir Bely
2024-03-14  7:27 ` Uladzimir Bely [this message]
2024-03-14  7:27 ` [PATCH v6 09/11] Disable deb-dl-dir in base-apt prefetch mode Uladzimir Bely
2024-03-14  7:27 ` [PATCH v6 10/11] kas: Add PREFETCH_BASE_APT config entry Uladzimir Bely
2024-03-14  7:27 ` [PATCH v6 11/11] ci_build.sh: Install python3-apt if not installed Uladzimir Bely

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=20240314073047.29465-9-ubely@ilbers.de \
    --to=ubely@ilbers.de \
    --cc=isar-users@googlegroups.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox