fix 3
This commit is contained in:
@ -1,5 +1,8 @@
|
|||||||
---
|
---
|
||||||
# Version des guacamole-server-Quellcode-Tarballs (siehe tasks/main.yml).
|
# guacamole-server-Version und FreeRDP-Dev-Paket fuer den Quellcode-Build
|
||||||
# Passend zu guacamole-common-js@1.5 im Frontend (scripts/fetch_frontend_assets.sh)
|
# (siehe tasks/main.yml). Leer lassen = automatische Erkennung anhand der
|
||||||
# auf dem letzten 1.5.x-Patchlevel halten.
|
# Ziel-Distribution (Debian 12/bookworm -> FreeRDP2 + guacamole-server 1.5.5;
|
||||||
guacd_version: "1.5.5"
|
# Debian 13/trixie -> FreeRDP3 + guacamole-server 1.6.0). Hier oder in
|
||||||
|
# group_vars ueberschreiben, um eine bestimmte Kombination zu erzwingen.
|
||||||
|
guacd_version: ""
|
||||||
|
guacd_freerdp_dev_package: ""
|
||||||
|
|||||||
@ -8,6 +8,31 @@
|
|||||||
# ("Installing Guacamole natively") aus dem Quellcode-Tarball gebaut. Nur das
|
# ("Installing Guacamole natively") aus dem Quellcode-Tarball gebaut. Nur das
|
||||||
# RDP-Plugin wird aktiviert (FreeRDP-Dev-Header vorhanden, kein VNC/Telnet),
|
# RDP-Plugin wird aktiviert (FreeRDP-Dev-Header vorhanden, kein VNC/Telnet),
|
||||||
# passend zum reinen RDP-Einsatzzweck dieses Jumphosts.
|
# passend zum reinen RDP-Einsatzzweck dieses Jumphosts.
|
||||||
|
#
|
||||||
|
# FreeRDP-Paketname und guacamole-server-Version haengen vom Ziel-OS ab:
|
||||||
|
# Debian 12 (bookworm) liefert nur FreeRDP2 (freerdp2-dev) -- dafuer reicht
|
||||||
|
# guacamole-server 1.5.x. Debian 13 (trixie) liefert nur FreeRDP3
|
||||||
|
# (freerdp3-dev, freerdp2-dev existiert dort nicht mehr) -- dafuer wird
|
||||||
|
# mindestens guacamole-server 1.6.0 benoetigt, dessen configure-Skript
|
||||||
|
# FreeRDP2 *und* FreeRDP3 per pkg-config automatisch erkennt (kein
|
||||||
|
# zusaetzliches Configure-Flag noetig, s. configure.ac PKG_CHECK_MODULES).
|
||||||
|
# Per group_vars ueberschreibbar (guacd_version / guacd_freerdp_dev_package),
|
||||||
|
# falls eine andere Kombination erzwungen werden soll.
|
||||||
|
|
||||||
|
- name: FreeRDP-Paket und guacamole-server-Version anhand der Distribution bestimmen
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
_guacd_freerdp_pkg: >-
|
||||||
|
{{ guacd_freerdp_dev_package
|
||||||
|
if (guacd_freerdp_dev_package | default('', true) | length > 0)
|
||||||
|
else ('freerdp3-dev'
|
||||||
|
if (ansible_distribution == 'Debian' and ansible_distribution_major_version | int >= 13)
|
||||||
|
else 'freerdp2-dev') }}
|
||||||
|
_guacd_version: >-
|
||||||
|
{{ guacd_version
|
||||||
|
if (guacd_version | default('', true) | length > 0)
|
||||||
|
else ('1.6.0'
|
||||||
|
if (ansible_distribution == 'Debian' and ansible_distribution_major_version | int >= 13)
|
||||||
|
else '1.5.5') }}
|
||||||
|
|
||||||
- name: Build-Abhaengigkeiten fuer guacd installieren
|
- name: Build-Abhaengigkeiten fuer guacd installieren
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
@ -20,7 +45,7 @@
|
|||||||
- uuid-dev
|
- uuid-dev
|
||||||
- libpango1.0-dev
|
- libpango1.0-dev
|
||||||
- libssl-dev
|
- libssl-dev
|
||||||
- freerdp2-dev
|
- "{{ _guacd_freerdp_pkg }}"
|
||||||
- pkg-config
|
- pkg-config
|
||||||
- wget
|
- wget
|
||||||
- ca-certificates
|
- ca-certificates
|
||||||
@ -41,28 +66,28 @@
|
|||||||
|
|
||||||
- name: Installierte guacd-Version ermitteln
|
- name: Installierte guacd-Version ermitteln
|
||||||
ansible.builtin.command: /usr/local/sbin/guacd -v
|
ansible.builtin.command: /usr/local/sbin/guacd -v
|
||||||
register: _guacd_version
|
register: _guacd_installed_version
|
||||||
changed_when: false
|
changed_when: false
|
||||||
when: _guacd_bin.stat.exists
|
when: _guacd_bin.stat.exists
|
||||||
|
|
||||||
- name: Feststellen, ob (Neu-)Build noetig ist
|
- name: Feststellen, ob (Neu-)Build noetig ist
|
||||||
ansible.builtin.set_fact:
|
ansible.builtin.set_fact:
|
||||||
_guacd_build_needed: "{{ (not _guacd_bin.stat.exists) or (guacd_version not in (_guacd_version.stdout | default(''))) }}"
|
_guacd_build_needed: "{{ (not _guacd_bin.stat.exists) or (_guacd_version not in (_guacd_installed_version.stdout | default(''))) }}"
|
||||||
|
|
||||||
- name: guacamole-server Quellcode-Tarball herunterladen
|
- name: guacamole-server Quellcode-Tarball herunterladen
|
||||||
ansible.builtin.get_url:
|
ansible.builtin.get_url:
|
||||||
url: "https://archive.apache.org/dist/guacamole/{{ guacd_version }}/source/guacamole-server-{{ guacd_version }}.tar.gz"
|
url: "https://archive.apache.org/dist/guacamole/{{ _guacd_version }}/source/guacamole-server-{{ _guacd_version }}.tar.gz"
|
||||||
dest: "/usr/local/src/guacamole-server-{{ guacd_version }}.tar.gz"
|
dest: "/usr/local/src/guacamole-server-{{ _guacd_version }}.tar.gz"
|
||||||
checksum: "sha512:https://archive.apache.org/dist/guacamole/{{ guacd_version }}/source/guacamole-server-{{ guacd_version }}.tar.gz.sha512"
|
checksum: "sha512:https://archive.apache.org/dist/guacamole/{{ _guacd_version }}/source/guacamole-server-{{ _guacd_version }}.tar.gz.sha512"
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
when: _guacd_build_needed
|
when: _guacd_build_needed
|
||||||
|
|
||||||
- name: guacamole-server Tarball entpacken
|
- name: guacamole-server Tarball entpacken
|
||||||
ansible.builtin.unarchive:
|
ansible.builtin.unarchive:
|
||||||
src: "/usr/local/src/guacamole-server-{{ guacd_version }}.tar.gz"
|
src: "/usr/local/src/guacamole-server-{{ _guacd_version }}.tar.gz"
|
||||||
dest: /usr/local/src
|
dest: /usr/local/src
|
||||||
remote_src: true
|
remote_src: true
|
||||||
creates: "/usr/local/src/guacamole-server-{{ guacd_version }}/configure"
|
creates: "/usr/local/src/guacamole-server-{{ _guacd_version }}/configure"
|
||||||
when: _guacd_build_needed
|
when: _guacd_build_needed
|
||||||
|
|
||||||
- name: guacamole-server konfigurieren (nur RDP-Plugin, kein VNC/Telnet/guacenc)
|
- name: guacamole-server konfigurieren (nur RDP-Plugin, kein VNC/Telnet/guacenc)
|
||||||
@ -70,21 +95,21 @@
|
|||||||
cmd: >-
|
cmd: >-
|
||||||
./configure --with-systemd-dir=/etc/systemd/system
|
./configure --with-systemd-dir=/etc/systemd/system
|
||||||
--disable-guacenc --disable-guaclog
|
--disable-guacenc --disable-guaclog
|
||||||
chdir: "/usr/local/src/guacamole-server-{{ guacd_version }}"
|
chdir: "/usr/local/src/guacamole-server-{{ _guacd_version }}"
|
||||||
creates: "/usr/local/src/guacamole-server-{{ guacd_version }}/Makefile"
|
creates: "/usr/local/src/guacamole-server-{{ _guacd_version }}/Makefile"
|
||||||
when: _guacd_build_needed
|
when: _guacd_build_needed
|
||||||
|
|
||||||
- name: guacamole-server kompilieren
|
- name: guacamole-server kompilieren
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
cmd: "make -j{{ ansible_processor_vcpus | default(2) }}"
|
cmd: "make -j{{ ansible_processor_vcpus | default(2) }}"
|
||||||
chdir: "/usr/local/src/guacamole-server-{{ guacd_version }}"
|
chdir: "/usr/local/src/guacamole-server-{{ _guacd_version }}"
|
||||||
when: _guacd_build_needed
|
when: _guacd_build_needed
|
||||||
changed_when: true
|
changed_when: true
|
||||||
|
|
||||||
- name: guacamole-server installieren (make install)
|
- name: guacamole-server installieren (make install)
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
cmd: make install
|
cmd: make install
|
||||||
chdir: "/usr/local/src/guacamole-server-{{ guacd_version }}"
|
chdir: "/usr/local/src/guacamole-server-{{ _guacd_version }}"
|
||||||
when: _guacd_build_needed
|
when: _guacd_build_needed
|
||||||
notify:
|
notify:
|
||||||
- reload systemd
|
- reload systemd
|
||||||
|
|||||||
Reference in New Issue
Block a user