Merge branch 'calamares' of https://github.com/calamares/calamares into development
This commit is contained in:
commit
abf3bdb69d
@ -239,6 +239,9 @@ list(APPEND CMAKE_AUTOMOC_MACRO_NAMES
|
||||
"K_EXPORT_PLASMA_DATAENGINE_WITH_JSON"
|
||||
"K_EXPORT_PLASMA_RUNNER"
|
||||
)
|
||||
if(POLICY CMP0171)
|
||||
cmake_policy(SET CMP0177 NEW)
|
||||
endif()
|
||||
|
||||
# CMake Modules
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
@ -26,10 +26,8 @@ namespace CalamaresPython
|
||||
boost::python::object
|
||||
variantToPyObject( const QVariant& variant )
|
||||
{
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wswitch-enum"
|
||||
#endif
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_CLANG( "-Wswitch-enum" )
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
|
||||
const auto IntVariantType = QVariant::Int;
|
||||
@ -82,9 +80,7 @@ variantToPyObject( const QVariant& variant )
|
||||
default:
|
||||
return bp::object();
|
||||
}
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
QT_WARNING_POP
|
||||
}
|
||||
|
||||
QVariant
|
||||
|
@ -28,10 +28,8 @@ static const char* s_preScript = nullptr;
|
||||
|
||||
namespace bp = boost::python;
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdisabled-macro-expansion"
|
||||
#endif
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_CLANG( "-Wdisabled-macro-expansion" )
|
||||
|
||||
BOOST_PYTHON_FUNCTION_OVERLOADS( mount_overloads, CalamaresPython::mount, 2, 4 );
|
||||
BOOST_PYTHON_FUNCTION_OVERLOADS( target_env_call_str_overloads, CalamaresPython::target_env_call, 1, 3 );
|
||||
@ -52,9 +50,7 @@ BOOST_PYTHON_FUNCTION_OVERLOADS( target_env_process_output_overloads,
|
||||
4 );
|
||||
BOOST_PYTHON_FUNCTION_OVERLOADS( host_env_process_output_overloads, CalamaresPython::host_env_process_output, 1, 4 );
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
QT_WARNING_POP
|
||||
|
||||
BOOST_PYTHON_MODULE( libcalamares )
|
||||
{
|
||||
|
@ -20,7 +20,7 @@ struct ParseResult
|
||||
QString errorMessage;
|
||||
int errorLine = -1;
|
||||
int errorColumn = -1;
|
||||
}
|
||||
};
|
||||
|
||||
[[nodiscard]] inline ParseResult
|
||||
setXmlContent( QDomDocument& doc, const QByteArray& ba )
|
||||
|
@ -16,18 +16,18 @@
|
||||
#ifndef PARTITION_KPMHELPER_H
|
||||
#define PARTITION_KPMHELPER_H
|
||||
|
||||
#include <qglobal.h>
|
||||
|
||||
// The kpmcore headers are not C++17 warning-proof, especially
|
||||
// with picky compilers like Clang 10. Since we use Clang for the
|
||||
// find-all-the-warnings case, switch those warnings off for
|
||||
// the we-can't-change-them system headers.
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdocumentation"
|
||||
#pragma clang diagnostic ignored "-Wsuggest-destructor-override"
|
||||
#pragma clang diagnostic ignored "-Winconsistent-missing-destructor-override"
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_CLANG( "-Wdocumentation" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wsuggest-destructor-override" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Winconsistent-missing-destructor-override" )
|
||||
// Because of __lastType
|
||||
#pragma clang diagnostic ignored "-Wreserved-identifier"
|
||||
#endif
|
||||
QT_WARNING_DISABLE_CLANG( "-Wreserved-identifier" )
|
||||
|
||||
#include <backend/corebackend.h>
|
||||
#include <core/device.h>
|
||||
@ -38,8 +38,6 @@
|
||||
#include <fs/filesystem.h>
|
||||
#include <fs/filesystemfactory.h>
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
QT_WARNING_POP
|
||||
|
||||
#endif
|
||||
|
@ -43,10 +43,8 @@ Calamares::Python::Dictionary variantHashToPyDict( const QVariantHash& variantHa
|
||||
py::object
|
||||
variantToPyObject( const QVariant& variant )
|
||||
{
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wswitch-enum"
|
||||
#endif
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_CLANG( "-Wswitch-enum" )
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK( 6, 0, 0 )
|
||||
const auto IntVariantType = QVariant::Int;
|
||||
@ -99,9 +97,7 @@ variantToPyObject( const QVariant& variant )
|
||||
default:
|
||||
return py::none();
|
||||
}
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
QT_WARNING_POP
|
||||
}
|
||||
|
||||
Calamares::Python::List
|
||||
|
@ -14,20 +14,18 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wcovered-switch-default"
|
||||
#pragma clang diagnostic ignored "-Wfloat-equal"
|
||||
#pragma clang diagnostic ignored "-Wweak-vtables"
|
||||
#pragma clang diagnostic ignored "-Wmissing-variable-declarations"
|
||||
#pragma clang diagnostic ignored "-Wold-style-cast"
|
||||
#pragma clang diagnostic ignored "-Wshadow-uncaptured-local"
|
||||
#pragma clang diagnostic ignored "-Wshadow-field-in-constructor"
|
||||
#pragma clang diagnostic ignored "-Wshadow-field"
|
||||
#pragma clang diagnostic ignored "-Wdocumentation"
|
||||
#pragma clang diagnostic ignored "-Wmissing-noreturn"
|
||||
#pragma clang diagnostic ignored "-Wreserved-identifier"
|
||||
#endif
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_CLANG( "-Wcovered-switch-default" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wfloat-equal" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wweak-vtables" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wmissing-variable-declarations" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wold-style-cast" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wshadow-uncaptured-local" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wshadow-field-in-constructor" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wshadow-field" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wdocumentation" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wmissing-noreturn" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wreserved-identifier" )
|
||||
|
||||
#undef slots
|
||||
#include <pybind11/pybind11.h>
|
||||
@ -35,6 +33,8 @@
|
||||
#include <pybind11/embed.h>
|
||||
#include <pybind11/eval.h>
|
||||
|
||||
QT_WARNING_POP
|
||||
|
||||
namespace Calamares
|
||||
{
|
||||
namespace Python __attribute__( ( visibility( "hidden" ) ) )
|
||||
@ -54,8 +54,5 @@ namespace Python __attribute__( ( visibility( "hidden" ) ) )
|
||||
} // namespace Python
|
||||
} // namespace Calamares
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -5,7 +5,6 @@
|
||||
*
|
||||
* Calamares is Free Software: see the License-Identifier above.
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -20,36 +19,36 @@
|
||||
#ifndef UTILS_BOOSTPYTHON_H
|
||||
#define UTILS_BOOSTPYTHON_H
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wreserved-id-macro"
|
||||
#pragma clang diagnostic ignored "-Wold-style-cast"
|
||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||
#pragma clang diagnostic ignored "-Wextra-semi-stmt"
|
||||
#pragma clang diagnostic ignored "-Wall"
|
||||
#pragma clang diagnostic ignored "-Wimplicit-float-conversion"
|
||||
#pragma clang diagnostic ignored "-Wundef"
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-dynamic-exception-spec"
|
||||
#pragma clang diagnostic ignored "-Wshadow-field-in-constructor"
|
||||
#pragma clang diagnostic ignored "-Wshadow"
|
||||
#pragma clang diagnostic ignored "-Wmissing-noreturn"
|
||||
#pragma clang diagnostic ignored "-Wcast-qual"
|
||||
#pragma clang diagnostic ignored "-Wcast-align"
|
||||
#pragma clang diagnostic ignored "-Wsign-conversion"
|
||||
#pragma clang diagnostic ignored "-Wdouble-promotion"
|
||||
#pragma clang diagnostic ignored "-Wredundant-parens"
|
||||
#pragma clang diagnostic ignored "-Wweak-vtables"
|
||||
#pragma clang diagnostic ignored "-Wdeprecated"
|
||||
#pragma clang diagnostic ignored "-Wmissing-field-initializers"
|
||||
#pragma clang diagnostic ignored "-Wdisabled-macro-expansion"
|
||||
#pragma clang diagnostic ignored "-Wdocumentation"
|
||||
#pragma clang diagnostic ignored "-Wcomma"
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
#pragma clang diagnostic ignored "-Wunused-template"
|
||||
#include <qglobal.h>
|
||||
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_CLANG( "-Wreserved-id-macro" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wold-style-cast" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wzero-as-null-pointer-constant" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wextra-semi-stmt" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wall" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wimplicit-float-conversion" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wundef" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wdeprecated-dynamic-exception-spec" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wshadow-field-in-constructor" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wshadow" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wmissing-noreturn" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wcast-qual" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wcast-align" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wsign-conversion" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wdouble-promotion" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wredundant-parens" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wweak-vtables" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wdeprecated" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wmissing-field-initializers" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wdisabled-macro-expansion" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wdocumentation" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wcomma" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wunused-parameter" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wunused-template" )
|
||||
|
||||
// Actually for Python headers
|
||||
#pragma clang diagnostic ignored "-Wreserved-id-macro"
|
||||
#endif
|
||||
QT_WARNING_DISABLE_CLANG( "-Wreserved-id-macro" )
|
||||
|
||||
#undef slots
|
||||
#include <boost/python.hpp>
|
||||
@ -58,8 +57,6 @@
|
||||
#include <boost/python/list.hpp>
|
||||
#include <boost/python/object.hpp>
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
QT_WARNING_POP
|
||||
|
||||
#endif
|
||||
|
@ -4,11 +4,8 @@
|
||||
* SPDX-FileCopyrightText: 2017-2018 Adriaan de Groot <groot@kde.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
*
|
||||
* Calamares is Free Software: see the License-Identifier above.
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -35,19 +32,15 @@ class QFileInfo;
|
||||
// with picky compilers like Clang 8. Since we use Clang for the
|
||||
// find-all-the-warnings case, switch those warnings off for
|
||||
// the we-can't-change-them system headers.
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
|
||||
#pragma clang diagnostic ignored "-Wshadow"
|
||||
#pragma clang diagnostic ignored "-Wfloat-equal"
|
||||
#pragma clang diagnostic ignored "-Wsuggest-destructor-override"
|
||||
#endif
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_CLANG( "-Wzero-as-null-pointer-constant" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wshadow" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wfloat-equal" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wsuggest-destructor-override" )
|
||||
|
||||
#include <yaml-cpp/yaml.h>
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
QT_WARNING_POP
|
||||
|
||||
/// @brief Appends all the elements of @p node to the string list @p v
|
||||
DLLEXPORT void operator>>( const ::YAML::Node& node, QStringList& v );
|
||||
|
@ -22,11 +22,14 @@
|
||||
* automoc does all the work for us.
|
||||
*/
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic ignored "-Wextra-semi-stmt"
|
||||
#pragma clang diagnostic ignored "-Wredundant-parens"
|
||||
#pragma clang diagnostic ignored "-Wreserved-identifier"
|
||||
#include <qglobal.h>
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_CLANG( "-Wextra-semi-stmt" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wredundant-parens" )
|
||||
QT_WARNING_DISABLE_CLANG( "-Wreserved-identifier" )
|
||||
|
||||
#if __clang_major__ >= 17
|
||||
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
|
||||
QT_WARNING_DISABLE_CLANG( "-Wunsafe-buffer-usage" )
|
||||
#endif
|
||||
QT_WARNING_POP
|
||||
#endif
|
||||
|
@ -586,8 +586,21 @@ ChoicePage::applyActionChoice( InstallChoice choice )
|
||||
&ChoicePage::doAlongsideSetupSplitter,
|
||||
Qt::UniqueConnection );
|
||||
break;
|
||||
case InstallChoice::NoChoice:
|
||||
case InstallChoice::Manual:
|
||||
if ( m_core->isDirty() )
|
||||
{
|
||||
ScanningDialog::run(
|
||||
QtConcurrent::run(
|
||||
[ = ]
|
||||
{
|
||||
QMutexLocker locker( &m_coreMutex );
|
||||
m_core->revertDevice( selectedDevice() );
|
||||
} ),
|
||||
[] {},
|
||||
this );
|
||||
}
|
||||
break;
|
||||
case InstallChoice::NoChoice:
|
||||
break;
|
||||
}
|
||||
updateNextEnabled();
|
||||
|
@ -13,7 +13,7 @@ if(WITH_QT6)
|
||||
set(_plasma_libraries "Plasma::Plasma")
|
||||
set(_plasma_name "Plasma")
|
||||
find_package(${kfname} ${KF_VERSION} QUIET COMPONENTS Config Package)
|
||||
find_package(Plasma ${PLASMA_VERSION})
|
||||
find_package(Plasma ${PLASMA_VERSION} QUIET)
|
||||
else()
|
||||
set(_plasma_libraries "${kfname}::Plasma")
|
||||
set(_plasma_name "KF5Plasma")
|
||||
|
@ -48,7 +48,7 @@ class UnpackEntry:
|
||||
:param destination:
|
||||
"""
|
||||
__slots__ = ('source', 'sourcefs', 'destination', 'copied', 'total', 'exclude', 'excludeFile',
|
||||
'mountPoint', 'weight', 'condition')
|
||||
'mountPoint', 'weight', 'condition', 'optional')
|
||||
|
||||
def __init__(self, source, sourcefs, destination):
|
||||
"""
|
||||
@ -72,6 +72,7 @@ class UnpackEntry:
|
||||
self.mountPoint = None
|
||||
self.weight = 1
|
||||
self.condition = True
|
||||
self.optional = False
|
||||
|
||||
def is_file(self):
|
||||
return self.sourcefs == "file"
|
||||
@ -461,6 +462,7 @@ def run():
|
||||
for entry in libcalamares.job.configuration["unpack"]:
|
||||
source = os.path.abspath(entry["source"])
|
||||
sourcefs = entry["sourcefs"]
|
||||
optional = entry.get("optional", False)
|
||||
|
||||
if sourcefs not in supported_filesystems:
|
||||
libcalamares.utils.warning("The filesystem for \"{}\" ({}) is not supported by your current kernel".format(source, sourcefs))
|
||||
@ -468,9 +470,14 @@ def run():
|
||||
return (_("Bad unpackfs configuration"),
|
||||
_("The filesystem for \"{}\" ({}) is not supported by your current kernel").format(source, sourcefs))
|
||||
if not os.path.exists(source):
|
||||
libcalamares.utils.warning("The source filesystem \"{}\" does not exist".format(source))
|
||||
return (_("Bad unpackfs configuration"),
|
||||
_("The source filesystem \"{}\" does not exist").format(source))
|
||||
if optional:
|
||||
libcalamares.utils.warning("The source filesystem \"{}\" does not exist but is marked as optional, skipping".format(source))
|
||||
entry["condition"] = False
|
||||
continue
|
||||
else:
|
||||
libcalamares.utils.warning("The source filesystem \"{}\" does not exist".format(source))
|
||||
return (_("Bad unpackfs configuration"),
|
||||
_("The source filesystem \"{}\" does not exist").format(source))
|
||||
if sourcefs == "squashfs":
|
||||
if shutil.which("unsquashfs") is None:
|
||||
libcalamares.utils.warning("Failed to find unsquashfs")
|
||||
|
@ -102,6 +102,18 @@
|
||||
# sourcefs: squashfs
|
||||
# destination: ""
|
||||
# condition: exampleGlobalStorageVariable.subkey
|
||||
#
|
||||
# You may also wish to include optional squashfses, which may not exist at certain times
|
||||
# depending on your image tooling. If an optional squashfs is not found, it is simply
|
||||
# skipped.
|
||||
#
|
||||
# - source: ./example.standard.sqfs
|
||||
# sourcefs: squashfs
|
||||
# destination: ""
|
||||
# - source: ./example.extras.sqfs
|
||||
# sourcefs: squashfs
|
||||
# destination: ""
|
||||
# optional: true
|
||||
|
||||
unpack:
|
||||
- source: ../CHANGES
|
||||
|
@ -18,6 +18,7 @@ properties:
|
||||
excludeFile: { type: string }
|
||||
exclude: { type: array, items: { type: string } }
|
||||
weight: { type: integer, exclusiveMinimum: 0 }
|
||||
optional: { type: boolean }
|
||||
condition:
|
||||
anyOf:
|
||||
- type: boolean
|
||||
|
Loading…
Reference in New Issue
Block a user