Bug Description
If a given x86_64 RPM exists in the base layer (or possibly a previous layer) and then an the i686 version of the same RPM is installed preflight fails this check. This should be seen as an addition, but we view it as a modification due to the information retrieved from rpmdb.
Version and Command Invocation
main
Steps to Reproduce:
preflight check container quay.io/acornett/ibm-686-x86:only_stdc (there are also other tags for this image with different scenarios)
Expected Result
It would be expected that only the addition of a new RPM of architecture i686 would pass this check.
Actual Result
The check fails as it thinks there is a modification to the files, logs below.
time="2024-02-14T11:43:24-07:00" level=info msg="found disallowed modification in layer" file=usr/share/gcc-8/python/libstdcxx/v6/xmethods.py layer="sha256:7cb9d3fba4d7e498b960612176949d6effef157c4fab9ee17b817c1244a34963"
time="2024-02-14T11:43:24-07:00" level=info msg="found disallowed modification in layer" file=usr/share/gcc-8/python/libstdcxx/v6/__init__.py layer="sha256:7cb9d3fba4d7e498b960612176949d6effef157c4fab9ee17b817c1244a34963"
time="2024-02-14T11:43:24-07:00" level=info msg="found disallowed modification in layer" file=usr/share/gcc-8/python/libstdcxx/__init__.py layer="sha256:7cb9d3fba4d7e498b960612176949d6effef157c4fab9ee17b817c1244a34963"
time="2024-02-14T11:43:24-07:00" level=info msg="found disallowed modification in layer" file=usr/share/gcc-8/python/libstdcxx/v6/__pycache__/xmethods.cpython-36.pyc layer="sha256:7cb9d3fba4d7e498b960612176949d6effef157c4fab9ee17b817c1244a34963"
time="2024-02-14T11:43:24-07:00" level=info msg="found disallowed modification in layer" file=usr/share/gcc-8/python/libstdcxx/v6/__pycache__/__init__.cpython-36.pyc layer="sha256:7cb9d3fba4d7e498b960612176949d6effef157c4fab9ee17b817c1244a34963"
time="2024-02-14T11:43:24-07:00" level=info msg="found disallowed modification in layer" file=usr/share/gcc-8/python/libstdcxx/__pycache__/__init__.cpython-36.pyc layer="sha256:7cb9d3fba4d7e498b960612176949d6effef157c4fab9ee17b817c1244a34963"
time="2024-02-14T11:43:24-07:00" level=info msg="found disallowed modification in layer" file=usr/share/gcc-8/python/libstdcxx/v6/printers.py layer="sha256:7cb9d3fba4d7e498b960612176949d6effef157c4fab9ee17b817c1244a34963"
time="2024-02-14T11:43:24-07:00" level=info msg="found disallowed modification in layer" file=usr/share/gcc-8/python/libstdcxx/v6/__pycache__/printers.cpython-36.pyc layer="sha256:7cb9d3fba4d7e498b960612176949d6effef157c4fab9ee17b817c1244a34963"
Additional Context
This seems to be the fact that in the layer with the addition of the i686 that the certain files end up being owned by both RPMs. If we dig into the container we can see the below:
[root@a2ae49b1259c /]# rpm -qf usr/share/gcc-8/python/libstdcxx/v6/__init__.py
libstdc++-8.5.0-20.el8.x86_64
libstdc++-8.5.0-20.el8.i686
[root@a2ae49b1259c /]# rpm -ql libstdc++-8.5.0-20.el8.x86_64 | grep 'v6/__init__.py'
/usr/share/gcc-8/python/libstdcxx/v6/__init__.py
[root@a2ae49b1259c /]# rpm -ql libstdc++-8.5.0-20.el8.i686 | grep 'v6/__init__.py'
/usr/share/gcc-8/python/libstdcxx/v6/__init__.py
More info can be found in JIRA: ISVISSUE-531
Bug Description
If a given
x86_64RPM exists in the base layer (or possibly a previous layer) and then an thei686version of the same RPM is installedpreflightfails this check. This should be seen as an addition, but we view it as a modification due to the information retrieved fromrpmdb.Version and Command Invocation
mainSteps to Reproduce:
preflight check container quay.io/acornett/ibm-686-x86:only_stdc(there are also other tags for this image with different scenarios)Expected Result
It would be expected that only the addition of a new RPM of architecture
i686would pass this check.Actual Result
The check fails as it thinks there is a modification to the files, logs below.
Additional Context
This seems to be the fact that in the layer with the addition of the
i686that the certain files end up beingownedby both RPMs. If we dig into the container we can see the below:More info can be found in JIRA: ISVISSUE-531