From: Henning Schild <henning.schild@siemens.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: <isar-users@googlegroups.com>
Subject: Re: [PATCH] dpkg-base: apt-get "update" before "source"
Date: Mon, 11 Feb 2019 19:08:03 +0100 [thread overview]
Message-ID: <20190211190803.6cd6dab1@md1za8fc.ad001.siemens.net> (raw)
In-Reply-To: <0ff54328-5b30-e645-619e-0eaac9c184b5@siemens.com>
Am Mon, 11 Feb 2019 13:53:07 +0100
schrieb Jan Kiszka <jan.kiszka@siemens.com>:
> On 11.02.19 10:35, [ext] Henning Schild wrote:
> > Here i see an often repeating pattern. That "apt-get update" is now
> > present in many entry points to the buildchroot.
> > I guess we should factor it out and put it into a central place. And
> > the rule of thumb probably is ... whenever you use anything apt,
> > apt-get update before you do ...
>
> If you are only talking about updating our locally maintained repo
> (like below), that is fine to factor out and reuse. However, we must
> not update against public repos after the initial pulling, in order
> to ensure we have a consistent package set along the whole build.
Sure. In fact all the ones we reprepro with between partial builds. At
the moment just the one, but i guess there is more to come.
In which case it might be a good idea to switch to using
Dir::Etc::SourceParts with a value of i.e.
"sources.list.isar.d", or have all the repos with that feature on
one .list file.
Henning
> Jan
>
> >
> > Henning
> >
> > Am Mon, 11 Feb 2019 10:33:24 +0100
> > schrieb Henning Schild <henning.schild@siemens.com>:
> >
> >> From: Henning Schild <henning.schild@siemens.com>
> >>
> >> When rebuilding we can run into an inconsistent view where
> >> buildchroot assumes it could download the sources of a modified
> >> upstream package. After a "reprepro ... remove" we always need to
> >> "apt-get update" to not operate on an old version of the metadata.
> >>
> >> Signed-off-by: Henning Schild <henning.schild@siemens.com>
> >> ---
> >> meta/classes/dpkg-base.bbclass | 4 ++++
> >> 1 file changed, 4 insertions(+)
> >>
> >> diff --git a/meta/classes/dpkg-base.bbclass
> >> b/meta/classes/dpkg-base.bbclass index 175dc80..5425df8 100644
> >> --- a/meta/classes/dpkg-base.bbclass
> >> +++ b/meta/classes/dpkg-base.bbclass
> >> @@ -31,6 +31,10 @@ do_apt_fetch() {
> >> fi
> >> dpkg_do_mounts
> >> E="${@ bb.utils.export_proxies(d)}"
> >> + sudo -E chroot ${BUILDCHROOT_DIR} /usr/bin/apt-get update
> >> \
> >> + -o
> >> Dir::Etc::sourcelist="sources.list.d/isar-apt.list" \
> >> + -o Dir::Etc::sourceparts="-" \
> >> + -o APT::Get::List-Cleanup="0"
> >> sudo -E chroot --userspec=$( id -u ):$( id -g )
> >> ${BUILDCHROOT_DIR} \ sh -c 'cd ${PP} && apt-get -y source
> >> ${SRC_APT}' dpkg_undo_mounts
> >
>
next prev parent reply other threads:[~2019-02-11 18:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-11 9:33 Henning Schild
2019-02-11 9:35 ` Henning Schild
2019-02-11 10:50 ` chombourger
2019-02-11 12:53 ` Jan Kiszka
2019-02-11 13:33 ` chombourger
2019-02-18 14:16 ` Maxim Yu. Osipov
2019-02-11 18:08 ` Henning Schild [this message]
2019-02-26 15:00 ` Henning Schild
2019-02-26 15:03 ` Jan Kiszka
2019-03-05 10:11 ` Henning Schild
2019-02-18 22:01 ` Maxim Yu. Osipov
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=20190211190803.6cd6dab1@md1za8fc.ad001.siemens.net \
--to=henning.schild@siemens.com \
--cc=isar-users@googlegroups.com \
--cc=jan.kiszka@siemens.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