Merge branch 'issue-1479' into calamares
Special case reiserfs (named "reiserfs" in /etc/fstab and as a `mount -t` argument). FIXES #1479
This commit is contained in:
commit
2b9b8bbbe8
@ -1,5 +1,5 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* SPDX-FileCopyrightText: 2014 Aurélien Gâteau <agateau@kde.org>
|
* SPDX-FileCopyrightText: 2014 Aurélien Gâteau <agateau@kde.org>
|
||||||
* SPDX-FileCopyrightText: 2015-2016 Teo Mrnjavac <teo@kde.org>
|
* SPDX-FileCopyrightText: 2015-2016 Teo Mrnjavac <teo@kde.org>
|
||||||
* SPDX-FileCopyrightText: 2018-2019 Adriaan de Groot <groot@kde.org>
|
* SPDX-FileCopyrightText: 2018-2019 Adriaan de Groot <groot@kde.org>
|
||||||
@ -74,5 +74,17 @@ prettyNameForFileSystemType( FileSystem::Type t )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString
|
||||||
|
untranslatedFS( FileSystem::Type t )
|
||||||
|
{
|
||||||
|
switch ( t )
|
||||||
|
{
|
||||||
|
case FileSystem::Type::ReiserFS:
|
||||||
|
return QStringLiteral( "reiserfs" );
|
||||||
|
default:
|
||||||
|
return FileSystem::nameForType( t, { QStringLiteral( "C" ) } );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Partition
|
} // namespace Partition
|
||||||
} // namespace CalamaresUtils
|
} // namespace CalamaresUtils
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* SPDX-FileCopyrightText: 2014 Aurélien Gâteau <agateau@kde.org>
|
* SPDX-FileCopyrightText: 2014 Aurélien Gâteau <agateau@kde.org>
|
||||||
* SPDX-FileCopyrightText: 2015-2016 Teo Mrnjavac <teo@kde.org>
|
* SPDX-FileCopyrightText: 2015-2016 Teo Mrnjavac <teo@kde.org>
|
||||||
* SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
|
* SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
|
||||||
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -17,9 +18,6 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
* License-Filename: LICENSE
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -30,20 +28,40 @@
|
|||||||
#ifndef PARTITION_FILESYSTEM_H
|
#ifndef PARTITION_FILESYSTEM_H
|
||||||
#define PARTITION_FILESYSTEM_H
|
#define PARTITION_FILESYSTEM_H
|
||||||
|
|
||||||
|
#include "DllMacro.h"
|
||||||
|
|
||||||
#include <kpmcore/fs/filesystem.h>
|
#include <kpmcore/fs/filesystem.h>
|
||||||
|
|
||||||
namespace CalamaresUtils
|
namespace CalamaresUtils
|
||||||
{
|
{
|
||||||
namespace Partition
|
namespace Partition
|
||||||
{
|
{
|
||||||
QString prettyNameForFileSystemType( FileSystem::Type t );
|
QString DLLEXPORT prettyNameForFileSystemType( FileSystem::Type t );
|
||||||
|
|
||||||
|
/** @brief Returns a machine-readable identifier for the filesystem type
|
||||||
|
*
|
||||||
|
* This identifier is used in filesystem manipulation --
|
||||||
|
* e.g. when mounting the filesystem, or in /etc/fstab. It
|
||||||
|
* is almost always just what KPMCore says it is, with
|
||||||
|
* the following exceptions:
|
||||||
|
* - reiserfs is called "reiser" by KPMCore, "reiserfs" by Calamares
|
||||||
|
*/
|
||||||
|
QString DLLEXPORT untranslatedFS( FileSystem::Type t );
|
||||||
|
|
||||||
|
/** @brief Returns the machine-readable identifier for the given @p fs
|
||||||
|
*
|
||||||
|
* See notes for untranslatedFS(), above.
|
||||||
|
*/
|
||||||
static inline QString
|
static inline QString
|
||||||
untranslatedFS( FileSystem& fs )
|
untranslatedFS( FileSystem& fs )
|
||||||
{
|
{
|
||||||
return fs.name( { QStringLiteral( "C" ) } );
|
return untranslatedFS( fs.type() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @brief Returns a machine-readable identifier for the given @p fs
|
||||||
|
*
|
||||||
|
* Returns an empty string is the @p fs is not valid (e.g. nullptr).
|
||||||
|
*/
|
||||||
static inline QString
|
static inline QString
|
||||||
untranslatedFS( FileSystem* fs )
|
untranslatedFS( FileSystem* fs )
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,8 @@
|
|||||||
|
|
||||||
#include "utils/Logger.h"
|
#include "utils/Logger.h"
|
||||||
|
|
||||||
|
#include "FileSystem.h"
|
||||||
|
|
||||||
#include <kpmcore/core/partitiontable.h>
|
#include <kpmcore/core/partitiontable.h>
|
||||||
#include <kpmcore/fs/filesystem.h>
|
#include <kpmcore/fs/filesystem.h>
|
||||||
|
|
||||||
@ -100,6 +102,30 @@ KPMTests::testFSNames()
|
|||||||
QVERIFY( fsNames.contains( "ext2" ) );
|
QVERIFY( fsNames.contains( "ext2" ) );
|
||||||
QVERIFY( fsNames.contains( "ext4" ) );
|
QVERIFY( fsNames.contains( "ext4" ) );
|
||||||
QVERIFY( fsNames.contains( "reiser" ) );
|
QVERIFY( fsNames.contains( "reiser" ) );
|
||||||
|
|
||||||
|
QStringList calaFSNames;
|
||||||
|
calaFSNames.reserve( fstypes.count() );
|
||||||
|
for ( const auto t : fstypes )
|
||||||
|
{
|
||||||
|
QString s = CalamaresUtils::Partition::untranslatedFS( t );
|
||||||
|
calaFSNames.append( s );
|
||||||
|
}
|
||||||
|
|
||||||
|
QVERIFY( calaFSNames.contains( "ext2" ) );
|
||||||
|
QVERIFY( calaFSNames.contains( "ext4" ) );
|
||||||
|
QVERIFY( !calaFSNames.contains( "reiser" ) );
|
||||||
|
QVERIFY( calaFSNames.contains( "reiserfs" ) ); // whole point of Cala's own implementation
|
||||||
|
|
||||||
|
// Lists are the same except for .. the exceptions
|
||||||
|
QStringList exceptionalNames { "reiser", "reiserfs" };
|
||||||
|
for ( const auto& s : fsNames )
|
||||||
|
{
|
||||||
|
QVERIFY( exceptionalNames.contains( s ) || calaFSNames.contains( s ) );
|
||||||
|
}
|
||||||
|
for ( const auto& s : calaFSNames )
|
||||||
|
{
|
||||||
|
QVERIFY( exceptionalNames.contains( s ) || fsNames.contains( s ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user