* Automated using https://github.com/myii/ssf-formula/pull/288tags/v1.2.0
@@ -13,9 +13,10 @@ The `system` library provides easy access to system dependent information: | |||
- `system.platform`: based on `inspec.platform`, modify to values that are more consistent from a SaltStack perspective | |||
- `system.platform[:family]` provide a family name for Arch and Gentoo | |||
- `system.platform[:name]` append `linux` to both `amazon` and `oracle`; ensure Windows platforms are resolved as simply `windows` | |||
- `system.platform[:release]` tweak Arch, Amazon Linux, Gentoo and Windows: | |||
- `system.platform[:release]` tweak Arch, Amazon Linux, Gentoo, openSUSE and Windows: | |||
- `Arch` is always `base-latest` | |||
- `Amazon Linux` release `2018` is resolved as `1` | |||
- `Gentoo` release is trimmed to its major version number and then the init system is appended (i.e. `sysv` or `sysd`) | |||
- `openSUSE` is resolved as `tumbleweed` if the `platform[:release]` is in date format | |||
- `Windows` uses the widely-used release number (e.g. `8.1` or `2019-server`) in place of the actual system release version | |||
- `system.platform[:finger]` is the concatenation of the name and the major release number (except for Ubuntu, which gives `ubuntu-20.04` for example) |
@@ -45,7 +45,7 @@ class SystemResource < Inspec.resource(1) | |||
end | |||
end | |||
# rubocop:disable Metrics/MethodLength | |||
# rubocop:disable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity | |||
def build_platform_release | |||
case inspec.platform[:name] | |||
when 'amazon' | |||
@@ -55,6 +55,10 @@ class SystemResource < Inspec.resource(1) | |||
'base-latest' | |||
when 'gentoo' | |||
"#{inspec.platform[:release].split('.')[0]}-#{derive_gentoo_init_system}" | |||
when 'opensuse' | |||
# rubocop:disable Style/NumericLiterals,Layout/LineLength | |||
inspec.platform[:release].to_i > 20210101 ? 'tumbleweed' : inspec.platform[:release] | |||
# rubocop:enable Style/NumericLiterals,Layout/LineLength | |||
when 'windows_8.1_pro' | |||
'8.1' | |||
when 'windows_server_2019_datacenter' | |||
@@ -63,15 +67,10 @@ class SystemResource < Inspec.resource(1) | |||
inspec.platform[:release] | |||
end | |||
end | |||
# rubocop:enable Metrics/MethodLength | |||
# rubocop:enable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity | |||
def derive_gentoo_init_system | |||
case inspec.command('systemctl').exist? | |||
when true | |||
'sysd' | |||
else | |||
'sysv' | |||
end | |||
inspec.command('systemctl').exist? ? 'sysd' : 'sysv' | |||
end | |||
def build_platform_finger |