ansible-role-python_venv_build/tasks/python_venv_install_symlink.yml
Jonathan Rosser 2a533ed185 Use ansible_facts[] instead of fact variables
See https://github.com/ansible/ansible/issues/73654

Change-Id: Iec4a2a8c5251ddccedc4310c26c8fd2ca8bdc913
2021-02-25 12:24:01 +00:00

45 lines
1.6 KiB
YAML

---
# 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 }}"