From fa55761714ca934c31fde8fbc66047aa29edc4a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20S=C3=89RIE?= Date: Wed, 20 Sep 2017 11:29:54 +0200 Subject: [PATCH 1/5] Add support for PHP 7.1 using sury repository. See the documentation: https://wiki.evolix.org/HowtoPHP#php-7.1-avec-deb.sury.org --- php/defaults/main.yml | 1 + php/handlers/main.yml | 4 ++++ php/tasks/main.yml | 3 +++ php/tasks/php_stretch_sury.yml | 24 ++++++++++++++++++++++++ 4 files changed, 32 insertions(+) create mode 100644 php/tasks/php_stretch_sury.yml diff --git a/php/defaults/main.yml b/php/defaults/main.yml index ca243024..d12014b2 100644 --- a/php/defaults/main.yml +++ b/php/defaults/main.yml @@ -1,5 +1,6 @@ --- +php_sury_enable: False php_fpm_enable: False php_apache_enable: False php_symfony_requirements: False diff --git a/php/handlers/main.yml b/php/handlers/main.yml index 31c87470..641154c8 100644 --- a/php/handlers/main.yml +++ b/php/handlers/main.yml @@ -3,3 +3,7 @@ service: name: php-fpm state: restarted + +- name: apt update + apt: + update_cache: yes diff --git a/php/tasks/main.yml b/php/tasks/main.yml index 7ea4269c..9b1d3375 100644 --- a/php/tasks/main.yml +++ b/php/tasks/main.yml @@ -8,6 +8,9 @@ - include: php_jessie.yml when: ansible_distribution_release == "jessie" +- include: php_stretch_sury.yml + when: ansible_distribution_major_version | version_compare('9', '>=') and php_sury_enable + - include: php_stretch.yml when: ansible_distribution_major_version | version_compare('9', '>=') diff --git a/php/tasks/php_stretch_sury.yml b/php/tasks/php_stretch_sury.yml new file mode 100644 index 00000000..56a3ac3c --- /dev/null +++ b/php/tasks/php_stretch_sury.yml @@ -0,0 +1,24 @@ +--- + +- name: Setup deb.sury.org repository - Add GPG key + get_url: + url: https://packages.sury.org/php/apt.gpg + dest: /etc/apt/trusted.gpg.d/php71-sury.gpg + mode: "0644" + +- name: Setup deb.sury.org repository - Install apt-transport-https + apt: + state: present + name: apt-transport-https + +- name: Setup deb.sury.org repository - Add source list + copy: + dest: /etc/apt/sources.list.d/php71-sury.list + force: no + mode: "0600" + content: | + deb https://packages.sury.org/php/ stretch main + notify: apt update + +- name: Intermediate flush of handlers + meta: flush_handlers From 21f85e4e84afec94e1eef7c34397c2b320d974e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20S=C3=89RIE?= Date: Wed, 20 Sep 2017 14:17:02 +0200 Subject: [PATCH 2/5] Use apt_repository and rename source list to sury.list --- php/tasks/php_stretch_sury.yml | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/php/tasks/php_stretch_sury.yml b/php/tasks/php_stretch_sury.yml index 56a3ac3c..9ac58421 100644 --- a/php/tasks/php_stretch_sury.yml +++ b/php/tasks/php_stretch_sury.yml @@ -3,7 +3,7 @@ - name: Setup deb.sury.org repository - Add GPG key get_url: url: https://packages.sury.org/php/apt.gpg - dest: /etc/apt/trusted.gpg.d/php71-sury.gpg + dest: /etc/apt/trusted.gpg.d/sury.gpg mode: "0644" - name: Setup deb.sury.org repository - Install apt-transport-https @@ -12,13 +12,7 @@ name: apt-transport-https - name: Setup deb.sury.org repository - Add source list - copy: - dest: /etc/apt/sources.list.d/php71-sury.list - force: no - mode: "0600" - content: | - deb https://packages.sury.org/php/ stretch main - notify: apt update - -- name: Intermediate flush of handlers - meta: flush_handlers + apt_repository: + repo: "deb https://packages.sury.org/php/ stretch main" + filename: sury + state: present From cbe40162d9482964e4e4a5a0f08bb875f75e901b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20S=C3=89RIE?= Date: Wed, 20 Sep 2017 14:19:30 +0200 Subject: [PATCH 3/5] Remove useless apt update handler --- php/handlers/main.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/php/handlers/main.yml b/php/handlers/main.yml index 641154c8..31c87470 100644 --- a/php/handlers/main.yml +++ b/php/handlers/main.yml @@ -3,7 +3,3 @@ service: name: php-fpm state: restarted - -- name: apt update - apt: - update_cache: yes From e2ed9e4be8e61c26ea23a56a79b0776ea42d0269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20S=C3=89RIE?= Date: Wed, 20 Sep 2017 14:33:22 +0200 Subject: [PATCH 4/5] Add preferences file to pin php7.1 packages --- php/files/sury.preferences | 7 +++++++ php/tasks/php_stretch_sury.yml | 5 +++++ 2 files changed, 12 insertions(+) create mode 100644 php/files/sury.preferences diff --git a/php/files/sury.preferences b/php/files/sury.preferences new file mode 100644 index 00000000..95b28e3d --- /dev/null +++ b/php/files/sury.preferences @@ -0,0 +1,7 @@ +Package: php7.1* libapache2-mod-php7.1 +Pin: origin packages.sury.org +Pin-Priority: 999 + +Package: * +Pin: origin packages.sury.org +Pin-Priority: 50 diff --git a/php/tasks/php_stretch_sury.yml b/php/tasks/php_stretch_sury.yml index 9ac58421..be549804 100644 --- a/php/tasks/php_stretch_sury.yml +++ b/php/tasks/php_stretch_sury.yml @@ -11,6 +11,11 @@ state: present name: apt-transport-https +- name: Setup deb.sury.org repository - Add preferences file + copy: + src: sury.preferences + dest: /etc/apt/preferences.d/z-sury + - name: Setup deb.sury.org repository - Add source list apt_repository: repo: "deb https://packages.sury.org/php/ stretch main" From 741993719661ab05008de074e89cf39b0e2920a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20S=C3=89RIE?= Date: Wed, 20 Sep 2017 15:06:15 +0200 Subject: [PATCH 5/5] Force pining to php* Why? Because we have some meta-packages like php which redirect to php7.0 or php7.1. With this, all php packages will be 7.1 (default from sury). --- php/files/sury.preferences | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/php/files/sury.preferences b/php/files/sury.preferences index 95b28e3d..9c644b5d 100644 --- a/php/files/sury.preferences +++ b/php/files/sury.preferences @@ -1,4 +1,4 @@ -Package: php7.1* libapache2-mod-php7.1 +Package: php* libapache2-mod-php* Pin: origin packages.sury.org Pin-Priority: 999