debian_codename 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/debian_codename.rb +90 -0
- metadata +46 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 78b5e4e8d7b141d02e8986d7c7f6ced3a07a1c9dd8bd8f6fe75dcb96e892f74d
|
4
|
+
data.tar.gz: c7cc6214ce8b243c32dfb2a1251b0a2497a03b754743858dee2271847cd69e37
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d3dcb7ebd8093be1954581c4c1c261cc2f069f2f919faa92d401e26935f74125c24aa33d292c0eb9459bd1e30fe4d2dddfee48714c2fcad81324b44afd523152
|
7
|
+
data.tar.gz: cbb9184b43e25989750f542692e027037ab087250b269e58d9825e6d6a98627ca9a133bef8ebc078ec91b9b4a9b70041cda66a68397f170b1c8116dfd9531269
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DebianCodename
|
4
|
+
class DebianCodenameError < StandardError; end
|
5
|
+
|
6
|
+
# Codenames need to be all lower case
|
7
|
+
|
8
|
+
# https://wiki.debian.org/DebianReleases#Production_Releases
|
9
|
+
DEBIAN_CODENAMES = {
|
10
|
+
'14' => %w[forky],
|
11
|
+
'13' => %w[trixie],
|
12
|
+
'12' => %w[bookworm],
|
13
|
+
'11' => %w[bullseye],
|
14
|
+
'10' => %w[buster],
|
15
|
+
'9' => %w[stretch],
|
16
|
+
'8' => %w[jessie],
|
17
|
+
'7' => %w[wheezy],
|
18
|
+
'6.0' => %w[squeeze],
|
19
|
+
'5.0' => %w[lenny],
|
20
|
+
'4.0' => %w[etch],
|
21
|
+
'3.1' => %w[sarge],
|
22
|
+
'3.0' => %w[woody],
|
23
|
+
'2.2' => %w[potato],
|
24
|
+
'2.1' => %w[slink],
|
25
|
+
'2.0' => %w[hamm],
|
26
|
+
'1.3' => %w[bo],
|
27
|
+
'1.2' => %w[rex],
|
28
|
+
'1.1' => %w[buzz]
|
29
|
+
}.freeze
|
30
|
+
|
31
|
+
# https://wiki.ubuntu.com/DevelopmentCodeNames
|
32
|
+
# https://wiki.ubuntu.com/Releases
|
33
|
+
# Codename nouns ignored here at the moment but kept for consistency and possible future
|
34
|
+
# improvements
|
35
|
+
UBUNTU_CODENAMES = {
|
36
|
+
'23.04' => %w[lunar lobster],
|
37
|
+
'22.10' => %w[kinetic kudu],
|
38
|
+
'22.04' => %w[jammy jellyfish],
|
39
|
+
'20.10' => %w[groovy gorilla],
|
40
|
+
'20.04' => %w[focal fossa],
|
41
|
+
'19.10' => %w[eoan ermine],
|
42
|
+
'19.04' => %w[disco dingo],
|
43
|
+
'18.10' => %w[cosmic cuttlefish],
|
44
|
+
'18.04' => %w[bionic beaver],
|
45
|
+
'17.10' => %w[artful aardvark],
|
46
|
+
'17.04' => %w[zesty zapus],
|
47
|
+
'16.10' => %w[yakkety yak],
|
48
|
+
'16.04' => %w[xenial xerus],
|
49
|
+
'15.10' => %w[wily werewolf],
|
50
|
+
'15.04' => %w[vivid vervet],
|
51
|
+
'14.10' => %w[utopic unicorn],
|
52
|
+
'14.04' => %w[trusty tahr],
|
53
|
+
'13.10' => %w[saucy salamander],
|
54
|
+
'13.05' => %w[raring ringtail],
|
55
|
+
'12.10' => %w[quantal quetzal],
|
56
|
+
'12.04' => %w[precise pangolin],
|
57
|
+
'11.10' => %w[oneiric ocelot],
|
58
|
+
'11.04' => %w[natty narwhal],
|
59
|
+
'10.10' => %w[maverick meerkat],
|
60
|
+
'10.04' => %w[lucid lynx],
|
61
|
+
'9.10' => %w[karmic koala],
|
62
|
+
'9.04' => %w[jaunty jackalope],
|
63
|
+
'8.10' => %w[intrepid ibex],
|
64
|
+
'8.04' => %w[hardy heron],
|
65
|
+
'7.10' => %w[gutsy gibbon],
|
66
|
+
'7.04' => %w[feisty fawn],
|
67
|
+
'6.10' => %w[edgy eft],
|
68
|
+
'6.06' => %w[dapper drake],
|
69
|
+
'5.10' => %w[breezy badger],
|
70
|
+
'5.04' => %w[hoary hedgehog],
|
71
|
+
'4.10' => %w[warty warthog]
|
72
|
+
}.freeze
|
73
|
+
|
74
|
+
module_function
|
75
|
+
|
76
|
+
# Whether version number or codename is the user_search_string, return the matching
|
77
|
+
# item.
|
78
|
+
def fast_find(user_search_string)
|
79
|
+
search_string = user_search_string.downcase
|
80
|
+
|
81
|
+
[DEBIAN_CODENAMES, UBUNTU_CODENAMES].each do |code_catalog|
|
82
|
+
return code_catalog[search_string][0] if code_catalog.key?(search_string)
|
83
|
+
|
84
|
+
key = code_catalog.find { |_key, value| value[0] == search_string }
|
85
|
+
return key.first unless key.nil?
|
86
|
+
end
|
87
|
+
|
88
|
+
raise DebianCodenameError, "No match for #{user_search_string}"
|
89
|
+
end
|
90
|
+
end
|
metadata
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: debian_codename
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Puppet Release Engineering
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-01-05 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Convert Debian/Ubuntu codenames to version numbers and vice-versa
|
14
|
+
email:
|
15
|
+
- release@puppet.com
|
16
|
+
executables: []
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- lib/debian_codename.rb
|
21
|
+
homepage: https://github.com/puppetlabs/debian_codename
|
22
|
+
licenses: []
|
23
|
+
metadata:
|
24
|
+
homepage_uri: https://github.com/puppetlabs/debian_codename
|
25
|
+
source_code_uri: https://github.com/puppetlabs/debian_codename
|
26
|
+
changelog_uri: https://github.com/puppetlabs/debian_codename/CHANGELOG.md
|
27
|
+
post_install_message:
|
28
|
+
rdoc_options: []
|
29
|
+
require_paths:
|
30
|
+
- lib
|
31
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: 2.4.0
|
36
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
requirements: []
|
42
|
+
rubygems_version: 3.0.3
|
43
|
+
signing_key:
|
44
|
+
specification_version: 4
|
45
|
+
summary: Convert Debian/Ubuntu codenames to version numbers and vice-versa
|
46
|
+
test_files: []
|