Hi Jan, Will need to recheck things here but there should be no .list files referencing public repos when building from the local apt cache (and therefore when you are wanting a reproducible build) My local patch essentially does a full apt-get update but I now need to check if I did not alter the expected behavior :) Cedric On Monday, February 11, 2019 at 1:53:09 PM UTC+1, Jan Kiszka wrote: > > 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. > > Jan > > > > > Henning > > > > Am Mon, 11 Feb 2019 10:33:24 +0100 > > schrieb Henning Schild >: > > > >> From: Henning Schild > > >> > >> 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 > > >> --- > >> 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 > > > > -- > Siemens AG, Corporate Technology, CT RDA IOT SES-DE > Corporate Competence Center Embedded Linux >