* [PATCH 1/1] dpkg-runbuild: start with clean apt-cache @ 2024-01-24 8:30 Felix Moessbauer 2024-01-29 10:50 ` Uladzimir Bely 0 siblings, 1 reply; 5+ messages in thread From: Felix Moessbauer @ 2024-01-24 8:30 UTC (permalink / raw) To: isar-users; +Cc: adriaan.schmidt, Felix Moessbauer The global apt-cache is imported during dpkg-runbuild and cleaned once the function completes. This works properly on successfull builds. However, in case of a build failure, the apt-cache dir is not cleaned and re-read on the next build, leading to unstable builds in case erronous data was added to the cache. This patch adds the local apt-cache dir to the cleandirs and by that cleans it before the function is executed. Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> --- meta/classes/dpkg.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass index 3057329f..8800ce41 100644 --- a/meta/classes/dpkg.bbclass +++ b/meta/classes/dpkg.bbclass @@ -34,6 +34,7 @@ CP_FLAGS ?= "-Ln --no-preserve=owner" CP_FLAGS:sid ?= "-L --update=none --no-preserve=owner" # Build package from sources using build script +dpkg_runbuild[cleandirs] += "${WORKDIR}/rootfs" dpkg_runbuild[vardepsexclude] += "${SBUILD_PASSTHROUGH_ADDITIONS}" dpkg_runbuild() { E="${@ isar_export_proxies(d)}" -- 2.39.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] dpkg-runbuild: start with clean apt-cache 2024-01-24 8:30 [PATCH 1/1] dpkg-runbuild: start with clean apt-cache Felix Moessbauer @ 2024-01-29 10:50 ` Uladzimir Bely 2024-02-04 11:10 ` Jan Kiszka 0 siblings, 1 reply; 5+ messages in thread From: Uladzimir Bely @ 2024-01-29 10:50 UTC (permalink / raw) To: Felix Moessbauer, isar-users; +Cc: adriaan.schmidt On Wed, 2024-01-24 at 09:30 +0100, 'Felix Moessbauer' via isar-users wrote: > The global apt-cache is imported during dpkg-runbuild and cleaned > once > the function completes. This works properly on successfull builds. > However, in case of a build failure, the apt-cache dir is not cleaned > and re-read on the next build, leading to unstable builds in case > erronous data was added to the cache. > > This patch adds the local apt-cache dir to the cleandirs and by that > cleans it before the function is executed. > > Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> > --- > meta/classes/dpkg.bbclass | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass > index 3057329f..8800ce41 100644 > --- a/meta/classes/dpkg.bbclass > +++ b/meta/classes/dpkg.bbclass > @@ -34,6 +34,7 @@ CP_FLAGS ?= "-Ln --no-preserve=owner" > CP_FLAGS:sid ?= "-L --update=none --no-preserve=owner" > > # Build package from sources using build script > +dpkg_runbuild[cleandirs] += "${WORKDIR}/rootfs" > dpkg_runbuild[vardepsexclude] += "${SBUILD_PASSTHROUGH_ADDITIONS}" > dpkg_runbuild() { > E="${@ isar_export_proxies(d)}" > -- > 2.39.2 > Applied to next, thanks. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] dpkg-runbuild: start with clean apt-cache 2024-01-29 10:50 ` Uladzimir Bely @ 2024-02-04 11:10 ` Jan Kiszka 2024-02-05 7:35 ` MOESSBAUER, Felix 0 siblings, 1 reply; 5+ messages in thread From: Jan Kiszka @ 2024-02-04 11:10 UTC (permalink / raw) To: Uladzimir Bely, Felix Moessbauer, isar-users; +Cc: adriaan.schmidt On 29.01.24 11:50, Uladzimir Bely wrote: > On Wed, 2024-01-24 at 09:30 +0100, 'Felix Moessbauer' via isar-users > wrote: >> The global apt-cache is imported during dpkg-runbuild and cleaned >> once >> the function completes. This works properly on successfull builds. >> However, in case of a build failure, the apt-cache dir is not cleaned >> and re-read on the next build, leading to unstable builds in case >> erronous data was added to the cache. >> >> This patch adds the local apt-cache dir to the cleandirs and by that >> cleans it before the function is executed. >> >> Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> >> --- >> meta/classes/dpkg.bbclass | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass >> index 3057329f..8800ce41 100644 >> --- a/meta/classes/dpkg.bbclass >> +++ b/meta/classes/dpkg.bbclass >> @@ -34,6 +34,7 @@ CP_FLAGS ?= "-Ln --no-preserve=owner" >> CP_FLAGS:sid ?= "-L --update=none --no-preserve=owner" >> >> # Build package from sources using build script >> +dpkg_runbuild[cleandirs] += "${WORKDIR}/rootfs" >> dpkg_runbuild[vardepsexclude] += "${SBUILD_PASSTHROUGH_ADDITIONS}" >> dpkg_runbuild() { >> E="${@ isar_export_proxies(d)}" >> -- >> 2.39.2 >> > Applied to next, thanks. > This does not work that cleanly as it suggests: rootfs requires sudo rights to be cleaned reliably. I'm now getting build failures on rebuilds due to that. Maybe using the root_cleandirs flag instead would work? Jan -- Siemens AG, Technology Linux Expert Center ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] dpkg-runbuild: start with clean apt-cache 2024-02-04 11:10 ` Jan Kiszka @ 2024-02-05 7:35 ` MOESSBAUER, Felix 2024-02-05 8:56 ` Jan Kiszka 0 siblings, 1 reply; 5+ messages in thread From: MOESSBAUER, Felix @ 2024-02-05 7:35 UTC (permalink / raw) To: ubely, isar-users, Kiszka, Jan; +Cc: Schmidt, Adriaan On Sun, 2024-02-04 at 12:10 +0100, Jan Kiszka wrote: > On 29.01.24 11:50, Uladzimir Bely wrote: > > On Wed, 2024-01-24 at 09:30 +0100, 'Felix Moessbauer' via isar- > > users > > wrote: > > > The global apt-cache is imported during dpkg-runbuild and cleaned > > > once > > > the function completes. This works properly on successfull > > > builds. > > > However, in case of a build failure, the apt-cache dir is not > > > cleaned > > > and re-read on the next build, leading to unstable builds in case > > > erronous data was added to the cache. > > > > > > This patch adds the local apt-cache dir to the cleandirs and by > > > that > > > cleans it before the function is executed. > > > > > > Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> > > > --- > > > meta/classes/dpkg.bbclass | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/meta/classes/dpkg.bbclass > > > b/meta/classes/dpkg.bbclass > > > index 3057329f..8800ce41 100644 > > > --- a/meta/classes/dpkg.bbclass > > > +++ b/meta/classes/dpkg.bbclass > > > @@ -34,6 +34,7 @@ CP_FLAGS ?= "-Ln --no-preserve=owner" > > > CP_FLAGS:sid ?= "-L --update=none --no-preserve=owner" > > > > > > # Build package from sources using build script > > > +dpkg_runbuild[cleandirs] += "${WORKDIR}/rootfs" > > > dpkg_runbuild[vardepsexclude] += > > > "${SBUILD_PASSTHROUGH_ADDITIONS}" > > > dpkg_runbuild() { > > > E="${@ isar_export_proxies(d)}" > > > -- > > > 2.39.2 > > > > > Applied to next, thanks. > > > > This does not work that cleanly as it suggests: rootfs requires sudo > rights to be cleaned reliably. I'm now getting build failures on Despite the name, this is NOT a rootfs but just a regular directory with only the apt cache in it. All artifacts inside this cache should be writable by non root. > rebuilds due to that. Maybe using the root_cleandirs flag instead > would > work? Another undocumented feature... But yes, the code looks like this would solve the issue. Felix > > Jan > -- Siemens AG, Technology Linux Expert Center ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] dpkg-runbuild: start with clean apt-cache 2024-02-05 7:35 ` MOESSBAUER, Felix @ 2024-02-05 8:56 ` Jan Kiszka 0 siblings, 0 replies; 5+ messages in thread From: Jan Kiszka @ 2024-02-05 8:56 UTC (permalink / raw) To: Moessbauer, Felix (T CED OES-DE), ubely, isar-users Cc: Schmidt, Adriaan (T CED EDC-DE) On 05.02.24 08:35, Moessbauer, Felix (T CED OES-DE) wrote: > On Sun, 2024-02-04 at 12:10 +0100, Jan Kiszka wrote: >> On 29.01.24 11:50, Uladzimir Bely wrote: >>> On Wed, 2024-01-24 at 09:30 +0100, 'Felix Moessbauer' via isar- >>> users >>> wrote: >>>> The global apt-cache is imported during dpkg-runbuild and cleaned >>>> once >>>> the function completes. This works properly on successfull >>>> builds. >>>> However, in case of a build failure, the apt-cache dir is not >>>> cleaned >>>> and re-read on the next build, leading to unstable builds in case >>>> erronous data was added to the cache. >>>> >>>> This patch adds the local apt-cache dir to the cleandirs and by >>>> that >>>> cleans it before the function is executed. >>>> >>>> Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com> >>>> --- >>>> meta/classes/dpkg.bbclass | 1 + >>>> 1 file changed, 1 insertion(+) >>>> >>>> diff --git a/meta/classes/dpkg.bbclass >>>> b/meta/classes/dpkg.bbclass >>>> index 3057329f..8800ce41 100644 >>>> --- a/meta/classes/dpkg.bbclass >>>> +++ b/meta/classes/dpkg.bbclass >>>> @@ -34,6 +34,7 @@ CP_FLAGS ?= "-Ln --no-preserve=owner" >>>> CP_FLAGS:sid ?= "-L --update=none --no-preserve=owner" >>>> >>>> # Build package from sources using build script >>>> +dpkg_runbuild[cleandirs] += "${WORKDIR}/rootfs" >>>> dpkg_runbuild[vardepsexclude] += >>>> "${SBUILD_PASSTHROUGH_ADDITIONS}" >>>> dpkg_runbuild() { >>>> E="${@ isar_export_proxies(d)}" >>>> -- >>>> 2.39.2 >>>> >>> Applied to next, thanks. >>> >> >> This does not work that cleanly as it suggests: rootfs requires sudo >> rights to be cleaned reliably. I'm now getting build failures on > > Despite the name, this is NOT a rootfs but just a regular directory > with only the apt cache in it. All artifacts inside this cache should > be writable by non root. > >> rebuilds due to that. Maybe using the root_cleandirs flag instead >> would >> work? > > Another undocumented feature... But yes, the code looks like this would > solve the issue. Will you have a look? I'd like to not have this regression in the upcoming release. Jan -- Siemens AG, Technology Linux Expert Center ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-02-05 8:56 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-01-24 8:30 [PATCH 1/1] dpkg-runbuild: start with clean apt-cache Felix Moessbauer 2024-01-29 10:50 ` Uladzimir Bely 2024-02-04 11:10 ` Jan Kiszka 2024-02-05 7:35 ` MOESSBAUER, Felix 2024-02-05 8:56 ` Jan Kiszka
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox