On Fedora 20 (beta-ish), I did:
for f in /usr/bin/*; do chrpath -l $f ; done | grep RPATH > /tmp/rpaths.txt
I removed from the final list private library RPATHs, which are permitted[1]. Here is the final list:
/usr/bin/afm2tfm: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/bibtex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/bibtex8: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/bibtexu: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/chktex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/ctangle: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/ctie: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/cweave: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dbus-binding-tool: RPATH=/usr/lib64 /usr/bin/detex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/disdvi: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dt2dv: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dumpiso: RPATH=/usr/lib64 /usr/bin/dv2dt: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvi2tty: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvibook: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dviconcat: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvicopy: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvigif: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvilj: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvilj2p: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvilj4: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvilj4l: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvilj6: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvilualatex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dviluatex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvipdfm: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvipdfmx: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvipng: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvipos: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvips: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dviselect: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvisvgm: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvitodvi: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/dvitype: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/ebb: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/enca: RPATH=/usr/lib64 /usr/bin/enconv: RPATH=/usr/lib64 /usr/bin/etex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/extractbb: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/fribidi: RPATH=/usr/lib64 /usr/bin/gftodvi: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/gftopk: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/gftype: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/gsftopk: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/gupnp-dlna-info-2.0: RPATH=/usr/lib64 /usr/bin/gupnp-dlna-ls-profiles-2.0: RPATH=/usr/lib64 /usr/bin/inimf: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/initex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/jade: RPATH=/usr/lib64 /usr/bin/kpsewhich: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/latex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/ld: RPATH=/usr/lib64 /usr/bin/ld.bfd: RPATH=/usr/lib64 /usr/bin/lualatex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/luatex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/lynx: RPATH=/usr/lib64 /usr/bin/makeindex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/mcpp: RPATH=/usr/lib64 /usr/bin/mf: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/mf-nowin: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/mft: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/openjade: RPATH=/usr/lib64 /usr/bin/patgen: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/pdfetex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/pdflatex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/pdftex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/pdftosrc: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/pktogf: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/pktype: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/pngfix: RPATH=/usr/lib64 /usr/bin/pooltype: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/rarian-example: RPATH=/usr/lib64 /usr/bin/rarian-sk-gen-uuid: RPATH=/usr/lib64 /usr/bin/rarian-sk-get-cl: RPATH=/usr/lib64 /usr/bin/rarian-sk-migrate: RPATH=/usr/lib64 /usr/bin/rarian-sk-preinstall: RPATH=/usr/lib64 /usr/bin/rygel: RPATH=/usr/lib64 /usr/bin/rygel-preferences: RPATH=/usr/lib64 /usr/bin/sasl2-sample-client: RPATH=/usr/lib64 /usr/bin/sasl2-sample-server: RPATH=/usr/lib64 /usr/bin/scrollkeeper-gen-seriesid: RPATH=/usr/lib64 /usr/bin/scrollkeeper-get-cl: RPATH=/usr/lib64 /usr/bin/scrollkeeper-preinstall: RPATH=/usr/lib64 /usr/bin/sendiso: RPATH=/usr/lib64 /usr/bin/spd-say: RPATH=/usr/lib64 /usr/bin/tangle: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/testgdbm: RPATH=/usr/lib64 /usr/bin/testlibraw: RPATH=/usr/lib64 /usr/bin/tex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/texlua: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/texluac: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/tie: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/unpack200: RPATH=$ORIGIN /usr/bin/weave: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/xdvi-xaw: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib
Note this list is not comprehensive because it's just binaries that I happened to have installed.
(a) Are these bugs? They seem to be.
(b) I thought Fedora had an RPM install post script which was supposed to detect these and alert the packager?
Rich.
[1] https://fedoraproject.org/wiki/Packaging:Guidelines#Beware_of_Rpath
On 11/29/13 at 12:15pm, Richard W.M. Jones wrote:
On Fedora 20 (beta-ish), I did:
for f in /usr/bin/*; do chrpath -l $f ; done | grep RPATH > /tmp/rpaths.txt
I removed from the final list private library RPATHs, which are permitted[1]. Here is the final list:
/usr/bin/afm2tfm: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib /usr/bin/bibtex: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib ... Note this list is not comprehensive because it's just binaries that I happened to have installed.
I think I can generate a full list for Fedora 20. Stay tuned.
-- Dhiru
On Fri, 29 Nov 2013, Richard W.M. Jones wrote:
| | On Fedora 20 (beta-ish), I did: | | for f in /usr/bin/*; do chrpath -l $f ; done | grep RPATH > /tmp/rpaths.txt | | I removed from the final list private library RPATHs, which are | permitted[1]. Here is the final list: | | /usr/bin/afm2tfm: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib | <...> | /usr/bin/xdvi-xaw: RPATH=/builddir/build/BUILD/texlive-2013/source/inst/lib | | Note this list is not comprehensive because it's just binaries that I | happened to have installed. | | (a) Are these bugs? They seem to be. | | (b) I thought Fedora had an RPM install post script which was supposed | to detect these and alert the packager?
Right now it doesn't have such script. packager/reviewer should take care on this. Hovewer rpmlint shows something like: gela-asis.x86_64: E: binary-or-shlib-defines-rpath /usr/lib64/gela-asis/libgela-asis.so ['/usr/lib/gcc/x86_64-redhat-linux/4.8.2/adalib/', '/usr/lib'] and errors should bot be ignored... | | Rich. | | [1] https://fedoraproject.org/wiki/Packaging:Guidelines#Beware_of_Rpath | | -- | Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones | virt-p2v converts physical machines to virtual machines. Boot with a | live CD or over the network (PXE) and turn machines into KVM guests. | http://libguestfs.org/virt-v2v | -- | devel mailing list | devel@lists.fedoraproject.org | https://admin.fedoraproject.org/mailman/listinfo/devel | Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
On 29/11/13 14:59, Pavel Zhukov wrote:
On Fri, 29 Nov 2013, Richard W.M. Jones wrote:
| (b) I thought Fedora had an RPM install post script which was supposed | to detect these and alert the packager?
Right now it doesn't have such script.
Well it does, in rpm-build is /usr/lib/rpm/check-rpaths but it doesn't look like anything actually invokes it?
My .rpmmacros adds it to %__arch_install_post but it doesn't look like it's in the defaults.
Tom
On 11/29/2013 04:28 PM, John Reiser wrote:
/usr/bin/unpack200: RPATH=$ORIGIN
(a) Are these bugs? They seem to be.
RPATH=$ORIGIN is not a bug. It is a correct and thoughtful usage, one that even allows for moving the whole package after install.
It still looks like an accident because *this* RPATH would not work if it actually needed any of the JVM libraries.
On Fri, Nov 29, 2013 at 07:28:53AM -0800, John Reiser wrote:
/usr/bin/unpack200: RPATH=$ORIGIN
(a) Are these bugs? They seem to be.
RPATH=$ORIGIN is not a bug. It is a correct and thoughtful usage,
I deliberately left this one in because it does look like it needs inspection. AIUI it means the binary (or /usr/bin?) is the RPATH.
Also:
$ rpm -qf /usr/bin/unpack200 file /usr/bin/unpack200 is not owned by any package
one that even allows for moving the whole package after install.
Given we're talking about a packaged Linux distro, that doesn't seem very useful to me.
Rich.