From 9438a58b72626caa7f9c8a06b931494694b86a28 Mon Sep 17 00:00:00 2001 From: Minh Minh Date: Sat, 14 Sep 2024 15:07:58 +0200 Subject: [PATCH] Support Debian 12 (bookworm) --- CHANGELOG.md | 3 +++ build/ansible/roles/libre/tasks/liberator.yml | 13 +++++++++++++ build/ansible/roles/platform/tasks/debian.yml | 9 ++++++++- liberator/requirements.txt | 10 +++++----- liberator/system/systemd/liberator.service | 2 +- 5 files changed, 30 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad5e4b6..d5c2701 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/). i.e. `..` +## [v0.8.0] - 2024-09-14 +- Support Debian 12 (bookworm) + ## [v0.7.2] - 2024-09-14 - Support call recovery capability (HA) #140 - Support config build as var for kamailio/freeswitch diff --git a/build/ansible/roles/libre/tasks/liberator.yml b/build/ansible/roles/libre/tasks/liberator.yml index 8e7954f..19d979e 100644 --- a/build/ansible/roles/libre/tasks/liberator.yml +++ b/build/ansible/roles/libre/tasks/liberator.yml @@ -43,10 +43,23 @@ - reload logrotate - restart rsyslog +## BOOKWORM +- name: variable libre_python_binary + set_fact: + libre_python_binary: "{% if ansible_distribution_major_version|int >= 12 %}{{dstdir}}/venv/bin/python3{% else %}/usr/bin/python3{% endif %}" +- name: Update python lib/package for venv + pip: + requirements: "{{dstdir}}/liberator/requirements.txt" + virtualenv: "{{dstdir}}/venv" + virtualenv_command: /usr/bin/python3 -m venv + when: ansible_distribution_major_version|int >= 12 +## BOOKWORM + - name: Install specified python requirements pip: requirements: "{{dstdir}}/liberator/requirements.txt" executable: pip3 + when: ansible_distribution_major_version|int < 12 - name: Create a directory if it does not exist file: diff --git a/build/ansible/roles/platform/tasks/debian.yml b/build/ansible/roles/platform/tasks/debian.yml index 7993995..00e49ec 100644 --- a/build/ansible/roles/platform/tasks/debian.yml +++ b/build/ansible/roles/platform/tasks/debian.yml @@ -69,11 +69,18 @@ - python3-pip - python3 - python3-dev - - python-setuptools + - python3-venv - liblua5.2-dev - lua5.2 - luarocks state: latest + +- name: Install essential/extend packages + apt: + pkg: + - python-setuptools + state: latest + when: libre_debian_version != "bookworm" - name: Enable and start chronyd systemd: diff --git a/liberator/requirements.txt b/liberator/requirements.txt index cd84451..75b70d9 100644 --- a/liberator/requirements.txt +++ b/liberator/requirements.txt @@ -1,12 +1,12 @@ -requests==2.32.2 -fastapi==0.110.3 +requests==2.32.3 +fastapi==0.114.2 typing==3.7.4.1 pydantic==1.10.15 -uvicorn==0.11.7 +uvicorn==0.30.6 Jinja2==3.1.4 aiofiles==0.5.0 -redis==4.4.4 +redis==5.0.8 contextvars==2.4 schedule==0.6.0 redfs==0.0.4rc0 -validators==0.18.2 +validators==0.34.0 diff --git a/liberator/system/systemd/liberator.service b/liberator/system/systemd/liberator.service index 7b1909a..09d4a22 100644 --- a/liberator/system/systemd/liberator.service +++ b/liberator/system/systemd/liberator.service @@ -9,7 +9,7 @@ User=root Group=root EnvironmentFile={{dstdir}}/libre.env WorkingDirectory={{dstdir}}/liberator -ExecStart=/usr/bin/python3 {{dstdir}}/liberator/main.py +ExecStart={{libre_python_binary}} {{dstdir}}/liberator/main.py SyslogIdentifier=libresbc SyslogFacility=5