Bug 1316146

Summary: p-a: Bad timestamps after installation on .pyc and .pyo files
Product: Red Hat Enterprise Linux 6 Reporter: Alois Mahdal <amahdal>
Component: preupgrade-assistantAssignee: Petr Hracek <phracek>
Status: CLOSED NOTABUG QA Contact: Alois Mahdal <amahdal>
Severity: low Docs Contact:
Priority: medium    
Version: 6.8CC: fkluknav, phracek, pstodulk, ttomecek
Target Milestone: rcKeywords: Extras
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-03-10 13:57:21 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:

Description Alois Mahdal 2016-03-09 14:16:06 UTC
Description of problem
======================

According to `rpm -V` check, mtime differs on lot of files:

    :: [  BEGIN   ] :: do rpm --verify on preupgrade-assistant :: actually running 'rpm -V preupgrade-assistant'
    .......T.    /usr/lib/python2.6/site-packages/preup/__init__.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/__init__.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/application.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/application.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/cli.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/cli.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/common.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/common.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/conf.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/conf.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/constants.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/constants.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/exception.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/exception.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/kickstart.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/kickstart.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/kickstart_packages.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/kickstart_packages.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/kickstart_partitioning.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/kickstart_partitioning.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/logger.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/logger.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/remediate.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/remediate.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/report_parser.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/report_parser.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/scanning.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/scanning.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/script_api.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/script_api.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/settings.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/settings.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/utils.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/utils.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/version.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/version.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/xccdf.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/xccdf.pyo
    .......T.    /usr/lib/python2.6/site-packages/preup/xml_manager.pyc
    .......T.    /usr/lib/python2.6/site-packages/preup/xml_manager.pyo
    .......T.    /usr/lib/python2.6/site-packages/preuputils/__init__.pyc
    .......T.    /usr/lib/python2.6/site-packages/preuputils/__init__.pyo
    .......T.    /usr/lib/python2.6/site-packages/preuputils/compose.pyc
    .......T.    /usr/lib/python2.6/site-packages/preuputils/oscap_group_xml.pyc
    .......T.    /usr/lib/python2.6/site-packages/preuputils/oscap_group_xml.pyo
    .......T.    /usr/lib/python2.6/site-packages/preuputils/script_utils.pyc
    .......T.    /usr/lib/python2.6/site-packages/preuputils/script_utils.pyo
    .......T.    /usr/lib/python2.6/site-packages/preuputils/variables.pyc
    .......T.    /usr/lib/python2.6/site-packages/preuputils/variables.pyo
    .......T.    /usr/lib/python2.6/site-packages/preuputils/version.pyc
    .......T.    /usr/lib/python2.6/site-packages/preuputils/version.pyo
    .......T.    /usr/lib/python2.6/site-packages/preuputils/xml_tags.pyc
    .......T.    /usr/lib/python2.6/site-packages/preuputils/xml_tags.pyo
    .......T.    /usr/lib/python2.6/site-packages/preuputils/xml_utils.pyc
    .......T.    /usr/lib/python2.6/site-packages/preuputils/xml_utils.pyo
    :: [   FAIL   ] :: do rpm --verify on preupgrade-assistant (Expected 0, got 1)


Version-Release number of selected component
============================================

preupgrade-assistant-2.1.5-3.el6.noarch


How reproducible
================

Always


Steps to Reproduce
==================

 1. Install preupgrade-assistant
 2. run `rpm -V preupgrade-assistant`


Actual results
==============

55 errors


Expected results
================

No errors (no output)


Additional info
===============

Same is for preupgrade-assistant-el6toel7--will post as separate report.

Comment 2 Alois Mahdal 2016-03-09 15:16:27 UTC
Notes for testing
=================

All that is needed to check is run

  TC#494890 /CoreOS/preupgrade-assistant/6to7/installation/static-check

and check these errors in "verify consistency" phase.

Comment 3 Petr Hracek 2016-03-10 13:57:21 UTC
This is not related to preupgrade-assistant.

It seems like python was changed after preupgrade-assistant installation.
After an installation of preupgrade-assistant execute `rpm -V preupgrade-assistant`
It should be clear.

I am going to close it. Feel free to reopen it.

Comment 4 Alois Mahdal 2016-03-10 18:13:40 UTC
OK, I've found out the cause.

I'm using py_compile to check syntax of all Python files.  As side-effect, it also re-creates the .pyc and .pyo files.   The rpm -V check is sooner in the test, so this does not happen for the first time, but re-running the test (in 1mt) exposed this problem.

I've found another way (`compile()`) that does not have this side effect and have updated the test.  Sorry for the false alarm.