11package main
22
33import (
4- "bufio"
54 "builder/installer"
65 "flag"
76 "fmt"
87 "os"
98 "regexp"
10- "strings"
119
1210 "github.com/roemer/gover"
1311)
@@ -45,7 +43,7 @@ func runMain() error {
4543 installer .HandleOverride (downloadUrl , "https://nginx.org" , "nginx-download-url" )
4644
4745 // Fetch the os info
48- osInfo , err := getOsInfo ()
46+ osInfo , err := installer . Tools . System . GetOsInfo ()
4947 if err != nil {
5048 return fmt .Errorf ("failed getting OS info: %w" , err )
5149 }
@@ -66,33 +64,10 @@ func runMain() error {
6664// Implementation
6765//////////
6866
69- type osInfo struct {
70- vendor string
71- codename string
72- }
73-
74- func getOsInfo () (* osInfo , error ) {
75- f , err := os .Open ("/etc/os-release" )
76- if err != nil {
77- return nil , err
78- }
79- defer f .Close ()
80- s := bufio .NewScanner (f )
81- infoMap := map [string ]string {}
82- for s .Scan () {
83- parts := strings .SplitN (s .Text (), "=" , 2 )
84- infoMap [parts [0 ]] = parts [1 ]
85- }
86- return & osInfo {
87- vendor : infoMap ["ID" ],
88- codename : infoMap ["VERSION_CODENAME" ],
89- }, nil
90- }
91-
9267type nginxComponent struct {
9368 * installer.ComponentBase
9469 stableOnly bool
95- osInfo * osInfo
70+ osInfo * installer. OsInfo
9671 downloadUrl string
9772}
9873
@@ -129,7 +104,7 @@ func (c *nginxComponent) InstallVersion(version *gover.Version) error {
129104 if err != nil {
130105 return err
131106 }
132- debName := fmt .Sprintf ("nginx_%s~%s_%s.deb" , version .Raw , c .osInfo .codename , archPart )
107+ debName := fmt .Sprintf ("nginx_%s~%s_%s.deb" , version .Raw , c .osInfo .Codename , archPart )
133108 urls = append (urls , c .getStableUrl ()+ debName )
134109 if ! c .stableOnly {
135110 urls = append (urls , c .getMainlineUrl ()+ debName )
@@ -159,18 +134,18 @@ func (c *nginxComponent) InstallVersion(version *gover.Version) error {
159134}
160135
161136func (c * nginxComponent ) getStableUrl () string {
162- return fmt .Sprintf ("%s/packages/%s/pool/nginx/n/nginx/" , c .downloadUrl , c .osInfo .vendor )
137+ return fmt .Sprintf ("%s/packages/%s/pool/nginx/n/nginx/" , c .downloadUrl , c .osInfo .Vendor )
163138}
164139
165140func (c * nginxComponent ) getMainlineUrl () string {
166- return fmt .Sprintf ("%s/packages/mainline/%s/pool/nginx/n/nginx/" , c .downloadUrl , c .osInfo .vendor )
141+ return fmt .Sprintf ("%s/packages/mainline/%s/pool/nginx/n/nginx/" , c .downloadUrl , c .osInfo .Vendor )
167142}
168143
169144func (c * nginxComponent ) lineExtractFunc (url , line string ) (* gover.Version , error ) {
170145 if match := indexLineRegexp .FindStringSubmatch (line ); match != nil {
171146 versionString := match [2 ]
172147 codename := match [3 ]
173- if codename == c .osInfo .codename {
148+ if codename == c .osInfo .Codename {
174149 version := gover .MustParseVersionFromRegex (versionString , versionRegexp )
175150 return version , nil
176151 }
0 commit comments