[rel] 3.2.53

This commit is contained in:
Philip Müller 2022-03-13 07:43:19 +01:00
commit a99ee4a7f1
12 changed files with 175 additions and 44 deletions

View File

@ -7,6 +7,40 @@ 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.54 (unreleased) #
This release contains contributions from (alphabetically by first name):
- Nobody yet
## Core ##
- Nothing yet
## Modules ##
- 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) #
This release contains contributions from (alphabetically by first name):
@ -24,6 +58,7 @@ This release contains contributions from (alphabetically by first name):
- *users* has a new key *sudoersConfigureWithGroup* to allow for
different styles of sudo configuration. #1887
# 3.2.51 (2022-02-01) #
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.52
VERSION 3.2.53
LANGUAGES C CXX
)

17
ci/umount.sh Executable file
View 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 )

View File

@ -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.&lt;br/&gt;&lt;strong&gt;You will not be able to undo these changes.&lt;/strong&gt;</source>
<translation>Asennus ohjelman %1 on tehtävä muutoksia levylle, jotta %2 voidaan asentaa.&lt;br/&gt;&lt;strong&gt;Et voi kumota näitä muutoksia.&lt;/strong&gt;</translation>
<translation>Asennusohjelman %1 on tehtävä muutoksia asemalle, jotta %2 voidaan asentaa.&lt;br/&gt;&lt;strong&gt;Et voi kumota näitä muutoksia.&lt;/strong&gt;</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?&lt;br/&gt;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ä?&lt;br/&gt;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ä?&lt;br/&gt;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>&lt;strong&gt;Erase disk&lt;/strong&gt;&lt;br/&gt;This will &lt;font color="red"&gt;delete&lt;/font&gt; all data currently present on the selected storage device.</source>
<translation>&lt;strong&gt;Tyhjennä levy&lt;/strong&gt;&lt;br/&gt;Tämä &lt;font color="red"&gt;poistaa&lt;/font&gt; kaikki tiedot valitussa kiintolevyssä.</translation>
<translation>&lt;strong&gt;Tyhjennä asema&lt;/strong&gt;&lt;br/&gt;Tämä &lt;font color="red"&gt;poistaa&lt;/font&gt; 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?&lt;br/&gt;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ä?&lt;br/&gt;Voit tarkistaa ja vahvistaa valintasi ennen kuin kiintolevyyn tehdään muutoksia.</translation>
<translation>Tässä massamuistissa on %1 dataa. Mitä haluat tehdä?&lt;br/&gt;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?&lt;br/&gt;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ä?&lt;br/&gt;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ä?&lt;br/&gt;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?&lt;br/&gt;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ä?&lt;br/&gt;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ä?&lt;br/&gt;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 &lt;strong&gt;%1&lt;/strong&gt; is different from the needed &lt;strong&gt;%2&lt;/strong&gt;.&lt;br/&gt;</source>
<translation>Tällä kiintolevyllä on jo käyttöjärjestelmä, mutta osiotaulukko &lt;strong&gt;%1&lt;/strong&gt; on erilainen kuin tarvittava &lt;strong&gt;%2&lt;/strong&gt;.&lt;br/&gt;</translation>
<translation>Tällä massamuistilla on jo käyttöjärjestelmä, mutta osiotaulukko &lt;strong&gt;%1&lt;/strong&gt; on erilainen kuin tarvittava &lt;strong&gt;%2&lt;/strong&gt;.&lt;br/&gt;</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1560"/>
<source>This storage device has one of its partitions &lt;strong&gt;mounted&lt;/strong&gt;.</source>
<translation>Tähän kiintolevyyn on &lt;strong&gt;kiinnitetty&lt;/strong&gt; yksi osioista.</translation>
<translation>Tähän massamuistiin on &lt;strong&gt;liitetty&lt;/strong&gt; yksi osioista.</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1565"/>
<source>This storage device is a part of an &lt;strong&gt;inactive RAID&lt;/strong&gt; device.</source>
<translation>Tämä kiintolevy on osa &lt;strong&gt;passiivista RAID&lt;/strong&gt; kokoonpanoa.</translation>
<translation>Tämä massamuisti on osa &lt;strong&gt;passiivista RAID&lt;/strong&gt; 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 &lt;strong&gt;cannot detect a partition table&lt;/strong&gt; on the selected storage device.&lt;br&gt;&lt;br&gt;The device either has no partition table, or the partition table is corrupted or of an unknown type.&lt;br&gt;This installer can create a new partition table for you, either automatically, or through the manual partitioning page.</source>
<translation>Asennusohjelma &lt;strong&gt;ei tunnista osiotaulukkoa&lt;/strong&gt; valitussa kiintolevyssä.&lt;br&gt;&lt;br&gt;Levyssä ei ole osiotaulukkoa, taulukko on vioittunut tai tuntematon.&lt;br&gt;Asennusohjelma voi tehdä uuden osiotaulukon, joko automaattisesti tai manuaalisesti.</translation>
<translation>Asennusohjelma &lt;strong&gt;ei tunnista osiotaulukkoa&lt;/strong&gt; valitussa massamuistissa.&lt;br&gt;&lt;br&gt;Laitteessa ei ole osiotaulukkoa, taulukko on vioittunut tai tuntematon.&lt;br&gt;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 &lt;strong&gt;partition table&lt;/strong&gt; on the selected storage device.&lt;br&gt;&lt;br&gt;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.&lt;br&gt;This installer will keep the current partition table unless you explicitly choose otherwise.&lt;br&gt;If unsure, on modern systems GPT is preferred.</source>
<translation>Valitun kiintolevyn &lt;strong&gt;osiotaulukon&lt;/strong&gt; tyyppi.&lt;br&gt;&lt;br&gt;Ainoa tapa muuttaa osiotaulukon tyyppiä on poistaa ja luoda uudelleen osiot tyhjästä, mikä tuhoaa kaikki kiintolevyn sisältämät tiedot. &lt;br&gt;Asennusohjelma säilyttää nykyisen osiotaulukon, ellet nimenomaisesti valitse muuta.&lt;br&gt;Jos olet epävarma niin nykyaikaisissa järjestelmissä GPT on suositus.</translation>
<translation>Valitun massamuistin &lt;strong&gt;osiotaulukon&lt;/strong&gt; tyyppi.&lt;br&gt;&lt;br&gt;Ainoa tapa muuttaa osiotaulukon tyyppiä on poistaa ja luoda uudelleen osiot tyhjästä, mikä tuhoaa kaikki massamuistin sisältämät tiedot. &lt;br&gt;Asennusohjelma säilyttää nykyisen osiotaulukon, ellet nimenomaisesti valitse muuta.&lt;br&gt;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ä.&lt;/
<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ä.&lt;/
<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"/>

View File

@ -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"/>

View File

@ -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"

View File

@ -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

View File

@ -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;
}

View File

@ -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")

View File

@ -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)

View File

@ -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();

View File

@ -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." ),