Install libs7comm
authorKristof Provost <kp@FreeBSD.org>
Wed, 17 Apr 2024 17:47:30 +0000 (19:47 +0200)
committerKristof Provost <kp@FreeBSD.org>
Wed, 17 Apr 2024 19:29:33 +0000 (21:29 +0200)
Split up the tasks into separate yaml files, for easier testing of individual
tasks while we're here.

ansible/homeassistant.yaml [new file with mode: 0644]
ansible/libs7comm.yaml [new file with mode: 0644]
ansible/playbook-push.yaml

diff --git a/ansible/homeassistant.yaml b/ansible/homeassistant.yaml
new file mode 100644 (file)
index 0000000..5eddf35
--- /dev/null
@@ -0,0 +1,59 @@
+- name: homeassistant
+  hosts: domoticamachines
+  tasks:
+    - name: create HA user
+      user:
+        name: "domotica"
+        comment: "Home Assistant"
+        system: yes
+        shell: "/sbin/nologin"
+      become: true
+    - name: create HA directory
+      file:
+        path: "/home/domotica/ha/"
+        state: directory
+        mode: 02775
+        owner: "domotica"
+        group: "domotica"
+      become: true
+
+    - name: install required python modules (pre-install)
+      pip:
+        name: "{{ item }}"
+        extra_args: "--upgrade"
+        virtualenv: "/home/domotica/ha/"
+      with_items:
+        - colorlog
+      become: true
+    - name: install defined version of Home Assistant
+      pip:
+        name: homeassistant
+        version: "2024.2.2"
+        virtualenv: "/home/domotica/ha/"
+      when: ha_version is defined
+      become: true
+    - name: install latest version of Home Assistant
+      pip:
+        name: homeassistant
+        extra_args: "--upgrade"
+        virtualenv: "/home/domotica/ha/"
+      when: ha_version is undefined
+      become: true
+    - name: install homeassistant startup script
+      template:
+        src: homeassistant
+        dest: "/usr/local/etc/rc.d/homeassistant"
+        owner: root
+        group: wheel
+        mode: 0755
+      become: true
+    - name: start home assistant
+      community.general.sysrc:
+        name: homeassistant_enable
+        value: "YES"
+      become: true
+    - name: Start homeassistant
+      ansible.builtin.service:
+        name:  homeassistant
+        state: started
+      become: true
diff --git a/ansible/libs7comm.yaml b/ansible/libs7comm.yaml
new file mode 100644 (file)
index 0000000..224381d
--- /dev/null
@@ -0,0 +1,33 @@
+- name: Install libs7comm.so
+  hosts: domoticamachines
+  tasks:
+    - name: Install git
+      community.general.pkgng:
+        name: git
+        state: present
+      become: true
+    - name: Install gmake
+      community.general.pkgng:
+        name: gmake
+        state: present
+      become: true
+    - name: Git checkout
+      ansible.builtin.git:
+        repo: 'https://github.com/kprovost/libs7comm.git'
+        dest: /home/kp/libs7comm
+    - name: Build libs7comm
+      ansible.builtin.command:
+        cmd: /usr/local/bin/gmake -C /home/kp/libs7comm/src CC=cc LD=cc CXX=c++ s7get/s7get
+        creates: /home/kp/libs7comm/src/s7get/s7get
+    - name: Install libs7comm.so.0.0.1
+      ansible.builtin.copy:
+        src: /home/kp/libs7comm/src/lib/libs7comm.so.0.0.1
+        dest: /usr/local/lib/libs7comm.so.0.0.1
+        remote_src: yes
+      become: true
+    - name: Install libs7comm.so.0.0
+      ansible.builtin.file:
+        src: libs7comm.so.0.0.1
+        dest: /usr/local/lib/libs7comm.so.0.0
+        state: link
+      become: true
index aa97b9e..49ff304 100644 (file)
@@ -1,59 +1,4 @@
-- name: Install packages
-  hosts: domoticamachines
-  tasks:
-    - name: create HA user
-      user:
-        name: "domotica"
-        comment: "Home Assistant"
-        system: yes
-        shell: "/sbin/nologin"
-      become: true
-    - name: create HA directory
-      file:
-        path: "/home/domotica/ha/"
-        state: directory
-        mode: 02775
-        owner: "domotica"
-        group: "domotica"
-      become: true
-
-    - name: install required python modules (pre-install)
-      pip:
-        name: "{{ item }}"
-        extra_args: "--upgrade"
-        virtualenv: "/home/domotica/ha/"
-      with_items:
-        - colorlog
-      become: true
-    - name: install defined version of Home Assistant
-      pip:
-        name: homeassistant
-        version: "2024.2.2"
-        virtualenv: "/home/domotica/ha/"
-      when: ha_version is defined
-      become: true
-    - name: install latest version of Home Assistant
-      pip:
-        name: homeassistant
-        extra_args: "--upgrade"
-        virtualenv: "/home/domotica/ha/"
-      when: ha_version is undefined
-      become: true
-    - name: install homeassistant startup script
-      template:
-        src: homeassistant
-        dest: "/usr/local/etc/rc.d/homeassistant"
-        owner: root
-        group: wheel
-        mode: 0755
-      become: true
-    - name: start home assistant
-      community.general.sysrc:
-        name: homeassistant_enable
-        value: "YES"
-      become: true
-    - name: Start homeassistant
-      ansible.builtin.service:
-        name:  homeassistant
-        state: started
-      become: true
+- name: homeassistant
+  import_playbook: homeassistant.yaml
+- name: libs7comm
+  import_playbook: libs7comm.yaml