From 6fb40c517aa4e24761c43409bc097e5c6f0fafaf Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 11 Jul 2017 06:21:16 -0400 Subject: [PATCH 01/17] CMake: collect all the Find-modules at top-level --- .../modules/users/CMakeModules => CMakeModules}/FindCrypt.cmake | 0 .../welcome/CMakeModules => CMakeModules}/FindLIBPARTED.cmake | 0 src/modules/users/CMakeLists.txt | 2 -- src/modules/welcome/CMakeLists.txt | 2 +- 4 files changed, 1 insertion(+), 3 deletions(-) rename {src/modules/users/CMakeModules => CMakeModules}/FindCrypt.cmake (100%) rename {src/modules/welcome/CMakeModules => CMakeModules}/FindLIBPARTED.cmake (100%) diff --git a/src/modules/users/CMakeModules/FindCrypt.cmake b/CMakeModules/FindCrypt.cmake similarity index 100% rename from src/modules/users/CMakeModules/FindCrypt.cmake rename to CMakeModules/FindCrypt.cmake diff --git a/src/modules/welcome/CMakeModules/FindLIBPARTED.cmake b/CMakeModules/FindLIBPARTED.cmake similarity index 100% rename from src/modules/welcome/CMakeModules/FindLIBPARTED.cmake rename to CMakeModules/FindLIBPARTED.cmake diff --git a/src/modules/users/CMakeLists.txt b/src/modules/users/CMakeLists.txt index bd3798b8a..116da68e4 100644 --- a/src/modules/users/CMakeLists.txt +++ b/src/modules/users/CMakeLists.txt @@ -5,8 +5,6 @@ if( ECM_FOUND ) endif() find_package( Qt5 COMPONENTS Core Test REQUIRED ) - -list( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules" ) find_package( Crypt ) include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) diff --git a/src/modules/welcome/CMakeLists.txt b/src/modules/welcome/CMakeLists.txt index 552ed39a8..b087164fa 100644 --- a/src/modules/welcome/CMakeLists.txt +++ b/src/modules/welcome/CMakeLists.txt @@ -1,5 +1,5 @@ include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) -set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules ) + find_package( LIBPARTED REQUIRED ) find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED DBus Network ) From c66807282bd55fddfc8d7e2fd67b7915b9d900e8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 11 Jul 2017 06:24:12 -0400 Subject: [PATCH 02/17] CMake: remove editorializing from CMakeLists.txt --- src/modules/partition/CMakeLists.txt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index 4ecf51016..2dd0ef101 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -1,10 +1,8 @@ -# ECM used for something in the tests directory find_package(ECM 5.10.0 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}) -# KF5::CoreAddons seems to be used for *something* in this module, not sure what -include(KDEInstallDirs) # this seems to be necessary for KF5::CoreAddons -include(GenerateExportHeader) # this too, because KDE frameworks always want omnomnom more stuff +include(KDEInstallDirs) +include(GenerateExportHeader) find_package( KF5 REQUIRED CoreAddons ) # These are needed because KPMcore links publicly against ConfigCore, I18n, IconThemes, KIOCore and Service From cc7631dd99b7d444b6d610405ee507ab9fa4d4e5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 11 Jul 2017 05:26:10 -0400 Subject: [PATCH 03/17] Partitions: code-formatting --- .../partition/core/PartitionCoreModule.cpp | 49 ++++++++----------- 1 file changed, 21 insertions(+), 28 deletions(-) diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index 6afae1f09..56b6281af 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -79,7 +79,7 @@ isIso9660( const Device* device ) return true; if ( device->partitionTable() && - !device->partitionTable()->children().isEmpty() ) + !device->partitionTable()->children().isEmpty() ) { for ( const Partition* partition : device->partitionTable()->children() ) { @@ -162,11 +162,11 @@ PartitionCoreModule::doInit() // Remove the device which contains / from the list for ( DeviceList::iterator it = devices.begin(); it != devices.end(); ) - if ( ! (*it) || hasRootPartition( *it ) || - (*it)->deviceNode().startsWith( "/dev/zram") || - isIso9660( *it ) ) + if ( ! ( *it ) || hasRootPartition( *it ) || + ( *it )->deviceNode().startsWith( "/dev/zram" ) || + isIso9660( *it ) ) { - cDebug() << " .. Winnowing" << ( (*it) ? (*it)->deviceNode() : QString( "" ) ); + cDebug() << " .. Winnowing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); it = devices.erase( it ); } else @@ -200,32 +200,29 @@ PartitionCoreModule::doInit() for ( auto deviceInfo : m_deviceInfos ) { for ( auto it = PartitionIterator::begin( deviceInfo->device.data() ); - it != PartitionIterator::end( deviceInfo->device.data() ); ++it ) + it != PartitionIterator::end( deviceInfo->device.data() ); ++it ) { Partition* partition = *it; for ( auto jt = m_osproberLines.begin(); - jt != m_osproberLines.end(); ++jt ) + jt != m_osproberLines.end(); ++jt ) { if ( jt->path == partition->partitionPath() && - partition->fileSystem().supportGetUUID() != FileSystem::cmdSupportNone && - !partition->fileSystem().uuid().isEmpty() ) - { + partition->fileSystem().supportGetUUID() != FileSystem::cmdSupportNone && + !partition->fileSystem().uuid().isEmpty() ) jt->uuid = partition->fileSystem().uuid(); - } } } } for ( auto deviceInfo : m_deviceInfos ) - { deviceInfo->partitionModel->init( deviceInfo->device.data(), m_osproberLines ); - } m_bootLoaderModel->init( devices ); + //FIXME: this should be removed in favor of + // proper KPM support for EFI if ( QDir( "/sys/firmware/efi/efivars" ).exists() ) - scanForEfiSystemPartitions(); //FIXME: this should be removed in favor of - // proper KPM support for EFI + scanForEfiSystemPartitions(); } PartitionCoreModule::~PartitionCoreModule() @@ -286,8 +283,8 @@ PartitionCoreModule::createPartitionTable( Device* device, PartitionTable::Table } void -PartitionCoreModule::createPartition( Device *device, - Partition *partition, +PartitionCoreModule::createPartition( Device* device, + Partition* partition, PartitionTable::Flags flags ) { auto deviceInfo = infoForDevice( device ); @@ -457,9 +454,7 @@ PartitionCoreModule::jobs() const QStringList jobsDebug; foreach ( auto job, lst ) - { jobsDebug.append( job->prettyName() ); - } cDebug() << "PartitionCodeModule has been asked for jobs. About to return:" << jobsDebug.join( "\n" ); @@ -517,9 +512,11 @@ PartitionCoreModule::refresh() updateHasRootMountPoint(); updateIsDirty(); m_bootLoaderModel->update(); + + //FIXME: this should be removed in favor of + // proper KPM support for EFI if ( QDir( "/sys/firmware/efi/efivars" ).exists() ) - scanForEfiSystemPartitions(); //FIXME: this should be removed in favor of - // proper KPM support for EFI + scanForEfiSystemPartitions(); } void PartitionCoreModule::updateHasRootMountPoint() @@ -561,7 +558,7 @@ PartitionCoreModule::scanForEfiSystemPartitions() QList< Partition* > efiSystemPartitions = KPMHelpers::findPartitions( devices, - []( Partition* partition ) -> bool + []( Partition* partition ) -> bool { if ( partition->activeFlags().testFlag( PartitionTable::FlagEsp ) ) { @@ -581,7 +578,7 @@ PartitionCoreModule::DeviceInfo* PartitionCoreModule::infoForDevice( const Device* device ) const { for ( auto it = m_deviceInfos.constBegin(); - it != m_deviceInfos.constEnd(); ++it ) + it != m_deviceInfos.constEnd(); ++it ) { if ( ( *it )->device.data() == device ) return *it; @@ -627,9 +624,7 @@ void PartitionCoreModule::revertAllDevices() { foreach ( DeviceInfo* devInfo, m_deviceInfos ) - { revertDevice( devInfo->device.data() ); - } refresh(); } @@ -643,7 +638,7 @@ PartitionCoreModule::revertDevice( Device* dev ) return; devInfo->forgetChanges(); CoreBackend* backend = CoreBackendManager::self()->backend(); - Device *newDev = backend->scanDevice( devInfo->device->deviceNode() ); + Device* newDev = backend->scanDevice( devInfo->device->deviceNode() ); devInfo->device.reset( newDev ); devInfo->partitionModel->init( newDev, m_osproberLines ); @@ -680,9 +675,7 @@ void PartitionCoreModule::clearJobs() { foreach ( DeviceInfo* deviceInfo, m_deviceInfos ) - { deviceInfo->forgetChanges(); - } updateIsDirty(); } From aeb0cd0d3fc50ccb19d57b375070e9209825a43e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 11 Jul 2017 05:37:50 -0400 Subject: [PATCH 04/17] Partitions: drop devices with mounted partitions. FIXES #639 --- .../partition/core/PartitionCoreModule.cpp | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index 56b6281af..fde4c847f 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -55,6 +55,10 @@ #include #include +/** + * Does the given @p device contain the root filesystem? This is true if + * the device contains a partition which is currently mounted at / . + */ static bool hasRootPartition( Device* device ) { @@ -64,6 +68,19 @@ hasRootPartition( Device* device ) return false; } +static bool +isMounted( Device* device ) +{ + cDebug() << "Checking for mounted partitions in" << device->deviceNode(); + for ( auto it = PartitionIterator::begin( device ); it != PartitionIterator::end( device ); ++it ) + { + cDebug() << " .." << ( *it )->partitionPath() << "mount" << ( *it )->mountPoint(); + if ( ! ( *it )->mountPoint().isEmpty() ) + return true; + } + return false; +} + static bool isIso9660( const Device* device ) { @@ -162,9 +179,12 @@ PartitionCoreModule::doInit() // Remove the device which contains / from the list for ( DeviceList::iterator it = devices.begin(); it != devices.end(); ) - if ( ! ( *it ) || hasRootPartition( *it ) || - ( *it )->deviceNode().startsWith( "/dev/zram" ) || - isIso9660( *it ) ) + if ( ! ( *it ) || + hasRootPartition( *it ) || + isIso9660( *it ) || + isMounted( *it ) || + ( *it )->deviceNode().startsWith( "/dev/zram" ) + ) { cDebug() << " .. Winnowing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); it = devices.erase( it ); From 5bf03cc51578c11d3294bfe2d7884e85bcb5e5cf Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 11 Jul 2017 06:07:15 -0400 Subject: [PATCH 05/17] Partitions: shuffle some device-detection code off to PartUtils.cpp --- src/modules/partition/core/PartUtils.cpp | 95 +++++++++++++++++++ src/modules/partition/core/PartUtils.h | 9 ++ .../partition/core/PartitionCoreModule.cpp | 77 +-------------- 3 files changed, 105 insertions(+), 76 deletions(-) diff --git a/src/modules/partition/core/PartUtils.cpp b/src/modules/partition/core/PartUtils.cpp index 875de3a63..dac76ca17 100644 --- a/src/modules/partition/core/PartUtils.cpp +++ b/src/modules/partition/core/PartUtils.cpp @@ -22,7 +22,11 @@ #include "core/DeviceModel.h" #include "core/KPMHelpers.h" +#include "core/PartitionIterator.h" +#include +#include +#include #include #include @@ -325,4 +329,95 @@ runOsprober( PartitionCoreModule* core ) } +/** + * Does the given @p device contain the root filesystem? This is true if + * the device contains a partition which is currently mounted at / . + */ +static bool +hasRootPartition( Device* device ) +{ + for ( auto it = PartitionIterator::begin( device ); it != PartitionIterator::end( device ); ++it ) + if ( ( *it )->mountPoint() == "/" ) + return true; + return false; } + +static bool +isMounted( Device* device ) +{ + cDebug() << "Checking for mounted partitions in" << device->deviceNode(); + for ( auto it = PartitionIterator::begin( device ); it != PartitionIterator::end( device ); ++it ) + { + cDebug() << " .." << ( *it )->partitionPath() << "mount" << ( *it )->mountPoint(); + if ( ! ( *it )->mountPoint().isEmpty() ) + return true; + } + return false; +} + +static bool +isIso9660( const Device* device ) +{ + QString path = device->deviceNode(); + if ( path.isEmpty() ) + return false; + + QProcess blkid; + blkid.start( "blkid", { path } ); + blkid.waitForFinished(); + QString output = QString::fromLocal8Bit( blkid.readAllStandardOutput() ); + if ( output.contains( "iso9660" ) ) + return true; + + if ( device->partitionTable() && + !device->partitionTable()->children().isEmpty() ) + { + for ( const Partition* partition : device->partitionTable()->children() ) + { + path = partition->partitionPath(); + blkid.start( "blkid", { path } ); + blkid.waitForFinished(); + QString output = QString::fromLocal8Bit( blkid.readAllStandardOutput() ); + if ( output.contains( "iso9660" ) ) + return true; + } + } + return false; +} + + +QList< Device* > getDevices( bool writableOnly ) +{ + using DeviceList = QList< Device* >; + + CoreBackend* backend = CoreBackendManager::self()->backend(); + DeviceList devices = backend->scanDevices( true ); + + cDebug() << "Winnowing" << devices.count() << "devices."; + + // Remove the device which contains / from the list + for ( DeviceList::iterator it = devices.begin(); it != devices.end(); ) + if ( ! ( *it ) || + ( *it )->deviceNode().startsWith( "/dev/zram" ) + ) + { + cDebug() << " .. Winnowing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); + it = devices.erase( it ); + + } + else if ( writableOnly && ( + hasRootPartition( *it ) || + isIso9660( *it ) || + isMounted( *it ) ) + ) + { + cDebug() << " .. Winnowing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); + it = devices.erase( it ); + } + else + ++it; + + return devices; +} + +} // nmamespace PartUtils diff --git a/src/modules/partition/core/PartUtils.h b/src/modules/partition/core/PartUtils.h index 21d995965..cd289e046 100644 --- a/src/modules/partition/core/PartUtils.h +++ b/src/modules/partition/core/PartUtils.h @@ -23,6 +23,7 @@ #include +class Device; class PartitionCoreModule; class Partition; @@ -62,6 +63,14 @@ bool canBeResized( PartitionCoreModule* core, const QString& partitionPath ); */ OsproberEntryList runOsprober( PartitionCoreModule* core ); +/** + * @brief Gets a list of storage devices. + * @param writableOnly if set to true, only devices which can be overwritten + * safely are returned (e.g. RO-media are ignored, as are mounted partitions). + * @return a list of Devices meeting this criterium. + */ +QList< Device* > getDevices( bool writableOnly = false ); + } #endif // PARTUTILS_H diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index fde4c847f..752b7753c 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -55,62 +55,6 @@ #include #include -/** - * Does the given @p device contain the root filesystem? This is true if - * the device contains a partition which is currently mounted at / . - */ -static bool -hasRootPartition( Device* device ) -{ - for ( auto it = PartitionIterator::begin( device ); it != PartitionIterator::end( device ); ++it ) - if ( ( *it )->mountPoint() == "/" ) - return true; - return false; -} - -static bool -isMounted( Device* device ) -{ - cDebug() << "Checking for mounted partitions in" << device->deviceNode(); - for ( auto it = PartitionIterator::begin( device ); it != PartitionIterator::end( device ); ++it ) - { - cDebug() << " .." << ( *it )->partitionPath() << "mount" << ( *it )->mountPoint(); - if ( ! ( *it )->mountPoint().isEmpty() ) - return true; - } - return false; -} - -static bool -isIso9660( const Device* device ) -{ - QString path = device->deviceNode(); - if ( path.isEmpty() ) - return false; - - QProcess blkid; - blkid.start( "blkid", { path } ); - blkid.waitForFinished(); - QString output = QString::fromLocal8Bit( blkid.readAllStandardOutput() ); - if ( output.contains( "iso9660" ) ) - return true; - - if ( device->partitionTable() && - !device->partitionTable()->children().isEmpty() ) - { - for ( const Partition* partition : device->partitionTable()->children() ) - { - path = partition->partitionPath(); - blkid.start( "blkid", { path } ); - blkid.waitForFinished(); - QString output = QString::fromLocal8Bit( blkid.readAllStandardOutput() ); - if ( output.contains( "iso9660" ) ) - return true; - } - } - return false; -} - //- DeviceInfo --------------------------------------------- PartitionCoreModule::DeviceInfo::DeviceInfo( Device* _device ) : device( _device ) @@ -171,26 +115,7 @@ PartitionCoreModule::doInit() FileSystemFactory::init(); using DeviceList = QList< Device* >; - - CoreBackend* backend = CoreBackendManager::self()->backend(); - DeviceList devices = backend->scanDevices( true ); - - cDebug() << "Winnowing" << devices.count() << "devices."; - - // Remove the device which contains / from the list - for ( DeviceList::iterator it = devices.begin(); it != devices.end(); ) - if ( ! ( *it ) || - hasRootPartition( *it ) || - isIso9660( *it ) || - isMounted( *it ) || - ( *it )->deviceNode().startsWith( "/dev/zram" ) - ) - { - cDebug() << " .. Winnowing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); - it = devices.erase( it ); - } - else - ++it; + DeviceList devices = PartUtils::getDevices( true ); cDebug() << "LIST OF DETECTED DEVICES:"; cDebug() << "node\tcapacity\tname\tprettyName"; From 594bc37d67cd560e68a09219db23a1cc3b6867c1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 11 Jul 2017 09:32:09 -0400 Subject: [PATCH 06/17] Coverity: uninitialized member --- src/libcalamaresui/Branding.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libcalamaresui/Branding.cpp b/src/libcalamaresui/Branding.cpp index 25102d3fd..11d607853 100644 --- a/src/libcalamaresui/Branding.cpp +++ b/src/libcalamaresui/Branding.cpp @@ -83,6 +83,7 @@ Branding::Branding( const QString& brandingFilePath, , m_descriptorPath( brandingFilePath ) , m_componentName() , m_welcomeStyleCalamares( false ) + , m_welcomeExpandingLogo( true ) { cDebug() << "Using Calamares branding file at" << brandingFilePath; QFile file( brandingFilePath ); From 356716f971da28955ea13a75c2d145e5249ec612 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Wed, 12 Jul 2017 00:43:40 +0000 Subject: [PATCH 07/17] [core] Automatic merge of Transifex translations --- lang/calamares_pl.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index ade3360df..9d3237e46 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -553,7 +553,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. MiB - + MB @@ -928,7 +928,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. MiB - + MB From e4862512f74dc3e0080c8ebd2a1b2e253e7eeeba Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 11 Jul 2017 08:28:15 -0400 Subject: [PATCH 08/17] Partitions: split KPMCore-finding code into an include-module --- CMakeModules/IncludeKPMCore.cmake | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 CMakeModules/IncludeKPMCore.cmake diff --git a/CMakeModules/IncludeKPMCore.cmake b/CMakeModules/IncludeKPMCore.cmake new file mode 100644 index 000000000..b06299d91 --- /dev/null +++ b/CMakeModules/IncludeKPMCore.cmake @@ -0,0 +1,17 @@ +# Shared CMake core for finding KPMCore +# +# This is wrapped into a CMake include file because there's a bunch of +# pre-requisites that need searching for before looking for KPMCore. +# If you just do find_package( KPMCore ) without finding the things +# it links against first, you get CMake errors. +# +# +find_package(ECM 5.10.0 REQUIRED NO_MODULE) +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH}) + +include(KDEInstallDirs) +include(GenerateExportHeader) +find_package( KF5 REQUIRED CoreAddons ) +find_package( KF5 REQUIRED Config I18n IconThemes KIO Service ) + +find_package( KPMcore 3.0.3 REQUIRED ) From 102bed180521a61280cbf51a0a38e2f8b106b37e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 11 Jul 2017 08:54:56 -0400 Subject: [PATCH 09/17] Partitions: split device-listing (and winnowing) into separate source file. The grab-list-of-writable-devices code is usable for the partition module, but also useful for welcome module, so reduce its footprint. --- src/modules/partition/CMakeLists.txt | 1 + src/modules/partition/core/DeviceList.cpp | 133 ++++++++++++++++++ src/modules/partition/core/DeviceList.h | 41 ++++++ src/modules/partition/core/PartUtils.cpp | 92 ------------ src/modules/partition/core/PartUtils.h | 9 -- .../partition/core/PartitionCoreModule.cpp | 1 + 6 files changed, 176 insertions(+), 101 deletions(-) create mode 100644 src/modules/partition/core/DeviceList.cpp create mode 100644 src/modules/partition/core/DeviceList.h diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index 2dd0ef101..5f64b6530 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -30,6 +30,7 @@ calamares_add_plugin( partition SOURCES core/BootLoaderModel.cpp core/ColorUtils.cpp + core/DeviceList.cpp core/DeviceModel.cpp core/KPMHelpers.cpp core/PartitionActions.cpp diff --git a/src/modules/partition/core/DeviceList.cpp b/src/modules/partition/core/DeviceList.cpp new file mode 100644 index 000000000..307627002 --- /dev/null +++ b/src/modules/partition/core/DeviceList.cpp @@ -0,0 +1,133 @@ +/* === This file is part of Calamares - === + * + * Copyright 2015-2016, Teo Mrnjavac + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "PartUtils.h" + +#include "PartitionCoreModule.h" + +#include "core/DeviceModel.h" +#include "core/KPMHelpers.h" +#include "core/PartitionIterator.h" + +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +namespace PartUtils +{ + +/** + * Does the given @p device contain the root filesystem? This is true if + * the device contains a partition which is currently mounted at / . + */ +static bool +hasRootPartition( Device* device ) +{ + for ( auto it = PartitionIterator::begin( device ); it != PartitionIterator::end( device ); ++it ) + if ( ( *it )->mountPoint() == "/" ) + return true; + return false; +} + +static bool +isMounted( Device* device ) +{ + cDebug() << "Checking for mounted partitions in" << device->deviceNode(); + for ( auto it = PartitionIterator::begin( device ); it != PartitionIterator::end( device ); ++it ) + { + cDebug() << " .." << ( *it )->partitionPath() << "mount" << ( *it )->mountPoint(); + if ( ! ( *it )->mountPoint().isEmpty() ) + return true; + } + return false; +} + +static bool +isIso9660( const Device* device ) +{ + QString path = device->deviceNode(); + if ( path.isEmpty() ) + return false; + + QProcess blkid; + blkid.start( "blkid", { path } ); + blkid.waitForFinished(); + QString output = QString::fromLocal8Bit( blkid.readAllStandardOutput() ); + if ( output.contains( "iso9660" ) ) + return true; + + if ( device->partitionTable() && + !device->partitionTable()->children().isEmpty() ) + { + for ( const Partition* partition : device->partitionTable()->children() ) + { + path = partition->partitionPath(); + blkid.start( "blkid", { path } ); + blkid.waitForFinished(); + QString output = QString::fromLocal8Bit( blkid.readAllStandardOutput() ); + if ( output.contains( "iso9660" ) ) + return true; + } + } + return false; +} + + +QList< Device* > getDevices( bool writableOnly ) +{ + using DeviceList = QList< Device* >; + + CoreBackend* backend = CoreBackendManager::self()->backend(); + DeviceList devices = backend->scanDevices( true ); + + cDebug() << "Winnowing" << devices.count() << "devices."; + + // Remove the device which contains / from the list + for ( DeviceList::iterator it = devices.begin(); it != devices.end(); ) + if ( ! ( *it ) || + ( *it )->deviceNode().startsWith( "/dev/zram" ) + ) + { + cDebug() << " .. Winnowing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); + it = devices.erase( it ); + + } + else if ( writableOnly && ( + hasRootPartition( *it ) || + isIso9660( *it ) || + isMounted( *it ) ) + ) + { + cDebug() << " .. Winnowing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); + it = devices.erase( it ); + } + else + ++it; + + return devices; +} + +} // namespace PartUtils diff --git a/src/modules/partition/core/DeviceList.h b/src/modules/partition/core/DeviceList.h new file mode 100644 index 000000000..e13895b62 --- /dev/null +++ b/src/modules/partition/core/DeviceList.h @@ -0,0 +1,41 @@ +/* === This file is part of Calamares - === + * + * Copyright 2014-2017, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef DEVICELIST_H +#define DEVICELIST_H + +#include +#include + +class Device; + +namespace PartUtils +{ + +/** + * @brief Gets a list of storage devices. + * @param writableOnly if set to true, only devices which can be overwritten + * safely are returned (e.g. RO-media are ignored, as are mounted partitions). + * @return a list of Devices meeting this criterium. + */ +QList< Device* > getDevices( bool writableOnly = false ); + +} + +#endif // DEVICELIST_H diff --git a/src/modules/partition/core/PartUtils.cpp b/src/modules/partition/core/PartUtils.cpp index dac76ca17..6aeffa7fb 100644 --- a/src/modules/partition/core/PartUtils.cpp +++ b/src/modules/partition/core/PartUtils.cpp @@ -328,96 +328,4 @@ runOsprober( PartitionCoreModule* core ) return osproberEntries; } - -/** - * Does the given @p device contain the root filesystem? This is true if - * the device contains a partition which is currently mounted at / . - */ -static bool -hasRootPartition( Device* device ) -{ - for ( auto it = PartitionIterator::begin( device ); it != PartitionIterator::end( device ); ++it ) - if ( ( *it )->mountPoint() == "/" ) - return true; - return false; -} - -static bool -isMounted( Device* device ) -{ - cDebug() << "Checking for mounted partitions in" << device->deviceNode(); - for ( auto it = PartitionIterator::begin( device ); it != PartitionIterator::end( device ); ++it ) - { - cDebug() << " .." << ( *it )->partitionPath() << "mount" << ( *it )->mountPoint(); - if ( ! ( *it )->mountPoint().isEmpty() ) - return true; - } - return false; -} - -static bool -isIso9660( const Device* device ) -{ - QString path = device->deviceNode(); - if ( path.isEmpty() ) - return false; - - QProcess blkid; - blkid.start( "blkid", { path } ); - blkid.waitForFinished(); - QString output = QString::fromLocal8Bit( blkid.readAllStandardOutput() ); - if ( output.contains( "iso9660" ) ) - return true; - - if ( device->partitionTable() && - !device->partitionTable()->children().isEmpty() ) - { - for ( const Partition* partition : device->partitionTable()->children() ) - { - path = partition->partitionPath(); - blkid.start( "blkid", { path } ); - blkid.waitForFinished(); - QString output = QString::fromLocal8Bit( blkid.readAllStandardOutput() ); - if ( output.contains( "iso9660" ) ) - return true; - } - } - return false; -} - - -QList< Device* > getDevices( bool writableOnly ) -{ - using DeviceList = QList< Device* >; - - CoreBackend* backend = CoreBackendManager::self()->backend(); - DeviceList devices = backend->scanDevices( true ); - - cDebug() << "Winnowing" << devices.count() << "devices."; - - // Remove the device which contains / from the list - for ( DeviceList::iterator it = devices.begin(); it != devices.end(); ) - if ( ! ( *it ) || - ( *it )->deviceNode().startsWith( "/dev/zram" ) - ) - { - cDebug() << " .. Winnowing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); - it = devices.erase( it ); - - } - else if ( writableOnly && ( - hasRootPartition( *it ) || - isIso9660( *it ) || - isMounted( *it ) ) - ) - { - cDebug() << " .. Winnowing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); - it = devices.erase( it ); - } - else - ++it; - - return devices; -} - } // nmamespace PartUtils diff --git a/src/modules/partition/core/PartUtils.h b/src/modules/partition/core/PartUtils.h index cd289e046..21d995965 100644 --- a/src/modules/partition/core/PartUtils.h +++ b/src/modules/partition/core/PartUtils.h @@ -23,7 +23,6 @@ #include -class Device; class PartitionCoreModule; class Partition; @@ -63,14 +62,6 @@ bool canBeResized( PartitionCoreModule* core, const QString& partitionPath ); */ OsproberEntryList runOsprober( PartitionCoreModule* core ); -/** - * @brief Gets a list of storage devices. - * @param writableOnly if set to true, only devices which can be overwritten - * safely are returned (e.g. RO-media are ignored, as are mounted partitions). - * @return a list of Devices meeting this criterium. - */ -QList< Device* > getDevices( bool writableOnly = false ); - } #endif // PARTUTILS_H diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index 752b7753c..e4d01fb8d 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -22,6 +22,7 @@ #include "core/BootLoaderModel.h" #include "core/ColorUtils.h" +#include "core/DeviceList.h" #include "core/DeviceModel.h" #include "core/PartitionInfo.h" #include "core/PartitionIterator.h" From 55c6cfa1ca91b4b84607265d8ed984f1a4fe448e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 12 Jul 2017 04:57:22 -0400 Subject: [PATCH 10/17] Partitions: improve wording of debug messages --- src/modules/partition/core/DeviceList.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/modules/partition/core/DeviceList.cpp b/src/modules/partition/core/DeviceList.cpp index 307627002..0210747be 100644 --- a/src/modules/partition/core/DeviceList.cpp +++ b/src/modules/partition/core/DeviceList.cpp @@ -58,9 +58,11 @@ isMounted( Device* device ) cDebug() << "Checking for mounted partitions in" << device->deviceNode(); for ( auto it = PartitionIterator::begin( device ); it != PartitionIterator::end( device ); ++it ) { - cDebug() << " .." << ( *it )->partitionPath() << "mount" << ( *it )->mountPoint(); if ( ! ( *it )->mountPoint().isEmpty() ) + { + cDebug() << " .." << ( *it )->partitionPath() << "is mounted on" << ( *it )->mountPoint(); return true; + } } return false; } @@ -103,7 +105,7 @@ QList< Device* > getDevices( bool writableOnly ) CoreBackend* backend = CoreBackendManager::self()->backend(); DeviceList devices = backend->scanDevices( true ); - cDebug() << "Winnowing" << devices.count() << "devices."; + cDebug() << "Removing unsuitable devices:" << devices.count() << "candidates."; // Remove the device which contains / from the list for ( DeviceList::iterator it = devices.begin(); it != devices.end(); ) @@ -111,7 +113,7 @@ QList< Device* > getDevices( bool writableOnly ) ( *it )->deviceNode().startsWith( "/dev/zram" ) ) { - cDebug() << " .. Winnowing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); + cDebug() << " .. Removing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); it = devices.erase( it ); } @@ -121,7 +123,7 @@ QList< Device* > getDevices( bool writableOnly ) isMounted( *it ) ) ) { - cDebug() << " .. Winnowing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); + cDebug() << " .. Removing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); it = devices.erase( it ); } else From 730e0d885fc04f121148c956cf4e8b60287754f3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 11 Jul 2017 15:02:29 -0400 Subject: [PATCH 11/17] Partitions: use KPMCore-defined default backend --- src/modules/partition/core/KPMHelpers.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/modules/partition/core/KPMHelpers.cpp b/src/modules/partition/core/KPMHelpers.cpp index b0038213c..fc93b6bd7 100644 --- a/src/modules/partition/core/KPMHelpers.cpp +++ b/src/modules/partition/core/KPMHelpers.cpp @@ -43,10 +43,7 @@ initKPMcore() return true; QByteArray backendName = qgetenv( "KPMCORE_BACKEND" ); - if ( backendName.isEmpty() ) - backendName = "pmlibpartedbackendplugin"; - - if ( !CoreBackendManager::self()->load( backendName ) ) + if ( !CoreBackendManager::self()->load( backendName.isEmpty() ? CoreBackendManager::defaultBackendName() : backendName ) ) { qWarning() << "Failed to load backend plugin" << backendName; return false; From 7d49255a780cf2dd18e4583df0d28765927021d9 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 12 Jul 2017 05:41:29 -0400 Subject: [PATCH 12/17] Partitions: use an enum with clear semantics instead of bool --- src/modules/partition/core/DeviceList.cpp | 6 ++++-- src/modules/partition/core/DeviceList.h | 8 ++++++-- src/modules/partition/core/PartitionCoreModule.cpp | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/modules/partition/core/DeviceList.cpp b/src/modules/partition/core/DeviceList.cpp index 0210747be..f9125f4de 100644 --- a/src/modules/partition/core/DeviceList.cpp +++ b/src/modules/partition/core/DeviceList.cpp @@ -16,7 +16,7 @@ * along with Calamares. If not, see . */ -#include "PartUtils.h" +#include "DeviceList.h" #include "PartitionCoreModule.h" @@ -98,8 +98,10 @@ isIso9660( const Device* device ) } -QList< Device* > getDevices( bool writableOnly ) +QList< Device* > getDevices( DeviceType which ) { + bool writableOnly = (which == DeviceType::WritableOnly); + using DeviceList = QList< Device* >; CoreBackend* backend = CoreBackendManager::self()->backend(); diff --git a/src/modules/partition/core/DeviceList.h b/src/modules/partition/core/DeviceList.h index e13895b62..6871f7fc9 100644 --- a/src/modules/partition/core/DeviceList.h +++ b/src/modules/partition/core/DeviceList.h @@ -28,13 +28,17 @@ class Device; namespace PartUtils { +enum class DeviceType { All, WritableOnly }; + /** * @brief Gets a list of storage devices. - * @param writableOnly if set to true, only devices which can be overwritten + * @param which Can be used to select from all the devices in + * the system, filtering out those that do not meet a criterium. + * If set to WritableOnly, only devices which can be overwritten * safely are returned (e.g. RO-media are ignored, as are mounted partitions). * @return a list of Devices meeting this criterium. */ -QList< Device* > getDevices( bool writableOnly = false ); +QList< Device* > getDevices( DeviceType which = DeviceType::All ); } diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index e4d01fb8d..26cc0f597 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -116,7 +116,7 @@ PartitionCoreModule::doInit() FileSystemFactory::init(); using DeviceList = QList< Device* >; - DeviceList devices = PartUtils::getDevices( true ); + DeviceList devices = PartUtils::getDevices( PartUtils::DeviceType::WritableOnly ); cDebug() << "LIST OF DETECTED DEVICES:"; cDebug() << "node\tcapacity\tname\tprettyName"; From 18a1f459db85dae0eb2d7b46fd98422eda3952f0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 12 Jul 2017 05:54:22 -0400 Subject: [PATCH 13/17] Partition: reduce code duplications --- src/modules/partition/core/DeviceList.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/modules/partition/core/DeviceList.cpp b/src/modules/partition/core/DeviceList.cpp index f9125f4de..207306ac4 100644 --- a/src/modules/partition/core/DeviceList.cpp +++ b/src/modules/partition/core/DeviceList.cpp @@ -98,6 +98,13 @@ isIso9660( const Device* device ) } +static inline QDebug& +operator <<( QDebug& s, QList< Device* >::iterator& it ) +{ + s << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); + return s; +} + QList< Device* > getDevices( DeviceType which ) { bool writableOnly = (which == DeviceType::WritableOnly); @@ -115,7 +122,7 @@ QList< Device* > getDevices( DeviceType which ) ( *it )->deviceNode().startsWith( "/dev/zram" ) ) { - cDebug() << " .. Removing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); + cDebug() << " .. Removing" << it; it = devices.erase( it ); } @@ -125,7 +132,7 @@ QList< Device* > getDevices( DeviceType which ) isMounted( *it ) ) ) { - cDebug() << " .. Removing" << ( ( *it ) ? ( *it )->deviceNode() : QString( "" ) ); + cDebug() << " .. Removing" << it; it = devices.erase( it ); } else From 3cd18fd285a8e22501f3e33fa5d39beebf4f3a2b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 12 Jul 2017 06:40:54 -0400 Subject: [PATCH 14/17] Partitions: extend getDevices() with minimum size. This is preparatory work for making the available-space check consistent with what the partition module will allow for installation. Right now, the check for available space will allow a mounted drive, even /, to satisfy the check. --- src/modules/partition/core/DeviceList.cpp | 7 ++++++- src/modules/partition/core/DeviceList.h | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/modules/partition/core/DeviceList.cpp b/src/modules/partition/core/DeviceList.cpp index 207306ac4..22d7e643f 100644 --- a/src/modules/partition/core/DeviceList.cpp +++ b/src/modules/partition/core/DeviceList.cpp @@ -105,7 +105,7 @@ operator <<( QDebug& s, QList< Device* >::iterator& it ) return s; } -QList< Device* > getDevices( DeviceType which ) +QList< Device* > getDevices( DeviceType which, qint64 minimumSize ) { bool writableOnly = (which == DeviceType::WritableOnly); @@ -135,6 +135,11 @@ QList< Device* > getDevices( DeviceType which ) cDebug() << " .. Removing" << it; it = devices.erase( it ); } + else if ( (minimumSize >= 0) && !( (*it)->capacity() > minimumSize ) ) + { + cDebug() << " .. Removing too-small" << it; + it = devices.erase( it ); + } else ++it; diff --git a/src/modules/partition/core/DeviceList.h b/src/modules/partition/core/DeviceList.h index 6871f7fc9..6da34c5d1 100644 --- a/src/modules/partition/core/DeviceList.h +++ b/src/modules/partition/core/DeviceList.h @@ -36,9 +36,12 @@ enum class DeviceType { All, WritableOnly }; * the system, filtering out those that do not meet a criterium. * If set to WritableOnly, only devices which can be overwritten * safely are returned (e.g. RO-media are ignored, as are mounted partitions). + * @param minimumSize Can be used to filter devices based on their + * size (in bytes). If non-negative, only devices with a size + * greater than @p minimumSize will be returned. * @return a list of Devices meeting this criterium. */ -QList< Device* > getDevices( DeviceType which = DeviceType::All ); +QList< Device* > getDevices( DeviceType which = DeviceType::All, qint64 minimumSize = -1 ); } From 55a63a1f67df962f75a790404598c303d6fb1832 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 12 Jul 2017 07:07:53 -0400 Subject: [PATCH 15/17] RemoveUser: fix bad PEP8-ing FIXES #577 --- src/modules/removeuser/main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/removeuser/main.py b/src/modules/removeuser/main.py index 45ccac6a1..795f403fe 100644 --- a/src/modules/removeuser/main.py +++ b/src/modules/removeuser/main.py @@ -33,7 +33,7 @@ def run(): libcalamares.utils.check_target_env_call(["userdel", "-f", "-r", username]) except subprocess.CalledProcessError as e: - libcalamares.utils.debug("Cannot remove user.", - "'userdel' terminated with exit code", + libcalamares.utils.debug("Cannot remove user. " + "'userdel' terminated with exit code " "{}.".format(e.returncode)) return None From 4a5cee133f60464e5396137e92253130d086ec20 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 12 Jul 2017 07:43:47 -0400 Subject: [PATCH 16/17] About: adjust to the system font size. FIXES #433 --- src/modules/welcome/WelcomePage.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index 423df65ad..8b5c604b4 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -96,6 +96,9 @@ WelcomePage::WelcomePage( RequirementsChecker* requirementsChecker, QWidget* par CalamaresUtils::Original, QSize( CalamaresUtils::defaultFontHeight() * 6, CalamaresUtils::defaultFontHeight() * 6 ) ) ); + QGridLayout* layout = reinterpret_cast( mb.layout() ); + if ( layout ) + layout->setColumnMinimumWidth( 2, CalamaresUtils::defaultFontHeight() * 24 ); mb.exec(); } ); From dd775663f207b56857f4bdcca8911244cc181047 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Thu, 13 Jul 2017 00:44:25 +0000 Subject: [PATCH 17/17] [core] Automatic merge of Transifex translations --- lang/calamares_ar.ts | 10 +++++----- lang/calamares_ast.ts | 24 ++++++++++++------------ lang/calamares_bg.ts | 10 +++++----- lang/calamares_ca.ts | 10 +++++----- lang/calamares_cs_CZ.ts | 10 +++++----- lang/calamares_da.ts | 24 ++++++++++++------------ lang/calamares_de.ts | 10 +++++----- lang/calamares_el.ts | 10 +++++----- lang/calamares_en.ts | 10 +++++----- lang/calamares_en_GB.ts | 10 +++++----- lang/calamares_es.ts | 10 +++++----- lang/calamares_es_ES.ts | 10 +++++----- lang/calamares_es_MX.ts | 10 +++++----- lang/calamares_es_PR.ts | 10 +++++----- lang/calamares_et.ts | 10 +++++----- lang/calamares_eu.ts | 10 +++++----- lang/calamares_fa.ts | 10 +++++----- lang/calamares_fi_FI.ts | 10 +++++----- lang/calamares_fr.ts | 10 +++++----- lang/calamares_fr_CH.ts | 10 +++++----- lang/calamares_gl.ts | 10 +++++----- lang/calamares_gu.ts | 10 +++++----- lang/calamares_he.ts | 14 +++++++------- lang/calamares_hi.ts | 10 +++++----- lang/calamares_hr.ts | 10 +++++----- lang/calamares_hu.ts | 10 +++++----- lang/calamares_id.ts | 10 +++++----- lang/calamares_is.ts | 10 +++++----- lang/calamares_it_IT.ts | 10 +++++----- lang/calamares_ja.ts | 10 +++++----- lang/calamares_kk.ts | 10 +++++----- lang/calamares_lo.ts | 10 +++++----- lang/calamares_lt.ts | 10 +++++----- lang/calamares_mr.ts | 10 +++++----- lang/calamares_nb.ts | 10 +++++----- lang/calamares_nl.ts | 10 +++++----- lang/calamares_pl.ts | 10 +++++----- lang/calamares_pl_PL.ts | 10 +++++----- lang/calamares_pt_BR.ts | 10 +++++----- lang/calamares_pt_PT.ts | 10 +++++----- lang/calamares_ro.ts | 10 +++++----- lang/calamares_ru.ts | 10 +++++----- lang/calamares_sk.ts | 10 +++++----- lang/calamares_sl.ts | 10 +++++----- lang/calamares_sr.ts | 10 +++++----- lang/calamares_sr@latin.ts | 10 +++++----- lang/calamares_sv.ts | 10 +++++----- lang/calamares_th.ts | 10 +++++----- lang/calamares_tr_TR.ts | 10 +++++----- lang/calamares_uk.ts | 10 +++++----- lang/calamares_ur.ts | 10 +++++----- lang/calamares_uz.ts | 10 +++++----- lang/calamares_zh_CN.ts | 10 +++++----- lang/calamares_zh_TW.ts | 10 +++++----- 54 files changed, 286 insertions(+), 286 deletions(-) diff --git a/lang/calamares_ar.ts b/lang/calamares_ar.ts index 31e8ef2be..df49f45eb 100644 --- a/lang/calamares_ar.ts +++ b/lang/calamares_ar.ts @@ -1683,22 +1683,22 @@ The installer will quit and all changes will be lost. الافتراضي - + unknown مجهول - + extended ممتدّ - + unformatted غير مهيّأ - + swap @@ -2264,7 +2264,7 @@ The installer will quit and all changes will be lost. - + %1 support 1% الدعم diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index 0278c83fc..c47df7df4 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -257,17 +257,17 @@ L'instalador colará y perderánse toles camudancies. &Yes - + &Sí &No - + &Non &Close - + &Zarrar @@ -292,12 +292,12 @@ L'instalador colará y perderánse toles camudancies. &Done - + &Fecho The installation is complete. Close the installer. - + Completóse la operación. Zarra l'instalador. @@ -928,7 +928,7 @@ L'instalador colará y perderánse toles camudancies. MiB - + MiB @@ -1683,22 +1683,22 @@ L'instalador colará y perderánse toles camudancies. Por defeutu - + unknown - + extended - + unformatted ensin formatiar - + swap intercambéu @@ -2251,7 +2251,7 @@ L'instalador colará y perderánse toles camudancies. <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Afáyate nel instalador Calamares pa %1.</h1> @@ -2264,7 +2264,7 @@ L'instalador colará y perderánse toles camudancies. - + %1 support Sofitu %1 diff --git a/lang/calamares_bg.ts b/lang/calamares_bg.ts index 27f1a96ce..2cfa94dc8 100644 --- a/lang/calamares_bg.ts +++ b/lang/calamares_bg.ts @@ -1684,22 +1684,22 @@ The installer will quit and all changes will be lost. По подразбиране - + unknown неизвестна - + extended разширена - + unformatted неформатирана - + swap swap @@ -2265,7 +2265,7 @@ The installer will quit and all changes will be lost. - + %1 support %1 поддръжка diff --git a/lang/calamares_ca.ts b/lang/calamares_ca.ts index 4750075bb..ab9c5e925 100644 --- a/lang/calamares_ca.ts +++ b/lang/calamares_ca.ts @@ -1683,22 +1683,22 @@ L'instal·lador es tancarà i tots els canvis es perdran. Per defecte - + unknown desconeguda - + extended ampliada - + unformatted sense format - + swap Intercanvi @@ -2264,7 +2264,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agraïments: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Equip de traducció del Calamares</a>.<br/><br/><a href="http://calamares.io/">El desenvolupament </a> del Calamares està patrocinat per <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 suport diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index 16eb11b27..cc02ed872 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -1683,22 +1683,22 @@ Instalační program bude ukončen a všechny změny ztraceny. Výchozí - + unknown neznámý - + extended rozšířený - + unformatted nenaformátovaný - + swap odkládací oddíl @@ -2264,7 +2264,7 @@ Instalační program bude ukončen a všechny změny ztraceny. - + %1 support %1 podpora diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index 8b7986e26..6955f2945 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -257,17 +257,17 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. &Yes - + &Ja &No - + &Nej &Close - + &Luk @@ -553,7 +553,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. MiB - + MiB @@ -928,7 +928,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. MiB - + MiB @@ -1032,7 +1032,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. - + <h1>Installation mislykkede</h1><br/>%1 er ikke blevet installeret på din computer.<br/>Fejlmeddelelsen var: %2. @@ -1683,22 +1683,22 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Standard - + unknown ukendt - + extended udvidet - + unformatted uformatteret - + swap swap @@ -2261,10 +2261,10 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Ophavsret 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Ophavsret 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Tak til: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg og <a href="https://www.transifex.com/calamares/calamares/">Calamares-oversætterteam</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> udvikling er sponsoreret af <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 support diff --git a/lang/calamares_de.ts b/lang/calamares_de.ts index ab60a9d80..ea069753f 100644 --- a/lang/calamares_de.ts +++ b/lang/calamares_de.ts @@ -1683,22 +1683,22 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Standard - + unknown unbekannt - + extended erweitert - + unformatted unformatiert - + swap Swap @@ -2264,7 +2264,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. - + %1 support Unterstützung für %1 diff --git a/lang/calamares_el.ts b/lang/calamares_el.ts index 2de7ad3d6..d24b67855 100644 --- a/lang/calamares_el.ts +++ b/lang/calamares_el.ts @@ -1683,22 +1683,22 @@ The installer will quit and all changes will be lost. Προκαθορισμένο - + unknown άγνωστη - + extended εκτεταμένη - + unformatted μη μορφοποιημένη - + swap @@ -2264,7 +2264,7 @@ The installer will quit and all changes will be lost. - + %1 support Υποστήριξη %1 diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index 7d4a780c4..270b0a91e 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -1683,22 +1683,22 @@ The installer will quit and all changes will be lost. Default - + unknown unknown - + extended extended - + unformatted unformatted - + swap swap @@ -2264,7 +2264,7 @@ The installer will quit and all changes will be lost. <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 support diff --git a/lang/calamares_en_GB.ts b/lang/calamares_en_GB.ts index 800b15766..3162ed1df 100644 --- a/lang/calamares_en_GB.ts +++ b/lang/calamares_en_GB.ts @@ -1683,22 +1683,22 @@ The installer will quit and all changes will be lost. Default - + unknown - + extended - + unformatted - + swap @@ -2264,7 +2264,7 @@ The installer will quit and all changes will be lost. - + %1 support diff --git a/lang/calamares_es.ts b/lang/calamares_es.ts index a20999274..4f5e4cfb6 100644 --- a/lang/calamares_es.ts +++ b/lang/calamares_es.ts @@ -1684,22 +1684,22 @@ Saldrá del instalador y se perderán todos los cambios. Por defecto - + unknown desconocido - + extended extendido - + unformatted sin formato - + swap swap @@ -2265,7 +2265,7 @@ Saldrá del instalador y se perderán todos los cambios. <h1>%1</h1><br/><strong>%2<br/>para %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agradecimientos a: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg y el <a href="https://www.transifex.com/calamares/calamares/">equipo de traductores de Calamares</a>.<br/><br/>El desarrollo de <a href="http://calamares.io/">Calamares</a> está patrocinado por: <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberando Software. - + %1 support %1 ayuda diff --git a/lang/calamares_es_ES.ts b/lang/calamares_es_ES.ts index 1024c7190..1a73c1974 100644 --- a/lang/calamares_es_ES.ts +++ b/lang/calamares_es_ES.ts @@ -1683,22 +1683,22 @@ El instalador se cerrará y se perderán todos los cambios. Por defecto - + unknown - + extended - + unformatted - + swap @@ -2264,7 +2264,7 @@ El instalador se cerrará y se perderán todos los cambios. - + %1 support diff --git a/lang/calamares_es_MX.ts b/lang/calamares_es_MX.ts index 47e1c4f58..6aa32e2ba 100644 --- a/lang/calamares_es_MX.ts +++ b/lang/calamares_es_MX.ts @@ -1685,22 +1685,22 @@ El instalador terminará y se perderán todos los cambios. Por defecto - + unknown - + extended - + unformatted - + swap @@ -2266,7 +2266,7 @@ El instalador terminará y se perderán todos los cambios. - + %1 support %1 Soporte diff --git a/lang/calamares_es_PR.ts b/lang/calamares_es_PR.ts index ec7e53aa6..f59cb41eb 100644 --- a/lang/calamares_es_PR.ts +++ b/lang/calamares_es_PR.ts @@ -1682,22 +1682,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -2263,7 +2263,7 @@ The installer will quit and all changes will be lost. - + %1 support diff --git a/lang/calamares_et.ts b/lang/calamares_et.ts index b1b46ab2c..4b6cc3308 100644 --- a/lang/calamares_et.ts +++ b/lang/calamares_et.ts @@ -1676,22 +1676,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -2257,7 +2257,7 @@ The installer will quit and all changes will be lost. - + %1 support diff --git a/lang/calamares_eu.ts b/lang/calamares_eu.ts index 0df719cf4..6aec5b80a 100644 --- a/lang/calamares_eu.ts +++ b/lang/calamares_eu.ts @@ -1680,22 +1680,22 @@ The installer will quit and all changes will be lost. Lehenetsia - + unknown - + extended - + unformatted - + swap @@ -2261,7 +2261,7 @@ The installer will quit and all changes will be lost. - + %1 support %1 euskarria diff --git a/lang/calamares_fa.ts b/lang/calamares_fa.ts index b33c67bba..7adde8c9f 100644 --- a/lang/calamares_fa.ts +++ b/lang/calamares_fa.ts @@ -1676,22 +1676,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -2257,7 +2257,7 @@ The installer will quit and all changes will be lost. - + %1 support diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index b19a2f6f9..bd2f9d406 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -1683,22 +1683,22 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. Oletus - + unknown - + extended - + unformatted - + swap @@ -2264,7 +2264,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + %1 support diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index e8127b12d..1307ff1b0 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -1683,22 +1683,22 @@ L'installateur se fermera et les changements seront perdus. Défaut - + unknown inconnu - + extended étendu - + unformatted non formaté - + swap swap @@ -2264,7 +2264,7 @@ L'installateur se fermera et les changements seront perdus. <h1>%1</h1><br/><strong>%2<br/>pour %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Merci à : Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg et <a href="https://www.transifex.com/calamares/calamares/">l'équipe de traducteurs de Calamares</a>.<br/><br/>Le développement de <a href="http://calamares.io/">Calamares</a>est sponsorisé par <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support Support de %1 diff --git a/lang/calamares_fr_CH.ts b/lang/calamares_fr_CH.ts index 5fca4c78f..ab70049ea 100644 --- a/lang/calamares_fr_CH.ts +++ b/lang/calamares_fr_CH.ts @@ -1676,22 +1676,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -2257,7 +2257,7 @@ The installer will quit and all changes will be lost. - + %1 support diff --git a/lang/calamares_gl.ts b/lang/calamares_gl.ts index 5718f4984..f20b96139 100644 --- a/lang/calamares_gl.ts +++ b/lang/calamares_gl.ts @@ -1684,22 +1684,22 @@ O instalador pecharase e perderanse todos os cambios. - + unknown - + extended - + unformatted - + swap @@ -2265,7 +2265,7 @@ O instalador pecharase e perderanse todos os cambios. - + %1 support %1 axuda diff --git a/lang/calamares_gu.ts b/lang/calamares_gu.ts index d3e41f698..2b63cdef8 100644 --- a/lang/calamares_gu.ts +++ b/lang/calamares_gu.ts @@ -1676,22 +1676,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -2257,7 +2257,7 @@ The installer will quit and all changes will be lost. - + %1 support diff --git a/lang/calamares_he.ts b/lang/calamares_he.ts index 19e2db610..372f13883 100644 --- a/lang/calamares_he.ts +++ b/lang/calamares_he.ts @@ -553,7 +553,7 @@ The installer will quit and all changes will be lost. MiB - + מבי - בייט @@ -928,7 +928,7 @@ The installer will quit and all changes will be lost. MiB - + מבי - בייט @@ -1683,22 +1683,22 @@ The installer will quit and all changes will be lost. ברירת מחדל - + unknown לא מוכרת - + extended מורחבת - + unformatted לא מאותחל - + swap דפדוף, swap @@ -2264,7 +2264,7 @@ The installer will quit and all changes will be lost. <h1>%1</h1><br/><strong>%2<br/>עבור %3</strong><br/><br/>זכויות יוצרים 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>זכויות יוצרים 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>תודות ל: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the ול<a href="https://www.transifex.com/calamares/calamares/">צוות התרגום של Calamares</a>.<br/><br/>פיתוח <a href="http://calamares.io/">Calamares</a> בחסות <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - משחררים תוכנה. - + %1 support תמיכה ב - %1 diff --git a/lang/calamares_hi.ts b/lang/calamares_hi.ts index 523ae17e6..7882b81a1 100644 --- a/lang/calamares_hi.ts +++ b/lang/calamares_hi.ts @@ -1676,22 +1676,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -2257,7 +2257,7 @@ The installer will quit and all changes will be lost. - + %1 support diff --git a/lang/calamares_hr.ts b/lang/calamares_hr.ts index 5e509a7dc..ca9b203d6 100644 --- a/lang/calamares_hr.ts +++ b/lang/calamares_hr.ts @@ -1683,22 +1683,22 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Zadano - + unknown nepoznato - + extended prošireno - + unformatted nije formatirano - + swap swap @@ -2264,7 +2264,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.<h1>%1</h1><br/><strong>%2<br/>za %3</strong><br/><br/>Autorska prava 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Autorska prava 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Zahvale: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg i <a href="https://www.transifex.com/calamares/calamares/">Calamares timu za prevođenje</a>.<br/><br/><a href="http://calamares.io/">Calamares</a>sponzorira <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 podrška diff --git a/lang/calamares_hu.ts b/lang/calamares_hu.ts index 7b2174043..bcd1b02e1 100644 --- a/lang/calamares_hu.ts +++ b/lang/calamares_hu.ts @@ -1684,22 +1684,22 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Alapértelmezett - + unknown ismeretlen - + extended kiterjesztett - + unformatted formázatlan - + swap Swap @@ -2265,7 +2265,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l - + %1 support %1 támogatás diff --git a/lang/calamares_id.ts b/lang/calamares_id.ts index 79013d00d..11fe4cb93 100644 --- a/lang/calamares_id.ts +++ b/lang/calamares_id.ts @@ -1685,22 +1685,22 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Standar - + unknown tidak diketahui: - + extended extended - + unformatted tidak terformat: - + swap swap @@ -2266,7 +2266,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. - + %1 support Dukungan %1 diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index f6b050ea8..c2a90ea8b 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -1683,22 +1683,22 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Sjálfgefið - + unknown óþekkt - + extended útvíkkuð - + unformatted ekki forsniðin - + swap swap diskminni @@ -2264,7 +2264,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. - + %1 support %1 stuðningur diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index e5c308344..818b90da5 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -1683,22 +1683,22 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Default - + unknown sconosciuto - + extended estesa - + unformatted non formattata - + swap swap @@ -2264,7 +2264,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno - + %1 support supporto %1 diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index d87c331de..47bd4626b 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -1683,22 +1683,22 @@ The installer will quit and all changes will be lost. デフォルト - + unknown 不明 - + extended 拡張 - + unformatted 未フォーマット - + swap スワップ @@ -2264,7 +2264,7 @@ The installer will quit and all changes will be lost. - + %1 support %1 サポート diff --git a/lang/calamares_kk.ts b/lang/calamares_kk.ts index 3f2c486ff..9755fd0a8 100644 --- a/lang/calamares_kk.ts +++ b/lang/calamares_kk.ts @@ -1676,22 +1676,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -2257,7 +2257,7 @@ The installer will quit and all changes will be lost. - + %1 support %1 қолдауы diff --git a/lang/calamares_lo.ts b/lang/calamares_lo.ts index fb64c35d5..330b147ff 100644 --- a/lang/calamares_lo.ts +++ b/lang/calamares_lo.ts @@ -1676,22 +1676,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -2257,7 +2257,7 @@ The installer will quit and all changes will be lost. - + %1 support diff --git a/lang/calamares_lt.ts b/lang/calamares_lt.ts index eff793978..6dfdd78ea 100644 --- a/lang/calamares_lt.ts +++ b/lang/calamares_lt.ts @@ -1683,22 +1683,22 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Numatytasis - + unknown nežinoma - + extended išplėsta - + unformatted nesutvarkyta - + swap sukeitimų (swap) @@ -2264,7 +2264,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. <h1>%1</h1><br/><strong>%2<br/>sistemai %3</strong><br/><br/>Autorių teisės 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Autorių teisės 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Dėkojame: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg ir <a href="https://www.transifex.com/calamares/calamares/">Calamares vertėjų komandai</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> kūrimą remia <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Išlaisvinanti programinė įranga. - + %1 support %1 palaikymas diff --git a/lang/calamares_mr.ts b/lang/calamares_mr.ts index a0e887f30..5a741738e 100644 --- a/lang/calamares_mr.ts +++ b/lang/calamares_mr.ts @@ -1676,22 +1676,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -2257,7 +2257,7 @@ The installer will quit and all changes will be lost. - + %1 support diff --git a/lang/calamares_nb.ts b/lang/calamares_nb.ts index 2222109ea..ce15cc1d3 100644 --- a/lang/calamares_nb.ts +++ b/lang/calamares_nb.ts @@ -1683,22 +1683,22 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + unknown - + extended - + unformatted - + swap @@ -2264,7 +2264,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + %1 support diff --git a/lang/calamares_nl.ts b/lang/calamares_nl.ts index a8b3b27f7..7696f08c3 100644 --- a/lang/calamares_nl.ts +++ b/lang/calamares_nl.ts @@ -1683,22 +1683,22 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Standaard - + unknown onbekend - + extended uitgebreid - + unformatted niet-geformateerd - + swap wisselgeheugen @@ -2264,7 +2264,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. - + %1 support %1 ondersteuning diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index 9d3237e46..165c0f2a8 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -1683,22 +1683,22 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Domyślnie - + unknown nieznany - + extended rozszerzona - + unformatted niesformatowany - + swap przestrzeń wymiany @@ -2264,7 +2264,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.<h1>%1</h1><br/><strong>%2<br/>dla %3</strong><br/><br/>Prawa autorskie 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Prawa autorskie 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Podziękowania dla: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg i <a href="https://www.transifex.com/calamares/calamares/">zespołu tłumaczy Calamares</a>.<br/><br/><a href="http://calamares.io/">Projekt Calamares</a> jest sponsorowany przez <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support Wsparcie %1 diff --git a/lang/calamares_pl_PL.ts b/lang/calamares_pl_PL.ts index cd6bc845d..c4ae6ed4a 100644 --- a/lang/calamares_pl_PL.ts +++ b/lang/calamares_pl_PL.ts @@ -1683,22 +1683,22 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone.Domyślnie - + unknown - + extended - + unformatted - + swap @@ -2264,7 +2264,7 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - + %1 support diff --git a/lang/calamares_pt_BR.ts b/lang/calamares_pt_BR.ts index ecef5229a..efd56a420 100644 --- a/lang/calamares_pt_BR.ts +++ b/lang/calamares_pt_BR.ts @@ -1685,22 +1685,22 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Padrão - + unknown desconhecido - + extended estendida - + unformatted não formatado - + swap swap @@ -2266,7 +2266,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. - + %1 support %1 suporte diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index f5c2553b5..f49c80d24 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -1683,22 +1683,22 @@ O instalador será encerrado e todas as alterações serão perdidas.Padrão - + unknown desconhecido - + extended estendido - + unformatted não formatado - + swap swap @@ -2264,7 +2264,7 @@ O instalador será encerrado e todas as alterações serão perdidas.<h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Direitos de Cópia 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Direitos de Cópia 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Agradecimentos a: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg e para <a href="https://www.transifex.com/calamares/calamares/">a equipa de tradutores do Calamares</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> desenvolvimento apoiado por <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + %1 support %1 suporte diff --git a/lang/calamares_ro.ts b/lang/calamares_ro.ts index e41db74c6..7ed28083a 100644 --- a/lang/calamares_ro.ts +++ b/lang/calamares_ro.ts @@ -1683,22 +1683,22 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Implicit - + unknown necunoscut - + extended extins - + unformatted neformatat - + swap swap @@ -2264,7 +2264,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. - + %1 support %1 suport diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index 2cd134d0a..6486724fd 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -1682,22 +1682,22 @@ The installer will quit and all changes will be lost. По умолчанию - + unknown неизвестный - + extended расширенный - + unformatted неформатированный - + swap swap @@ -2263,7 +2263,7 @@ The installer will quit and all changes will be lost. - + %1 support %1 поддержка diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index a55d2f877..8c719499b 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -1683,22 +1683,22 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Predvolený - + unknown neznámy - + extended rozšírený - + unformatted nenaformátovaný - + swap odkladací @@ -2264,7 +2264,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Autorské práva 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Autorské práva 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Poďakovanie: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg a <a href="https://www.transifex.com/calamares/calamares/">prekladateľký tím inštalátora Calamares</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> je vyvýjaný s podporou projektu <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Oslobodzujúci softvér. - + %1 support Podpora distribúcie %1 diff --git a/lang/calamares_sl.ts b/lang/calamares_sl.ts index dddf92e25..3529c04e9 100644 --- a/lang/calamares_sl.ts +++ b/lang/calamares_sl.ts @@ -1683,22 +1683,22 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. Privzeto - + unknown - + extended - + unformatted - + swap @@ -2264,7 +2264,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + %1 support diff --git a/lang/calamares_sr.ts b/lang/calamares_sr.ts index 571d0c775..5ae1425ae 100644 --- a/lang/calamares_sr.ts +++ b/lang/calamares_sr.ts @@ -1683,22 +1683,22 @@ The installer will quit and all changes will be lost. подразумевано - + unknown непознато - + extended проширена - + unformatted неформатирана - + swap @@ -2264,7 +2264,7 @@ The installer will quit and all changes will be lost. - + %1 support %1 подршка diff --git a/lang/calamares_sr@latin.ts b/lang/calamares_sr@latin.ts index 4b53301ed..2736f2336 100644 --- a/lang/calamares_sr@latin.ts +++ b/lang/calamares_sr@latin.ts @@ -1683,22 +1683,22 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + unknown - + extended - + unformatted - + swap @@ -2264,7 +2264,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + %1 support diff --git a/lang/calamares_sv.ts b/lang/calamares_sv.ts index 9a2136ae6..80bfa84a5 100644 --- a/lang/calamares_sv.ts +++ b/lang/calamares_sv.ts @@ -1683,22 +1683,22 @@ Alla ändringar kommer att gå förlorade. Standard - + unknown okänd - + extended utökad - + unformatted oformaterad - + swap @@ -2264,7 +2264,7 @@ Alla ändringar kommer att gå förlorade. - + %1 support %1-support diff --git a/lang/calamares_th.ts b/lang/calamares_th.ts index 02731120a..1f4b027d7 100644 --- a/lang/calamares_th.ts +++ b/lang/calamares_th.ts @@ -1683,22 +1683,22 @@ The installer will quit and all changes will be lost. ค่าเริ่มต้น - + unknown - + extended - + unformatted - + swap @@ -2264,7 +2264,7 @@ The installer will quit and all changes will be lost. - + %1 support diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index 409e0535c..139c60040 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -1687,22 +1687,22 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Varsayılan - + unknown bilinmeyen - + extended uzatılmış - + unformatted biçimlenmemiş - + swap Swap-Takas @@ -2269,7 +2269,7 @@ Sistem güç kaynağına bağlı değil. - + %1 support %1 destek diff --git a/lang/calamares_uk.ts b/lang/calamares_uk.ts index 5021a9aa5..45369af06 100644 --- a/lang/calamares_uk.ts +++ b/lang/calamares_uk.ts @@ -1676,22 +1676,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -2257,7 +2257,7 @@ The installer will quit and all changes will be lost. - + %1 support diff --git a/lang/calamares_ur.ts b/lang/calamares_ur.ts index 9f74fabe7..fb315889c 100644 --- a/lang/calamares_ur.ts +++ b/lang/calamares_ur.ts @@ -1676,22 +1676,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -2257,7 +2257,7 @@ The installer will quit and all changes will be lost. - + %1 support diff --git a/lang/calamares_uz.ts b/lang/calamares_uz.ts index bea66766d..d39d14fe5 100644 --- a/lang/calamares_uz.ts +++ b/lang/calamares_uz.ts @@ -1676,22 +1676,22 @@ The installer will quit and all changes will be lost. - + unknown - + extended - + unformatted - + swap @@ -2257,7 +2257,7 @@ The installer will quit and all changes will be lost. - + %1 support diff --git a/lang/calamares_zh_CN.ts b/lang/calamares_zh_CN.ts index 4c7c31185..24de042cd 100644 --- a/lang/calamares_zh_CN.ts +++ b/lang/calamares_zh_CN.ts @@ -1685,22 +1685,22 @@ The installer will quit and all changes will be lost. 默认 - + unknown 未知 - + extended 扩展分区 - + unformatted 未格式化 - + swap 临时存储空间 @@ -2266,7 +2266,7 @@ The installer will quit and all changes will be lost. - + %1 support %1 的支持信息 diff --git a/lang/calamares_zh_TW.ts b/lang/calamares_zh_TW.ts index 70ed4baac..203244950 100644 --- a/lang/calamares_zh_TW.ts +++ b/lang/calamares_zh_TW.ts @@ -1683,22 +1683,22 @@ The installer will quit and all changes will be lost. 預設值 - + unknown 未知 - + extended 延伸分割區 - + unformatted 未格式化 - + swap swap @@ -2264,7 +2264,7 @@ The installer will quit and all changes will be lost. - + %1 support %1 支援