From 5b40f17b9ccc8952b0f9f0872339e36acd6be8f6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 28 Feb 2022 11:26:57 +0100 Subject: [PATCH 01/16] [libcalamares] Prep-work for supporting non-Solid automounting --- src/libcalamares/partition/AutoMount.cpp | 58 +++++++++++++++++++++--- 1 file changed, 52 insertions(+), 6 deletions(-) diff --git a/src/libcalamares/partition/AutoMount.cpp b/src/libcalamares/partition/AutoMount.cpp index adc844816..35aa635d2 100644 --- a/src/libcalamares/partition/AutoMount.cpp +++ b/src/libcalamares/partition/AutoMount.cpp @@ -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,11 @@ kdedCall( const QString& method ) QStringLiteral( "org.kde.kded5" ), QStringLiteral( "/kded" ), QStringLiteral( "org.kde.kded5" ), method ); } +/** @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 ) @@ -52,6 +71,13 @@ enableSolidAutoMount( QDBusConnection& dbus, bool enable ) } } +/** @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 ) { @@ -74,25 +100,45 @@ querySolidAutoMount( QDBusConnection& dbus, AutoMountInfo& info ) } } } + 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 ) + { + 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 From f2a67368837a10bfc2edb5bf84d10983065d16a4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 28 Feb 2022 11:29:45 +0100 Subject: [PATCH 02/16] [libcalamares] More chatty when DBus fails --- src/libcalamares/partition/AutoMount.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libcalamares/partition/AutoMount.cpp b/src/libcalamares/partition/AutoMount.cpp index 35aa635d2..3ad4bf5f8 100644 --- a/src/libcalamares/partition/AutoMount.cpp +++ b/src/libcalamares/partition/AutoMount.cpp @@ -99,6 +99,10 @@ querySolidAutoMount( QDBusConnection& dbus, AutoMountInfo& info ) result = v.toBool(); } } + if ( !r.has_value() ) + { + cDebug() << "No viable response from Solid" << r.path(); + } } else { @@ -119,6 +123,7 @@ automountDisable( bool disable ) querySolidAutoMount( dbus, *info ); if ( info->hasSolid ) { + cDebug() << "Setting Solid automount to" << ( disable ? "disabled" : "enabled" ); enableSolidAutoMount( dbus, !disable ); } From c5fec83f640d2f866bf0eb67e550d1f7ef28dab6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 28 Feb 2022 11:30:36 +0100 Subject: [PATCH 03/16] [libcalamares] Fix typo --- src/libcalamares/partition/AutoMount.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/partition/AutoMount.cpp b/src/libcalamares/partition/AutoMount.cpp index 3ad4bf5f8..173d66cba 100644 --- a/src/libcalamares/partition/AutoMount.cpp +++ b/src/libcalamares/partition/AutoMount.cpp @@ -99,7 +99,7 @@ querySolidAutoMount( QDBusConnection& dbus, AutoMountInfo& info ) result = v.toBool(); } } - if ( !r.has_value() ) + if ( !result.has_value() ) { cDebug() << "No viable response from Solid" << r.path(); } From 7e5173116752ed1b14cfc794a23b93c81465ad7f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Mar 2022 13:52:50 +0100 Subject: [PATCH 04/16] [partititon] Slightly better debug-logging for automount --- src/modules/partition/jobs/AutoMountManagementJob.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/modules/partition/jobs/AutoMountManagementJob.cpp b/src/modules/partition/jobs/AutoMountManagementJob.cpp index 29b197933..ed2266f6a 100644 --- a/src/modules/partition/jobs/AutoMountManagementJob.cpp +++ b/src/modules/partition/jobs/AutoMountManagementJob.cpp @@ -25,10 +25,7 @@ AutoMountManagementJob::prettyName() const Calamares::JobResult AutoMountManagementJob::exec() { - cVerbose() << "this" << Logger::Pointer( this ) << "value" << Logger::Pointer( m_stored ) - << ( m_stored ? "restore" - : m_disable ? "disable" - : "enable" ); + cDebug() << ( m_stored ? "restore" : m_disable ? "disable" : "enable" ); if ( m_stored ) { CalamaresUtils::Partition::automountRestore( m_stored ); From 60630efa6a5a8cf835ad76bd728e840c9a56026c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Mar 2022 14:03:04 +0100 Subject: [PATCH 05/16] [partition] Log DBus calls and switch to blocking calls to ensure they happen --- src/libcalamares/partition/AutoMount.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/partition/AutoMount.cpp b/src/libcalamares/partition/AutoMount.cpp index 173d66cba..3ac39b36a 100644 --- a/src/libcalamares/partition/AutoMount.cpp +++ b/src/libcalamares/partition/AutoMount.cpp @@ -45,6 +45,26 @@ 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. @@ -60,14 +80,14 @@ 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 ) ); } } From 9b3bc3d25f1f50156d517070685fe3543f94f64c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Mar 2022 14:28:13 +0100 Subject: [PATCH 06/16] CI: convenience for after-crash-cleanup --- ci/umount.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100755 ci/umount.sh diff --git a/ci/umount.sh b/ci/umount.sh new file mode 100755 index 000000000..400b0e115 --- /dev/null +++ b/ci/umount.sh @@ -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 ) From 4fe55533d77bc8dde4dac8dc12baf5becdf0b591 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Mar 2022 14:37:52 +0100 Subject: [PATCH 07/16] [partition] Log in more human-readable form --- src/modules/partition/jobs/AutoMountManagementJob.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/partition/jobs/AutoMountManagementJob.cpp b/src/modules/partition/jobs/AutoMountManagementJob.cpp index ed2266f6a..71d3f32ff 100644 --- a/src/modules/partition/jobs/AutoMountManagementJob.cpp +++ b/src/modules/partition/jobs/AutoMountManagementJob.cpp @@ -25,14 +25,15 @@ AutoMountManagementJob::prettyName() const Calamares::JobResult AutoMountManagementJob::exec() { - cDebug() << ( 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(); From 53c4bbe4e02507e7402ec9ea6f0298efbee80376 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Mar 2022 16:03:28 +0100 Subject: [PATCH 08/16] [umount] Log briefly what is going to be unmounted --- src/modules/umount/UmountJob.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/umount/UmountJob.cpp b/src/modules/umount/UmountJob.cpp index b9d92fa87..99777d2d0 100644 --- a/src/modules/umount/UmountJob.cpp +++ b/src/modules/umount/UmountJob.cpp @@ -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." ), From 2f782f18c4f29719aa7483904274c048ea24f9ff Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Mar 2022 16:10:19 +0100 Subject: [PATCH 09/16] [libcalamares] Fix file reading - atEnd() doesn't behave as expected - drop the textstream, not needed - rename variables to be more descriptive --- src/libcalamares/partition/Mount.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/libcalamares/partition/Mount.cpp b/src/libcalamares/partition/Mount.cpp index 6bc3a7cd2..a0cbf3a4a 100644 --- a/src/libcalamares/partition/Mount.cpp +++ b/src/libcalamares/partition/Mount.cpp @@ -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( '#' ) ) + { + continue; + } + + QStringList parts = line.split( ' ', SplitSkipEmptyParts ); + if ( parts.length() == 3 && !parts[ 0 ].startsWith( '#' ) ) { // Lines have format: , 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; } From 7aafeec2cb0068d7b975036fa3a9700c037a6e89 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 1 Mar 2022 16:14:45 +0100 Subject: [PATCH 10/16] [libcalamares] Fix entry-format, it was totally bogus --- src/libcalamares/partition/Mount.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcalamares/partition/Mount.cpp b/src/libcalamares/partition/Mount.cpp index a0cbf3a4a..c22ba942b 100644 --- a/src/libcalamares/partition/Mount.cpp +++ b/src/libcalamares/partition/Mount.cpp @@ -144,9 +144,9 @@ MtabInfo::fromMtabFilteredByPrefix( const QString& mountPrefix, const QString& m } QStringList parts = line.split( ' ', SplitSkipEmptyParts ); - if ( parts.length() == 3 && !parts[ 0 ].startsWith( '#' ) ) + if ( parts.length() >= 3 && !parts[ 0 ].startsWith( '#' ) ) { - // Lines have format: , so check + // Lines have format: ..., so check // the mountpoint field. Everything starts with an empty string. if ( parts[ 1 ].startsWith( mountPrefix ) ) { From dca5d9b52ba240d64d200e6f1457cf14d7dde10f Mon Sep 17 00:00:00 2001 From: Huang Jia Wen Date: Thu, 3 Mar 2022 14:11:32 +0800 Subject: [PATCH 11/16] [bootloader] Add loongarch64 support for bootloader --- src/modules/bootloader/main.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/bootloader/main.py b/src/modules/bootloader/main.py index c7bc741de..fb8e19ac2 100644 --- a/src/modules/bootloader/main.py +++ b/src/modules/bootloader/main.py @@ -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") From 569db7c0183067151bdc967878dc6e08fb927b05 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 4 Mar 2022 14:28:07 +0100 Subject: [PATCH 12/16] [packages] Disable pacman progress-reporting, it is crashy --- src/modules/packages/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/packages/main.py b/src/modules/packages/main.py index 59777cedb..e373a3443 100644 --- a/src/modules/packages/main.py +++ b/src/modules/packages/main.py @@ -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) From 667e88f2dfec4968650acf80da0fdd30dd97ef57 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 4 Mar 2022 14:39:57 +0100 Subject: [PATCH 13/16] Changes: pre-release housekeeping --- CHANGES-3.2 | 18 ++++++++++++++---- CMakeLists.txt | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/CHANGES-3.2 b/CHANGES-3.2 index 0fec792df..cc9e7b8ac 100644 --- a/CHANGES-3.2 +++ b/CHANGES-3.2 @@ -7,16 +7,26 @@ 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.53 (3022-03-04) # This release contains contributions from (alphabetically by first name): - - No external contributors yet + - Huang Jia Wen (new contributor! Welcome!) ## Core ## - - No core changes yet + - 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 ## - - No module changes yet + - *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) # diff --git a/CMakeLists.txt b/CMakeLists.txt index b7f09cdd0..29f3df083 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,7 +45,7 @@ project( CALAMARES LANGUAGES C CXX ) -set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development if( CALAMARES_VERSION_RC EQUAL 1 AND CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR ) message( FATAL_ERROR "Do not build development versions in the source-directory." ) endif() From 207576c88596e63c1627acfdb6f6c6e0a2c8f87d Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 4 Mar 2022 14:42:13 +0100 Subject: [PATCH 14/16] i18n: [calamares] Automatic merge of Transifex translations --- lang/calamares_fi_FI.ts | 34 +++++++++++++++++----------------- lang/calamares_ko.ts | 2 +- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index 49f8498f2..263444789 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -370,7 +370,7 @@ Linkki kopioitu leikepöydälle 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> - Asennus ohjelman %1 on tehtävä muutoksia levylle, jotta %2 voidaan asentaa.<br/><strong>Et voi kumota näitä muutoksia.</strong> + Asennusohjelman %1 on tehtävä muutoksia asemalle, jotta %2 voidaan asentaa.<br/><strong>Et voi kumota näitä muutoksia.</strong> @@ -597,7 +597,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. 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. - 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. + 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. @@ -605,7 +605,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. <strong>Erase disk</strong><br/>This will <font color="red">delete</font> all data currently present on the selected storage device. - <strong>Tyhjennä levy</strong><br/>Tämä <font color="red">poistaa</font> kaikki tiedot valitussa kiintolevyssä. + <strong>Tyhjennä asema</strong><br/>Tämä <font color="red">poistaa</font> kaikki tiedot valitusta massamuistista. @@ -626,32 +626,32 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. 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. - Tässä kiintolevyssä on %1 dataa. Mitä haluat tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi ennen kuin kiintolevyyn tehdään muutoksia. + Tässä massamuistissa on %1 dataa. Mitä haluat tehdä?<br/>Voit tarkistaa ja vahvistaa valintasi ennen kuin massamuistiin tehdään muutoksia. 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. - 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. + 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. 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. - 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. + 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. 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/> - Tällä kiintolevyllä on jo käyttöjärjestelmä, mutta osiotaulukko <strong>%1</strong> on erilainen kuin tarvittava <strong>%2</strong>.<br/> + Tällä massamuistilla on jo käyttöjärjestelmä, mutta osiotaulukko <strong>%1</strong> on erilainen kuin tarvittava <strong>%2</strong>.<br/> This storage device has one of its partitions <strong>mounted</strong>. - Tähän kiintolevyyn on <strong>kiinnitetty</strong> yksi osioista. + Tähän massamuistiin on <strong>liitetty</strong> yksi osioista. This storage device is a part of an <strong>inactive RAID</strong> device. - Tämä kiintolevy on osa <strong>passiivista RAID</strong> kokoonpanoa. + Tämä massamuisti on osa <strong>passiivista RAID</strong> kokoonpanoa. @@ -1130,7 +1130,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. The installer failed to create partition on disk '%1'. - Asennusohjelma epäonnistui osion luonnissa levylle '%1'. + Asennusohjelma epäonnistui osion luonnissa asemalle '%1'. @@ -1143,7 +1143,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. Creating a new partition table will delete all existing data on the disk. - Uuden osiotaulukon luominen poistaa kaikki olemassa olevat tiedostot levyltä. + Uuden osiotaulukon luominen poistaa kaikki olemassa olevat tiedostot asemalta. @@ -1306,7 +1306,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. 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. - 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. + 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. @@ -1321,7 +1321,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. 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. - 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. + 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. @@ -1612,7 +1612,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä. The installer failed to format partition %1 on disk '%2'. - Levyn '%2' osion %1 alustus epäonnistui. + Aseman '%2' osion %1 alustus epäonnistui. @@ -2917,7 +2917,7 @@ hiiren vieritystä skaalaamiseen. has at least one disk device available. - on vähintään yksi levy käytettävissä. + on vähintään yksi asema käytettävissä. @@ -3348,7 +3348,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</ The installer failed to resize partition %1 on disk '%2'. - Asennusohjelma epäonnistui osion %1 koon muuttamisessa levyllä '%2'. + Asennusohjelma epäonnistui osion %1 koon muuttamisessa asemalla '%2'. @@ -3396,7 +3396,7 @@ Asennus voi jatkua, mutta jotkin toiminnot saattavat olla pois käytöstä.</ Scanning storage devices... - Etsitään kiintolevyjä... + Etsitään massamuisteja... diff --git a/lang/calamares_ko.ts b/lang/calamares_ko.ts index 0b6ed9b17..34650f341 100644 --- a/lang/calamares_ko.ts +++ b/lang/calamares_ko.ts @@ -4080,7 +4080,7 @@ Output: No partitions are available for ZFS. - + ZFS에 사용할 수 있는 파티션이 없습니다. From 6596cd12087278f7157089a691613487dca266a9 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Fri, 4 Mar 2022 14:42:13 +0100 Subject: [PATCH 15/16] i18n: [python] Automatic merge of Transifex translations --- lang/python/ko/LC_MESSAGES/python.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/python/ko/LC_MESSAGES/python.po b/lang/python/ko/LC_MESSAGES/python.po index 36bfaab7d..478615671 100644 --- a/lang/python/ko/LC_MESSAGES/python.po +++ b/lang/python/ko/LC_MESSAGES/python.po @@ -5,7 +5,7 @@ # # Translators: # Ji-Hyeon Gim , 2018 -# Jung Hee Lee , 2022 +# Junghee Lee , 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 , 2022\n" +"Last-Translator: Junghee Lee , 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" From 0f84efed397315e62874d4b116049c529d718021 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 4 Mar 2022 16:00:33 +0100 Subject: [PATCH 16/16] Changes: post-release housekeeping --- CHANGES-3.2 | 14 +++++++++++++- CMakeLists.txt | 4 ++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CHANGES-3.2 b/CHANGES-3.2 index cc9e7b8ac..b9ef260f6 100644 --- a/CHANGES-3.2 +++ b/CHANGES-3.2 @@ -7,7 +7,19 @@ 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 (3022-03-04) # +# 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!) diff --git a/CMakeLists.txt b/CMakeLists.txt index 29f3df083..b70c6bec6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,11 +41,11 @@ # 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 ) -set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development +set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during development if( CALAMARES_VERSION_RC EQUAL 1 AND CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR ) message( FATAL_ERROR "Do not build development versions in the source-directory." ) endif()