Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HasModifiedFiles Does Not Allow for i686 RPM's to Be Installed if x86_64 RPM Exists in Base Layer #1127

Open
acornett21 opened this issue Feb 14, 2024 · 0 comments
Labels
kind/bug Categorizes issue or PR as related to a bug.

Comments

@acornett21
Copy link
Contributor

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:

  1. 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

@acornett21 acornett21 added the kind/bug Categorizes issue or PR as related to a bug. label Feb 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug.
Projects
None yet
Development

No branches or pull requests

1 participant