Compare commits

..

No commits in common. 'ubuntu/oracular' and 'ubuntu/lunar' have entirely different histories.

168
debian/changelog vendored

@ -1,171 +1,3 @@
calamares (3.3.6-0ubuntu1) UNRELEASED; urgency=medium
* New upstream release.
-- Simon Quigley <tsimonq2@ubuntu.com> Tue, 30 Apr 2024 15:38:47 -0500
calamares (3.3.5-0ubuntu4) noble; urgency=medium
* Populate grub-{efi,pc}/install_devices debconf config (LP: #2063354).
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 24 Apr 2024 15:28:29 -0500
calamares (3.3.5-0ubuntu3) noble; urgency=medium
* No-change rebuild for CVE-2024-3094
-- Steve Langasek <steve.langasek@ubuntu.com> Sun, 31 Mar 2024 08:44:36 +0000
calamares (3.3.5-0ubuntu2) noble; urgency=medium
* No-change rebuild against libqt5core5t64
-- Steve Langasek <steve.langasek@ubuntu.com> Fri, 15 Mar 2024 04:00:12 +0000
calamares (3.3.5-0ubuntu1) noble; urgency=medium
* New upstream release.
* Fully finish Active Directory prototype, leave the patch commented out for
now.
-- Simon Quigley <tsimonq2@ubuntu.com> Thu, 07 Mar 2024 15:32:51 -0600
calamares (3.3.4-0ubuntu2) noble; urgency=medium
* No-change rebuild for python3.12 t64.
-- Matthias Klose <doko@ubuntu.com> Sat, 02 Mar 2024 21:08:26 +0100
calamares (3.3.4-0ubuntu1) noble; urgency=medium
* New upstream release.
* Refresh patches.
-- Simon Quigley <tsimonq2@ubuntu.com> Mon, 26 Feb 2024 19:04:30 -0600
calamares (3.3.3-0ubuntu1) noble; urgency=medium
* New upstream release.
* Copyright update.
-- Simon Quigley <tsimonq2@ubuntu.com> Sun, 25 Feb 2024 16:13:53 -0600
calamares (3.3.2-0ubuntu1) noble; urgency=medium
* New upstream release.
* Drop unneeded patches.
- enable-optional-part-encryption.patch (merged upstream)
- fix-btrfs-luks.patch (merged upstream)
* Update copyright file.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Tue, 20 Feb 2024 13:37:43 -0600
calamares (3.3.1-0ubuntu4) noble; urgency=medium
* Fix BTRFS+LUKS installations with unencrypted /boot.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Mon, 12 Feb 2024 11:51:59 -0600
calamares (3.3.1-0ubuntu3) noble; urgency=medium
* Allow specifying partitions that must remain unencrypted when using FDE.
* Allow specifying partitions that are only created when FDE is enabled.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Mon, 05 Feb 2024 18:12:47 -0600
calamares (3.3.1-0ubuntu2) noble; urgency=medium
* No-change rebuild with Python 3.12 as default
-- Graham Inggs <ginggs@ubuntu.com> Sat, 20 Jan 2024 08:39:43 +0000
calamares (3.3.1-0ubuntu1) noble; urgency=medium
* New upstream release.
* Fixed debian/watch file.
* Updated copyright file.
* Enabled AppStream and AppData (it is no longer enabled by default upstream
but should be enabled by us).
* Dropped lp-2045741.patch, it's included in the latest upstream release.
* Dropped support-appstream-1.0.patch, upstream has overhauled AppStream
handling and this patch is no longer applicable.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 18 Jan 2024 20:29:45 +0000
calamares (3.3.0.0-0ubuntu5) noble; urgency=medium
* Fix two American English entries (LP: #2045741):
- https://github.com/calamares/calamares/issues/2257
-- Simon Quigley <tsimonq2@ubuntu.com> Mon, 01 Jan 2024 13:39:12 -0600
calamares (3.3.0.0-0ubuntu4) noble; urgency=medium
* Add d/p/support-appstream-1.0.patch
-- Rik Mills <rikmills@kde.org> Mon, 18 Dec 2023 20:15:16 +0000
calamares (3.3.0.0-0ubuntu3) noble; urgency=medium
* Change appstream build depend to libappstreamqt5-dev (>= 1.0.0~).
-- Rik Mills <rikmills@kde.org> Mon, 18 Dec 2023 16:24:24 +0000
calamares (3.3.0.0-0ubuntu2) noble; urgency=medium
* No-change rebuild against appstream 1.0.
-- Rik Mills <rikmills@kde.org> Mon, 18 Dec 2023 13:48:07 +0000
calamares (3.3.0.0-0ubuntu1) noble; urgency=medium
* New upstream version.
* Remove reverse-applicable patch.
-- Simon Quigley <tsimonq2@ubuntu.com> Tue, 12 Dec 2023 08:01:24 -0600
calamares (3.3.0-alpha6-0ubuntu1) noble; urgency=medium
* New upstream release.
* Add some missing build dependencies.
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 22 Nov 2023 16:40:53 -0600
calamares (3.3.0-alpha4-0ubuntu3) noble; urgency=medium
* Add util-linux-extra as a runtime dependency to allow hwclock to work.
-- Aaron Rainbolt <arraybolt3@gmail.com> Sun, 19 Nov 2023 22:12:06 -0600
calamares (3.3.0-alpha4-0ubuntu2) noble; urgency=medium
* Fixed encrypted installations. (LP: #2043301)
* Fixed watch file.
* Swapped out an obsolete build dependency (poilcykit-1).
* Created upstream/metadata file.
-- Aaron Rainbolt <arraybolt3@gmail.com> Tue, 14 Nov 2023 17:32:18 -0600
calamares (3.3.0-alpha4-0ubuntu1) noble; urgency=medium
* New upstream release.
* Bump Standards-version to 4.6.2, no changes needed.
* Update Vcs-*, since we no longer maintain this with Ubuntu Studio.
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 20 Oct 2023 12:33:39 -0500
calamares (3.3.0-alpha2-0ubuntu6) mantic; urgency=medium
* Add support for Netplan backends (LP: #2036999).
-- Simon Quigley <tsimonq2@ubuntu.com> Sun, 08 Oct 2023 11:41:22 -0500
calamares (3.3.0-alpha2-0ubuntu5) mantic; urgency=medium
* Rebuild against new libyaml-cpp0.8.
-- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 02 Sep 2023 07:18:13 +0200
calamares (3.3.0-alpha2-0ubuntu4) lunar; urgency=medium
* Rebuild against latest icu

15
debian/control vendored

@ -8,7 +8,8 @@ Build-Depends: cmake,
debhelper-compat (= 13),
extra-cmake-modules,
gettext,
libappstreamqt5-dev (>= 1.0.0~),
libappstreamqt-dev,
libboost-python-dev,
libkf5config-dev,
libkf5coreaddons-dev,
libkf5crash-dev,
@ -29,10 +30,8 @@ Build-Depends: cmake,
os-prober <!nocheck>,
pkg-config,
pkg-kde-tools,
polkitd,
policykit-1 <!nocheck>,
python3-dev,
python3-jsonschema,
python3-yaml,
qml-module-qtquick-layouts,
qml-module-qtquick-privatewidgets,
qml-module-qtquick-window2,
@ -42,17 +41,17 @@ Build-Depends: cmake,
qtlocation5-dev,
qttools5-dev,
qttools5-dev-tools
Standards-Version: 4.6.2
Standards-Version: 4.6.1
Rules-Requires-Root: no
Homepage: https://github.com/calamares/calamares
Vcs-Browser: https://git.lubuntu.me/Lubuntu/calamares-packaging/
Vcs-Git: https://git.lubuntu.me/Lubuntu/calamares-packaging.git
Vcs-Browser: https://git.launchpad.net/~ubuntu-qt-code/+git/calamares
Vcs-Git: https://git.launchpad.net/~ubuntu-qt-code/+git/calamares
XS-Debian-Vcs-Browser: https://salsa.debian.org/qt-kde-team/kde-extras/calamares
XS-Debian-Vcs-Git: https://salsa.debian.org/qt-kde-team/kde-extras/calamares.git
Package: calamares
Architecture: linux-any
Depends: os-prober, util-linux-extra, ${misc:Depends}, ${shlibs:Depends}
Depends: os-prober, ${misc:Depends}, ${shlibs:Depends}
Recommends: btrfs-progs, squashfs-tools
Description: distribution-independent installer framework
Calamares is a distribution-independent installer framework.

23
debian/copyright vendored

@ -3,11 +3,11 @@ Upstream-Name: calamares
Source: https://github.com/calamares/calamares
Files: *
Copyright: 2017-2024 Adriaan de Groot <groot@kde.org>
Copyright: 2017-2022 Adriaan de Groot <groot@kde.org>
2018 Matthias Klumpp <matthias@tenstral.net>
2013-2017 Teo Mrnjavac <teo@kde.org>
2020 Gaël PORTAY <gael.portay@gmail.com>
2014-2024 Anke Boersma <demm@kaosx.us>
2014-2022 Anke Boersma <demm@kaosx.us>
2018 Raul Rodrigo Segura <raurodse@gmail.com>
2018-2020 Collabora Ltd <arnaud.ferraris@collabora.com>
2020-2021 Anubhav Choudhary <ac.10edu@gmail.com>
@ -162,9 +162,8 @@ Files: AUTHORS
src/modules/welcome/tests/*
src/modules/welcomeq/welcomeq.conf
src/modules/zfs/zfs.conf
src/qml/calamares-qt5/slideshow/qmldir
src/qml/calamares-qt6/slideshow/qmldir
Copyright: Calamares team
src/qml/calamares/slideshow/qmldir
Copyright: None
License: CC0-1.0
Files: CalamaresConfig.cmake.in
@ -221,13 +220,13 @@ Files: CalamaresConfig.cmake.in
src/modules/welcome/CMakeLists.txt
src/modules/welcomeq/CMakeLists.txt
src/modules/zfs/CMakeLists.txt
src/qml/CMakeLists.txt
src/qml/calamares/CMakeLists.txt
Copyright: 2014-2016 Teo Mrnjavac <teo@kde.org>
2017-2022 Adriaan de Groot <groot@kde.org>
2014 Aurélien Gâteau <agateau@kde.org>
2014-2019 Kevin Kofler <kevin.kofler@chello.at>
2008-2011 Volker Lanz <vl@fidra.de>
2021 Anke Boersma <demm@kaosx.us>
2017-2023 Adriaan de Groot <groot@kde.org>
License: BSD-2-Clause
Files: 3rdparty/kdsingleapplicationguard/*
@ -271,10 +270,8 @@ Files: src/modules/finishedq/seedling.svg
Copyright: 2020-2021 FontAwesome <hello@fontawesome.com>
License: CC-BY-4.0
Files: src/qml/calamares-qt5/slideshow/Presentation.qml
src/qml/calamares-qt5/slideshow/Slide.qml
src/qml/calamares-qt6/slideshow/Presentation.qml
src/qml/calamares-qt6/slideshow/Slide.qml
Files: src/qml/calamares/slideshow/Presentation.qml
src/qml/calamares/slideshow/Slide.qml
Copyright: 2017 Adriaan de Groot <groot@kde.org>
2016 The Qt Company Ltd.
2012 Digia Plc and/or its subsidiary(-ies)
@ -282,8 +279,8 @@ License: LGPL-2.1
Files: debian/*
Copyright: 2016-2021 Jonathan Carter <jcc@debian.org>
2014 Rohan Garg <rohan@kde.org>
2022-2024 Aaron Rainbolt <arraybolt3@ubuntu.com>
2014 Rohan Garg <rohan@kde.org>
2022 Aaron Rainbolt <arraybolt3@gmail.com>
License: GPL-3+
License: GPL-3+

@ -8,17 +8,18 @@ Subject: replace pkexec by sudo
--- a/calamares.desktop
+++ b/calamares.desktop
@@ -5,12 +5,13 @@ Name=Install System
GenericName=System Installer
@@ -6,13 +6,14 @@ GenericName=System Installer
Comment=Calamares — System Installer
Keywords=calamares;system;installer;
TryExec=calamares
-Exec=sh -c "pkexec calamares"
+Exec=sh -c "sudo -E calamares -D6"
Comment=Calamares — System Installer
Categories=Qt;System;
Icon=calamares
Terminal=false
SingleMainWindow=true
StartupNotify=true
Categories=Qt;System;
+NotShowIn=LXQt;
X-AppStream-Ignore=true

@ -1,120 +0,0 @@
Description: Allow specifying partitions that are only present when FDE is used.
Author: Aaron Rainbolt <arraybolt3@ubuntu.com>
Origin: ubuntu
Forwarded: not-needed
Last-Update: 2024-02-26
--- a/src/modules/partition/core/PartitionLayout.cpp
+++ b/src/modules/partition/core/PartitionLayout.cpp
@@ -62,6 +62,7 @@ PartitionLayout::PartitionEntry::Partiti
const QString& mountPoint,
const QString& fs,
const bool& noEncrypt,
+ const bool& onlyPresentWithEncryption,
const QVariantMap& features,
const QString& size,
const QString& minSize,
@@ -72,6 +73,7 @@ PartitionLayout::PartitionEntry::Partiti
, partAttributes( attributes )
, partMountPoint( mountPoint )
, partNoEncrypt( noEncrypt )
+ , partOnlyPresentWithEncryption ( onlyPresentWithEncryption )
, partFeatures( features )
, partSize( size )
, partMinSize( minSize )
@@ -119,6 +121,7 @@ PartitionLayout::init( FileSystem::Type
Calamares::getString( pentry, "mountPoint" ),
Calamares::getString( pentry, "filesystem", "unformatted" ),
Calamares::getBool( pentry, "noEncrypt", false ),
+ Calamares::getBool( pentry, "onlyPresentWithEncryption", false ),
Calamares::getSubMap( pentry, "features", ok ),
Calamares::getString( pentry, "size", QStringLiteral( "0" ) ),
Calamares::getString( pentry, "minSize", QStringLiteral( "0" ) ),
@@ -228,6 +231,10 @@ PartitionLayout::createPartitions( Devic
cWarning() << "Partition" << entry.partMountPoint << "size is invalid, skipping...";
continue;
}
+ if ( luksPassphrase.isEmpty() && entry.partOnlyPresentWithEncryption ) {
+ // this partition is being skipped entirely
+ continue;
+ }
// Calculate partition size: Rely on "possibly uninitialized use"
// warnings to ensure that all the cases are covered below.
@@ -252,6 +259,10 @@ PartitionLayout::createPartitions( Devic
availableSectors = totalSectors;
for ( const auto& entry : qAsConst( m_partLayout ) )
{
+ if ( luksPassphrase.isEmpty() && entry.partOnlyPresentWithEncryption ) {
+ // this partition is being skipped entirely
+ continue;
+ }
qint64 sectors = partSectorsMap.value( &entry );
if ( entry.partMinSize.isValid() )
{
@@ -265,6 +276,10 @@ PartitionLayout::createPartitions( Devic
// Assign sectors for percentage-defined partitions.
for ( const auto& entry : qAsConst( m_partLayout ) )
{
+ if ( luksPassphrase.isEmpty() && entry.partOnlyPresentWithEncryption ) {
+ // this partition is being skipped entirely
+ continue;
+ }
if ( entry.partSize.unit() == Calamares::Partition::SizeUnit::Percent )
{
qint64 sectors
@@ -288,6 +303,10 @@ PartitionLayout::createPartitions( Devic
availableSectors = totalSectors;
for ( const auto& entry : qAsConst( m_partLayout ) )
{
+ if ( luksPassphrase.isEmpty() && entry.partOnlyPresentWithEncryption ) {
+ // this partition is being skipped entirely
+ continue;
+ }
// Adjust partition size based on available space.
qint64 sectors = partSectorsMap.value( &entry );
sectors = std::min( sectors, availableSectors );
--- a/src/modules/partition/core/PartitionLayout.h
+++ b/src/modules/partition/core/PartitionLayout.h
@@ -38,6 +38,7 @@ public:
QString partMountPoint;
FileSystem::Type partFileSystem = FileSystem::Unknown;
bool partNoEncrypt = false;
+ bool partOnlyPresentWithEncryption;
QVariantMap partFeatures;
Calamares::Partition::PartitionSize partSize;
Calamares::Partition::PartitionSize partMinSize;
@@ -63,6 +64,7 @@ public:
const QString& mountPoint,
const QString& fs,
const bool& noEncrypt,
+ const bool& onlyPresentWithEncryption,
const QVariantMap& features,
const QString& size,
const QString& minSize = QString(),
--- a/src/modules/partition/partition.conf
+++ b/src/modules/partition/partition.conf
@@ -259,6 +259,7 @@ defaultFileSystemType: "ext4"
# type: "4f68bce3-e8cd-4db1-96e7-fbcaf984b709"
# filesystem: "ext4"
# noEncrypt: false
+# onlyPresentWithEncryption: false
# mountPoint: "/"
# size: 20%
# minSize: 500M
@@ -268,6 +269,7 @@ defaultFileSystemType: "ext4"
# type: "933ac7e1-2eb4-4f13-b844-0e14e2aef915"
# filesystem: "ext4"
# noEncrypt: false
+# onlyPresentWithEncryption: false
# mountPoint: "/home"
# size: 3G
# minSize: 1.5G
@@ -296,6 +298,7 @@ defaultFileSystemType: "ext4"
# 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)
+# - onlyPresentWithEncryption: whether this partition is only created when encryption is enabled (optional parameter; default is false; ONLY SUPPORTED IN UBUNTU)
# - 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

@ -1,82 +0,0 @@
Description: Populate grub-{efi,pc}/install_devices debconf config
Author: Simon Quigley <tsimonq2@ubuntu.com>
Origin: vendor
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/calamares/+bug/2063354
Last-Update: 2024-04-24
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/src/modules/bootloader/main.py
+++ b/src/modules/bootloader/main.py
@@ -25,6 +25,7 @@ import os
import re
import shutil
import subprocess
+import tempfile
import libcalamares
@@ -581,6 +582,46 @@ def get_grub_efi_parameters():
return None
+def get_disk_id(device_name, efi):
+ by_id_path = "/dev/disk/by-id"
+
+ if efi:
+ partitions = libcalamares.globalstorage.value("partitions")
+ device_name = None
+
+ for partition in partitions:
+ if "/boot/efi" in partition["mountPoint"]:
+ device_name = partition["device"]
+ break
+
+ device_path = os.path.realpath(device_name)
+
+ for entry in os.listdir(by_id_path):
+ full_entry_path = os.path.join(by_id_path, entry)
+ if os.path.realpath(full_entry_path) == device_path:
+ return full_entry_path
+
+ return None
+
+
+def set_grub_debconf_config(device_name, efi=False):
+ dev_id_path = get_disk_id(device_name, efi=efi)
+
+ if not dev_id_path:
+ return None
+
+ temp_dir = libcalamares.globalstorage.value("rootMountPoint") + "/tmp/"
+ with tempfile.NamedTemporaryFile(mode="w", delete=False, dir=temp_dir) as tmpfile:
+ debconf_target = "grub-efi" if efi else "grub-pc"
+
+ tmpfile.write(f"grub-pc {debconf_target}/install_devices multiselect {dev_id_path}\n")
+ tmpfile_path = tmpfile.name
+
+ debconf_config = "/tmp/" + os.path.basename(tmpfile_path)
+ check_target_env_call(["/usr/bin/debconf-set-selections", debconf_config])
+ os.remove(tmpfile_path)
+
+
def run_grub_mkconfig(partitions, output_file):
"""
Runs grub-mkconfig in the target environment
@@ -631,6 +672,8 @@ def run_grub_install(fw_type, partitions
"--efi-directory=" + efi_directory,
"--bootloader-id=" + efi_bootloader_id,
"--force"])
+
+ set_grub_debconf_config(efi_target, efi=True)
else:
assert efi_directory is None
if libcalamares.globalstorage.value("bootLoader") is None:
@@ -652,6 +695,8 @@ def run_grub_install(fw_type, partitions
"--force",
boot_loader["installPath"]])
+ set_grub_debconf_config(boot_loader["installPath"])
+
def install_grub(efi_directory, fw_type):
"""

@ -1,4 +1,2 @@
0001-replace-pkexec-by-sudo.patch
apport-package-hook.patch
enable-only-present-with-encryption-partitions.patch
grub-debconf-config.patch

2
debian/rules vendored

@ -10,7 +10,7 @@ export DEB_BUILD_MAINT_OPTIONS=buildinfo=+path
dh $@ --with kf5
override_dh_auto_configure:
dh_auto_configure -- -DWEBVIEW_FORCE_WEBKIT=1 -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DBUILD_APPDATA=ON -DBUILD_APPSTREAM=ON
dh_auto_configure -- -DWEBVIEW_FORCE_WEBKIT=1 -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
# Some test don't work well, we don't need to run them at package build time.
override_dh_auto_test:

@ -1,6 +0,0 @@
Name: calamares
Bug-Database: https://github.com/calamares/calamares/issues
Bug-Submit: https://github.com/calamares/calamares/issues/new?assignees=&labels=&projects=&template=bug_report.md
Changelog: https://github.com/calamares/calamares/blob/calamares/CHANGES-3.3
Repository: https://github.com/calamares/calamares.git
Repository-Browse: https://github.com/calamares/calamares

6
debian/watch vendored

@ -1,5 +1,3 @@
version=4
opts="searchmode=plain, \
pgpsigurlmangle=s/$/.asc/, \
uversionmangle=s/(\d+\.\d+\.\d+).*/$1/" \
https://api.github.com/repos/calamares/@PACKAGE@/releases https:\/\/github.com\/calamares\/calamares\/releases\/download\/v(?:[-_]?(\d[\-+\.:\~\da-zA-Z]*))\/calamares-(?:[-_]?(\d[\-+\.:\~\da-zA-Z]*)).tar.gz
opts="pgpsigurlmangle=s/$/.asc/, uversionmangle=s/\..$/-alpha2/" \
https://github.com/calamares/calamares/releases .*/calamares-([\d\.]+)-alpha([\d]+).tar.gz

Loading…
Cancel
Save