From b2252dabe5cbe50238b46dd9f203cc947fd797d8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Sachse?= <Joerg.Sachse@slub-dresden.de>
Date: Tue, 30 Mar 2021 18:20:55 +0200
Subject: [PATCH] feat: compile the binaries on the managed system itself and
 install them to the correct paths

---
 tasks/compile_callas_binaries.yml | 30 ++++++++++++++++++++++++++++++
 tasks/install-converters.yml      |  6 +++---
 tasks/install-validators.yml      |  6 +++---
 tasks/main.yml                    |  8 ++++++--
 4 files changed, 42 insertions(+), 8 deletions(-)
 create mode 100644 tasks/compile_callas_binaries.yml

diff --git a/tasks/compile_callas_binaries.yml b/tasks/compile_callas_binaries.yml
new file mode 100644
index 0000000..37754e2
--- /dev/null
+++ b/tasks/compile_callas_binaries.yml
@@ -0,0 +1,30 @@
+---
+- name: install packages for compilation
+  apt:
+    name: [
+      'g++',
+      'git',
+      'libcgicc-dev',
+      'make',
+    ]
+    state: latest
+
+- name: checkout Git repo
+  copy:
+    src: "/home/sachse/src/pdfa_webservice/"
+    dest: "/opt/pdfa_webservice/"
+
+- name: set symlinks
+  file:
+    state: link
+    src: "/usr/local/lib/callas_pdfEngine_SDK_x64/callas_pdfEngineSDK_x64_Linux_{{ vault_callas_sdk_version }}/{{ item }}"
+    path: "/opt/pdfa_webservice/{{ item }}"
+  loop:
+    - "etc"
+    - "include"
+    - "lang"
+    - "lib"
+    - "var"
+
+- name: compileme
+  shell: 'CXXFLAGS="-std=c++11" make --directory /opt/pdfa_webservice/src/'
diff --git a/tasks/install-converters.yml b/tasks/install-converters.yml
index 58903a7..e29bab3 100644
--- a/tasks/install-converters.yml
+++ b/tasks/install-converters.yml
@@ -1,7 +1,7 @@
 ---
-# cp convert_to_pdfa.bin /usr/lib/cgi-bin/convert_to_pdfa/
-- name: "'pdf_treatment/convert_pdfa.bin' nach '/usr/lib/cgi-bin/convert_to_pdfa' kopieren & umbenennen, Rechte setzen"
+- name: "'convert_pdfa.bin' nach '/usr/lib/cgi-bin/convert_to_pdfa' kopieren & umbenennen, Rechte setzen"
   copy:
-    src: "pdf_treatment/convert_to_pdfa.bin"
+    src: "/opt/pdfa_webservice/src/unix/convert_to_pdfa.bin"
     dest: "/usr/lib/cgi-bin/convert_to"
+    remote_src: true
     mode: "0755"
diff --git a/tasks/install-validators.yml b/tasks/install-validators.yml
index 9e3749c..dad097a 100644
--- a/tasks/install-validators.yml
+++ b/tasks/install-validators.yml
@@ -1,8 +1,8 @@
 ---
 ### INSTALLATION VALIDATOREN ###
-# cp validate_pdfa.bin /usr/lib/cgi-bin/is_valid/
-- name: "'pdf_treatment/validate_pdfa.bin' nach '/usr/lib/cgi-bin/is_valid' kopieren & umbenennen, Rechte setzen"
+- name: "'validate_pdfa.bin' nach '/usr/lib/cgi-bin/is_valid' kopieren & umbenennen, Rechte setzen"
   copy:
-    src: "pdf_treatment/validate_pdfa.bin"
+    src: "/opt/pdfa_webservice/src/unix/validate_pdfa.bin"
     dest: "/usr/lib/cgi-bin/is_valid"
+    remote_src: true
     mode: "0755"
diff --git a/tasks/main.yml b/tasks/main.yml
index 0f8bb04..c6079dc 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -26,8 +26,12 @@
   tags: [apache]
 
 #- name: install Callas PDF Engine SDK
-#import_tasks: install-callas-pdf-engine.yml
-#tags: [callaspdf]
+#  import_tasks: install-callas-pdf-engine.yml
+#  tags: [callaspdf]
+
+- name: compile Callas binaries
+  import_tasks: compile_callas_binaries.yml
+  tags: [callaspdf]
 
 - name: install fonts
   import_tasks: install_fonts.yml
-- 
GitLab