Fix for issue 777, restoring versioned library symbolic links in installed package on Linux #778
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #777
When scikit-build assembles dpctl, it runs cmake with
_skbuild/*/cmake-build
beingas its build directory,
_skbuild/*/cmake-install
being its install directory. It thenruns setuptools.setup to execute
build_py
steps using_skbuild/*/setuptools
as itsbuild_base
. Since sycl interface library is registered inpackage_data
, it is copiedfrom
cmake-install
folder (where symbolic links are intact) tosetuptools
(whereunpatched
setuptools.command.build_py
command follows them creatinghard copies).
Then, when running
install_lib
step, files from_skbuild/*/setuptools/lib/dpctl
arecopied into
site-packages/dpctl
usingcopy_tree
function, which also followssymbolic links this creating hard copies).
This PR transfers logic from pre-scikit-build setup.py to fix hard links as post
setuptools.command.install.run()
step).A test is added to
tests/test_service.py
to verify that on Linux some of library filesare symbolic links.