* fix(map.jinja): fix useflags regex
When using version inside useflag, the sls_block macro with ebuildpkg regex result in a range error.
Replacing the version argument with uses seem to work as escapes don't really work there.
fix(map.jinja): replace all problematic lines
fix(map.jinja): update available targets
```
----------
ID: php_install_imagick_dev-php-pecl-imagick
Function: pkg.installed
Name: dev-php/pecl-imagick
Result: False
Comment: An exception occurred in this state: Traceback (most recent call last):
File "/usr/lib64/python3.6/site-packages/salt/state.py", line 1933, in call
**cdata['kwargs'])
File "/usr/lib64/python3.6/site-packages/salt/loader.py", line 1951, in wrapper
return f(*args, **kwargs)
File "/usr/lib64/python3.6/site-packages/salt/states/pkg.py", line 1563, in installed
**kwargs)
File "/usr/lib64/python3.6/site-packages/salt/states/pkg.py", line 651, in _find_install_targets
for name, version in desired.items()
File "/usr/lib64/python3.6/site-packages/salt/states/pkg.py", line 652, in <listcomp>
if not (name in cur_pkgs and (version is None or _fulfills_version_string(cur_pkgs[name], version)))
File "/usr/lib64/python3.6/site-packages/salt/states/pkg.py", line 216, in _fulfills_version_string
fullfills_all = fullfills_all and _fulfills_version_spec([installed_version], operator, version_string, ignore_epoch=ignore_epoch)
File "/usr/lib64/python3.6/site-packages/salt/states/pkg.py", line 234, in _fulfills_version_spec
if (oper == '==' and fnmatch.fnmatch(ver, desired_version)) \
File "/usr/lib64/python3.6/fnmatch.py", line 36, in fnmatch
return fnmatchcase(name, pat)
File "/usr/lib64/python3.6/fnmatch.py", line 70, in fnmatchcase
match = _compile_pattern(pat)
File "/usr/lib64/python3.6/fnmatch.py", line 46, in _compile_pattern
return re.compile(res).match
File "/usr/lib64/python3.6/re.py", line 233, in compile
return _compile(pattern, flags)
File "/usr/lib64/python3.6/re.py", line 301, in _compile
p = sre_compile.compile(pattern, flags)
File "/usr/lib64/python3.6/sre_compile.py", line 562, in compile
p = sre_parse.parse(p, flags)
File "/usr/lib64/python3.6/sre_parse.py", line 855, in parse
p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0)
File "/usr/lib64/python3.6/sre_parse.py", line 416, in _parse_sub
not nested and not items))
File "/usr/lib64/python3.6/sre_parse.py", line 765, in _parse
p = _parse_sub(source, state, sub_verbose, nested + 1)
File "/usr/lib64/python3.6/sre_parse.py", line 416, in _parse_sub
not nested and not items))
File "/usr/lib64/python3.6/sre_parse.py", line 553, in _parse
raise source.error(msg, len(this) + 1 + len(that))
sre_constants.error: bad character range 7-3 at position 20
Started: 14:28:26.927898
Duration: 6321.149 ms
Changes:
```
* Use single-quoting
Signed-off-by: Mark Gomersbach <markgomersbach@gmail.com>
```bash
Examining php/map.jinja of type state
[204] Lines should be no longer that 160 chars
php/map.jinja:25
'build_pkgs': ['libssl-dev', 'libcurl4-openssl-dev', 'pkg-config', 'libsslcommon2-dev', 'gcc', 'make', 'autoconf', 'libc-dev', 'pkg-config'],
[204] Lines should be no longer that 160 chars
php/map.jinja:191
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled',
[204] Lines should be no longer that 160 chars
php/map.jinja:192
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror',
[204] Lines should be no longer that 160 chars
php/map.jinja:520
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled',
[204] Lines should be no longer that 160 chars
php/map.jinja:521
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror',
[204] Lines should be no longer that 160 chars
php/map.jinja:896
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled',
[204] Lines should be no longer that 160 chars
php/map.jinja:897
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror',
[204] Lines should be no longer that 160 chars
php/map.jinja:1270
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled',
[204] Lines should be no longer that 160 chars
php/map.jinja:1271
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror',
[204] Lines should be no longer that 160 chars
php/map.jinja:1644
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled',
[204] Lines should be no longer that 160 chars
php/map.jinja:1645
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror',
[204] Lines should be no longer that 160 chars
php/map.jinja:2035
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled',
[204] Lines should be no longer that 160 chars
php/map.jinja:2036
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror',
[204] Lines should be no longer that 160 chars
php/map.jinja:2206
'build_pkgs': ['libssl-dev', 'libcurl4-openssl-dev', 'pkg-config', 'libsslcommon2-dev', 'gcc', 'make', 'autoconf', 'libc-dev', 'pkg-config'],
[204] Lines should be no longer that 160 chars
php/map.jinja:2375
'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled',
[204] Lines should be no longer that 160 chars
php/map.jinja:2376
'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror',
```
```bash
Examining php/hhvm/repo.sls of type state
[206] Jinja variables should have spaces before and after: {{ var_name }}
php/hhvm/repo.sls:12
- name: deb http://dl.hhvm.com/{{ salt['grains.get']('os')|lower }} {{ salt['grains.get']('oscodename')}} main
```
```bash
Examining php/composer.sls of type state
[210] Numbers that start with `0` should always be encapsulated in quotation marks
php/composer.sls:27
- mode: 0755
```
- Implementation of libtofs on ini macro, pools_config and apache2 mod_php.conf
+ Introduction of tplroot on modified files
+ `{%-` consistency when possible
This fixes the rendering issue:
[CRITICAL] Rendering SLS 'base:php.ng.fpm.config' failed: Jinja variable 'dict object' has no attribute 'user'
When using multiple php versions, this is issued by "{{ php.lookup.fpm.user }}" from php/ng/fpm/config.sls
Add default users in group in the relevant 'fpm' dict from map.jinja
(this is to set owner and group to 'pool.d' directory).
When running on CentOS or RHEL the opcache package under php 5.4
us named php-pecl-zendopcache.
When using a newer PHP version like 5.6, 7.0 or 7.1 the package
is named slightly different though: php-opcache.
Take this into account.
As RHEL and CentOS are both longer-lived enterprise-class operating
systems the software versions are usually lagging a bit behind.
In case one wants the longevity of an Enterprise Linux together with
more modern software the Softwarecollections project exists which
offers amongst others more modern PHP releases.
This commit adds a pillar toggle to use the SCL repo and the ability
to select which php version to install.