forked from rc/classroom
Compare commits
52 commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
bdc4fa2fc5 | ||
![]() |
fc01fec18c | ||
![]() |
99a8aa06db | ||
![]() |
9e9d487d57 | ||
![]() |
529623497c | ||
![]() |
d985d8ff84 | ||
![]() |
07f4a73dae | ||
![]() |
7559b049a2 | ||
![]() |
4d3b5f20a7 | ||
![]() |
93b01e5d53 | ||
![]() |
0d1e32c626 | ||
![]() |
c15d6f1edf | ||
79293545d3 | |||
![]() |
c5754dece2 | ||
![]() |
957cd67eb7 | ||
![]() |
beb1dbb757 | ||
![]() |
707090192c | ||
![]() |
4175f483db | ||
![]() |
41b392ee1e | ||
![]() |
8136635a6f | ||
![]() |
782f385a29 | ||
![]() |
bcb4d836b2 | ||
![]() |
d0b2a77216 | ||
![]() |
eb1e6012bd | ||
![]() |
e1ac068953 | ||
![]() |
90421ef1d1 | ||
![]() |
15ea864ddc | ||
![]() |
5620a7ebfe | ||
![]() |
e2b92f7a31 | ||
![]() |
5954f4e3ba | ||
![]() |
2c22dcceaf | ||
![]() |
e845b92ce0 | ||
![]() |
fc56d17bb6 | ||
![]() |
2d3fea452f | ||
![]() |
0b79607ee6 | ||
![]() |
368a302c89 | ||
![]() |
aa6730ab7a | ||
![]() |
7d33bcdcf4 | ||
![]() |
67fad39788 | ||
![]() |
45c8586c95 | ||
![]() |
675378ba8a | ||
![]() |
9a2e67b2e1 | ||
![]() |
f5456a7f57 | ||
![]() |
d0ac08e8ba | ||
2fe3a758d5 | |||
aafe896a98 | |||
b5ac93a417 | |||
![]() |
a45faf868f | ||
7b000c1b26 | |||
f76056ebee | |||
257afdde51 | |||
90f905c3cc |
119 changed files with 1853 additions and 350 deletions
41
README.md
41
README.md
|
@ -1,8 +1,39 @@
|
||||||
|
# Using the ansible scripts
|
||||||
|
|
||||||
Ansible playbooks for deploying classroom computers. Run with something like:
|
Ansible playbooks for deploying classroom computers. Run with something like:
|
||||||
|
ansible-playbook --user <local admin> -k -K -i inventory.yml setup.py
|
||||||
|
|
||||||
ansible-playbook --user <AD admin> --ask-pass \
|
or, for Apple computers:
|
||||||
--become-user=<local admin>
|
ansible-playbook --user <local admin> -k -K -i inventory.yml macsetup.py
|
||||||
--inventory hosts winsetup.yml
|
|
||||||
|
# How classroom computers are prepared at FRI
|
||||||
|
|
||||||
|
The computers are prepared as follows:
|
||||||
|
- Ask teachers to check their requirements.
|
||||||
|
- Fix ansible scripts according to the requirements.
|
||||||
|
- Set up a fresh Windows and Linux install on a VM, using files in unattended\_install.
|
||||||
|
- Use ansible to deploy the software, fixing fresh bugs due to changes in the install processes along the way.
|
||||||
|
- Fix root filesystem UUIDs to what they were last year so the network-booted menu still works.
|
||||||
|
- Create partition table image and partition images using [FRI Backup](https://github.com/UL-FRI/ansible_classroom_deploy/tree/main/fri_backup).
|
||||||
|
- Deploy the images on separate VMs - one for Linux, one for Windows.
|
||||||
|
- Have teachers check their software in the VMs, report any problems.
|
||||||
|
- Fix problems on the VMs.
|
||||||
|
- Create partition images for Windows on one VM, for Linux on the other.
|
||||||
|
- Deploy the images on a limited number of computers in the classrooms using FRI Backup.
|
||||||
|
- Test the newly deployed computers, fix identified problems on the VMs.
|
||||||
|
- Join the Linux VM into AD. One AD account is used for all computers.
|
||||||
|
- Deploy the partition tables and partitions to the classrooms using [custom ansible scripts](https://github.com/UL-FRI/ansible_classroom_deploy/tree/main/polz_scripts) running FRI Backup and [UDPCast](https://www.udpcast.linux.lu/cmd.html).
|
||||||
|
- Join Windows into AD.
|
||||||
|
|
||||||
|
# Immutable computers
|
||||||
|
|
||||||
|
Some pieces of modern software assume that a computer is only used by one user who has practically unlimited space in their home folder. Examples of such software are Android Studio, Visual Studio Code, Matlab, Windows Subsystem for Linux (WSUS) and others. Instead of trying to get the software to work, we might just give up and have everyone use the same account on each computer, then wipe all data after they log out / reboot.
|
||||||
|
|
||||||
|
## Windows
|
||||||
|
|
||||||
|
We intend to use [UWF](https://learn.microsoft.com/en-us/windows/configuration/wcd/wcd-unifiedwritefilter).
|
||||||
|
|
||||||
|
## Linux
|
||||||
|
|
||||||
|
We intend to use [snapper](https://wiki.archlinux.org/title/Snapper).
|
||||||
|
|
||||||
ansible-playbook --user <local admin> --ask-pass \
|
|
||||||
--inventory hosts linsetup.yml
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
- hosts: ucilnice-prototip
|
- hosts: classroom
|
||||||
become_method: sudo
|
become_method: sudo
|
||||||
become: true
|
become: true
|
||||||
vars:
|
vars:
|
||||||
ansible_port: 1001
|
# ansible_port: 1001
|
||||||
ansible_ssh_extra_args: '-o ForwardX11=yes'
|
ansible_ssh_extra_args: '-o ForwardX11=yes'
|
||||||
# ansible_become_pass: '{{ lookup("env", "ANSIBLE_PASSWORD") }}'
|
# ansible_become_pass: '{{ lookup("env", "ANSIBLE_PASSWORD") }}'
|
||||||
# ansible_password: '{{ lookup("env", "ANSIBLE_PASSWORD") }}'
|
# ansible_password: '{{ lookup("env", "ANSIBLE_PASSWORD") }}'
|
||||||
|
@ -12,7 +12,8 @@
|
||||||
- vars/credentials.yml
|
- vars/credentials.yml
|
||||||
- vars/software_keys.yml
|
- vars/software_keys.yml
|
||||||
roles:
|
roles:
|
||||||
# - orange
|
# - nodejs
|
||||||
|
# - qcadesigner-e
|
||||||
- all_classes
|
- all_classes
|
||||||
# - fri_base
|
# - fri_base
|
||||||
# - powerdesigner
|
# - powerdesigner
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
# Analiza algoritmov in hevristično reševanje problemov
|
# Analiza algoritmov in hevristično reševanje problemov
|
||||||
# matej.piculin@fri.uni-lj.si
|
# octavian.machidon@fri.uni-lj.si
|
||||||
# Windows, Java JDK, Eclipse, R, RStudio
|
# Windows, Java JDK, Eclipse, R, RStudio
|
||||||
dependencies:
|
dependencies:
|
||||||
- role: rstudio
|
- role: python3
|
||||||
- role: eclipse
|
- role: pycharm
|
||||||
- role: jdk
|
|
||||||
|
|
7
roles/APS1-63711/main.yaml
Normal file
7
roles/APS1-63711/main.yaml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# Algoritmi in podatkovne strukture 1
|
||||||
|
# jurij.mihelic@fri.uni-lj.si
|
||||||
|
# JDK, vscode, gedit
|
||||||
|
dependencies:
|
||||||
|
- role: jdk
|
||||||
|
- role: vscode
|
||||||
|
- role: gedit
|
|
@ -1,5 +1,8 @@
|
||||||
# Digitalno načrtovanje
|
# Digitalno načrtovanje
|
||||||
# Nejc.Ilc@fri.uni-lj.si
|
# ratko.pilipovic@fri.uni-lj.si
|
||||||
# Windows, Vivado 2022.1
|
# Windows, Vivado 2022.1
|
||||||
dependencies:
|
dependencies:
|
||||||
- role: vivado
|
- role: vivado
|
||||||
|
- role: iverilog
|
||||||
|
- role: cocotb
|
||||||
|
- role: surfer-project
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
# Digitalno procesiranje signalov
|
# Digitalno procesiranje signalov
|
||||||
# Aleks.Huc@fri.uni-lj.si
|
# Aleks.Huc@fri.uni-lj.si
|
||||||
|
# metod.celestina@dewesoft.si
|
||||||
# Windows, GNU/Linux, Matlab, wfdb, Octave, Audacity
|
# Windows, GNU/Linux, Matlab, wfdb, Octave, Audacity
|
||||||
dependencies:
|
dependencies:
|
||||||
- role: matlab
|
- role: matlab
|
||||||
- role: wfdb
|
- role: wfdb
|
||||||
- role: octave
|
- role: octave
|
||||||
- role: audacity
|
- role: audacity
|
||||||
|
- role: numpy
|
||||||
|
- role: matplotlib
|
||||||
|
|
7
roles/IS-63266/meta/main.yml
Normal file
7
roles/IS-63266/meta/main.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# Inteligentni sistemi
|
||||||
|
# tadej.skvorc@fri.uni-lj.si
|
||||||
|
#
|
||||||
|
dependencies:
|
||||||
|
- role: python3
|
||||||
|
- role: jupyter
|
||||||
|
- role: vscode
|
|
@ -5,5 +5,5 @@
|
||||||
# SageMath se se prevede za Ubutnu 24.04: https://github.com/sagemath/sage/issues/38051#issuecomment-2123452861
|
# SageMath se se prevede za Ubutnu 24.04: https://github.com/sagemath/sage/issues/38051#issuecomment-2123452861
|
||||||
# - include_tasks: sagemath.yml
|
# - include_tasks: sagemath.yml
|
||||||
dependencies:
|
dependencies:
|
||||||
- role: jupyter.yml
|
- role: jupyter
|
||||||
- role: openssl.yml
|
- role: openssl
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
# Načrtovanje digitalnih naprav
|
# Načrtovanje digitalnih naprav
|
||||||
# Miran.Koprivec@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si
|
# Miran.Koprivec@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si, ratko.pilipovic@fri.uni-lj.si
|
||||||
# Windows, Vivado 2022.1
|
|
||||||
# Načrtovanje digitalnih naprav
|
|
||||||
# Miha.Moskon@fri.uni-lj.si
|
|
||||||
# Windows, Vivado 2022.1
|
# Windows, Vivado 2022.1
|
||||||
dependencies:
|
dependencies:
|
||||||
- role: putty
|
- role: putty
|
||||||
- role: vivado
|
- role: vivado
|
||||||
- role: cp2102_driver
|
- role: cp2102_driver
|
||||||
|
- role: cocotb
|
||||||
|
- role: iverilog
|
||||||
|
- role: surfer-project
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# Windows, Logisim, Logisim Evolution, RAVINOR, CubeIDE + Tools, VSCode + ST plugin, Putty
|
# Windows, Logisim, Logisim Evolution, RAVINOR, CubeIDE + Tools, VSCode + ST plugin, Putty
|
||||||
dependencies:
|
dependencies:
|
||||||
- role: logisim
|
- role: logisim
|
||||||
- role: stm32cube
|
# - role: stm32cube
|
||||||
- role: vscode
|
- role: vscode
|
||||||
- role: putty
|
- role: putty
|
||||||
- role: stm32duino
|
- role: stm32duino
|
||||||
|
|
9
roles/OS-63217/main.yaml
Normal file
9
roles/OS-63217/main.yaml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# Operacijski sistemi
|
||||||
|
# jurij.mihelic@fri.uni-lj.si
|
||||||
|
# C, JDK, vscode, gedit
|
||||||
|
dependencies:
|
||||||
|
- role: c_development
|
||||||
|
- role: jdk
|
||||||
|
- role: vscode
|
||||||
|
- role: gedit
|
||||||
|
- role: virtualbox
|
|
@ -6,3 +6,4 @@ dependencies:
|
||||||
- role: gedit
|
- role: gedit
|
||||||
- role: mono
|
- role: mono
|
||||||
- role: vscode
|
- role: vscode
|
||||||
|
- role: notepad++
|
||||||
|
|
18
roles/PR-63765/meta/main.yml
Normal file
18
roles/PR-63765/meta/main.yml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Podatkovno rudarjenje
|
||||||
|
# rok.gomiscek@fri.uni-lj.si
|
||||||
|
#
|
||||||
|
dependencies:
|
||||||
|
- role: jupyter
|
||||||
|
- role: pandas
|
||||||
|
- role: matplotlib
|
||||||
|
- role: plotly
|
||||||
|
- role: seaborn
|
||||||
|
- role: altair
|
||||||
|
- role: scikit-learn
|
||||||
|
- role: mlxtend
|
||||||
|
- role: networkx
|
||||||
|
- role: transformers
|
||||||
|
- role: datasets
|
||||||
|
- role: evaluate
|
||||||
|
- role: torch # includes torchvision
|
||||||
|
- role: streamlit
|
|
@ -2,7 +2,7 @@
|
||||||
# Ziga.Pusnik@fri.uni-lj.si, Robert.Rozman@fri.uni-lj.si
|
# Ziga.Pusnik@fri.uni-lj.si, Robert.Rozman@fri.uni-lj.si
|
||||||
# Windows, CubeIDE + tools, STMDuino, VSCode, WinIdea 9.21 + GCC + QEMU, Visual2
|
# Windows, CubeIDE + tools, STMDuino, VSCode, WinIdea 9.21 + GCC + QEMU, Visual2
|
||||||
dependencies:
|
dependencies:
|
||||||
- role: stm32cube (CubeMonitor sem vzel samo exe)
|
# - role: stm32cube # (CubeMonitor sem vzel samo exe)
|
||||||
- role: stm32duino
|
- role: stm32duino
|
||||||
- role: vscode
|
- role: vscode
|
||||||
- role: putty
|
- role: putty
|
||||||
|
@ -10,6 +10,7 @@ dependencies:
|
||||||
- role: gcc-arm
|
- role: gcc-arm
|
||||||
- role: git
|
- role: git
|
||||||
- role: visual2
|
- role: visual2
|
||||||
|
# - role: winidea-frisms
|
||||||
|
|
||||||
#TODO Writable d:\RAVINOR directory
|
#TODO Writable d:\RAVINOR directory
|
||||||
|
|
||||||
|
|
5
roles/SPO-63264/meta/main.yml
Normal file
5
roles/SPO-63264/meta/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Sistemska programska oprema
|
||||||
|
# tomaz.dobravec@fri.uni-lj.si
|
||||||
|
# Windows, GNU/Linux, Java
|
||||||
|
dependencies:
|
||||||
|
- role: jdk
|
|
@ -2,13 +2,14 @@
|
||||||
# Robert.Rozman@fri.uni-lj.si
|
# Robert.Rozman@fri.uni-lj.si
|
||||||
# Windows, CubeIDE + Tools, STMDuino, VSCode, LTSpice, PulseView,Putty, STM32 Algobuilder & Unicleo GUI
|
# Windows, CubeIDE + Tools, STMDuino, VSCode, LTSpice, PulseView,Putty, STM32 Algobuilder & Unicleo GUI
|
||||||
dependencies:
|
dependencies:
|
||||||
- role: stm32cube
|
#- role: stm32cube
|
||||||
- role: stm32duino
|
- role: stm32duino
|
||||||
- role: vscode
|
- role: vscode
|
||||||
- role: ltspice
|
- role: ltspice
|
||||||
- role: pulseview
|
- role: pulseview
|
||||||
- role: putty
|
- role: putty
|
||||||
- role: stm32algobuilder #(ni še exe. Datoteke - ne dobim iz ST portala)
|
- role: stm32mems-studio # replaces algobuilder and unicleogui
|
||||||
- role: stm32unicleogui
|
# - role: stm32algobuilder #(ni še exe. Datoteke - ne dobim iz ST portala)
|
||||||
|
# - role: stm32unicleogui
|
||||||
|
|
||||||
#TODO Writable d:\RAVINOR directory
|
#TODO Writable d:\RAVINOR directory
|
||||||
|
|
37
roles/ad_joined/files/pam_mount.conf.xml
Normal file
37
roles/ad_joined/files/pam_mount.conf.xml
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
|
||||||
|
|
||||||
|
<pam_mount>
|
||||||
|
<!-- Example using CIFS -->
|
||||||
|
<debug enable="0" />
|
||||||
|
<volume
|
||||||
|
fstype="cifs"
|
||||||
|
server="ucilnicesmb.fri1.uni-lj.si"
|
||||||
|
path="%(USER)"
|
||||||
|
mountpoint="~/"
|
||||||
|
options="sec=krb5i,cruid=%(USERUID)"
|
||||||
|
>
|
||||||
|
<not>
|
||||||
|
<or>
|
||||||
|
<user>local_admin</user>
|
||||||
|
<user>root</user>
|
||||||
|
<sgrp>sudo</sgrp>
|
||||||
|
</or>
|
||||||
|
</not>
|
||||||
|
</volume>
|
||||||
|
<volume
|
||||||
|
fstype="cifs"
|
||||||
|
server="ucilnicesmb.fri1.uni-lj.si"
|
||||||
|
path="profiles/%(DOMAIN_USER).V6"
|
||||||
|
mountpoint="~/win_profile"
|
||||||
|
options="sec=krb5i,cruid=%(USERUID)"
|
||||||
|
>
|
||||||
|
<not>
|
||||||
|
<or>
|
||||||
|
<user>local_admin</user>
|
||||||
|
<user>root</user>
|
||||||
|
<sgrp>sudo</sgrp>
|
||||||
|
</or>
|
||||||
|
</not>
|
||||||
|
</volume>
|
||||||
|
</pam_mount>
|
|
@ -1,25 +1,39 @@
|
||||||
- name: Enable create homedir on login
|
- name: Install required packages
|
||||||
command: pam-auth-update --enable mkhomedir
|
apt:
|
||||||
become: true
|
name:
|
||||||
|
- realmd
|
||||||
|
- sssd
|
||||||
|
- libpam-mount
|
||||||
|
- heimdal-clients
|
||||||
|
|
||||||
|
- name: Remove krb5-user
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
krb5-user
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
- name: Set OU
|
||||||
|
set_fact:
|
||||||
|
ou_path: "OU={{locations[0]}},OU=Ucilnice"
|
||||||
|
|
||||||
|
- name: Show state
|
||||||
|
debug:
|
||||||
|
msg: "Host: {{inventory_hostname}}, OU: {{ou_path}}"
|
||||||
|
# - import_tasks: ne_sysprep.yaml
|
||||||
|
|
||||||
|
- name: "Rename"
|
||||||
|
# Racunalnik najprej preimenujmo, da ne bosta v domeni obenem 2 z istim imenom
|
||||||
|
hostname:
|
||||||
|
name: "{{inventory_hostname}}-linux"
|
||||||
|
register: hostname_res
|
||||||
|
|
||||||
- name: Check whether we already joined
|
- name: Check whether we already joined
|
||||||
command: /bin/bash -c "/usr/sbin/realm list"
|
command: /bin/bash -c "/usr/sbin/realm list"
|
||||||
register: realm_list_results
|
register: realm_list_results
|
||||||
- name: Set OU
|
|
||||||
set_fact:
|
|
||||||
ou_path: "OU={{locations[0]}},OU=Ucilnice"
|
|
||||||
- name: Show state
|
|
||||||
debug:
|
|
||||||
msg: "Host: {{inventory_hostname}}, OU: {{ou_path}}"
|
|
||||||
# - import_tasks: ne_sysprep.yaml
|
|
||||||
- name: "Rename"
|
|
||||||
# Racunalnik najprej preimenujmo, da ne bosta v domeni obenem 2 z istim imenom
|
|
||||||
hostname:
|
|
||||||
name: "{{inventory_hostname}}"
|
|
||||||
register: hostname_res
|
|
||||||
|
|
||||||
- name: Join using realmd
|
- name: Join using realmd
|
||||||
expect:
|
expect:
|
||||||
command: realm join --user={{ad_join_user}} --computer-ou={{ou_path}} FRI1.UNI-LJ.SI
|
command: realm join --user={{ad_join_user}} --computer-ou={{ou_path}} {{domain_name}}
|
||||||
responses:
|
responses:
|
||||||
(?i)Password: "{{ad_join_password}}"
|
(?i)Password: "{{ad_join_password}}"
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
@ -32,3 +46,20 @@
|
||||||
owner: root
|
owner: root
|
||||||
mode: 0600
|
mode: 0600
|
||||||
|
|
||||||
|
- name: Configure libpam-mount
|
||||||
|
copy:
|
||||||
|
src: pam_mount.conf.xml
|
||||||
|
dest: /etc/security/pam_mount.conf.xml
|
||||||
|
|
||||||
|
- name: Enable libpam-mount
|
||||||
|
command: pam-auth-update --enable libpam-mount
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Disable libpam-mkhomedir
|
||||||
|
command: pam-auth-update --disable mkhomedir
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Restart sssd
|
||||||
|
service:
|
||||||
|
name: sssd
|
||||||
|
state: restarted
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
- name: Set OU
|
- name: Set OU
|
||||||
set_fact:
|
set_fact:
|
||||||
ou_path: "OU={{locations[0]}},OU=Ucilnice,DC=fri1,DC=uni-lj,DC=si"
|
ou_path: "OU={{locations[0]}},OU=Ucilnice,DC=fri1,DC=uni-lj,DC=si"
|
||||||
|
|
||||||
- name: "Rename"
|
- name: "Rename"
|
||||||
# Racunalnik najprej preimenujmo, da ne bosta v domeni obenem 2 z istim imenom
|
# Racunalnik najprej preimenujmo, da ne bosta v domeni obenem 2 z istim imenom
|
||||||
win_hostname:
|
win_hostname:
|
||||||
name: "{{inventory_hostname}}"
|
name: "{{inventory_hostname}}"
|
||||||
register: hostname_res
|
register: hostname_res
|
||||||
|
|
||||||
- name: "Reboot after hostname change"
|
- name: "Reboot after hostname change"
|
||||||
win_reboot:
|
win_reboot:
|
||||||
when: hostname_res.reboot_required
|
when: hostname_res.reboot_required
|
||||||
|
|
||||||
- name: Stop Windows Update Service
|
- name: Stop Windows Update Service
|
||||||
win_service:
|
win_service:
|
||||||
name: wuauserv
|
name: wuauserv
|
||||||
state: stopped
|
state: stopped
|
||||||
|
|
||||||
- name: Clear WSUS ID from registry
|
- name: Clear WSUS ID from registry
|
||||||
win_regedit:
|
win_regedit:
|
||||||
path: HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate
|
path: HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate
|
||||||
|
@ -24,25 +28,30 @@
|
||||||
- AccountDomainSid
|
- AccountDomainSid
|
||||||
- SusClientId
|
- SusClientId
|
||||||
- SusClientIDValidation
|
- SusClientIDValidation
|
||||||
|
|
||||||
- name: Start Windows Update Service
|
- name: Start Windows Update Service
|
||||||
win_service:
|
win_service:
|
||||||
name: wuauserv
|
name: wuauserv
|
||||||
state: started
|
state: started
|
||||||
|
|
||||||
- name: "Join domain"
|
- name: "Join domain"
|
||||||
win_domain_membership:
|
win_domain_membership:
|
||||||
domain_admin_user: "{{adjoin_user}}"
|
domain_admin_user: "{{ad_join_user}}"
|
||||||
domain_admin_password: "{{adjoin_password}}"
|
domain_admin_password: "{{ad_join_password}}"
|
||||||
dns_domain_name: "{{domain_name}}"
|
dns_domain_name: "{{domain_name}}"
|
||||||
domain_ou_path: "{{ou_path}}"
|
domain_ou_path: "{{ou_path}}"
|
||||||
hostname: "{{inventory_hostname}}"
|
hostname: "{{inventory_hostname}}"
|
||||||
state: domain
|
state: domain
|
||||||
register: domain_state
|
register: domain_state
|
||||||
|
|
||||||
- name: Reset WSUS authorization
|
- name: Reset WSUS authorization
|
||||||
win_command: wuauclt.exe /resetauthorization /detectnow
|
win_command: wuauclt.exe /resetauthorization /detectnow
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
- name: Update windows
|
- name: Update windows
|
||||||
win_command: wuauclt.exe /updatenow
|
win_command: wuauclt.exe /updatenow
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
|
|
||||||
- name: Reboot
|
- name: Reboot
|
||||||
win_command: "shutdown /r"
|
win_command: "shutdown /r"
|
||||||
when: domain_state.reboot_required
|
when: domain_state.reboot_required
|
||||||
|
|
|
@ -29,3 +29,4 @@ ldap_id_mapping = True
|
||||||
use_fully_qualified_names = True
|
use_fully_qualified_names = True
|
||||||
fallback_homedir = /home/%u@%d
|
fallback_homedir = /home/%u@%d
|
||||||
access_provider = ad
|
access_provider = ad
|
||||||
|
krb5_ccname_template = FILE:%d/krb5cc_%U
|
||||||
|
|
|
@ -2,6 +2,7 @@ dependencies:
|
||||||
- role: fri_base
|
- role: fri_base
|
||||||
- role: AAHRP-63263
|
- role: AAHRP-63263
|
||||||
- role: APS1-63279
|
- role: APS1-63279
|
||||||
|
- role: APS1-63711
|
||||||
- role: ARP1-63545C
|
- role: ARP1-63545C
|
||||||
- role: BMO-63259
|
- role: BMO-63259
|
||||||
- role: DF-63530
|
- role: DF-63530
|
||||||
|
@ -11,6 +12,7 @@ dependencies:
|
||||||
- role: EP-63249
|
- role: EP-63249
|
||||||
- role: FP-63507
|
- role: FP-63507
|
||||||
- role: GO-63715
|
- role: GO-63715
|
||||||
|
- role: IS-63266
|
||||||
- role: IS-63714
|
- role: IS-63714
|
||||||
- role: IVZ-63521
|
- role: IVZ-63521
|
||||||
- role: KCR-63550
|
- role: KCR-63550
|
||||||
|
@ -24,17 +26,22 @@ dependencies:
|
||||||
- role: NRG-63553
|
- role: NRG-63553
|
||||||
- role: OBSS-63514
|
- role: OBSS-63514
|
||||||
- role: ODV-63204
|
- role: ODV-63204
|
||||||
|
- role: OIS-63215
|
||||||
- role: OO-63271
|
- role: OO-63271
|
||||||
|
- role: OPB-63208
|
||||||
- role: OR-63717
|
- role: OR-63717
|
||||||
- role: ORS-63218
|
- role: ORS-63218
|
||||||
|
- role: OS-63217
|
||||||
- role: OS-63709
|
- role: OS-63709
|
||||||
- role: OS-63741
|
- role: OS-63741
|
||||||
- role: OUI-63214
|
- role: OUI-63214
|
||||||
|
- role: P1-63277
|
||||||
|
- role: P1-63702
|
||||||
- role: P2-63278
|
- role: P2-63278
|
||||||
- role: P2-63706
|
- role: P2-63706
|
||||||
- role: PA-63737
|
- role: PA-63737
|
||||||
- role: PB2-63713
|
|
||||||
- role: PB-63707
|
- role: PB-63707
|
||||||
|
- role: PB2-63713
|
||||||
- role: PJC-63769
|
- role: PJC-63769
|
||||||
- role: PPJ-63220
|
- role: PPJ-63220
|
||||||
- role: PS-63261
|
- role: PS-63261
|
||||||
|
@ -48,6 +55,7 @@ dependencies:
|
||||||
- role: RPOI-90066
|
- role: RPOI-90066
|
||||||
- role: RZP-63523
|
- role: RZP-63523
|
||||||
- role: SP-63255
|
- role: SP-63255
|
||||||
|
- role: SPO-63264
|
||||||
- role: ST-63727
|
- role: ST-63727
|
||||||
- role: SU-63519
|
- role: SU-63519
|
||||||
- role: TINR-63740
|
- role: TINR-63740
|
||||||
|
|
4
roles/altair/tasks/main.yml
Normal file
4
roles/altair/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
4
roles/altair/tasks/main_lin.yml
Normal file
4
roles/altair/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install altair
|
||||||
|
apt:
|
||||||
|
name: python3-altair
|
||||||
|
state: latest
|
2
roles/altair/tasks/main_win.yml
Normal file
2
roles/altair/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
- name: Install altair
|
||||||
|
win_command: pip install altair
|
|
@ -2,9 +2,8 @@ AndroidSDK_packages:
|
||||||
- add-ons;addon-google_apis-google-24
|
- add-ons;addon-google_apis-google-24
|
||||||
- add-ons;addon-google_apis-google-24
|
- add-ons;addon-google_apis-google-24
|
||||||
- build-tools;34.0.0-rc3
|
- build-tools;34.0.0-rc3
|
||||||
- build-tools;35.0.0
|
- build-tools;36.0.0
|
||||||
- cmake;3.22.1
|
- cmake;4.0.3
|
||||||
#- cmake;latest
|
|
||||||
- cmdline-tools;latest
|
- cmdline-tools;latest
|
||||||
- emulator
|
- emulator
|
||||||
- extras;android;m2repository
|
- extras;android;m2repository
|
||||||
|
@ -22,15 +21,15 @@ AndroidSDK_packages:
|
||||||
# - patcher;v4
|
# - patcher;v4
|
||||||
- platform-tools
|
- platform-tools
|
||||||
- platforms;android-34
|
- platforms;android-34
|
||||||
- platforms;android-35
|
- platforms;android-36
|
||||||
- platforms;android-32
|
- platforms;android-32
|
||||||
- platforms;android-UpsideDownCakePrivacySandbox
|
# - platforms;android-UpsideDownCakePrivacySandbox
|
||||||
- skiaparser;3
|
- skiaparser;3
|
||||||
- sources;android-35
|
- sources;android-36
|
||||||
- sources;android-34
|
- sources;android-34
|
||||||
- system-images;android-35;google_apis;x86_64
|
- system-images;android-36;google_apis;x86_64
|
||||||
- system-images;android-34;google_apis;x86_64
|
- system-images;android-34;google_apis;x86_64
|
||||||
- system-images;android-32;google_apis;x86_64
|
- system-images;android-32;google_apis;x86_64
|
||||||
- system-images;android-35;google_apis_playstore;x86_64
|
- system-images;android-36;google_apis_playstore;x86_64
|
||||||
- system-images;android-34;google_apis_playstore;x86_64
|
- system-images;android-34;google_apis_playstore;x86_64
|
||||||
- system-images;android-UpsideDownCakePrivacySandbox;google_apis_playstore;x86_64
|
# - system-images;android-UpsideDownCakePrivacySandbox;google_apis_playstore;x86_64
|
||||||
|
|
|
@ -1,63 +1,90 @@
|
||||||
- name: Set Android Studio version
|
- name: Set Android Studio version
|
||||||
set_fact:
|
set_fact:
|
||||||
sdk_path: C:\android-sdk
|
studio_path: "{{ large_prog_dir }}\\android-studio"
|
||||||
studio_version: "2025.1.2.11"
|
studio_version: "2025.1.2.13"
|
||||||
tools_version: "latest"
|
tools_version: "13114758_latest"
|
||||||
|
|
||||||
|
- name: Set Android command-line tools path
|
||||||
|
set_fact:
|
||||||
|
tools_path: "{{ studio_path }}\\cmdline-tools\\latest"
|
||||||
|
|
||||||
|
- name: Check Android Studio
|
||||||
|
win_stat:
|
||||||
|
path: "{{ studio_path }}\\bin\\studio64.exe"
|
||||||
|
register: studio
|
||||||
|
|
||||||
|
- when: not studio.stat.exists
|
||||||
|
block:
|
||||||
|
- name: Download Android Studio
|
||||||
|
win_get_url:
|
||||||
|
url: "https://redirector.gvt1.com/edgedl/android/studio/ide-zips/{{ studio_version }}/android-studio-{{ studio_version }}-windows.zip"
|
||||||
|
dest: "{{ large_prog_dir }}\\"
|
||||||
|
|
||||||
|
- name: Extract Android Studio
|
||||||
|
win_unzip:
|
||||||
|
src: "{{ large_prog_dir }}\\android-studio-{{ studio_version }}-windows.zip"
|
||||||
|
dest: "{{ large_prog_dir }}\\"
|
||||||
|
delete_archive: yes
|
||||||
|
|
||||||
- name: Check Android Studio tools
|
- name: Check Android Studio tools
|
||||||
win_stat:
|
win_stat:
|
||||||
path: "{{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager.bat"
|
path: "{{ tools_path }}\\bin\\sdkmanager.bat"
|
||||||
register: tools
|
register: tools
|
||||||
|
|
||||||
- when: not tools.stat.exists
|
- when: not tools.stat.exists
|
||||||
block:
|
block:
|
||||||
- name: Download Android Studio tools
|
- name: Download Android Studio tools
|
||||||
win_get_url:
|
win_get_url:
|
||||||
# url: "https://dl.google.com/android/repository/commandlinetools-win-{{ tools_version }}.zip"
|
url: "https://dl.google.com/android/repository/commandlinetools-win-{{ tools_version }}.zip"
|
||||||
url: "https://dl.google.com/android/repository/platform-tools-{{ tools_version }}-windows.zip"
|
# url: "https://dl.google.com/android/repository/platform-tools-{{ tools_version }}-windows.zip"
|
||||||
dest: C:\
|
dest: "{{ studio_path }}"
|
||||||
|
|
||||||
- name: Extract Android Studio tools
|
- name: Extract Android Studio tools
|
||||||
win_unzip:
|
win_unzip:
|
||||||
src: "C:\\commandlinetools-win-{{ tools_version }}.zip"
|
# src: "{{ large_prog_dir }}\\platform-tools-{{ tools_version }}-windows.zip"
|
||||||
dest: "{{ sdk_path }}\\cmdline-tools"
|
src: "{{ studio_path}}\\commandlinetools-win-{{ tools_version }}.zip"
|
||||||
|
dest: "{{ studio_path }}\\cmdline-tools\\"
|
||||||
delete_archive: yes
|
delete_archive: yes
|
||||||
|
- name: Move cmdline-tools to expected location
|
||||||
- name: Accept Android SDK licenses
|
ansible.windows.win_powershell:
|
||||||
win_shell: sh -c "yes | /c/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager.bat --licenses"
|
script: move "{{ studio_path }}\\cmdline-tools\\cmdline-tools" "{{ tools_path }}"
|
||||||
|
|
||||||
- name: Include Android SDK packages
|
|
||||||
include_vars: androidsdk_packages.yml
|
|
||||||
|
|
||||||
- name: Install Android SDK
|
|
||||||
win_shell: |
|
|
||||||
{{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "{{ item }}"
|
|
||||||
loop: "{{ AndroidSDK_packages }}"
|
|
||||||
|
|
||||||
|
|
||||||
# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "{{ AndroidSDK_packages | join(' ') }}"
|
|
||||||
# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "build-tools;33.0.0" "cmdline-tools;latest" "emulator" "ndk-bundle" "ndk;25.1.8937393" "platform-tools" "platforms;android-33" "sources;android-33" "system-images;android-33;google_apis;arm64-v8a" "system-images;android-33;google_apis;x86_64"
|
|
||||||
|
|
||||||
- name: Install Android Studio
|
|
||||||
win_package:
|
|
||||||
path: "https://redirector.gvt1.com/edgedl/android/studio/install/{{ studio_version }}/android-studio-{{ studio_version }}-windows.exe"
|
|
||||||
arguments: /S /AllUsers
|
|
||||||
expected_return_code: [0, 1223, 3010]
|
|
||||||
creates_path: "%ProgramFiles%\\Android\\Android Studio\\bin\\studio64.exe"
|
|
||||||
|
|
||||||
- name: Create Android Studio data directory
|
- name: Create Android Studio data directory
|
||||||
win_file:
|
win_file:
|
||||||
path: D:\.android
|
path: "{{ large_prog_dir }}\\.android"
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
- name: Set Android Studio environment variables
|
- name: Set Android Studio environment variables
|
||||||
win_environment:
|
win_environment:
|
||||||
level: machine
|
level: machine
|
||||||
variables:
|
variables:
|
||||||
ANDROID_HOME: "{{ sdk_path }}"
|
ANDROID_HOME: "{{ studio_path }}"
|
||||||
ANDROID_PREFS_ROOT: D:\
|
ANDROID_SDK_ROOT: "{{ studio_path }}"
|
||||||
GRADLE_USER_HOME: D:\.gradle
|
ANDROID_PREFS_ROOT: "{{ large_prog_dir }}\\"
|
||||||
|
GRADLE_USER_HOME: "{{ large_prog_dir }}\\.gradle"
|
||||||
|
|
||||||
|
|
||||||
|
# - name: Accept Android SDK licenses
|
||||||
|
# win_shell: sh -c "yes | /c/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager.bat --licenses"
|
||||||
|
|
||||||
|
- name: Include Android SDK packages
|
||||||
|
include_vars: androidsdk_packages.yml
|
||||||
|
|
||||||
|
- name: Install Android SDK packages
|
||||||
|
win_shell: |
|
||||||
|
{{ tools_path }}\bin\sdkmanager.bat --install "{{ item }}"
|
||||||
|
loop: "{{ AndroidSDK_packages }}"
|
||||||
|
|
||||||
|
|
||||||
|
# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "{{ AndroidSDK_packages | join(' ') }}"
|
||||||
|
# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "build-tools;33.0.0" "cmdline-tools;latest" "emulator" "ndk-bundle" "ndk;25.1.8937393" "platform-tools" "platforms;android-33" "sources;android-33" "system-images;android-33;google_apis;arm64-v8a" "system-images;android-33;google_apis;x86_64"
|
||||||
|
|
||||||
|
#- name: Install Android Studio
|
||||||
|
# win_package:
|
||||||
|
# path: "https://redirector.gvt1.com/edgedl/android/studio/install/{{ studio_version }}/android-studio-{{ studio_version }}-windows.exe"
|
||||||
|
# arguments: /S /AllUsers
|
||||||
|
# expected_return_code: [0, 1223, 3010]
|
||||||
|
# creates_path: "%ProgramFiles%\\Android\\Android Studio\\bin\\studio64.exe"
|
||||||
#- name: Check HAXM install status
|
#- name: Check HAXM install status
|
||||||
# win_stat:
|
# win_stat:
|
||||||
# path: "%ProgramFiles%\\Intel\\HAXM"
|
# path: "%ProgramFiles%\\Intel\\HAXM"
|
||||||
|
|
|
@ -8,8 +8,9 @@
|
||||||
- name: Install Arduino-cli
|
- name: Install Arduino-cli
|
||||||
win_package:
|
win_package:
|
||||||
# path: https://downloads.arduino.cc/arduino-ide/arduino-ide_2.0.0_Windows_64bit.exe
|
# path: https://downloads.arduino.cc/arduino-ide/arduino-ide_2.0.0_Windows_64bit.exe
|
||||||
path: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.zip
|
path: https://github.com/arduino/arduino-cli/releases/download/v1.3.0/arduino-cli_1.3.0_Windows_64bit.msi
|
||||||
arguments: /S /AllUsers
|
# path: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.zip
|
||||||
|
# arguments: /S /AllUsers
|
||||||
# creates_path: "%ProgramFiles%\\Arduino IDE\\Arduino IDE.exe"
|
# creates_path: "%ProgramFiles%\\Arduino IDE\\Arduino IDE.exe"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
- name: Add Chromium not-a-snap repository
|
- name: Add Chromium not-a-snap repository
|
||||||
apt_repository:
|
apt:
|
||||||
repo: ppa:xtradeb/apps
|
deb: https://launchpad.net/~xtradeb/+archive/ubuntu/apps/+files/xtradeb-apt-source_0.4_all.deb
|
||||||
state: present
|
state: present
|
||||||
update_cache: True
|
|
||||||
validate_certs: False
|
#apt_repository:
|
||||||
|
# repo: ppa:xtradeb/apps
|
||||||
|
# state: present
|
||||||
|
# update_cache: True
|
||||||
|
# validate_certs: False
|
||||||
|
|
||||||
- name: Install Chromium instead of Chrome
|
- name: Install Chromium instead of Chrome
|
||||||
apt:
|
apt:
|
||||||
|
|
4
roles/cocotb/tasks/main.yml
Normal file
4
roles/cocotb/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
4
roles/cocotb/tasks/main_lin.yml
Normal file
4
roles/cocotb/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install Cocotb
|
||||||
|
pip:
|
||||||
|
executable: pipx
|
||||||
|
name: cocotb[bus]
|
2
roles/cocotb/tasks/main_win.yml
Normal file
2
roles/cocotb/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
- name: Install cocoTB
|
||||||
|
win_command: pip install cocotb[bus]
|
|
@ -2,3 +2,5 @@
|
||||||
win_chocolatey:
|
win_chocolatey:
|
||||||
ignore_checksums: true
|
ignore_checksums: true
|
||||||
name: cp210x-vcp-drivers-win10
|
name: cp210x-vcp-drivers-win10
|
||||||
|
#TODO remove ignore_errors once the package is repaired/updated
|
||||||
|
ignore_errors: true
|
||||||
|
|
4
roles/datasets/tasks/main.yml
Normal file
4
roles/datasets/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
4
roles/datasets/tasks/main_lin.yml
Normal file
4
roles/datasets/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install datasets
|
||||||
|
pip:
|
||||||
|
executable: pipx
|
||||||
|
name: datasets
|
2
roles/datasets/tasks/main_win.yml
Normal file
2
roles/datasets/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
- name: Install datasets
|
||||||
|
win_command: pip install datasets
|
|
@ -12,4 +12,4 @@
|
||||||
win_lineinfile:
|
win_lineinfile:
|
||||||
path: "%ProgramFiles%\\Eclipse {{ target_version }}\\eclipse\\eclipse.ini"
|
path: "%ProgramFiles%\\Eclipse {{ target_version }}\\eclipse\\eclipse.ini"
|
||||||
regexp: "osgi.instance.area.default"
|
regexp: "osgi.instance.area.default"
|
||||||
line: "-Dosgi.instance.area.default=H:/Documents/eclipse-workspace"
|
line: "-Dosgi.instance.area.default=D:/Documents/eclipse-workspace"
|
||||||
|
|
4
roles/evaluate/tasks/main.yml
Normal file
4
roles/evaluate/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
4
roles/evaluate/tasks/main_lin.yml
Normal file
4
roles/evaluate/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install evaluate
|
||||||
|
pip:
|
||||||
|
executable: pipx
|
||||||
|
name: evaluate
|
2
roles/evaluate/tasks/main_win.yml
Normal file
2
roles/evaluate/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
- name: Install evaluate
|
||||||
|
win_command: pip install evaluate
|
26
roles/facts/tasks/main.yml
Normal file
26
roles/facts/tasks/main.yml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
- name: Send valid bash or ps command with different results
|
||||||
|
raw: |
|
||||||
|
echo \#\#
|
||||||
|
register: raw_result
|
||||||
|
|
||||||
|
- name: Set shell type
|
||||||
|
set_fact:
|
||||||
|
ansible_shell_type: "{% if raw_result['stdout'][-4] == '#' %}sh{% else %}powershell{%endif%}"
|
||||||
|
|
||||||
|
- name: Set connection parameters and paths for Windows
|
||||||
|
become: false
|
||||||
|
set_fact:
|
||||||
|
ansible_become_method: runas
|
||||||
|
ansible_become_flags: ""
|
||||||
|
ansible_become_user: "{{ windows_user }}"
|
||||||
|
logon_type: interactive
|
||||||
|
installers: \\ucilnicesmb.fri1.uni-lj.si\ucilnice_d\install
|
||||||
|
when: ansible_shell_type == "powershell"
|
||||||
|
|
||||||
|
- name: Set connection parameters and paths for Ubuntu
|
||||||
|
set_fact:
|
||||||
|
ansible_become_method: sudo
|
||||||
|
ansible_become_flags: ""
|
||||||
|
ansible_ssh_extra_args: '-o ForwardX11=yes'
|
||||||
|
installers: /mnt/ucilnice_d/install
|
||||||
|
when: ansible_shell_type == "sh"
|
|
@ -1,5 +1,21 @@
|
||||||
- name: Add Firefox not-a-snap repository
|
- name: Add Firefox not-a-snap repository
|
||||||
block:
|
block:
|
||||||
|
- name: add Mozilla apt key
|
||||||
|
ansible.builtin.get_url:
|
||||||
|
url: https://packages.mozilla.org/apt/repo-signing-key.gpg
|
||||||
|
dest: /etc/apt/keyrings/packages.mozilla.org.asc
|
||||||
|
|
||||||
|
- name: add Mozilla apt source
|
||||||
|
ansible.builtin.apt_repository:
|
||||||
|
repo: "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
#- name: Add Firefox PPA
|
||||||
|
# apt_repository:
|
||||||
|
# repo: ppa:mozillateam/ppa
|
||||||
|
# state: present
|
||||||
|
# update_cache: True
|
||||||
|
# validate_certs: False
|
||||||
- name: Pin Firefox PPA package priority
|
- name: Pin Firefox PPA package priority
|
||||||
template:
|
template:
|
||||||
src: mozilla-firefox-apt-preferences
|
src: mozilla-firefox-apt-preferences
|
||||||
|
@ -8,12 +24,6 @@
|
||||||
template:
|
template:
|
||||||
src: mozilla-firefox-unattended-upgrades
|
src: mozilla-firefox-unattended-upgrades
|
||||||
dest: /etc/apt/apt.conf.d/51unattended-upgrades-firefox
|
dest: /etc/apt/apt.conf.d/51unattended-upgrades-firefox
|
||||||
- name: Add Firefox PPA
|
|
||||||
apt_repository:
|
|
||||||
repo: ppa:mozillateam/ppa
|
|
||||||
state: present
|
|
||||||
update_cache: True
|
|
||||||
validate_certs: False
|
|
||||||
|
|
||||||
- name: Install Firefox
|
- name: Install Firefox
|
||||||
apt:
|
apt:
|
||||||
|
|
4
roles/flask/tasks/main.yml
Normal file
4
roles/flask/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
7
roles/flask/tasks/main_lin.yml
Normal file
7
roles/flask/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
- name: Install flask
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- python3-flask
|
||||||
|
- python-flask-doc
|
||||||
|
state: latest
|
||||||
|
|
4
roles/fri_base/files/authorized_keys
Normal file
4
roles/fri_base/files/authorized_keys
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM2Tn8+rH+fkFkBycxYrJ7TzhXQhuf3U+w23JFlZoRiX polz@povzpetnik"
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDRpoWIH5u2g12IM39WNRzLsPksfSjfL/82fPnuZwZ7H polz@it-polz"
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCq7NrrDD53pe9Zpn/dRSPxWQLDIZ9INS0kz/ps/9fGsM8/H/J7jr/ecj0j0jfYig6QdV8G7VnpLWjcuJ65ul3u2rnQSN78Ms/hxlAhmyahQtBA2q2D2zqI2PDWsKAySWmfFg+2W5fYmE1+F9GEB0OWNOuClmfo2A1c8Ve76qSiehHgjYo0G1CQrXkmE00GBLqyqkbyyStLa9DUfaDwrbOu4tJChHo4jDGuLH5QCYcN+RRXjwPQKgk0L2yfu1479L0XqhbEo+KHoIZH501fkoE+gUKVyLERvkhKSiCgPhJmAgRN1bRsiyTwvQzoED4q1RwFmG0AKg0U5bHnAAOd77uyuIYmcFiaRGHROQ9ZbyB9tJ07QrFlzRkderDd5Z18mO7LtgDjFZ2B2DlRY6zxMiUqJyDRnHjDF3+3DTlHIUCC3aEtoYS8MPyRL1b8XenIqswXkM+vkYFeKh2ynjNu3C6VqDCXZFvIi6f1X0ojZXRrDmbiON8Y74HjxP0z6TB1U30= polz@ucilnicenfs-2020
|
||||||
|
|
|
@ -27,8 +27,9 @@
|
||||||
- wine32:i386
|
- wine32:i386
|
||||||
- wine-binfmt
|
- wine-binfmt
|
||||||
- dosbox
|
- dosbox
|
||||||
- webext-ublock-origin-chromium
|
- snapper
|
||||||
- webext-ublock-origin-firefox
|
# - webext-ublock-origin-chromium
|
||||||
|
# - webext-ublock-origin-firefox
|
||||||
- nethack-console
|
- nethack-console
|
||||||
- zsh
|
- zsh
|
||||||
- tmux
|
- tmux
|
||||||
|
@ -49,6 +50,8 @@
|
||||||
- neovim-qt
|
- neovim-qt
|
||||||
- binwalk
|
- binwalk
|
||||||
- iotop
|
- iotop
|
||||||
|
- evince
|
||||||
|
- okular
|
||||||
- htop
|
- htop
|
||||||
- jdupes
|
- jdupes
|
||||||
state: latest
|
state: latest
|
||||||
|
@ -132,8 +135,8 @@
|
||||||
state: mounted
|
state: mounted
|
||||||
opts: guest,soft,nofail
|
opts: guest,soft,nofail
|
||||||
|
|
||||||
- name: Set time to local RTC
|
# - name: Set time to local RTC
|
||||||
shell: "timedatectl set-local-rtc 1 --adjust-system-clock"
|
# shell: "timedatectl set-local-rtc 1 --adjust-system-clock"
|
||||||
|
|
||||||
- name: Install ethtool
|
- name: Install ethtool
|
||||||
apt:
|
apt:
|
||||||
|
@ -144,3 +147,18 @@
|
||||||
copy:
|
copy:
|
||||||
dest: /etc/udev/rules.d/
|
dest: /etc/udev/rules.d/
|
||||||
src: 99-wakeonlan.rules
|
src: 99-wakeonlan.rules
|
||||||
|
|
||||||
|
- name: Shorten PS1 prompt
|
||||||
|
replace:
|
||||||
|
path: "{{ item }}"
|
||||||
|
regexp: 'PS1=(.*)\\u@\\h'
|
||||||
|
replace: PS1=\1${USER%@*}
|
||||||
|
loop:
|
||||||
|
- /etc/skel/.bashrc
|
||||||
|
- /etc/profile
|
||||||
|
- /etc/bash.bashrc
|
||||||
|
|
||||||
|
- name: Copy authorized_keys
|
||||||
|
copy:
|
||||||
|
src: authorized_keys
|
||||||
|
dest: ~/.ssh/authorized_keys
|
||||||
|
|
|
@ -1,18 +1,34 @@
|
||||||
|
- name: Set RTC to UTC
|
||||||
|
win_regedit:
|
||||||
|
path: HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
|
||||||
|
name: RealTimeIsUniversal
|
||||||
|
data: 1
|
||||||
|
type: dword
|
||||||
|
|
||||||
- name: Set timezone
|
- name: Set timezone
|
||||||
win_timezone:
|
win_timezone:
|
||||||
timezone: Central Europe Standard Time
|
timezone: Central Europe Standard Time
|
||||||
|
|
||||||
- name: Show file extensions in Explorer
|
- name: Show file extensions in Explorer
|
||||||
win_regedit:
|
win_regedit:
|
||||||
path: HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
|
path: HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
|
||||||
name: HideFileExt
|
name: HideFileExt
|
||||||
data: 0
|
data: 0
|
||||||
type: dword
|
type: dword
|
||||||
|
|
||||||
- name: Allow SMB insecure guest access
|
- name: Allow SMB insecure guest access
|
||||||
win_regedit:
|
win_regedit:
|
||||||
path: HKLM:\Software\Policies\Microsoft\Windows\LanmanWorkstation
|
path: HKLM:\Software\Policies\Microsoft\Windows\LanmanWorkstation
|
||||||
name: AllowInsecureGuestAuth
|
name: AllowInsecureGuestAuth
|
||||||
data: 1
|
data: 1
|
||||||
type: dword
|
type: dword
|
||||||
|
|
||||||
|
- name: Enable Unified Write Filter
|
||||||
|
win_optional_feature:
|
||||||
|
include_parent: true
|
||||||
|
name: Client-UnifiedWriteFilter
|
||||||
|
state: present
|
||||||
|
|
||||||
- name: Install PSCX
|
- name: Install PSCX
|
||||||
community.windows.win_psmodule:
|
community.windows.win_psmodule:
|
||||||
name: Pscx
|
name: Pscx
|
||||||
|
@ -20,5 +36,15 @@
|
||||||
allow_clobber: true
|
allow_clobber: true
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
|
- name: Copy admin ssh keys to authorized_keys
|
||||||
|
win_copy:
|
||||||
|
src: authorized_keys
|
||||||
|
dest: "%USERPROFILE%\\.ssh"
|
||||||
|
|
||||||
|
- name: Copy admin keys to administrators_authorized_keys
|
||||||
|
win_copy:
|
||||||
|
src: authorized_keys
|
||||||
|
dest: C:\ProgramData\ssh\administrators_authorized_keys
|
||||||
|
|
||||||
# TODO: turn on GPO to allow guest SMB logins
|
# TODO: turn on GPO to allow guest SMB logins
|
||||||
# TODO: open firewall for Samba
|
# TODO: open firewall for Samba
|
||||||
|
|
|
@ -1,9 +1,23 @@
|
||||||
- name: Add GNS3 repository
|
- name: Add GNS3 repository
|
||||||
apt_repository:
|
block:
|
||||||
repo: ppa:gns3/ppa
|
- name: add GNS3 apt key
|
||||||
state: present
|
ansible.builtin.get_url:
|
||||||
update_cache: True
|
url: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xb83aaabffbd82d21b543c8ea86c22c2ec6a24d7f
|
||||||
validate_certs: False
|
dest: /etc/apt/keyrings/gns3-ppa.asc
|
||||||
|
- name: add GNS3 apt deb source
|
||||||
|
ansible.builtin.apt_repository:
|
||||||
|
repo: "deb [signed-by=/etc/apt/keyrings/gns3-ppa.asc] https://ppa.launchpadcontent.net/gns3/ppa/ubuntu {{ ansible_distribution_release }} main "
|
||||||
|
state: present
|
||||||
|
- name: add GNS3 apt deb-src source
|
||||||
|
ansible.builtin.apt_repository:
|
||||||
|
repo: "deb-src [signed-by=/etc/apt/keyrings/gns3-ppa.asc] https://ppa.launchpadcontent.net/gns3/ppa/ubuntu {{ ansible_distribution_release }} main "
|
||||||
|
state: present
|
||||||
|
# apt_repository:
|
||||||
|
# repo: ppa:gns3/ppa
|
||||||
|
# state: present
|
||||||
|
# update_cache: True
|
||||||
|
# validate_certs: False
|
||||||
|
|
||||||
- name: Install gns3 server
|
- name: Install gns3 server
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
name: gns3-server
|
name: gns3-server
|
||||||
|
|
|
@ -1,10 +1,20 @@
|
||||||
- name: Add Inkscape repository
|
- name: Add Inkscape repository
|
||||||
apt_repository:
|
block:
|
||||||
repo: ppa:inkscape.dev/stable
|
- name: add Inkscape trunk apt key
|
||||||
state: present
|
ansible.builtin.get_url:
|
||||||
update_cache: True
|
url: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x1F46021FF9A0C56504CE42CD06E315A37AAEF27A
|
||||||
validate_certs: False
|
dest: /etc/apt/keyrings/inkscape-trunk-ppa.asc
|
||||||
|
- name: add Inkscape trunk apt deb source
|
||||||
|
ansible.builtin.apt_repository:
|
||||||
|
repo: "deb [signed-by=/etc/apt/keyrings/inkscape-trunk-ppa.asc] https://ppa.launchpadcontent.net/reviczky/inkscape-1.4/ubuntu {{ ansible_distribution_release }} main "
|
||||||
|
state: present
|
||||||
|
|
||||||
|
# apt_repository:
|
||||||
|
# repo: ppa:inkscape.dev/stable
|
||||||
|
# state: present
|
||||||
|
# update_cache: True
|
||||||
|
# validate_certs: False
|
||||||
- name: Install Inkscape
|
- name: Install Inkscape
|
||||||
apt:
|
apt:
|
||||||
name: inkscape
|
name: inkscape-trunk
|
||||||
state: latest
|
state: latest
|
||||||
|
|
4
roles/iverilog/tasks/main.yml
Normal file
4
roles/iverilog/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
4
roles/iverilog/tasks/main_lin.yml
Normal file
4
roles/iverilog/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install Icarus
|
||||||
|
apt:
|
||||||
|
name: iverilog
|
||||||
|
state: latest
|
5
roles/iverilog/tasks/main_win.yml
Normal file
5
roles/iverilog/tasks/main_win.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
- name: Install Icarus Verilog
|
||||||
|
win_chocolatey:
|
||||||
|
name: iverilog
|
||||||
|
version: '11.0'
|
||||||
|
state: present
|
|
@ -1,6 +1,11 @@
|
||||||
- name: Install OpenJDK 21
|
- name: Install latest OpenJDK (25)
|
||||||
apt:
|
apt:
|
||||||
name: openjdk-21-jdk
|
name: openjdk-25-jdk
|
||||||
|
state: latest
|
||||||
|
|
||||||
|
- name: Install latest Java docs
|
||||||
|
apt:
|
||||||
|
name: openjdk-25-doc
|
||||||
state: latest
|
state: latest
|
||||||
|
|
||||||
- name: Install OpenJDK 17
|
- name: Install OpenJDK 17
|
||||||
|
@ -31,11 +36,7 @@
|
||||||
- libc6-x32
|
- libc6-x32
|
||||||
state: latest
|
state: latest
|
||||||
|
|
||||||
- name: Install Oracle JDK 22
|
- name: Install Oracle JDK 24
|
||||||
apt:
|
apt:
|
||||||
deb: "https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.deb"
|
deb: "https://download.oracle.com/java/24/latest/jdk-24_linux-x64_bin.deb"
|
||||||
|
|
||||||
- name: Install Java docs
|
|
||||||
apt:
|
|
||||||
deb: "https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.deb"
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
- name: Install Oracle JDK
|
- name: Install Oracle JDK
|
||||||
win_package:
|
win_package:
|
||||||
path: https://download.oracle.com/java/22/latest/jdk-22_windows-x64_bin.msi
|
path: https://download.oracle.com/java/24/latest/jdk-24_windows-x64_bin.msi
|
||||||
arguments: INSTALLLEVEL=3
|
arguments: INSTALLLEVEL=3
|
||||||
|
|
||||||
- name: Find Java version
|
- name: Find Java version
|
||||||
|
@ -28,6 +28,13 @@
|
||||||
state: present
|
state: present
|
||||||
scope: machine
|
scope: machine
|
||||||
|
|
||||||
|
- name: Add Java bin dir to PATH
|
||||||
|
win_path:
|
||||||
|
name: PATH
|
||||||
|
elements: "{{ reg['raw_value'] }}\\bin"
|
||||||
|
state: present
|
||||||
|
scope: machine
|
||||||
|
|
||||||
- name: Disable Java updates
|
- name: Disable Java updates
|
||||||
win_regedit:
|
win_regedit:
|
||||||
path: HKLM:\SOFTWARE\WOW6432Node\JavaSoft\Java Update\Policy
|
path: HKLM:\SOFTWARE\WOW6432Node\JavaSoft\Java Update\Policy
|
||||||
|
|
|
@ -11,3 +11,13 @@
|
||||||
dest: /opt/logisim
|
dest: /opt/logisim
|
||||||
remote_src: yes
|
remote_src: yes
|
||||||
creates: /opt/logisim/META-INF/MANIFEST.MF
|
creates: /opt/logisim/META-INF/MANIFEST.MF
|
||||||
|
- name: Create destination for Logisim - Evolution
|
||||||
|
file:
|
||||||
|
path: /opt/logisim-evolution
|
||||||
|
state: directory
|
||||||
|
- name: Download and unpack Logisim - Evolution
|
||||||
|
unarchive:
|
||||||
|
src: https://github.com/logisim-evolution/logisim-evolution/releases/download/v3.9.0/logisim-evolution-3.9.0-all.jar
|
||||||
|
dest: /opt/logisim-evolution
|
||||||
|
remote_src: yes
|
||||||
|
creates: /opt/logisim-evolution/META-INF/MANIFEST.MF
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
- name: Set Matlab version and destination
|
- name: Set Matlab version and destination
|
||||||
set_fact:
|
set_fact:
|
||||||
target_version: "R2024a_Update_5"
|
target_version: "R2025a_Update_1"
|
||||||
install_dir: "/mnt/ucilnice_d/install/matlab/"
|
install_dir: "/mnt/ucilnice_d/install/matlab/"
|
||||||
license_path: "/mnt/ucilnice_d/install/matlab/network.lic"
|
license_path: "/mnt/ucilnice_d/install/matlab/network.lic"
|
||||||
dest_dir: /opt/matlab
|
dest_dir: /opt/matlab
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
- name: Install Matlab
|
- name: Install Matlab
|
||||||
command:
|
command:
|
||||||
cmd: /tmp/matlab_iso/install -inputFile "/tmp/matlab_installer_input.txt"
|
cmd: /tmp/matlab_iso/install -inputFile "/tmp/matlab_installer_input.txt"
|
||||||
# creates: "{{ dest_dir }}/VersionInfo.xml"
|
creates: "{{ dest_dir }}/licenses/license_info.xml"
|
||||||
#- name: Unmount Matlab ISO
|
#- name: Unmount Matlab ISO
|
||||||
# win_disk_image:
|
# win_disk_image:
|
||||||
# image_path: "{{ installers }}\\matlab\\matlab-{{ target_version }}_windows.iso"
|
# image_path: "{{ installers }}\\matlab\\matlab-{{ target_version }}_windows.iso"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
set_fact:
|
set_fact:
|
||||||
target_version: "R2025a_Update_1"
|
target_version: "R2025a_Update_1"
|
||||||
license_path: \\ucilnicesmb.fri1.uni-lj.si\ucilnice_d\install\matlab\network.lic
|
license_path: \\ucilnicesmb.fri1.uni-lj.si\ucilnice_d\install\matlab\network.lic
|
||||||
dest_dir: D:\matlab
|
dest_dir: "{{ large_prog_dir }}\\matlab"
|
||||||
|
|
||||||
- name: Set ISO path
|
- name: Set ISO path
|
||||||
set_fact:
|
set_fact:
|
||||||
|
@ -17,21 +17,27 @@
|
||||||
- name: Prepare installer_input.txt
|
- name: Prepare installer_input.txt
|
||||||
template:
|
template:
|
||||||
src: installer_input.txt
|
src: installer_input.txt
|
||||||
dest: d:\matlab_installer_input.txt
|
dest: c:\matlab_installer_input.txt
|
||||||
|
|
||||||
- name: Install Matlab
|
- name: Install Matlab
|
||||||
win_package:
|
win_package:
|
||||||
path: "{{ disk_image.mount_paths[0] }}\\setup.exe"
|
path: "{{ disk_image.mount_paths[0] }}\\setup.exe"
|
||||||
arguments: -inputFile "d:\\matlab_installer_input.txt"
|
arguments: -inputFile "c:\\matlab_installer_input.txt"
|
||||||
|
|
||||||
- name: Unmount Matlab ISO
|
- name: Unmount Matlab ISO
|
||||||
win_disk_image:
|
win_disk_image:
|
||||||
image_path: "{{ iso_path }}"
|
image_path: "{{ iso_path }}"
|
||||||
state: absent
|
state: absent
|
||||||
|
ignore_errors: true
|
||||||
|
|
||||||
# TODO MATLAB throws license error -83 when run
|
- name: Create licenses directory
|
||||||
- name: Install Matlab license
|
win_file:
|
||||||
win_copy:
|
dest: "{{ dest_dir }}\\licenses"
|
||||||
dest: "{{ dest_dir }}\\licenses\\network.lic"
|
state: directory
|
||||||
src: "{{ installers }}\\matlab\\network.lic"
|
|
||||||
remote_src: yes
|
# MATLAB will no longer be used with concurrent licenses - let them license their own!
|
||||||
|
#- name: Install Matlab license
|
||||||
|
# win_copy:
|
||||||
|
# dest: "{{ dest_dir }}\\licenses\\network.lic"
|
||||||
|
# src: "{{ installers }}\\matlab\\network.lic"
|
||||||
|
# remote_src: yes
|
||||||
|
|
|
@ -13,7 +13,8 @@ agreeToLicense=yes
|
||||||
## Users must log in to their MathWorks Account when MATLAB starts.
|
## Users must log in to their MathWorks Account when MATLAB starts.
|
||||||
##
|
##
|
||||||
## NOTE: This flag is valid in silent installations only.
|
## NOTE: This flag is valid in silent installations only.
|
||||||
enableLNU=no
|
# enableLNU=no
|
||||||
|
enableLNU=yes
|
||||||
|
|
||||||
improveMATLAB=no
|
improveMATLAB=no
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
- name: Install maptplotlib
|
- name: Install matplotlib
|
||||||
apt:
|
apt:
|
||||||
name: matplotlib
|
name:
|
||||||
state: latest
|
- python3-matplotlib
|
||||||
|
- python3-matplotlib-inline
|
||||||
|
- python3-matplotlib-venn
|
||||||
|
- python3-mpl-animators
|
||||||
|
- python3-mpl-scatter-density
|
||||||
|
- python3-mplcursors
|
||||||
|
- python3-mplexporter
|
||||||
|
state: latest
|
||||||
|
|
4
roles/mlxtend/tasks/main.yml
Normal file
4
roles/mlxtend/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
4
roles/mlxtend/tasks/main_lin.yml
Normal file
4
roles/mlxtend/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install mlxtend
|
||||||
|
pip:
|
||||||
|
executable: pipx
|
||||||
|
name: mlxtend
|
2
roles/mlxtend/tasks/main_win.yml
Normal file
2
roles/mlxtend/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
- name: Install pandas
|
||||||
|
win_command: pip install mlxtend
|
|
@ -1,8 +1,104 @@
|
||||||
- name: Download mysql workbench
|
- name: Create mysql workbench build directory
|
||||||
|
file:
|
||||||
|
path: /tmp/mysql-workbench
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Download mysql workbench source
|
||||||
get_url:
|
get_url:
|
||||||
url: https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community_8.0.38-1ubuntu24.04_amd64.deb
|
url: https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-8.0.43-src.tar.gz
|
||||||
dest: /tmp/mysql-workbench-community_8.0.38-1ubuntu24.04_amd64.deb
|
dest: /tmp/mysql-workbench/mysql-workbench.tgz
|
||||||
http_agent: "Wget/1.21.3"
|
http_agent: "Wget/1.21.3"
|
||||||
- name: Install mysql workbench
|
register: mysql_download
|
||||||
|
|
||||||
|
- name: Install mysql workbench build dependencies
|
||||||
apt:
|
apt:
|
||||||
deb: /tmp/mysql-workbench-community_8.0.38-1ubuntu24.04_amd64.deb
|
package:
|
||||||
|
- build-essential
|
||||||
|
- cmake
|
||||||
|
- cmake-data
|
||||||
|
- autoconf
|
||||||
|
- automake
|
||||||
|
- pkg-config
|
||||||
|
- libtool
|
||||||
|
- libzip-dev
|
||||||
|
- libxml2-dev
|
||||||
|
- libsigc++-2.0-dev
|
||||||
|
- libglade2-dev
|
||||||
|
- libglu1-mesa-dev
|
||||||
|
- libgl1-mesa-dev
|
||||||
|
- mesa-common-dev
|
||||||
|
- libmysqlclient-dev
|
||||||
|
- libmysqlcppconn-dev
|
||||||
|
- uuid-dev
|
||||||
|
- libpixman-1-dev
|
||||||
|
- libpcre3-dev
|
||||||
|
- libpango1.0-dev
|
||||||
|
- libcairo2-dev
|
||||||
|
- python3-dev
|
||||||
|
- libboost-dev
|
||||||
|
- default-mysql-client
|
||||||
|
- libsqlite3-dev
|
||||||
|
- swig4.1
|
||||||
|
- libvsqlitepp-dev
|
||||||
|
- libgdal-dev
|
||||||
|
- libgtk-3-dev
|
||||||
|
- libgtkmm-3.0-dev
|
||||||
|
- libssl-dev
|
||||||
|
- libsecret-1-dev
|
||||||
|
- libproj-dev
|
||||||
|
- libssh-dev
|
||||||
|
- rapidjson-dev
|
||||||
|
- unixodbc-dev
|
||||||
|
- unixodbc
|
||||||
|
|
||||||
|
- name: Create /usr/local/share/java
|
||||||
|
file:
|
||||||
|
path: /usr/local/share/java
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Download antlr jar
|
||||||
|
get_url:
|
||||||
|
url: https://www.antlr.org/download/antlr-4.13.2-complete.jar
|
||||||
|
dest: /usr/local/share/java/antlr-4.13.2-complete.jar
|
||||||
|
|
||||||
|
|
||||||
|
- name: Create antlr4 build dir
|
||||||
|
file:
|
||||||
|
path: /tmp/antlr4/build
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Checkout antlr4 (cpp runtime)
|
||||||
|
git:
|
||||||
|
repo: https://github.com/antlr/antlr4/
|
||||||
|
dest: /tmp/antlr4/antlr4
|
||||||
|
|
||||||
|
- name: Build antlr4 cpp runtime
|
||||||
|
shell:
|
||||||
|
cmd: "cd /tmp/antlr4/build; cmake ../antlr4/runtime/Cpp; make; make install"
|
||||||
|
|
||||||
|
- name: Extract MySQL Workbench source
|
||||||
|
unarchive:
|
||||||
|
src: "{{ mysql_download.dest }}"
|
||||||
|
remote_src: true
|
||||||
|
dest: /tmp/mysql-workbench
|
||||||
|
|
||||||
|
- name: Create build dir
|
||||||
|
file:
|
||||||
|
path: /tmp/mysql-workbench/build
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Build Mysql Workbench
|
||||||
|
shell:
|
||||||
|
cmd: "cd /tmp/mysql-workbench/build; cmake -DUSE_UNIXODBC=True -DODBC_LIBRARIES=-lodbc -DANTLR_JAR_PATH=/usr/local/share/java -DSWIG_EXECUTABLE=/usr/bin/swig4.1 -DSWIG_DIR=/usr/share/swig4.1 ../mysql-workbench-*-src; make; make install"
|
||||||
|
|
||||||
|
#- name: Download mysql workbench
|
||||||
|
# get_url:
|
||||||
|
# url: https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community_8.0.38-1ubuntu24.04_amd64.deb
|
||||||
|
# dest: /tmp/mysql-workbench-community_8.0.38-1ubuntu24.04_amd64.deb
|
||||||
|
# http_agent: "Wget/1.21.3"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#- name: Install mysql workbench
|
||||||
|
# apt:
|
||||||
|
# deb: /tmp/mysql-workbench-community_8.0.38-1ubuntu24.04_amd64.deb
|
||||||
|
|
|
@ -2,8 +2,22 @@
|
||||||
set_fact:
|
set_fact:
|
||||||
target_version: "26"
|
target_version: "26"
|
||||||
|
|
||||||
|
#- name: Install Netbeans from Chocolatey
|
||||||
|
# win_chocolatey:
|
||||||
|
# name: NetBeans
|
||||||
|
# state: upgrade
|
||||||
|
|
||||||
|
|
||||||
|
# https://downloads.apache.org/netbeans/netbeans/26/netbeans-26-bin.zip
|
||||||
|
- name: Download Netbeans
|
||||||
|
win_get_url:
|
||||||
|
url: "https://github.com/Friends-of-Apache-NetBeans/netbeans-installers/releases/download/v{{ target_version }}-build1/Apache-NetBeans-{{ target_version }}.exe"
|
||||||
|
dest: "c:\\Apache-NetBeans-{{ target_version }}.exe"
|
||||||
|
|
||||||
- name: Install Netbeans
|
- name: Install Netbeans
|
||||||
win_package:
|
win_package:
|
||||||
path: "https://dlcdn.apache.org/netbeans/netbeans-installers/{{ target_version }}/Apache-NetBeans-{{ target_version }}-bin-windows-x64.exe"
|
path: "c:\\Apache-NetBeans-{{ target_version }}.exe"
|
||||||
arguments: --silent
|
# path: "https://github.com/Friends-of-Apache-NetBeans/netbeans-installers/releases/download/v{{ target_version }}-build1/Apache-NetBeans-{{ target_version }}.exe"
|
||||||
creates_path: "%ProgramFiles%\\NetBeans-{{ target_version }}\\netbeans\\bin\\netbeans.exe"
|
# path: "https://dlcdn.apache.org/netbeans/netbeans-installers/{{ target_version }}/Apache-NetBeans-{{ target_version }}-bin-windows-x64.exe"
|
||||||
|
arguments: "\"/DIR={{ ansible_env['ProgramFiles'] }}\\NetBeans-{{ target_version }}\" /SUPPRESSMSGBOXES /VERYSILENT /SP-"
|
||||||
|
creates_path: "%ProgramFiles%\\NetBeans-{{ target_version }}\\bin\\netbeans.exe"
|
||||||
|
|
4
roles/networkx/tasks/main.yml
Normal file
4
roles/networkx/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
4
roles/networkx/tasks/main_lin.yml
Normal file
4
roles/networkx/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install networkx
|
||||||
|
apt:
|
||||||
|
name: python3-networkx
|
||||||
|
state: latest
|
2
roles/networkx/tasks/main_win.yml
Normal file
2
roles/networkx/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
- name: Install networkx
|
||||||
|
win_command: pip install networkx
|
|
@ -1,7 +1,7 @@
|
||||||
- name: Add NodeJS repo key
|
- name: Add NodeJS repo key
|
||||||
apt_key:
|
get_url:
|
||||||
url: https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key
|
url: https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key
|
||||||
keyring: /etc/apt/keyrings/nodesource.gpg
|
dest: /etc/apt/keyrings/nodesource.asc
|
||||||
|
|
||||||
#- name: Add NodeJS repo url
|
#- name: Add NodeJS repo url
|
||||||
# apt_repository:
|
# apt_repository:
|
||||||
|
@ -9,10 +9,5 @@
|
||||||
|
|
||||||
- name: Add NodeJS LTS repo url
|
- name: Add NodeJS LTS repo url
|
||||||
apt_repository:
|
apt_repository:
|
||||||
repo: "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main"
|
repo: "deb [signed-by=/etc/apt/keyrings/nodesource.asc] https://deb.nodesource.com/node_22.x nodistro main"
|
||||||
|
|
||||||
- name: Install NodeJS
|
|
||||||
apt:
|
|
||||||
name: nodejs
|
|
||||||
state: latest
|
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
win_chocolatey:
|
win_chocolatey:
|
||||||
name: nodejs
|
name: nodejs
|
||||||
|
|
||||||
- name: Install NodeJS-LTS
|
# Install fails if multiple versions are installed
|
||||||
win_chocolatey:
|
# - name: Install NodeJS-LTS
|
||||||
name: nodejs-lts
|
# win_chocolatey:
|
||||||
|
# name: nodejs-lts
|
||||||
|
|
4
roles/numpy/tasks/main.yml
Normal file
4
roles/numpy/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
5
roles/numpy/tasks/main_lin.yml
Normal file
5
roles/numpy/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
- name: Install numpy
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- python3-numpy
|
||||||
|
state: latest
|
2
roles/numpy/tasks/main_win.yml
Normal file
2
roles/numpy/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
- name: Install numpy
|
||||||
|
win_command: pip install numpy
|
|
@ -1,7 +1,9 @@
|
||||||
|
# TODO: omnetpp na Windows sedaj zahteva WSL. Premisli, kaj storiti glede tega
|
||||||
|
|
||||||
- name: Set OMNet++ version
|
- name: Set OMNet++ version
|
||||||
set_fact:
|
set_fact:
|
||||||
target_version: "6.2.0"
|
target_version: "6.2.0"
|
||||||
target_dir: "C:\\OMNeT++"
|
target_dir: "{{large_prog_dir}}\\OMNeT++"
|
||||||
|
|
||||||
- name: Check OMNet++ install status
|
- name: Check OMNet++ install status
|
||||||
win_stat:
|
win_stat:
|
||||||
|
@ -12,18 +14,24 @@
|
||||||
block:
|
block:
|
||||||
- name: Download OMNet++
|
- name: Download OMNet++
|
||||||
win_get_url:
|
win_get_url:
|
||||||
url: "https://github.com/omnetpp/omnetpp/releases/download/omnetpp-{{ target_version }}/omnetpp-{{ target_version }}-windows-x86_64.zip"
|
url: "https://github.com/omnetpp/omnetpp/releases/download/omnetpp-{{ target_version }}/omnetpp-{{ target_version }}-windows-x86_64.7z"
|
||||||
dest: C:\
|
dest: "{{ large_prog_dir }}"
|
||||||
register: download
|
register: download
|
||||||
|
|
||||||
- name: Unzip OMNet++
|
- name: Unzip OMNet++
|
||||||
win_unzip:
|
win_unzip:
|
||||||
src: "{{ download.dest }}"
|
src: "{{ download.dest }}"
|
||||||
dest: C:\
|
dest: "{{ large_prog_dir }}"
|
||||||
delete_archive: yes
|
delete_archive: yes
|
||||||
|
|
||||||
- name: Move OMNet++ to final location
|
- name: Move OMNet++ to final location
|
||||||
win_command: cmd.exe /c move "C:\omnetpp-{{ target_version }}" "{{ target_dir }}"
|
ansible.windows.win_powershell:
|
||||||
|
script: move "{{ large_prog_dir }}\omnetpp-{{ target_version }}" "{{ target_dir }}"
|
||||||
|
# win_robocopy:
|
||||||
|
# src: "{{ large_prog_dir }}\\omnetpp-{{ target_version }}"
|
||||||
|
# dest: "{{ target_dir }}"
|
||||||
|
# flags: "/move"
|
||||||
|
# win_command: cmd.exe /c move "c:\omnetpp-{{ target_version }}" "{{ target_dir }}"
|
||||||
|
|
||||||
- name: Create OMNet++ compile script
|
- name: Create OMNet++ compile script
|
||||||
win_copy:
|
win_copy:
|
||||||
|
@ -38,7 +46,7 @@
|
||||||
line: call "%HOME%\\tools\\win32.x86_64\\msys2_shell.cmd" -mingw64 -c "./configure && make -j4" & exit
|
line: call "%HOME%\\tools\\win32.x86_64\\msys2_shell.cmd" -mingw64 -c "./configure && make -j4" & exit
|
||||||
|
|
||||||
- name: Compile OMNet++
|
- name: Compile OMNet++
|
||||||
win_command: cmd.exe /c "{{ target_dir }}\\mingwenv-install.cmd"
|
win_command: cmd.exe /c "{{ target_dir }}\mingwenv-install.cmd"
|
||||||
|
|
||||||
- name: Copy OMNet++ shortcut
|
- name: Copy OMNet++ shortcut
|
||||||
win_copy:
|
win_copy:
|
||||||
|
|
4
roles/plotly/tasks/main.yml
Normal file
4
roles/plotly/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
4
roles/plotly/tasks/main_lin.yml
Normal file
4
roles/plotly/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install plotly
|
||||||
|
apt:
|
||||||
|
name: python3-plotly
|
||||||
|
state: latest
|
2
roles/plotly/tasks/main_win.yml
Normal file
2
roles/plotly/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
- name: Install plotly
|
||||||
|
win_command: pip install plotly
|
|
@ -1,4 +1,16 @@
|
||||||
|
# The installer does not work from powershell in silent mode.
|
||||||
|
#
|
||||||
|
- name: Prepare PowerDesigner setup.iss
|
||||||
|
template:
|
||||||
|
src: setup.iss
|
||||||
|
dest: c:\powerdesigner_setup.iss
|
||||||
|
|
||||||
- name: Install PowerDesigner
|
- name: Install PowerDesigner
|
||||||
win_package:
|
win_shell: |
|
||||||
path: "{{ installers }}\\PowerDesigner 12.5\\cd1\\setup\\setup.exe"
|
{{ installers }}\PowerDesigner_12.5\cd1\setup\setup.exe /s /f1"c:\powerdesigner_setup.iss" /f2"C:\powerdesigner_log.iss"
|
||||||
arguments: "/s /f1\"{{ installers }}\\PowerDesigner 12.5\\setup.iss\" /f2\"C:\\powerdesigner_log.iss\""
|
args:
|
||||||
|
executable: cmd
|
||||||
|
|
||||||
|
|
||||||
|
# path: "{{ installers }}\\PowerDesigner 12.5\\cd1\\setup\\setup.exe"
|
||||||
|
# arguments: "/hide_progress /hide_splash /hide_usd /s /f1\"{{ installers }}\\PowerDesigner 12.5\\setup.iss\" /f2\"C:\\powerdesigner_log.iss\""
|
||||||
|
|
|
@ -3,37 +3,37 @@ Version=v7.00
|
||||||
File=Response File
|
File=Response File
|
||||||
[File Transfer]
|
[File Transfer]
|
||||||
OverwrittenReadOnly=NoToAll
|
OverwrittenReadOnly=NoToAll
|
||||||
[{{ powerdesigner_key }}-DlgOrder]
|
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-DlgOrder]
|
||||||
Dlg0={{ powerdesigner_key }}-SdWelcome-0
|
Dlg0={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdWelcome-0
|
||||||
Count=10
|
Count=10
|
||||||
Dlg1={{ powerdesigner_key }}-SybSelectInstallMode-0
|
Dlg1={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybSelectInstallMode-0
|
||||||
Dlg2={{ powerdesigner_key }}-SybFlexLM-0
|
Dlg2={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybFlexLM-0
|
||||||
Dlg3={{ powerdesigner_key }}-SybSelectPackage-0
|
Dlg3={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybSelectPackage-0
|
||||||
Dlg4={{ powerdesigner_key }}-Sybase License-0
|
Dlg4={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-Sybase License-0
|
||||||
Dlg5={{ powerdesigner_key }}-SdAskDestPath-0
|
Dlg5={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdAskDestPath-0
|
||||||
Dlg6={{ powerdesigner_key }}-SdComponentTree-0
|
Dlg6={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdComponentTree-0
|
||||||
Dlg7={{ powerdesigner_key }}-Graphic Select Folder-0
|
Dlg7={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-Graphic Select Folder-0
|
||||||
Dlg8={{ powerdesigner_key }}-SdStartCopy-0
|
Dlg8={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdStartCopy-0
|
||||||
Dlg9={{ powerdesigner_key }}-SdFinish-0
|
Dlg9={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdFinish-0
|
||||||
[{{ powerdesigner_key }}-SdWelcome-0]
|
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdWelcome-0]
|
||||||
Result=1
|
Result=1
|
||||||
[{{ powerdesigner_key }}-SybSelectInstallMode-0]
|
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybSelectInstallMode-0]
|
||||||
Mode=3
|
Mode=3
|
||||||
Result=1
|
Result=1
|
||||||
[{{ powerdesigner_key }}-SybFlexLM-0]
|
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybFlexLM-0]
|
||||||
LicenseServer=todo.fri1.uni-lj.si
|
LicenseServer=todo.fri.uni-lj.si
|
||||||
PortNumber=27000
|
PortNumber=27000
|
||||||
Result=1
|
Result=1
|
||||||
[{{ powerdesigner_key }}-SybSelectPackage-0]
|
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybSelectPackage-0]
|
||||||
Package=Studio Enterprise
|
Package=Studio Enterprise
|
||||||
Result=1
|
Result=1
|
||||||
[{{ powerdesigner_key }}-Sybase License-0]
|
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-Sybase License-0]
|
||||||
Sybase_License=accept
|
Sybase_License=accept
|
||||||
[{{ powerdesigner_key }}-SdAskDestPath-0]
|
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdAskDestPath-0]
|
||||||
szDir=C:\Program Files (x86)\Sybase\PowerDesigner 12
|
szDir={{ large_prog_dir }}\PowerDesigner 12
|
||||||
Result=1
|
Result=1
|
||||||
[{{ powerdesigner_key }}-SdComponentTree-0]
|
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdComponentTree-0]
|
||||||
szDir=C:\Program Files (x86)\Sybase\PowerDesigner 12
|
szDir={{ large_prog_dir }}\PowerDesigner 12
|
||||||
CR\FRM-type=string
|
CR\FRM-type=string
|
||||||
CR\FRM-count=2
|
CR\FRM-count=2
|
||||||
CR\FRM-0=CR\FRM\FRM_Xem
|
CR\FRM-0=CR\FRM\FRM_Xem
|
||||||
|
@ -108,11 +108,6 @@ PDM-1=PDM\PDM_Examples
|
||||||
PDM-2=PDM\PDM_Report
|
PDM-2=PDM\PDM_Report
|
||||||
PDM-3=PDM\PDM_Tools
|
PDM-3=PDM\PDM_Tools
|
||||||
PDM-4=PDM\PDM_Addins
|
PDM-4=PDM\PDM_Addins
|
||||||
RQM-type=string
|
|
||||||
RQM-count=3
|
|
||||||
RQM-0=RQM\RQM_License
|
|
||||||
RQM-1=RQM\RQM_Examples
|
|
||||||
RQM-2=RQM\RQM_Report
|
|
||||||
XSM-type=string
|
XSM-type=string
|
||||||
XSM-count=4
|
XSM-count=4
|
||||||
XSM-0=XSM\XSM_License
|
XSM-0=XSM\XSM_License
|
||||||
|
@ -135,6 +130,19 @@ PDF-5=PDF\PDF_PDM
|
||||||
PDF-6=PDF\PDF_RQM
|
PDF-6=PDF\PDF_RQM
|
||||||
PDF-7=PDF\PDF_XSM
|
PDF-7=PDF\PDF_XSM
|
||||||
PDF-8=PDF\PDF_RPY
|
PDF-8=PDF\PDF_RPY
|
||||||
|
VIDEO-type=string
|
||||||
|
VIDEO-count=11
|
||||||
|
VIDEO-0=VIDEO\Video_int
|
||||||
|
VIDEO-1=VIDEO\Video_Gen
|
||||||
|
VIDEO-2=VIDEO\Video_BPM
|
||||||
|
VIDEO-3=VIDEO\Video_CDM
|
||||||
|
VIDEO-4=VIDEO\Video_ILM
|
||||||
|
VIDEO-5=VIDEO\Video_OOM
|
||||||
|
VIDEO-6=VIDEO\Video_PDM
|
||||||
|
VIDEO-7=VIDEO\Video_RQM
|
||||||
|
VIDEO-8=VIDEO\Video_xsm
|
||||||
|
VIDEO-9=VIDEO\Video_RPY
|
||||||
|
VIDEO-10=VIDEO\Video_htm
|
||||||
Component-type=string
|
Component-type=string
|
||||||
Component-count=10
|
Component-count=10
|
||||||
Component-0=CR
|
Component-0=CR
|
||||||
|
@ -143,15 +151,15 @@ Component-2=CDM
|
||||||
Component-3=ILM
|
Component-3=ILM
|
||||||
Component-4=OOM
|
Component-4=OOM
|
||||||
Component-5=PDM
|
Component-5=PDM
|
||||||
Component-6=RQM
|
Component-6=XSM
|
||||||
Component-7=XSM
|
Component-7=RPY
|
||||||
Component-8=RPY
|
Component-8=PDF
|
||||||
Component-9=PDF
|
Component-9=VIDEO
|
||||||
Result=1
|
Result=1
|
||||||
[{{ powerdesigner_key }}-Graphic Select Folder-0]
|
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-Graphic Select Folder-0]
|
||||||
szFolder=Sybase\PowerDesigner 12
|
szFolder=Sybase\PowerDesigner 12
|
||||||
Result=1
|
Result=1
|
||||||
[{{ powerdesigner_key }}-SdStartCopy-0]
|
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdStartCopy-0]
|
||||||
Keep_Settings=0
|
Keep_Settings=0
|
||||||
Result=1
|
Result=1
|
||||||
[Application]
|
[Application]
|
||||||
|
@ -159,7 +167,7 @@ Name=Sybase PowerDesigner 12.5
|
||||||
Version=12.5.2169
|
Version=12.5.2169
|
||||||
Company=Sybase
|
Company=Sybase
|
||||||
Lang=0009
|
Lang=0009
|
||||||
[{{ powerdesigner_key }}-SdFinish-0]
|
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdFinish-0]
|
||||||
Result=1
|
Result=1
|
||||||
bOpt1=0
|
bOpt1=0
|
||||||
bOpt2=0
|
bOpt2=0
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
- name: Set Processing version
|
- name: Set Processing version
|
||||||
set_fact:
|
set_fact:
|
||||||
target_version: 4.4.4
|
target_version: 4.4.6
|
||||||
target_build: 1304
|
target_build: 1306
|
||||||
|
|
||||||
- name: Check Processing install status
|
- name: Check Processing install status
|
||||||
win_stat:
|
win_stat:
|
||||||
|
@ -22,20 +22,21 @@
|
||||||
state: directory
|
state: directory
|
||||||
- name: Download Processing
|
- name: Download Processing
|
||||||
win_get_url:
|
win_get_url:
|
||||||
dest: 'C:\Program Files\Processing\processing.zip'
|
dest: 'C:\Program Files\processing.zip'
|
||||||
url: https://github.com/processing/processing4/releases/download/processing-{{ target_build }}-{{ target_version }}/processing-{{ target_version }}-windows-x64.zip
|
url: https://github.com/processing/processing4/releases/download/processing-{{ target_build }}-{{ target_version }}/processing-{{ target_version }}-windows-x64-portable.zip
|
||||||
- name: Unzip Processing
|
- name: Unzip Processing
|
||||||
win_unzip:
|
win_unzip:
|
||||||
dest: 'C:\Program Files\Processing'
|
src: 'C:\Program Files\processing.zip'
|
||||||
src: 'C:\Program Files\Processing\processing.zip'
|
dest: 'C:\Program Files\'
|
||||||
- name: Install Processing
|
creates: 'C:\Program Files\Processing\Processing.exe'
|
||||||
win_copy:
|
#- name: Install Processing
|
||||||
dest: C:\Program Files\Processing\
|
# win_copy:
|
||||||
src: 'C:\Program Files\Processing\processing-{{ target_version }}\'
|
# dest: C:\Program Files\Processing\
|
||||||
remote_src: yes
|
# src: 'C:\Program Files\Processing\processing-{{ target_version }}\'
|
||||||
|
# remote_src: yes
|
||||||
- name: Disable telemetry
|
- name: Disable telemetry
|
||||||
win_lineinfile:
|
win_lineinfile:
|
||||||
path: C:\Program Files\Processing\lib\defaults.txt
|
path: C:\Program Files\Processing\app\resources\lib\defaults.txt
|
||||||
regexp: 'update.check'
|
regexp: 'update.check'
|
||||||
line: 'update.check = false'
|
line: 'update.check = false'
|
||||||
- name: Create Processing shortcut
|
- name: Create Processing shortcut
|
||||||
|
@ -44,8 +45,8 @@
|
||||||
dest: "C:\\Users\\Public\\Desktop\\Processing.lnk"
|
dest: "C:\\Users\\Public\\Desktop\\Processing.lnk"
|
||||||
- name: Remove temporary files
|
- name: Remove temporary files
|
||||||
win_file:
|
win_file:
|
||||||
path: C:\Program Files\Processing\{{ item }}
|
# path: C:\Program Files\Processing\{{ item }}
|
||||||
|
path: C:\Program Files\processing.zip
|
||||||
state: absent
|
state: absent
|
||||||
loop:
|
loop:
|
||||||
- processing.zip
|
- processing.zip
|
||||||
- processing-{{ target_version }}
|
|
||||||
|
|
|
@ -8,4 +8,4 @@
|
||||||
state: upgrade
|
state: upgrade
|
||||||
version: "{{ target_version }}"
|
version: "{{ target_version }}"
|
||||||
|
|
||||||
# TODO set default project directory to H:\something
|
# TODO set default project directory to {{large_prog_dir}}\something
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
|
|
||||||
- name: Install ipython
|
- name: Install ipython
|
||||||
apt:
|
apt:
|
||||||
name: python3-ipython
|
name:
|
||||||
|
- python3-ipython
|
||||||
|
- ipython3
|
||||||
state: latest
|
state: latest
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
- name: Clone QCADesigner-E repo
|
- name: Clone QCADesigner-E repo
|
||||||
#
|
#
|
||||||
ansible.builtin.git:
|
ansible.builtin.git:
|
||||||
repo: https://github.com/FSillT/QCADesigner-E
|
repo: https://github.com/polz113/QCADesigner-E
|
||||||
force: yes
|
force: yes
|
||||||
dest: /opt/QCADesigner-E
|
dest: /opt/QCADesigner-E
|
||||||
- name: Build QCADesigner-E
|
- name: Build QCADesigner-E
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
- name: Add R repository
|
#- name: Add R repository
|
||||||
block:
|
# block:
|
||||||
- name: R repo - apt key
|
# - name: R repo - apt key
|
||||||
ansible.builtin.get_url:
|
# ansible.builtin.get_url:
|
||||||
url: https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc
|
# url: https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc
|
||||||
dest: /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
|
# dest: /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
|
||||||
- name: R repo - url
|
# - name: R repo - url
|
||||||
ansible.builtin.apt_repository:
|
# ansible.builtin.apt_repository:
|
||||||
repo: "deb https://cloud.r-project.org/bin/linux/ubuntu {{ansible_distribution_release}}-cran40/"
|
# repo: "deb https://cloud.r-project.org/bin/linux/ubuntu {{ansible_distribution_release}}-cran40/"
|
||||||
state: present
|
# state: present
|
||||||
|
# ignore_errors: true
|
||||||
- name: Install R
|
- name: Install R
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
name: r-base
|
name: r-base
|
||||||
|
|
4
roles/scikit/tasks/main.yml
Normal file
4
roles/scikit/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
6
roles/scikit/tasks/main_lin.yml
Normal file
6
roles/scikit/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
- name: Install scikit
|
||||||
|
apt:
|
||||||
|
name:
|
||||||
|
- python3-sklearn
|
||||||
|
- python3-sklearn-pandas
|
||||||
|
state: latest
|
2
roles/scikit/tasks/main_win.yml
Normal file
2
roles/scikit/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
- name: Install scikit
|
||||||
|
win_command: pip install scikit-learn
|
4
roles/seaborn/tasks/main.yml
Normal file
4
roles/seaborn/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
4
roles/seaborn/tasks/main_lin.yml
Normal file
4
roles/seaborn/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install seaborn
|
||||||
|
apt:
|
||||||
|
name: python3-seaborn
|
||||||
|
state: latest
|
2
roles/seaborn/tasks/main_win.yml
Normal file
2
roles/seaborn/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
- name: Install seaborn
|
||||||
|
win_command: pip install seaborn
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
- name: Set SiFive Studio install location
|
- name: Set SiFive Studio install location
|
||||||
set_fact:
|
set_fact:
|
||||||
download_filedest: C:\FreedomStudio-4.18.0.2021-04-1-x86_64-w64-mingw32.zip
|
download_filedest: "{{ large_prog_dir }}\\FreedomStudio-4.18.0.2021-04-1-x86_64-w64-mingw32.zip"
|
||||||
- name: Download SiFive
|
- name: Download SiFive
|
||||||
win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/bulic_fri1_uni-lj_si/EdiSnJpoClJLtc3AtcAtEQ4BI76_PeDvL-ZmhxG4OEyvig?e=xBRYcb&download=1" -O "{{ download_filedest }}"
|
win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/bulic_fri1_uni-lj_si/EdiSnJpoClJLtc3AtcAtEQ4BI76_PeDvL-ZmhxG4OEyvig?e=xBRYcb&download=1" -O "{{ download_filedest }}"
|
||||||
args:
|
args:
|
||||||
|
@ -14,12 +14,12 @@
|
||||||
- name: Unzip SiFive Studio
|
- name: Unzip SiFive Studio
|
||||||
win_unzip:
|
win_unzip:
|
||||||
src: "{{ download_filedest }}"
|
src: "{{ download_filedest }}"
|
||||||
dest: C:\SiFive\
|
dest: "{{ large_prog_dir }}\\SiFive\\"
|
||||||
creates: C:\SiFive\plugins
|
creates: "{{ large_prog_dir }}\\SiFive\\plugins"
|
||||||
delete_archive: yes
|
delete_archive: yes
|
||||||
|
|
||||||
- name: Create desktop shortcut
|
- name: Create desktop shortcut
|
||||||
win_shortcut:
|
win_shortcut:
|
||||||
description: "SiFive Freedom Studio"
|
description: "SiFive Freedom Studio"
|
||||||
src: C:\SiFive\FreedomStudio.exe
|
src: "{{ large_prog_dir }}\\SiFive\\FreedomStudio.exe"
|
||||||
dest: '%public%\Desktop\SiFive.lnk'
|
dest: '%public%\Desktop\SiFive.lnk'
|
||||||
|
|
|
@ -1,31 +1,34 @@
|
||||||
# TODO check install status
|
# Deprecated - replace by mems-studio
|
||||||
|
- name: Do not install AlgoBuilder
|
||||||
|
debug:
|
||||||
|
msg: "Do not install AlgoBuilder on Windows - deprecated"
|
||||||
# TODO: Exe file is missing - Problem on ST site
|
# TODO: Exe file is missing - Problem on ST site
|
||||||
- name: Check AlgoBuilder install status
|
# - name: Check AlgoBuilder install status
|
||||||
win_stat:
|
# win_stat:
|
||||||
path: C:\Program Files (x86)\Thonny\thonny.exe
|
# path: C:\Program Files (x86)\Thonny\thonny.exe
|
||||||
register: file
|
# register: file
|
||||||
|
|
||||||
- when: not file.stat.exists
|
# - when: not file.stat.exists
|
||||||
block:
|
# block:
|
||||||
- name: Download AlgoBuilder
|
# - name: Download AlgoBuilder
|
||||||
win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EdBQJN3I6fVFj7qgs6SjRp4BZ0QbWIV26NUlLv_4d9JsDQ?e=hA4Cbl&download=1" -O C:\AlgoBuilderSuite.exe
|
# win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EdBQJN3I6fVFj7qgs6SjRp4BZ0QbWIV26NUlLv_4d9JsDQ?e=hA4Cbl&download=1" -O C:\AlgoBuilderSuite.exe
|
||||||
args:
|
# args:
|
||||||
creates: C:\AlgoBuilderSuite.exe
|
# creates: C:\AlgoBuilderSuite.exe
|
||||||
#win_get_url:
|
# #win_get_url:
|
||||||
# follow_redirects: all
|
# # follow_redirects: all
|
||||||
# http_agent: Wget/1.21.3
|
# # http_agent: Wget/1.21.3
|
||||||
# url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EdBQJN3I6fVFj7qgs6SjRp4BZ0QbWIV26NUlLv_4d9JsDQ?e=hA4Cbl?download=1
|
# # url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EdBQJN3I6fVFj7qgs6SjRp4BZ0QbWIV26NUlLv_4d9JsDQ?e=hA4Cbl?download=1
|
||||||
# dest: C:\AlgoBuilderSuite.exe
|
# # dest: C:\AlgoBuilderSuite.exe
|
||||||
#register: download
|
# #register: download
|
||||||
|
|
||||||
- name: Install AlgoBuilder
|
# - name: Install AlgoBuilder
|
||||||
win_package:
|
# win_package:
|
||||||
path: C:\AlgoBuilderSuite.exe
|
# path: C:\AlgoBuilderSuite.exe
|
||||||
# path: "{{ download.dest }}"
|
# # path: "{{ download.dest }}"
|
||||||
arguments: /Verysilent /AllUsers
|
# arguments: /Verysilent /AllUsers
|
||||||
|
|
||||||
- name: Remove temporary files
|
# - name: Remove temporary files
|
||||||
win_file:
|
# win_file:
|
||||||
path: C:\AlgoBuilderSuite.exe
|
# path: C:\AlgoBuilderSuite.exe
|
||||||
# path: "{{ download.dest }}"
|
# # path: "{{ download.dest }}"
|
||||||
state: absent
|
# state: absent
|
||||||
|
|
|
@ -8,13 +8,14 @@
|
||||||
# register: download
|
# register: download
|
||||||
- name: Set filename
|
- name: Set filename
|
||||||
set_fact:
|
set_fact:
|
||||||
dest_fname: /tmp/st-stm32cubeide_1.16.0_21983_20240628_1741_amd64.sh
|
dest_fname: /tmp/st-stm32cubeide_1.19.0_25607_20250703_0907_amd64.sh
|
||||||
|
|
||||||
- name: Download stm32
|
- name: Download stm32
|
||||||
command:
|
command:
|
||||||
cmd: wget 'https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EUrIkoWbod5OilNHLnReBvYBMK7mlwI-R1Qeqhb-ux7hjg?e=HGloHF&download=1' -O {{ dest_fname }}
|
# cmd: wget 'https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/ERLZDFSgbO1Hm6TT9CLhyUIBZS-4anic7RWtvQliqN-thA?e=KZq4VJ' -O {{ dest_fname }}
|
||||||
|
cmd: wget {{ installers }}\RAVINOR\2025\st-stm32cubeide_1.19.0_25607_20250703_0907_amd64.sh -O {{ dest_fname }}
|
||||||
creates: "{{ dest_fname }} "
|
creates: "{{ dest_fname }} "
|
||||||
# url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EUrIkoWbod5OilNHLnReBvYBMK7mlwI-R1Qeqhb-ux7hjg?e=HGloHF?download=1
|
# url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/ERLZDFSgbO1Hm6TT9CLhyUIBZS-4anic7RWtvQliqN-thA?e=KZq4VJ
|
||||||
|
|
||||||
- name: Change script permissions
|
- name: Change script permissions
|
||||||
file:
|
file:
|
||||||
|
|
|
@ -7,18 +7,18 @@
|
||||||
block:
|
block:
|
||||||
- name: Set download filenames
|
- name: Set download filenames
|
||||||
set_fact:
|
set_fact:
|
||||||
cubemx_download_file: C:\CubeMX.exe
|
# cubemx_download_file: C:\CubeMX.exe not needed separately
|
||||||
cubeprogrammer_download_file: C:\CubeProgrammer.exe
|
cubeprogrammer_download_file: C:\CubeProgrammer.exe
|
||||||
cubemonitor_download_file: C:\CubeMonitor.exe
|
cubemonitor_download_file: C:\CubeMonitor.exe
|
||||||
cufinder_download_file: C:\CUFinder.exe
|
cufinder_download_file: C:\CUFinder.exe
|
||||||
cubeide_download_file: C:\st-stm32cubeide_1.16.0_21983_20240628_1741_x86_64.exe
|
cubeide_download_file: C:\st-stm32cubeide_1.19.0_25607_20250703_0907_x86_64.exe
|
||||||
- name: Download CubeMX
|
# - name: Download CubeMX
|
||||||
# # win_get_url:
|
# # # win_get_url:
|
||||||
win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EZhqHxJoAfdEjdlMu0uGWGcBOqrT0vTVv2_nhynWZ3fOwQ?e=ilAlzP&download=1" -O "{{ cubemx_download_file }}"
|
# win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EZhqHxJoAfdEjdlMu0uGWGcBOqrT0vTVv2_nhynWZ3fOwQ?e=ilAlzP&download=1" -O "{{ cubemx_download_file }}"
|
||||||
# #dest: C:\CubeMX.exe
|
# # #dest: C:\CubeMX.exe
|
||||||
# #register: cubemx_download
|
# # #register: cubemx_download
|
||||||
args:
|
# args:
|
||||||
creates: "{{ cubemx_download_file }}"
|
# creates: "{{ cubemx_download_file }}"
|
||||||
|
|
||||||
#- name: Install CubeMX
|
#- name: Install CubeMX
|
||||||
# win_package:
|
# win_package:
|
||||||
|
@ -26,7 +26,8 @@
|
||||||
# arguments: /S
|
# arguments: /S
|
||||||
|
|
||||||
- name: Download CubeProgrammer
|
- name: Download CubeProgrammer
|
||||||
win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EXHsKDjM6hVAuEGwEWcMyBEB6bHd3HuOP38D7Wjt41vjTw?e=7jatnu&download=1" -O "{{ cubeprogrammer_download_file }}"
|
win_command: wget "{{ installers }}\RAVINOR\2025\SetupSTM32CubeProgrammer_win64.exe" -O "{{ cubeprogrammer_download_file }}"
|
||||||
|
#win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EXHsKDjM6hVAuEGwEWcMyBEBgx7D9i_M3QAkhpe9RR9zPQ?e=VcUvvu" -O "{{ cubeprogrammer_download_file }}"
|
||||||
#win_get_url:
|
#win_get_url:
|
||||||
# dest: C:\CubeProgrammer.exe
|
# dest: C:\CubeProgrammer.exe
|
||||||
#register: cubeprogrammer_download
|
#register: cubeprogrammer_download
|
||||||
|
@ -39,10 +40,11 @@
|
||||||
arguments: /S
|
arguments: /S
|
||||||
|
|
||||||
- name: Download CubeMonitor
|
- name: Download CubeMonitor
|
||||||
# TODO 2024: only zip distributions exists in zip file
|
# TODO 2025: only zip distributions exists in zip file
|
||||||
# TODO 2024: URL: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/ERUUr7knYFNNuv5rViOb-PgB596EvC3ev4P_Aa_MjRL57Q?e=tZssk4
|
# TODO 2025: URL: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EcU8MQwONYZKuk22puks-IgBd1qLM94DH3AA_CEclIgTZg?e=jRcA3v
|
||||||
# TODO 2024: Have extracted setup exe - not sure if this is enough!
|
# TODO 2025: Have extracted setup exe - not sure if this is enough!
|
||||||
win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EQnm_b359Q5IpmfCUuDG-PABH10q94ixaLx4_CMrYKoNtQ?e=rKp3cV&download=1" -O "{{ cubemonitor_download_file }}"
|
# win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EbVvZi3q7QRNqwocCSgMvGgB-eYM2mtb-IidD1UTaMgtbw?e=QDxd29" -O "{{ cubemonitor_download_file }}"
|
||||||
|
win_command: wget "{{ installers }}\RAVINOR\2025\setupSTM32CubeMonitor_1.10.0.exe" -O "{{ cubemonitor_download_file }}"
|
||||||
#win_get_url:
|
#win_get_url:
|
||||||
# dest: C:\CubeMonitor.exe
|
# dest: C:\CubeMonitor.exe
|
||||||
#register: cubemonitor_download
|
#register: cubemonitor_download
|
||||||
|
@ -54,23 +56,24 @@
|
||||||
path: "{{ cubemonitor_download_file }}"
|
path: "{{ cubemonitor_download_file }}"
|
||||||
arguments: /S
|
arguments: /S
|
||||||
|
|
||||||
- name: Download STM CUFinder
|
# 2025: CUFinder not needed anymore
|
||||||
win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EfesbSW7EftDoSjtt-nr_eYBH_EBzXnysW0Lk1wnNzx2Mw?e=HSSmDz&download=1" -O "{{ cufinder_download_file }}"
|
# - name: Download STM CUFinder
|
||||||
# #win_get_url:
|
# win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EfesbSW7EftDoSjtt-nr_eYBH_EBzXnysW0Lk1wnNzx2Mw?e=HSSmDz&download=1" -O "{{ cufinder_download_file }}"
|
||||||
# # dest: C:\CUFinder.exe
|
# # #win_get_url:
|
||||||
# #register: cubecufinder_download
|
# # # dest: C:\CUFinder.exe
|
||||||
args:
|
# # #register: cubecufinder_download
|
||||||
creates: "{{ cufinder_download_file }}"
|
# args:
|
||||||
|
# creates: "{{ cufinder_download_file }}"
|
||||||
- name: Install STM CUFinder
|
|
||||||
win_package:
|
|
||||||
path: "{{ cubecufinder_download_file }}"
|
|
||||||
arguments: /S
|
|
||||||
|
|
||||||
|
# - name: Install STM CUFinder
|
||||||
|
# win_package:
|
||||||
|
# path: "{{ cubecufinder_download_file }}"
|
||||||
|
# arguments: /S
|
||||||
- name: Download CubeIDE
|
- name: Download CubeIDE
|
||||||
# win_get_url:
|
# win_get_url:
|
||||||
win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/ERpqeASbQ2hDrL9ANNWJf5QBJNhHieXoqaNtduppk42qwg?e=zI8rjI&download=1" -O "{{ cubeide_download_file }}"
|
#win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EZLOLK_5IxpPvnI_rYH6hSMBuQyH3EEq9bqZr9X_n6cgzA?e=P218RC" -O "{{ cubeide_download_file }}"
|
||||||
#dest: C:\st-stm32cubeide_1.16.0_21983_20240628_1741_x86_64.exe
|
win_command: wget "{{ installers }}\RAVINOR\2025\st-stm32cubeide_1.19.0_25607_20250703_0907_x86_64.exe" -O "{{ cubeide_download_file }}"
|
||||||
|
#dest: C:\st-stm32cubeide_1.19.0_25607_20250703_0907_x86_64.exe
|
||||||
#register: cubeide_download
|
#register: cubeide_download
|
||||||
args:
|
args:
|
||||||
creates: "{{ cubeide_download_file }}"
|
creates: "{{ cubeide_download_file }}"
|
||||||
|
@ -83,12 +86,13 @@
|
||||||
|
|
||||||
- name: Set CubeIDE default workspace
|
- name: Set CubeIDE default workspace
|
||||||
win_lineinfile:
|
win_lineinfile:
|
||||||
path: C:\ST\STM32CubeIDE_1.10.1\STM32CubeIDE\stm32cubeide.ini
|
path: C:\ST\STM32CubeIDE_1.19.0\STM32CubeIDE\stm32cubeide.ini
|
||||||
regexp: "osgi.instance.area.default"
|
regexp: "osgi.instance.area.default"
|
||||||
line: "-Dosgi.instance.area.default=D:/RAVINOR/CubeIDE_Workspace"
|
line: "-Dosgi.instance.area.default=D:/RAVINOR/CubeIDE_Workspace"
|
||||||
|
|
||||||
# Replace -installIU... with -list to get available packages.
|
# 2025: QEMU not needed anymore
|
||||||
- name: Install QEMU
|
# # Replace -installIU... with -list to get available packages.
|
||||||
win_command: stm32cubeidec.exe -application org.eclipse.equinox.p2.director -nosplash -repository https://download.eclipse.org/embed-cdt/updates/v6/ -installIU org.eclipse.embedcdt.debug.gdbjtag.qemu.feature.group
|
# - name: Install QEMU
|
||||||
args:
|
# win_command: stm32cubeidec.exe -application org.eclipse.equinox.p2.director -nosplash -repository https://download.eclipse.org/embed-cdt/updates/v6/ -installIU org.eclipse.embedcdt.debug.gdbjtag.qemu.feature.group
|
||||||
chdir: C:\ST\STM32CubeIDE_1.10.1\STM32CubeIDE
|
# args:
|
||||||
|
# chdir: C:\ST\STM32CubeIDE_1.19.0\STM32CubeIDE
|
||||||
|
|
|
@ -5,19 +5,17 @@
|
||||||
# arguments: /S /AllUsers
|
# arguments: /S /AllUsers
|
||||||
# creates_path: "%ProgramFiles%\\Arduino IDE\\Arduino IDE.exe"
|
# creates_path: "%ProgramFiles%\\Arduino IDE\\Arduino IDE.exe"
|
||||||
|
|
||||||
# 2024: update: Full directory structure ready zip for Windows only on this URL:
|
# 2025: update: Full directory structure ready zip for Windows only on this URL:
|
||||||
# https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EYTFhlsJOFtFk9xsaViP0eYBtILVS24ZF_dlkgodu_L9Nw?e=geavvJ
|
# https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EYTFhlsJOFtFk9xsaViP0eYBtILVS24ZF_dlkgodu_L9Nw?e=geavvJ
|
||||||
|
|
||||||
- name: Create STM32Duino directory
|
- name: Create STM32Duino directory
|
||||||
win_file:
|
win_file:
|
||||||
path: "D:\\RAVINOR\\STM32Duino"
|
path: "{{large_prog_dir}}\\RAVINOR\\STM32Duino"
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
- name: Install Logisim
|
- name: Install preinstalled STM32Duino & Arduino environment
|
||||||
win_get_url:
|
win_unzip:
|
||||||
url: "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EYTFhlsJOFtFk9xsaViP0eYBtILVS24ZF_dlkgodu_L9Nw?e=geavvJ"
|
src: {{ installers }}\RAVINOR\2025\arduino-1.8.19.zip
|
||||||
dest: "D:\\RAVINOR\\STM32Duino"
|
dest: "{{large_prog_dir}}\\RAVINOR\\STM32Duino"
|
||||||
# TODO Don't know if unzipping is required?
|
|
||||||
|
|
||||||
|
|
||||||
# TODO check if anything else is needed (esp8266com)?
|
# TODO check if anything else is needed (esp8266com)?
|
||||||
|
|
5
roles/stm32mems-studio/tasks/main.yml
Normal file
5
roles/stm32mems-studio/tasks/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
||||||
|
|
3
roles/stm32mems-studio/tasks/main_lin.yml
Normal file
3
roles/stm32mems-studio/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
- name: Do not install mems-studio
|
||||||
|
debug:
|
||||||
|
msg: "Do not install mems-studio on Linux"
|
32
roles/stm32mems-studio/tasks/main_win.yml
Normal file
32
roles/stm32mems-studio/tasks/main_win.yml
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
# TODO
|
||||||
|
- name: Check MEMS-Studio install status
|
||||||
|
win_stat:
|
||||||
|
path: C:\Program Files (x86)\STMicroelectronics\Unicleo-GUI\Unicleo-GUI.exe
|
||||||
|
register: file
|
||||||
|
- when: not file.stat.exists
|
||||||
|
block:
|
||||||
|
- name: Download MEMS-Studio
|
||||||
|
#win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EXgZSDD5LgtMrikaKszPliwB1vXrwUxea3eYYObT3zXBaQ?e=eNJyLA" -O C:\mems-studio-2.1.2.exe
|
||||||
|
win_command: copy "{{ installers }}\RAVINOR\2025\mems-studio-2.1.2.exe" -O { large_prog_dir }\mems-studio-2.1.2.exe
|
||||||
|
args:
|
||||||
|
creates: {large_prog_dir}\mems-studio-2.1.2.exe
|
||||||
|
#win_get_url:
|
||||||
|
# follow_redirects: all
|
||||||
|
# http_agent: Wget/1.21.3
|
||||||
|
# url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EQG4vStF7ApBsN2TDm5AjGQBiU0iFbZZiz91UqGeHKX9FA?e=QOQky2?download=1
|
||||||
|
# dest: C:\Unicleo-GUI_Setup.exe
|
||||||
|
#register: download
|
||||||
|
|
||||||
|
- name: Install MEMS-Studio
|
||||||
|
win_package:
|
||||||
|
path: {large_prog_dir}\mems-studio-2.1.2.exe
|
||||||
|
# path: "{{ download.dest }}"
|
||||||
|
arguments: /Verysilent /AllUsers
|
||||||
|
|
||||||
|
- name: Remove temporary files
|
||||||
|
win_file:
|
||||||
|
path: {large_prog_dir}\mems-studio-2.1.2.exe
|
||||||
|
# path: "{{ download.dest }}"
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
|
|
@ -1,31 +1,35 @@
|
||||||
# TODO check install status
|
# Deprecated - replace by mems-studio
|
||||||
- name: Check UnicleoGUI install status
|
- name: Do not install UnicleoGUI
|
||||||
win_stat:
|
debug:
|
||||||
path: C:\Program Files (x86)\STMicroelectronics\Unicleo-GUI\Unicleo-GUI.exe
|
msg: "Do not install UnicleoGUI on Windows - deprecated"
|
||||||
register: file
|
# # TODO check install status
|
||||||
- when: not file.stat.exists
|
# - name: Check UnicleoGUI install status
|
||||||
block:
|
# win_stat:
|
||||||
- name: Download UnicleoGUI
|
# path: C:\Program Files (x86)\STMicroelectronics\Unicleo-GUI\Unicleo-GUI.exe
|
||||||
win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EQG4vStF7ApBsN2TDm5AjGQBiU0iFbZZiz91UqGeHKX9FA?e=QOQky2&download=1" -O C:\Unicleo-GUI_Setup.exe
|
# register: file
|
||||||
args:
|
# - when: not file.stat.exists
|
||||||
creates: C:\Unicleo-GUI_Setup.exe
|
# block:
|
||||||
#win_get_url:
|
# - name: Download UnicleoGUI
|
||||||
# follow_redirects: all
|
# win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EQG4vStF7ApBsN2TDm5AjGQBiU0iFbZZiz91UqGeHKX9FA?e=QOQky2&download=1" -O C:\Unicleo-GUI_Setup.exe
|
||||||
# http_agent: Wget/1.21.3
|
# args:
|
||||||
# url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EQG4vStF7ApBsN2TDm5AjGQBiU0iFbZZiz91UqGeHKX9FA?e=QOQky2?download=1
|
# creates: C:\Unicleo-GUI_Setup.exe
|
||||||
# dest: C:\Unicleo-GUI_Setup.exe
|
# #win_get_url:
|
||||||
#register: download
|
# # follow_redirects: all
|
||||||
|
# # http_agent: Wget/1.21.3
|
||||||
|
# # url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EQG4vStF7ApBsN2TDm5AjGQBiU0iFbZZiz91UqGeHKX9FA?e=QOQky2?download=1
|
||||||
|
# # dest: C:\Unicleo-GUI_Setup.exe
|
||||||
|
# #register: download
|
||||||
|
|
||||||
- name: Install UnicleoGUI
|
# - name: Install UnicleoGUI
|
||||||
win_package:
|
# win_package:
|
||||||
path: C:\Unicleo-GUI_Setup.exe
|
# path: C:\Unicleo-GUI_Setup.exe
|
||||||
# path: "{{ download.dest }}"
|
# # path: "{{ download.dest }}"
|
||||||
arguments: /Verysilent /AllUsers
|
# arguments: /Verysilent /AllUsers
|
||||||
|
|
||||||
- name: Remove temporary files
|
# - name: Remove temporary files
|
||||||
win_file:
|
# win_file:
|
||||||
path: C:\Unicleo-GUI_Setup.exe
|
# path: C:\Unicleo-GUI_Setup.exe
|
||||||
# path: "{{ download.dest }}"
|
# # path: "{{ download.dest }}"
|
||||||
state: absent
|
# state: absent
|
||||||
|
|
||||||
|
|
||||||
|
|
4
roles/streamlit/tasks/main.yml
Normal file
4
roles/streamlit/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- import_tasks: main_win.yml
|
||||||
|
when: ansible_os_family == 'Windows'
|
||||||
|
- import_tasks: main_lin.yml
|
||||||
|
when: ansible_os_family == 'Debian'
|
4
roles/streamlit/tasks/main_lin.yml
Normal file
4
roles/streamlit/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
- name: Install streamlit
|
||||||
|
pip:
|
||||||
|
executable: pipx
|
||||||
|
name: streamlit
|
2
roles/streamlit/tasks/main_win.yml
Normal file
2
roles/streamlit/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
- name: Install streamlit
|
||||||
|
win_command: pip install streamlit
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue