In older versions of the pip tool, there is a known bug with the
dependency resolver that causes some package installations to take much
longer than expected due to various version and compatibility checks
done during this process ([1] and [2]).
Since the newer versions of the tool bring improvements to the
dependency resolver, updating it helps to avoid scenarios like the ones
described above.
Thus, this patch adds a build argument called UPGRADE_PIP_PACKAGES
which, when filled, allows LOCI to perform a `pip install --upgrade` on
the listed packages before proceeding with the installation of the
others.
[1] https://github.com/pypa/pip/issues/10967
[2] https://github.com/pypa/pip/issues/9517
Test Plan:
PASS: While building any image, verify in the output that the new patch
is being applied on top of LOCI's Dockerfile:
`Applying: Add build argument to allow pip upgrade`.
(This step is performed regardless of the BUILDER type)
PASS: While building any loci-based image that DOES NOT use the build
argument UPGRADE_PIP_PACKAGES, verify in the output that pip isn't
upgrading itself or upgrading other packages before the
installation step.
PASS: While building any loci-based image that DOES use the build
argument UPGRADE_PIP_PACKAGES, verify in the output that pip is
upgrading the listed packages before the installation step.
Signed-off-by: Luan Nunes Utimura <LuanNunes.Utimura@windriver.com>
Change-Id: I0e742e804746bf5f3f99fed181dd868c10fdf75b