Skip to content

Commit 2b85d85

Browse files
committed
Fix OS detection for Gentoo now that they changed to single-quotes in /etc/os-release
Signed-off-by: Anthony Ryan <anthonyryan1@gmail.com>
1 parent 38e0a6e commit 2b85d85

3 files changed

Lines changed: 37 additions & 1 deletion

File tree

lib/facter/resolvers/os_release.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def read_and_parse_os_release_file
4949

5050
pairs = []
5151
content.each do |line|
52-
pairs << line.strip.delete('"').split('=', 2) unless line.start_with?('#')
52+
pairs << line.strip.delete(%q('")).split('=', 2) unless line.start_with?('#')
5353
end
5454

5555
pairs

spec/facter/resolvers/os_release_spec.rb

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,4 +189,32 @@
189189
expect(result).to eq('VirtuozzoLinux')
190190
end
191191
end
192+
193+
context 'when on Gentoo with single-quoted values' do
194+
let(:os_release_content) { load_fixture('os_release_gentoo').readlines }
195+
196+
it 'returns os NAME' do
197+
result = Facter::Resolvers::OsRelease.resolve(:name)
198+
199+
expect(result).to eq('Gentoo')
200+
end
201+
202+
it 'returns os PRETTY_NAME' do
203+
result = Facter::Resolvers::OsRelease.resolve(:pretty_name)
204+
205+
expect(result).to eq('Gentoo Linux')
206+
end
207+
208+
it 'returns os VERSION_ID' do
209+
result = Facter::Resolvers::OsRelease.resolve(:version_id)
210+
211+
expect(result).to eq('2.15')
212+
end
213+
214+
it 'returns os id' do
215+
result = Facter::Resolvers::OsRelease.resolve(:id)
216+
217+
expect(result).to eq('gentoo')
218+
end
219+
end
192220
end

spec/fixtures/os_release_gentoo

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
NAME='Gentoo'
2+
ID=gentoo
3+
PRETTY_NAME='Gentoo Linux'
4+
ANSI_COLOR='1;32'
5+
HOME_URL='https://www.gentoo.org/'
6+
SUPPORT_URL='https://www.gentoo.org/support/'
7+
BUG_REPORT_URL='https://bugs.gentoo.org/'
8+
VERSION_ID='2.15'

0 commit comments

Comments
 (0)