--- # Copyright 2021, City Network International AB. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - name: Find the venv's python version find: paths: "{{ venv_install_destination_path }}/lib/" patterns: "python*" file_type: directory recurse: no register: _python_venv_details - name: Search for lib files to link vars: _venv_python_major_version: "{{ (_python_venv_details.files[0].path | basename)[:-2] }}" shell: >- {{ (ansible_facts['pkg_mgr'] == 'apt') | ternary('dpkg -L ' ~ (venv_packages_to_symlink | join(' ')), 'rpm -ql ' ~ (venv_packages_to_symlink | join(' ')) ) }} | egrep '^.*{{ _venv_python_major_version }}.*/(site|dist)-packages/.*' | egrep -v "__pycache__" args: warn: no changed_when: false register: _python_files - name: Link the python host package files into venv vars: _venv_python_lib_folder: "{{ _python_venv_details.files[0].path }}" file: src: "{{ item }}" dest: "{{ _venv_python_lib_folder }}/site-packages/{{ item | basename }}" state: link force: yes with_items: "{{ _python_files.stdout_lines }}"