From 24a60c4650ea18bb6aa8329531f90c1f7eefd015 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Wed, 16 Mar 2016 11:34:35 +0100 Subject: [PATCH 01/20] Make KCrash an optional dependency (option: WITH_KF5Crash). --- CMakeLists.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 75ffe7ffa..c0bcfcea9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,6 +55,18 @@ find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Core Gui Widgets LinguistTools S find_package( YamlCpp 0.5.1 REQUIRED ) find_package( PolkitQt5-1 REQUIRED ) +option( WITH_KF5Crash "Enable crash reporting with KCrash." ON ) + +macro_optional_find_package( KF5Crash 5.18 ) +macro_log_feature( + KF5Crash_FOUND + "KCrash" + "Helper library for submitting crash reports with DrKonqi by KDE." + "http://api.kde.org/frameworks-api/frameworks5-apidocs/kcrash/html/namespaceKCrash.html" + FALSE "5.18" + "KCrash is used if a crash happens when running in a Plasma session." +) + option( WITH_PYTHON "Enable Python modules support." ON ) macro_optional_find_package( PythonLibs 3.3 ) From e1326e397c1b20952ff9e23b8666c10630ac4239 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Wed, 16 Mar 2016 11:35:03 +0100 Subject: [PATCH 02/20] Link against KCrash. --- src/calamares/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/calamares/CMakeLists.txt b/src/calamares/CMakeLists.txt index f02815af9..6f2f87988 100644 --- a/src/calamares/CMakeLists.txt +++ b/src/calamares/CMakeLists.txt @@ -51,6 +51,11 @@ SET_TARGET_PROPERTIES(calamares_bin RUNTIME_OUTPUT_NAME calamares ) +if( WITH_KF5Crash ) + set( LINK_LIBRARIES + KF5::Crash + ) +endif() qt5_use_modules( calamares_bin Core Widgets ) target_link_libraries( calamares_bin From 99281241958f7a3500313275f49332e6576bb557 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Tue, 15 Mar 2016 11:15:09 +0100 Subject: [PATCH 03/20] Added toolbox page to Debug interface, with deliberate crash feature. --- src/libcalamaresui/utils/DebugWindow.cpp | 8 ++++++- src/libcalamaresui/utils/DebugWindow.ui | 27 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/libcalamaresui/utils/DebugWindow.cpp b/src/libcalamaresui/utils/DebugWindow.cpp index 168aec02a..504a56b6e 100644 --- a/src/libcalamaresui/utils/DebugWindow.cpp +++ b/src/libcalamaresui/utils/DebugWindow.cpp @@ -1,6 +1,6 @@ /* === This file is part of Calamares - === * - * Copyright 2015, Teo Mrnjavac + * 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 @@ -17,6 +17,7 @@ */ #include "DebugWindow.h" +#include "utils/CalamaresUtils.h" #include "utils/Retranslator.h" #include "utils/qjsonmodel.h" #include "JobQueue.h" @@ -91,6 +92,11 @@ DebugWindow::DebugWindow() } } ); + connect( crashButton, &QPushButton::clicked, + this, [] { + CalamaresUtils::crash(); + } ); + CALAMARES_RETRANSLATE( retranslateUi( this ); setWindowTitle( tr( "Debug information" ) ); diff --git a/src/libcalamaresui/utils/DebugWindow.ui b/src/libcalamaresui/utils/DebugWindow.ui index a445e8ad1..fa6b28acf 100644 --- a/src/libcalamaresui/utils/DebugWindow.ui +++ b/src/libcalamaresui/utils/DebugWindow.ui @@ -52,6 +52,33 @@ + + + Tools + + + + + + Crash now + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + From 1eba4b2d7740c058c106758162846eef7d0c4c54 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Wed, 16 Mar 2016 12:18:05 +0100 Subject: [PATCH 04/20] Add Translators team credit. --- src/modules/welcome/WelcomePage.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/modules/welcome/WelcomePage.cpp b/src/modules/welcome/WelcomePage.cpp index e4a081186..7b1db01d1 100644 --- a/src/modules/welcome/WelcomePage.cpp +++ b/src/modules/welcome/WelcomePage.cpp @@ -74,8 +74,10 @@ WelcomePage::WelcomePage( RequirementsChecker* requirementsChecker, QWidget* par "%2
" "for %3


" "Copyright 2014-2015 Teo Mrnjavac <teo@kde.org>
" - "Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Philip Müller, " - "Pier Luigi Fiorini and Rohan Garg.

" + "Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, " + "Philip Müller, Pier Luigi Fiorini, Rohan Garg and " + "" + "the Calamares translators team.

" "Calamares " "development is sponsored by
" "Blue Systems - " From 2a5b22f584eba18171bcbb509f3f3ca85cfa853e Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Wed, 16 Mar 2016 12:18:35 +0100 Subject: [PATCH 05/20] If building with KCrash, require KCoreAddons. --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index c0bcfcea9..198ed2a2a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,6 +67,10 @@ macro_log_feature( "KCrash is used if a crash happens when running in a Plasma session." ) +if ( KF5Crash_FOUND ) + find_package( KF5CoreAddons 5.18 REQUIRED ) +endif() + option( WITH_PYTHON "Enable Python modules support." ON ) macro_optional_find_package( PythonLibs 3.3 ) From e737c917965a95aad2fb64aab4cbf2211650797f Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Wed, 16 Mar 2016 12:18:51 +0100 Subject: [PATCH 06/20] And link against KCoreAddons. --- src/calamares/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/calamares/CMakeLists.txt b/src/calamares/CMakeLists.txt index 6f2f87988..bd7dcbdd7 100644 --- a/src/calamares/CMakeLists.txt +++ b/src/calamares/CMakeLists.txt @@ -53,6 +53,7 @@ SET_TARGET_PROPERTIES(calamares_bin if( WITH_KF5Crash ) set( LINK_LIBRARIES + KF5::CoreAddons KF5::Crash ) endif() From fe1e1cb3c00ec1935454c54b47bf1b6b6a2653d7 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Wed, 16 Mar 2016 12:19:19 +0100 Subject: [PATCH 07/20] Export WITH_KCRASH in CalamaresConfig.h.in. --- src/libcalamares/CalamaresConfig.h.in | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libcalamares/CalamaresConfig.h.in b/src/libcalamares/CalamaresConfig.h.in index 31cbc926d..7b909e520 100644 --- a/src/libcalamares/CalamaresConfig.h.in +++ b/src/libcalamares/CalamaresConfig.h.in @@ -10,5 +10,10 @@ //cmakedefines for CMake variables (e.g. for optdepends) go here #cmakedefine WITH_PYTHON +#cmakedefine WITH_KF5Crash + +#ifdef WITH_KF5Crash +#define WITH_KCRASH +#endif #endif // CALAMARESCONFIG_H From 8f86b197f2f9b0dc37528dab70123798c01c9e51 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Wed, 16 Mar 2016 13:20:39 +0100 Subject: [PATCH 08/20] Initialize crash handler. --- src/calamares/main.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/calamares/main.cpp b/src/calamares/main.cpp index bc27688f3..7cd2728d2 100644 --- a/src/calamares/main.cpp +++ b/src/calamares/main.cpp @@ -19,10 +19,16 @@ #include "CalamaresApplication.h" +#include "CalamaresConfig.h" #include "kdsingleapplicationguard/kdsingleapplicationguard.h" #include "utils/CalamaresUtils.h" #include "utils/Logger.h" +#ifdef WITH_KCRASH +#include +#include +#endif + #include #include #include @@ -32,6 +38,22 @@ main( int argc, char* argv[] ) { CalamaresApplication a( argc, argv ); +#ifdef WITH_KCRASH + KAboutData aboutData( "calamares", + "Calamares", + a.applicationVersion(), + "The universal system installer", + KAboutLicense::GPL_V3, + QString(), + QString(), + "https://calamares.io", + "teo@kde.org" ); + KAboutData::setApplicationData( aboutData ); + KCrash::initialize(); + KCrash::setCrashHandler(); + // TODO: umount anything in /tmp/calamares-... as an emergency save function +#endif + QCommandLineParser parser; parser.setApplicationDescription( "Distribution-independent installer framework" ); parser.addHelpOption(); From d3d79448281213a6cb8351f20913112106780cc8 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Wed, 16 Mar 2016 13:33:42 +0100 Subject: [PATCH 09/20] Try with an URL. --- src/calamares/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calamares/main.cpp b/src/calamares/main.cpp index 7cd2728d2..01dfbb9e0 100644 --- a/src/calamares/main.cpp +++ b/src/calamares/main.cpp @@ -47,7 +47,7 @@ main( int argc, char* argv[] ) QString(), QString(), "https://calamares.io", - "teo@kde.org" ); + "https://calamares.io/bugs" ); KAboutData::setApplicationData( aboutData ); KCrash::initialize(); KCrash::setCrashHandler(); From 84581155bd00dc07dd6f6a6640e1211ff62faad6 Mon Sep 17 00:00:00 2001 From: rajudev Date: Sat, 28 Oct 2017 02:09:48 +0530 Subject: [PATCH 10/20] Added an explanation of the module and what it does when used, or when used incorrectly. --- src/modules/plymouthcfg/plymouthcfg.conf | 38 ++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/src/modules/plymouthcfg/plymouthcfg.conf b/src/modules/plymouthcfg/plymouthcfg.conf index 6d7ae5c27..ca6ab9e42 100644 --- a/src/modules/plymouthcfg/plymouthcfg.conf +++ b/src/modules/plymouthcfg/plymouthcfg.conf @@ -1,4 +1,38 @@ --- -# The plymouth theme to be set if plymouth binary is present -# leave commented if packaged default theme should be used +# Plymouth Configuration Module + +# This module can be used to setup the default plymouth theme to +# be used with your distribution + +# Only set your theme with this module if you are not doing it +# already in your operating systems build configurations. + +# You should only use this module if the plymouth package is installed +# on the build configurations of your distribution & the plymouth +# theme you want to configure is installed as well. + + +# Leave this commented if you want to use the default theme +# shipped with your distribution configurations. + # plymouth_theme: spinfinity + + +# Change the theme name to the theme you want to use. +# Make sure that the theme exists in the themes +# directory of plymouth path. + +# If yours is a debian/ubuntu derived distribution, +# following are some example plymouth_theme values that might work +# plymouth_theme: joy +# plymouth_theme: script +# plymouth_theme: softwaves + +# For other distributions you can look under the themes folder for plymouth, +# which is usually /usr/share/plymouth/themes and supply any of theme names +# from there to plymouth_theme + +# If the plymouth_theme value is left empty or with a theme name which does not exists. +# The module would still look for the theme name for availability in plymouth themes folder. +# and as theme will not be found, it will leave the plymouth settings unchanged. + From fda4b4e3c2281cb332b264f52c3ec96af895a197 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 6 Nov 2017 06:12:26 -0500 Subject: [PATCH 11/20] CMake: improve searching for PythonQt - don't log when libs not found - log that it's the Python libraries version (not Python itself) - fix RE that was getting the wrong results for maj.min --- CMakeModules/FindPythonQt.cmake | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/CMakeModules/FindPythonQt.cmake b/CMakeModules/FindPythonQt.cmake index 0d886902d..8de40853f 100644 --- a/CMakeModules/FindPythonQt.cmake +++ b/CMakeModules/FindPythonQt.cmake @@ -9,12 +9,19 @@ if(NOT PYTHONLIBS_FOUND) message(FATAL_ERROR "error: Python is required to build PythonQt") endif() +# Cut X.Y[.Z] down to just X.Y string(REGEX REPLACE "^([0-9][0-9]*)\.([0-9][0-9]*)" - "\\1" - PYTHONLIBS_MAJMIN + "\\1.\\2@" + _PYTHONLIBS_MAJMIN ${PYTHONLIBS_VERSION_STRING} ) +string(REGEX REPLACE + "@.*" + "" + PYTHONLIBS_MAJMIN + ${_PYTHONLIBS_MAJMIN} +) if(NOT EXISTS "${PYTHONQT_INSTALL_DIR}") find_path(PYTHONQT_INSTALL_DIR include/PythonQt/PythonQt.h DOC "Directory where PythonQt was installed.") @@ -30,7 +37,7 @@ find_path(PYTHONQT_INCLUDE_DIR PythonQt.h DOC "Path to the PythonQt include directory") if ( NOT PythonQt_FIND_QUIETLY ) - message( STATUS "Searching for PythonQt (Python ${PYTHONLIBS_MAJMIN}) .." ) + message( STATUS "Searching for PythonQt (PythonLibs ${PYTHONLIBS_MAJMIN}) .." ) if ( PYTHONQT_INCLUDE_DIR ) message( STATUS " .. found include ${PYTHONQT_INCLUDE_DIR}" ) endif() @@ -99,8 +106,12 @@ if(PYTHONQT_QTALL_LIBRARY_DEBUG) endif() if ( NOT PythonQt_FIND_QUIETLY ) - message( STATUS " .. found library ${PYTHONQT_LIBRARY}" ) - message( STATUS " .. found qtall ${PYTHONQT_QTALL_LIBRARY}" ) + if ( PYTHONQT_LIBRARY ) + message( STATUS " .. found library ${PYTHONQT_LIBRARY}" ) + endif() + if ( PYTHONQT_QTALL_LIBRARY ) + message( STATUS " .. found qtall ${PYTHONQT_QTALL_LIBRARY}" ) + endif() endif() From b5f2f22a7871caa571287cfe38933fc9673b38ca Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 6 Nov 2017 06:58:05 -0500 Subject: [PATCH 12/20] Documentation: update HACKING --- ci/HACKING.md | 68 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 50 insertions(+), 18 deletions(-) diff --git a/ci/HACKING.md b/ci/HACKING.md index 92d1a5a48..4d84fc33d 100644 --- a/ci/HACKING.md +++ b/ci/HACKING.md @@ -1,9 +1,15 @@ Hacking on Calamares ==================== +These are the guidelines for hacking on Calamares. Except for the licensing, +which **must** be GPLv3+, these are guidelines and -- like PEP8 -- the most +important thing is to know when you can ignore them. + + Licensing --------- -Calamares is released under the terms of the GNU GPL, version 3 or later. Every source file must have a license header, with a list of copyright holders and years. +Calamares is released under the terms of the GNU GPL, version 3 or later. +Every source file must have a license header, with a list of copyright holders and years. Example: ``` @@ -34,9 +40,9 @@ organization, etc. Please add your name to files you touch when making any contribution (even if it's just a typo-fix which might not be copyrightable in all jurisdictions). -Formatting ----------- +Formatting C++ +-------------- This formatting guide applies to C++ code only; for Python modules, we use [pycodestyle][https://github.com/PyCQA/pycodestyle] to apply a check of some PEP8 guidelines. @@ -48,10 +54,10 @@ some PEP8 guidelines. * No space before brackets, except for keywords, for example `function( argument )` but `if ( condition )`. * For pointer and reference variable declarations, put a space before the variable name - and no space between the type and the `*` or `&`. -* `for`, `if`, `else`, `while` and similar statements put the brackets on the next line, - although brackets are not needed for single statements. -* Function and class definitions have their brackets on separate lines. + and no space between the type and the `*` or `&`, e.g. `int* p`. +* `for`, `if`, `else`, `while` and similar statements put the braces on the next line, + if the following block is more than one statement. Use no braces for single statements. +* Function and class definitions have their braces on separate lines. * A function implementation's return type is on its own line. * `CamelCase.{cpp,h}` style file names. @@ -63,8 +69,9 @@ MyClass::myMethod( QStringList list, const QString& name ) if ( list.isEmpty() ) return false; + cDebug() << "Items in list .."; foreach ( const QString& string, list ) - cDebug() << "Current string is " << string; + cDebug() << " .." << string; switch ( m_enumValue ) { @@ -77,7 +84,7 @@ MyClass::myMethod( QStringList list, const QString& name ) } ``` -You can use the `hacking/calamaresstyle` script to run +You can use the `ci/calamaresstyle` script to run [astyle](http://astyle.sf.net) on your code and have it formatted the right way. @@ -85,6 +92,7 @@ way. order to take advantage of this functionality you will need to acquire the [EditorConfig](http://editorconfig.org/#download) plug-in for your editor. + Naming ------ * Use CamelCase for everything. @@ -97,6 +105,7 @@ Naming * If it's a getter for a boolean, prefix with 'is', so `isCondition()`. * A setter is `setVariable( arg )`. + Includes -------- Header includes should be listed in the following order: @@ -109,8 +118,9 @@ Header includes should be listed in the following order: They should also be sorted alphabetically for ease of locating them. -Includes in a header file should be kept to the absolute minimum, as to keep compile times short. This can be achieved by using forward declarations instead of includes, -like `class QListView;`. +Includes in a header file should be kept to the absolute minimum, as to keep +compile times short. This can be achieved by using forward declarations +instead of includes, like `class QListView;`. Example: ``` @@ -129,6 +139,7 @@ Example: Use include guards, not `#pragma once`. + C++ tips -------- All C++11 features are acceptable, and the use of new C++11 features is encouraged when @@ -141,8 +152,8 @@ range-based `for` syntax introduced with C++11 is preferred ([see this blog post When re-implementing a virtual method, always add the `override` keyword. -Try to keep your code const correct. Declare methods const if they don't mutate the -object, and use const variables. It improves safety, and also makes it easier to +Try to keep your code const correct. Declare methods const if they don't mutate the +object, and use const variables. It improves safety, and also makes it easier to understand the code. For the Qt signal-slot system, the new (Qt5) syntax is to be preferred because it allows @@ -160,10 +171,31 @@ connect( m_moduleManager, &Calamares::ModuleManager::modulesLoaded, [this] }); ``` -Debugging ---------- -Use `cDebug()` and `cLog()` from `utils/Logger.h`. - - [1]: http://blog.qt.digia.com/blog/2011/05/26/cpp0x-in-qt/ [2]: http://qt-project.org/wiki/New_Signal_Slot_Syntax + + +Debugging +--------- +Use `cDebug()` and `cLog()` from `utils/Logger.h`. You can pass a debug-level to +either macro (1 is debugging, higher is less important). Use `cLog()` for warning +messages. It is recommended to add *WARNING* as the first part of a warning +message. + +For log messages that are continued across multiple calls to `cDebug()`, +in particular listing things, conventional formatting is as follows: +* End the first debug message with ` ..` +* Indent following lines with ` ..` + + +Commit Messages +--------------- +Keep commit messages short(-ish) and try to describe what is being changed +*as well as why*. Use the commit keywords for GitHub, especially *FIXES:* +to auto-close issues when they are resolved. + +For functional changes to Calamares modules or libraries, try to put +*[modulename]* in front of the first line of the commit message. + +For non-functional changes to infrastructure, try to label the change +with the kind of change, e.g. *CMake* or *i18n* or *Documentation*. From ac14e8a38c274597d974dd8b22cf8af162f34497 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 6 Nov 2017 07:00:44 -0500 Subject: [PATCH 13/20] Documentation: update AUTHORS --- AUTHORS | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/AUTHORS b/AUTHORS index f39b579f4..a1c1bae5b 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,2 +1,24 @@ -Teo Mrnjavac -Adriaan de Groot +# MAINTAINER + +Teo Mrnjavac (maintainer -2017) +Adriaan de Groot (maintainer 2017-) + +# CONTRIBUTORS + +Alf Gaida +Allen Welkie +Andrius Štikonas +Bernhard Landauer +Bezzy1999 +bill-auger +crispg72 +demmm +Gabriel Craciunescu +Kai Dohmen +Kevin Kofler +Kyle Robertze +Lisa Vitolo +n3rdopolis +Philip Müller +Ramon Buldó +Rohan Garg From d1c10837d19cc69a4e897983ec69df4658639426 Mon Sep 17 00:00:00 2001 From: Gabriel Craciunescu Date: Mon, 6 Nov 2017 19:46:26 +0100 Subject: [PATCH 14/20] [netinstall]: some more debug - change the debug output when the errors occurs so we have a clue what may go wrong --- src/modules/netinstall/NetInstallPage.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/modules/netinstall/NetInstallPage.cpp b/src/modules/netinstall/NetInstallPage.cpp index 28c836a79..a8e37aa0c 100644 --- a/src/modules/netinstall/NetInstallPage.cpp +++ b/src/modules/netinstall/NetInstallPage.cpp @@ -88,7 +88,9 @@ NetInstallPage::dataIsHere( QNetworkReply* reply ) // even if the reply is corrupt or missing. if ( reply->error() != QNetworkReply::NoError ) { - cDebug() << reply->errorString(); + cDebug() << "WARNING: unable to fetch netinstall package lists."; + cDebug() << " ..Netinstall reply error: " << reply->error(); + cDebug() << " ..Request for url: " << reply->url().toString() << " failed with: " << reply->errorString(); ui->netinst_status->setText( tr( "Network Installation. (Disabled: Unable to fetch package lists, check your network connection)" ) ); emit checkReady( !m_required ); return; @@ -96,7 +98,9 @@ NetInstallPage::dataIsHere( QNetworkReply* reply ) if ( !readGroups( reply->readAll() ) ) { - cDebug() << "Netinstall groups data was received, but invalid."; + cDebug() << "WARNING: netinstall groups data was received, but invalid."; + cDebug() << " ..Url: " << reply->url().toString(); + cDebug() << " ..Headers: " << reply->rawHeaderList(); ui->netinst_status->setText( tr( "Network Installation. (Disabled: Received invalid groups data)" ) ); reply->deleteLater(); emit checkReady( !m_required ); From 78e601edb4c3a8cebf74e735a9c25cb3f4bd05ad Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 13 Nov 2017 07:33:24 -0500 Subject: [PATCH 15/20] [kcrash] Simplify search for KF5::Crash --- CMakeLists.txt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e5e5e837c..fbc1cac26 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -124,10 +124,8 @@ option( WITH_PYTHONQT "Enable next generation Python modules API (experimental, option( WITH_KF5Crash "Enable crash reporting with KCrash." ON ) option( BUILD_TESTING "Build the testing tree." ON ) -find_package( KF5 5.18 COMPONENTS CoreAddons Crash OPTIONAL ) -if( KF5Crash_DIR ) # Why not a _FOUND mechanism? - find_package( KF5 5.18 COMPONENTS CoreAddons REQUIRED ) -else() +find_package( KF5 COMPONENTS CoreAddons Crash ) +if( NOT KF5Crash_FOUND ) set( WITH_KF5Crash OFF ) endif() From 4d7f70a28fd61141748b2f9af632ef2e3f536f37 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 13 Nov 2017 07:35:37 -0500 Subject: [PATCH 16/20] [kcrash] Remove duplicate 'Tools' tab --- src/libcalamaresui/utils/DebugWindow.ui | 27 ------------------------- 1 file changed, 27 deletions(-) diff --git a/src/libcalamaresui/utils/DebugWindow.ui b/src/libcalamaresui/utils/DebugWindow.ui index c5096b70d..eb6d5c3e7 100644 --- a/src/libcalamaresui/utils/DebugWindow.ui +++ b/src/libcalamaresui/utils/DebugWindow.ui @@ -115,33 +115,6 @@ - - - Tools - - - - - - Crash now - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - From 579b1061e6e90b444e294713e8d5aa7ad900f5a5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 13 Nov 2017 11:39:00 -0500 Subject: [PATCH 17/20] [kcrash] Configure more robustly --- src/calamares/main.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/calamares/main.cpp b/src/calamares/main.cpp index 534474337..2e487c58e 100644 --- a/src/calamares/main.cpp +++ b/src/calamares/main.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, 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 @@ -51,7 +52,9 @@ main( int argc, char* argv[] ) "https://calamares.io/bugs" ); KAboutData::setApplicationData( aboutData ); KCrash::initialize(); - KCrash::setCrashHandler(); + // KCrash::setCrashHandler(); + KCrash::setDrKonqiEnabled( true ); + KCrash::setFlags( KCrash::SaferDialog | KCrash::AlwaysDirectly ); // TODO: umount anything in /tmp/calamares-... as an emergency save function #endif From dddc1191a1645270c6a9498d5ffb104b94e91973 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 14 Nov 2017 05:17:04 -0500 Subject: [PATCH 18/20] [kcrash] Point to a better submission URL --- src/calamares/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calamares/main.cpp b/src/calamares/main.cpp index 2e487c58e..47caa558b 100644 --- a/src/calamares/main.cpp +++ b/src/calamares/main.cpp @@ -49,7 +49,7 @@ main( int argc, char* argv[] ) QString(), QString(), "https://calamares.io", - "https://calamares.io/bugs" ); + "https://github.com/calamares/calamares/issues" ); KAboutData::setApplicationData( aboutData ); KCrash::initialize(); // KCrash::setCrashHandler(); From cc83e40fb78d6a4a33084cd4e1b6dbb694f1261d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 14 Nov 2017 05:27:37 -0500 Subject: [PATCH 19/20] Documentation: polish plymouth docs --- src/modules/plymouthcfg/plymouthcfg.conf | 40 +++++++++--------------- 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/src/modules/plymouthcfg/plymouthcfg.conf b/src/modules/plymouthcfg/plymouthcfg.conf index ca6ab9e42..47c54f5ff 100644 --- a/src/modules/plymouthcfg/plymouthcfg.conf +++ b/src/modules/plymouthcfg/plymouthcfg.conf @@ -1,38 +1,28 @@ ---- # Plymouth Configuration Module - +# # This module can be used to setup the default plymouth theme to # be used with your distribution - -# Only set your theme with this module if you are not doing it -# already in your operating systems build configurations. - +# # You should only use this module if the plymouth package is installed # on the build configurations of your distribution & the plymouth -# theme you want to configure is installed as well. +# theme you want to configure is installed as well. If the unpacked +# filesystem configures a plymouth theme already, there is no need +# to change it here. +--- # Leave this commented if you want to use the default theme -# shipped with your distribution configurations. +# shipped with your distribution configurations. Make sure that +# the theme exists in the themes directory of plymouth path. +# Debian / Ubuntu comes with themes "joy", "script", "softwaves", +# possibly others. Look in /usr/share/plymouth/themes for more. +# +# Specifying a non-existent theme will leave the plymouth +# configuration set to that theme. It is up to plymouth to +# deal with that. -# plymouth_theme: spinfinity +plymouth_theme: spinfinity -# Change the theme name to the theme you want to use. -# Make sure that the theme exists in the themes -# directory of plymouth path. -# If yours is a debian/ubuntu derived distribution, -# following are some example plymouth_theme values that might work -# plymouth_theme: joy -# plymouth_theme: script -# plymouth_theme: softwaves - -# For other distributions you can look under the themes folder for plymouth, -# which is usually /usr/share/plymouth/themes and supply any of theme names -# from there to plymouth_theme - -# If the plymouth_theme value is left empty or with a theme name which does not exists. -# The module would still look for the theme name for availability in plymouth themes folder. -# and as theme will not be found, it will leave the plymouth settings unchanged. From 4f077d3b9ab9292c264d87e4cbc8e3b4ee12522d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 14 Nov 2017 09:31:09 -0500 Subject: [PATCH 20/20] Documentation: update README dependencies, links --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index dcb5e3b67..b16493b17 100644 --- a/README.md +++ b/README.md @@ -19,16 +19,15 @@ Main: * yaml-cpp >= 0.5.1 * Python >= 3.3 * Boost.Python >= 1.55.0 -* dmidecode +* extra-cmake-modules (recommended; required for some modules) Modules: * welcome: * NetworkManager - * UPower + * UPower (optional, runtime) * partition: - * extra-cmake-modules * KF5: KCoreAddons, KConfig, KI18n, KIconThemes, KIO, KService - * KPMcore >= 3.0.3 + * KPMcore >= 3.0.2 * bootloader: * systemd-boot or GRUB * unpackfs: @@ -37,4 +36,7 @@ Modules: ### Building -See [wiki](https://github.com/calamares/calamares/wiki) for up to date building and deployment instructions. +See [wiki](https://github.com/calamares/calamares/wiki) for up to date +[building](https://github.com/calamares/calamares/wiki/Developer's-Guide) +and [deployment](https://github.com/calamares/calamares/wiki/Deployer's-Guide) +instructions.