Compare commits

..

4 Commits

Author SHA1 Message Date
stornic56 e0404ffa21 KDE: add Custom packages option with verified package list
Mirror the LXDE/XFCE Custom pattern: fixed base
(kde-plasma-desktop + sddm + konsole, plus
plasma-workspace-wayland on bookworm via the existing
gate) and a 17-entry checklist of extras whose names
are identical on bookworm and trixie (verified against
packages.debian.org). konsole is pinned because it is
only a Recommends of kde-baseapps on trixie. Empty
selection returns without installing; base + selection
are confirmed before any debconf or apt transaction.
knotes (gone on trixie) and konqueror/kwrite (legacy)
are excluded.
2026-10-20 07:39:35 -05:00
stornic56 afac6c7876 KDE: add bookworm Wayland gate and release-aware SDDM session probe
Bookworm's plasma-workspace ships only the X11 session; the Wayland
session (plasmawayland.desktop) lives in the separate
plasma-workspace-wayland package (a Recommends of plasma-desktop, now
listed explicitly for the same determinism as the explicit sddm). The
package does not exist on trixie, where plasma-workspace integrates
Wayland natively, so naming it off-bookworm would fail the apt
transaction: resolve it once per installer with _kde_wayland_pkg() and
build the package list in a conditional array so neither the pre-apply
summary nor the apt command ever shows an empty argument. Also correct
the header comment: bookworm still defaults SDDM to the X11 session,
while trixie makes Wayland primary (plasma.desktop in
wayland-sessions) with plasmax11.desktop as the X11 fallback.

Replace the hard-coded SDDM autologin session cascade with an
existence-based ordered probe (_sddm_session_candidates) that prefers
Wayland across releases, keeps the LXQt sessions last for when the
module starts offering LXQt, and reads its session roots from
SESSION_DIR_WAYLAND / SESSION_DIR_X11 for hermetic testing.

Extend tests/desktops.bats with 13 offline tests: gate helper output on
bookworm/trixie, captured apt commands for both installers, summary
content (no empty package line), and the ordered session probe against
fixture trees.
2026-10-20 07:39:35 -05:00
stornic56 3f7535f5d0 GNOME: use ptyxis instead of gnome-terminal on trixie+
gnome-core declares the OR-dependency "gnome-terminal (>= 3.56)
or gnome-console (>= 46) or ptyxis (>= 47)" (packages.debian.org
/trixie/gnome-core, verified 2026-10-16) and apt resolves an
unset OR-dep with the FIRST alternative, so the desktop pull would
install gnome-terminal by default. Listing the terminal package
explicitly in the same apt transaction steers the resolver to
ptyxis (48.5-1~deb13u1, GTK4) on trixie.

- _gnome_terminal_pkg(): trixie -> ptyxis, anything else or
  empty -> gnome-terminal (ptyxis does not exist in bookworm).
- _install_gnome_full/_install_gnome_core list the resolved
  package in the pre-apply summary and in the apt command.
- No purge or apt-mark: an already-installed gnome-terminal is
  left alone and both can coexist.
- 4 new BATS tests capture the apt command via the existing
  sudo/_run_cmd mocks: ptyxis on trixie (Full and Core),
  gnome-terminal fallback on bookworm and on empty codename.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-20 07:39:35 -05:00
stornic56 e3a749f38a LXDE: add Custom packages option and respect existing display manager
- New 'LXDE Custom (Choose packages)' menu entry: fixed base
  (lxde-core + xserver-xorg, lightdm only when no display manager
  is configured) plus a data-driven checklist of 16 extras.
- lxterminal, polkitd, notification-daemon and light-locker stay out
  of the checklist: they arrive via lxde-core Recommends (verified
  against packages.debian.org/trixie, 2026-10-16).
- Full/Core/Custom now honor an already-configured display manager
  via _existing_display_manager (GNOME/KDE pattern): no debconf
  preseed, no lightdm install, no enable over an existing DM.
- Extract _select_packages_checklist helper to utils.sh; XFCE
  Custom consumes it with no functional change.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-20 07:39:35 -05:00

Diff Content Not Available