Merge branch 'calamares' of https://github.com/calamares/calamares into development
This commit is contained in:
commit
85393d52ad
30
CHANGES-3.2
30
CHANGES-3.2
@ -7,16 +7,38 @@ 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.53 (unreleased) #
|
||||
# 3.2.54 (unreleased) #
|
||||
|
||||
This release contains contributions from (alphabetically by first name):
|
||||
- No external contributors yet
|
||||
- Nobody yet
|
||||
|
||||
## Core ##
|
||||
- No core changes yet
|
||||
- Nothing yet
|
||||
|
||||
## Modules ##
|
||||
- No module changes yet
|
||||
- Nothing yet
|
||||
|
||||
|
||||
# 3.2.53 (2022-03-04) #
|
||||
|
||||
This release contains contributions from (alphabetically by first name):
|
||||
- Huang Jia Wen (new contributor! Welcome!)
|
||||
|
||||
## Core ##
|
||||
- Automount-manipulation (to switch off KDE Plasma automounting new devices)
|
||||
now logs slightly more as it works. Defaults have changed in KDE Plasma
|
||||
5.24 and it turns out the automount-manipulation does not work well.
|
||||
Distro's are encouraged to turn off automount in the live ISO (see #1885).
|
||||
|
||||
## Modules ##
|
||||
- *bootloader* now knows about loongarch64 and can install suitable EFI
|
||||
files for this CPU type. (Thanks Huang Jia Wen)
|
||||
- Progress reporting for `pacman` from the *packages* module has been switched
|
||||
off. The progress reporting works under low load, but there are many reports
|
||||
of it crashing (from XeroLinux and from Evan James, who has been debugging
|
||||
the issue) during a regular installation with thousands of updates. This
|
||||
will be revisited in the next release.
|
||||
- The *umount* module was buggy and did not actually unmount anything.
|
||||
|
||||
|
||||
# 3.2.52 (2022-02-25) #
|
||||
|
@ -41,7 +41,7 @@
|
||||
# TODO:3.3: Require CMake 3.12
|
||||
cmake_minimum_required( VERSION 3.3 FATAL_ERROR )
|
||||
project( CALAMARES
|
||||
VERSION 3.2.53
|
||||
VERSION 3.2.54
|
||||
LANGUAGES C CXX
|
||||
)
|
||||
|
||||
|
17
ci/umount.sh
Executable file
17
ci/umount.sh
Executable file
@ -0,0 +1,17 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# This is an "unmount" script that tries to unmount whatever
|
||||
# filesystems Calamares might have left mounted (e.g. because of
|
||||
# a crash, or ^C'ing the installer, or ..).
|
||||
#
|
||||
|
||||
# Swap may have become enabled on the disks just used; assume
|
||||
# we're in a live session where we don't want any.
|
||||
sudo swapoff -a
|
||||
# In Arch-based systems, there may be a gpg-agent started by
|
||||
# pacman during installation, which lives in the chroot. Kill
|
||||
# them all; again assume we're in a live session where it doesn't matter.
|
||||
sudo pkill gpg-agent
|
||||
# Unmount the filesystems in *reverse* order, since we need to ditch
|
||||
# e.g. /run/udev before /run before the root filesystem.
|
||||
sudo umount $( LC_ALL=C mount | awk '/calamares-root/{print $3}' | LC_ALL=C sort -r )
|
@ -370,7 +370,7 @@ Linkki kopioitu leikepöydälle</translation>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="315"/>
|
||||
<source>The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong></source>
|
||||
<translation>Asennus ohjelman %1 on tehtävä muutoksia levylle, jotta %2 voidaan asentaa.<br/><strong>Et voi kumota näitä muutoksia.</strong></translation>
|
||||
<translation>Asennusohjelman %1 on tehtävä muutoksia asemalle, jotta %2 voidaan asentaa.<br/><strong>Et voi kumota näitä muutoksia.</strong></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="318"/>
|
||||
@ -597,7 +597,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1385"/>
|
||||
<source>This storage device does not seem to have an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device.</source>
|
||||
<translation>Tällä kiintolevyllä ei näytä olevan käyttöjärjestelmää. Mitä haluat tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi ennen kuin kiintolevylle tehdään muutoksia.</translation>
|
||||
<translation>Tällä massamuistilla ei näytä olevan käyttöjärjestelmää. Mitä haluat tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi ennen kuin massamuistille tehdään muutoksia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1390"/>
|
||||
@ -605,7 +605,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat.</translation>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1449"/>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1474"/>
|
||||
<source><strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device.</source>
|
||||
<translation><strong>Tyhjennä levy</strong><br/>Tämä <font color="red">poistaa</font> kaikki tiedot valitussa kiintolevyssä.</translation>
|
||||
<translation><strong>Tyhjennä asema</strong><br/>Tämä <font color="red">poistaa</font> kaikki tiedot valitusta massamuistista.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1394"/>
|
||||
@ -626,32 +626,32 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1417"/>
|
||||
<source>This storage device has %1 on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device.</source>
|
||||
<translation>Tässä kiintolevyssä on %1 dataa. Mitä haluat tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi ennen kuin kiintolevyyn tehdään muutoksia.</translation>
|
||||
<translation>Tässä massamuistissa on %1 dataa. Mitä haluat tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi ennen kuin massamuistiin tehdään muutoksia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1440"/>
|
||||
<source>This storage device already has an operating system on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device.</source>
|
||||
<translation>Tämä kiintolevy sisältää jo käyttöjärjestelmän. Mitä haluaisit tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi, ennen kuin kiintolevyyn tehdään muutoksia.</translation>
|
||||
<translation>Tämä massamuisti sisältää jo käyttöjärjestelmän. Mitä haluaisit tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi, ennen kuin massamuistiin tehdään muutoksia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1465"/>
|
||||
<source>This storage device has multiple operating systems on it. What would you like to do?<br/>You will be able to review and confirm your choices before any change is made to the storage device.</source>
|
||||
<translation>Tämä kiintolevy sisältää jo useita käyttöjärjestelmiä. Mitä haluaisit tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi, ennen kuin kiintolevyyn tehdään muutoksia.</translation>
|
||||
<translation>Tämä massamuisti sisältää jo useita käyttöjärjestelmiä. Mitä haluaisit tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi, ennen kuin massamuistiin tehdään muutoksia.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1537"/>
|
||||
<source>This storage device already has an operating system on it, but the partition table <strong>%1</strong> is different from the needed <strong>%2</strong>.<br/></source>
|
||||
<translation>Tällä kiintolevyllä on jo käyttöjärjestelmä, mutta osiotaulukko <strong>%1</strong> on erilainen kuin tarvittava <strong>%2</strong>.<br/></translation>
|
||||
<translation>Tällä massamuistilla on jo käyttöjärjestelmä, mutta osiotaulukko <strong>%1</strong> on erilainen kuin tarvittava <strong>%2</strong>.<br/></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1560"/>
|
||||
<source>This storage device has one of its partitions <strong>mounted</strong>.</source>
|
||||
<translation>Tähän kiintolevyyn on <strong>kiinnitetty</strong> yksi osioista.</translation>
|
||||
<translation>Tähän massamuistiin on <strong>liitetty</strong> yksi osioista.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1565"/>
|
||||
<source>This storage device is a part of an <strong>inactive RAID</strong> device.</source>
|
||||
<translation>Tämä kiintolevy on osa <strong>passiivista RAID</strong> kokoonpanoa.</translation>
|
||||
<translation>Tämä massamuisti on osa <strong>passiivista RAID</strong> kokoonpanoa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1692"/>
|
||||
@ -1130,7 +1130,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</tra
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="280"/>
|
||||
<source>The installer failed to create partition on disk '%1'.</source>
|
||||
<translation>Asennusohjelma epäonnistui osion luonnissa levylle '%1'.</translation>
|
||||
<translation>Asennusohjelma epäonnistui osion luonnissa asemalle '%1'.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1143,7 +1143,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</tra
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionTableDialog.ui" line="43"/>
|
||||
<source>Creating a new partition table will delete all existing data on the disk.</source>
|
||||
<translation>Uuden osiotaulukon luominen poistaa kaikki olemassa olevat tiedostot levyltä.</translation>
|
||||
<translation>Uuden osiotaulukon luominen poistaa kaikki olemassa olevat tiedostot asemalta.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionTableDialog.ui" line="69"/>
|
||||
@ -1306,7 +1306,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</tra
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="108"/>
|
||||
<source>This installer <strong>cannot detect a partition table</strong> on the selected storage device.<br><br>The device either has no partition table, or the partition table is corrupted or of an unknown type.<br>This installer can create a new partition table for you, either automatically, or through the manual partitioning page.</source>
|
||||
<translation>Asennusohjelma <strong>ei tunnista osiotaulukkoa</strong> valitussa kiintolevyssä.<br><br>Levyssä ei ole osiotaulukkoa, taulukko on vioittunut tai tuntematon.<br>Asennusohjelma voi tehdä uuden osiotaulukon, joko automaattisesti tai manuaalisesti.</translation>
|
||||
<translation>Asennusohjelma <strong>ei tunnista osiotaulukkoa</strong> valitussa massamuistissa.<br><br>Laitteessa ei ole osiotaulukkoa, taulukko on vioittunut tai tuntematon.<br>Asennusohjelma voi tehdä uuden osiotaulukon, joko automaattisesti tai manuaalisesti.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="91"/>
|
||||
@ -1321,7 +1321,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</tra
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="151"/>
|
||||
<source>The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred.</source>
|
||||
<translation>Valitun kiintolevyn <strong>osiotaulukon</strong> tyyppi.<br><br>Ainoa tapa muuttaa osiotaulukon tyyppiä on poistaa ja luoda uudelleen osiot tyhjästä, mikä tuhoaa kaikki kiintolevyn sisältämät tiedot. <br>Asennusohjelma säilyttää nykyisen osiotaulukon, ellet nimenomaisesti valitse muuta.<br>Jos olet epävarma niin nykyaikaisissa järjestelmissä GPT on suositus.</translation>
|
||||
<translation>Valitun massamuistin <strong>osiotaulukon</strong> tyyppi.<br><br>Ainoa tapa muuttaa osiotaulukon tyyppiä on poistaa ja luoda uudelleen osiot tyhjästä, mikä tuhoaa kaikki massamuistin sisältämät tiedot. <br>Asennusohjelma säilyttää nykyisen osiotaulukon, ellet nimenomaisesti valitse muuta.<br>Jos olet epävarma niin nykyaikaisissa järjestelmissä GPT on suositus.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1612,7 +1612,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</tra
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="73"/>
|
||||
<source>The installer failed to format partition %1 on disk '%2'.</source>
|
||||
<translation>Levyn '%2' osion %1 alustus epäonnistui.</translation>
|
||||
<translation>Aseman '%2' osion %1 alustus epäonnistui.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2917,7 +2917,7 @@ hiiren vieritystä skaalaamiseen.</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="712"/>
|
||||
<source>has at least one disk device available.</source>
|
||||
<translation>on vähintään yksi levy käytettävissä.</translation>
|
||||
<translation>on vähintään yksi asema käytettävissä.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="713"/>
|
||||
@ -3348,7 +3348,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/ResizePartitionJob.cpp" line="77"/>
|
||||
<source>The installer failed to resize partition %1 on disk '%2'.</source>
|
||||
<translation>Asennusohjelma epäonnistui osion %1 koon muuttamisessa levyllä '%2'.</translation>
|
||||
<translation>Asennusohjelma epäonnistui osion %1 koon muuttamisessa asemalla '%2'.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3396,7 +3396,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ScanningDialog.cpp" line="68"/>
|
||||
<source>Scanning storage devices...</source>
|
||||
<translation>Etsitään kiintolevyjä...</translation>
|
||||
<translation>Etsitään massamuisteja...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ScanningDialog.cpp" line="68"/>
|
||||
|
@ -4080,7 +4080,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/zfs/ZfsJob.cpp" line="181"/>
|
||||
<source>No partitions are available for ZFS.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>ZFS에 사용할 수 있는 파티션이 없습니다.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/zfs/ZfsJob.cpp" line="192"/>
|
||||
|
@ -5,7 +5,7 @@
|
||||
#
|
||||
# Translators:
|
||||
# Ji-Hyeon Gim <potatogim@potatogim.net>, 2018
|
||||
# Jung Hee Lee <daemul72@gmail.com>, 2022
|
||||
# Junghee Lee <daemul72@gmail.com>, 2022
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
@ -14,7 +14,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-02-17 15:52+0100\n"
|
||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||
"Last-Translator: Jung Hee Lee <daemul72@gmail.com>, 2022\n"
|
||||
"Last-Translator: Junghee Lee <daemul72@gmail.com>, 2022\n"
|
||||
"Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@ -21,9 +21,23 @@ namespace Partition
|
||||
|
||||
struct AutoMountInfo
|
||||
{
|
||||
bool hasSolid = false;
|
||||
bool wasSolidModuleAutoLoaded = false;
|
||||
};
|
||||
|
||||
/** @section Solid
|
||||
*
|
||||
* KDE Solid automount management.
|
||||
*
|
||||
* Solid can be influenced through DBus calls to kded5. The following code
|
||||
* handles Solid: if Solid exists (e.g. we're in a KDE Plasma desktop)
|
||||
* then try to turn off automount that way.
|
||||
*/
|
||||
|
||||
/** @brief Boilerplate for a call to kded5
|
||||
*
|
||||
* Returns a method-call message, ready for arguments and call().
|
||||
*/
|
||||
static inline QDBusMessage
|
||||
kdedCall( const QString& method )
|
||||
{
|
||||
@ -31,6 +45,31 @@ kdedCall( const QString& method )
|
||||
QStringLiteral( "org.kde.kded5" ), QStringLiteral( "/kded" ), QStringLiteral( "org.kde.kded5" ), method );
|
||||
}
|
||||
|
||||
/** @brief Log a response from call()
|
||||
*
|
||||
* Logs without a function header so it is simple to use from an existing
|
||||
* logging-block. Assumes @p r is a reply or an error message.
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
static void
|
||||
logDBusResponse( QDBusMessage&& r )
|
||||
{
|
||||
if ( r.type() == QDBusMessage::ReplyMessage )
|
||||
{
|
||||
cDebug() << Logger::SubEntry << r.type() << "reply" << r.arguments();
|
||||
}
|
||||
else
|
||||
{
|
||||
cDebug() << Logger::SubEntry << r.type() << "error" << r.errorMessage();
|
||||
}
|
||||
}
|
||||
|
||||
/** @brief Enables (or disables) automount for Solid
|
||||
*
|
||||
* If @p enable is @c true, enables automount. Otherwise, disables it.
|
||||
* This throws some DBbus messages on the wire and forgets about them.
|
||||
*/
|
||||
// This code comes, roughly, from the KCM for removable devices.
|
||||
static void
|
||||
enableSolidAutoMount( QDBusConnection& dbus, bool enable )
|
||||
@ -41,17 +80,24 @@ enableSolidAutoMount( QDBusConnection& dbus, bool enable )
|
||||
{
|
||||
auto msg = kdedCall( QStringLiteral( "setModuleAutoloading" ) );
|
||||
msg.setArguments( { moduleName, QVariant( enable ) } );
|
||||
dbus.call( msg, QDBus::NoBlock );
|
||||
logDBusResponse( dbus.call( msg, QDBus::Block ) );
|
||||
}
|
||||
|
||||
// Stop module
|
||||
{
|
||||
auto msg = kdedCall( enable ? QStringLiteral( "loadModule" ) : QStringLiteral( "unloadModule" ) );
|
||||
msg.setArguments( { moduleName } );
|
||||
dbus.call( msg, QDBus::NoBlock );
|
||||
logDBusResponse( dbus.call( msg, QDBus::Block ) );
|
||||
}
|
||||
}
|
||||
|
||||
/** @brief Check if Solid exists and has automount set
|
||||
*
|
||||
* Updates the @p info object with the discovered information.
|
||||
* - if there is no Solid available on DBus, sets hasSolid to @c false
|
||||
* - if there is Solid available on DBusm, sets *hasSolid* to @c true
|
||||
* and places the queried value of automounting in *wasSolidModuleAutoLoaded*.
|
||||
*/
|
||||
static void
|
||||
querySolidAutoMount( QDBusConnection& dbus, AutoMountInfo& info )
|
||||
{
|
||||
@ -73,26 +119,51 @@ querySolidAutoMount( QDBusConnection& dbus, AutoMountInfo& info )
|
||||
result = v.toBool();
|
||||
}
|
||||
}
|
||||
if ( !result.has_value() )
|
||||
{
|
||||
cDebug() << "No viable response from Solid" << r.path();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// It's an error message
|
||||
cDebug() << "Solid not available:" << r.errorMessage();
|
||||
}
|
||||
info.hasSolid = result.has_value();
|
||||
info.wasSolidModuleAutoLoaded = result.has_value() ? result.value() : false;
|
||||
}
|
||||
|
||||
std::shared_ptr< AutoMountInfo >
|
||||
automountDisable( bool disable )
|
||||
{
|
||||
auto u = std::make_shared< AutoMountInfo >();
|
||||
auto info = std::make_shared< AutoMountInfo >();
|
||||
QDBusConnection dbus = QDBusConnection::sessionBus();
|
||||
querySolidAutoMount( dbus, *u );
|
||||
enableSolidAutoMount( dbus, !disable );
|
||||
return u;
|
||||
|
||||
// KDE Plasma (Solid) handling
|
||||
querySolidAutoMount( dbus, *info );
|
||||
if ( info->hasSolid )
|
||||
{
|
||||
cDebug() << "Setting Solid automount to" << ( disable ? "disabled" : "enabled" );
|
||||
enableSolidAutoMount( dbus, !disable );
|
||||
}
|
||||
|
||||
// TODO: other environments
|
||||
return info;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
automountRestore( const std::shared_ptr< AutoMountInfo >& t )
|
||||
automountRestore( const std::shared_ptr< AutoMountInfo >& info )
|
||||
{
|
||||
QDBusConnection dbus = QDBusConnection::sessionBus();
|
||||
enableSolidAutoMount( dbus, t->wasSolidModuleAutoLoaded );
|
||||
|
||||
// KDE Plasma (Solid) handling
|
||||
if ( info->hasSolid )
|
||||
{
|
||||
enableSolidAutoMount( dbus, info->wasSolidModuleAutoLoaded );
|
||||
}
|
||||
|
||||
// TODO: other environments
|
||||
}
|
||||
|
||||
} // namespace Partition
|
||||
|
@ -128,26 +128,32 @@ QList< MtabInfo >
|
||||
MtabInfo::fromMtabFilteredByPrefix( const QString& mountPrefix, const QString& mtabPath )
|
||||
{
|
||||
QFile f( mtabPath.isEmpty() ? "/etc/mtab" : mtabPath );
|
||||
if ( !f.open( QIODevice::ReadOnly ) )
|
||||
if ( !f.open( QIODevice::ReadOnly | QIODevice::Text ) )
|
||||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
QTextStream in( &f );
|
||||
QList< MtabInfo > l;
|
||||
while ( !f.atEnd() )
|
||||
// After opening, atEnd() is already true (!?) so try reading at least once
|
||||
do
|
||||
{
|
||||
QStringList line = in.readLine().split( ' ', SplitSkipEmptyParts );
|
||||
if ( line.length() == 3 && !line[ 0 ].startsWith( '#' ) )
|
||||
QString line = f.readLine();
|
||||
if ( line.isEmpty() || line.startsWith( '#' ) )
|
||||
{
|
||||
// Lines have format: <device> <mountpoint> <options>, so check
|
||||
continue;
|
||||
}
|
||||
|
||||
QStringList parts = line.split( ' ', SplitSkipEmptyParts );
|
||||
if ( parts.length() >= 3 && !parts[ 0 ].startsWith( '#' ) )
|
||||
{
|
||||
// Lines have format: <device> <mountpoint> <fstype> <options>..., so check
|
||||
// the mountpoint field. Everything starts with an empty string.
|
||||
if ( line[ 1 ].startsWith( mountPrefix ) )
|
||||
if ( parts[ 1 ].startsWith( mountPrefix ) )
|
||||
{
|
||||
l.append( { line[ 0 ], line[ 1 ] } );
|
||||
l.append( { parts[ 0 ], parts[ 1 ] } );
|
||||
}
|
||||
}
|
||||
}
|
||||
} while ( !f.atEnd() );
|
||||
return l;
|
||||
}
|
||||
|
||||
|
@ -520,6 +520,8 @@ def get_grub_efi_parameters():
|
||||
return ("i386-efi", "grubia32.efi", "bootia32.efi")
|
||||
elif efi_bitness == "64" and cpu_type == "aarch64":
|
||||
return ("arm64-efi", "grubaa64.efi", "bootaa64.efi")
|
||||
elif efi_bitness == "64" and cpu_type == "loongarch64":
|
||||
return ("loongarch64-efi", "grubloongarch64.efi", "bootloongarch64.efi")
|
||||
elif efi_bitness == "64":
|
||||
# If it's not ARM, must by AMD64
|
||||
return ("x86_64-efi", "grubx64.efi", "bootx64.efi")
|
||||
|
@ -424,7 +424,7 @@ class PMPacman(PackageManager):
|
||||
while pacman_count <= self.pacman_num_retries:
|
||||
pacman_count += 1
|
||||
try:
|
||||
if callback is True:
|
||||
if False: # callback:
|
||||
libcalamares.utils.target_env_process_output(command, self.line_cb)
|
||||
else:
|
||||
libcalamares.utils.target_env_process_output(command)
|
||||
|
@ -25,17 +25,15 @@ AutoMountManagementJob::prettyName() const
|
||||
Calamares::JobResult
|
||||
AutoMountManagementJob::exec()
|
||||
{
|
||||
cVerbose() << "this" << Logger::Pointer( this ) << "value" << Logger::Pointer( m_stored )
|
||||
<< ( m_stored ? "restore"
|
||||
: m_disable ? "disable"
|
||||
: "enable" );
|
||||
if ( m_stored )
|
||||
{
|
||||
cDebug() << "Restore automount settings";
|
||||
CalamaresUtils::Partition::automountRestore( m_stored );
|
||||
m_stored.reset();
|
||||
}
|
||||
else
|
||||
{
|
||||
cDebug() << "Set automount to" << ( m_disable ? "disable" : "enable" );
|
||||
m_stored = CalamaresUtils::Partition::automountDisable( m_disable );
|
||||
}
|
||||
return Calamares::JobResult::ok();
|
||||
|
@ -62,11 +62,13 @@ unmountTargetMounts( const QString& rootMountPoint )
|
||||
auto targetMounts = MtabInfo::fromMtabFilteredByPrefix( targetMountPath );
|
||||
std::sort( targetMounts.begin(), targetMounts.end(), MtabInfo::mountPointOrder );
|
||||
|
||||
cDebug() << "Read" << targetMounts.count() << "entries from" << targetMountPath;
|
||||
for ( const auto& m : qAsConst( targetMounts ) )
|
||||
{
|
||||
// Returns the program's exit code, so 0 is success and non-0
|
||||
// (truthy) is a failure.
|
||||
if ( CalamaresUtils::Partition::unmount( m.mountPoint, { "-lv" } ) )
|
||||
{
|
||||
// Returns the program's exit code, so 0 is success
|
||||
return Calamares::JobResult::error(
|
||||
QCoreApplication::translate( UmountJob::staticMetaObject.className(),
|
||||
"Could not unmount target system." ),
|
||||
|
Loading…
Reference in New Issue
Block a user