when an older version of a package is installed. This is the case when an
executable links with installed libraries and with uninstalled libraries
that link with other uninstalled libraries. For each of the directly
linked libraries the executable will have an rpath (/usr/local/lib for the
installed libraries and a path under WRKDIR for each of the uninstalled
libraries), but not for the indirect libraries. Both ld(1) and rtld(1)
search the rpath of the executable first before any rpath of libraries, so
the indirectly linked libraries will be found in /usr/local/lib if they are
installed instead of in WRKDIR.
With this commit executables will overlink with uninstalled indirect
libraries again so their location is added to the rpath of the executable.
This partially reverts r358784.
PR: 191611
Approved by: portmgr (bapt)
The configure error "Not configured with libgsf or libole2 but that's
needed for MSI support" is caused by using the wrong configure option
of MSI that was introduced in last commit.
Changing to MSI_CONFIGURE_ENABLE=libgsf to MSI_CONFIGURE_WITH=libgsf
should have solved the problem, but unfortunately there is a logic
flaw in the configure script. If --without-libgsf is passed to it,
it mistakenly tries to find it anyway with pkgconfig and then fails.
The way to fix this properly is to patch the configure script, but I am
going to cheat by making libgsf an unconditional requirement as it was
before adamw fixed the options reversal.
Where possible, correct a few instances where PORTDOCS was being used
to flag stuff in EXAMPLESDIR. For some ports, mostly those owned by
ruby@, PORTDOCS is applied to pretty much everything whether it's
documentation or example.
Relevant upstream changes are, taken from the NEWS file:
* Updated the Autoconf scripts to fix some reported build problems.
* Fixed lzo_init() on big-endian architectures like Sparc.
By request of Gea-Suan Lin <gslin@gslin.org> - reset ports to ports@FreeBSD.
Gea-Suan Lin's work is much appreciated.
Approved by: portmgr (implicit) (not really, skipping NO_STAGE check)
- Avoid changing the same file both via the patch and with sed(1)
- Now that with staging PLIST_FILES become long again, resurrect pkg-plist
- Improve COMMENT, port description, sort the knobs, and cleanup the port
changes that Debian made to their libtool. The first command applies to
libtool versions 1.4 and up. The second command is somewhat more elaborate
but essentially it uses the sed hold space to move an "elif...fi" block
down. It applies to 2.x. Together these reduce overlinking to unpatched
.la files (from ports that don't have USES=libtool yet but also .la files
in the work directory).
The third and fourth command fix relinking. During staging libtool may
relink libA when it links to another library in the work directory libB.
The reason is that libA created during build phase has its runpath set to
the location of libB in the work directory. This allows running an
executable that links to libA from within the work directory. The relink
removes this extra runpath.
When libtool relinks libA it replaces "libB.la" on the linker command line
with "-L${STAGEDIR}${PREFIX}/lib -lB" with the intention to link to libB in
the stage directory but this -L flag isn't necessarily the first so another
libB may be linked instead. The two sed commands make relink the same as a
normal link. This means libtool will relink with libraries from the work
directory using a path similar to "../srcB/.libs/libB.so" without -L flags.
This applies to libtool 1.4 and up. Earlier versions don't seem to relink
libraries.
(This fixes ports like devel/apr1 so they link with freshly built libraries
instead of installed libraries.)
Fix all ports with missing libraries.
Additionally:
archivers/rpm4: USES=patchfix.
databases/gdbm: INSTALL_TARGET=install-strip.
devel/gnome-vfs: remove patch that doesn't change anything.
devel/ois: INSTALL_TARGET=install-strip and use standard USE_AUTOTOOLS.
devel/zziplib: INSTALL_TARGET=install-strip, MAKE_CMD.
multimedia/mjpegtools: remove USE_AUTOTOOLS, use modern compiler on i386
instead of disabling optimisations.
net/libnetdude: disable static plugins.
PR: 190941
Exp-run: antoine
Approved by: portmgr (antoine)
Sylvio's last commit was 17 months ago, a full 5 months after all of his
ports could have been reset per policy. Given the push to complete
staging (48 ports are still unstaged, something like 70+ have already
been staged by other committers) and given that PRs are automatically
assigned but never addressed, it's better just to reset all the ports and
PRs so that it's clear to others that these ports are free to maintain.
Approved by: portmgr (implicit)