* build-docker-images/stx-debian/stx.preferences.part.in
* build-docker-images/build-base-image.sh
This file sets base image priorities for apt repos that match certain
properties. Formerly we used higher priority for repos hosted by the
build server, as opposed to debian.org or others. This doesn't work
when using a Debian mirror hosted on the build server itself, since
the hostname of both repos are equal.
Solution: increase priority for repos whose "Release" file contains
the field "Origin: $REPOMGR_ORIGIN" and make sure aptly adds that
field to its Release file. The value comes from the environment and
should be set by the build container.
* stx/aptly_deb_usage.py:
Add an "Origin" field to non-mirror publications, value taken from
environment REPOMGR_ORIGIN
* build-docker-images/stx-debian/Dockerfile.stable
Improvements to package conflict resolution and docker FS
caching-related issues:
- Upgrade base packages to versions in managed repos before doing
anything else
- Install packages provided by upstream debian in a separate RUN
command/docker FS layer
- Make sure each "apt-get install" is in its own RUN command and is
preceded with "apt-get update" -- to avoid using stale metadata due
to "docker build" FS layer caching
TESTS
======================
- Define REPOMGR_ORIGIN in container environment
- Run downloader & build-pkgs & make sure generated repos' Release file
contains "Origin: starlingx"
- Build base image & make sure its apt.preferences contains the priority
rule for "Origin: starlingx"
Story: 2010055
Task: 45729
Change-Id: Ibaafbfbeef408904d216265168daa466d90fc7f2
Signed-off-by: Davlet Panech <davlet.panech@windriver.com>