rpath handling

Toshio Kuratomi a.badger at gmail.com
Sat Jun 26 07:36:50 UTC 2010


On Fri, Jun 25, 2010 at 01:42:43PM -0400, Colin Walters wrote:
> On Fri, Jun 25, 2010 at 12:55 PM, Toshio Kuratomi <a.badger at gmail.com> wrote:
> >
> > The fact that you have to use those sed lines shows that there's something
> > wrong somewhere as we normally don't need them to produce rpath-free
> > binaries if we're using Fedora or Red Hat libtool.  Since you have the
> > ability to commit upstream, please fix glib2's build scripts.
> 
> What do you mean by "Fedora libtool"?  Ohh...I see, we have a patch
> which does something...that's not entirely clear to me at first
> glance, and there's no comment, or upstream bug link.
> 
Yeah -- I'm not sure of the current status.  There were rumors a Fedora
release or two ago that we finally got something merged upstream that no
longer necessitated our patch.  Which, once announced to devel list, was
prompty succeeded by builds being generated with rpaths for standard library
paths.  I don't know how that was finally resolved (could have been a bug in
our libtool packaging rather than us needing to restore a Fedora-specific
patch, for instance) you'll have to ask the libtool maintainers about that.

> As far as using that, note the glib2 tarballs are actually typically
> created on an Ubuntu system.  So...
> 
Uh... but your use case is checking out from the git repo, correct?  So
actually, you're going to be generating the libtool related files on
a Fedora system....

> > If you can't figure out how to do that, you can get me a link to your srpm
> > that shows the issue and I'll take a look.
> 
> Sure: http://fedorapeople.org/~walters/glib2-2.24.1-1.4.20100625git7cdc592a.fc13.src.rpm
> (but it really seems easier to me to just fedora-cvs glib2 and inspect it...)

Well, I asked that too and you didn't reply.  I checked out the tree and
found that the packages there are using release tarballs, not snapshots.  So
I don't know what you're thinking here.

I've just commented out your libtool hacks and rebuilt the packages:
 http://koji.fedoraproject.org/koji/taskinfo?taskID=2273737

#BuildRequires: chrpath
#(cd $RPM_BUILD_ROOT; find | while read f; do if file $f | grep -q ': ELF
.*executable,'; then chrpath --delete $f; fi; done)

I don't see any rpaths in there:

$ objdump -p glib2-devel-2.24.1-1.4.20100625git7cdc592a.fc13.1.x86_64/usr/bin/* 2>1 |grep -i rpath
$

Could you explain why you think you need to do something special to get rid
of rpaths?

I also noticed a few things that are fishy with the package:

$ rpm -qpl glib2-devel-2.24.1-1.4.20100625git7cdc592a.fc13.1.x86_64.rpm|grep bin/gio-querymodules
/usr/bin/gio-querymodules-32
$ rpm -qpl glib2-2.24.1-1.4.20100625git7cdc592a.fc13.1.x86_64.rpm|grep bin/gio-querymodules 
/usr/bin/gio-querymodules-32

It looks like your spec file is failing in two places:

* "if $host" conditionals aren't doing what you expect.  I haven't tested but
  I'd hazard a guess that $host is empty.
* You're including gio-querymodules-* in both the main package and -devel.
  You probably want a %exclude in the devel package for that.

-Toshio
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
Url : http://lists.fedoraproject.org/pipermail/devel/attachments/20100626/08f66f26/attachment.bin 


More information about the devel mailing list