Bug 539698

Summary: debuginfo package conflict between binutils and mingw32-binutils
Product: [Fedora] Fedora Reporter: Jaroslav Franek <jarin.franek>
Component: mingw32-binutilsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 12CC: berrange, fedora-mingw, kevin, rjones
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-12-04 03:04:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
mingw32-binutils.spec.patch none

Description Jaroslav Franek 2009-11-20 20:36:41 UTC
Description of problem:
Trying to install both binutils debuginfo and mingw32-binutils debuginfo packages (In fact, I did install debuginfo for the whole distribution). The transaction check fails with a conflict.

Version-Release number of selected component (if applicable):
mingw32-binutils-2.19.51.0.14-1.fc12.x86_64
binutils-2.19.51.0.14-34.fc12.x86_64

How reproducible:
see the steps:

Steps to Reproduce:
1. debuginfo-install binutils
2. debuginfo-install mingw32-binutils

  
Actual results:

----------------------------------------snippet
Finished Transaction Test


Transaction Check Error:
  file /usr/src/debug/binutils-2.19.51.0.14/bfd/elf.c from install of mingw32-binutils-debuginfo-2.19.51.0.14-1.fc12.x86_64 conflicts with file from package binutils-debuginfo-2.19.51.0.14-34.fc12.x86_64
  file /usr/src/debug/binutils-2.19.51.0.14/bfd/elfcode.h from install of mingw32-binutils-debuginfo-2.19.51.0.14-1.fc12.x86_64 conflicts with file from package binutils-debuginfo-2.19.51.0.14-34.fc12.x86_64
  file /usr/src/debug/binutils-2.19.51.0.14/bfd/section.c from install of mingw32-binutils-debuginfo-2.19.51.0.14-1.fc12.x86_64 conflicts with file from package binutils-debuginfo-2.19.51.0.14-34.fc12.x86_64
  file /usr/src/debug/binutils-2.19.51.0.14/gas/dw2gencfi.c from install of mingw32-binutils-debuginfo-2.19.51.0.14-1.fc12.x86_64 conflicts with file from package binutils-debuginfo-2.19.51.0.14-34.fc12.x86_64
  file /usr/src/debug/binutils-2.19.51.0.14/ld/ldmain.c from install of mingw32-binutils-debuginfo-2.19.51.0.14-1.fc12.x86_64 conflicts with file from package binutils-debuginfo-2.19.51.0.14-34.fc12.x86_64

Error Summary
-------------

----------------------------------------snippet


Expected results:
No conflict.
Since both binutils and mingw32-binutils install in-parallel without problems, I would expect their debuginfo packages to install in-parallel as well.

Additional info:
May concern other mingw32-* packages as well.

Comment 1 Richard W.M. Jones 2009-11-20 21:19:32 UTC
Acknowledged ...  this looks nasty.

It also looks like it would affect any package that used the same
source as another package.

Comment 2 Kevin Kofler 2009-11-20 22:56:54 UTC
Yeah, all those are potentially affected, see also:
http://bugzilla.rpmfusion.org/show_bug.cgi?id=556
Though it isn't always a problem because, if all the files are the same, RPM won't complain about the conflict (this explains why xine-lib-extras-freeworld-debuginfo apparently doesn't cause such issues). But if there are files generated during the build based on differing configuration, or just differently patched by the 2 packages, those conflicts will show up.

Comment 3 Daniel Berrangé 2009-11-23 11:03:35 UTC
Why is the -debuginfo RPM putting stuff into a directory named after the SOURCE0 file, rather than named after the SRPM. That would seem to be a guaranteed recipe for disaster. IMHO we need to fix the macros generating debuginfo to use SRPM name for thebase directory.

Comment 4 Kevin Kofler 2009-11-23 13:43:58 UTC
It's not really put "into a directory named after the SOURCE0 file", it's just using the directory name the sources were already in, which is generally named after the source tarball (though some tarballs are weird and contain differently-named directories, or no subdirectories at all).

Comment 5 Richard W.M. Jones 2009-11-24 09:37:31 UTC
Judging by comment 4, it seems a simple way to resolve this
would be to rename the binutils-* directory to mingw32-binutils-*
just before building.  I'll try this now ...

Comment 6 Richard W.M. Jones 2009-11-24 09:53:28 UTC
Created attachment 373371 [details]
mingw32-binutils.spec.patch

The attachment fixes this.  Debuginfo files are now named
things like:

/usr/src/debug/mingw32-binutils-2.19.51.0.14/binutils-2.19.51.0.14/bfd/elf.c

However I'm not sure this is the best way to fix it.  Can we
make a global change to /usr/lib/rpm/mingw32-find-debuginfo.sh
instead to add some sort of fixed path (so we use /usr/src/debug/mingw32
instead of /usr/src/debug)?

Comment 7 Richard W.M. Jones 2009-11-24 10:06:10 UTC
Another thought:

Shouldn't RPM be able to install the files anyway unless
they are different?

The binutils & mingw32-binutils packages would have identical
upstream source and hence identical files, *unless* one of the
packages was patching the source files.

It turns out that binutils patches the following source files:
  bfd/elfcode.h
  bfd/section.c
  ld/ldmain.c

mingw32-binutils doesn't patch any files.  (But should it do?)

The list of files doesn't quite match the conflicting files
reported in comment 0, although it is fairly similar.

Comment 8 Kevin Kofler 2009-11-24 10:22:56 UTC
AFAIK, Binutils also autogenerates some files during build, they may be different for different targets.

Comment 9 Bug Zapper 2010-11-04 05:53:18 UTC
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '12'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 12's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 12 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 10 Bug Zapper 2010-12-04 03:04:12 UTC
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.