diff --git a/installer/VERSION b/installer/VERSION index 77d6f4ca2..8acdd82b7 100644 --- a/installer/VERSION +++ b/installer/VERSION @@ -1 +1 @@ -0.0.0 +0.0.1 diff --git a/installer/config/includes.chroot/etc/calamares/branding/cusdeb/branding.desc b/installer/config/includes.chroot/etc/calamares/branding/cusdeb/branding.desc index a1b0f6c9f..3f713e2b6 100644 --- a/installer/config/includes.chroot/etc/calamares/branding/cusdeb/branding.desc +++ b/installer/config/includes.chroot/etc/calamares/branding/cusdeb/branding.desc @@ -1,6 +1,6 @@ --- componentName: cusdeb -welcomeStyleCalamares: true +welcomeStyleCalamares: false welcomeExpandingLogo: true windowExpanding: normal windowSize: 800px,580px @@ -9,16 +9,16 @@ windowPlacement: center strings: productName: CusDeb OS shortProductName: CusDeb - version: 1 - shortVersion: 1 - versionedName: CusDeb OS 1 - shortVersionedName: CusDeb OS 1 + version: "" + shortVersion: "" + versionedName: CusDeb OS + shortVersionedName: CusDeb OS bootloaderEntryName: CusDeb OS - productUrl: https://github.com/CusDeb - supportUrl: https://github.com/CusDeb - knownIssuesUrl: https://github.com/CusDeb - releaseNotesUrl: https://github.com/CusDeb - donateUrl: https://github.com/CusDeb + productUrl: https://github.com/cusdeb-com/os + supportUrl: https://github.com/cusdeb-com/os + knownIssuesUrl: https://github.com/cusdeb-com/os/issues + releaseNotesUrl: https://github.com/cusdeb-com/os/releases + donateUrl: https://cusdeb.com/cdmag sidebar: widget navigation: widget @@ -31,9 +31,9 @@ images: slideshow: "show.qml" style: - SidebarBackground: "#26475b" + SidebarBackground: "#74A7E2" SidebarText: "#FFFFFF" - SidebarTextCurrent: "#fbfbfb" - SidebarBackgroundCurrent: "#265370" + SidebarTextCurrent: "#FFFFFF" + SidebarBackgroundCurrent: "#193576" slideshowAPI: 2 diff --git a/installer/config/includes.chroot/etc/calamares/branding/cusdeb/show.qml b/installer/config/includes.chroot/etc/calamares/branding/cusdeb/show.qml index 289130218..76afa9826 100644 --- a/installer/config/includes.chroot/etc/calamares/branding/cusdeb/show.qml +++ b/installer/config/includes.chroot/etc/calamares/branding/cusdeb/show.qml @@ -14,7 +14,7 @@ Presentation Slide { Image { id: background1 - source: "slide1.png" + source: "welcome.png" width: 467; height: 280 fillMode: Image.PreserveAspectFit anchors.centerIn: parent diff --git a/installer/config/includes.chroot/etc/calamares/branding/cusdeb/slide1.png b/installer/config/includes.chroot/etc/calamares/branding/cusdeb/slide1.png deleted file mode 100644 index 8b683d971..000000000 Binary files a/installer/config/includes.chroot/etc/calamares/branding/cusdeb/slide1.png and /dev/null differ diff --git a/installer/config/includes.chroot/etc/calamares/branding/cusdeb/stylesheet.qss b/installer/config/includes.chroot/etc/calamares/branding/cusdeb/stylesheet.qss new file mode 100644 index 000000000..49d5366de --- /dev/null +++ b/installer/config/includes.chroot/etc/calamares/branding/cusdeb/stylesheet.qss @@ -0,0 +1,2 @@ +/* CusDeb OS installer theme: pure white main window background. */ +#mainApp { background-color: #FFFFFF; } diff --git a/installer/config/includes.chroot/etc/calamares/branding/cusdeb/welcome.png b/installer/config/includes.chroot/etc/calamares/branding/cusdeb/welcome.png index 8b683d971..bfe21522a 100644 Binary files a/installer/config/includes.chroot/etc/calamares/branding/cusdeb/welcome.png and b/installer/config/includes.chroot/etc/calamares/branding/cusdeb/welcome.png differ diff --git a/installer/config/includes.chroot/etc/calamares/modules/packages.conf b/installer/config/includes.chroot/etc/calamares/modules/packages.conf index fcc33357b..eccb1e21d 100644 --- a/installer/config/includes.chroot/etc/calamares/modules/packages.conf +++ b/installer/config/includes.chroot/etc/calamares/modules/packages.conf @@ -5,3 +5,8 @@ operations: - "^live-*" - calamares-settings-debian - calamares + - qml6-module-qtqml + - qml6-module-qtqml-models + - qml6-module-qtqml-workerscript + - qml6-module-qtquick + - qml6-module-qtquick-window diff --git a/installer/config/includes.chroot/etc/calamares/modules/unpackfs.conf b/installer/config/includes.chroot/etc/calamares/modules/unpackfs.conf new file mode 100644 index 000000000..7e4d814f1 --- /dev/null +++ b/installer/config/includes.chroot/etc/calamares/modules/unpackfs.conf @@ -0,0 +1,10 @@ +# Based on the Debian package default, with one addition: the live-only +# /usr/sbin/xdg-open wrapper (see includes.chroot/usr/sbin/xdg-open) must +# not be copied to the installed system, so it is excluded from the copy. +--- +unpack: + - source: "/run/live/medium/live/filesystem.squashfs" + sourcefs: "squashfs" + destination: "" + exclude: + - /usr/sbin/xdg-open diff --git a/installer/config/includes.chroot/usr/sbin/xdg-open b/installer/config/includes.chroot/usr/sbin/xdg-open new file mode 100755 index 000000000..6e24706d2 --- /dev/null +++ b/installer/config/includes.chroot/usr/sbin/xdg-open @@ -0,0 +1,34 @@ +#!/bin/sh +# Wrapper around /usr/bin/xdg-open for the live installer session. +# +# Calamares runs as root (pkexec via calamares-install-debian), so +# QDesktopServices::openUrl() spawns xdg-open as root. A browser started +# as root cannot (and must not) attach to the live user's X session, so +# the welcome-page buttons (support/known-issues/release-notes) silently +# did nothing. +# +# pkexec gives root a PATH of /usr/sbin:/usr/bin:/sbin:/bin (no +# /usr/local/bin), so this file lives in /usr/sbin, ahead of the real +# /usr/bin/xdg-open. When invoked as root it re-runs the real xdg-open +# as the live user; otherwise it just forwards the call. +# +# pkexec (allow_gui=true in the Calamares polkit action) already passes +# the live session's DISPLAY and XAUTHORITY into root's environment, so +# they are inherited; the :- fallbacks below only cover callers that +# lack them. +# +# Note: this file is live-only. Calamares' unpackfs configuration +# (modules/unpackfs.conf) excludes it from the copy to the target disk, +# so it never lands on the installed system. + +REAL_XDG_OPEN=/usr/bin/xdg-open +LIVE_USER=user + +if [ "$(id -u)" = 0 ] && id "${LIVE_USER}" >/dev/null 2>&1; then + exec runuser -u "${LIVE_USER}" -- env \ + DISPLAY="${DISPLAY:-:0}" \ + XAUTHORITY="${XAUTHORITY:-/home/${LIVE_USER}/.Xauthority}" \ + "${REAL_XDG_OPEN}" "$@" +fi + +exec "${REAL_XDG_OPEN}" "$@" diff --git a/installer/config/package-lists/calamares.list.chroot b/installer/config/package-lists/calamares.list.chroot index a373c6b26..8a7995322 100644 --- a/installer/config/package-lists/calamares.list.chroot +++ b/installer/config/package-lists/calamares.list.chroot @@ -1,6 +1,12 @@ calamares calamares-settings-debian +# QML modules required by the Calamares slideshow (slideshowAPI 2). +# Without them the exec-phase slideshow fails with +# "module "QtQuick.Window" is not installed" and shows a blank page. +qml6-module-qtquick +qml6-module-qtquick-window + # Password strength dictionary required by Calamares users module # Without it the installer prints: "the password fails the dictionary check - error loading dictionary" cracklib-runtime @@ -83,6 +89,7 @@ usbutils # Essentials sudo ca-certificates +xdg-utils # Optional packages pre-installed in live so they are available in target # regardless of Calamares network state. The optional-packages-apply job