[lxc-devel] [distrobuilder/master] openSUSE fixes
monstermunchkin on Github
lxc-bot at linuxcontainers.org
Wed Mar 6 15:33:36 UTC 2019
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 310 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20190306/2402b80b/attachment.bin>
-------------- next part --------------
From 3d46e04141115ca9c1f75a7620803fd573cddd06 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 6 Mar 2019 16:19:38 +0100
Subject: [PATCH 1/4] managers: Allow overriding install flags
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
managers/manager.go | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/managers/manager.go b/managers/manager.go
index 21d7f0a..bcb406d 100644
--- a/managers/manager.go
+++ b/managers/manager.go
@@ -116,3 +116,8 @@ func (m Manager) Update() error {
return shared.RunCommand(m.command, args...)
}
+
+// SetFlags overrides the default install flags.
+func (m *Manager) SetInstallFlags(flags ...string) {
+ m.flags.install = flags
+}
From 6ad760dc4400069b9bdbfe210fa4a37f73325040 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 6 Mar 2019 16:20:41 +0100
Subject: [PATCH 2/4] zypper: Remove --allow-downgrade install flag
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
managers/zypper.go | 1 -
1 file changed, 1 deletion(-)
diff --git a/managers/zypper.go b/managers/zypper.go
index 60f3395..6f54213 100644
--- a/managers/zypper.go
+++ b/managers/zypper.go
@@ -15,7 +15,6 @@ func NewZypper() *Manager {
},
install: []string{
"install",
- "--allow-downgrade",
},
remove: []string{
"remove",
From 689ca532dd4aee34a29f12d37603cdbc744d2f54 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 6 Mar 2019 16:21:24 +0100
Subject: [PATCH 3/4] sources: Support openSUSE Leap 42.3
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
sources/opensuse-http.go | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/sources/opensuse-http.go b/sources/opensuse-http.go
index c5ee04a..04096b3 100644
--- a/sources/opensuse-http.go
+++ b/sources/opensuse-http.go
@@ -131,15 +131,20 @@ func (s *OpenSUSEHTTP) getPathToTarball(baseURL string, release string, arch str
} else {
u.Path = path.Join(u.Path, fmt.Sprintf("openSUSE-Leap-%s", release))
- switch arch {
- case "x86_64":
- u.Path = path.Join(u.Path, "containers")
- case "aarch64", "ppc64le":
- u.Path = path.Join(u.Path, "containers_ports")
+ if release == "42.3" {
+ u.Path = path.Join(u.Path, "containers",
+ fmt.Sprintf("openSUSE-Leap-%s-container-image.%s-lxc.tar.xz", release, arch))
+ } else {
+ switch arch {
+ case "x86_64":
+ u.Path = path.Join(u.Path, "containers")
+ case "aarch64", "ppc64le":
+ u.Path = path.Join(u.Path, "containers_ports")
+ }
+
+ u.Path = path.Join(u.Path, fmt.Sprintf("opensuse-leap-image.%s-lxc.tar.xz",
+ arch))
}
-
- u.Path = path.Join(u.Path, fmt.Sprintf("opensuse-leap-image.%s-lxc.tar.xz",
- arch))
}
return u.String()
From a915218806a27baa903105e80521702cfa788ea0 Mon Sep 17 00:00:00 2001
From: Thomas Hipp <thomas.hipp at canonical.com>
Date: Wed, 6 Mar 2019 16:29:23 +0100
Subject: [PATCH 4/4] chroot: Special case openSUSE Tumbleweed
Signed-off-by: Thomas Hipp <thomas.hipp at canonical.com>
---
distrobuilder/chroot.go | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/distrobuilder/chroot.go b/distrobuilder/chroot.go
index ac0a4dd..427d9ba 100644
--- a/distrobuilder/chroot.go
+++ b/distrobuilder/chroot.go
@@ -2,6 +2,7 @@ package main
import (
"fmt"
+ "strings"
lxd "github.com/lxc/lxd/shared"
@@ -71,6 +72,11 @@ func managePackages(def shared.DefinitionPackages, actions []shared.DefinitionAc
}
}
+ // TODO: Remove this once openSUSE Tumbleweed builds properly without it.
+ if strings.ToLower(release) == "tumbleweed" {
+ manager.SetInstallFlags("install", "--allow-downgrade")
+ }
+
err = manager.Install(installablePackages)
if err != nil {
return err
More information about the lxc-devel
mailing list