RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 669753 - Subscription Manager has non-equal .pyc/.pyo files between 32bit and 64-bit multilib peers (embedded timestamps)
Summary: Subscription Manager has non-equal .pyc/.pyo files between 32bit and 64-bit m...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: subscription-manager
Version: 6.1
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: rc
: ---
Assignee: Bryan Kearney
QA Contact: John Sefler
URL:
Whiteboard:
Depends On:
Blocks: Entitlement-Beta
TreeView+ depends on / blocked
 
Reported: 2011-01-14 16:19 UTC by Bryan Kearney
Modified: 2013-01-10 10:49 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-05-19 13:38:54 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2011:0611 0 normal SHIPPED_LIVE new package: subscription-manager 2011-05-18 17:56:21 UTC

Comment 2 James Bowes 2011-01-17 13:15:00 UTC
rpmdiff's complaint is that our byte compiled .pyc and .pyo files are not the same across multilib capable arches (x86 vs i386). iirc, this is because the byte compiled files contain a timestamp. I don't think it's a big deal, because our rpms don't contain any .so files, so nobody's going to try and use them multilib, but if they did, the python code would still run.

As I see it, our options are:
- waive the errors. this is the easiest right now, but we'll have to do it every  
  time rpmdiff runs.
- mark all our .pyc and .pyo files in the spec's %files section as %ghost. this  
  means the rpm takes ownership of them, but doesn't create them (it will remove 
  them, however). the .pyc and pyo files will be made by python on first 
  execution. The drawback of this is since they aren't shipped in the rpm, rpm 
  can't do any checksum verification of them during rpm -V
- make two srpms, one for noarch code, and one for arch specific code. I was 
  hoping to mangle our existing spec enough to include a noarch/arch combo of 
  generated rpms, but it's not possible while still maintaining the name 
  'subscription-manager' as our toplevel cli rpm.

I'm partial to 1 or 3 (or 1 now, and 3 later).

Comment 3 Jesus M. Rodriguez 2011-01-17 13:29:40 UTC
1 for now, 3 later is my thought.

Comment 4 Dave Malcolm 2011-01-18 16:56:24 UTC
Adding:
  touch -r %{SOURCE1} foo.py

to either the %build/%install will mark foo.py with the timestamp of SOURCE1, which is hopefully the same across all architectures, and should lead to the .pyc/.pyo being the same across all builds.

Comment 5 James Bowes 2011-01-18 17:21:43 UTC
(In reply to comment #4)
> Adding:
>   touch -r %{SOURCE1} foo.py
> 
> to either the %build/%install will mark foo.py with the timestamp of SOURCE1,
> which is hopefully the same across all architectures, and should lead to the
> .pyc/.pyo being the same across all builds.

Thanks, I'll give that a try!

Comment 6 James Bowes 2011-01-19 13:46:30 UTC
I switched the Makefile to use install -p rather than cp. That should keep the timestamps the same across arches. We'll see on the next rebuild.

Comment 15 errata-xmlrpc 2011-05-19 13:38:54 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHEA-2011-0611.html


Note You need to log in before you can comment on or make changes to this bug.