mirror of https://github.com/kubernetes/kops.git
Refactor package.go
This commit is contained in:
parent
06c6ac1bee
commit
6b011c044b
|
|
@ -297,6 +297,7 @@ func (_ *Package) RenderLocal(t *local.LocalTarget, a, e, changes *Package) erro
|
||||||
|
|
||||||
if a == nil || changes.Version != nil {
|
if a == nil || changes.Version != nil {
|
||||||
klog.Infof("Installing package %q (dependencies: %v)", e.Name, e.Deps)
|
klog.Infof("Installing package %q (dependencies: %v)", e.Name, e.Deps)
|
||||||
|
var localPkgs []string
|
||||||
|
|
||||||
if e.Source != nil {
|
if e.Source != nil {
|
||||||
// Install a deb or rpm.
|
// Install a deb or rpm.
|
||||||
|
|
@ -316,7 +317,7 @@ func (_ *Package) RenderLocal(t *local.LocalTarget, a, e, changes *Package) erro
|
||||||
}
|
}
|
||||||
|
|
||||||
// Download all the debs/rpms.
|
// Download all the debs/rpms.
|
||||||
localPkgs := make([]string, 1+len(e.Deps))
|
localPkgs = make([]string, 1+len(e.Deps))
|
||||||
for i, pkg := range append([]*Package{e}, e.Deps...) {
|
for i, pkg := range append([]*Package{e}, e.Deps...) {
|
||||||
local := path.Join(localPackageDir, pkg.Name+ext)
|
local := path.Join(localPackageDir, pkg.Name+ext)
|
||||||
localPkgs[i] = local
|
localPkgs[i] = local
|
||||||
|
|
@ -333,6 +334,7 @@ func (_ *Package) RenderLocal(t *local.LocalTarget, a, e, changes *Package) erro
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var args []string
|
var args []string
|
||||||
env := os.Environ()
|
env := os.Environ()
|
||||||
|
|
@ -357,30 +359,6 @@ func (_ *Package) RenderLocal(t *local.LocalTarget, a, e, changes *Package) erro
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("error installing package %q: %v: %s", e.Name, err, string(output))
|
return fmt.Errorf("error installing package %q: %v: %s", e.Name, err, string(output))
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
var args []string
|
|
||||||
env := os.Environ()
|
|
||||||
if t.HasTag(tags.TagOSFamilyDebian) {
|
|
||||||
args = []string{"apt-get", "install", "--yes", "--no-install-recommends", e.Name}
|
|
||||||
env = append(env, "DEBIAN_FRONTEND=noninteractive")
|
|
||||||
} else if t.HasTag(tags.TagOSFamilyRHEL) {
|
|
||||||
if t.HasTag(tags.TagOSCentOS8) || t.HasTag(tags.TagOSRHEL8) {
|
|
||||||
args = []string{"/usr/bin/dnf", "install", "-y", "--setopt=install_weak_deps=False", e.Name}
|
|
||||||
} else {
|
|
||||||
args = []string{"/usr/bin/yum", "install", "-y", e.Name}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return fmt.Errorf("unsupported package system")
|
|
||||||
}
|
|
||||||
|
|
||||||
klog.Infof("running command %s", args)
|
|
||||||
cmd := exec.Command(args[0], args[1:]...)
|
|
||||||
cmd.Env = env
|
|
||||||
output, err := cmd.CombinedOutput()
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("error installing package %q: %v: %s", e.Name, err, string(output))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if changes.Healthy != nil {
|
if changes.Healthy != nil {
|
||||||
if t.HasTag(tags.TagOSFamilyDebian) {
|
if t.HasTag(tags.TagOSFamilyDebian) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue