Thank you Nicolas for asking this question since I will probably run into
this issue soon if not for this email thread. The answers so far have been
very helpful but I just want to clarify a bit more on why doesn't the
package get rebuilt? From my understanding, Yocto should rerun a task when
the signature of the task changes and since do_install has an override on
mydistro-dev, shouldn't the content and thus the signature of do_install
change when switching distro and so Yocto should rerun it? I have a lot of
tasks with override not just on DISTRO but other things like MACHINE or
custom variables so I want to understand the rebuild mechanism as best I
can.

Best,
Khoi Trinh

On Tue, Jul 12, 2022 at 8:05 AM Mike Looijmans <mike.looijm...@topic.nl>
wrote:

> Quick answer: Don't build multiple distros in one build directory.
>
> You might get away with setting TMPDIR = "tmp-${DISTRO}" to give each
> its own.
>
> But I'd rather advice to set up two separate builds and just point the
> downloads and sstate-cache to the same location. It'll be faster than
> the TMPDIR option.
>
> Or figure out how to put the difference in the IMAGE only. Then you can
> just build both images (in parallel, woot), which is faster, more
> convenient and saves on diskspace.
>
> What I often do is have my-application.bb generate a
> my-application-utils package that only gets installed in the "dev" image
> but not in the production one, which only installs "my-application".
>
> You could also create a "my-application-dev.bb" recipe that includes
> my-application.bb and just changes what it needs to be different.
>
>
>
>
> Met vriendelijke groet / kind regards,
>
> Mike Looijmans
> System Expert
>
>
> TOPIC Embedded Products B.V.
> Materiaalweg 4, 5681 RJ Best
> The Netherlands
>
> T: +31 (0) 499 33 69 69
> E: mike.looijm...@topicproducts.com
> W: www.topic.nl
>
> Please consider the environment before printing this e-mail
> On 12-07-2022 15:37, Nicolas Jeker via lists.yoctoproject.org wrote:
> > Hi all,
> >
> > I'm currently using an additional layer and image to differentiate
> > between a release and development build (enabling NFS, SSH, root login,
> > etc.). To create a development build, I manually add the layer to
> > bblayers.conf. This works quite well, but feels a bit clumsy to
> > integrate into a CI/CD pipeline.
> >
> > Per these past discussions here [1][2], I'm now trying to migrate to
> > multiple DISTROs, something like "mydistro" and "mydistro-dev".
> >
> > While migrating some of the changes, I discovered that I run into
> > caching(?) issues. I have a recipe for an internal application and want
> > to include additional systemd service files in the development image.
> >
> > What I did was this:
> >
> > Added "application-dbg.service" to recipes-internal/application/files
> >
> > Adapted application.bb recipe:
> >
> > SRC_URI:append:mydistro-dev = " file://application-dbg.service"
> >
> > do_install {
> >      # ...snip...
> >      # systemd service
> >      install -d ${D}${systemd_system_unitdir}
> >      install -m 0644 ${WORKDIR}/application.service
> > ${D}${systemd_system_unitdir}
> > }
> >
> > do_install:append:mydistro-dev() {
> >      # debug systemd services
> >      install -d ${D}${systemd_system_unitdir}
> >      install -m 0644 ${WORKDIR}/application-dbg.service
> > ${D}${systemd_system_unitdir}
> > }
> >
> >
> > When I run "DISTRO=mydistro-dev bitbake application" followed by
> > "DISTRO=mydistro bitbake application", the debug service file is still
> > present in the package. This seems to be caused by the "image"
> > directory in the recipe WORKDIR not being cleaned between subsequent
> > do_install runs. Is this expected behaviour? What's the best solution?
> >
> > Kind regards,
> > Nicolas
> >
> > [1]:
> >
> https://lore.kernel.org/yocto/CAH9dsRiArf_9GgQS4hCg5=j_jk6cd3eigaoiqd788+isltu...@mail.gmail.com/
> > [2]:
> >
> https://lore.kernel.org/yocto/vi1pr0602mb3549f83ac93a53785de48677d3...@vi1pr0602mb3549.eurprd06.prod.outlook.com/
> >
> >
> >
>
> --
> Mike Looijmans
>
>
> 
>
>

-- 
Best,
Khoi Trinh
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#57516): https://lists.yoctoproject.org/g/yocto/message/57516
Mute This Topic: https://lists.yoctoproject.org/mt/92332946/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to