Merge branch 'calamares' of https://github.com/calamares/calamares into development

This commit is contained in:
Philip Müller 2021-09-27 20:50:40 +02:00
commit abfda4fc57
10 changed files with 189 additions and 151 deletions

18
CHANGES
View File

@ -7,6 +7,24 @@ contributors are listed. Note that Calamares does not have a historical
changelog -- this log starts with version 3.2.0. The release notes on the
website will have to do for older versions.
# 3.2.44.2 (2021-09-27) #
This release contains contributions from (alphabetically by first name):
-
This is a hotfix for a typo -- not a syntax error -- that affects the
*networkcfg* module. Reported and fixed by .
# 3.2.44.1 (2021-09-24) #
This release contains contributions from (alphabetically by first name):
- Anke Boersma
This is a hotfix for a typo -- not a syntax error -- that affects the
*initcpiocfg* module. Reported and fixed by Anke.
# 3.2.44 (2021-09-24) #
This release contains contributions from (alphabetically by first name):

View File

@ -41,7 +41,7 @@
# TODO:3.3: Require CMake 3.12
cmake_minimum_required( VERSION 3.3 FATAL_ERROR )
project( CALAMARES
VERSION 3.2.44
VERSION 3.2.44.2
LANGUAGES C CXX
)

View File

@ -0,0 +1,9 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Stubs for part of the Python API from libcalamares
# (although the **actual** API is presented through
# Boost::Python, not as a bare C-extension) so that
# pylint doesn't complain about libcalamares internals.
pass

View File

@ -0,0 +1,9 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Stubs for part of the Python API from libcalamares
# (although the **actual** API is presented through
# Boost::Python, not as a bare C-extension) so that
# pylint doesn't complain about libcalamares internals.
def value(_): return 1

15
ci/libcalamares/utils.py Normal file
View File

@ -0,0 +1,15 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Stubs for part of the Python API from libcalamares
# (although the **actual** API is presented through
# Boost::Python, not as a bare C-extension) so that
# pylint doesn't complain about libcalamares internals.
def debug(_): pass
def warning(_): pass
def gettext_path(): pass
def gettext_languages(): pass

View File

@ -171,7 +171,7 @@
<context>
<name>Calamares::JobThread</name>
<message>
<location filename="../src/libcalamares/JobQueue.cpp" line="199"/>
<location filename="../src/libcalamares/JobQueue.cpp" line="201"/>
<source>Done</source>
<translation>Done</translation>
</message>
@ -320,17 +320,17 @@
<translation>&amp;Close</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/Paste.cpp" line="171"/>
<location filename="../src/libcalamaresui/utils/Paste.cpp" line="183"/>
<source>Install Log Paste URL</source>
<translation>Install Log Paste URL</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/Paste.cpp" line="153"/>
<location filename="../src/libcalamaresui/utils/Paste.cpp" line="165"/>
<source>The upload was unsuccessful. No web-paste was done.</source>
<translation>The upload was unsuccessful. No web-paste was done.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/utils/Paste.cpp" line="165"/>
<location filename="../src/libcalamaresui/utils/Paste.cpp" line="177"/>
<source>Install log posted to
%1
@ -1926,35 +1926,35 @@ The installer will quit and all changes will be lost.</translation>
<context>
<name>LuksBootKeyFileJob</name>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="28"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="30"/>
<source>Configuring LUKS key file.</source>
<translation>Configuring LUKS key file.</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="168"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="176"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="186"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="194"/>
<source>No partitions are defined.</source>
<translation>No partitions are defined.</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="211"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="218"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="226"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="229"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="236"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="244"/>
<source>Encrypted rootfs setup error</source>
<translation>Encrypted rootfs setup error</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="212"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="230"/>
<source>Root partition %1 is LUKS but no passphrase has been set.</source>
<translation>Root partition %1 is LUKS but no passphrase has been set.</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="219"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="237"/>
<source>Could not create LUKS key file for root partition %1.</source>
<translation>Could not create LUKS key file for root partition %1.</translation>
</message>
<message>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="227"/>
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="245"/>
<source>Could not configure LUKS key file on partition %1.</source>
<translation>Could not configure LUKS key file on partition %1.</translation>
</message>
@ -2929,14 +2929,14 @@ The installer will quit and all changes will be lost.</translation>
<context>
<name>ProcessResult</name>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="429"/>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="425"/>
<source>
There was no output from the command.</source>
<translation>
There was no output from the command.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="430"/>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="426"/>
<source>
Output:
</source>
@ -2945,52 +2945,52 @@ Output:
</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="434"/>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="430"/>
<source>External command crashed.</source>
<translation>External command crashed.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="435"/>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="431"/>
<source>Command &lt;i&gt;%1&lt;/i&gt; crashed.</source>
<translation>Command &lt;i&gt;%1&lt;/i&gt; crashed.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="440"/>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="436"/>
<source>External command failed to start.</source>
<translation>External command failed to start.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="441"/>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="437"/>
<source>Command &lt;i&gt;%1&lt;/i&gt; failed to start.</source>
<translation>Command &lt;i&gt;%1&lt;/i&gt; failed to start.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="445"/>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="441"/>
<source>Internal error when starting command.</source>
<translation>Internal error when starting command.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="446"/>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="442"/>
<source>Bad parameters for process job call.</source>
<translation>Bad parameters for process job call.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="450"/>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="446"/>
<source>External command failed to finish.</source>
<translation>External command failed to finish.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="451"/>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="447"/>
<source>Command &lt;i&gt;%1&lt;/i&gt; failed to finish in %2 seconds.</source>
<translation>Command &lt;i&gt;%1&lt;/i&gt; failed to finish in %2 seconds.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="458"/>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="454"/>
<source>External command finished with errors.</source>
<translation>External command finished with errors.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="459"/>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="455"/>
<source>Command &lt;i&gt;%1&lt;/i&gt; finished with exit code %2.</source>
<translation>Command &lt;i&gt;%1&lt;/i&gt; finished with exit code %2.</translation>
</message>

View File

@ -2,32 +2,32 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-08 13:31+0200\n"
"POT-Creation-Date: 2021-09-22 11:02+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: \n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: src/modules/grubcfg/main.py:28
msgid "Configure GRUB."
msgstr "Configure GRUB."
msgstr ""
#: src/modules/mount/main.py:30
msgid "Mounting partitions."
msgstr "Mounting partitions."
msgstr ""
#: src/modules/mount/main.py:144 src/modules/initcpiocfg/main.py:197
#: src/modules/initcpiocfg/main.py:201
#: src/modules/mount/main.py:144 src/modules/initcpiocfg/main.py:227
#: src/modules/initcpiocfg/main.py:231
#: src/modules/luksopenswaphookcfg/main.py:86
#: src/modules/luksopenswaphookcfg/main.py:90 src/modules/rawfs/main.py:164
#: src/modules/initramfscfg/main.py:85 src/modules/initramfscfg/main.py:89
@ -36,372 +36,349 @@ msgstr "Mounting partitions."
#: src/modules/fstab/main.py:361 src/modules/fstab/main.py:388
#: src/modules/localecfg/main.py:135 src/modules/networkcfg/main.py:42
msgid "Configuration Error"
msgstr "Configuration Error"
msgstr ""
#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:198
#: src/modules/mount/main.py:145 src/modules/initcpiocfg/main.py:228
#: src/modules/luksopenswaphookcfg/main.py:87 src/modules/rawfs/main.py:165
#: src/modules/initramfscfg/main.py:86 src/modules/openrcdmcryptcfg/main.py:73
#: src/modules/fstab/main.py:356
msgid "No partitions are defined for <pre>{!s}</pre> to use."
msgstr "No partitions are defined for <pre>{!s}</pre> to use."
msgstr ""
#: src/modules/services-systemd/main.py:26
msgid "Configure systemd services"
msgstr "Configure systemd services"
msgstr ""
#: src/modules/services-systemd/main.py:59
#: src/modules/services-openrc/main.py:93
msgid "Cannot modify service"
msgstr "Cannot modify service"
msgstr ""
#: src/modules/services-systemd/main.py:60
msgid ""
"<code>systemctl {arg!s}</code> call in chroot returned error code {num!s}."
msgstr ""
"<code>systemctl {arg!s}</code> call in chroot returned error code {num!s}."
#: src/modules/services-systemd/main.py:63
#: src/modules/services-systemd/main.py:67
msgid "Cannot enable systemd service <code>{name!s}</code>."
msgstr "Cannot enable systemd service <code>{name!s}</code>."
msgstr ""
#: src/modules/services-systemd/main.py:65
msgid "Cannot enable systemd target <code>{name!s}</code>."
msgstr "Cannot enable systemd target <code>{name!s}</code>."
msgstr ""
#: src/modules/services-systemd/main.py:69
msgid "Cannot disable systemd target <code>{name!s}</code>."
msgstr "Cannot disable systemd target <code>{name!s}</code>."
msgstr ""
#: src/modules/services-systemd/main.py:71
msgid "Cannot mask systemd unit <code>{name!s}</code>."
msgstr "Cannot mask systemd unit <code>{name!s}</code>."
msgstr ""
#: src/modules/services-systemd/main.py:73
msgid ""
"Unknown systemd commands <code>{command!s}</code> and "
"<code>{suffix!s}</code> for unit {name!s}."
"Unknown systemd commands <code>{command!s}</code> and <code>{suffix!s}</"
"code> for unit {name!s}."
msgstr ""
"Unknown systemd commands <code>{command!s}</code> and "
"<code>{suffix!s}</code> for unit {name!s}."
#: src/modules/umount/main.py:31
msgid "Unmount file systems."
msgstr "Unmount file systems."
msgstr ""
#: src/modules/unpackfs/main.py:35
msgid "Filling up filesystems."
msgstr "Filling up filesystems."
msgstr ""
#: src/modules/unpackfs/main.py:255
msgid "rsync failed with error code {}."
msgstr "rsync failed with error code {}."
msgstr ""
#: src/modules/unpackfs/main.py:300
msgid "Unpacking image {}/{}, file {}/{}"
msgstr "Unpacking image {}/{}, file {}/{}"
msgstr ""
#: src/modules/unpackfs/main.py:315
msgid "Starting to unpack {}"
msgstr "Starting to unpack {}"
msgstr ""
#: src/modules/unpackfs/main.py:324 src/modules/unpackfs/main.py:464
msgid "Failed to unpack image \"{}\""
msgstr "Failed to unpack image \"{}\""
msgstr ""
#: src/modules/unpackfs/main.py:431
msgid "No mount point for root partition"
msgstr "No mount point for root partition"
msgstr ""
#: src/modules/unpackfs/main.py:432
msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing"
msgstr "globalstorage does not contain a \"rootMountPoint\" key, doing nothing"
msgstr ""
#: src/modules/unpackfs/main.py:437
msgid "Bad mount point for root partition"
msgstr "Bad mount point for root partition"
msgstr ""
#: src/modules/unpackfs/main.py:438
msgid "rootMountPoint is \"{}\", which does not exist, doing nothing"
msgstr "rootMountPoint is \"{}\", which does not exist, doing nothing"
msgstr ""
#: src/modules/unpackfs/main.py:454 src/modules/unpackfs/main.py:458
#: src/modules/unpackfs/main.py:478
msgid "Bad unsquash configuration"
msgstr "Bad unsquash configuration"
msgstr ""
#: src/modules/unpackfs/main.py:455
msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel"
msgstr "The filesystem for \"{}\" ({}) is not supported by your current kernel"
msgstr ""
#: src/modules/unpackfs/main.py:459
msgid "The source filesystem \"{}\" does not exist"
msgstr "The source filesystem \"{}\" does not exist"
msgstr ""
#: src/modules/unpackfs/main.py:465
msgid ""
"Failed to find unsquashfs, make sure you have the squashfs-tools package "
"installed"
msgstr ""
"Failed to find unsquashfs, make sure you have the squashfs-tools package "
"installed"
#: src/modules/unpackfs/main.py:479
msgid "The destination \"{}\" in the target system is not a directory"
msgstr "The destination \"{}\" in the target system is not a directory"
msgstr ""
#: src/modules/displaymanager/main.py:526
msgid "Cannot write KDM configuration file"
msgstr "Cannot write KDM configuration file"
msgstr ""
#: src/modules/displaymanager/main.py:527
msgid "KDM config file {!s} does not exist"
msgstr "KDM config file {!s} does not exist"
msgstr ""
#: src/modules/displaymanager/main.py:588
msgid "Cannot write LXDM configuration file"
msgstr "Cannot write LXDM configuration file"
msgstr ""
#: src/modules/displaymanager/main.py:589
msgid "LXDM config file {!s} does not exist"
msgstr "LXDM config file {!s} does not exist"
msgstr ""
#: src/modules/displaymanager/main.py:672
msgid "Cannot write LightDM configuration file"
msgstr "Cannot write LightDM configuration file"
msgstr ""
#: src/modules/displaymanager/main.py:673
msgid "LightDM config file {!s} does not exist"
msgstr "LightDM config file {!s} does not exist"
msgstr ""
#: src/modules/displaymanager/main.py:747
msgid "Cannot configure LightDM"
msgstr "Cannot configure LightDM"
msgstr ""
#: src/modules/displaymanager/main.py:748
msgid "No LightDM greeter installed."
msgstr "No LightDM greeter installed."
msgstr ""
#: src/modules/displaymanager/main.py:779
msgid "Cannot write SLIM configuration file"
msgstr "Cannot write SLIM configuration file"
msgstr ""
#: src/modules/displaymanager/main.py:780
msgid "SLIM config file {!s} does not exist"
msgstr "SLIM config file {!s} does not exist"
msgstr ""
#: src/modules/displaymanager/main.py:906
msgid "No display managers selected for the displaymanager module."
msgstr "No display managers selected for the displaymanager module."
msgstr ""
#: src/modules/displaymanager/main.py:907
msgid ""
"The displaymanagers list is empty or undefined in both globalstorage and "
"displaymanager.conf."
msgstr ""
"The displaymanagers list is empty or undefined in both globalstorage and "
"displaymanager.conf."
#: src/modules/displaymanager/main.py:989
msgid "Display manager configuration was incomplete"
msgstr "Display manager configuration was incomplete"
msgstr ""
#: src/modules/initcpiocfg/main.py:28
msgid "Configuring mkinitcpio."
msgstr "Configuring mkinitcpio."
msgstr ""
#: src/modules/initcpiocfg/main.py:202
#: src/modules/initcpiocfg/main.py:232
#: src/modules/luksopenswaphookcfg/main.py:91
#: src/modules/initramfscfg/main.py:90 src/modules/openrcdmcryptcfg/main.py:77
#: src/modules/fstab/main.py:362 src/modules/localecfg/main.py:136
#: src/modules/networkcfg/main.py:43
msgid "No root mount point is given for <pre>{!s}</pre> to use."
msgstr "No root mount point is given for <pre>{!s}</pre> to use."
msgstr ""
#: src/modules/luksopenswaphookcfg/main.py:26
msgid "Configuring encrypted swap."
msgstr "Configuring encrypted swap."
msgstr ""
#: src/modules/rawfs/main.py:26
msgid "Installing data."
msgstr "Installing data."
msgstr ""
#: src/modules/services-openrc/main.py:29
msgid "Configure OpenRC services"
msgstr "Configure OpenRC services"
msgstr ""
#: src/modules/services-openrc/main.py:57
msgid "Cannot add service {name!s} to run-level {level!s}."
msgstr "Cannot add service {name!s} to run-level {level!s}."
msgstr ""
#: src/modules/services-openrc/main.py:59
msgid "Cannot remove service {name!s} from run-level {level!s}."
msgstr "Cannot remove service {name!s} from run-level {level!s}."
msgstr ""
#: src/modules/services-openrc/main.py:61
msgid ""
"Unknown service-action <code>{arg!s}</code> for service {name!s} in run-"
"level {level!s}."
msgstr ""
"Unknown service-action <code>{arg!s}</code> for service {name!s} in run-"
"level {level!s}."
#: src/modules/services-openrc/main.py:94
msgid ""
"<code>rc-update {arg!s}</code> call in chroot returned error code {num!s}."
msgstr ""
"<code>rc-update {arg!s}</code> call in chroot returned error code {num!s}."
#: src/modules/services-openrc/main.py:101
msgid "Target runlevel does not exist"
msgstr "Target runlevel does not exist"
msgstr ""
#: src/modules/services-openrc/main.py:102
msgid ""
"The path for runlevel {level!s} is <code>{path!s}</code>, which does not "
"exist."
msgstr ""
"The path for runlevel {level!s} is <code>{path!s}</code>, which does not "
"exist."
#: src/modules/services-openrc/main.py:110
msgid "Target service does not exist"
msgstr "Target service does not exist"
msgstr ""
#: src/modules/services-openrc/main.py:111
msgid ""
"The path for service {name!s} is <code>{path!s}</code>, which does not "
"exist."
"The path for service {name!s} is <code>{path!s}</code>, which does not exist."
msgstr ""
"The path for service {name!s} is <code>{path!s}</code>, which does not "
"exist."
#: src/modules/plymouthcfg/main.py:27
msgid "Configure Plymouth theme"
msgstr "Configure Plymouth theme"
msgstr ""
#: src/modules/packages/main.py:50 src/modules/packages/main.py:59
#: src/modules/packages/main.py:69
msgid "Install packages."
msgstr "Install packages."
msgstr ""
#: src/modules/packages/main.py:57
#, python-format
msgid "Processing packages (%(count)d / %(total)d)"
msgstr "Processing packages (%(count)d / %(total)d)"
msgstr ""
#: src/modules/packages/main.py:62
#, python-format
msgid "Installing one package."
msgid_plural "Installing %(num)d packages."
msgstr[0] "Installing one package."
msgstr[1] "Installing %(num)d packages."
msgstr[0] ""
msgstr[1] ""
#: src/modules/packages/main.py:65
#, python-format
msgid "Removing one package."
msgid_plural "Removing %(num)d packages."
msgstr[0] "Removing one package."
msgstr[1] "Removing %(num)d packages."
msgstr[0] ""
msgstr[1] ""
#: src/modules/packages/main.py:638 src/modules/packages/main.py:650
#: src/modules/packages/main.py:678
msgid "Package Manager error"
msgstr "Package Manager error"
msgstr ""
#: src/modules/packages/main.py:639
msgid ""
"The package manager could not prepare updates. The command <pre>{!s}</pre> "
"returned error code {!s}."
msgstr ""
"The package manager could not prepare updates. The command <pre>{!s}</pre> "
"returned error code {!s}."
#: src/modules/packages/main.py:651
msgid ""
"The package manager could not update the system. The command <pre>{!s}</pre>"
" returned error code {!s}."
"The package manager could not update the system. The command <pre>{!s}</pre> "
"returned error code {!s}."
msgstr ""
"The package manager could not update the system. The command <pre>{!s}</pre>"
" returned error code {!s}."
#: src/modules/packages/main.py:679
msgid ""
"The package manager could not make changes to the installed system. The "
"command <pre>{!s}</pre> returned error code {!s}."
msgstr ""
"The package manager could not make changes to the installed system. The "
"command <pre>{!s}</pre> returned error code {!s}."
#: src/modules/bootloader/main.py:43
msgid "Install bootloader."
msgstr "Install bootloader."
msgstr ""
#: src/modules/bootloader/main.py:508
msgid "Bootloader installation error"
msgstr "Bootloader installation error"
msgstr ""
#: src/modules/bootloader/main.py:509
msgid ""
"The bootloader could not be installed. The installation command "
"<pre>{!s}</pre> returned error code {!s}."
"The bootloader could not be installed. The installation command <pre>{!s}</"
"pre> returned error code {!s}."
msgstr ""
"The bootloader could not be installed. The installation command "
"<pre>{!s}</pre> returned error code {!s}."
#: src/modules/hwclock/main.py:26
msgid "Setting hardware clock."
msgstr "Setting hardware clock."
msgstr ""
#: src/modules/mkinitfs/main.py:27
msgid "Creating initramfs with mkinitfs."
msgstr "Creating initramfs with mkinitfs."
msgstr ""
#: src/modules/mkinitfs/main.py:49
msgid "Failed to run mkinitfs on the target"
msgstr "Failed to run mkinitfs on the target"
msgstr ""
#: src/modules/mkinitfs/main.py:50 src/modules/dracut/main.py:50
msgid "The exit code was {}"
msgstr "The exit code was {}"
msgstr ""
#: src/modules/dracut/main.py:27
msgid "Creating initramfs with dracut."
msgstr "Creating initramfs with dracut."
msgstr ""
#: src/modules/dracut/main.py:49
msgid "Failed to run dracut on the target"
msgstr "Failed to run dracut on the target"
msgstr ""
#: src/modules/initramfscfg/main.py:32
msgid "Configuring initramfs."
msgstr "Configuring initramfs."
msgstr ""
#: src/modules/openrcdmcryptcfg/main.py:26
msgid "Configuring OpenRC dmcrypt service."
msgstr "Configuring OpenRC dmcrypt service."
msgstr ""
#: src/modules/fstab/main.py:29
msgid "Writing fstab."
msgstr "Writing fstab."
msgstr ""
#: src/modules/fstab/main.py:389
msgid "No <pre>{!s}</pre> configuration is given for <pre>{!s}</pre> to use."
msgstr "No <pre>{!s}</pre> configuration is given for <pre>{!s}</pre> to use."
msgstr ""
#: src/modules/dummypython/main.py:35
msgid "Dummy python job."
msgstr "Dummy python job."
msgstr ""
#: src/modules/dummypython/main.py:37 src/modules/dummypython/main.py:93
#: src/modules/dummypython/main.py:94
msgid "Dummy python step {}"
msgstr "Dummy python step {}"
msgstr ""
#: src/modules/localecfg/main.py:30
msgid "Configuring locales."
msgstr "Configuring locales."
msgstr ""
#: src/modules/networkcfg/main.py:29
msgid "Saving network configuration."
msgstr "Saving network configuration."
msgstr ""

View File

@ -71,22 +71,20 @@ handle_args( QCoreApplication& a )
{
QCommandLineOption debugLevelOption(
QStringLiteral( "D" ), "Verbose output for debugging purposes (0-8), ignored.", "level" );
QCommandLineOption globalOption( QStringList() << QStringLiteral( "g" ) << QStringLiteral( "global " ),
QCommandLineOption globalOption( { QStringLiteral( "g" ), QStringLiteral( "global" ) },
QStringLiteral( "Global settings document" ),
"global.yaml" );
QCommandLineOption jobOption( QStringList() << QStringLiteral( "j" ) << QStringLiteral( "job" ),
QStringLiteral( "Job settings document" ),
"job.yaml" );
QCommandLineOption langOption( QStringList() << QStringLiteral( "l" ) << QStringLiteral( "language" ),
QCommandLineOption jobOption(
{ QStringLiteral( "j" ), QStringLiteral( "job" ) }, QStringLiteral( "Job settings document" ), "job.yaml" );
QCommandLineOption langOption( { QStringLiteral( "l" ), QStringLiteral( "language" ) },
QStringLiteral( "Language (global)" ),
"languagecode" );
QCommandLineOption brandOption( QStringList() << QStringLiteral( "b" ) << QStringLiteral( "branding" ),
QCommandLineOption brandOption( { QStringLiteral( "b" ), QStringLiteral( "branding" ) },
QStringLiteral( "Branding directory" ),
"path/to/branding.desc",
"src/branding/default/branding.desc" );
QCommandLineOption uiOption( QStringList() << QStringLiteral( "U" ) << QStringLiteral( "ui" ),
QStringLiteral( "Enable UI" ) );
QCommandLineOption slideshowOption( QStringList() << QStringLiteral( "s" ) << QStringLiteral( "slideshow" ),
QCommandLineOption uiOption( { QStringLiteral( "U" ), QStringLiteral( "ui" ) }, QStringLiteral( "Enable UI" ) );
QCommandLineOption slideshowOption( { QStringLiteral( "s" ), QStringLiteral( "slideshow" ) },
QStringLiteral( "Run slideshow module" ) );
QCommandLineParser parser;
parser.setApplicationDescription( "Calamares module tester" );
@ -101,7 +99,7 @@ handle_args( QCoreApplication& a )
parser.addOption( uiOption );
parser.addOption( slideshowOption );
#ifdef WITH_PYTHON
QCommandLineOption pythonOption( QStringList() << QStringLiteral( "P" ) << QStringLiteral( "no-injected-python" ),
QCommandLineOption pythonOption( { QStringLiteral( "P" ), QStringLiteral( "no-injected-python" ) },
QStringLiteral( "Do not disable potentially-harmful Python commands" ) );
parser.addOption( pythonOption );
#endif
@ -143,8 +141,7 @@ handle_args( QCoreApplication& a )
parser.value( langOption ),
parser.value( brandOption ),
parser.isSet( slideshowOption ) || parser.isSet( uiOption ),
pythonInjection
};
pythonInjection };
}
}
@ -299,7 +296,8 @@ load_module( const ModuleConfig& moduleConfig )
bool ok = false;
QVariantMap descriptor;
for ( const QString& prefix : QStringList { "./", "src/modules/", "modules/" } )
QStringList moduleDirectories { "./", "src/modules/", "modules/", CMAKE_INSTALL_FULL_LIBDIR "/calamares/modules/" };
for ( const QString& prefix : qAsConst( moduleDirectories ) )
{
// Could be a complete path, eg. src/modules/dummycpp/module.desc
fi = QFileInfo( prefix + moduleName );
@ -325,12 +323,23 @@ load_module( const ModuleConfig& moduleConfig )
{
break;
}
else
{
if ( !fi.exists() )
{
cDebug() << "Expected a descriptor file" << fi.path();
}
else
{
cDebug() << "Read descriptor" << fi.path() << "and it was empty.";
}
}
}
}
if ( !ok )
{
cWarning() << "No suitable module descriptor found.";
cWarning() << "No suitable module descriptor found in" << Logger::DebugList( moduleDirectories );
return nullptr;
}
@ -461,7 +470,7 @@ main( int argc, char* argv[] )
#ifdef WITH_PYTHON
if ( module.m_pythonInjection )
{
Calamares::PythonJob::setInjectedPreScript(pythonPreScript);
Calamares::PythonJob::setInjectedPreScript( pythonPreScript );
}
#endif
#ifdef WITH_QML

View File

@ -330,7 +330,8 @@ void
PythonJob::setInjectedPreScript( const char* preScript )
{
s_preScript = preScript;
cDebug() << "Python pre-script set to" << Logger::Pointer( preScript );
cDebug() << "Python pre-script set to string" << Logger::Pointer( preScript ) << "length"
<< ( preScript ? strlen( preScript ) : 0 );
}
} // namespace Calamares

View File

@ -73,12 +73,12 @@ def replace_username(nm_config_filename, live_user, target_user):
if not os.path.exists(nm_config_filename):
return
with open(target_network, "r") as network_conf:
with open(nm_config_filename, "r") as network_conf:
text = network_conf.readlines()
live_permissions = 'permissions=user:{}:;'.format(live_user)
target_permissions = 'permissions=user:{}:;\n'.format(user)
with open(target_network, "w") as network_conf:
target_permissions = 'permissions=user:{}:;\n'.format(target_user)
with open(nm_config_filename, "w") as network_conf:
for line in text:
if live_permissions in line:
line = target_permissions