Release v3.2.59

-----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCAAdFiEESUdADzdGoDiQC7F4Mo10LYgHpDUFAmKTi68ACgkQMo10LYgH
 pDVUbAv/Z6UZDkwODV5I8xYc8w6A04WW//CCzJVYT5zkXxEM4Ye7fKCJ/CuaROw0
 7vDEM/4eHB+Ux+XEmvn73tyryzyDwVW5yj9fG9bbHjILWt6UBgurlbzATlbbYb/Y
 G9hC6s9pPVMJvI4/e6r8OZGpxl+1sbnsyPw/K7Ci7W41YXJAK6wdrNL9PZkzgIuq
 DSNU2SJhx+a3hL9gV3INDI0ZYIk95SReEizxNKlUyBb8CZGqT4xxnzppyOFKmIMJ
 2n47qwgCzQ4/NDNcXRn8H0wbaTYw1p9+jDUj7UTNxi4g3um4MHNpGeQ4SJ3MbOqn
 iLA60RHm5oa1RuS+ocmTjcF89PcHw1l2MjbxVnfSs2WS/Eooj+zr6mgvGqgVFcqG
 sz4jtOGsF0e5A9VW1//735l6KFI5COlq1XWYN4hvZIWkNsYpZSF1XMjLF2qvNgR+
 f5Qz6sgBQ8NEOa+oT9Yw4WKQLAnW2w06zxuyz0eAsWvizvHV9mVAsXJpcCPyOOm9
 xflMh/pB
 =71gr
 -----END PGP SIGNATURE-----

[merge] with upstrteam
This commit is contained in:
Philip Müller 2022-06-12 19:29:24 +07:00
commit a5b96e4a1e
313 changed files with 43905 additions and 91933 deletions

5
.git-blame-ignore-revs Normal file
View File

@ -0,0 +1,5 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
18fef8dfe5d926ec0bc979562553adf4db8db2e9
874a0c1f38b0da4e5bc83083b13a63b1c7eed935

View File

@ -10,14 +10,14 @@ jobs:
steps:
- name: "notify: new"
if: github.event.issue.state == 'open'
uses: calamares/actions/matrix-notify@v3
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: "OPENED ${{ github.event.issue.html_url }} by ${{ github.actor }} ${{ github.event.issue.title }}"
- name: "notify: closed"
if: github.event.issue.state != 'open'
uses: calamares/actions/matrix-notify@v3
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}

View File

@ -22,23 +22,25 @@ jobs:
options: --tmpfs /build:rw --user 0:0
steps:
- name: "prepare env"
uses: calamares/actions/prepare-debian@v3
uses: calamares/actions/prepare-debian@v4
- name: "prepare source"
uses: actions/checkout@v2
uses: calamares/actions/generic-checkout@v4
- name: "build"
id: build
uses: calamares/actions/generic-build@v3
uses: calamares/actions/generic-build@v4
- name: "notify: ok"
if: ${{ success() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v3
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: "OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}"
message: |
OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}
- name: "notify: fail"
if: ${{ failure() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v3
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: "FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}"
message: |
FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}

View File

@ -22,12 +22,28 @@ jobs:
options: --tmpfs /build:rw --user 0:0
steps:
- name: "prepare env"
uses: calamares/actions/prepare-neon@v3
uses: calamares/actions/prepare-neon@v4
- name: "prepare source"
uses: actions/checkout@v2
uses: calamares/actions/generic-checkout@v4
- name: "build"
id: build
uses: calamares/actions/generic-build@v3
uses: calamares/actions/generic-build@v4
- name: "notify: ok"
if: ${{ success() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: |
OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}
- name: "notify: fail"
if: ${{ failure() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: |
FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}
- name: "Calamares: archive"
working-directory: ${{ env.BUILDDIR }}
run: |
@ -39,18 +55,4 @@ jobs:
name: calamares-tarball
path: ${{ env.BUILDDIR }}/calamares.tar.gz
if-no-files-found: error
retention-days: 3
- name: "notify: ok"
if: ${{ success() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v3
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: "OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}"
- name: "notify: fail"
if: ${{ failure() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v3
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: "FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}"
retention-days: 7

View File

@ -22,24 +22,25 @@ jobs:
options: --tmpfs /build:rw --user 0:0
steps:
- name: "prepare env"
uses: calamares/actions/prepare-opensuse@v3
uses: calamares/actions/prepare-opensuse@v4
- name: "prepare source"
uses: actions/checkout@v2
uses: calamares/actions/generic-checkout@v4
- name: "build"
id: build
uses: calamares/actions/generic-build@v3
uses: calamares/actions/generic-build@v4
- name: "notify: ok"
if: ${{ success() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v3
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: |
OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}"
OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}
- name: "notify: fail"
if: ${{ failure() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v3
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: "FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}"
message: |
FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}

View File

@ -4,6 +4,7 @@ on:
push:
branches:
- calamares
- work-3.3
pull_request:
types:
- opened
@ -28,15 +29,15 @@ jobs:
options: --tmpfs /build:rw --user 0:0
steps:
- name: "prepare env"
uses: calamares/actions/prepare-neon@v3
uses: calamares/actions/prepare-neon@v4
- name: "prepare source"
uses: actions/checkout@v2
uses: calamares/actions/generic-checkout@v4
- name: "build"
id: build
uses: calamares/actions/generic-build@v3
uses: calamares/actions/generic-build@v4
- name: "notify: ok"
if: ${{ success() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v3
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
@ -45,7 +46,7 @@ jobs:
.. ${{ steps.build.outputs.git-summary }}
- name: "notify: fail"
if: ${{ failure() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v3
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}

30
AUTHORS
View File

@ -20,30 +20,58 @@ and moral support from (alphabetically by first name or nickname):
- Allen Welkie
- AlmAck
- Andrius Štikonas
- Anke Boersma
- Anubhav Choudhary
- Arjen Balfoort
- Arnaud Ferraris
- Artem Grinev
- artoo@cromnix.org
- benne-dee
- Bernhard Landauer
- Bezzy1999
- Bill Auger
- Bob van der Linden
- Caio Jordão Carvalho
- Camilo Higuita
- Collabora LTD
- Corey Lang
- crispg72
- Dan Simmons
- demmm
- Emmanuel Arias
- Enrique Medina Gremaldos
- Erik Dubois
- Dominic Hayes
- El-Wumbus
- Evan James
- Frede H
- Gabriel Craciunescu
- Harald Sitter
- Huang Jia Wen
- Jerrod Frost
- Jia Chao
- Joe Kamprad
- Jonas Strassel
- Kai Dohmen
- Kevin Kofler
- Kyle Robertze
- Lisa Vitolo
- Neal Gompa
- Matti Hyttinen
- n3rdopolis
- Neal Gompa
- Nico 'dr460nf1r3'
- Omer I.S.
- Philip Müller
- Ramon Buldó
- Raul Rodrigo Segura
- Rohan Garg
- Santosh Mahto
- Scott Harvey
- Simon Quigley
- Taejun Park
- Victor Fuentes
- vtriolet
- Walter Lapchynski
- Waneon Kim
> This list was updated to revision 6e8d820737dea0f3e08f12b10768facef19be684 on May 28th 2022.

View File

@ -1,4 +1,3 @@
<!-- SPDX-FileCopyrightText: no
SPDX-License-Identifier: CC0-1.0
-->
@ -8,16 +7,146 @@ 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.55 (unreleased) #
# 3.2.59 (2022-05-29) #
This release contains contributions from (alphabetically by first name):
- No external contributors yet
- Arjen Balfoort
This is the final release of Calamares 3.2 where the release is from
the *calamares* branch -- that is, where the primary development
branch is also the branch being released regularly. Future releases
of the 3.2 series are bugfix-only, and no new feature development
or translations are expected. This is also the final release done
*as work-work* by the current maintainer.
## Core ##
- No core changes yet
- Prep-work for moving the *About Calamares* button to the panels,
rather than keeping it in the Welcome module. The about information
is somewhat more flexible now, so that a new maintainer can be added
easily without frustrating translators.
- The progress panels (both Widgets and QML) now have an About button
on them, showing the traditional *About Calamares* dialog.
- Translations for the (QML) slideshow were not being loaded correctly.
The log is now somewhat more informative when that fails.
## Modules ##
- No module changes yet
- *fstab* can now be configured to put `/tmp` on a *tmpfs*, and this can
depend on it being on an SSD or not. Options applicable to `/tmp` can
be configured separately as well. #1818 (Thanks Arjen)
- *partition* now has some support for re-using LUKS partitions.
(Thanks Arjen)
- *partition* will cycle out a LUKS key if all the key slots are in use
and a new key is added, rather than crashing the installer. (Thanks Arjen)
- *welcome* and *welcomeq* have no *About* button anymore; this is now
available from the progress panel, since it's also not-really about the
distro itself.
# 3.2.58.2 (2022-05-24)
This is a extra-quick release for an issue that shows up when using a
swap **file** on a btrfs filesystem; the installation would fail with
a Python error, raised from btrfs-progs. Reported by Evan James, Erik
Dubois, TechXero.
# 3.2.58.1 (2022-05-20)
This is a hot-fix release for a regression in the *partition* module where
it was impossible to proceed unless *Encrypt system* was checked.
# 3.2.58 (2022-05-18) #
This release contains contributions from (alphabetically by first name):
- Anke Boersma
- Arjen Balfoort
- Enrique Medina Gremaldos
- Evan James
## Core ##
- Internal improvements to translations-setup means that Catalan (in the
Valencian dialect), Occitan (Lenga d'Oc) and Serbian (in Latin script)
are all better supported. Thanks Enrique.
## Modules ##
- *netinstall* Now displays entries with an empty name slightly differently.
An empty name is not generally useful, but in combination with
*immutable:true* and *selected:false* can be used to introduce separators
or descriptive comments into the list of packages.
- *partition* does not offer full-disk encryption when using ZFS. ZFS and the
way Calamares sets up FDE don't mix well. (Thanks Evan)
- *partition* Various bugs related to LUKS have been fixed. (Thanks Arjen)
- *users* module now has a structured *user* key with settings specific
to the user (shell, in particular). This maintains backwards compatibility
with the *userShell* key.
- *users* module now has lists of forbidden login- and host-names, to
avoid settings that will mess up the install (e.g. using a login-name
that is one of the system's reserved names). #1944
# 3.2.57 (2022-05-04) #
This release contains contributions from (alphabetically by first name):
- Arjen Balfoort (new contributor! Welcome!)
- Victor Fuentes
## Core ##
- Calamares can now be started in Serbian (Latin Script) and Catalan
(Valencia) when the LANG environment variable is set to values
that indicate those languages.
## Modules ##
- *fstab* and *luksbootkeyfile* have better support for an **un**encrypted
`/boot` partition. #1931 (thanks Arjen)
- *packagechooser* and *packagechooserq* can now be given a custom name
in the side-panel. #1932 (thanks Victor)
# 3.2.56 (2022-04-22) #
As of this release, Calamares 3.2 development is winding down. The
reason is simple: systems where the backwards-compatibility of Calamares
3.2 is important are becoming increasingly difficult to work with
for **other** reasons. Foremost among these are deprecated versions
of dependencies and tools. Calamares 3.2 branch remains open for
bugfixes and will see a few more releases, but development is now
shifting wholesale to the newer generation.
This release contains contributions from (alphabetically by first name):
- Victor Fuentes (new contributor! Welcome!)
## Core ##
- Changes in git forced some changes on the CI tooling.
## Modules ##
- *locale* showed the wrong timezone for Dhaka, although it configured
the correct one. #1929
- *users* module sets global storage key *fullname* to the full name
of the user (e.g. what is entered in the "your full name" box on the
users page). #1923 (Thanks Victor)
# 3.2.55 (2022-04-11) #
This release contains contributions from (alphabetically by first name):
- vtriolet (new contributor! Welcome!)
## Core ##
- `readTargetFile()` did not properly return all the lines of the target
file. #1918 (thanks vtriolet)
## Modules ##
- *users* module has rearranged configuration for setting the hostname.
Legacy settings are preserved, but produce a warning. Please see
`users.conf` for details.
- *users* module has a new hostname.location setting, *Transient*, which
will force the installed system to transient-hostname-setting by removing
the file `/etc/hostname`.
- *users* module has a new hostname.template setting, which allows some
tweaking of how the hostname suggestion is constructed. In particular,
it can be configured to use the current hostname (whatever that may be).
See the example `users.conf` for details on available keys.
# 3.2.54 (2022-03-21) #

View File

@ -41,7 +41,11 @@
# TODO:3.3: Require CMake 3.12
cmake_minimum_required( VERSION 3.3 FATAL_ERROR )
project( CALAMARES
<<<<<<< HEAD
VERSION 3.2.54
=======
VERSION 3.2.59
>>>>>>> 26cac052f58a1c38e723827d1773f0e805f4ee0d
LANGUAGES C CXX
)
@ -125,9 +129,8 @@ set( CALAMARES_DESCRIPTION_SUMMARY
#
# When adding a new language, take care that it is properly loaded
# by the translation framework. Languages with alternate scripts
# (sr@latin in particular) may need special handling in CalamaresUtils.cpp.
#
# TODO: drop the es_ES translation from Transifex
# (sr@latin in particular) or location (ca@valencia) need special
# handling in libcalamares/locale/Translation.h .
#
# NOTE: move eo (Esperanto) to _ok once Qt can actually create a
# locale for it. (Qt 5.12.2 can, see Translation Status section).
@ -136,14 +139,14 @@ set( CALAMARES_DESCRIPTION_SUMMARY
# `txstats.py -e`. See also
#
# Total 74 languages
set( _tx_complete az az_AZ ca de fa fi_FI he hi hr ja ko lt pt_BR
pt_PT si sq sv tr_TR uk zh_TW )
set( _tx_good as be ca@valencia cs_CZ da fr fur it_IT ml nl ru sk
tg vi zh_CN )
set( _tx_ok ar ast bg bn el en_GB es es_MX et eu gl hu id is mr nb
set( _tx_complete az az_AZ ca es fi_FI he hi hr ja lt pt_BR pt_PT
sq sv uk zh_TW )
set( _tx_good as be ca@valencia cs_CZ da de fa fr fur it_IT ko ml
nl ru si sk tg tr_TR vi zh_CN )
set( _tx_ok ar ast bg bn el en_GB es_MX et eu gl hu id is mr nb oc
pl ro sl sr sr@latin th )
set( _tx_incomplete eo es_PR gu ie kk kn lo lv mk ne ne_NP ta_IN te
ur zh zh_HK )
set( _tx_incomplete eo es_PR gu ie ja-Hira kk kn lo lv mk ne_NP
ta_IN te ur zh zh_HK )
### Required versions
#

View File

@ -65,5 +65,5 @@ that chat window open because it can easily take a few hours for
someone to notice a message.
Matrix is persistent, and we'll see your message eventually.
* [![Join us on Matrix](https://img.shields.io/badge/Matrix-%23calamares:kde.org-blue)](https://webchat.kde.org/#/room/%23calamares:kde.org)
* [![Chat on IRC](https://img.shields.io/badge/IRC-Libera.Chat%20%23calamares-green)](https://kiwiirc.com/client/irc.libera.chat/#calamares)
* [![Join us on Matrix](https://img.shields.io/badge/Matrix-%23calamares:kde.org-blue)](https://webchat.kde.org/#/room/%23calamares:kde.org) (needs a Matrix account)
* [![Chat on IRC](https://img.shields.io/badge/IRC-Libera.Chat%20%23calamares-green)](https://kiwiirc.com/client/irc.libera.chat/#calamares) (IRC supports guest accounts)

View File

@ -73,10 +73,10 @@ Name[eo]=Instali Sistemo
Icon[eo]=calamares
GenericName[eo]=Sistema Instalilo
Comment[eo]=Calamares Sistema Instalilo
Name[es]=Instalar Sistema
Name[es]=Instalar el sistema
Icon[es]=calamares
GenericName[es]=Instalador del Sistema
Comment[es]=Calamares Instalador del Sistema
GenericName[es]=Instalador del sistema
Comment[es]=Calamares Instalador del sistema
Name[es_MX]=Instalar el Sistema
Icon[es_MX]=calamares
GenericName[es_MX]=Instalador del sistema

View File

@ -7,8 +7,6 @@
#
# Release script for Calamares
#
# NOTE: this script contains Linuxisms (in particular, expects GNU mktemp(1))
#
# This attempts to perform the different steps of the RELEASE.md
# document automatically. It's not tested on other machines or
# setups other than [ade]'s development VM.
@ -29,11 +27,13 @@
# * `-B` do not build (before tagging)
# * `-P` do not package (tag, sign, tarball)
# * `-T` do not respect string freeze
# * '-b' do not build-and-test tarball
#
# The build / package settings can be influenced via environment variables:
# * BUILD_DEFAULT set to `false` to avoid first build with gcc
# * BUILD_CLANG set to `false` to avoid second build with clang
# * BUILD_ONLY set to `true` to break after building
# * TEST_TARBALL set to 'false' to skip build-and-test phase after tarring
#
### END USAGE
@ -45,9 +45,10 @@ which cmake > /dev/null 2>&1 || { echo "No cmake(1) available." ; exit 1 ; }
test -z "$BUILD_DEFAULT" && BUILD_DEFAULT=true
test -z "$BUILD_CLANG" && BUILD_CLANG=true
test -z "$BUILD_ONLY" && BUILD_ONLY=false
test -z "$TEST_TARBALL" && TEST_TARBALL=true
STRING_FREEZE=true
while getopts "hBPT" opt ; do
while getopts "hBbPT" opt ; do
case "$opt" in
h|\?)
sed -e '1,/USAGE/d' -e '/END.USAGE/,$d' < "$0"
@ -57,6 +58,9 @@ while getopts "hBPT" opt ; do
BUILD_DEFAULT=false
BUILD_CLANG=false
;;
b)
TEST_TARBALL=false
;;
P)
BUILD_ONLY=true
;;
@ -74,7 +78,7 @@ fi
### Setup
#
#
BUILDDIR=$(mktemp -d --suffix=-build --tmpdir=.)
BUILDDIR=$(mktemp -d ./cala-tmp-XXXXXX)
KEY_ID="328D742D8807A435"
# Try to make gpg cache the signing key, so we can leave the process
@ -144,12 +148,14 @@ SHA256=$(sha256sum "$TAR_FILE" | cut -d" " -f1)
### Build the tarball
#
#
D=$(date +%Y%m%d-%H%M%S)
TMPDIR=$(mktemp -d --suffix="-calamares-$D")
test -d "$TMPDIR" || { echo "Could not create tarball-build directory." ; exit 1 ; }
tar xzf "$TAR_FILE" -C "$TMPDIR" || { echo "Could not unpack tarball." ; exit 1 ; }
test -d "$TMPDIR/$TAR_V" || { echo "Tarball did not contain source directory." ; exit 1 ; }
( cd "$TMPDIR/$TAR_V" && cmake . && make -j4 && make test ) || { echo "Tarball build failed in $TMPDIR ." ; exit 1 ; }
if test "x$TEST_TARBALL" = "xtrue" ; then
D=$(date +%Y%m%d-%H%M%S)
TMPDIR=$(mktemp -d ./cala-tar-XXXXXX)
test -d "$TMPDIR" || { echo "Could not create tarball-build directory." ; exit 1 ; }
tar xzf "$TAR_FILE" -C "$TMPDIR" || { echo "Could not unpack tarball." ; exit 1 ; }
test -d "$TMPDIR/$TAR_V" || { echo "Tarball did not contain source directory." ; exit 1 ; }
( cd "$TMPDIR/$TAR_V" && cmake . && make -j4 && make test ) || { echo "Tarball build failed in $TMPDIR ." ; exit 1 ; }
fi
gpg -s -u $KEY_ID --detach --armor $TAR_FILE # Sign the tarball
### Cleanup

View File

@ -24,7 +24,7 @@ test -f "$TOPDIR/.clang-format" || { echo "! No .clang-format support files in $
AS=$( which astyle )
# Allow specifying CF_VERSIONS outside already
CF_VERSIONS="$CF_VERSIONS clang-format13 clang-format-13 clang-format12 clang-format-12 clang-format"
CF_VERSIONS="$CF_VERSIONS clang-format13 clang-format-13 clang-format-13.0.1 clang-format12 clang-format-12 clang-format"
for _cf in $CF_VERSIONS
do
# Not an error if this particular clang-format isn't found
@ -42,6 +42,9 @@ test -x "$CF" || { echo "! $CF is not executable."; exit 1 ; }
# Version 7 and earlier doesn't understand all the options we would like
# Version 12 handles lambdas nicely, so use that.
# Version 13 is also ok.
# Version 14 behaves differently with short-functions-in-class,
# spreading functions out that 13 keeps on one line. To avoid
# ping-pong commits, forbid 14.
format_version=`"$CF" --version | tr -dc '[^.0-9]' | cut -d . -f 1`
case "$format_version" in
@ -49,7 +52,7 @@ case "$format_version" in
:
;;
* )
echo "! Clang-format version '$format_version' unsupported, version 12 required."
echo "! Clang-format version '$format_version' unsupported, versions 12 or 13 are ok."
exit 1
;;
esac

View File

@ -69,9 +69,6 @@ drop_language() {
mv calamares.desktop.new calamares.desktop
}
drop_language es_ES
drop_language pl_PL
# Also fix the .desktop file, which has some fields removed by Transifex.
#
{ cat calamares.desktop.in ; grep "\\[[a-zA-Z_@]*]=" calamares.desktop ; } > calamares.desktop.new

View File

@ -11,6 +11,7 @@
# Run it with a -v command-line option to get extra output on
# actual translation percentages.
import sys
import os
import argparse
class TXError(Exception):
@ -172,7 +173,6 @@ def get_tx_stats(languages, outputter, verbose):
If @p verbose is True, prints out language stats as well.
"""
suppressed_languages = ( "es_ES", ) # In Transifex, but not used
# Some languages go into the "incomplete" list by definition,
# regardless of their completion status: this can have various reasons.
#
@ -187,8 +187,6 @@ def get_tx_stats(languages, outputter, verbose):
all_langs = []
outputter.print("# Total %d languages" % len(languages))
for lang_name in languages:
if lang_name in suppressed_languages:
continue
stats = languages[lang_name]["translated"]["percentage"]
# Make the by-definition-incomplete languages have a percentage
# lower than zero; this way they end up sorted (in -v output)
@ -205,6 +203,38 @@ def get_tx_stats(languages, outputter, verbose):
output_langs(all_langs, outputter, "ok", lambda s : 0.75 > s >= 0.05)
output_langs(all_langs, outputter, "incomplete", lambda s : 0.05 > s)
# Audit the languages that are in TX, mapped to git
for lang_name in languages:
if not os.path.exists("lang/calamares_{}.ts".format(lang_name)):
print("# !! Missing translation file for {}".format(lang_name))
if not os.path.isdir("lang/python/{}/LC_MESSAGES".format(lang_name)):
print("# !! Missing Python translation file for {}".format(lang_name))
# Audit the files that are in git, mapped to TX
special_cases = ("python.pot", "python", "CMakeLists.txt", "txload.cpp", "calamares_i18n.qrc.in")
for file_name in os.listdir("lang"):
if file_name in special_cases:
continue
elif file_name.startswith("calamares_") and file_name.endswith(".ts"):
key = file_name[10:-3]
if not key in languages and not key == "en":
print("# !! Translation file for {} not in TX".format(key))
elif file_name.startswith("tz_") and file_name.endswith(".ts"):
key = file_name[3:-3]
if not key in languages and not key == "en":
print("# !! Translation file for TZ {} not in TX".format(key))
elif file_name.startswith("kb_") and file_name.endswith(".ts"):
key = file_name[3:-3]
if not key in languages and not key == "en":
print("# !! Translation file for KB {} not in TX".format(key))
else:
print("# !! Weird translation file {} not in TX".format(file_name))
# Audit the python translation files that are in git, mapped to TX
for file_name in os.listdir("lang/python"):
if file_name not in languages:
print("# !! Translation file for Python {} not in TX".format(file_name))
return 0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More