From: Srinuvasan Arjunan <srinuvasanasv@gmail.com>
To: "cedric.hombourger@siemens.com" <cedric.hombourger@siemens.com>
Cc: "ubely@ilbers.de" <ubely@ilbers.de>,
"isar-users@googlegroups.com" <isar-users@googlegroups.com>,
"Arjunan, Srinu" <srinuvasan.a@siemens.com>
Subject: Re: [PATCH 1/1] image: move deb-src-caching functionality after image creation
Date: Thu, 27 Mar 2025 22:25:38 +0530 [thread overview]
Message-ID: <CAB2Z2nPJBffOwGwMYrk7Z90Z9VcV5YbmtPuFG=dEd-p5hZrvUA@mail.gmail.com> (raw)
In-Reply-To: <1c66d14280d6a27e1529659b2d651f172a32ed87.camel@siemens.com>
[-- Attachment #1: Type: text/plain, Size: 13790 bytes --]
On Fri, Mar 21, 2025 at 7:20 PM 'cedric.hombourger@siemens.com' via
isar-users <isar-users@googlegroups.com> wrote:
> On Fri, 2025-03-21 at 11:39 +0300, Uladzimir Bely wrote:
> > On Fri, 2025-03-21 at 06:32 +0000,
> > cedric.hombourger@siemens.com wrote:
> > > On Fri, 2025-03-21 at 09:27 +0300, Uladzimir Bely wrote:
> > > > On Thu, 2025-03-20 at 07:18 +0000, 'Arjunan, Srinu' via isar-
> > > > users
> > > > wrote:
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: Uladzimir Bely <ubely@ilbers.de>
> > > > > Sent: 20 March 2025 11:02
> > > > > To: Arjunan, Srinu (FT FDS CES LX PBU 2)
> > > > > <srinuvasan.a@siemens.com>;
> > > > > isar-users@googlegroups.com
> > > > > Cc: Kiszka, Jan (FT RPD CED) <jan.kiszka@siemens.com>;
> > > > > Hombourger,
> > > > > Cedric (FT FDS CES LX) <cedric.hombourger@siemens.com>;
> > > > > Niedermayr,
> > > > > Benedikt (FT RPD CED OES-DE) <benedikt.niedermayr@siemens.com>;
> > > > > Adithya.Balakumar@toshiba-tsip.com
> > > > > Subject: Re: [PATCH 1/1] image: move deb-src-caching
> > > > > functionality
> > > > > after image creation
> > > > >
> > > > > On Tue, 2025-03-18 at 16:45 +0000, Arjunan, Srinu wrote:
> > > > > >
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: Arjunan, Srinu (FT FDS CES LX PBU 2)
> > > > > > <srinuvasan.a@siemens.com>
> > > > > > Sent: 10 March 2025 17:22
> > > > > > To: isar-users@googlegroups.com
> > > > > > Cc: Kiszka, Jan (FT RPD CED) <jan.kiszka@siemens.com>;
> > > > > > Hombourger,
> > > > > > Cedric (FT FDS CES LX) <cedric.hombourger@siemens.com>;
> > > > > > ubely@ilbers.de; Niedermayr, Benedikt (FT RPD CED OES-DE)
> > > > > > <benedikt.niedermayr@siemens.com>;
> > > > > > Adithya.Balakumar@toshiba-tsip.com; Arjunan, Srinu (FT FDS
> > > > > > CES
> > > > > > LX
> > > > > > PBU
> > > > > > 2) <srinuvasan.a@siemens.com>
> > > > > > Subject: [PATCH 1/1] image: move deb-src-caching
> > > > > > functionality
> > > > > > after
> > > > > > image creation
> > > > > >
> > > > > > From: srinuvasan <srinuvasan.a@siemens.com>
> > > > > >
> > > > > > When we do deb-src caching, we are missing to cache imager
> > > > > > related
> > > > > > packages, because the deb-src-caching functionality runs in
> > > > > > the
> > > > > > stage
> > > > > > of ROOTFS_POSTPROCESS_COMAMND, but image creation task runs
> > > > > > after
> > > > > > the
> > > > > > rootfs creation, hence imager related packages are missing in
> > > > > > rootfs's
> > > > > > var/cache/apt/archives.
> > > > > >
> > > > > > To solve this issue run the deb-src-caching after image
> > > > > > creation,
> > > > > > now
> > > > > > we can able to download deb-src for all the deb packages.
> > > > > >
> > > > > > Signed-off-by: srinuvasan <srinuvasan.a@siemens.com>
> > > > > > ---
> > > > > > meta/classes/image.bbclass | 8 +++++++-
> > > > > > meta/classes/rootfs.bbclass
> > > > > > > 3 ++-
> > > > > > 2 files changed, 9 insertions(+), 2 deletions(-)
> > > > > >
> > > > > > diff --git a/meta/classes/image.bbclass
> > > > > > b/meta/classes/image.bbclass
> > > > > > index 56eca202..66b4d313 100644
> > > > > > --- a/meta/classes/image.bbclass
> > > > > > +++ b/meta/classes/image.bbclass
> > > > > > @@ -72,7 +72,13 @@ ROOTFS_MANIFEST_DEPLOY_DIR ?=
> > > > > > "${DEPLOY_DIR_IMAGE}"
> > > > > > ROOTFS_DPKGSTATUS_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}"
> > > > > > ROOTFS_PACKAGE_SUFFIX ?= "${PN}-${DISTRO}-${MACHINE}"
> > > > > >
> > > > > > -ROOTFS_POSTPROCESS_COMMAND:prepend =
> > > > > > "${@bb.utils.contains('BASE_REPO_FEATURES', 'cache-deb-src',
> > > > > > 'cache_deb_src', '', d)} "
> > > > > > +CACHE_DEB_SRC = "${@bb.utils.contains('BASE_REPO_FEATURES',
> > > > > > 'cache-
> > > > > > deb-src', '1', '0', d)}"
> > > > > > +
> > > > > > +python () {
> > > > > > + if bb.utils.to_boolean(d.getVar('CACHE_DEB_SRC')):
> > > > > > + bb.build.addtask('do_cache_deb_src', 'do_deploy',
> > > > > > 'do_image',
> > > > > > +d) }
> > > > > > +
> > > > > >
> > > > > > inherit rootfs
> > > > > > inherit sdk
> > > > > > diff --git a/meta/classes/rootfs.bbclass
> > > > > > b/meta/classes/rootfs.bbclass
> > > > > > index 2348e269..c9e832dc 100644
> > > > > > --- a/meta/classes/rootfs.bbclass
> > > > > > +++ b/meta/classes/rootfs.bbclass
> > > > > > @@ -272,7 +272,8 @@ python do_rootfs_install() { } addtask
> > > > > > rootfs_install before do_rootfs_postprocess after do_unpack
> > > > > >
> > > > > > -cache_deb_src() {
> > > > > > +do_cache_deb_src[network] = "${TASK_USE_SUDO}"
> > > > > > +do_cache_deb_src() {
> > > > > > if [ -e "${ROOTFSDIR}"/etc/resolv.conf ] ||
> > > > > > [ -h "${ROOTFSDIR}"/etc/resolv.conf ]; then
> > > > > > sudo mv "${ROOTFSDIR}"/etc/resolv.conf
> > > > > > "${ROOTFSDIR}"/etc/resolv.conf.isar
> > > > > > --
> > > > > > 2.39.5
> > > > > >
> > > > > > Hi All,
> > > > > >
> > > > > > Can you please update the status of this patch?, or
> > > > > > anything
> > > > > > missing from my end?
> > > > > >
> > > > >
> > > > > Hello.
> > > > >
> > > > > Sorry for delays related to "installer" currently breaking full
> > > > > CI
> > > > > on
> > > > > "next" branch.
> > > > >
> > > > > Tested recently your patch, it also makes CI fail at:
> > > > >
> > > > > CrossTest.test_cross_debsrc:
> > > > >
> > > > > ```
> > > > > [stdlog] 2025-03-19 21:29:50,542 avocado.app ERROR| ERROR: Task
> > > > > (mc:qemuarm64-
> > > > > bookworm:/workspace/build/isar_ub_devel_fast/214/meta-
> > > > > test/recipes-core/images/isar-image-ci.bb:do_cache_deb_src)
> > > > > failed
> > > > > with exit code '1'
> > > > > [stdlog] 2025-03-19 21:30:44,921 avocado.test INFO | | DEBUG:
> > > > > Executing shell function do_cache_deb_src [stdlog] 2025-03-19
> > > > > 21:30:44,921 avocado.test INFO | | Reading package lists...
> > > > > [stdlog] 2025-03-19 21:30:44,921 avocado.test INFO | | E: You
> > > > > must
> > > > > put some 'deb-src' URIs in your sources.list ```
> > > > >
> > > > > NoCrossTest.test_nocross_debsrc:
> > > > >
> > > > > ```
> > > > > [stdlog] 2025-03-20 01:09:35,759 avocado.app ERROR| ERROR:
> > > > > Logfile
> > > > > of
> > > > > failure stored in:
> > > > > /workspace/build/isar_ub_devel/126/build/tmp/work/debian-
> > > > > bookworm-
> > > > > armhf/isar-image-ci-qemuarm/1.0-
> > > > > r0/temp/log.do_cache_deb_src.218291
> > > > > [stdlog] 2025-03-20 01:09:35,832 avocado.app ERROR| ERROR: Task
> > > > > (mc:qemuarm-bookworm:/workspace/build/isar_ub_devel/126/meta-
> > > > > test/recipes-core/images/isar-image-ci.bb:do_cache_deb_src)
> > > > > failed
> > > > > with exit code '1'
> > > > > [stdlog] 2025-03-20 01:19:35,822 avocado.test INFO | | DEBUG:
> > > > > Executing shell function do_cache_deb_src [stdlog] 2025-03-20
> > > > > 01:19:35,823 avocado.test INFO | | Reading package lists...
> > > > > [stdlog] 2025-03-20 01:19:35,823 avocado.test INFO | | E: You
> > > > > must
> > > > > put some 'deb-src' URIs in your sources.list ```
> > > > >
> > > > >
> > > > > Hi Uladzimir,
> > > > >
> > > > > Thank you for the reply, I am not able to
> > > > > reproduce the build issue what you reported , I triggered the
> > > > > build
> > > > > for isar-image-ci target and it's getting passed.
> > > > >
> > > > > This patch depend on Cedric patch [1]
> > > > > [1]:
> > > > > https://groups.google.com/g/isar-users/c/OwrSBmCPe0Y
> > > > >
> > > > > I validated my patch along with the [1], it seems working fine.
> > > > >
> > > > > Or Can you please provide the steps to reproduce the issue?
> > > > >
> > > > >
> > > > > > Many thanks,
> > > > > > Srinu
> > > > > >
> > > > >
> > > >
> > > > I finally found root cause and easy steps to reproduce. The patch
> > > > moves
> > > > debsrc caching to later stage and that results in incompatibility
> > > > with
> > > > DISTRO_APT_PREMIRRORS option we are globally using in CI.
> > >
> > > Ah thanks. Are you seeing any issues with my patch alone? (was
> > > going
> > > to
> > > re-run a local CI build to *double* check)
> > >
> > > Would appreciate if my changes may be CI-checked alone and merged;
> > > provided there are no issues ofcourse :)
> > >
> >
> > Actually, found easy way to reproduce the issue with "deb-dl-dir:
> > remove excessive calls to dpkg-deb in debsrc_download" on top of
> > 'next'.
>
> Fantastic!
>
> I have revised my patch to combine the list of source packages we'd
> like and the list of packages known to apt (apt-cache dumpavail).
>
> I am now going to exercise this revised approach in our downstream
> layer (where we are downloading thousands of source packages) but also
> with the Isar CI tests.
>
> This will probably take a little while... stay tuned!
> and thanks again for all the help
>
> >
> > Steps to reproduce with kas-container:
> >
> > 1. Place the deb we fail to download sources for to downloads
> > directory.
> > ```
> > mkdir -p ./build/downloads/deb/raspios-bookworm
> > wget
> >
> https://deb.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2023.3+deb12u1_all.deb
> > -P build/downloads/deb/raspios-bookworm/
> > ```
> >
> > 2. Configure build:
> >
> > ./kas/kas-container menu
> > - `Machine selection`: rpi-arm-v7l
> > - `Distro selection`: Raspberry Pi OS Debian 12 (bookworm)
> > - `Cache all source packages`: check the option
> >
> > Run build
> >
> > 3. Result:
> >
> > ```
> > > E: Can not find version '2023.3+deb12u1' of package 'debian-
> > > archive-
> > keyring'
> > > E: Unable to find a source package for debian-archive-keyring
> > > DEBUG: Executing shell function rootfs_do_umounts
> > > DEBUG: Shell function rootfs_do_umounts finished
> > > DEBUG: Python function do_rootfs_postprocess finished
> > ERROR: Task (/build/../repo/meta-isar/recipes-core/images/isar-image-
> > base.bb:do_rootfs_postprocess) failed with exit code '1'
> > ```
> >
> > The issue is not reproducable on 'next' (since we are parsing
> > dpkg.log
> > and it has no entry for debian-archive-keyring, since it is not a
> > part
> > of current build.
> >
> > > >
> > > > Steps to reproduce:
> > > >
> > > > 1. Run `./kas/kas-container menu`
> > > > 2. Change the configuration:
> > > > - `Mirror selection => Use specific Debian mirror`:
> > > > http://ftp.de.debian.org/
> > > > - `Cache all source packages`: Check the option
> > > > - `Packages selection => Isar packages`: Uncheck everything to
> > > > speedup
> > > > build (not necessary step)
> > > > 3. Run build
> > > >
> > > > It fails with:
> > > >
> > > > ```
> > > > ERROR: isar-image-base-1.0-r0 do_cache_deb_src:
> > > > ExecutionError('/build/tmp/work/debian-bookworm-amd64/isar-image-
> > > > base-
> > > > qemuamd64/1.0-r0/temp/run.do_cache_deb_src.10979', 100, None,
> > > > None)
> > > > ERROR: Logfile of failure stored in: /build/tmp/work/debian-
> > > > bookworm-
> > > > amd64/isar-image-base-qemuamd64/1.0-
> > > > r0/temp/log.do_cache_deb_src.10979
> > > > Log data follows:
> > > > > DEBUG: Executing shell function do_cache_deb_src
> > > > > Reading package lists...
> > > > > E: You must put some 'deb-src' URIs in your sources.list
> > > > ERROR: Task (/build/../repo/meta-isar/recipes-core/images/isar-
> > > > image-
> > > > base.bb:do_cache_deb_src) failed with exit code '1'
> > > > ```
> > > >
> > > > > --
> > > > > Best regards,
> > > > > Uladzimir.
> > > > >
>
Hi Uladzimir,
I triggered the CI build locally with this patch; it looks like CI builds
are getting passed, Here are the logs:
Logs:
builder@0ed36b8446c5:/work/isar/testsuite$ avocado run citest.py -t dev
--max-parallel-tasks=1
JOB ID : 3ca66c44c8b33b1e2f265f46613f502fa89dbbde
JOB LOG :
/tmp/tmppvxevsmp/avocado/job-results/job-2025-03-27T15.58-3ca66c4/job.log
(1/6) citest.py:DevTest.test_dev: STARTED
(1/6) citest.py:DevTest.test_dev: PASS (1004.16 s)
(2/6) citest.py:DevTest.test_dev_apps: STARTED
(2/6) citest.py:DevTest.test_dev_apps: PASS (1153.27 s)
(3/6) citest.py:DevTest.test_dev_rebuild: STARTED
(3/6) citest.py:DevTest.test_dev_rebuild: PASS (450.10 s)
(4/6) citest.py:DevTest.test_dev_run_amd64_bullseye: STARTED
(4/6) citest.py:DevTest.test_dev_run_amd64_bullseye: PASS (56.52 s)
(5/6) citest.py:DevTest.test_dev_run_arm64_bullseye: STARTED
(5/6) citest.py:DevTest.test_dev_run_arm64_bullseye: PASS (45.19 s)
(6/6) citest.py:DevTest.test_dev_run_arm_bullseye: STARTED
(6/6) citest.py:DevTest.test_dev_run_arm_bullseye: PASS (49.96 s)
RESULTS : PASS 6 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 |
CANCEL 0
JOB TIME : 2765.02 s
Many thanks,
Srinu
> > > >
> > >
> > > --
> > > Cedric Hombourger
> > > Siemens AG
> > > http://www.siemens.com/
> >
>
> --
> Cedric Hombourger
> Siemens AG
> http://www.siemens.com/
>
> --
> You received this message because you are subscribed to the Google Groups
> "isar-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to isar-users+unsubscribe@googlegroups.com.
> To view this discussion visit
> https://groups.google.com/d/msgid/isar-users/1c66d14280d6a27e1529659b2d651f172a32ed87.camel%40siemens.com
> .
>
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/CAB2Z2nPJBffOwGwMYrk7Z90Z9VcV5YbmtPuFG%3DdEd-p5hZrvUA%40mail.gmail.com.
[-- Attachment #2: Type: text/html, Size: 21177 bytes --]
next prev parent reply other threads:[~2025-03-27 16:56 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-10 11:51 [PATCH 0/1] Fix deb-src caching issue srinuvasan.a via isar-users
2025-03-10 11:51 ` [PATCH 1/1] image: move deb-src-caching functionality after image creation srinuvasan.a via isar-users
2025-03-18 16:45 ` 'Arjunan, Srinu' via isar-users
2025-03-20 5:31 ` Uladzimir Bely
2025-03-20 7:18 ` 'Arjunan, Srinu' via isar-users
2025-03-20 8:27 ` 'cedric.hombourger@siemens.com' via isar-users
2025-03-20 17:56 ` Uladzimir Bely
2025-03-20 18:02 ` 'cedric.hombourger@siemens.com' via isar-users
2025-03-21 5:32 ` Uladzimir Bely
2025-03-21 6:27 ` Uladzimir Bely
2025-03-21 6:32 ` 'cedric.hombourger@siemens.com' via isar-users
2025-03-21 7:06 ` Uladzimir Bely
2025-03-21 8:39 ` Uladzimir Bely
2025-03-21 13:50 ` 'cedric.hombourger@siemens.com' via isar-users
2025-03-27 16:55 ` Srinuvasan Arjunan [this message]
2025-04-03 12:58 ` [PATCH 1/2] meta/classes/rootfs: carry bootstrap list file until the image rootfs srinuvasan.a via isar-users
2025-04-03 12:58 ` [PATCH 2/2] image: move deb-src-caching functionality after image creation srinuvasan.a via isar-users
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='CAB2Z2nPJBffOwGwMYrk7Z90Z9VcV5YbmtPuFG=dEd-p5hZrvUA@mail.gmail.com' \
--to=srinuvasanasv@gmail.com \
--cc=cedric.hombourger@siemens.com \
--cc=isar-users@googlegroups.com \
--cc=srinuvasan.a@siemens.com \
--cc=ubely@ilbers.de \
/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