From 53b30b0f3d0be56d088b0431560a9f4ae1da341b Mon Sep 17 00:00:00 2001 From: Andrey Nikitin Date: Tue, 4 Aug 2026 15:20:43 +0100 Subject: [PATCH 01/12] issue #codio-17872. install software on ubuntu 2604. --- r-studio/playbook.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/r-studio/playbook.yaml b/r-studio/playbook.yaml index e197efa..6bf3eef 100644 --- a/r-studio/playbook.yaml +++ b/r-studio/playbook.yaml @@ -3,10 +3,10 @@ become: yes become_user: root tasks: - - name: Fail if not running on Ubuntu 22.04 + - name: Fail if running on Ubuntu < 22.04 fail: - msg: "These tasks should only be run on Ubuntu 22.04" - when: ansible_distribution != "Ubuntu" or ansible_distribution_version != "22.04" + msg: "These tasks should only be run on Ubuntu 22.04 or later" + when: ansible_distribution != "Ubuntu" or ansible_distribution_version is version('22.04', '<') - name: Install essential packages ansible.builtin.apt: From 613273376a190dec75788db2523d750cf56f358e Mon Sep 17 00:00:00 2001 From: Andrey Nikitin Date: Tue, 4 Aug 2026 16:16:26 +0100 Subject: [PATCH 02/12] install pyodbc --- helper_mssql/playbook.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/helper_mssql/playbook.yaml b/helper_mssql/playbook.yaml index ee9a90e..204df19 100644 --- a/helper_mssql/playbook.yaml +++ b/helper_mssql/playbook.yaml @@ -29,6 +29,16 @@ become_user: codio pip: name: pyodbc + when: ansible_facts['distribution_major_version'] | int < 26 + + - name: Install pyodbc + become_user: codio + apt: + pkg: + - python3-pyodbc + state: present + update_cache: true + when: ansible_facts['distribution_major_version'] | int >= 26 - name: Creates directory become_user: codio From ee766ad4e19697129aeb6cbc1eb113c6c25b03f4 Mon Sep 17 00:00:00 2001 From: Andrey Nikitin Date: Tue, 4 Aug 2026 16:27:44 +0100 Subject: [PATCH 03/12] fix --- helper_mssql/playbook.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/helper_mssql/playbook.yaml b/helper_mssql/playbook.yaml index 204df19..b45e4b3 100644 --- a/helper_mssql/playbook.yaml +++ b/helper_mssql/playbook.yaml @@ -32,7 +32,6 @@ when: ansible_facts['distribution_major_version'] | int < 26 - name: Install pyodbc - become_user: codio apt: pkg: - python3-pyodbc From 871515914f236adf52b63c81e6c118a725de345b Mon Sep 17 00:00:00 2001 From: Andrey Nikitin Date: Tue, 4 Aug 2026 16:42:38 +0100 Subject: [PATCH 04/12] install pyodbc via apt for ubuntu >= 22 --- helper_mssql/playbook.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helper_mssql/playbook.yaml b/helper_mssql/playbook.yaml index b45e4b3..68adc42 100644 --- a/helper_mssql/playbook.yaml +++ b/helper_mssql/playbook.yaml @@ -29,7 +29,7 @@ become_user: codio pip: name: pyodbc - when: ansible_facts['distribution_major_version'] | int < 26 + when: ansible_facts['distribution_major_version'] | int < 22 - name: Install pyodbc apt: @@ -37,7 +37,7 @@ - python3-pyodbc state: present update_cache: true - when: ansible_facts['distribution_major_version'] | int >= 26 + when: ansible_facts['distribution_major_version'] | int >= 22 - name: Creates directory become_user: codio From 57cc62bebdc5b0eb48e2a0cb71d4b7b75712a904 Mon Sep 17 00:00:00 2001 From: Andrey Nikitin Date: Thu, 6 Aug 2026 17:27:26 +0100 Subject: [PATCH 05/12] Deno --- deno/playbook.yaml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/deno/playbook.yaml b/deno/playbook.yaml index a62ba1d..6d3868b 100644 --- a/deno/playbook.yaml +++ b/deno/playbook.yaml @@ -61,6 +61,15 @@ name: sourcemap executable: pip3 state: present + when: ansible_facts['distribution_major_version'] | int < 22 + + - name: Install pyodbc + apt: + pkg: + - python3-pyodbc + state: present + update_cache: true + when: ansible_facts['distribution_major_version'] | int >= 22 - name: Install requests become: true @@ -68,3 +77,12 @@ name: requests executable: pip3 state: present + when: ansible_facts['distribution_major_version'] | int < 22 + + - name: Install requests + apt: + pkg: + - python3-requests + state: present + update_cache: true + when: ansible_facts['distribution_major_version'] | int >= 22 From b6962ce09264282d33c95eaf972437e75bec5925 Mon Sep 17 00:00:00 2001 From: Andrey Nikitin Date: Thu, 6 Aug 2026 17:34:56 +0100 Subject: [PATCH 06/12] mysql --- helper_mysql/playbook.yaml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/helper_mysql/playbook.yaml b/helper_mysql/playbook.yaml index 30a59f1..0866c4d 100644 --- a/helper_mysql/playbook.yaml +++ b/helper_mysql/playbook.yaml @@ -25,7 +25,16 @@ - name: Install mysql-connector-python become_user: codio pip: - name: mysql-connector-python==8.2.0 + name: mysql-connector-python==26.7.0 + when: ansible_facts['distribution_major_version'] | int < 22 + + - name: Install mysql-connector-python + apt: + pkg: + - python3-mysql.connector + state: present + update_cache: true + when: ansible_facts['distribution_major_version'] | int >= 22 - name: Creates directory become_user: codio From 0358f24cb4055e755d33e81648d86a4ba2e788cd Mon Sep 17 00:00:00 2001 From: Andrey Nikitin Date: Thu, 6 Aug 2026 17:36:43 +0100 Subject: [PATCH 07/12] postgres --- helper_postgres/playbook.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/helper_postgres/playbook.yaml b/helper_postgres/playbook.yaml index e5f3702..87dd673 100644 --- a/helper_postgres/playbook.yaml +++ b/helper_postgres/playbook.yaml @@ -33,6 +33,15 @@ become_user: codio pip: name: psycopg2 + when: ansible_facts['distribution_major_version'] | int < 22 + + - name: Install psycopg2 + apt: + pkg: + - python3-psycopg2 + state: present + update_cache: true + when: ansible_facts['distribution_major_version'] | int >= 22 - name: Creates directory become_user: codio From ac911f9746923402af5b4500b5c06a78f999f703 Mon Sep 17 00:00:00 2001 From: Andrey Nikitin Date: Thu, 6 Aug 2026 17:45:33 +0100 Subject: [PATCH 08/12] python lsp --- python-lsp/playbook.yaml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/python-lsp/playbook.yaml b/python-lsp/playbook.yaml index cdaf75d..2b6c181 100644 --- a/python-lsp/playbook.yaml +++ b/python-lsp/playbook.yaml @@ -26,8 +26,19 @@ update_cache: true when: ansible_facts['distribution_major_version'] | int >= 22 - name: install python-language-server for ubuntu >= 22 - pip: name=python-language-server version=0.36.2 + apt: + name: python3-pylsp + state: present + update_cache: true when: ansible_facts['distribution_major_version'] | int >= 22 - name: install pycodestyle pip: name=pycodestyle + when: ansible_facts['distribution_major_version'] | int < 22 + + - name: install pycodestyle for ubuntu >= 22 + apt: + name: pycodestyle + state: present + update_cache: true + when: ansible_facts['distribution_major_version'] | int >= 22 From 1f330f4d21bfb1ac4dc27a2466343f4b53a2d5fb Mon Sep 17 00:00:00 2001 From: Andrey Nikitin Date: Thu, 6 Aug 2026 17:48:56 +0100 Subject: [PATCH 09/12] python 2 --- python2/playbook.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/python2/playbook.yaml b/python2/playbook.yaml index 1dd1994..9341af8 100644 --- a/python2/playbook.yaml +++ b/python2/playbook.yaml @@ -3,6 +3,11 @@ become: yes become_user: root tasks: + - name: Fail if running on Ubuntu > 22.04 + fail: + msg: "These tasks should only be run on Ubuntu 22.04 or earlier" + when: ansible_distribution != "Ubuntu" or ansible_distribution_version is version('22.04', '>') + - apt: name=python state=present - apt: name=python-dev state=present - apt: name=python-pip state=present From 9ae1910acf375549de091afe9e3491f919c9547a Mon Sep 17 00:00:00 2001 From: Andrey Nikitin Date: Fri, 7 Aug 2026 11:34:37 +0100 Subject: [PATCH 10/12] update r-studio --- r-studio/playbook.yaml | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/r-studio/playbook.yaml b/r-studio/playbook.yaml index 6bf3eef..aa0431d 100644 --- a/r-studio/playbook.yaml +++ b/r-studio/playbook.yaml @@ -14,6 +14,9 @@ - build-essential - software-properties-common - dirmngr + - wget + - ca-certificates + - gnupg update_cache: true - name: Cpan apt key @@ -31,6 +34,30 @@ - name: Add CRAN Packages ansible.builtin.apt_repository: repo: ppa:c2d4u.team/c2d4u4.0+ + when: ansible_distribution == "Ubuntu" and ansible_distribution_version is version('22.04', '==') + + # https://github.com/eddelbuettel/r2u + # https://eddelbuettel.github.io/r2u/ + + - name: Add R2U repository into sources list + ansible.builtin.shell: | + gpg --homedir /tmp --no-default-keyring \ + --keyring /usr/share/keyrings/r2u.gpg \ + --keyserver keyserver.ubuntu.com \ + --recv-keys A1489FE2AB99A21A 67C2D66C4B1D4339 51716619E084DAB9 + when: ansible_distribution == "Ubuntu" and ansible_distribution_version is version('22.04', '>') + + - name: Add R2U repository into sources list + ansible.builtin.copy: + dest: /etc/apt/sources.list.d/r2u.sources + content: | + Types: deb + URIs: https://r2u.stat.illinois.edu/ubuntu + Suites: noble + Components: main + Arch: amd64, arm64 + Signed-By: /usr/share/keyrings/r2u.gpg + when: ansible_distribution == "Ubuntu" and ansible_distribution_version is version('22.04', '>') - name: Install R Base ansible.builtin.apt: @@ -39,7 +66,7 @@ - name: Install r studio .deb package ansible.builtin.apt: - deb: https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2026.01.0-392-amd64.deb + deb: https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2026.07.1-147-amd64.deb - name: Create systemd Rstudio config ansible.builtin.copy: From e9582769bb1d1b1f04ebbcdefb72167afcaefdc4 Mon Sep 17 00:00:00 2001 From: Andrey Nikitin Date: Fri, 7 Aug 2026 12:03:13 +0100 Subject: [PATCH 11/12] update apt source suite --- package_list.json | 2 +- r-studio/playbook.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package_list.json b/package_list.json index 945fdcc..6cf4faa 100644 --- a/package_list.json +++ b/package_list.json @@ -202,7 +202,7 @@ "name": "R Studio", "description": "R is an open-source programming language and free environment that specializes in statistical computing and graphical representation. (Ubuntu 22.04 required)", "script": "r-studio", - "version": "2023.12.1", + "version": "2026.07.1-147", "category": "IDE" }, "jupyter-codio-extension": { diff --git a/r-studio/playbook.yaml b/r-studio/playbook.yaml index aa0431d..10aaa2e 100644 --- a/r-studio/playbook.yaml +++ b/r-studio/playbook.yaml @@ -45,7 +45,7 @@ --keyring /usr/share/keyrings/r2u.gpg \ --keyserver keyserver.ubuntu.com \ --recv-keys A1489FE2AB99A21A 67C2D66C4B1D4339 51716619E084DAB9 - when: ansible_distribution == "Ubuntu" and ansible_distribution_version is version('22.04', '>') + when: ansible_distribution == "Ubuntu" and ansible_distribution_version is version('26.04', '==') - name: Add R2U repository into sources list ansible.builtin.copy: @@ -53,11 +53,11 @@ content: | Types: deb URIs: https://r2u.stat.illinois.edu/ubuntu - Suites: noble + Suites: resolute Components: main Arch: amd64, arm64 Signed-By: /usr/share/keyrings/r2u.gpg - when: ansible_distribution == "Ubuntu" and ansible_distribution_version is version('22.04', '>') + when: ansible_distribution == "Ubuntu" and ansible_distribution_version is version('26.04', '==') - name: Install R Base ansible.builtin.apt: From 564c26475c25341cdd5bac8d0badedc1459ce07d Mon Sep 17 00:00:00 2001 From: Andrey Nikitin Date: Fri, 7 Aug 2026 13:10:09 +0100 Subject: [PATCH 12/12] get r2u keys for r-studio --- r-studio/playbook.yaml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/r-studio/playbook.yaml b/r-studio/playbook.yaml index 10aaa2e..f966b59 100644 --- a/r-studio/playbook.yaml +++ b/r-studio/playbook.yaml @@ -39,14 +39,25 @@ # https://github.com/eddelbuettel/r2u # https://eddelbuettel.github.io/r2u/ - - name: Add R2U repository into sources list + - name: Create temporary directory for R2U keys + ansible.builtin.file: + path: /tmp/r2ukeys + state: directory + mode: "0700" + when: ansible_distribution == "Ubuntu" and ansible_distribution_version is version('26.04', '==') + + - name: Download R2U keys into temporary directory ansible.builtin.shell: | - gpg --homedir /tmp --no-default-keyring \ - --keyring /usr/share/keyrings/r2u.gpg \ - --keyserver keyserver.ubuntu.com \ + gpg --homedir /tmp/r2ukeys \ + --keyserver hkps://keyserver.ubuntu.com \ --recv-keys A1489FE2AB99A21A 67C2D66C4B1D4339 51716619E084DAB9 when: ansible_distribution == "Ubuntu" and ansible_distribution_version is version('26.04', '==') + - name: Export R2U keys + ansible.builtin.shell: | + gpg --homedir /tmp/r2ukeys --export | gpg --dearmor -o /usr/share/keyrings/r2u.gpg + when: ansible_distribution == "Ubuntu" and ansible_distribution_version is version('26.04', '==') + - name: Add R2U repository into sources list ansible.builtin.copy: dest: /etc/apt/sources.list.d/r2u.sources