You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a reason in a recipe to make sure the versioned library files are present as expected. (i.e. libfoo.dylib, libfoo.1.dylib, libfoo.1.2.3.dylib)
This can be done in a script, which isn't too bad, but it's a little tedious because the ordering of SHLIB_EXT and SOVERSION are different on linux/mac:
tests:
- script:
- if: osx
- test -f $PREFIX/lib/libfoo.$(echo ${PKG_VERSION} | cut -d. -f1 )${SHLIB_EXT}
- test -f $PREFIX/lib/libfoo.${PKG_VERSION}${SHLIB_EXT}
- if: linux
- test -f $PREFIX/lib/libfoo${SHLIB_EXT}.$(echo ${PKG_VERSION} | cut -d. -f1 )
- test -f $PREFIX/lib/libfoo${SHLIB_EXT}.${PKG_VERSION}
but it would be awesome if package_contents.lib understood this, so I could have something like:
ouputs:
- package:
name: libsomethingversion: 1.2.3 # different from recipe versiontests:
- package_contents:
lib:
- name: fooso_version:
# I don't actually know what variable is available for the output version; can outputs have their own `context`?
- ${{ output_version }} # libfoo.1.2.3.dylib
- ${{ output_version | major_version }} # libfoo.1.dylib
that does the right thing (including ignoring the version on Windows, I think). Double bonus points if I could also assert that install_name / soname points to a specific version (libfoo.X.dylib / libfoo.so.X) because it is a common mistake in libraries to do this wrong, and relevant to the validation of pinning in run_exports (e.g. if install_name is libfoo.1.2.3.dylib, run_exports pinning must set max_pin=x.x.x as max_pin='x' will result in broken packages with 'library not found' when 1.2.4 is released).
The text was updated successfully, but these errors were encountered:
I have a reason in a recipe to make sure the versioned library files are present as expected. (i.e. libfoo.dylib, libfoo.1.dylib, libfoo.1.2.3.dylib)
This can be done in a script, which isn't too bad, but it's a little tedious because the ordering of SHLIB_EXT and SOVERSION are different on linux/mac:
but it would be awesome if
package_contents.lib
understood this, so I could have something like:that does the right thing (including ignoring the version on Windows, I think). Double bonus points if I could also assert that
install_name
/soname
points to a specific version (libfoo.X.dylib / libfoo.so.X) because it is a common mistake in libraries to do this wrong, and relevant to the validation of pinning inrun_exports
(e.g. if install_name islibfoo.1.2.3.dylib
, run_exports pinning must setmax_pin=x.x.x
asmax_pin='x'
will result in broken packages with 'library not found' when 1.2.4 is released).The text was updated successfully, but these errors were encountered: