Bug 761619 - Review Request: cross-binutils - Multiple cross-build binutils
Summary: Review Request: cross-binutils - Multiple cross-build binutils
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: David Woodhouse
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 766166
TreeView+ depends on / blocked
 
Reported: 2011-12-08 18:03 UTC by David Howells
Modified: 2012-11-26 16:23 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-11-26 16:23:22 UTC
Type: ---
Embargoed:
dwmw2: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)
rpmlint of the most recent SRPM and built RPM files (3.24 KB, application/x-bzip)
2012-03-21 15:21 UTC, David Howells
no flags Details

Description David Howells 2011-12-08 18:03:26 UTC
Spec URL: http://people.redhat.com/~dhowells/cross/cross-binutils.spec
SRPM URL: http://people.redhat.com/~dhowells/cross/cross-binutils-2.22-1.fc16.src.rpm
Description:

I've taken the Fedora 16 binutils specfile and modified it greatly so that it builds a cross-build binutils for each of the Linux kernel arches (barring cris, which doesn't build, and unicore, which doesn't seem to exist) and packages each one up in its own binary RPM (named binutils-<arch>-linux-gnu).

The packages are configures with "--program-prefix=<arch>-linux-gnu-".  Note that the name passed to "--target" may not match the program prefix.

For example, binutils-parisc-linux-gnu contains, amongst other things, parisc-linux-gnu-ar, and was build for target hppa-linux.

As the manual pages and help files for each instance of the assembler, linker, objdump, objcopy, etc. are exactly the same, these are emitted into the core binary RPM and symlinked from the arch RPMs to save installation space and a dependency is emplaced.

I would appreciate a review so that I can get this into Fedora Extra.

Many thanks,
David

Comment 1 David Woodhouse 2011-12-19 21:37:41 UTC
binutils-xtensa-linux-gnu.x86_64: W: cross-directory-hard-link /usr/cross/xtensa-linux-gnu/bin/ranlib /usr/bin/xtensa-linux-gnu-ranlib
binutils-xtensa-linux-gnu.x86_64: W: dangling-relative-symlink /usr/share/man/man1/xtensa-linux-gnu-c++filt.1.gz cross-c++filt.1.gz
binutils-xtensa-linux-gnu.x86_64: W: no-manual-page-for-binary xtensa-linux-gnu-ld.bfd
binutils-xtensa-linux-gnu.x86_64: W: non-standard-dir-in-usr cross


You've explained the dangling symlinks, and I think that's OK. If you can arrange a man page for ld, that would be nice but it's not mandatory.

We'll have to check what the rules are for non-standard directories in /usr, and the cross-directory hard links.

Also:
cross-binutils.src:49: W: macro-in-comment %{version}
cross-binutils.src:138: W: macro-in-comment %ifarch
cross-binutils.src:139: W: macro-in-comment %if
cross-binutils.src:139: W: macro-in-comment %{_lib}
cross-binutils.src:140: W: macro-in-comment %patch03
cross-binutils.src:141: W: macro-in-comment %endif
cross-binutils.src:142: W: macro-in-comment %endif
cross-binutils.src:398: W: macro-in-comment %{buildroot}
cross-binutils.src:398: W: macro-in-comment %{_prefix}
cross-binutils.src:399: W: macro-in-comment %{buildroot}
cross-binutils.src:399: W: macro-in-comment %{_mandir}
cross-binutils.src: W: patch-not-applied Patch3: binutils-2.20.51.0.2-ia64-lib64.patch

Comment 2 David Howells 2011-12-22 10:23:00 UTC
(In reply to comment #1)
> You've explained the dangling symlinks, and I think that's OK.

Possibly I should just put all the manual page symlinks into the doc rpm, though I'd prefer them only to be installed if the things they're describing are present.

> If you can arrange a man page for ld, that would be nice but it's not mandatory.

There are manual pages for ld.  Do you mean ld.bfd?  If so, there is no manual page specifically for that.  I'm not entirely sure what the ld.bfd is for.

> We'll have to check what the rules are for non-standard directories in /usr,

I wonder if that's going to happen if I let it create, say, /usr/xtensa-linux-gnu/ instead of /usr/cross/xtensa-linux-gnu/.  I wonder if these things should be in /usr/libexec.

> and the cross-directory hard links.

I missed that.  Interesting...  I wonder if the core binutils package does this too.  Even though it's marked as a cross-dir hardlink, it isn't installed so (even though it could be).

> Also:
> cross-binutils.src:49: W: macro-in-comment %{version}

That's a comment borrowed from the original binutils.spec.  I should probably keep it as long as that does.

> cross-binutils.src:138: W: macro-in-comment %ifarch
> cross-binutils.src:139: W: macro-in-comment %if
> cross-binutils.src:139: W: macro-in-comment %{_lib}
> cross-binutils.src:140: W: macro-in-comment %patch03
> cross-binutils.src:141: W: macro-in-comment %endif
> cross-binutils.src:142: W: macro-in-comment %endif

I'm not sure whether I need this.  I should find an IA64 box and try it.

> cross-binutils.src:398: W: macro-in-comment %{buildroot}
> cross-binutils.src:398: W: macro-in-comment %{_prefix}
> cross-binutils.src:399: W: macro-in-comment %{buildroot}
> cross-binutils.src:399: W: macro-in-comment %{_mandir}

I should get rid of those.

> cross-binutils.src: W: patch-not-applied Patch3:
> binutils-2.20.51.0.2-ia64-lib64.patch

That's one of the original binutils.spec patches and is related to the macro-in-comment warnings of lines 138-142.  I wonder if I should just apply all of the original binutils.spec patches as applied by that?

Comment 3 David Howells 2012-01-10 23:34:37 UTC
I've fixed the warnings that can be fixed; I have left the dangling symlink warnings as they refer are cross-package references to the common manual pages, and, after asking advice, I've left the hardlinks in.

The revised SRPM can be found here:

http://people.redhat.com/~dhowells/cross/cross-binutils-2.22-1.1.fc16.src.rpm

I've tacked on an extra bit to the revision ID to retain the revision number of the Fedora binutils package from which I derived this whilst adding a differentiator for my own changes.

The revised specfile can be found here:

http://people.redhat.com/~dhowells/cross/cross-binutils.spec

Note that this is the same place as the previous one, which has been renamed.

Comment 4 David Howells 2012-03-15 18:04:15 UTC
I've updated to binutils-2.22.25.0.1-8.  The revised SRPM and specfile are:

http://people.redhat.com/~dhowells/cross/cross-binutils-2.22.52.0.1-8.1.fc16.src.rpm
http://people.redhat.com/~dhowells/cross/cross-binutils-2.22.52.0.1.spec

Comment 5 David Howells 2012-03-21 15:21:42 UTC
Created attachment 571742 [details]
rpmlint of the most recent SRPM and built RPM files

Comment 6 David Woodhouse 2012-03-21 16:10:39 UTC
This looks fine now, go ahead. Thanks.

Comment 7 David Howells 2012-03-22 09:48:50 UTC
New Package SCM Request
=======================
Package Name: cross-binutils
Short Description: Cross-compilation binutils
Owners: dhowells
Branches: f16 f17
InitialCC:

Comment 8 Gwyn Ciesla 2012-03-22 12:31:33 UTC
Git done (by process-git-requests).

David W, please take ownership of review BZs, thanks!

Comment 9 Fedora Update System 2012-03-23 12:14:18 UTC
cross-binutils-2.22.52.0.1-8.1.fc16,cross-gcc-4.7.0-0.11.4.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/cross-binutils-2.22.52.0.1-8.1.fc16,cross-gcc-4.7.0-0.11.4.fc16

Comment 10 Fedora Update System 2012-03-23 14:53:53 UTC
cross-binutils-2.22.52.0.1-8.1.fc17,cross-gcc-4.7.0-0.11.4.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/cross-binutils-2.22.52.0.1-8.1.fc17,cross-gcc-4.7.0-0.11.4.fc17

Comment 11 Fedora Update System 2012-03-23 17:09:12 UTC
cross-binutils-2.22.52.0.1-8.1.fc17, cross-gcc-4.7.0-0.11.4.fc17 has been pushed to the Fedora 17 testing repository.


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