Bug 1748005

Summary: rpm verify should pass without any problem
Product: [Fedora] Fedora Reporter: Lukas Slebodnik <lslebodn>
Component: freeipaAssignee: IPA Maintainers <ipa-maint>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: abokovoy, cheimes, contribs, ipa-maint, jcholast, jhrozek, pvoborni, rcritten, ssorce, twoerner
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-09-02 20:16:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lukas Slebodnik 2019-09-02 12:46:52 UTC
Description of problem:
The size and md5sum is different for pyc files

Version-Release number of selected component (if applicable):
rpm -q python3 python3-ipalib
python3-3.8.0~b4-1.fc32.x86_64
python3-ipalib-4.8.1-2.fc32.noarch

How reproducible:
deterministic

Steps to Reproduce:
1. # install freeIPA server
2. rpm --verify python3-ipalib

Actual results:
[root@kvm-07-guest22 ~]# rpm --verify python3-ipalib
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/__init__.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/aci.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/backend.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/base.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/capabilities.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/cli.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/config.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/constants.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/crud.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/dns.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/errors.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/frontend.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/krb_utils.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/messages.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/misc.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/output.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/parameters.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/plugable.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/request.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/rpc.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/text.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/util.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/__pycache__/x509.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/install/__pycache__/__init__.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/install/__pycache__/certmonger.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/install/__pycache__/certstore.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/install/__pycache__/hostname.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/install/__pycache__/kinit.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/install/__pycache__/service.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipalib/install/__pycache__/sysrestore.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/__pycache__/_importhook.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/__pycache__/osinfo.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/__pycache__/override.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/__pycache__/paths.cpython-38.pyc
SM5....T.    /usr/lib/python3.8/site-packages/ipaplatform/__pycache__/services.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/base/__pycache__/__init__.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/base/__pycache__/constants.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/base/__pycache__/paths.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/base/__pycache__/services.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/base/__pycache__/tasks.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/fedora/__pycache__/__init__.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/fedora/__pycache__/constants.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/fedora/__pycache__/paths.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/fedora/__pycache__/services.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/fedora/__pycache__/tasks.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/redhat/__pycache__/__init__.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/redhat/__pycache__/authconfig.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/redhat/__pycache__/constants.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/redhat/__pycache__/paths.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/redhat/__pycache__/services.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipaplatform/redhat/__pycache__/tasks.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/__init__.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/admintool.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/certdb.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/config.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/cookie.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/directivesetter.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/dn.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/dnsutil.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/dogtag.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/errors.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/graph.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/ipa_log_manager.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/ipaldap.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/ipautil.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/ipavalidate.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/kerberos.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/kernel_keyring.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/session_storage.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/ssh.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/__pycache__/version.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/install/__pycache__/__init__.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/install/__pycache__/cli.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/install/__pycache__/common.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/install/__pycache__/core.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/install/__pycache__/typing.cpython-38.pyc
S.5....T.    /usr/lib/python3.8/site-packages/ipapython/install/__pycache__/util.cpython-38.pyc

Expected results:
sh$ rpm --verify python3-ipalib
sh$ echo $?
0

Additional info:

Comment 1 Lukas Slebodnik 2019-09-02 12:48:12 UTC
I would say the most problematic is this one

SM5....T.    /usr/lib/python3.8/site-packages/ipaplatform/__pycache__/services.cpython-38.pyc

And there are even AVCs due to this
----
time->Sun Sep  1 20:30:43 2019
type=AVC msg=audit(1567384243.045:352): avc:  denied  { write } for  pid=26487 comm="restart_httpd" name="__pycache__" dev="dm-0" ino=8712789 scontext=system_u:system_r:certmonger_t:s0 tcontext=system_u:object_r:lib_t:s0 tclass=dir permissive=0
----
time->Sun Sep  1 20:30:55 2019
type=AVC msg=audit(1567384255.648:364): avc:  denied  { write } for  pid=26888 comm="renew_kdc_cert" name="__pycache__" dev="dm-0" ino=8712789 scontext=system_u:system_r:certmonger_t:s0 tcontext=system_u:object_r:lib_t:s0 tclass=dir permissive=0

Comment 2 Christian Heimes 2019-09-02 20:16:56 UTC
This is a duplicate of RHBZ#1748018.

The magic number for pyc files has changed between 3.8b3 and 3.8b4. All Python packages must be rebuild.

*** This bug has been marked as a duplicate of bug 1748018 ***