Note that some of these are trivial to fix. For example, a SIP-friendly
InfoTest for libmetalink3 only requires...

diff -[Jack-Howarths-Computer:main/finkinfo/net] howarth% diff -u
libmetalink3.info libmetalink3.info.sip
--- libmetalink3.info 2015-09-14 11:05:26.000000000 -0400
+++ libmetalink3.info.sip 2015-09-14 11:05:06.000000000 -0400
@@ -30,10 +30,15 @@

 InfoTest:<<
  TestDepends: cunit1
- TestScript: DYLD_LIBRARY_PATH="%b/lib/.libs" make check
CPPFLAGS="-DHAVE_INTTYPES_H" || exit 2
+ TestScript: make check CPPFLAGS="-DHAVE_INTTYPES_H" || exit 2
 <<

+CompileScript: <<
+ %{default_script}
+ install_name_tool -id %b/lib/.libs/libmetalink.3.dylib
 %b/lib/.libs/libmetalink.3.dylib
+<<
 InstallScript: <<
+ install_name_tool -id %p/lib/libmetalink.3.dylib
%b/lib/.libs/libmetalink.3.dylib
  make install DESTDIR=%d
 <<

On Mon, Sep 14, 2015 at 10:29 AM, Jack Howarth <howarth.at.f...@gmail.com>
wrote:

>    One issue we have to address is the fallout of the new Security
> Integrity Protection feature on DYLD_LIBRARY_PATH handling during builds
> and testsuite runs...
>
>
> https://developer.apple.com/library/prerelease/ios/documentation/Security/Conceptual/System_Integrity_Protection_Guide/System_Integrity_Protection_Guide.pdf
>
>    The most extreme category will be those packages which need to run
> their own binaries during the build/installation. The gcc5 package fails in
> that category but fortunately in a non-fatal manner when it tries to run
> gcj-dbtool.
>     The second category are the testsuites which will fail unless the
> shared libs of the package are already installed. libmetalink3, nghttp2 and
> libssh2 are a few examples of that.
>     The available solutions are...
>
> 1) Readjust the build to use DYLD_FALLBACK_LIBRARY_PATH but this creates
> the problem of accidental testing against the previous copy of the shared
> libraries.
> 2) Adjust the build to set the shared library install name to the actual
> build directory location and link the executables against that. However
> this requires the install script to reset the install names of the shared
> libraries and their usages in the executables to the final correct location.
> 3) Use @loader_path, @executable_path or @rpath. This is problematic
> unless the build currently stows the built binaries in subdirectories that
> mirror the final installation (eg bin and lib at the same directory level).
> This could be worked around in the same manner as option 2 by having the
> install name set to the actual build directory and then resetting them
> appropriately on installation.
>              Jack
>
> ps These issues are already getting some traffic on the developer mailing
> lists...
>
> https://forums.developer.apple.com/message/35499#35499
> https://forums.developer.apple.com/message/28622#28622
>
------------------------------------------------------------------------------
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to