Bug 702648 - devel subpackage content is not sufficient
Summary: devel subpackage content is not sufficient
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: binutils
Version: 14
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Nick Clifton
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 694890
TreeView+ depends on / blocked
 
Reported: 2011-05-06 13:20 UTC by Patrick Monnerat
Modified: 2012-08-16 21:32 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-08-16 21:32:39 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Patrick Monnerat 2011-05-06 13:20:09 UTC
Description of problem:
Trying to unbundle "bfd" and "opcodes" from the "insight" package and using binutils-devel static libraries is not successful because insight requires some config and header files from these libs that are not packaged within binutils-devel.

Those files are:
bfd/config.bfd
bfd/elf-bfd.h
bfd/libcoff.h
bfd/libaout.h
bfd/libbfd.h
bfd/bfd.m4
opcodes/frv-desc.h
opcodes/mep-desc.h
opcodes/mep-opc.h
opcodes/sh-opc.h
+ sub-included files.

There are probably others depending on the build architecture (I've tested it on x86_64).

Version-Release number of selected component (if applicable):
binutils-devel-2.20.51.0.7-6.fc14.x86_64


Additional info:
I've created a local version of the binutils-devel package with the following additions:

%install
.
.
.
# Install some build scripts.
install -d -m 755 "%{buildroot}%{_libdir}/binutils/"
install -p -m 755 bfd/config.bfd "%{buildroot}%{_libdir}/binutils/"

# Install additional header files.
install -p -m 644 include/bfdlink.h "%{buildroot}%{_prefix}/include/"
install -p -m 644 bfd/bfd_stdint.h "%{buildroot}%{_prefix}/include/"
install -p -m 644 include/hashtab.h "%{buildroot}%{_prefix}/include/"
install -p -m 644 bfd/elf-bfd.h "%{buildroot}%{_prefix}/include/"
install -p -m 644 bfd/libaout.h "%{buildroot}%{_prefix}/include/"
install -p -m 644 bfd/libbfd.h "%{buildroot}%{_prefix}/include/"
install -p -m 644 bfd/libcoff.h "%{buildroot}%{_prefix}/include/"
install -p -m 644 bfd/libecoff.h "%{buildroot}%{_prefix}/include/"
install -p -m 644 opcodes/frv-desc.h "%{buildroot}%{_prefix}/include/"
install -p -m 644 opcodes/mep-desc.h "%{buildroot}%{_prefix}/include/"
install -p -m 644 opcodes/mep-opc.h "%{buildroot}%{_prefix}/include/"
install -p -m 644 opcodes/sh-opc.h "%{buildroot}%{_prefix}/include/"
install -d -m 755 "%{buildroot}%{_prefix}/include/elf/"
install -p -m 644 include/elf/common.h "%{buildroot}%{_prefix}/include/elf/"
install -p -m 644 include/elf/external.h "%{buildroot}%{_prefix}/include/elf/"
install -p -m 644 include/elf/internal.h "%{buildroot}%{_prefix}/include/elf/"
install -d -m 755 "%{buildroot}%{_prefix}/include/coff/"
install -p -m 644 include/coff/ecoff.h "%{buildroot}%{_prefix}/include/coff/"
install -d -m 755 "%{buildroot}%{_prefix}/include/opcode/"
install -p -m 644 include/opcode/cgen.h "%{buildroot}%{_prefix}/include/opcode/"
install -d -m 755 "%{buildroot}%{_prefix}/include/cgen/"
install -p -m 644 include/cgen/bitset.h "%{buildroot}%{_prefix}/include/cgen/"

# Install autoconf macros.
install -d -m 755 "%{buildroot}%{_prefix}/share/aclocal/"
install -m 644 bfd/bfd.m4 "%{buildroot}%{_prefix}/share/aclocal/"

%files devel
.
.
.
%{_prefix}/share/aclocal/*
%{_libdir}/binutils

However, this is perhaps not the places you will chose to put these files.

I'm perfectly aware these files can be considered as private to their respective library, but they are mandatory for insight (and probably for gdb too, which is not unbundled yet). Insight is (also) a sourceware.org software.

The reason why I want to unbundle bfs and opcodes from insight are:
_ They are not declared as acceptable COPYLIB bundled software in http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions
_ The bundled version of these libraries within last insight stable release is too old to deal properly with current executable programs.

I'll understand if you close this bug as "WONTFIX", but in this case, bfd and opcodes ought to be listed in the table above linked.

See also https://bugzilla.redhat.com/show_bug.cgi?id=694890 (might be a blocker).

Thanks for a fix or an advice.

Comment 1 Jakub Jelinek 2011-05-18 10:23:39 UTC
Given that bfd really doesn't have a usably stable ABI (as in, often it is ABI incompatible even for the same %{version}, just different %{release}), I think it is a bad idea to unbundle it.

Comment 2 Patrick Monnerat 2011-05-18 10:35:13 UTC
You may be right. If so:
_ Why does binutils provide a static library ?
_ It then MUST be listed in http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions
_ How to get the version/release of bfd+opcodes used in the current binutils package ?

I also have to say that the latest stable release of the insight debugger (6.8.1 june 19 2009) properly compiles, links and executes with the modified binutils-devel-2.20.51.0.7-6.fc14.x86_64

And suggestions/actions? Thanks.

Comment 3 Patrick Monnerat 2011-08-04 12:04:09 UTC
Ping ?

Comment 4 Nick Clifton 2011-10-11 14:44:15 UTC
Hi Patrick,

  Sorry for the very long delay in responding to this issue.  I have filed a ticker with the FPC to see if the binutils libraries can be granted bundled status:

  https://fedorahosted.org/fpc/ticket/109#preview

If that is denied then I will try out your suggested patch to install the various header and configure files.  I am curious however as to why the opcodes header files are needed, and why only those ones and not all of them.

Cheers
  Nick

Comment 5 Patrick Monnerat 2011-10-11 16:04:42 UTC
Hi Nick,

> I have filed a ticker with the FPC to see if the binutils libraries can be granted bundled status

Thanks for the action.

> I am curious however as to why the opcodes header files are needed, and why only those ones and not all of them.

I must say I do not know how gdb/insight works: I just packaged insight and I'm not familiar with its code, so I can't tell you the need for using these header files.
To determine the files I needed, I searched through the insight code for references to these files, and recursively. The file subset I include in the update proposal above is thus the strict minimum I need. But I agree you may know better than me if some others will be needed for a more general approach and use.

Please keep me informed. Thanks.

Regards,
Patrick

Comment 6 Fedora End Of Life 2012-08-16 21:32:42 UTC
This message is a notice that Fedora 14 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 14. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained.  At this time, all open bugs with a Fedora 'version'
of '14' have been closed as WONTFIX.

(Please note: Our normal process is to give advanced warning of this 
occurring, but we forgot to do that. A thousand apologies.)

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, feel free to reopen 
this bug and simply change the 'version' to a later Fedora version.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we were unable to fix it before Fedora 14 reached 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, you are encouraged to click on 
"Clone This Bug" (top right of this page) and open it against that 
version of Fedora.

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


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