-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Use correct PHP version for Debian Bullseye #2181
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
apache::params is a classBreaking changes to this file WILL impact these 16 modules (exact match):Breaking changes to this file MAY impact these 11 modules (near match):This module is declared in 175 of 578 indexed public
|
There is already support for Bullseye in the latest git commit. See #2180. However, it's unreleased right now so please use a git version until there is a release. If you do have issues with that commit included, please let us know. |
tl;dr `$::operatingsystemrelease` is different from `$::operatingsystemmajrelease`. `$::operatingsystemmajrelease` returns '11.0' on Debian 11, whereas `$::operatingsystemmajrelease` is `11`. In addition `versioncmp()` says that `'11.0'` is greater than `11`. Without this change, the module sets the default PHP version on Debian 11 to 7.2, but the actual default in Debian is 7.4: * https://packages.debian.org/bullseye/php The 7.2 currently comes from the default entry in the selector statement: * https://github.com/puppetlabs/puppetlabs-apache/blob/main/manifests/params.pp#L401 To test: ```puppet notify { "operatingsystemrelease compared to 11: ${versioncmp($::operatingsystemrelease, '11')}":} notify { "operatingsystemmajrelease compared to 11: ${versioncmp($::operatingsystemmajrelease, '11')}":} notify { "operatingsystemrelease: ${::operatingsystemrelease}":} notify { "operatingsystemmajrelease: ${::operatingsystemmajrelease}":} ``` which produces: ```terminal puppet apply test.pp Notice: Compiled catalog for blal in environment production in 0.02 seconds Notice: operatingsystemrelease compared to 11: 1 Notice: /Stage[main]/Main/Notify[operatingsystemrelease compared to 11: 1]/message: defined 'message' as 'operatingsystemrelease compared to 11: 1' Notice: operatingsystemmajrelease compared to 11: 0 Notice: /Stage[main]/Main/Notify[operatingsystemmajrelease compared to 11: 0]/message: defined 'message' as 'operatingsystemmajrelease compared to 11: 0' Notice: operatingsystemrelease: 11.0 Notice: /Stage[main]/Main/Notify[operatingsystemrelease: 11.0]/message: defined 'message' as 'operatingsystemrelease: 11.0' Notice: operatingsystemmajrelease: 11.0 Notice: /Stage[main]/Main/Notify[operatingsystemmajrelease: 11.0]/message: defined 'message' as 'operatingsystemmajrelease: 11' Notice: Applied catalog in 0.01 seconds ``` ```terminal :~> facter operatingsystemmajrelease 11 :~> facter operatingsystemrelease 11.0 ``` The spec tests are copied from puppetlabs#2181 Co-authored-by: Kienan Stewart <kienan.stewart@burntworld.ca>
tl;dr `$::operatingsystemrelease` is different from `$::operatingsystemmajrelease`. `$::operatingsystemmajrelease` returns '11.0' on Debian 11, whereas `$::operatingsystemmajrelease` is `11`. In addition `versioncmp()` says that `'11.0'` is greater than `11`. Without this change, the module sets the default PHP version on Debian 11 to 7.2, but the actual default in Debian is 7.4: * https://packages.debian.org/bullseye/php The 7.2 currently comes from the default entry in the selector statement: * https://github.com/puppetlabs/puppetlabs-apache/blob/main/manifests/params.pp#L401 To test: ```puppet notify { "operatingsystemrelease compared to 11: ${versioncmp($::operatingsystemrelease, '11')}":} notify { "operatingsystemmajrelease compared to 11: ${versioncmp($::operatingsystemmajrelease, '11')}":} notify { "operatingsystemrelease: ${::operatingsystemrelease}":} notify { "operatingsystemmajrelease: ${::operatingsystemmajrelease}":} ``` which produces: ```terminal puppet apply test.pp Notice: Compiled catalog for blal in environment production in 0.02 seconds Notice: operatingsystemrelease compared to 11: 1 Notice: /Stage[main]/Main/Notify[operatingsystemrelease compared to 11: 1]/message: defined 'message' as 'operatingsystemrelease compared to 11: 1' Notice: operatingsystemmajrelease compared to 11: 0 Notice: /Stage[main]/Main/Notify[operatingsystemmajrelease compared to 11: 0]/message: defined 'message' as 'operatingsystemmajrelease compared to 11: 0' Notice: operatingsystemrelease: 11.0 Notice: /Stage[main]/Main/Notify[operatingsystemrelease: 11.0]/message: defined 'message' as 'operatingsystemrelease: 11.0' Notice: operatingsystemmajrelease: 11.0 Notice: /Stage[main]/Main/Notify[operatingsystemmajrelease: 11.0]/message: defined 'message' as 'operatingsystemmajrelease: 11' Notice: Applied catalog in 0.01 seconds ``` ```terminal :~> facter operatingsystemmajrelease 11 :~> facter operatingsystemrelease 11.0 ``` The spec tests are copied from #2181 Co-authored-by: Kienan Stewart <kienan.stewart@burntworld.ca>
tl;dr `$::operatingsystemrelease` is different from `$::operatingsystemmajrelease`. `$::operatingsystemmajrelease` returns '11.0' on Debian 11, whereas `$::operatingsystemmajrelease` is `11`. In addition `versioncmp()` says that `'11.0'` is greater than `11`. Without this change, the module sets the default PHP version on Debian 11 to 7.2, but the actual default in Debian is 7.4: * https://packages.debian.org/bullseye/php The 7.2 currently comes from the default entry in the selector statement: * https://github.com/puppetlabs/puppetlabs-apache/blob/main/manifests/params.pp#L401 To test: ```puppet notify { "operatingsystemrelease compared to 11: ${versioncmp($::operatingsystemrelease, '11')}":} notify { "operatingsystemmajrelease compared to 11: ${versioncmp($::operatingsystemmajrelease, '11')}":} notify { "operatingsystemrelease: ${::operatingsystemrelease}":} notify { "operatingsystemmajrelease: ${::operatingsystemmajrelease}":} ``` which produces: ```terminal puppet apply test.pp Notice: Compiled catalog for blal in environment production in 0.02 seconds Notice: operatingsystemrelease compared to 11: 1 Notice: /Stage[main]/Main/Notify[operatingsystemrelease compared to 11: 1]/message: defined 'message' as 'operatingsystemrelease compared to 11: 1' Notice: operatingsystemmajrelease compared to 11: 0 Notice: /Stage[main]/Main/Notify[operatingsystemmajrelease compared to 11: 0]/message: defined 'message' as 'operatingsystemmajrelease compared to 11: 0' Notice: operatingsystemrelease: 11.0 Notice: /Stage[main]/Main/Notify[operatingsystemrelease: 11.0]/message: defined 'message' as 'operatingsystemrelease: 11.0' Notice: operatingsystemmajrelease: 11.0 Notice: /Stage[main]/Main/Notify[operatingsystemmajrelease: 11.0]/message: defined 'message' as 'operatingsystemmajrelease: 11' Notice: Applied catalog in 0.01 seconds ``` ```terminal :~> facter operatingsystemmajrelease 11 :~> facter operatingsystemrelease 11.0 ``` The spec tests are copied from puppetlabs#2181 Co-authored-by: Kienan Stewart <kienan.stewart@burntworld.ca>
Debian Bullseye uses PHP 7.4 by default. Without adding it in params.pp, PHP 7.2 is used and will fail to install.