diff --git a/CMakeLists.txt b/CMakeLists.txt index 66e95a503..9e53b0fae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -131,7 +131,7 @@ set( CALAMARES_TRANSLATION_LANGUAGES ar ast bg ca cs_CZ da de el en en_GB es_MX ### Bump version here set( CALAMARES_VERSION_MAJOR 3 ) set( CALAMARES_VERSION_MINOR 1 ) -set( CALAMARES_VERSION_PATCH 2 ) +set( CALAMARES_VERSION_PATCH 3 ) set( CALAMARES_VERSION_RC 0 ) set( CALAMARES_VERSION ${CALAMARES_VERSION_MAJOR}.${CALAMARES_VERSION_MINOR}.${CALAMARES_VERSION_PATCH} ) diff --git a/hacking/RELEASE.md b/hacking/RELEASE.md index 0d41c5018..d462ae47b 100644 --- a/hacking/RELEASE.md +++ b/hacking/RELEASE.md @@ -24,6 +24,9 @@ The Calamares release process [transifex]: https://www.transifex.com/calamares/calamares/dashboard/ #### (1) Preparation + +* Bump version in `CMakeLists.txt`, *CALAMARES_VERSION* variables, and set + RC to a non-zero value (e.g. doing -rc1, -rc2, ...). Push that. * Check `README.md` and everything in `hacking`, make sure it's all still relevant. Run `hacking/calamaresstyle` to check the C++ code style. Python code is checked as part of the Travis CI builds. @@ -38,8 +41,6 @@ The Calamares release process * Update the list of enabled translation languages in `CMakeLists.txt`. Check the [translation site][transifex] for the list of languages with fairly complete translations. -* Bump version in `CMakeLists.txt`, *CALAMARES_VERSION* variables, and set - RC to a non-zero value (e.g. doing -rc1, -rc2, ...). Push that. #### (2) Tarball * Create tarball: `git-archive-all -v calamares-1.1-rc1.tar.gz` . Double check @@ -47,6 +48,7 @@ The Calamares release process * Test tarball. #### (3) Tag +* Set RC to zero in `CMakeLists.txt` if this is the actual release. * `git tag -s v1.1.0` Make sure the signing key is known in GitHub, so that the tag is shown as a verified tag. Do not sign -rc tags. * Generate MD5 and SHA256 checksums. @@ -59,5 +61,5 @@ The Calamares release process * Update download page. * Publish release article on `calamares.io`. * Publicize on social networks. -* Update release date on JIRA. +* Close associated milestone on GitHub if this is the actual release. * Publish blog post. diff --git a/src/libcalamares/PythonJob.cpp b/src/libcalamares/PythonJob.cpp index 613f0f7ab..1a8a9701a 100644 --- a/src/libcalamares/PythonJob.cpp +++ b/src/libcalamares/PythonJob.cpp @@ -310,7 +310,7 @@ PythonJob::exec() scriptNamespace ); bp::object entryPoint = scriptNamespace[ "run" ]; - bp::object prettyNameFunc = scriptNamespace[ "pretty_name" ]; + bp::object prettyNameFunc = bp::getattr(scriptNamespace, "pretty_name", bp::object()); cDebug() << "Job file" << scriptFI.absoluteFilePath(); if ( !prettyNameFunc.is_none() ) diff --git a/src/modules/finished/FinishedViewStep.cpp b/src/modules/finished/FinishedViewStep.cpp index 2dfc1d0f6..8017a739c 100644 --- a/src/modules/finished/FinishedViewStep.cpp +++ b/src/modules/finished/FinishedViewStep.cpp @@ -33,11 +33,15 @@ FinishedViewStep::FinishedViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( new FinishedPage() ) + , installFailed( false ) { cDebug() << "FinishedViewStep()"; - connect( Calamares::JobQueue::instance(), &Calamares::JobQueue::failed, + auto jq = Calamares::JobQueue::instance(); + connect( jq, &Calamares::JobQueue::failed, m_widget, &FinishedPage::onInstallationFailed ); + connect( jq, &Calamares::JobQueue::failed, + this, &FinishedViewStep::onInstallationFailed ); emit nextStatusChanged( true ); } @@ -107,6 +111,11 @@ FinishedViewStep::isAtEnd() const void FinishedViewStep::sendNotification() { + // If the installation failed, don't send notification popup; + // there's a (modal) dialog popped up with the failure notice. + if (installFailed) + return; + QDBusInterface notify( "org.freedesktop.Notifications", "/org/freedesktop/Notifications", "org.freedesktop.Notifications" ); if ( notify.isValid() ) { @@ -145,6 +154,13 @@ FinishedViewStep::jobs() const return QList< Calamares::job_ptr >(); } +void +FinishedViewStep::onInstallationFailed( const QString& message, const QString& details ) +{ + Q_UNUSED(message); + Q_UNUSED(details); + installFailed = true; +} void FinishedViewStep::setConfigurationMap( const QVariantMap& configurationMap ) diff --git a/src/modules/finished/FinishedViewStep.h b/src/modules/finished/FinishedViewStep.h index 075183f99..cb3656046 100644 --- a/src/modules/finished/FinishedViewStep.h +++ b/src/modules/finished/FinishedViewStep.h @@ -55,6 +55,9 @@ public: void setConfigurationMap( const QVariantMap& configurationMap ) override; +public slots: + void onInstallationFailed( const QString& message, const QString& details ); + private: FinishedPage* m_widget; @@ -63,6 +66,8 @@ private: * send a desktop notification via DBus that the install is done. */ void sendNotification(); + + bool installFailed; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( FinishedViewStepFactory )