Use VERSION_ID to distinguish between stable and unreleased debian
In base-files 12.3 in bookworm/testing, VERSION_CODENAME is added to
/etc/os-release. Unreleased versions of debian still remain without
version numbers, so use VERSION_ID to distinguish between stable and
unreleased versions.
BUG=b:253622661
TEST=launch bookworm container and check cros.list
Change-Id: I61c7390ad97a468054bfff46ac0da9c979c9b51f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/tremplin/+/3958879
Reviewed-by: David Munro <davidmunro@google.com>
Tested-by: James Ye <jamesye@google.com>
Commit-Queue: James Ye <jamesye@google.com>
diff --git a/src/chromiumos/tremplin/tremplin.go b/src/chromiumos/tremplin/tremplin.go
index ee71999..0d7964d 100644
--- a/src/chromiumos/tremplin/tremplin.go
+++ b/src/chromiumos/tremplin/tremplin.go
@@ -1243,7 +1243,7 @@
if err == nil {
response.OsRelease = osRelease.toProto()
if osRelease.id == "debian" {
- err = s.writeContainerFile(container.Name, "/etc/apt/sources.list.d/cros.list", createAptSourceList(s.milestone, osRelease.versionCodename))
+ err = s.writeContainerFile(container.Name, "/etc/apt/sources.list.d/cros.list", createAptSourceList(s.milestone, osRelease.versionID, osRelease.versionCodename))
} // else unknown distro so do nothing.
if err != nil {
log.Print("Failed to update guest cros.list: ", err)
diff --git a/src/chromiumos/tremplin/version.go b/src/chromiumos/tremplin/version.go
index a717220..623eecc 100644
--- a/src/chromiumos/tremplin/version.go
+++ b/src/chromiumos/tremplin/version.go
@@ -141,20 +141,19 @@
}
}
-func createAptSourceList(milestone int, osVersion string) string {
+func createAptSourceList(milestone int, osVersionId string, osVersionCodename string) string {
var list strings.Builder
- if osVersion == "" {
- // The VERSION_CODENAME tag is only required to be
- // present on stable versions of debian. For
- // testing/unstable/experimental, bullseye is the most
- // recent set of packages.
- osVersion = "bullseye"
+ if osVersionId == "" {
+ // The VERSION_ID tag is only present on stable versions of
+ // debian. For testing/unstable/experimental, bullseye is the
+ // most recent set of packages we ship.
+ osVersionCodename = "bullseye"
}
- list.WriteString(fmt.Sprintf("deb https://storage.googleapis.com/cros-packages/%d %s main\n", milestone, osVersion))
+ list.WriteString(fmt.Sprintf("deb https://storage.googleapis.com/cros-packages/%d %s main\n", milestone, osVersionCodename))
// On buster, we need the backports repo.
- if osVersion == "buster" {
- list.WriteString(fmt.Sprintf("deb https://deb.debian.org/debian %s-backports main\n", osVersion))
+ if osVersionCodename == "buster" {
+ list.WriteString(fmt.Sprintf("deb https://deb.debian.org/debian %s-backports main\n", osVersionCodename))
}
return list.String()