Skip to content

Commit

Permalink
Merge tag 'v3.2.35.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
Hayao0819 committed Dec 11, 2020
2 parents a176f9f + b98886c commit c7b3d58
Show file tree
Hide file tree
Showing 281 changed files with 43,448 additions and 21,136 deletions.
63 changes: 63 additions & 0 deletions .github/ISSUE_TEMPLATE/usability_test.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
name: Usability testing
about: Propose a usability test to help us
---
# Objective
The test goals. e.g.: Evaluate the language selection and the partitioning configurations.

# Requirements

## Environment
What is the environment that should be tested and how it should be prepared. e.g.: The test needs to run in the release 3.32.34 installing Manjaro.

## User profile
Describe the target users you are looking for the test. e.g.: A user that has already used a system-installer.

## Facilitator
What the facilitator should be familiar with to run the tests. e.g.: The facilitator needs to know how to build Calamares to be able to run the tests.

# Test design
## Tasks
A list of tasks that the user has to perform. e.g.:

* Use another language.
* Change partitioning configurations.

## Scenarios
A list of scenarios for the user to perform the tasks. They should put the user in a context and not give specific hints about what you want the user to do. e.g.:

1. You want to change the installer language to English. Please, look for this option in the application.
2. You are a big fan of a lot of distributions and want to have some space left to install other distributions in your disk after this installation. Please, resize your disk to have 35GB of space left.

<!--
## Results
Uncomment this session once you have your results.
### Summary
| - | User 1 | User 2 | User 3 | User 4 | User 5 |
|:------:|:------:|:--------:|:------------------:|:------:|:------:|
| Task 1 | :x: | :question: | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Task 2 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Task 3 | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: |
| Task 4 | :heavy_check_mark: | :question: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
### Task 1
#### What went well?
Describe what happened as expected. e.g.: Most users intuitively found the language selector for changing the installer language.
#### What were the challenges?
Describe where the users had issues and why. Try to write the details to ensure a good understanding of what happened. You can also attach videos, GIFs, or screenshots to illustrate. e.g.: Two of the users had issues searching for English on the language selector because they didn't realize they could scroll down to find it.
### Task 2
#### What went well?
Describe what happened as expected. e.g.: Most users intuitively found the language selector for changing the installer language.
#### What were the challenges?
Describe where the users had issues and why. Try to write the details to ensure a good understanding of what happened. You can also attach videos, GIFs, or screenshots to illustrate. e.g.: Two of the users had issues searching for English on the language selector because they didn't realize they could scroll down to find it.
-->
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@ install:
- docker build -t calamares .

script:
- docker run -v $PWD:/src --tmpfs /build:rw,size=81920k -e SRCDIR=/src -e BUILDDIR=/build calamares "/src/ci/travis.sh"
- docker run -v $PWD:/src --tmpfs /build:rw,size=112M -e SRCDIR=/src -e BUILDDIR=/build calamares "/src/ci/travis.sh"

90 changes: 90 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,96 @@ contributors are listed. Note that Calamares does not have a historical
changelog -- this log starts with version 3.2.0. The release notes on the
website will have to do for older versions.

# 3.2.35.1 (2020-12-07) #

This release contains contributions from (alphabetically by first name):
- Anubhav Choudhary
- Matti Hyttinen

Some strange string artifacts appeared, leading to `{1?}` being
displayed in various user-facing messages. These have been removed
and the translations updated.

## Modules ##
- The *initcpiocfg* module would sometimes configure the system to ask
for a passphrase, when none is needed.


# 3.2.35 (2020-11-30) #

This release contains contributions from (alphabetically by first name):
- Clarissa Borges
- Matti Hyttinen

A new kind of issue template has been added for Calamares,
for reporting (and adding tests for) usability issues. Thanks
to Clarissa for leading that effort.

## Core ##
- No core changes yet

## Modules ##
- The *partition* module now supports a not-full-disk-encryption setup,
where `/boot` is not encrypted, but the rest of the system is.
- The *plasmalnf* module has been substantially rewritten, so that it
can support a QML version of the module in future. The UI has changed
a little, and now displays more themes than before.


# 3.2.34 (2020-11-16) #

This release contains contributions from (alphabetically by first name):
- Artem Grinev
- Gaël PORTAY

## Core ##
- No core changes yet

## Modules ##
- The *keyboard* module had a regression in which it no-longer painted
the keycaps in the keyboard preview. (reported by Vinnie)
- The *plasmalnf* module did not set all of the look-and-feel values
in the target system. (reported by Bluestar Linux)
- In the *users* module, warnings about the strength of the password
are now correctly pluralized when possible.
- In the *users* module, if ICU is installed, the user's full name is
automatically transliterated to US-ASCII (for some locales; this will
need tweaking) so that the login name is acceptable. (Thanks Artem)


# 3.2.33 (2020-11-09) #

This release contains contributions from (alphabetically by first name):
- Anke Boersma
- Andrius Štikonas
- Artem Grinev
- Gaël PORTAY
- Matti Hyttinen
- TTran Me

## Core ##
- Calamares now sets the C++ standard for compilation to C++17; this
is for better compatibility and fewer warnings when building with
modern KDE Frameworks and KPMcore 4.2.0.
- Vietnamese translations have been added. Welcome! (Thanks TTran)

## Modules ##
- The *initcpiocfg* module should support plymouth with encryption
now. (Thanks Matti)
- The *keyboard* and *keyboardq* modules now share backend code
and handle non-ASCII layouts better (for setting passwords
and usernames). (Thanks Artem)
- Various cleanups and documentation improvements in the *partition*
module, and configurable GPT name for swap. (Thanks Gaël)
- A long-standing bug related to GPT partition flags in the
*partition* module has been resolved. #1327 #1267
- The *users* module now has a more detailed way to specify
user groups -- which may be system groups rather than user-GIDs.
A new option in each group can require that the group already
exists in the target system, allowing for better consistency checks
with the squashfs. #1523


# 3.2.32.1 (2020-10-17) #

This is a release to address source-incompatible changes in KPMcore 4.2.0,
Expand Down
56 changes: 25 additions & 31 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,9 @@
# TODO:3.3: Require CMake 3.12
cmake_minimum_required( VERSION 3.3 FATAL_ERROR )
project( CALAMARES
VERSION 3.2.32.1
LANGUAGES C CXX )
VERSION 3.2.35.1
LANGUAGES C CXX
)

set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development

Expand Down Expand Up @@ -140,12 +141,12 @@ set( CALAMARES_DESCRIPTION_SUMMARY
# NOTE: update these lines by running `txstats.py`, or for full automation
# `txstats.py -e`. See also
#
# Total 70 languages
set( _tx_complete ca cs_CZ he hr sq tr_TR uk )
set( _tx_good as ast az az_AZ be da de es fa fi_FI fr hi hu it_IT
ja ko lt ml nl pt_BR pt_PT ru sk sv tg zh_CN zh_TW )
set( _tx_ok ar bg bn el en_GB es_MX es_PR et eu fur gl id is mr nb
pl ro sl sr sr@latin th )
# Total 71 languages
set( _tx_complete az ca fi_FI fur he hr ja lt sq uk zh_CN zh_TW )
set( _tx_good as ast az_AZ be cs_CZ da de es fa fr hi hu it_IT ko
ml nl pt_BR pt_PT ru sk sv tg tr_TR vi )
set( _tx_ok ar bg bn el en_GB es_MX es_PR et eu gl id is mr nb pl
ro sl sr sr@latin th )
set( _tx_incomplete ca@valencia eo fr_CH gu ie kk kn lo lv mk ne_NP
te ur uz )

Expand Down Expand Up @@ -190,23 +191,30 @@ include( CMakeColors )

### C++ SETUP
#
set( CMAKE_CXX_STANDARD 14 )
set( CMAKE_CXX_STANDARD 17 )
set( CMAKE_CXX_STANDARD_REQUIRED ON )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror=return-type" )
set( CMAKE_CXX_FLAGS_DEBUG "-g ${CMAKE_CXX_FLAGS_DEBUG}" )
set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
set( CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" )
set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g" )

set( CMAKE_C_STANDARD 99 )
set( CMAKE_C_STANDARD_REQUIRED ON )

set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" )
set( CMAKE_C_FLAGS_DEBUG "-g" )
set( CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
set( CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG" )
set( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g" )

set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined -Wl,--fatal-warnings" )

if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
message( STATUS "Found Clang ${CMAKE_CXX_COMPILER_VERSION}, setting up Clang-specific compiler flags." )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" )
set( CMAKE_C_FLAGS_DEBUG "-g" )
set( CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
set( CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG" )
set( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g" )

# Clang warnings: doing *everything* is counter-productive, since it warns
# about things which we can't fix (e.g. C++98 incompatibilities, but
# Calamares is C++14).
# Calamares is C++17).
foreach( CLANG_WARNINGS
-Weverything
-Wno-c++98-compat
Expand All @@ -218,40 +226,26 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
-Wno-missing-prototypes
-Wno-documentation-unknown-command
-Wno-unknown-warning-option
-Werror=return-type
)
string( APPEND CMAKE_CXX_FLAGS " ${CLANG_WARNINGS}" )
endforeach()
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNOTREACHED='//' -DFALLTHRU='[[clang::fallthrough]]'")

# Third-party code where we don't care so much about compiler warnings
# (because it's uncomfortable to patch) get different flags; use
# mark_thirdparty_code( <file> [<file>...] )
# to switch off warnings for those sources.
set( SUPPRESS_3RDPARTY_WARNINGS "-Wno-everything" )
set( SUPPRESS_BOOST_WARNINGS " -Wno-zero-as-null-pointer-constant -Wno-disabled-macro-expansion" )

set( CMAKE_CXX_FLAGS_DEBUG "-g ${CMAKE_CXX_FLAGS_DEBUG}" )
set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
set( CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" )
set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g" )

set( CMAKE_TOOLCHAIN_PREFIX "llvm-" )

set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" )

# The path prefix is only relevant for CMake 3.16 and later, fixes #1286
set( CMAKE_AUTOMOC_PATH_PREFIX OFF )
set( CALAMARES_AUTOMOC_OPTIONS "-butils/moc-warnings.h" )
set( CALAMARES_AUTOUIC_OPTIONS --include utils/moc-warnings.h )
else()
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--no-undefined" )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--fatal-warnings -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type" )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Woverloaded-virtual" )

set( SUPPRESS_3RDPARTY_WARNINGS "" )
set( SUPPRESS_BOOST_WARNINGS "" )

set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNOTREACHED='__builtin_unreachable();' -DFALLTHRU='/* */'" )
endif()

# Use mark_thirdparty_code() to reduce warnings from the compiler
Expand Down
2 changes: 2 additions & 0 deletions CMakeModules/CalamaresAddTest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ function( calamares_add_test )
Qt5::Test
)
calamares_automoc( ${TEST_NAME} )
# We specifically pass in the source directory of the test-being-
# compiled, so that it can find test-files in that source dir.
target_compile_definitions( ${TEST_NAME} PRIVATE -DBUILD_AS_TEST="${CMAKE_CURRENT_SOURCE_DIR}" ${TEST_DEFINITIONS} )
if( TEST_GUI )
target_link_libraries( ${TEST_NAME} calamaresui Qt5::Gui )
Expand Down
94 changes: 88 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,76 @@

# Contributing to Calamares

Welcome to Calamares! We're happy that you would like to add
something to Calamares. This contribution guide should help you
get started. The guide is not exhaustive: most of it points
to other documents that you will need.


## Code of Conduct

The Calamares community -- of developers, translators, and downstream (distro) users --
aims to be courteous, professional, and inclusive. Harrassment, discriminatory
statements and abuse are not tolerated. In general, we apply the
[KDE Code of Conduct](https://www.kde.org/code-of-conduct/) and the
[GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct) (the
rules of decent behavior in both communities are pretty much the same).

> See the [CoC section on the wiki](https://github.com/calamares/calamares/wiki#code-of-conduct)
> for a longer text. To report a problem, please contact the maintainer,
> Adriaan de Groot, or the KDE Community Working Group.

## Join the Conversation

GitHub Issues are **one** place for discussing Calamares if there are concrete
problems or a new feature to discuss.

Regular Calamares development chit-chat happens on old-school IRC
(no registration required). Responsiveness is best during the day
in Europe, but feel free to idle. **DO NOT** ask-and-leave. Keep
that chat window open because it can easily take a few hours for
someone to notice a message.

[![Visit our IRC channel](https://kiwiirc.com/buttons/webchat.freenode.net/calamares.png)](https://webchat.freenode.net/?channel=#calamares?nick=guest)


## General Guidelines

Pull Requests are welcome!

It is often a good idea to start a Pull Request early, with just work-in-progress,
so that the overall approach can be discussed before you put a lot of work
into something. Or file an issue describing what you would like to do.

If you are writing code, stick to the existing coding style and apply
the coding-style tool before you commit. It's not my favorite style,
but at least all of Calamares is consistent and the tool helps it
stay that way.

If you are writing documentation, use *en_US* spelling.

If you are doing cool stuff, let us know (on IRC or through issues).

**Do** fork Calamares to try new things, **don't** keep your fork to
yourself, **do** upstream things as much as you can. When you make cool
new things, it's best for the whole Calamares-using-community
to build new things that are configurable and applicable to other
distributions than your own. So keep other folk in mind. There is
also the [extensions](https://github.com/calamares/calamares-extensions)
repository for somewhat-more-specialized modules and examples.


## Building Calamares

Up to date
[building-Calamares](https://github.com/calamares/calamares/wiki/Develop-Guide)
instructions are on the wiki.

### Dependencies

Main:
* Compiler with C++14 support: GCC >= 5 or Clang >= 3.5.1
* Compiler with C++17 support: GCC >= 7 or Clang >= 5
* CMake >= 3.3
* Qt >= 5.9
* yaml-cpp >= 0.5.1
Expand All @@ -26,10 +92,26 @@ Particular requirements (not complete):
* *partition* KPMCore >= 3.3 (>= 4.2 recommended)
* *users* LibPWQuality (optional)

### Building

See [wiki](https://github.com/calamares/calamares/wiki) for up to date
[building](https://github.com/calamares/calamares/wiki/Develop-Guide)
and [deployment](https://github.com/calamares/calamares/wiki/Deploy-Guide)
instructions.
## Configuring and Deploying Calamares

[Deployment](https://github.com/calamares/calamares/wiki/Deploy-Guide)
instructions are on the wiki.


## Translating Calamares

Calamares translations are done on Transifex.
The [translator's guide](https://github.com/calamares/calamares/wiki/Translate-Guide)
on the wiki explains how to get involved there.


## Testing Calamares

There is a [testing guide](https://github.com/calamares/calamares/wiki/Test-Guide)
on the wiki. It is possible to test most parts of Calamares in isolation,
but the real proof of the pudding comes with an actual installation
of *some* distro using Calamares.

The UI components should get some specific usability testing instructions soon.

Loading

0 comments on commit c7b3d58

Please sign in to comment.