-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Debian 11: fix typo in versioncmp()
/ set default php to 7.4
#2186
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
|
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 <[email protected]>
7e7fbf6
to
367231e
Compare
I also raised a ticket about the versioncmp behaviour: https://tickets.puppetlabs.com/browse/PUP-11235 |
Co-authored-by: Ewoud Kohl van Wijngaarden <[email protected]>
tl;dr
$::operatingsystemrelease
is different from$::operatingsystemmajrelease
.$::operatingsystemmajrelease
returns'11.0' on Debian 11, whereas
$::operatingsystemmajrelease
is11
.In addition
versioncmp()
says that'11.0'
is greater than11
.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:
The 7.2 currently comes from the default entry in the selector
statement:
To test:
which produces:
The spec tests are copied from #2181
Co-authored-by: Kienan Stewart [email protected]