Skip to content

Commit d779ec9

Browse files
authored
Merge pull request #39 from Hayao0819/master
Updated 3.2.35.1
2 parents afd8d2d + c7b3d58 commit d779ec9

File tree

281 files changed

+43448
-21136
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

281 files changed

+43448
-21136
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
name: Usability testing
3+
about: Propose a usability test to help us
4+
---
5+
# Objective
6+
The test goals. e.g.: Evaluate the language selection and the partitioning configurations.
7+
8+
# Requirements
9+
10+
## Environment
11+
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.
12+
13+
## User profile
14+
Describe the target users you are looking for the test. e.g.: A user that has already used a system-installer.
15+
16+
## Facilitator
17+
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.
18+
19+
# Test design
20+
## Tasks
21+
A list of tasks that the user has to perform. e.g.:
22+
23+
* Use another language.
24+
* Change partitioning configurations.
25+
26+
## Scenarios
27+
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.:
28+
29+
1. You want to change the installer language to English. Please, look for this option in the application.
30+
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.
31+
32+
<!--
33+
34+
## Results
35+
36+
Uncomment this session once you have your results.
37+
38+
### Summary
39+
40+
| - | User 1 | User 2 | User 3 | User 4 | User 5 |
41+
|:------:|:------:|:--------:|:------------------:|:------:|:------:|
42+
| Task 1 | :x: | :question: | :heavy_check_mark: | :x: | :heavy_check_mark: |
43+
| Task 2 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
44+
| Task 3 | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: |
45+
| Task 4 | :heavy_check_mark: | :question: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
46+
47+
### Task 1
48+
49+
#### What went well?
50+
Describe what happened as expected. e.g.: Most users intuitively found the language selector for changing the installer language.
51+
52+
#### What were the challenges?
53+
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.
54+
55+
### Task 2
56+
57+
#### What went well?
58+
Describe what happened as expected. e.g.: Most users intuitively found the language selector for changing the installer language.
59+
60+
#### What were the challenges?
61+
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.
62+
63+
-->

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ install:
1919
- docker build -t calamares .
2020

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

CHANGES

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

10+
# 3.2.35.1 (2020-12-07) #
11+
12+
This release contains contributions from (alphabetically by first name):
13+
- Anubhav Choudhary
14+
- Matti Hyttinen
15+
16+
Some strange string artifacts appeared, leading to `{1?}` being
17+
displayed in various user-facing messages. These have been removed
18+
and the translations updated.
19+
20+
## Modules ##
21+
- The *initcpiocfg* module would sometimes configure the system to ask
22+
for a passphrase, when none is needed.
23+
24+
25+
# 3.2.35 (2020-11-30) #
26+
27+
This release contains contributions from (alphabetically by first name):
28+
- Clarissa Borges
29+
- Matti Hyttinen
30+
31+
A new kind of issue template has been added for Calamares,
32+
for reporting (and adding tests for) usability issues. Thanks
33+
to Clarissa for leading that effort.
34+
35+
## Core ##
36+
- No core changes yet
37+
38+
## Modules ##
39+
- The *partition* module now supports a not-full-disk-encryption setup,
40+
where `/boot` is not encrypted, but the rest of the system is.
41+
- The *plasmalnf* module has been substantially rewritten, so that it
42+
can support a QML version of the module in future. The UI has changed
43+
a little, and now displays more themes than before.
44+
45+
46+
# 3.2.34 (2020-11-16) #
47+
48+
This release contains contributions from (alphabetically by first name):
49+
- Artem Grinev
50+
- Gaël PORTAY
51+
52+
## Core ##
53+
- No core changes yet
54+
55+
## Modules ##
56+
- The *keyboard* module had a regression in which it no-longer painted
57+
the keycaps in the keyboard preview. (reported by Vinnie)
58+
- The *plasmalnf* module did not set all of the look-and-feel values
59+
in the target system. (reported by Bluestar Linux)
60+
- In the *users* module, warnings about the strength of the password
61+
are now correctly pluralized when possible.
62+
- In the *users* module, if ICU is installed, the user's full name is
63+
automatically transliterated to US-ASCII (for some locales; this will
64+
need tweaking) so that the login name is acceptable. (Thanks Artem)
65+
66+
67+
# 3.2.33 (2020-11-09) #
68+
69+
This release contains contributions from (alphabetically by first name):
70+
- Anke Boersma
71+
- Andrius Štikonas
72+
- Artem Grinev
73+
- Gaël PORTAY
74+
- Matti Hyttinen
75+
- TTran Me
76+
77+
## Core ##
78+
- Calamares now sets the C++ standard for compilation to C++17; this
79+
is for better compatibility and fewer warnings when building with
80+
modern KDE Frameworks and KPMcore 4.2.0.
81+
- Vietnamese translations have been added. Welcome! (Thanks TTran)
82+
83+
## Modules ##
84+
- The *initcpiocfg* module should support plymouth with encryption
85+
now. (Thanks Matti)
86+
- The *keyboard* and *keyboardq* modules now share backend code
87+
and handle non-ASCII layouts better (for setting passwords
88+
and usernames). (Thanks Artem)
89+
- Various cleanups and documentation improvements in the *partition*
90+
module, and configurable GPT name for swap. (Thanks Gaël)
91+
- A long-standing bug related to GPT partition flags in the
92+
*partition* module has been resolved. #1327 #1267
93+
- The *users* module now has a more detailed way to specify
94+
user groups -- which may be system groups rather than user-GIDs.
95+
A new option in each group can require that the group already
96+
exists in the target system, allowing for better consistency checks
97+
with the squashfs. #1523
98+
99+
10100
# 3.2.32.1 (2020-10-17) #
11101

12102
This is a release to address source-incompatible changes in KPMcore 4.2.0,

CMakeLists.txt

Lines changed: 25 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,9 @@
4141
# TODO:3.3: Require CMake 3.12
4242
cmake_minimum_required( VERSION 3.3 FATAL_ERROR )
4343
project( CALAMARES
44-
VERSION 3.2.32.1
45-
LANGUAGES C CXX )
44+
VERSION 3.2.35.1
45+
LANGUAGES C CXX
46+
)
4647

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

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

@@ -190,23 +191,30 @@ include( CMakeColors )
190191

191192
### C++ SETUP
192193
#
193-
set( CMAKE_CXX_STANDARD 14 )
194+
set( CMAKE_CXX_STANDARD 17 )
194195
set( CMAKE_CXX_STANDARD_REQUIRED ON )
196+
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror=return-type" )
197+
set( CMAKE_CXX_FLAGS_DEBUG "-g ${CMAKE_CXX_FLAGS_DEBUG}" )
198+
set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
199+
set( CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" )
200+
set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g" )
201+
195202
set( CMAKE_C_STANDARD 99 )
196203
set( CMAKE_C_STANDARD_REQUIRED ON )
197-
198204
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" )
205+
set( CMAKE_C_FLAGS_DEBUG "-g" )
206+
set( CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
207+
set( CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG" )
208+
set( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g" )
209+
210+
set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined -Wl,--fatal-warnings" )
211+
199212
if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
200213
message( STATUS "Found Clang ${CMAKE_CXX_COMPILER_VERSION}, setting up Clang-specific compiler flags." )
201-
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" )
202-
set( CMAKE_C_FLAGS_DEBUG "-g" )
203-
set( CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
204-
set( CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG" )
205-
set( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g" )
206214

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

227233
# Third-party code where we don't care so much about compiler warnings
228234
# (because it's uncomfortable to patch) get different flags; use
229235
# mark_thirdparty_code( <file> [<file>...] )
230236
# to switch off warnings for those sources.
231237
set( SUPPRESS_3RDPARTY_WARNINGS "-Wno-everything" )
232-
set( SUPPRESS_BOOST_WARNINGS " -Wno-zero-as-null-pointer-constant -Wno-disabled-macro-expansion" )
233-
234-
set( CMAKE_CXX_FLAGS_DEBUG "-g ${CMAKE_CXX_FLAGS_DEBUG}" )
235-
set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
236-
set( CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" )
237-
set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g" )
238238

239239
set( CMAKE_TOOLCHAIN_PREFIX "llvm-" )
240240

241-
set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" )
242-
243241
# The path prefix is only relevant for CMake 3.16 and later, fixes #1286
244242
set( CMAKE_AUTOMOC_PATH_PREFIX OFF )
245243
set( CALAMARES_AUTOMOC_OPTIONS "-butils/moc-warnings.h" )
246244
set( CALAMARES_AUTOUIC_OPTIONS --include utils/moc-warnings.h )
247245
else()
248-
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--no-undefined" )
249-
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--fatal-warnings -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type" )
246+
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Woverloaded-virtual" )
250247

251248
set( SUPPRESS_3RDPARTY_WARNINGS "" )
252-
set( SUPPRESS_BOOST_WARNINGS "" )
253-
254-
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNOTREACHED='__builtin_unreachable();' -DFALLTHRU='/* */'" )
255249
endif()
256250

257251
# Use mark_thirdparty_code() to reduce warnings from the compiler

CMakeModules/CalamaresAddTest.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ function( calamares_add_test )
4242
Qt5::Test
4343
)
4444
calamares_automoc( ${TEST_NAME} )
45+
# We specifically pass in the source directory of the test-being-
46+
# compiled, so that it can find test-files in that source dir.
4547
target_compile_definitions( ${TEST_NAME} PRIVATE -DBUILD_AS_TEST="${CMAKE_CURRENT_SOURCE_DIR}" ${TEST_DEFINITIONS} )
4648
if( TEST_GUI )
4749
target_link_libraries( ${TEST_NAME} calamaresui Qt5::Gui )

CONTRIBUTING.md

Lines changed: 88 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,76 @@
44

55
# Contributing to Calamares
66

7+
Welcome to Calamares! We're happy that you would like to add
8+
something to Calamares. This contribution guide should help you
9+
get started. The guide is not exhaustive: most of it points
10+
to other documents that you will need.
11+
12+
13+
## Code of Conduct
14+
15+
The Calamares community -- of developers, translators, and downstream (distro) users --
16+
aims to be courteous, professional, and inclusive. Harrassment, discriminatory
17+
statements and abuse are not tolerated. In general, we apply the
18+
[KDE Code of Conduct](https://www.kde.org/code-of-conduct/) and the
19+
[GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct) (the
20+
rules of decent behavior in both communities are pretty much the same).
21+
22+
> See the [CoC section on the wiki](https://github.com/calamares/calamares/wiki#code-of-conduct)
23+
> for a longer text. To report a problem, please contact the maintainer,
24+
> Adriaan de Groot, or the KDE Community Working Group.
25+
26+
27+
## Join the Conversation
28+
29+
GitHub Issues are **one** place for discussing Calamares if there are concrete
30+
problems or a new feature to discuss.
31+
32+
Regular Calamares development chit-chat happens on old-school IRC
33+
(no registration required). Responsiveness is best during the day
34+
in Europe, but feel free to idle. **DO NOT** ask-and-leave. Keep
35+
that chat window open because it can easily take a few hours for
36+
someone to notice a message.
37+
38+
[![Visit our IRC channel](https://kiwiirc.com/buttons/webchat.freenode.net/calamares.png)](https://webchat.freenode.net/?channel=#calamares?nick=guest)
39+
40+
41+
## General Guidelines
42+
43+
Pull Requests are welcome!
44+
45+
It is often a good idea to start a Pull Request early, with just work-in-progress,
46+
so that the overall approach can be discussed before you put a lot of work
47+
into something. Or file an issue describing what you would like to do.
48+
49+
If you are writing code, stick to the existing coding style and apply
50+
the coding-style tool before you commit. It's not my favorite style,
51+
but at least all of Calamares is consistent and the tool helps it
52+
stay that way.
53+
54+
If you are writing documentation, use *en_US* spelling.
55+
56+
If you are doing cool stuff, let us know (on IRC or through issues).
57+
58+
**Do** fork Calamares to try new things, **don't** keep your fork to
59+
yourself, **do** upstream things as much as you can. When you make cool
60+
new things, it's best for the whole Calamares-using-community
61+
to build new things that are configurable and applicable to other
62+
distributions than your own. So keep other folk in mind. There is
63+
also the [extensions](https://github.com/calamares/calamares-extensions)
64+
repository for somewhat-more-specialized modules and examples.
65+
66+
67+
## Building Calamares
68+
69+
Up to date
70+
[building-Calamares](https://github.com/calamares/calamares/wiki/Develop-Guide)
71+
instructions are on the wiki.
72+
773
### Dependencies
874

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

29-
### Building
3095

31-
See [wiki](https://github.com/calamares/calamares/wiki) for up to date
32-
[building](https://github.com/calamares/calamares/wiki/Develop-Guide)
33-
and [deployment](https://github.com/calamares/calamares/wiki/Deploy-Guide)
34-
instructions.
96+
## Configuring and Deploying Calamares
97+
98+
[Deployment](https://github.com/calamares/calamares/wiki/Deploy-Guide)
99+
instructions are on the wiki.
100+
101+
102+
## Translating Calamares
103+
104+
Calamares translations are done on Transifex.
105+
The [translator's guide](https://github.com/calamares/calamares/wiki/Translate-Guide)
106+
on the wiki explains how to get involved there.
107+
108+
109+
## Testing Calamares
110+
111+
There is a [testing guide](https://github.com/calamares/calamares/wiki/Test-Guide)
112+
on the wiki. It is possible to test most parts of Calamares in isolation,
113+
but the real proof of the pudding comes with an actual installation
114+
of *some* distro using Calamares.
115+
116+
The UI components should get some specific usability testing instructions soon.
35117

0 commit comments

Comments
 (0)