container-guest-tools: build packages for forky

Add Debian forky package build targets and APT repository config:
- Drop cros-im dependency and obsolete cros-gpu recommendation from
  cros-guest-tools for forky.
- Drop GTK2 dependencies from cros-adapta for forky.
- Omit transitional cros-sftp and experimental cros-xdg-desktop-portal
  packages from forky.

BUG=None
TEST=bazel build //cros-debs:debs
TEST=podman run debian:forky apt-get install -y /debs/*.deb

Change-Id: I2d8c0fdc2dc382b96afc701b81aa07ac08911f3a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/containers/cros-container-guest-tools/+/8495786
Kokoro-Trigger: Zihan Chen <zihanchen@google.com>
Auto-Submit: Zihan Chen <zihanchen@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: maciek swiech <drmasquatch@google.com>
Commit-Queue: maciek swiech <drmasquatch@google.com>
diff --git a/cros-adapta/BUILD b/cros-adapta/BUILD
index 305a20b..9eb5091 100644
--- a/cros-adapta/BUILD
+++ b/cros-adapta/BUILD
@@ -18,6 +18,23 @@
 )
 
 pkg_deb(
+    name = "deb-forky",
+    architecture = "all",
+    data = ":debian-data",
+    depends = [
+        "libgtk-3-0",
+        "qt5-gtk-platformtheme",
+    ],
+    description_file = "deb-description",
+    homepage = "https://chromium.googlesource.com/chromiumos/third_party/cros-adapta/",
+    maintainer = "The ChromiumOS Authors <chromium-os-dev@chromium.org>",
+    package = "cros-adapta",
+    section = "misc",
+    version = "0.6",
+    visibility = ["//cros-debs:__pkg__"],
+)
+
+pkg_deb(
     name = "deb",
     architecture = "all",
     data = ":debian-data",
@@ -33,6 +50,8 @@
     maintainer = "The ChromiumOS Authors <chromium-os-dev@chromium.org>",
     package = "cros-adapta",
     section = "misc",
+    # To maintain a clean upgrade path, the version should sort before the
+    # :deb-forky versions.
     version = "0.5",
     visibility = ["//cros-debs:__pkg__"],
 )
diff --git a/cros-debs/BUILD b/cros-debs/BUILD
index 808cc26..af3ac4b 100644
--- a/cros-debs/BUILD
+++ b/cros-debs/BUILD
@@ -9,14 +9,12 @@
     name = "cros-debs-common",
     srcs = [
         "//baguette-motd:deb",
-        "//cros-adapta:deb",
         "//cros-host-fonts:deb",
         "//cros-logging:deb",
         "//cros-motd:deb",
         "//cros-notificationd:deb",
         "//cros-pipe-config:deb",
         "//cros-port-listener:deb",
-        "//cros-sftp:deb",
         "//cros-sommelier:deb",
         "//cros-sommelier-config:deb",
         "//cros-sudo-config:deb",
@@ -25,7 +23,17 @@
         "//cros-ui-config:deb",
         "//cros-vmstat-metrics:deb",
         "//cros-wayland:deb",
-        "//cros-xdg-desktop-portal:deb",
+    ],
+)
+
+filegroup(
+    name = "forky-files",
+    srcs = [
+        ":cros-debs-common",
+        "//cros-adapta:deb-forky",
+        "//cros-apt-config:deb-bookworm",
+        "//cros-garcon:deb-bookworm",
+        "//cros-guest-tools:deb-forky",
     ],
 )
 
@@ -33,9 +41,12 @@
     name = "trixie-files",
     srcs = [
         ":cros-debs-common",
+        "//cros-adapta:deb",
         "//cros-apt-config:deb-bookworm",
         "//cros-garcon:deb-bookworm",
         "//cros-guest-tools:deb-bookworm",
+        "//cros-sftp:deb",
+        "//cros-xdg-desktop-portal:deb",
     ],
 )
 
@@ -43,14 +54,23 @@
     name = "bookworm-files",
     srcs = [
         ":cros-debs-common",
+        "//cros-adapta:deb",
         "//cros-apt-config:deb-bookworm",
         "//cros-garcon:deb-bookworm",
         "//cros-guest-tools:deb-bookworm",
         "//cros-pulse-config:deb",
+        "//cros-sftp:deb",
+        "//cros-xdg-desktop-portal:deb",
     ],
 )
 
 copy_debs_to_folder(
+    name = "forky-debs",
+    srcs = [":forky-files"],
+    out_dir = "forky-debs",
+)
+
+copy_debs_to_folder(
     name = "trixie-debs",
     srcs = [":trixie-files"],
     out_dir = "trixie-debs",
@@ -66,6 +86,7 @@
     name = "debs",
     srcs = [
         ":bookworm-debs",
+        ":forky-debs",
         ":trixie-debs",
     ],
 )
diff --git a/cros-guest-tools/BUILD b/cros-guest-tools/BUILD
index e402e6b..433cf5c 100644
--- a/cros-guest-tools/BUILD
+++ b/cros-guest-tools/BUILD
@@ -11,7 +11,6 @@
 DEPENDS = [
     "cros-garcon",
     "cros-host-fonts",
-    "cros-im",
     "cros-motd",
     "cros-notificationd",
     "cros-sommelier",
@@ -22,7 +21,6 @@
     "bash-completion",
     "bzip2",
     "cros-apt-config",
-    "cros-gpu",
     "cros-logging",
     "cros-pipe-config",
     "cros-sommelier-config",
@@ -51,7 +49,7 @@
 ]
 
 pkg_deb(
-    name = "deb-bookworm",
+    name = "deb-forky",
     architecture = "all",
     data = ":debian-data",
     depends = DEPENDS,
@@ -61,6 +59,23 @@
     package = "cros-guest-tools",
     recommends = RECOMMENDS,
     section = "misc",
+    version = "0.41",
+    visibility = ["//cros-debs:__pkg__"],
+)
+
+pkg_deb(
+    name = "deb-bookworm",
+    architecture = "all",
+    data = ":debian-data",
+    depends = DEPENDS + ["cros-im"],
+    description_file = "deb-description",
+    homepage = "https://chromium.googlesource.com/chromiumos/containers/cros-container-guest-tools/",
+    maintainer = "The ChromiumOS Authors <chromium-os-dev@chromium.org>",
+    package = "cros-guest-tools",
+    recommends = RECOMMENDS + ["cros-gpu"],
+    section = "misc",
+    # To maintain a clean upgrade path, the version should sort before the
+    # :deb-forky versions.
     version = "0.40",
     visibility = ["//cros-debs:__pkg__"],
 )
diff --git a/kokoro/apt_repo.sh b/kokoro/apt_repo.sh
index a3b118a..520b7ad 100755
--- a/kokoro/apt_repo.sh
+++ b/kokoro/apt_repo.sh
@@ -19,7 +19,7 @@
     # We keep deprecated versions (stretch, buster, bullseye) here indefinitely
     # so "apt update" will pull down an empty repo instead of getting a hard 404
     # error; packages and repository metadata are retained for compatibility.
-    for release in stretch buster bullseye bookworm trixie; do
+    for release in stretch buster bullseye bookworm trixie forky; do
         local distributions="
 Origin: Google
 Label: cros-containers