From 989e34e9733dd72647b431e3bdb3ad0cd42ee5e8 Mon Sep 17 00:00:00 2001
From: jurgenhaas <juergen@paragon-es.de>
Date: Mon, 25 Jul 2016 16:07:28 +0200
Subject: [PATCH] Improve PHP53 installation

---
 defaults/main.yml |  3 ++-
 tasks/php.yml     | 10 ++++++++++
 tasks/php53.yml   | 37 +++++++++++++++++++++++++++----------
 3 files changed, 39 insertions(+), 11 deletions(-)

diff --git a/defaults/main.yml b/defaults/main.yml
index 0675523..9133e1d 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -1,4 +1,5 @@
 php_install_redis: true
+php_hold_version: false
 php_repositories: []
 php_packages:
   - php-apc
@@ -6,11 +7,11 @@ php_packages:
   - php-soap
   - php5
   - php5-cgi
+  - php5-cli
   - php5-curl
   - php5-dev
   - php5-fpm
   - php5-gd
-  - php5-imagick
   - php5-imap
   - php5-mcrypt
   - php5-mysql
diff --git a/tasks/php.yml b/tasks/php.yml
index 6076c43..c21f4fd 100644
--- a/tasks/php.yml
+++ b/tasks/php.yml
@@ -12,12 +12,22 @@
   apt:
     pkg={{ item }}
     state=installed
+    force=yes
   with_items: '{{ php_packages }}'
   notify:
     - "Apache | Restart Apache"
 
+- name: "PHP | Hold em all"
+  shell: dpkg --get-selections | grep ^php | sed s/install/hold/g | sudo dpkg --set-selections
+  when: php_hold_version
+
+- name: "PHP | Install PECL packages"
+  shell: 'pecl install imagick-3.3.0'
+  when: php_version|default('5.5') != '7'
+
 - name: "PHP | Install PECL packages"
   shell: 'pecl install oauth'
+  when: php_version|default('5.5') == '7'
 
 - name: "PHP | Ensure Apache config directory"
   file:
diff --git a/tasks/php53.yml b/tasks/php53.yml
index 7e0caf4..e575cc1 100644
--- a/tasks/php53.yml
+++ b/tasks/php53.yml
@@ -32,27 +32,44 @@
       pkg={{ item }}
       state=installed
     with_items:
+      - 'autoconf2.13'
+      - 'automake1.4'
       - 'build-essential'
+      - 'libc-client2007e'
+      - 'libc-client2007e-dev'
+      - 'libcurl4-openssl-dev'
       - 'libfcgi-dev'
       - 'libfcgi0ldbl'
+      - 'libfreetype6-dev'
+      - 'libgif-dev'
+      - 'libgif4'
+      - 'libjpeg-progs'
       - 'libjpeg62-dbg'
+      - 'libjpeg8'
+      - 'libjpeg8-dev'
       - 'libmcrypt-dev'
+      - 'libmysqlclient-dev'
+      - 'libpcre++-dev'
+      - 'libpcre3-dev'
+      - 'libpng-dev'
       - 'libssl-dev'
-      - 'libc-client2007e'
-      - 'libc-client2007e-dev'
+      - 'libx11-dev'
+      - 'libxau-dev'
+      - 'libxcb1-dev'
+      - 'libxdmcp-dev'
       - 'libxml2-dev'
-      - 'libcurl4-openssl-dev'
-      - 'libpng-dev'
-      - 'libjpeg-progs'
-      - 'autoconf2.13'
-      - 'automake1.4'
+      - 'libxml2-dev'
+      - 'libxpm-dev'
+      - 'x11proto-core-dev'
+      - 'x11proto-input-dev'
+      - 'x11proto-kb-dev'
+      - 'xtrans-dev'
 
   - name: "Link Client Lib"
     file:
-      src='/usr/lib/x86_64-linux-gnu/libc-client.a'
-      dest='/usr/lib/libc-client.a'
+      src='/usr/lib/libc-client.a'
+      dest='/usr/lib/x86_64-linux-gnu/libc-client.a'
       state='link'
-      force=yes
 
   - name: "Make sure an empty directory /tmp/php53 exists"
     file:
-- 
GitLab