Compare commits

..

38 Commits

Author SHA1 Message Date
oxmc dbc1ba8508 Fixed image not showing 2026-04-06 02:50:02 -07:00
oxmc a962c9efb6 Fix path 2026-04-03 19:53:16 -07:00
oxmc a61329523f Set Architecture to all; remove shlibs:Depends 2026-04-03 15:25:04 -07:00
oxmc 6877ee4d25 set version to 26.1 2026-04-03 02:25:37 -07:00
oxmc ff0f8496d4 Add system update option 2026-04-02 20:55:03 -07:00
oxmc 72ed05e643 Updates, rebrand and add pre-update check 2026-03-30 21:54:20 -07:00
oxmc ef10123e84 fixes 2026-03-29 18:54:48 -07:00
oxmc dadefc2f25 Fixes 2026-03-29 03:35:07 -07:00
oxmc 3e71bacb11 Rename file, whoops 2026-03-11 06:58:35 -07:00
oxmc 7a7c95a302 Base for VesperOS 2026-03-11 06:55:21 -07:00
oxmc 72d56f3482 Rebrand 2026-03-11 06:45:58 -07:00
Jonathan Carter 17a59eeeb2 New release 2025-12-02 15:55:05 +02:00
Jonathan Carter b44ed2377f Remove debian/files 2025-08-13 22:18:27 +02:00
Jonathan Carter 594e4cbbf7 New release 2025-08-13 21:37:35 +02:00
Jonathan Carter a1a3091959 Fix bug 2025-07-13 23:53:18 +02:00
Jonathan Carter 69e280a098 Add rsync dependency 2025-01-06 12:17:46 +02:00
Jonathan Carter 8645233e34 New upstream release 2024-12-20 15:06:49 +02:00
Jonathan Carter 0bb7342e32 New upstream release 2024-08-23 18:01:31 +02:00
Jonathan Carter 1cb140df49 New upstream release 2024-08-23 18:00:27 +02:00
Jonathan Carter 6d8fd9ed93 New upstream release 2024-08-22 19:01:41 +02:00
Jonathan Carter 68ca4cadfb New upstream release 2024-07-22 15:54:27 +09:00
Jonathan Carter 1457f700d0 Attempt to fix encryption 2024-07-22 12:39:33 +09:00
Jonathan Carter f1eaade778 New upstream release 2024-06-21 18:29:43 +02:00
Jonathan Carter 1812e99279 New upstream release 2024-06-21 18:28:53 +02:00
Jonathan Carter 939d291d4d Update watch file 2024-06-19 11:02:06 +02:00
Jonathan Carter dbd5ea6632 Update watch file 2024-06-19 11:01:48 +02:00
Jonathan Carter c620eda931 New release 2024-02-11 14:54:29 +02:00
Jonathan Carter 2b4012a6cd make desktop launcher translation safer 2023-09-06 12:58:15 +05:30
Jonathan Carter 739cba6c49 New release: Fix /dev mount crash 2023-08-28 19:18:52 +02:00
Jonathan Carter 86b6ea8f4f New upstream release 2023-08-25 22:01:36 +02:00
Jonathan Carter ad0aeffc52 New upstream release 2023-08-24 17:33:04 +02:00
Jonathan Carter 77d2a2c381 New upstream release 2023-08-24 17:27:59 +02:00
Jonathan Carter 291444b863 New upstream release 2023-05-04 21:32:27 +02:00
Jonathan Carter 64a2ef74ec os-prober / grub stuff 2023-05-04 20:42:44 +02:00
Jonathan Carter c14e3710e8 New upstream release 2023-03-06 19:26:38 +02:00
Jonathan Carter 02f1f852cc New upstream release 2023-03-06 12:35:42 +02:00
Jonathan Carter 3e977929fb New release 2022-08-02 09:37:49 +02:00
Jonathan Carter b348bf4fb8 New upstream release 2022-05-19 14:51:59 +02:00
64 changed files with 1171 additions and 787 deletions
+17
View File
@@ -0,0 +1,17 @@
# Debian build tree (cmake output from dpkg-buildpackage)
debian/build/
debian/calamares-settings-vesperos/
debian/tmp/
debian/.debhelper/
debian/debhelper-build-stamp
debian/files
debian/*.substvars
# Compiled output that may appear alongside source
calamares-modules/**/*.so
calamares-modules/**/*.o
# Editor and OS noise
.DS_Store
*~
\#*\#
+130
View File
@@ -1,3 +1,133 @@
[ 14.0.2 ]
* Change btrfs compression to zstd:3
https://salsa.debian.org/live-team/calamares-settings-debian-packaging/-/merge_requests/4
* Update favorite-apps
https://salsa.debian.org/live-team/calamares-settings-debian-packaging/-/merge_requests/7
(Debian bug: #1109139)
* Increase timeouts for bootloade-config from 600 to 1800 (other tasks are too trivial to increase)
(Debian bug: #1120779)
[ 14.0.1 ]
* Reintroduce egg theme
* Update branding module to list Debian 14
* Set only password requirement to be at least 6 characters
(See Debian bugs: #1082020, #1109136)
* Disable lvm support (See Debian bugs: #1109138, #1060232)
[ 13.0.12 ]
* Initial Ceratopsian artwork changes
* Support for alternate media paths (Debian bug: #1089618)
[ 13.0.11 ]
* Fix typo in filename
* Move scripts to helpers
[ 13.0.10 ]
* Make script names less generic and namespace under /usr/share/calamares
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1021156
[ 13.0.9 ]
* Bump minimum storage required to 15G
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=#1037123
* Update copyright years
* Fix dconf entry for calamares launcher (fixes launcher on GNOME)
* Use trim by default for encrypted media
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1001192
* Use idle cycles to preload calamares binary and libraries
for faster startup
[ 13.0.8 ]
* Move lukskeyconfig further up the task chain
[ 13.0.7 ]
* Move lukskeyconfig action before fstab
(fstab now depends on it being configured)
[ 13.0.6 ]
* Merge MR!3
- Add missing mountpoints
* Merge MR!2
- Install more generic grub-efi package to allow installation on
non-amd64 architectures
* Remove space_cache from fstab module (space_cache=v2 is now default)
and also autodefrag which isn't useful on modern storage
[ 13.0.5 ]
* Add pesky missing delimiter for Calamares desktop icon setup
(thanks Roland Clobus, #1037299)
[ 13.0.4 ]
* Update config in mount module so that /dev is properly mounted
in target
[ 13.0.3 ]
* Update branding elements for Calamares 3.3 series
* Fix desktop file launcher
* Set installEFIFallback: true
* Don't allow empty passwords
[ 13.0.2 ]
* Fix desktop icon path in add-calamares-desktop-icon
[ 13.0.1 ]
* Initial release for trixie
- Update sources.list writer and media sources
* Update copyright years
* Update installer artwork (egg theme)
* Rename launchers (partial fix towards #1021156)
* Mark desktop launchers as trusted for xfce/gnome (#1037299)
[ 12.0.9 ]
* Fix typos in version numbers for last two changelog entries
* Install cryptsetup-initramfs, cryptsetup and keyutils (only) when needed
(required due to these packages only now existing on package pool,
not on the squashfs filesystem)
[ 12.0.8 ]
* Do grub work within the chroot
[ 12.0.7 ]
* Enable os-prober /after/ grub has been installed.
[ 12.0.6 ]
* Enable os-prober
[ 12.0.5 ]
* Update sources.list to include non-free-firmware and backports
[ 12.0.4 ]
* Update artwork for Debian 12 (emerald theme)
* Make installer slide translatable
[ 12.0.3 ]
* Work around hidpi issue (#992162)
[ 12.0.2 ]
* Fix dpkg-unsafe-io and dpkg-unsafe-io-undo names
* Update the sources-media script to use bookworm
[ 12.0.1 ]
* Initial branding description and sources.list changes for bookworm
+2 -1
View File
@@ -1,6 +1,7 @@
ISC License
Copyright (c) 2016-2020, Jonathan Carter <jcc@debian.org>
Copyright (c) 2016-2024, Jonathan Carter <jcc@debian.org>
Copyright (c) 2025-2026, VesperOS Desktop Team <contact@oxmc.me>
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
+17
View File
@@ -0,0 +1,17 @@
NOTICE — Third-Party Source Acknowledgement
===========================================
This package (calamares-settings-vesperos) is a fork of
calamares-settings-debian, originally created and maintained by
Jonathan Carter <jcc@debian.org> for the Debian Project.
Original source: https://gitlab.com/highvoltage/calamares-settings-debian
Original licence: ISC License, Copyright 2016-2024 Jonathan Carter
The VesperOS modifications, branding, and additions are
Copyright 2025-2026 VesperOS Desktop Team <contact@oxmc.me>
and are distributed under the same ISC License.
The original Calamares installer framework is developed by the
Calamares contributors and licensed separately — see
https://github.com/calamares/calamares for details.
+33 -10
View File
@@ -1,5 +1,5 @@
#!/bin/sh
# Creates an "Install Debian" icon on the live session tested with:
# Creates an "Install VesperOS" icon on the live session tested with:
# Xfce, LXDE, LXqt, Gnome, KDE, Mate, Cinnamon
# We query xdg-user-dir because the Desktop directory has different
@@ -10,18 +10,41 @@ DESKTOP=$(xdg-user-dir DESKTOP)
# creation script.
mkdir -p $DESKTOP
# Among the Debian desktop environments, LXDE is the only one
# Among the VesperOS desktop environments, LXDE is the only one
# that behaves completely different.
if [ -f /usr/bin/lxsession ]; then
echo "[Desktop Entry]" > $DESKTOP/install-debian.desktop
echo "Type=Link" >> $DESKTOP/install-debian.desktop
echo "Name=Install Debian" >> $DESKTOP/install-debian.desktop
echo "Icon=install-debian" >> $DESKTOP/install-debian.desktop
echo "URL=/usr/share/applications/install-debian.desktop" \
>> $DESKTOP/install-debian.desktop
echo "[Desktop Entry]" > $DESKTOP/calamares-install-vesperos.desktop
echo "Type=Link" >> $DESKTOP/calamares-install-vesperos.desktop
echo "Name=Install VesperOS" >> $DESKTOP/calamares-install-vesperos.desktop
echo "Icon=install-vesperos" >> $DESKTOP/calamares-install-vesperos.desktop
echo "URL=/usr/share/applications/calamares-install-vesperos.desktop" \
>> $DESKTOP/calamares-install-vesperos.desktop
else
cp /usr/share/applications/install-debian.desktop $DESKTOP
cp /usr/share/applications/calamares-install-vesperos.desktop $DESKTOP
# Xfce needs this executable otherwise it complains, everything
# else doesn't seem to care either way.
chmod +x $DESKTOP/install-debian.desktop
chmod +x $DESKTOP/calamares-install-vesperos.desktop
fi
# Set desktop launcher as trusted under each DE (See: #1037299)
case "$XDG_CURRENT_DESKTOP" in
XFCE)
gio set --type=string $DESKTOP/calamares-install-vesperos.desktop \
metadata::trusted true
gio set --type=string $DESKTOP/calamares-install-vesperos.desktop \
metadata::xfce-exe-checksum \
"$(sha256sum $DESKTOP/calamares-install-vesperos.desktop | cut -f1 -d' ')"
touch $DESKTOP/calamares-install-vesperos.desktop
;;
*GNOME*)
gio set --type=string $DESKTOP/calamares-install-vesperos.desktop \
metadata::trusted true
;;
esac
# Preload calamares binaries and libraries using idle disk cycles
# so that it launches faster
ionice -C Idle cat /usr/bin/calamares > /dev/null
for file in $(ldd /usr/bin/calamares | awk '{print $3}'): do
ionice -C Idle cat $file > /dev/null
done
Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

@@ -1,6 +1,6 @@
#!/bin/sh
###
# Wrapper for running calamares on Debian live media
# Wrapper for running calamares on VesperOS live media
###
# Stale file left behind by live-build that messes with partitioning
+13
View File
@@ -0,0 +1,13 @@
[Desktop Entry]
Type=Application
Version=1.0
Name=Install VesperOS
GenericName=Calamares Installer
Exec=calamares-install-vesperos
Comment=Calamares — Installer for VesperOS Live
Keywords=calamares;system;install;vesperos;installer
Icon=install-vesperos
Terminal=false
Categories=Qt;System;
StartupWMClass=calamares
StartupNotify=True
@@ -2,5 +2,5 @@
type: "job"
name: "bootloader-config"
interface: "process"
command: "/usr/sbin/bootloader-config"
timeout: 600
command: "/usr/share/calamares/helpers/calamares-bootloader-config"
timeout: 1800
@@ -1,6 +1,6 @@
---
type: "job"
name: "re-enable-dpkg-sync"
name: "dpkg-unsafe-io-undo"
interface: "process"
command: "/usr/sbin/dpkg-unsafe-io -u"
command: "/usr/share/calamares/helpers/calamares-dpkg-unsafe-io -u"
timeout: 600
+2 -2
View File
@@ -1,6 +1,6 @@
---
type: "job"
name: "disable-dpkg-sync"
name: "dpkg-unsafe-io"
interface: "process"
command: "/usr/sbin/dpkg-unsafe-io"
command: "/usr/share/calamares/helpers/calamares-dpkg-unsafe-io"
timeout: 600
@@ -0,0 +1,6 @@
---
type: "job"
name: "postinstall"
interface: "process"
command: "/usr/share/calamares/helpers/calamares-postinstall"
timeout: 1800
+1 -1
View File
@@ -2,5 +2,5 @@
type: "job"
name: "sources-final"
interface: "process"
command: "/usr/sbin/sources-final"
command: "/usr/share/calamares/helpers/calamares-sources-final"
timeout: 600
@@ -0,0 +1,6 @@
---
type: "job"
name: "sources-media-live"
interface: "process"
command: "/usr/share/calamares/helpers/calamares-sources-media -l"
timeout: 120
@@ -2,5 +2,5 @@
type: "job"
name: "sources-media-unmount"
interface: "process"
command: "/usr/sbin/sources-media -u"
command: "/usr/share/calamares/helpers/calamares-sources-media -u"
timeout: 600
+1 -1
View File
@@ -2,5 +2,5 @@
type: "job"
name: "sources-media"
interface: "process"
command: "/usr/sbin/sources-media"
command: "/usr/share/calamares/helpers/calamares-sources-media"
timeout: 600
@@ -0,0 +1,6 @@
---
type: "job"
name: "system-upgrade"
interface: "process"
command: "/usr/share/calamares/helpers/calamares-system-upgrade"
timeout: 3600
@@ -0,0 +1,5 @@
---
type: "job"
name: "update-check"
interface: "python"
script: "update-check.py"
@@ -0,0 +1,103 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
update-check Calamares Python job module.
Refreshes apt package lists, then applies any configured package hooks
(reinstall / install / remove / script) for packages that have a pending update.
Failures are non-fatal: if the network is unavailable the job succeeds silently.
"""
import re
import subprocess
import libcalamares
def prettyName():
return "Checking for Updates"
def run():
cfg = libcalamares.job.configuration or {}
hooks = cfg.get("package_hooks", [])
# 1. Refresh package lists — non-fatal if offline
try:
subprocess.run(
["apt-get", "update", "-q"],
check=True,
capture_output=True,
)
except subprocess.CalledProcessError:
libcalamares.utils.debug("update-check: apt-get update failed (offline?), skipping hooks")
return None
if not hooks:
return None
# 2. Find upgradable packages via apt-get simulate
try:
result = subprocess.run(
["apt-get", "--simulate", "upgrade"],
check=True,
capture_output=True,
text=True,
)
upgradable = {
line.split()[1]
for line in result.stdout.splitlines()
if line.startswith("Inst ")
}
except subprocess.CalledProcessError:
return None
arch_proc = subprocess.run(
["dpkg", "--print-architecture"],
capture_output=True,
text=True,
)
arch = arch_proc.stdout.strip()
# 3. Apply matching hooks
for hook in hooks:
package = hook.get("package", "").strip()
condition = hook.get("condition", "").strip()
action = hook.get("do", "").strip()
if not package or not action:
continue
if package not in upgradable:
continue
if not _eval_condition(condition, arch):
continue
_apply_action(action, package)
return None
def _eval_condition(condition, arch):
if not condition:
return True
m = re.match(r"arch\s*(==|!=)\s*(\S+)", condition)
if not m:
return True
op, pattern = m.group(1), m.group(2)
pattern_re = "^" + re.escape(pattern).replace(r"\*", ".*") + "$"
matches = bool(re.match(pattern_re, arch))
return matches if op == "==" else not matches
def _apply_action(action, package):
if action == "reinstall":
subprocess.run(["apt-get", "-y", "install", "--reinstall", package], check=False)
elif action == "install":
subprocess.run(["apt-get", "-y", "install", package], check=False)
elif action == "remove":
subprocess.run(["apt-get", "-y", "remove", package], check=False)
elif action.startswith("script:"):
script = action[7:].strip()
subprocess.run([script, package], check=False)
else:
libcalamares.utils.debug(f"update-check: unknown action '{action}' for {package}, skipping")
-37
View File
@@ -1,37 +0,0 @@
---
componentName: debian
welcomeStyleCalamares: true
welcomeExpandingLogo: true
windowExpanding: normal
windowSize: 800px,520px
windowPlacement: center
strings:
productName: Debian GNU/Linux
shortProductName: Debian
version: 12 (bookworm)
shortVersion: 12
versionedName: Debian 12 (bookworm)
shortVersionedName: Debian 12
bootloaderEntryName: Debian
productUrl: https://debian.org
supportUrl: https://www.debian.org/support
knownIssuesUrl: https://bugs.debian.org
releaseNotesUrl: https://www.debian.org/releases/bookworm/releasenotes
donateUrl: https://www.debian.org
images:
productLogo: "debian-logo.png"
productIcon: "debian-logo.png"
productWelcome: "welcome.png"
# productWallpaper: "wallpaper.png"
slideshow: "show.qml"
style:
sidebarBackground: "#2c3133"
sidebarText: "#FFFFFF"
sidebarTextSelect: "#4d7079"
sidebarTextSelect: "#292F34"
slideshowAPI: 2
Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

-51
View File
@@ -1,51 +0,0 @@
/* === This file is part of Calamares - <http://github.com/calamares> ===
*
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
* Copyright 2018-2019, Jonathan Carter <jcc@debian.org>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, or (at your option) any later version.
*
* Calamares is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
*/
import QtQuick 2.0;
import calamares.slideshow 1.0;
Presentation
{
id: presentation
Timer {
interval: 20000
repeat: true
onTriggered: presentation.goToNextSlide()
}
Slide {
Image {
id: background1
source: "slide1.png"
width: 467; height: 280
fillMode: Image.PreserveAspectFit
anchors.centerIn: parent
}
Text {
anchors.horizontalCenter: background1.horizontalCenter
anchors.top: background1.bottom
text: "Welcome to Debian GNU/Linux.<br/>"+
"The rest of the installation is automated and should complete in a few minutes."
wrapMode: Text.WordWrap
width: 600
horizontalAlignment: Text.Center
}
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

+39
View File
@@ -0,0 +1,39 @@
---
componentName: vesperos
welcomeStyleCalamares: true
welcomeExpandingLogo: true
windowExpanding: normal
windowSize: 800px,580px
windowPlacement: center
strings:
productName: VesperOS
shortProductName: VesperOS
version: Rainier
shortVersion: Rainier
versionedName: VesperOS Rainier
shortVersionedName: VesperOS Rainier
bootloaderEntryName: VesperOS
productUrl: https://vesperos.oxmc.me
supportUrl: https://vesperos.oxmc.me/support
knownIssuesUrl: https://vesperos.oxmc.me/issues
releaseNotesUrl: https://vesperos.oxmc.me/releases
donateUrl: https://vesperos.oxmc.me
sidebar: widget
navigation: widget
images:
productLogo: "vesperos-logo.png"
productIcon: "vesperos-logo.png"
productWelcome: "welcome.png"
slideshow: "show.qml"
style:
SidebarBackground: "#26475b"
SidebarText: "#FFFFFF"
SidebarTextCurrent: "#fbfbfb"
SidebarBackgroundCurrent: "#265370"
slideshowAPI: 2
Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

+65
View File
@@ -0,0 +1,65 @@
/* === This file is part of Calamares - <https://calamares.io> ===
*
* SPDX-FileCopyrightText: 2015 Teo Mrnjavac <teo@kde.org>
* SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* Calamares is Free Software: see the License-Identifier above.
*
*/
import QtQuick 2.0;
import calamares.slideshow 1.0;
Presentation
{
id: presentation
function nextSlide() {
//console.log("QML Component (default slideshow) Next slide");
presentation.goToNextSlide();
}
Timer {
id: advanceTimer
interval: 1000
running: presentation.activatedInCalamares
repeat: true
onTriggered: nextSlide()
}
Slide {
Image {
id: background
source: "install-slide.png"
width: 200; height: 200
fillMode: Image.PreserveAspectFit
anchors.centerIn: parent
}
Text {
anchors.horizontalCenter: background.horizontalCenter
anchors.top: background.bottom
text: qsTr("Welcome to VesperOS.<br/>"+
"The rest of the installation is automated and should complete in a few minutes.")
wrapMode: Text.WordWrap
width: presentation.width
horizontalAlignment: Text.Center
}
}
// When this slideshow is loaded as a V1 slideshow, only
// activatedInCalamares is set, which starts the timer (see above).
//
// In V2, also the onActivate() and onLeave() methods are called.
// These example functions log a message (and re-start the slides
// from the first).
function onActivate() {
//console.log("QML Component (default slideshow) activated");
presentation.currentSlide = 0;
}
function onLeave() {
//console.log("QML Component (default slideshow) deactivated");
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

+2 -2
View File
@@ -43,7 +43,7 @@ efiBootMgr: "efibootmgr"
# setting the option here, keep in mind that the name is sanitized
# (problematic characters, see above, are replaced).
#
# efiBootloaderId: "dirname"
efiBootloaderId: "VesperOS"
# Optionally install a copy of the GRUB EFI bootloader as the EFI
# fallback loader (either bootia32.efi or bootx64.efi depending on
@@ -51,4 +51,4 @@ efiBootMgr: "efibootmgr"
# seems to be the only one). If you set this to false, take care
# to add another module to optionally install the fallback on those
# boards that need it.
installEFIFallback: false
installEFIFallback: true
+3 -3
View File
@@ -1,11 +1,11 @@
---
mountOptions:
default: defaults,noatime
btrfs: defaults,noatime,space_cache,autodefrag
btrfs: defaults,noatime
ssdExtraMountOptions:
ext4: discard
jfs: discard
xfs: discard
swap: discard
btrfs: discard,compress=lzo
crypttabOptions: luks,keyscript=/bin/cat
btrfs: discard,compress=zstd:3
crypttabOptions: luks,discard,keyscript=/bin/cat
+18 -10
View File
@@ -1,17 +1,22 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Mount filesystems in the target (generally, before treating the
# target as a usable chroot / "live" system). Filesystems are
# automatically mounted from the partitioning module. Filesystems
# listed here are **extra**. The filesystems listed in *extraMounts*
# are mounted in all target systems. The filesystems listed in
# *extraMountsEfi* are mounted in the target system **only** if
# the host machine uses UEFI.
# are mounted in all target systems.
---
# Extra filesystems to mount. The key's value is a list of entries; each
# entry has four keys:
# entry has five keys:
# - device The device node to mount
# - fs The filesystem type to use
# - fs (optional) The filesystem type to use
# - mountPoint Where to mount the filesystem
# - options (optional) Extra options to pass to mount(8)
# - options (optional) An array of options to pass to mount
# - efi (optional) A boolean that when true is only mounted for UEFI installs
#
# The device is not mounted if the mountPoint is unset or if the fs is
# set to unformatted.
#
extraMounts:
- device: proc
@@ -22,15 +27,18 @@ extraMounts:
mountPoint: /sys
- device: /dev
mountPoint: /dev
options: bind
options: [ bind ]
- device: tmpfs
fs: tmpfs
mountPoint: /run
- device: /run/udev
mountPoint: /run/udev
options: bind
extraMountsEfi:
options: [ bind ]
- device: efivarfs
fs: efivarfs
mountPoint: /sys/firmware/efi/efivars
efi: true
- device: /dev/pts
mountPoint: /dev/pts
options: [ bind ]
# /dev/pts is required by apt for storing the logs
+3 -2
View File
@@ -2,13 +2,14 @@ backend: apt
operations:
- remove:
- 'calamares'
- 'calamares-settings-vesperos'
- 'live-boot'
- 'live-boot-doc'
- 'live-boot-initramfs-tools'
- 'live-config'
- 'live-config-doc'
- 'live-config-systemd'
- 'live-config-systemd'
- 'live-tools'
- 'live-task-localisation'
- 'live-task-recommended'
- 'calamares-settings-debian'
+398
View File
@@ -0,0 +1,398 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Options for EFI system partition.
#
# - *mountPoint*
# This setting specifies the mount point of the EFI system partition. Some
# distributions (Fedora, Debian, Manjaro, etc.) use /boot/efi, others (KaOS,
# etc.) use just /boot.
#
# Defaults to "/boot/efi", may be empty (but weird effects ensue)
# - *recommendedSize*
# This optional setting specifies the size of the EFI system partition.
# If nothing is specified, the default size of 300MiB will be used.
# When writing quantities here, M is treated as MiB, and if you really
# want one-million (10^6) bytes, use MB.
# - *minimumSize*
# This optional setting specifies the absolute minimum size of the EFI
# system partition. If nothing is specified, the *recommendedSize*
# is used instead.
# - *label*
# This optional setting specifies the name of the EFI system partition (see
# PARTLABEL; gpt only; requires KPMCore >= 4.2.0).
# If nothing is specified, the partition name is left unset.
#
# Going below the *recommended* size is allowed, but the user will
# get a warning that it might not work. Going below the *minimum*
# size is not allowed and the user will be told it will not work.
#
# Both quantities must be at least 32MiB, this is enforced by the EFI
# spec. If minimum is not specified, it defaults to the recommended
# size. Distro's that allow more user latitude can set the minimum lower.
efi:
mountPoint: "/boot/efi"
recommendedSize: 512MiB
minimumSize: 32MiB
label: "EFI"
# Deprecated alias of efi.mountPoint
# efiSystemPartition: "/boot/efi"
# Deprecated alias of efi.recommendedSize
# efiSystemPartitionSize: 300MiB
# Deprecated alias of efi.label
# efiSystemPartitionName: EFI
# In autogenerated partitioning, allow the user to select a swap size?
# If there is exactly one choice, no UI is presented, and the user
# cannot make a choice -- this setting is used. If there is more than
# one choice, a UI is presented.
#
# Legacy settings *neverCreateSwap* and *ensureSuspendToDisk* correspond
# to values of *userSwapChoices* as follows:
# - *neverCreateSwap* is true, means [none]
# - *neverCreateSwap* is false, *ensureSuspendToDisk* is false, [small]
# - *neverCreateSwap* is false, *ensureSuspendToDisk* is true, [suspend]
#
# Autogenerated swap sizes are as follows:
# - *suspend*: Swap is always at least total memory size,
# and up to 4GiB RAM follows the rule-of-thumb 2 * memory;
# from 4GiB to 8 GiB it stays steady at 8GiB, and over 8 GiB memory
# swap is the size of main memory.
# - *small*: Follows the rules above, but Swap is at
# most 8GiB, and no more than 10% of available disk.
# In both cases, a fudge factor (usually 10% extra) is applied so that there
# is some space for administrative overhead (e.g. 8 GiB swap will allocate
# 8.8GiB on disk in the end).
#
# If *file* is enabled here, make sure to have the *fstab* module
# as well (later in the exec phase) so that the swap file is
# actually created.
userSwapChoices:
- none # Create no swap, use no swap
- small # Up to 4GB
- suspend # At least main memory size
# - reuse # Re-use existing swap, but don't create any (unsupported right now)
- file # To swap file instead of partition
# This optional setting specifies the name of the swap partition (see
# PARTLABEL; gpt only; requires KPMCore >= 4.2.0).
# If nothing is specified, the partition name is left unset.
# swapPartitionName: swap
# LEGACY SETTINGS (these will generate a warning)
# ensureSuspendToDisk: true
# neverCreateSwap: false
# This setting specifies the LUKS generation (i.e LUKS1, LUKS2) used internally by
# cryptsetup when creating an encrypted partition.
#
# This option is set to luks1 by default, as grub doesn't support LUKS2 + Argon2id
# currently. On the other hand grub does support LUKS2 with PBKDF2 and could therefore be
# also set to luks2. Also there are some patches for grub and Argon2.
# See: https://aur.archlinux.org/packages/grub-improved-luks2-git
#
# Choices: luks1, luks2 (in addition, "luks" means "luks1")
#
# The default is luks1
#
luksGeneration: luks2
# This setting determines if encryption should be allowed when using zfs. This
# setting has no effect unless zfs support is provided.
#
# This setting is to handle the fact that some bootloaders(such as grub) do not
# support zfs encryption.
#
# The default is true
#
# allowZfsEncryption: true
# Correctly draw nested (e.g. logical) partitions as such.
drawNestedPartitions: false
# Show/hide partition labels on manual partitioning page.
alwaysShowPartitionLabels: true
# Allow manual partitioning.
#
# When set to false, this option hides the "Manual partitioning" button,
# limiting the user's choice to "Erase", "Replace" or "Alongside".
# This can be useful when using a custom partition layout we don't want
# the user to modify.
#
# If nothing is specified, manual partitioning is enabled.
#allowManualPartitioning: true
# Show not encrypted boot partition warning.
#
# When set to false, this option does not show the
# "Boot partition not encrypted" warning when encrypting the
# root partition but not /boot partition.
#
# If nothing is specified, the warning is shown.
#showNotEncryptedBootMessage: true
# Initial selection on the Choice page
#
# There are four radio buttons (in principle: erase, replace, alongside, manual),
# and you can pick which of them, if any, is initially selected. For most
# installers, "none" is the right choice: it makes the user pick something specific,
# rather than accidentally being able to click past an important choice (in particular,
# "erase" is a dangerous choice).
#
# The default is "none"
#
initialPartitioningChoice: erase
#
# Similarly, some of the installation choices may offer a choice of swap;
# the available choices depend on *userSwapChoices*, above, and this
# setting can be used to pick a specific one.
#
# The default is "none" (no swap) if that is one of the enabled options, otherwise
# one of the items from the options.
initialSwapChoice: file
# VesperOS 3-partition layout: EFI (512MiB) + Recovery (512MiB) + Root (rest)
# The EFI partition is prepended automatically by Calamares.
# The recovery partition gets recovery.bzImage copied to it by the postinstall script.
partitionLayout:
- name: "recovery"
filesystem: "ext4"
noEncrypt: true
size: 512MiB
- name: "rootfs"
filesystem: "unknown"
mountPoint: "/"
size: 100%
# armInstall
#
# Leaves 16MB empty at the start of a drive when partitioning
# where usually the u-boot loader goes
#
# armInstall: false
# Default partition table type, used when a "erase" disk is made.
#
# When erasing a disk, a new partition table is created on disk.
# In other cases, e.g. Replace and Alongside, as well as when using
# manual partitioning, this partition table exists already on disk
# and it is left unmodified.
#
# Possible values: gpt, msdos (or other names defined by KPMcore).
# Names are case-sensitive.
#
# If nothing is specified, Calamares defaults to "gpt" if system is
# efi or "msdos" otherwise.
#
# defaultPartitionTableType: msdos
# Requirement for partition table type
#
# Restrict the installation on disks that match the type of partition
# tables that are specified.
#
# Possible values: msdos, gpt (or other names defined by KPMcore).
# Names are case-sensitive.
#
# If nothing is specified, Calamares defaults to both "msdos" and "gpt".
#
# requiredPartitionTableType: gpt
# requiredPartitionTableType:
# - msdos
# - gpt
# Default filesystem type, used when a "new" partition is made.
#
# When replacing a partition, the new filesystem type will be from the
# defaultFileSystemType value. In other cases, e.g. Erase and Alongside,
# as well as when using manual partitioning and creating a new
# partition, this filesystem type is pre-selected. Note that
# editing a partition in manual-creation mode will not automatically
# change the filesystem type to this default value -- it is not
# creating a new partition.
#
# Suggested values: ext2, ext3, ext4, reiser, xfs, jfs, btrfs
# If nothing is specified, Calamares defaults to "ext4".
#
# Names are case-sensitive and defined by KPMCore.
defaultFileSystemType: "btrfs"
# Selectable filesystem type, used when "erase" is done.
#
# When erasing the disk, the *defaultFileSystemType* is used (see
# above), but it is also possible to give users a choice:
# list suitable filesystems here. A drop-down is provided
# to pick which is the filesystems will be used.
#
# The value *defaultFileSystemType* is added to this list (with a warning)
# if not present; the default pick is the *defaultFileSystemType*.
#
# If not specified at all, uses *defaultFileSystemType* without a
# warning (this matches traditional no-choice-available behavior best).
# availableFileSystemTypes: ["ext4","f2fs"]
# Per-directory filesystem restrictions.
#
# This optional setting specifies what filesystems the user can and cannot use
# for various directories and mountpoints when using manual partitioning.
#
# If nothing is specified, the only restriction enforced by default is that
# the EFI system partition must use the fat32 filesystem.
#
# Otherwise, the filesystem restrictions are defined as follow:
#
# directoryFilesystemRestrictions:
# - directory: "any"
# allowedFilesystemTypes: ["all"]
# - directory: "/"
# allowedFilesystemTypes: ["ext4","xfs","btrfs","jfs","f2fs"]
# - mountpoint: "efi"
# allowedFilesystemTypes: ["fat32"]
# onlyWhenMountpoint: true
#
# There can be any number of mountpoints listed, each entry having the
# following attributes:
# - mountpoint: mountpoint's full path
# or
# "any" to specify a global whitelist that applies to all
# mountpoints
# or
# "efi" to specify a whitelist specific to the EFI system
# partition, wherever that partition is located
# - allowedFilesystemTypes: the list of all filesystems valid for this
# mountpoint. If the list contains exactly one
# element, and that element is the special value
# "any", all filesystem types recognized by
# Calamares will be allowed.
# - onlyWhenMountpoint: Whether the restriction should apply only when the
# specified directory is a mountpoint. When set to
# true, Calamares will only enforce the listed
# restrictions when the user makes a separate partition
# for this directory and assigns the mountpoint
# accordingly. When set to false, Calamares will
# ensure this directory uses the specified filesystem
# even if the directory is part of a filesystem on a
# different mountpoint. Defaults to false.
# The ClearMounts job unmounts / unmaps things before partitioning.
# Some special entries under /dev/mapper are excepted from this process.
# The example lists the three hard-coded exceptions which always apply
# (they don't need to be listed here). Add other names or wildcards (with
# a trailing '*') to this list if the live-ISO has additional mounts.
essentialMounts: [ "live-*", "control", "ventoy" ]
# Show/hide LUKS related functionality in automated partitioning modes.
# Disable this if you choose not to deploy early unlocking support in GRUB2
# and/or your distribution's initramfs solution.
#
# BIG FAT WARNING:
#
# This option is unsupported, as it cuts out a crucial security feature.
# Disabling LUKS and shipping Calamares without a correctly configured GRUB2
# and initramfs is considered suboptimal use of the Calamares software. The
# Calamares team will not provide user support for any potential issue that
# may arise as a consequence of setting this option to false.
# It is strongly recommended that system integrators put in the work to support
# LUKS unlocking support in GRUB2 and initramfs/dracut/mkinitcpio/etc.
# For more information on setting up GRUB2 for Calamares with LUKS, see
# https://github.com/calamares/calamares/wiki/Deploy-LUKS
#
# If nothing is specified, LUKS is enabled in automated modes.
#enableLuksAutomatedPartitioning: true
# When enableLuksAutomatedPartitioning is true, this option will pre-check
# encryption checkbox. This option is only usefull to help people to not forget
# to cypher their disk when installing in enterprise (for exemple).
#preCheckEncryption: false
# LVM support
#
# There is only one sub-key available, *enable* (defaults to true)
# which can be used to show (default) or hide the LVM buttons in the partitioning module.
lvm:
enable: false
# Partition layout.
#
# This optional setting specifies a custom partition layout.
#
# If nothing is specified, the default partition layout is a single partition
# for root that uses 100% of the space and uses the filesystem defined by
# defaultFileSystemType.
#
# Note: the EFI system partition is prepended automatically to the layout if
# needed; the swap partition is appended to the layout if enabled (selections
# "small" or "suspend" in *userSwapChoices*).
#
# Otherwise, the partition layout is defined as follow:
#
# partitionLayout:
# - name: "rootfs"
# type: "4f68bce3-e8cd-4db1-96e7-fbcaf984b709"
# filesystem: "ext4"
# noEncrypt: false
# mountPoint: "/"
# size: 20%
# minSize: 500M
# maxSize: 10G
# attributes: 0xffff000000000003
# - name: "home"
# type: "933ac7e1-2eb4-4f13-b844-0e14e2aef915"
# filesystem: "ext4"
# noEncrypt: false
# mountPoint: "/home"
# size: 3G
# minSize: 1.5G
# features:
# 64bit: false
# casefold: true
# - name: "data"
# filesystem: "fat32"
# mountPoint: "/data"
# features:
# sector-size: 4096
# sectors-per-cluster: 128
# size: 100%
#
# There can be any number of partitions, each entry having the following attributes:
# - name: filesystem label
# and
# partition name (gpt only; since KPMCore 4.2.0)
# - uuid: partition uuid (optional parameter; gpt only; requires KPMCore >= 4.2.0)
# - type: partition type (optional parameter; gpt only; requires KPMCore >= 4.2.0)
# - attributes: partition attributes (optional parameter; gpt only; requires KPMCore >= 4.2.0)
# - filesystem: filesystem type (optional parameter)
# - if not set at all, treat as "unformatted"
# - if "unformatted", no filesystem will be created
# - if "unknown" (or an unknown FS name, like "elephant") then the
# default filesystem type, or the user's choice, will be applied instead
# of "unknown" (e.g. the user might pick ext4, or xfs).
# - noEncrypt: whether this partition is exempt from encryption if enabled (optional parameter; default is false)
# - mountPoint: partition mount point (optional parameter; not mounted if unset)
# - size: partition size in bytes (append 'K', 'M' or 'G' for KiB, MiB or GiB)
# or
# % of the available drive space if a '%' is appended to the value
# - minSize: minimum partition size (optional parameter)
# - maxSize: maximum partition size (optional parameter)
# - features: filesystem features (optional parameter; requires KPMCore >= 4.2.0)
# name: boolean or integer or string
# Checking for available storage
#
# This overlaps with the setting of the same name in the welcome module's
# requirements section. If nothing is set by the welcome module, this
# value is used instead. It is still a problem if there is no required
# size set at all, and the replace and resize options will not be offered
# if no required size is set.
#
# The value is in Gibibytes (GiB).
#
# BIG FAT WARNING: except for OEM-phase-0 use, you should be using
# the welcome module, **and** configure this value in
# `welcome.conf`, not here.
# requiredStorage: 3.5
+1 -1
View File
@@ -1,5 +1,5 @@
---
unpack:
- source: "/run/live/medium/live/filesystem.squashfs"
- source: "/run/live/medium/live/vesperos/filesystem.squashfs"
sourcefs: "squashfs"
destination: ""
+22
View File
@@ -0,0 +1,22 @@
---
# update-check module configuration
#
# package_hooks defines actions to run if a listed package has a pending update.
#
# Each hook has:
# package: the package name to watch
# condition: (optional) when to apply the action
# Supported operators: == and !=
# Supported variables: arch (output of dpkg --print-architecture)
# Wildcards: * matches any substring
# Examples:
# arch == amd64
# arch != arm*
# Omit or leave empty to always apply.
# do: action to take
# reinstall - apt-get install --reinstall <package>
# install - apt-get install <package>
# remove - apt-get remove <package>
# script:/path/to/x - run /path/to/x with <package> as $1
package_hooks: []
+7
View File
@@ -1,4 +1,5 @@
---
userShell: /bin/zsh
userGroup: users
defaultGroups:
- cdrom
@@ -15,3 +16,9 @@ defaultGroups:
autologinGroup: autologin
sudoersGroup: sudo
setRootPassword: false
passwordRequirements:
nonempty: true
minLength: 6 # Password at least this many characters
maxLength: -1 # Password at most this many characters
+1 -1
View File
@@ -4,7 +4,7 @@ showKnownIssuesUrl: true
showReleaseNotesUrl: true
requirements:
requiredStorage: 10
requiredStorage: 15
requiredRam: 1.0
check:
- storage
+10 -12
View File
@@ -46,6 +46,7 @@ sequence:
# Jobs should be executed sparingly (if at all) in this phase.
- show:
- welcome
- sources-media-live
- locale
- keyboard
- partition
@@ -59,11 +60,11 @@ sequence:
# view module jobs should be enqueued. Job modules are
# also allowed.
- exec:
- update-check
- partition
- mount
- unpackfs
- dpkg-unsafe-io
- sources-media
- unpackfs
- machineid
- fstab
- locale
@@ -74,17 +75,14 @@ sequence:
- networkcfg
- hwclock
- services-systemd
- bootloader-config
- grubcfg
- bootloader
- sources-media
- packages
- luksbootkeyfile
- plymouthcfg
- initramfscfg
- initramfs
- dpkg-unsafe-io-undo
- sources-media-unmount
- sources-final
- sources-media-unmount
- system-upgrade
- bootloader-config
- bootloader
- postinstall
- umount
# Phase 3 - postinstall.
@@ -102,7 +100,7 @@ sequence:
# Only the name of the branding component (directory) should be
# specified here, Calamares then takes care of finding it and
# loading the contents.
branding: debian
branding: vesperos
# If this is set to true, Calamares will show an "Are you sure?" prompt right
# before each execution phase, i.e. at points of no return. If this is set to
@@ -1,10 +0,0 @@
# Launcher icons
[org.gnome.shell]
favorite-apps=['install-debian.desktop', 'firefox-esr.desktop', 'org.gnome.Evolution.desktop', 'rhythmbox.desktop', 'libreoffice-writer.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop', 'yelp.desktop']
# We don't want the screensaver to enable on the live media while installing
[org.gnome.desktop.lockdown]
disable-lock-screen=true
[org.gnome.desktop.session]
idle-delay=0
@@ -0,0 +1,10 @@
# Launcher icons
[org.gnome.shell]
favorite-apps=['calamares-install-vesperos.desktop','firefox-esr.desktop', 'org.gnome.Nautilus.desktop']
# We don't want the screensaver to enable on the live media while installing
[org.gnome.desktop.lockdown]
disable-lock-screen=true
[org.gnome.desktop.session]
idle-delay=0
-5
View File
@@ -1,5 +0,0 @@
.debhelper/
calamares-settings-debian.substvars
calamares-settings-debian/
debhelper-build-stamp
files
+8 -190
View File
@@ -1,192 +1,10 @@
calamares-settings-debian (12.0.1-1) unstable; urgency=medium
calamares-settings-vesperos (26.1) vesperos; urgency=medium
[ Debian Janitor ]
* Set upstream metadata fields: Repository, Repository-Browse.
* Update standards version to 4.6.0, no changes needed.
* VesperOS fork of Debian's calamares-settings-debian package.
* Replaced all Debian branding with VesperOS artwork and configuration.
* Replaced compiled C++ update-check viewmodule with a Python job module.
* Moved update-check to exec phase; removed Qt6 build dependency.
* Added custom postinstall, bootloader-config, sources-media modules.
* Configured Calamares for VesperOS live install workflow.
[ Jonathan Carter ]
* New release
- Use force-unsafe-io to speed up dpkg actions (Closes: #984794)
-- Jonathan Carter <jcc@debian.org> Mon, 09 May 2022 13:37:12 +0200
calamares-settings-debian (11.0.5-2) unstable; urgency=medium
* Add supplimental information to previous changelog entry
-- Jonathan Carter <jcc@debian.org> Mon, 26 Jul 2021 10:27:12 +0200
calamares-settings-debian (11.0.5-1) unstable; urgency=medium
* New upstream release
- Corrects the apt sources for security updates (Closes: #991474)
-- Jonathan Carter <jcc@debian.org> Sun, 25 Jul 2021 14:10:24 +0200
calamares-settings-debian (11.0.4-1) unstable; urgency=medium
* New upstream release
-- Jonathan Carter <jcc@debian.org> Wed, 11 Nov 2020 14:54:50 +0200
calamares-settings-debian (11.0.3-1) unstable; urgency=medium
* New upstream release
(Closes: #969930, #941301)
-- Jonathan Carter <jcc@debian.org> Sun, 18 Oct 2020 19:48:10 +0200
calamares-settings-debian (11.0.2-1) unstable; urgency=medium
* New upstream release
(Closes: #934503, #934504, #959541)
* Update standards version to 4.5.0
* Upgrade to debhelper-compat 13
* Declare Rules-Requires-Root: no
* Update copyright years
-- Jonathan Carter <jcc@debian.org> Wed, 15 Jul 2020 18:39:57 +0200
calamares-settings-debian (11.0.1-1) unstable; urgency=medium
* New upstream release
-- Jonathan Carter <jcc@debian.org> Wed, 25 Sep 2019 10:36:54 +0000
calamares-settings-debian (10.0.25-2) unstable; urgency=medium
* Initial source-only upload
* Update standards version to 4.4.0
-- Jonathan Carter <jcc@debian.org> Mon, 05 Aug 2019 21:30:20 +0200
calamares-settings-debian (10.0.25-1) unstable; urgency=medium
* New upstream release
- Refine fix for initramfs permissions, only apply
when encryption is enabled
-- Jonathan Carter <jcc@debian.org> Fri, 05 Jul 2019 17:37:33 +0200
calamares-settings-debian (10.0.24-1) unstable; urgency=medium
* New upstream release
- Fix path in previous CVE bug fix
-- Jonathan Carter <jcc@debian.org> Wed, 03 Jul 2019 13:29:07 +0000
calamares-settings-debian (10.0.23-1) unstable; urgency=medium
* New upstream release
- Fixes permissions for initramfs image (CVE-2019-13179)
(Closes: #931373)
-- Jonathan Carter <jcc@debian.org> Wed, 03 Jul 2019 13:05:47 +0000
calamares-settings-debian (10.0.20-1) unstable; urgency=medium
* New upstream release
- Configure Desktop icon for calamares
-- Jonathan Carter <jcc@debian.org> Thu, 18 Apr 2019 08:18:37 +0000
calamares-settings-debian (10.0.19-1) unstable; urgency=medium
* New upstream release
- Don't install unnecessary efi file (Closes: #927102)
- Fix distribution description
- Fix release notes URL
-- Jonathan Carter <jcc@debian.org> Mon, 15 Apr 2019 13:32:36 +0000
calamares-settings-debian (10.0.18-1) unstable; urgency=medium
* New upstream releas
- fix efi install path to EFI/debian
* Update to debhelper-compat (=12)
-- Jonathan Carter <jcc@debian.org> Fri, 15 Feb 2019 16:06:39 +0200
calamares-settings-debian (10.0.17-1) unstable; urgency=medium
* New upstream release
- explicitly remove calamares-settings-debian from calamares packages
module
-- Jonathan Carter <jcc@debian.org> Wed, 16 Jan 2019 19:14:36 +0200
calamares-settings-debian (10.0.16-1) unstable; urgency=medium
* New upstream release
* Fix package description (Closes: #918222)
-- Jonathan Carter <jcc@debian.org> Wed, 16 Jan 2019 12:15:28 +0200
calamares-settings-debian (10.0.15-1) unstable; urgency=medium
* New upstream release
* Update standards version to 4.3.0
-- Jonathan Carter <jcc@debian.org> Tue, 08 Jan 2019 10:48:47 +0200
calamares-settings-debian (10.0.14-1) unstable; urgency=medium
* New upstream release
-- Jonathan Carter <jcc@debian.org> Mon, 10 Dec 2018 15:32:26 +0200
calamares-settings-debian (10.0.13-1) unstable; urgency=medium
* New upstream release
* Add libglib2.0-bin to build-depends
-- Jonathan Carter <jcc@debian.org> Sat, 01 Dec 2018 11:40:55 +0200
calamares-settings-debian (10.0.10-2) unstable; urgency=medium
* Fix diverts (Closes: #909492)
-- Jonathan Carter <jcc@debian.org> Tue, 25 Sep 2018 14:32:01 +0200
calamares-settings-debian (10.0.10-1) unstable; urgency=medium
* New upstream release
-- Jonathan Carter <jcc@debian.org> Wed, 19 Sep 2018 10:58:27 +0200
calamares-settings-debian (10.0.9-1) unstable; urgency=medium
* New usptream release
* Add divert to hide original Calamares icon
* Update standards version to 4.2.1
-- Jonathan Carter <jcc@debian.org> Tue, 18 Sep 2018 20:17:54 +0200
calamares-settings-debian (10.0.8-2) unstable; urgency=medium
* Fix watch file
* Update standards version to 4.2.0
-- Jonathan Carter <jcc@debian.org> Thu, 09 Aug 2018 09:29:48 +0200
calamares-settings-debian (10.0.8-1) unstable; urgency=medium
* New upstream release
* Update watch file
-- Jonathan Carter <jcc@debian.org> Mon, 25 Jun 2018 12:29:07 +0200
calamares-settings-debian (10.0.3-1) unstable; urgency=medium
* New upstream release
* Update watch file to new upstream location on salsa
* Fix indentation in copyright file
* Update VCS to salsa.debian.org
-- Jonathan Carter <jcc@debian.org> Sat, 19 May 2018 12:14:25 +0200
calamares-settings-debian (10.0.2-1) unstable; urgency=medium
* Initial release (Closes: #847766)
-- Jonathan Carter <jcc@debian.org> Sat, 28 Apr 2018 18:06:34 +0200
-- VesperOS Desktop Team <contact@oxmc.me> Thu, 03 Apr 2026 00:00:00 +0000
+13 -13
View File
@@ -1,28 +1,28 @@
Source: calamares-settings-debian
Source: calamares-settings-vesperos
Section: utils
Priority: optional
Maintainer: Jonathan Carter <jcc@debian.org>
Build-Depends: debhelper-compat (= 13), libglib2.0-bin
Standards-Version: 4.6.0
Maintainer: VesperOS Team <contact@oxmc.me>
Build-Depends: debhelper-compat (= 13),
libglib2.0-bin,
python3
Standards-Version: 4.6.2
Rules-Requires-Root: no
Homepage: https://salsa.debian.org/live-team/calamares-settings-debian
Vcs-Git: https://salsa.debian.org/live-team/calamares-settings-debian-packaging.git
Vcs-Browser: https://salsa.debian.org/live-team/calamares-settings-debian-packaging
Homepage: https://github.com/VesperOS/vesperos
Package: calamares-settings-debian
Package: calamares-settings-vesperos
Architecture: all
Depends: calamares,
rsync,
cryptsetup,
libglib2.0-bin,
keyutils,
pkexec,
qml-module-qtquick-window2,
qml-module-qtquick2,
${misc:Depends}
Provides: calamares-settings
Description: Debian theme and settings for the Calamares Installer
Description: VesperOS theme and settings for the Calamares Installer
Calamares is a generic installer framework for Linux distributions.
By default, it contains a set of boilerplate wording and images. This
package provides the latest Debian artwork as well as scripts that
package provides the VesperOS artwork as well as scripts that
supports EFI installations.
.
It also serves as an example for how derivatives can create their own
calamares-settings packages.
+11 -339
View File
@@ -1,22 +1,24 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: calamares-settings-debian
Source: https://gitlab.com/highvoltage/calamares-settings-debian
Upstream-Name: calamares-settings-vesperos
Upstream-Contact: VesperOS Desktop Team <contact@oxmc.me>
Source: https://git.oxmc.me/Chillcraft/calamares-settings-vesperos
Comment: VesperOS fork of calamares-settings-debian by Jonathan Carter.
See NOTICE.txt for upstream attribution.
Files: *
Copyright: 2016-2020, Jonathan Carter <jcc@debian.org>
Copyright: 2025-2026 VesperOS Desktop Team <contact@oxmc.me>
2016-2024 Jonathan Carter <jcc@debian.org>
License: ISC
Files: calamares/branding/debian/*png
Copyright: 2019 Isabelle Simpkins <isy@koipond.org.uk>
License: CC-BY-SA-3.0
Files: debian/*
Copyright: 2016-2020 Jonathan Carter <jcc@debian.org>
Copyright: 2025-2026 VesperOS Desktop Team <contact@oxmc.me>
2016-2024 Jonathan Carter <jcc@debian.org>
License: ISC
Files: calamares/branding/debian/show.qml
Files: calamares/branding/vesperos/show.qml
Copyright: 2015 Teo Mrnjavac <teo@kde.org>
2018 Jonathan Carter <jcc@debian.org>
2025-2026 VesperOS Desktop Team <contact@oxmc.me>
License: GPL-2+
This program is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public
@@ -30,17 +32,11 @@ License: GPL-2+
PURPOSE. See the GNU General Public License for more
details.
.
You should have received a copy of the GNU General Public
License along with this package; if not, write to the Free
Software Foundation, Inc., 51 Franklin St, Fifth Floor,
Boston, MA 02110-1301 USA
.
On Debian systems, the full text of the GNU General Public
License version 2 can be found in the file
`/usr/share/common-licenses/GPL-2'.
License: ISC
ISC License
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
@@ -52,327 +48,3 @@ License: ISC
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
License: CC-BY-SA-3.0
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
CONDITIONS.
.
1. Definitions
.
a. "Adaptation" means a work based upon the Work, or upon the Work and
other pre-existing works, such as a translation, adaptation,
derivative work, arrangement of music or other alterations of a
literary or artistic work, or phonogram or performance and includes
cinematographic adaptations or any other form in which the Work may be
recast, transformed, or adapted including in any form recognizably
derived from the original, except that a work that constitutes a
Collection will not be considered an Adaptation for the purpose of
this License. For the avoidance of doubt, where the Work is a musical
work, performance or phonogram, the synchronization of the Work in
timed-relation with a moving image ("synching") will be considered an
Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as
encyclopedias and anthologies, or performances, phonograms or
broadcasts, or other works or subject matter other than works listed
in Section 1(f) below, which, by reason of the selection and
arrangement of their contents, constitute intellectual creations, in
which the Work is included in its entirety in unmodified form along
with one or more other contributions, each constituting separate and
independent works in themselves, which together are assembled into a
collective whole. A work that constitutes a Collection will not be
considered an Adaptation (as defined below) for the purposes of this
License.
c. "Creative Commons Compatible License" means a license that is listed
at https://creativecommons.org/compatiblelicenses that has been
approved by Creative Commons as being essentially equivalent to this
License, including, at a minimum, because that license: (i) contains
terms that have the same purpose, meaning and effect as the License
Elements of this License; and, (ii) explicitly permits the relicensing
of adaptations of works made available under that license under this
License or a Creative Commons jurisdiction license with the same
License Elements as this License.
d. "Distribute" means to make available to the public the original and
copies of the Work or Adaptation, as appropriate, through sale or
other transfer of ownership.
e. "License Elements" means the following high-level license attributes
as selected by Licensor and indicated in the title of this License:
Attribution, ShareAlike.
f. "Licensor" means the individual, individuals, entity or entities that
offer(s) the Work under the terms of this License.
g. "Original Author" means, in the case of a literary or artistic work,
the individual, individuals, entity or entities who created the Work
or if no individual or entity can be identified, the publisher; and in
addition (i) in the case of a performance the actors, singers,
musicians, dancers, and other persons who act, sing, deliver, declaim,
play in, interpret or otherwise perform literary or artistic works or
expressions of folklore; (ii) in the case of a phonogram the producer
being the person or legal entity who first fixes the sounds of a
performance or other sounds; and, (iii) in the case of broadcasts, the
organization that transmits the broadcast.
h. "Work" means the literary and/or artistic work offered under the terms
of this License including without limitation any production in the
literary, scientific and artistic domain, whatever may be the mode or
form of its expression including digital form, such as a book,
pamphlet and other writing; a lecture, address, sermon or other work
of the same nature; a dramatic or dramatico-musical work; a
choreographic work or entertainment in dumb show; a musical
composition with or without words; a cinematographic work to which are
assimilated works expressed by a process analogous to cinematography;
a work of drawing, painting, architecture, sculpture, engraving or
lithography; a photographic work to which are assimilated works
expressed by a process analogous to photography; a work of applied
art; an illustration, map, plan, sketch or three-dimensional work
relative to geography, topography, architecture or science; a
performance; a broadcast; a phonogram; a compilation of data to the
extent it is protected as a copyrightable work; or a work performed by
a variety or circus performer to the extent it is not otherwise
considered a literary or artistic work.
i. "You" means an individual or entity exercising rights under this
License who has not previously violated the terms of this License with
respect to the Work, or who has received express permission from the
Licensor to exercise rights under this License despite a previous
violation.
j. "Publicly Perform" means to perform public recitations of the Work and
to communicate to the public those public recitations, by any means or
process, including by wire or wireless means or public digital
performances; to make available to the public Works in such a way that
members of the public may access these Works from a place and at a
place individually chosen by them; to perform the Work to the public
by any means or process and the communication to the public of the
performances of the Work, including by public digital performance; to
broadcast and rebroadcast the Work by any means including signs,
sounds or images.
k. "Reproduce" means to make copies of the Work by any means including
without limitation by sound or visual recordings and the right of
fixation and reproducing fixations of the Work, including storage of a
protected performance or phonogram in digital form or other electronic
medium.
.
2. Fair Dealing Rights. Nothing in this License is intended to reduce,
limit, or restrict any uses free from copyright or rights arising from
limitations or exceptions that are provided for in connection with the
copyright protection under copyright law or other applicable laws.
.
3. License Grant. Subject to the terms and conditions of this License,
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
perpetual (for the duration of the applicable copyright) license to
exercise the rights in the Work as stated below:
.
a. to Reproduce the Work, to incorporate the Work into one or more
Collections, and to Reproduce the Work as incorporated in the
Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation,
including any translation in any medium, takes reasonable steps to
clearly label, demarcate or otherwise identify that changes were made
to the original Work. For example, a translation could be marked "The
original work was translated from English to Spanish," or a
modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated
in Collections; and,
d. to Distribute and Publicly Perform Adaptations.
e. For the avoidance of doubt:
.
i. Non-waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme cannot be waived, the Licensor
reserves the exclusive right to collect such royalties for any
exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme can be waived, the Licensor waives the
exclusive right to collect such royalties for any exercise by You
of the rights granted under this License; and,
iii. Voluntary License Schemes. The Licensor waives the right to
collect royalties, whether individually or, in the event that the
Licensor is a member of a collecting society that administers
voluntary licensing schemes, via that society, from any exercise
by You of the rights granted under this License.
.
The above rights may be exercised in all media and formats whether now
known or hereafter devised. The above rights include the right to make
such modifications as are technically necessary to exercise the rights in
other media and formats. Subject to Section 8(f), all rights not expressly
granted by Licensor are hereby reserved.
.
4. Restrictions. The license granted in Section 3 above is expressly made
subject to and limited by the following restrictions:
.
a. You may Distribute or Publicly Perform the Work only under the terms
of this License. You must include a copy of, or the Uniform Resource
Identifier (URI) for, this License with every copy of the Work You
Distribute or Publicly Perform. You may not offer or impose any terms
on the Work that restrict the terms of this License or the ability of
the recipient of the Work to exercise the rights granted to that
recipient under the terms of the License. You may not sublicense the
Work. You must keep intact all notices that refer to this License and
to the disclaimer of warranties with every copy of the Work You
Distribute or Publicly Perform. When You Distribute or Publicly
Perform the Work, You may not impose any effective technological
measures on the Work that restrict the ability of a recipient of the
Work from You to exercise the rights granted to that recipient under
the terms of the License. This Section 4(a) applies to the Work as
incorporated in a Collection, but this does not require the Collection
apart from the Work itself to be made subject to the terms of this
License. If You create a Collection, upon notice from any Licensor You
must, to the extent practicable, remove from the Collection any credit
as required by Section 4(c), as requested. If You create an
Adaptation, upon notice from any Licensor You must, to the extent
practicable, remove from the Adaptation any credit as required by
Section 4(c), as requested.
b. You may Distribute or Publicly Perform an Adaptation only under the
terms of: (i) this License; (ii) a later version of this License with
the same License Elements as this License; (iii) a Creative Commons
jurisdiction license (either this or a later license version) that
contains the same License Elements as this License (e.g.,
Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible
License. If you license the Adaptation under one of the licenses
mentioned in (iv), you must comply with the terms of that license. If
you license the Adaptation under the terms of any of the licenses
mentioned in (i), (ii) or (iii) (the "Applicable License"), you must
comply with the terms of the Applicable License generally and the
following provisions: (I) You must include a copy of, or the URI for,
the Applicable License with every copy of each Adaptation You
Distribute or Publicly Perform; (II) You may not offer or impose any
terms on the Adaptation that restrict the terms of the Applicable
License or the ability of the recipient of the Adaptation to exercise
the rights granted to that recipient under the terms of the Applicable
License; (III) You must keep intact all notices that refer to the
Applicable License and to the disclaimer of warranties with every copy
of the Work as included in the Adaptation You Distribute or Publicly
Perform; (IV) when You Distribute or Publicly Perform the Adaptation,
You may not impose any effective technological measures on the
Adaptation that restrict the ability of a recipient of the Adaptation
from You to exercise the rights granted to that recipient under the
terms of the Applicable License. This Section 4(b) applies to the
Adaptation as incorporated in a Collection, but this does not require
the Collection apart from the Adaptation itself to be made subject to
the terms of the Applicable License.
c. If You Distribute, or Publicly Perform the Work or any Adaptations or
Collections, You must, unless a request has been made pursuant to
Section 4(a), keep intact all copyright notices for the Work and
provide, reasonable to the medium or means You are utilizing: (i) the
name of the Original Author (or pseudonym, if applicable) if supplied,
and/or if the Original Author and/or Licensor designate another party
or parties (e.g., a sponsor institute, publishing entity, journal) for
attribution ("Attribution Parties") in Licensor's copyright notice,
terms of service or by other reasonable means, the name of such party
or parties; (ii) the title of the Work if supplied; (iii) to the
extent reasonably practicable, the URI, if any, that Licensor
specifies to be associated with the Work, unless such URI does not
refer to the copyright notice or licensing information for the Work;
and (iv) , consistent with Ssection 3(b), in the case of an
Adaptation, a credit identifying the use of the Work in the Adaptation
(e.g., "French translation of the Work by Original Author," or
"Screenplay based on original Work by Original Author"). The credit
required by this Section 4(c) may be implemented in any reasonable
manner; provided, however, that in the case of a Adaptation or
Collection, at a minimum such credit will appear, if a credit for all
contributing authors of the Adaptation or Collection appears, then as
part of these credits and in a manner at least as prominent as the
credits for the other contributing authors. For the avoidance of
doubt, You may only use the credit required by this Section for the
purpose of attribution in the manner set out above and, by exercising
Your rights under this License, You may not implicitly or explicitly
assert or imply any connection with, sponsorship or endorsement by the
Original Author, Licensor and/or Attribution Parties, as appropriate,
of You or Your use of the Work, without the separate, express prior
written permission of the Original Author, Licensor and/or Attribution
Parties.
d. Except as otherwise agreed in writing by the Licensor or as may be
otherwise permitted by applicable law, if You Reproduce, Distribute or
Publicly Perform the Work either by itself or as part of any
Adaptations or Collections, You must not distort, mutilate, modify or
take other derogatory action in relation to the Work which would be
prejudicial to the Original Author's honor or reputation. Licensor
agrees that in those jurisdictions (e.g. Japan), in which any exercise
of the right granted in Section 3(b) of this License (the right to
make Adaptations) would be deemed to be a distortion, mutilation,
modification or other derogatory action prejudicial to the Original
Author's honor and reputation, the Licensor will waive or not assert,
as appropriate, this Section, to the fullest extent permitted by the
applicable national law, to enable You to reasonably exercise Your
right under Section 3(b) of this License (right to make Adaptations)
but not otherwise.
.
5. Representations, Warranties and Disclaimer
.
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
.
7. Termination
.
a. This License and the rights granted hereunder will terminate
automatically upon any breach by You of the terms of this License.
Individuals or entities who have received Adaptations or Collections
from You under this License, however, will not have their licenses
terminated provided such individuals or entities remain in full
compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
survive any termination of this License.
b. Subject to the above terms and conditions, the license granted here is
perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the
Work under different license terms or to stop distributing the Work at
any time; provided, however that any such election will not serve to
withdraw this License (or any other license that has been, or is
required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as
stated above.
.
8. Miscellaneous
.
a. Each time You Distribute or Publicly Perform the Work or a Collection,
the Licensor offers to the recipient a license to the Work on the same
terms and conditions as the license granted to You under this License.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
offers to the recipient a license to the original Work on the same
terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this License, and without further action
by the parties to this agreement, such provision shall be reformed to
the minimum extent necessary to make such provision valid and
enforceable.
d. No term or provision of this License shall be deemed waived and no
breach consented to unless such waiver or consent shall be in writing
and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with
respect to the Work licensed here. There are no understandings,
agreements or representations with respect to the Work not specified
here. Licensor shall not be bound by any additional provisions that
may appear in any communication from You. This License may not be
modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this
License were drafted utilizing the terminology of the Berne Convention
for the Protection of Literary and Artistic Works (as amended on
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
and the Universal Copyright Convention (as revised on July 24, 1971).
These rights and subject matter take effect in the relevant
jurisdiction in which the License terms are sought to be enforced
according to the corresponding provisions of the implementation of
those treaty provisions in the applicable national law. If the
standard suite of rights granted under applicable copyright law
includes additional rights not granted under this License, such
additional rights are deemed to be included in the License; this
License is not intended to restrict the license of any rights under
+4 -4
View File
@@ -1,9 +1,9 @@
calamares etc
calamares-modules/* usr/lib/calamares/modules
scripts/* usr/sbin
helpers/* usr/share/calamares/helpers
*.desktop usr/share/applications
install-debian usr/bin
artwork/install-debian.png usr/share/pixmaps
conf/96_calamares-settings-debian.gschema.override usr/share/glib-2.0/schemas
calamares-install-vesperos usr/bin
artwork/install-vesperos.png usr/share/pixmaps
conf/96_calamares-settings-vesperos.gschema.override usr/share/glib-2.0/schemas
conf/calamares-desktop-icon.desktop etc/xdg/autostart
add-calamares-desktop-icon usr/bin
+2 -2
View File
@@ -1,5 +1,5 @@
# Only meant to be run by calamares, so its scripts wouldn't have manpages
calamares-settings-debian: binary-without-manpage
calamares-settings-vesperos: binary-without-manpage
# We don't provide this file on purpose
calamares-settings-debian: diversion-for-unknown-file
calamares-settings-vesperos: diversion-for-unknown-file
+1 -1
View File
@@ -4,7 +4,7 @@ set -e
case "$1" in
remove)
# Restore original Calamares icon
dpkg-divert --quiet --rename --package calamares-settings-debian \
dpkg-divert --quiet --rename --package calamares-settings-vesperos \
--remove /usr/share/applications/calamares.desktop
;;
esac
+1 -1
View File
@@ -4,7 +4,7 @@ set -e
case "$1" in
install|upgrade)
# Hide upstream calamares icon when this package is installed
dpkg-divert --quiet --package calamares-settings-debian \
dpkg-divert --quiet --package calamares-settings-vesperos \
--divert /usr/share/applications/calamares.desktop.orig \
--rename /usr/share/applications/calamares.desktop
;;
+6
View File
@@ -1,4 +1,10 @@
#!/usr/bin/make -f
export DH_VERBOSE = 1
%:
dh $@
override_dh_auto_configure:
override_dh_auto_build:
override_dh_auto_install:
+1 -1
View File
@@ -1 +1 @@
3.0 (quilt)
3.0 (native)
+2 -1
View File
@@ -1,2 +1,3 @@
version=4
https://salsa.debian.org/live-team/calamares-settings-debian/tags .*/calamares-settings-debian-(.*)\.tar\.gz
opts="searchmode=plain" \
https://salsa.debian.org/live-team/calamares-settings-debian/tags?sort=updated_desc -/archive/v?\d[\d.]+/calamares-settings-debian-@ANY_VERSION@@ARCHIVE_EXT@ debian uupdate
+72
View File
@@ -0,0 +1,72 @@
#!/bin/bash
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
# Install luks utilities if needed.
# Also, set secure permissions for the initramfs if we're configuring
# full-disk-encryption. The initramfs is re-generated later in the
# installation process so we only set the permissions snippet without
# regenerating the initramfs right now:
if [ "$(mount | grep $CHROOT" " | cut -c -16)" = "/dev/mapper/luks" ]; then
echo "UMASK=0077" > $CHROOT/etc/initramfs-tools/conf.d/initramfs-permissions
chroot $CHROOT apt-get -y install cryptsetup-initramfs cryptsetup keyutils
fi
echo "Running bootloader-config..."
if [ -d /sys/firmware/efi/efivars ]; then
echo " * Installing grub-efi (uefi)..."
DEBIAN_FRONTEND=noninteractive chroot $CHROOT apt-get -y install grub-efi
else
echo " * install grub... (bios)"
DEBIAN_FRONTEND=noninteractive chroot $CHROOT apt-get -y install grub-pc
fi
# Re-enable os-prober:
sed -i "s/#GRUB_DISABLE_OS_PROBER=false/# OS_PROBER re-enabled by Debian Calamares installation:\nGRUB_DISABLE_OS_PROBER=false/g" $CHROOT/etc/default/grub
# Enable Plymouth splash on the installed system
sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/' $CHROOT/etc/default/grub
# Keep the graphical framebuffer mode so Plymouth can render its splash.
# Without this, GRUB switches to text mode before handing off to the kernel
# and Plymouth falls back to a hidden/text renderer, showing nothing.
grep -q 'GRUB_GFXPAYLOAD_LINUX' $CHROOT/etc/default/grub || \
echo 'GRUB_GFXPAYLOAD_LINUX=keep' >> $CHROOT/etc/default/grub
# Set up recovery partition entry if present
ISO_MOUNT="/run/live/medium"
RECOVERY_DEV="$(blkid -L recovery 2>/dev/null || true)"
if [ -n "${RECOVERY_DEV}" ]; then
echo " * Recovery partition found at ${RECOVERY_DEV}, setting up..."
RECOVERY_MNT="$(mktemp -d /tmp/recovery-mount.XXXXXX)"
mount "${RECOVERY_DEV}" "${RECOVERY_MNT}"
cp "${ISO_MOUNT}/boot/recovery.vmlinuz" "${RECOVERY_MNT}/recovery.vmlinuz"
cp "${ISO_MOUNT}/boot/recovery.initrd" "${RECOVERY_MNT}/recovery.initrd"
umount "${RECOVERY_MNT}"
rmdir "${RECOVERY_MNT}"
cat >> "${CHROOT}/etc/grub.d/40_custom" << 'GRUBEOF'
menuentry "Recovery OS" {
search --set=root --label recovery
linux /recovery.vmlinuz console=tty1 splash
initrd /recovery.initrd
}
GRUBEOF
echo " * Recovery GRUB entry written."
else
echo " * WARNING: recovery partition not found — skipping recovery setup."
fi
# Rebuild initramfs so Plymouth is embedded for the installed system.
# Without this, the live-system initramfs is used and Plymouth's boot
# splash never appears (though shutdown/poweroff animations still work
# because those run from the installed rootfs directly).
chroot $CHROOT update-initramfs -u -k all
chroot $CHROOT /usr/sbin/update-grub
+18
View File
@@ -0,0 +1,18 @@
#!/bin/bash -e
# This script is intended to be run in the Calamares post-installation stage,
# after the new system has been installed but before the first reboot.
# It performs final configuration steps before the user restarts into their new system.
TARGET=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
# Remove live-session dconf database and profile from the installed system.
# The live squashfs is what gets unpacked, so these files end up on disk and
# can cause the live wallpaper to persist into the installed session.
rm -rf "${TARGET}/etc/dconf/db/live.d"
rm -f "${TARGET}/etc/dconf/db/live"
rm -f "${TARGET}/etc/dconf/profile/live"
rm -f "${TARGET}/lib/live/config/9999-vesperos-dconf"
# Recompile dconf databases without the live database present.
chroot "${TARGET}" dconf update
+20
View File
@@ -0,0 +1,20 @@
#!/bin/sh
#
# Finalises apt sources in the installed system.
# debian.sources and vesperos.sources are already correct — carried over from
# the squashfs by unpackfs. We just need to clear the legacy sources.list and
# remove any build-time-only sources.
#
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
# Empty the legacy sources.list — Debian uses .sources (DEB822) now
echo "# This file is intentionally left blank, Debian has moved to the new DEB822 format." > "$CHROOT/etc/apt/sources.list"
echo "# Please use .sources files in /etc/apt/sources.list.d/ instead." >> "$CHROOT/etc/apt/sources.list"
echo "# For more information, see https://wiki.debian.org/SourcesList" >> "$CHROOT/etc/apt/sources.list"
# Remove build-time-only sources
rm -f "$CHROOT/etc/apt/sources.list.d/00-temp.list"
rm -f "$CHROOT/etc/apt/apt.conf.d/51cache"
exit 0
+51
View File
@@ -0,0 +1,51 @@
#!/bin/sh
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
KNOWN_MEDIUM_PATHS="/run/live/medium /run/initramfs/live"
RELEASE="trixie"
# Support both dracut and initramfs configurations to avoid substitutions
# in live-build, see: #1089618
for path in $KNOWN_MEDIUM_PATHS; do
if [ "$(mount | grep $path | cut -f3 -d" ")" = "$path" ]; then
MEDIUM_PATH=$path
fi
done
# -l: add the media repo to the LIVE system (show phase, before update-check)
if [ "$1" = "-l" ]; then
if [ -z "$MEDIUM_PATH" ] || [ ! -d "$MEDIUM_PATH/repo" ]; then
echo "sources-media-live: no repo found on media, skipping."
exit 0
fi
echo "deb [trusted=yes] file:$MEDIUM_PATH/repo ./" \
> /etc/apt/sources.list.d/vesperos-live-media.list
apt-get update -q || true
exit 0
fi
# -u: unmount media from chroot (exec phase cleanup)
if [ "$1" = "-u" ]; then
umount $CHROOT/$MEDIUM_PATH/repo 2>/dev/null || true
rm -f $CHROOT/etc/apt/sources.list.d/vesperos-live-media.list
if ping -c 1 -W 5 deb.debian.org >/dev/null 2>&1; then
chroot $CHROOT apt-get update -q
fi
exit 0
fi
# No repo on media — nothing to do
if [ ! -d "$MEDIUM_PATH/repo" ]; then
echo "sources-media: no repo found on media, skipping."
exit 0
fi
# Remove the base sources, we will configure sources in a later phase
rm -f $CHROOT/etc/apt/sources.list.d/base.list
mkdir -p $CHROOT/$MEDIUM_PATH/repo
mount --bind $MEDIUM_PATH/repo $CHROOT/$MEDIUM_PATH/repo
echo "deb [trusted=yes] file:$MEDIUM_PATH/repo ./" > $CHROOT/etc/apt/sources.list.d/vesperos-live-media.list
chroot $CHROOT apt-get update -q
exit 0
+20
View File
@@ -0,0 +1,20 @@
#!/bin/bash -e
# Run in the Calamares exec phase, after sources-final has written real apt
# sources and after networkcfg has brought the network up.
# Applies all available updates so the installed system is never out of date.
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
if ! ping -c 1 -W 5 deb.debian.org >/dev/null 2>&1; then
echo "system-upgrade: no network connectivity, skipping."
exit 0
fi
echo "Running system-upgrade: refreshing package lists..."
DEBIAN_FRONTEND=noninteractive chroot "$CHROOT" apt-get update -q
echo "Running system-upgrade: applying available upgrades..."
DEBIAN_FRONTEND=noninteractive chroot "$CHROOT" apt-get dist-upgrade -y -q
echo "system-upgrade complete."
+14
View File
@@ -0,0 +1,14 @@
#!/bin/bash
# Runs in the Calamares show phase (background, no chroot yet).
# Refreshes apt package lists on the live system while the user fills in the
# installer wizard so that system-upgrade in the exec phase is faster.
# Bail silently if there is no network rather than erroring the installer.
if ! ping -c 1 -W 3 deb.debian.org >/dev/null 2>&1; then
echo "update-check: no network connectivity, skipping apt update"
exit 0
fi
echo "update-check: refreshing package lists..."
apt-get update -q
echo "update-check: done"
-13
View File
@@ -1,13 +0,0 @@
[Desktop Entry]
Type=Application
Version=1.0
Name=Install Debian
GenericName=Calamares Installer
Exec=install-debian
Comment=Calamares Installer for Debian Live
Keywords=calamares;system;install;debian;installer
Icon=install-debian
Terminal=false
Categories=Qt;System;
StartupWMClass=calamares
StartupNotify=True
-21
View File
@@ -1,21 +0,0 @@
#!/bin/bash
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
# Set secure permissions for the initramfs if we're configuring
# full-disk-encryption. The initramfs is re-generated later in the
# installation process so we only set the permissions snippet without
# regenerating the initramfs right now:
if [ "$(mount | grep $CHROOT" " | cut -c -16)" = "/dev/mapper/luks" ]; then
echo "UMASK=0077" > $CHROOT/etc/initramfs-tools/conf.d/initramfs-permissions
fi
echo "Running bootloader-config..."
if [ -d /sys/firmware/efi/efivars ]; then
echo " * Installing grub-efi (uefi)..."
DEBIAN_FRONTEND=noninteractive chroot $CHROOT apt-get -y install grub-efi-amd64 cryptsetup keyutils
else
echo " * install grub... (bios)"
DEBIAN_FRONTEND=noninteractive chroot $CHROOT apt-get -y install grub-pc cryptsetup keyutils
fi
-21
View File
@@ -1,21 +0,0 @@
#!/bin/sh
#
# Writes the final sources.list file
#
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
RELEASE="bookworm"
cat << EOF > $CHROOT/etc/apt/sources.list
# See https://wiki.debian.org/SourcesList for more information.
deb http://deb.debian.org/debian $RELEASE main
deb-src http://deb.debian.org/debian $RELEASE main
deb http://deb.debian.org/debian $RELEASE-updates main
deb-src http://deb.debian.org/debian $RELEASE-updates main
deb http://security.debian.org/debian-security/ $RELEASE-security main
deb-src http://security.debian.org/debian-security/ $RELEASE-security main
EOF
exit 0
-25
View File
@@ -1,25 +0,0 @@
#!/bin/sh
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
MEDIUM_PATH="/run/live/medium"
RELEASE="bullseye"
if [ "$1" = "-u" ]; then
umount $CHROOT/$MEDIUM_PATH
rm $CHROOT/etc/apt/sources.list.d/debian-live-media.list
chroot $CHROOT apt-get update
exit 0
fi
# Remove the base sources, we will configure sources in a later phase
rm -f $CHROOT/etc/apt/sources.list.d/base.list
mkdir -p $CHROOT/$MEDIUM_PATH
mount --bind $MEDIUM_PATH $CHROOT/$MEDIUM_PATH
echo "deb [trusted=yes] file:$MEDIUM_PATH $RELEASE main" > $CHROOT/etc/apt/sources.list.d/debian-live-media.list
chroot $CHROOT apt-get update
# Attempt safest way to remove cruft
rmdir $CHROOT/run/live/medium
rmdir $CHROOT/run/live
exit 0