public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [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