Merge branch 'calamares' of https://github.com/calamares/calamares into development
This commit is contained in:
commit
b272011b21
14
.github/workflows/issues.yml
vendored
14
.github/workflows/issues.yml
vendored
@ -8,20 +8,6 @@ jobs:
|
|||||||
notify:
|
notify:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: "notify: new"
|
|
||||||
if: github.event.issue.state == 'open'
|
|
||||||
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@v4
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.MATRIX_TOKEN }}
|
|
||||||
room: ${{ secrets.MATRIX_ROOM }}
|
|
||||||
message: "CLOSED ${{ github.event.issue.html_url }} by ${{ github.actor }} ${{ github.event.issue.title }}"
|
|
||||||
- name: "remove in-progress label"
|
- name: "remove in-progress label"
|
||||||
if: github.event.issue.state != 'open'
|
if: github.event.issue.state != 'open'
|
||||||
run: |
|
run: |
|
||||||
|
16
.github/workflows/nightly-debian.yml
vendored
16
.github/workflows/nightly-debian.yml
vendored
@ -68,19 +68,3 @@ jobs:
|
|||||||
- name: "build"
|
- name: "build"
|
||||||
id: build
|
id: build
|
||||||
uses: calamares/actions/generic-build@v4
|
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 }}
|
|
||||||
|
35
.github/workflows/nightly-neon.sh
vendored
Executable file
35
.github/workflows/nightly-neon.sh
vendored
Executable file
@ -0,0 +1,35 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
#
|
||||||
|
# Install dependencies for the nightly-neon build
|
||||||
|
#
|
||||||
|
apt-get update
|
||||||
|
apt-get -y install git-core jq
|
||||||
|
apt-get -y install \
|
||||||
|
build-essential \
|
||||||
|
cmake \
|
||||||
|
extra-cmake-modules \
|
||||||
|
gettext \
|
||||||
|
kio-dev \
|
||||||
|
libatasmart-dev \
|
||||||
|
libboost-python-dev \
|
||||||
|
libkf5config-dev \
|
||||||
|
libkf5coreaddons-dev \
|
||||||
|
libkf5i18n-dev \
|
||||||
|
libkf5iconthemes-dev \
|
||||||
|
libkf5parts-dev \
|
||||||
|
libkf5service-dev \
|
||||||
|
libkf5solid-dev \
|
||||||
|
libkpmcore-dev \
|
||||||
|
libparted-dev \
|
||||||
|
libpolkit-qt5-1-dev \
|
||||||
|
libqt5svg5-dev \
|
||||||
|
libqt5webkit5-dev \
|
||||||
|
libyaml-cpp-dev \
|
||||||
|
ninja-build \
|
||||||
|
os-prober \
|
||||||
|
pkg-config \
|
||||||
|
python3-dev \
|
||||||
|
qtbase5-dev \
|
||||||
|
qtdeclarative5-dev \
|
||||||
|
qttools5-dev \
|
||||||
|
qttools5-dev-tools
|
22
.github/workflows/nightly-neon.yml
vendored
22
.github/workflows/nightly-neon.yml
vendored
@ -19,29 +19,15 @@ jobs:
|
|||||||
image: docker://kdeneon/plasma:user
|
image: docker://kdeneon/plasma:user
|
||||||
options: --tmpfs /build:rw --user 0:0
|
options: --tmpfs /build:rw --user 0:0
|
||||||
steps:
|
steps:
|
||||||
- name: "prepare env"
|
|
||||||
uses: calamares/actions/prepare-neon@v4
|
|
||||||
- name: "prepare source"
|
- name: "prepare source"
|
||||||
uses: calamares/actions/generic-checkout@v4
|
uses: calamares/actions/generic-checkout@v4
|
||||||
|
- name: "install dependencies"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
./github/workflows/nightly-neon.sh
|
||||||
- name: "build"
|
- name: "build"
|
||||||
id: build
|
id: build
|
||||||
uses: calamares/actions/generic-build@v4
|
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"
|
- name: "Calamares: archive"
|
||||||
working-directory: ${{ env.BUILDDIR }}
|
working-directory: ${{ env.BUILDDIR }}
|
||||||
run: |
|
run: |
|
||||||
|
18
.github/workflows/nightly-opensuse-qt6.sh
vendored
Executable file
18
.github/workflows/nightly-opensuse-qt6.sh
vendored
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
#
|
||||||
|
# Install dependencies for the nightly-opensuse-qt6 build
|
||||||
|
#
|
||||||
|
# Add a Qt6/KF6 repo
|
||||||
|
zypper --non-interactive addrepo -G https://download.opensuse.org/repositories/home:krop:kf6/openSUSE_Tumbleweed/home:krop:kf6.repo
|
||||||
|
zypper --non-interactive refresh
|
||||||
|
zypper --non-interactive up
|
||||||
|
zypper --non-interactive in git-core jq curl
|
||||||
|
# From deploycala.py
|
||||||
|
zypper --non-interactive in bison flex git make cmake gcc-c++
|
||||||
|
zypper --non-interactive in yaml-cpp-devel libpwquality-devel parted-devel python-devel libboost_headers-devel libboost_python3-devel
|
||||||
|
zypper --non-interactive in libicu-devel libatasmart-devel
|
||||||
|
# Qt6/KF6 dependencies
|
||||||
|
zypper --non-interactive in qt6-concurrent-devel qt6-gui-devel qt6-linguist-devel qt6-network-devel qt6-svg-devel qt6-declarative-devel
|
||||||
|
zypper --non-interactive in kf6-kcoreaddons-devel kf6-kdbusaddons-devel kf6-kcrash-devel
|
||||||
|
zypper --non-interactive in kf6-kparts-devel # Also installs KF5 things
|
||||||
|
zypper --non-interactive in libpolkit-qt6-1-devel
|
31
.github/workflows/nightly-opensuse-qt6.yml
vendored
Normal file
31
.github/workflows/nightly-opensuse-qt6.yml
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
name: nightly-opensuse-qt6
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "32 2 * * *"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
BUILDDIR: /build
|
||||||
|
SRCDIR: ${{ github.workspace }}
|
||||||
|
CMAKE_ARGS: |
|
||||||
|
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON
|
||||||
|
-DCMAKE_BUILD_TYPE=Debug
|
||||||
|
-DWITH_QT6=ON
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: docker://opensuse/tumbleweed
|
||||||
|
options: --tmpfs /build:rw --user 0:0
|
||||||
|
steps:
|
||||||
|
- name: "prepare source"
|
||||||
|
uses: calamares/actions/generic-checkout@v4
|
||||||
|
- name: "install dependencies"
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
./github/workflows/nightly-opensuse-qt6.sh
|
||||||
|
- name: "build"
|
||||||
|
id: build
|
||||||
|
uses: calamares/actions/generic-build@v4
|
2
3rdparty/kdsingleapplication/CMakeLists.txt
vendored
2
3rdparty/kdsingleapplication/CMakeLists.txt
vendored
@ -23,4 +23,4 @@ target_include_directories(
|
|||||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(kdsingleapplication Qt5::Core Qt5::Network)
|
target_link_libraries(kdsingleapplication ${qtname}::Core ${qtname}::Network)
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
include(CMakeFindDependencyMacro)
|
|
||||||
|
|
||||||
find_dependency(Qt5Widgets REQUIRED)
|
|
||||||
find_dependency(Qt5Network REQUIRED)
|
|
||||||
|
|
||||||
# Add the targets file
|
|
||||||
include("${CMAKE_CURRENT_LIST_DIR}/KDSingleApplicationTargets.cmake")
|
|
39
CHANGES-3.3
39
CHANGES-3.3
@ -7,22 +7,59 @@ contributors are listed. Note that Calamares does not have a historical
|
|||||||
changelog -- this log starts with version 3.3.0. See CHANGES-3.2 for
|
changelog -- this log starts with version 3.3.0. See CHANGES-3.2 for
|
||||||
the history of the 3.2 series (2018-05 - 2022-08).
|
the history of the 3.2 series (2018-05 - 2022-08).
|
||||||
|
|
||||||
|
# 3.3.0 (unreleased)
|
||||||
|
|
||||||
# 3.3.0-alpha3 (unreleased)
|
The very first we-will-call-it-3.3 release! One of the big changes is that
|
||||||
|
Calamares -- the core and nearly all of the modules in this repository --
|
||||||
|
are compatible with Qt6. This means that a Qt6-based distribution can use
|
||||||
|
Calamares without including another version of Qt. Note that some KDE
|
||||||
|
Frameworks are required as well, and those need to be Qt6-based as well.
|
||||||
|
|
||||||
|
This release contains contributions from (alphabetically by first name):
|
||||||
|
- Adriaan de Groot
|
||||||
|
- Anke Boersma
|
||||||
|
- Hector Martin
|
||||||
|
- Ivan Borzenkov
|
||||||
|
|
||||||
|
## Core ##
|
||||||
|
|
||||||
|
## Modules ##
|
||||||
|
- *keyboard* module can now be explicitly configured to use X11 keyboard
|
||||||
|
settings or the FreeDesktop locale1 DBus service. The latter is most
|
||||||
|
useful for Calamares as an "initial setup" system, not an installer,
|
||||||
|
in a Wayland session. (thanks Hector)
|
||||||
|
- *keyboard* module now writes X11 layout configuration with variants
|
||||||
|
for all non-ASCII (e.g. us) layouts. (thanks Ivan)
|
||||||
|
- *keyboard* module now can configure keyboard switch. (thanks Ivan)
|
||||||
|
|
||||||
|
|
||||||
|
# 3.3.0-alpha3 (2023-08-28)
|
||||||
|
|
||||||
This release contains contributions from (alphabetically by first name):
|
This release contains contributions from (alphabetically by first name):
|
||||||
- Adriaan de Groot
|
- Adriaan de Groot
|
||||||
- Aleksey Samoilov
|
- Aleksey Samoilov
|
||||||
- Anke Boersma
|
- Anke Boersma
|
||||||
|
- Arjen Balfoort
|
||||||
|
- Boria138
|
||||||
|
- Brian Morison
|
||||||
- Emir Sari
|
- Emir Sari
|
||||||
|
- Evan Goode
|
||||||
- Evan James
|
- Evan James
|
||||||
|
- Ficelloo
|
||||||
|
- Hector Martin
|
||||||
- Jeremy Attall
|
- Jeremy Attall
|
||||||
- Johannes Kamprad
|
- Johannes Kamprad
|
||||||
|
- Kasta Hashemi
|
||||||
|
- Kevin Kofler
|
||||||
- Mario Haustein
|
- Mario Haustein
|
||||||
- Masato TOYOSHIMA
|
- Masato TOYOSHIMA
|
||||||
|
- Panda
|
||||||
- Paolo Dongilli
|
- Paolo Dongilli
|
||||||
- Peter Jung
|
- Peter Jung
|
||||||
|
- Philip Müller
|
||||||
- Shivanand
|
- Shivanand
|
||||||
|
- Sławomir Lach
|
||||||
|
- Sunderland93
|
||||||
- wiz64
|
- wiz64
|
||||||
|
|
||||||
## Core ##
|
## Core ##
|
||||||
|
137
CMakeLists.txt
137
CMakeLists.txt
@ -19,31 +19,34 @@
|
|||||||
#
|
#
|
||||||
# SKIP_MODULES : a space or semicolon-separated list of directory names
|
# SKIP_MODULES : a space or semicolon-separated list of directory names
|
||||||
# under src/modules that should not be built.
|
# under src/modules that should not be built.
|
||||||
# USE_<foo> : fills in SKIP_MODULES for modules called <foo>-<something>
|
# USE_<foo> : fills in SKIP_MODULES for modules called <foo>-<something>.
|
||||||
# WITH_<foo> : try to enable <foo> (these usually default to ON). For
|
# WITH_<foo> : try to enable <foo> (these usually default to ON). For
|
||||||
# a list of WITH_<foo> grep CMakeCache.txt after running
|
# a list of WITH_<foo> grep CMakeCache.txt after running
|
||||||
# CMake once. These affect the ABI offered by Calamares.
|
# CMake once. These affect the ABI offered by Calamares.
|
||||||
# - PYTHON (enable Python Job modules)
|
# - PYTHON (enable Python Job modules)
|
||||||
# - QML (enable QML UI View modules)
|
# - QML (enable QML UI View modules)
|
||||||
|
# - QT6 (use Qt6 rather than Qt5, default to OFF)
|
||||||
# The WITH_* options affect the ABI of Calamares: you must
|
# The WITH_* options affect the ABI of Calamares: you must
|
||||||
# build (C++) modules for Calamares with the same WITH_*
|
# build (C++) modules for Calamares with the same WITH_*
|
||||||
# settings, or they may not load at all.
|
# settings, or they may not load at all.
|
||||||
# BUILD_<foo> : choose additional things to build
|
# BUILD_<foo> : choose additional things to build
|
||||||
# - TESTING (standard CMake option)
|
# - APPDATA (use AppData in packagechooser, requires QtXml)
|
||||||
|
# - APPSTREAM (use AppStream in packagechooser, requires libappstream-qt)
|
||||||
|
# - BUILD_CRASH_REPORTING (uses KCrash, rather than Calamares internal, for crash reporting)
|
||||||
# - SCHEMA_TESTING (requires Python, see ci/configvalidator.py)
|
# - SCHEMA_TESTING (requires Python, see ci/configvalidator.py)
|
||||||
# - KF5Crash (uses KCrash, rather than Calamares internal, for crash reporting)
|
# - TESTING (standard CMake option)
|
||||||
# DEBUG_<foo> : special developer flags for debugging
|
# DEBUG_<foo> : special developer flags for debugging.
|
||||||
#
|
#
|
||||||
# Example usage:
|
# Example usage:
|
||||||
#
|
#
|
||||||
# cmake . -DSKIP_MODULES="partition luksbootkeycfg"
|
# cmake . -DSKIP_MODULES="partition luksbootkeycfg"
|
||||||
#
|
#
|
||||||
# One special target is "show-version", which can be built
|
# To obtain the version number of calamares, run CMake in script mode, e.g.
|
||||||
# to obtain the version number from here.
|
# cmake -P CMakeLists.txt
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
|
||||||
|
|
||||||
set(CALAMARES_VERSION 3.3.0-alpha3)
|
set(CALAMARES_VERSION 3.3.0)
|
||||||
set(CALAMARES_RELEASE_MODE OFF) # Set to ON during a release
|
set(CALAMARES_RELEASE_MODE OFF) # Set to ON during a release
|
||||||
|
|
||||||
if(CMAKE_SCRIPT_MODE_FILE)
|
if(CMAKE_SCRIPT_MODE_FILE)
|
||||||
@ -79,11 +82,12 @@ option(INSTALL_COMPLETION "Install shell completions" OFF)
|
|||||||
# also update libcalamares/CalamaresConfig.h.in
|
# also update libcalamares/CalamaresConfig.h.in
|
||||||
option(WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON)
|
option(WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON)
|
||||||
option(WITH_QML "Enable QML UI options." ON)
|
option(WITH_QML "Enable QML UI options." ON)
|
||||||
|
option(WITH_QT6 "Use Qt6 instead of Qt5" OFF)
|
||||||
#
|
#
|
||||||
# Additional parts to build that do not affect ABI
|
# Additional parts to build that do not affect ABI
|
||||||
option(BUILD_SCHEMA_TESTING "Enable schema-validation-tests" ON)
|
option(BUILD_SCHEMA_TESTING "Enable schema-validation-tests" ON)
|
||||||
# Options for the calamares executable
|
# Options for the calamares executable
|
||||||
option(BUILD_KF5Crash "Enable crash reporting with KCrash." ON)
|
option(BUILD_CRASH_REPORTING "Enable crash reporting with KCrash." ON)
|
||||||
|
|
||||||
# Possible debugging flags are:
|
# Possible debugging flags are:
|
||||||
# - DEBUG_TIMEZONES draws latitude and longitude lines on the timezone
|
# - DEBUG_TIMEZONES draws latitude and longitude lines on the timezone
|
||||||
@ -161,11 +165,29 @@ set( _tx_incomplete eo es_PR gu ie ja-Hira kk kn lo lv mk ne_NP
|
|||||||
### Required versions
|
### Required versions
|
||||||
#
|
#
|
||||||
# See DEPENDENCIES section below.
|
# See DEPENDENCIES section below.
|
||||||
set(QT_VERSION 5.15.0)
|
if(WITH_QT6)
|
||||||
set(YAMLCPP_VERSION 0.5.1)
|
message(STATUS "Building Calamares with Qt6")
|
||||||
set(ECM_VERSION 5.58)
|
set(qtname "Qt6")
|
||||||
set(PYTHONLIBS_VERSION 3.6)
|
set(kfname "KF6")
|
||||||
|
set(QT_VERSION 6.5.0)
|
||||||
|
set(ECM_VERSION 5.240)
|
||||||
|
set(KF_VERSION 5.240) # KDE Neon weirdness
|
||||||
|
# API that was deprecated before Qt 5.15 causes a compile error
|
||||||
|
add_compile_definitions(QT_DISABLE_DEPRECATED_BEFORE=0x060400)
|
||||||
|
else()
|
||||||
|
message(STATUS "Building Calamares with Qt5")
|
||||||
|
set(qtname "Qt5")
|
||||||
|
set(kfname "KF5")
|
||||||
|
set(QT_VERSION 5.15.0)
|
||||||
|
set(ECM_VERSION 5.78)
|
||||||
|
set(KF_VERSION 5.78)
|
||||||
|
# API that was deprecated before Qt 5.15 causes a compile error
|
||||||
|
add_compile_definitions(QT_DISABLE_DEPRECATED_BEFORE=0x050f00)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(BOOSTPYTHON_VERSION 1.72.0)
|
set(BOOSTPYTHON_VERSION 1.72.0)
|
||||||
|
set(PYTHONLIBS_VERSION 3.6)
|
||||||
|
set(YAMLCPP_VERSION 0.5.1)
|
||||||
|
|
||||||
### CMAKE SETUP
|
### CMAKE SETUP
|
||||||
#
|
#
|
||||||
@ -287,62 +309,93 @@ if(CMAKE_COMPILER_IS_GNUCXX)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# API that was deprecated before Qt 5.15 causes a compile error
|
|
||||||
add_compile_definitions(QT_DISABLE_DEPRECATED_BEFORE=0x050f00)
|
|
||||||
|
|
||||||
### DEPENDENCIES
|
### DEPENDENCIES
|
||||||
#
|
#
|
||||||
find_package(Qt5 ${QT_VERSION} CONFIG REQUIRED Concurrent Core Gui LinguistTools Network Svg Widgets)
|
find_package(${qtname} ${QT_VERSION} CONFIG REQUIRED Concurrent Core DBus Gui LinguistTools Network Svg Widgets)
|
||||||
if(WITH_QML)
|
if(WITH_QML)
|
||||||
find_package(Qt5 ${QT_VERSION} CONFIG REQUIRED Quick QuickWidgets)
|
find_package(${qtname} ${QT_VERSION} CONFIG REQUIRED Quick QuickWidgets)
|
||||||
endif()
|
endif()
|
||||||
# Optional Qt parts
|
# Note that some modules need more Qt modules, optionally.
|
||||||
find_package(Qt5DBus CONFIG)
|
|
||||||
|
|
||||||
find_package(YAMLCPP ${YAMLCPP_VERSION} REQUIRED)
|
find_package(YAMLCPP ${YAMLCPP_VERSION})
|
||||||
|
set_package_properties(
|
||||||
|
YAMLCPP
|
||||||
|
PROPERTIES
|
||||||
|
TYPE REQUIRED
|
||||||
|
DESCRIPTION "YAML parser for C++"
|
||||||
|
PURPOSE "Parsing of configuration files"
|
||||||
|
)
|
||||||
|
|
||||||
|
find_package(Polkit${qtname}-1)
|
||||||
if(INSTALL_POLKIT)
|
if(INSTALL_POLKIT)
|
||||||
find_package(PolkitQt5-1 REQUIRED)
|
set_package_properties(
|
||||||
else()
|
Polkit${qtname}-1
|
||||||
# Find it anyway, for dependencies-reporting
|
PROPERTIES
|
||||||
find_package(PolkitQt5-1)
|
TYPE REQUIRED
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
set_package_properties(
|
set_package_properties(
|
||||||
PolkitQt5-1
|
Polkit${qtname}-1
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
DESCRIPTION "Qt5 support for Polkit"
|
DESCRIPTION "${qtname} support for Polkit"
|
||||||
URL "https://cgit.kde.org/polkit-qt-1.git"
|
URL "https://cgit.kde.org/polkit-qt-1.git"
|
||||||
PURPOSE "PolkitQt5-1 helps with installing Polkit configuration"
|
PURPOSE "Polkit${qtname}-1 helps with installing Polkit configuration"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Find ECM once, and add it to the module search path; Calamares
|
# Find ECM once, and add it to the module search path; Calamares
|
||||||
# modules that need ECM can do
|
# modules that need ECM can do
|
||||||
# find_package(ECM ${ECM_VERSION} REQUIRED NO_MODULE),
|
# if(ECM_FOUND)
|
||||||
# no need to mess with the module path after.
|
# no need to mess with the module path after.
|
||||||
find_package(ECM ${ECM_VERSION} NO_MODULE)
|
find_package(ECM ${ECM_VERSION} NO_MODULE)
|
||||||
if(ECM_FOUND)
|
if(ECM_FOUND)
|
||||||
|
message(STATUS "Found KDE ECM ${ECM_MODULE_PATH}")
|
||||||
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH})
|
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH})
|
||||||
if(BUILD_TESTING)
|
if(BUILD_TESTING)
|
||||||
# ECM implies that we can build the tests, too
|
# ECM implies that we can build the tests, too
|
||||||
find_package(Qt5 COMPONENTS Test REQUIRED)
|
find_package(${qtname} COMPONENTS Test REQUIRED)
|
||||||
include(ECMAddTests)
|
include(ECMAddTests)
|
||||||
endif()
|
endif()
|
||||||
include(KDEInstallDirs)
|
include(KDEInstallDirs)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(KF5 ${ECM_VERSION} QUIET COMPONENTS CoreAddons Crash)
|
find_package(${kfname}CoreAddons ${KF_VERSION} QUIET)
|
||||||
set_package_properties(
|
set_package_properties(
|
||||||
KF5::CoreAddons
|
${kfname}CoreAddons
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
TYPE REQUIRED
|
TYPE REQUIRED
|
||||||
DESCRIPTION "Classes built on QtCore for About Data"
|
DESCRIPTION "KDE Framework CoreAddons"
|
||||||
URL "https://api.kde.org/frameworks/kcoreaddons/"
|
URL "https://api.kde.org/frameworks/"
|
||||||
PURPOSE "About Calamares"
|
PURPOSE "Essential Framework for AboutData and Macros"
|
||||||
)
|
)
|
||||||
if(NOT KF5Crash_FOUND)
|
|
||||||
if(BUILD_KF5Crash)
|
# After this point, there should be no REQUIRED find_packages,
|
||||||
message(WARNING "BUILD_KF5Crash is set, but KF5::Crash is not available.")
|
# since we want tidy reporting of optional dependencies.
|
||||||
|
feature_summary(
|
||||||
|
WHAT REQUIRED_PACKAGES_NOT_FOUND
|
||||||
|
FATAL_ON_MISSING_REQUIRED_PACKAGES
|
||||||
|
DESCRIPTION "The following REQUIRED packages were not found:"
|
||||||
|
QUIET_ON_EMPTY
|
||||||
|
)
|
||||||
|
|
||||||
|
#
|
||||||
|
# OPTIONAL DEPENDENCIES
|
||||||
|
#
|
||||||
|
# First, set KF back to optional so that any missing components don't trip us up.
|
||||||
|
find_package(${kfname}Crash ${KF_VERSION} QUIET)
|
||||||
|
set_package_properties(
|
||||||
|
${kfname}Crash
|
||||||
|
PROPERTIES
|
||||||
|
TYPE OPTIONAL
|
||||||
|
DESCRIPTION "KDE Framework Crash"
|
||||||
|
URL "https://api.kde.org/frameworks/"
|
||||||
|
PURPOSE "Framework for sending Crash Dumps"
|
||||||
|
)
|
||||||
|
|
||||||
|
if(NOT TARGET ${kfname}::Crash)
|
||||||
|
if(BUILD_CRASH_REPORTING)
|
||||||
|
message(WARNING "BUILD_CRASH_REPORTING is set, but ${kfname}::Crash is not available.")
|
||||||
endif()
|
endif()
|
||||||
set(BUILD_KF5Crash OFF)
|
set(BUILD_CRASH_REPORTING OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(Python ${PYTHONLIBS_VERSION} COMPONENTS Interpreter Development)
|
find_package(Python ${PYTHONLIBS_VERSION} COMPONENTS Interpreter Development)
|
||||||
@ -410,6 +463,7 @@ endif()
|
|||||||
# when building out-of-tree.
|
# when building out-of-tree.
|
||||||
set(Calamares_WITH_PYTHON ${WITH_PYTHON})
|
set(Calamares_WITH_PYTHON ${WITH_PYTHON})
|
||||||
set(Calamares_WITH_QML ${WITH_QML})
|
set(Calamares_WITH_QML ${WITH_QML})
|
||||||
|
set(Calamares_WITH_QT6 ${WITH_QT6})
|
||||||
|
|
||||||
### Transifex Translation status
|
### Transifex Translation status
|
||||||
#
|
#
|
||||||
@ -542,7 +596,12 @@ add_subdirectory(src)
|
|||||||
add_feature_info(Python ${WITH_PYTHON} "Python job modules")
|
add_feature_info(Python ${WITH_PYTHON} "Python job modules")
|
||||||
add_feature_info(Qml ${WITH_QML} "QML UI support")
|
add_feature_info(Qml ${WITH_QML} "QML UI support")
|
||||||
add_feature_info(Polkit ${INSTALL_POLKIT} "Install Polkit files")
|
add_feature_info(Polkit ${INSTALL_POLKIT} "Install Polkit files")
|
||||||
add_feature_info(KCrash ${BUILD_KF5Crash} "Crash dumps via KCrash")
|
add_feature_info(KCrash ${BUILD_CRASH_REPORTING} "Crash dumps via KCrash")
|
||||||
|
|
||||||
|
### Post-source configuration
|
||||||
|
#
|
||||||
|
#
|
||||||
|
find_package(${kfname} ${KF_VERSION} QUIET COMPONENTS CoreAddons)
|
||||||
|
|
||||||
### CMake infrastructure installation
|
### CMake infrastructure installation
|
||||||
#
|
#
|
||||||
|
@ -101,7 +101,7 @@ function( calamares_add_branding_translations NAME )
|
|||||||
|
|
||||||
file( GLOB BRANDING_TRANSLATION_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${SUBDIRECTORY}/lang/calamares-${NAME}_*.ts" )
|
file( GLOB BRANDING_TRANSLATION_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${SUBDIRECTORY}/lang/calamares-${NAME}_*.ts" )
|
||||||
if ( BRANDING_TRANSLATION_FILES )
|
if ( BRANDING_TRANSLATION_FILES )
|
||||||
qt5_add_translation( QM_FILES ${BRANDING_TRANSLATION_FILES} )
|
qt_add_translation( QM_FILES ${BRANDING_TRANSLATION_FILES} )
|
||||||
add_custom_target( branding-translation-${NAME} ALL DEPENDS ${QM_FILES}
|
add_custom_target( branding-translation-${NAME} ALL DEPENDS ${QM_FILES}
|
||||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${SUBDIRECTORY}/lang/
|
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${SUBDIRECTORY}/lang/
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy ${QM_FILES} ${CMAKE_CURRENT_BINARY_DIR}/${SUBDIRECTORY}/lang/
|
COMMAND ${CMAKE_COMMAND} -E copy ${QM_FILES} ${CMAKE_CURRENT_BINARY_DIR}/${SUBDIRECTORY}/lang/
|
||||||
|
@ -86,9 +86,9 @@ function(calamares_add_library)
|
|||||||
# add link targets
|
# add link targets
|
||||||
target_link_libraries(${target}
|
target_link_libraries(${target}
|
||||||
LINK_PUBLIC ${Calamares_LIBRARIES}
|
LINK_PUBLIC ${Calamares_LIBRARIES}
|
||||||
Qt5::Core
|
${qtname}::Core
|
||||||
Qt5::Gui
|
${qtname}::Gui
|
||||||
Qt5::Widgets
|
${qtname}::Widgets
|
||||||
)
|
)
|
||||||
if(LIBRARY_LINK_LIBRARIES)
|
if(LIBRARY_LINK_LIBRARIES)
|
||||||
target_link_libraries(${target} LINK_PUBLIC ${LIBRARY_LINK_LIBRARIES})
|
target_link_libraries(${target} LINK_PUBLIC ${LIBRARY_LINK_LIBRARIES})
|
||||||
|
@ -36,8 +36,8 @@ function(calamares_add_test name)
|
|||||||
LINK_LIBRARIES
|
LINK_LIBRARIES
|
||||||
Calamares::calamares
|
Calamares::calamares
|
||||||
${TEST_LIBRARIES}
|
${TEST_LIBRARIES}
|
||||||
Qt5::Core
|
${qtname}::Core
|
||||||
Qt5::Test
|
${qtname}::Test
|
||||||
)
|
)
|
||||||
calamares_automoc( ${TEST_NAME} )
|
calamares_automoc( ${TEST_NAME} )
|
||||||
# We specifically pass in the source directory of the test-being-
|
# We specifically pass in the source directory of the test-being-
|
||||||
@ -47,7 +47,7 @@ function(calamares_add_test name)
|
|||||||
PRIVATE -DBUILD_AS_TEST="${CMAKE_CURRENT_SOURCE_DIR}" ${TEST_DEFINITIONS}
|
PRIVATE -DBUILD_AS_TEST="${CMAKE_CURRENT_SOURCE_DIR}" ${TEST_DEFINITIONS}
|
||||||
)
|
)
|
||||||
if(TEST_GUI)
|
if(TEST_GUI)
|
||||||
target_link_libraries(${TEST_NAME} Calamares::calamaresui Qt5::Gui)
|
target_link_libraries(${TEST_NAME} Calamares::calamaresui ${qtname}::Gui)
|
||||||
endif()
|
endif()
|
||||||
if(TEST_RESOURCES)
|
if(TEST_RESOURCES)
|
||||||
calamares_autorcc( ${TEST_NAME} ${TEST_RESOURCES} )
|
calamares_autorcc( ${TEST_NAME} ${TEST_RESOURCES} )
|
||||||
|
@ -100,3 +100,58 @@ function( install_calamares_gettext_translations )
|
|||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
set(_calamares_qrc_translations_qrc_source ${CMAKE_CURRENT_LIST_DIR}/i18n.qrc.in) # Needs to be set outside of function
|
||||||
|
function(calamares_qrc_translations basename)
|
||||||
|
set(options "")
|
||||||
|
set(oneValueArgs SUBDIRECTORY OUTPUT_VARIABLE)
|
||||||
|
set(multiValueArgs PREFIXES LANGUAGES)
|
||||||
|
cmake_parse_arguments(_qrt "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||||
|
|
||||||
|
if(NOT _qrt_OUTPUT_VARIABLE)
|
||||||
|
message(FATAL_ERROR "No output variable")
|
||||||
|
endif()
|
||||||
|
if(NOT _qrt_PREFIXES)
|
||||||
|
set(_qrt_PREFIXES "${basename}")
|
||||||
|
endif()
|
||||||
|
if(NOT _qrt_LANGUAGES)
|
||||||
|
set(_qrt_LANGUAGES ${CALAMARES_TRANSLATION_LANGUAGES})
|
||||||
|
endif()
|
||||||
|
if(NOT _qrt_SUBDIRECTORY)
|
||||||
|
set(_qrt_SUBDIRECTORY "")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(translations_qrc_infile ${CMAKE_CURRENT_BINARY_DIR}/${basename}.qrc)
|
||||||
|
set(translations_qrc_outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${basename}.cxx)
|
||||||
|
|
||||||
|
# Must use this variable name because of the @ substitution
|
||||||
|
set(calamares_i18n_qrc_content "")
|
||||||
|
set(calamares_i18n_ts_filelist "")
|
||||||
|
foreach(lang ${_qrt_LANGUAGES})
|
||||||
|
foreach(tlsource ${_qrt_PREFIXES})
|
||||||
|
if(EXISTS "${CMAKE_SOURCE_DIR}/{$_qrt_SUBDIRECTORY}/${tlsource}_${lang}.ts")
|
||||||
|
string(APPEND calamares_i18n_qrc_content "<file>${tlsource}_${lang}.qm</file>\n")
|
||||||
|
list(APPEND calamares_i18n_ts_filelist "${CMAKE_SOURCE_DIR}/${_qrt_SUBDIRECTORY}/${tlsource}_${lang}.ts")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
configure_file(${_calamares_qrc_translations_qrc_source} ${translations_qrc_infile} @ONLY)
|
||||||
|
qt_add_translation(QM_FILES ${calamares_i18n_ts_filelist})
|
||||||
|
|
||||||
|
# Run the resource compiler (rcc_options should already be set)
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT ${translations_qrc_outfile}
|
||||||
|
COMMAND ${qtname}::rcc
|
||||||
|
ARGS
|
||||||
|
${rcc_options}
|
||||||
|
--format-version 1
|
||||||
|
-name ${basename}
|
||||||
|
-o ${translations_qrc_outfile}
|
||||||
|
${translations_qrc_infile}
|
||||||
|
MAIN_DEPENDENCY ${translations_qrc_infile}
|
||||||
|
DEPENDS ${QM_FILES}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(${_qrt_OUTPUT_VARIABLE} ${translations_qrc_outfile} PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
@ -11,6 +11,12 @@
|
|||||||
# library, which will add definition WITHOUT_KPMcore.
|
# library, which will add definition WITHOUT_KPMcore.
|
||||||
#
|
#
|
||||||
if(NOT TARGET calapmcore)
|
if(NOT TARGET calapmcore)
|
||||||
|
find_package(${kfname}Config CONFIG)
|
||||||
|
find_package(${kfname}I18n CONFIG)
|
||||||
|
find_package(${kfname}WidgetsAddons CONFIG)
|
||||||
|
|
||||||
|
if(NOT WITH_QT6)
|
||||||
|
# TODO: Qt6 how to detect the version of Qt that KPMCore needs?
|
||||||
find_package(KPMcore 20.04.0)
|
find_package(KPMcore 20.04.0)
|
||||||
set_package_properties(
|
set_package_properties(
|
||||||
KPMcore
|
KPMcore
|
||||||
@ -20,6 +26,7 @@ if(NOT TARGET calapmcore)
|
|||||||
TYPE RECOMMENDED
|
TYPE RECOMMENDED
|
||||||
PURPOSE "For disk partitioning support"
|
PURPOSE "For disk partitioning support"
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Create an internal Calamares interface to KPMcore
|
# Create an internal Calamares interface to KPMcore
|
||||||
# and give it a nice alias name. If kpmcore is not found,
|
# and give it a nice alias name. If kpmcore is not found,
|
||||||
@ -27,10 +34,10 @@ if(NOT TARGET calapmcore)
|
|||||||
add_library(calapmcore INTERFACE)
|
add_library(calapmcore INTERFACE)
|
||||||
|
|
||||||
if(KPMcore_FOUND)
|
if(KPMcore_FOUND)
|
||||||
find_package(Qt5 REQUIRED DBus) # Needed for KPMCore
|
find_package(${qtname} REQUIRED DBus) # Needed for KPMCore
|
||||||
find_package(KF5 REQUIRED I18n WidgetsAddons) # Needed for KPMCore
|
find_package(${kfname} REQUIRED I18n WidgetsAddons) # Needed for KPMCore
|
||||||
|
|
||||||
target_link_libraries(calapmcore INTERFACE kpmcore Qt5::DBus KF5::I18n KF5::WidgetsAddons)
|
target_link_libraries(calapmcore INTERFACE kpmcore ${qtname}::DBus ${kfname}::I18n ${kfname}::WidgetsAddons)
|
||||||
target_include_directories(calapmcore INTERFACE ${KPMCORE_INCLUDE_DIR})
|
target_include_directories(calapmcore INTERFACE ${KPMCORE_INCLUDE_DIR})
|
||||||
# If there were KPMcore API variations, figure them out here
|
# If there were KPMcore API variations, figure them out here
|
||||||
# target_compile_definitions(calapmcore INTERFACE WITH_KPMcore)
|
# target_compile_definitions(calapmcore INTERFACE WITH_KPMcore)
|
||||||
|
@ -28,18 +28,15 @@ rules of decent behavior in both communities are pretty much the same).
|
|||||||
|
|
||||||
GitHub Issues are **one** place for discussing Calamares if there are concrete
|
GitHub Issues are **one** place for discussing Calamares if there are concrete
|
||||||
problems or a new feature to discuss.
|
problems or a new feature to discuss.
|
||||||
|
Issues are not a help channel.
|
||||||
|
Visit Matrix for help with configuration or compilation.
|
||||||
|
|
||||||
Regular Calamares development chit-chat happens in a [Matrix](https://matrix.org/)
|
Regular Calamares development chit-chat happens in a [Matrix](https://matrix.org/)
|
||||||
room, `#calamares:kde.org`. The conversation is bridged with IRC
|
room, `#calamares:kde.org`. Responsiveness is best during the day
|
||||||
on [Libera.Chat](https://libera.chat/).
|
in Europe, but feel free to idle.
|
||||||
Responsiveness is best during the day
|
|
||||||
in Europe, but feel free to idle. If you use IRC, **DO NOT** ask-and-leave. Keep
|
|
||||||
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.
|
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)
|
* [![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)
|
|
||||||
|
|
||||||
|
|
||||||
## General Guidelines
|
## General Guidelines
|
||||||
@ -57,7 +54,7 @@ stay that way.
|
|||||||
|
|
||||||
If you are writing documentation, use *en_US* spelling.
|
If you are writing documentation, use *en_US* spelling.
|
||||||
|
|
||||||
If you are doing cool stuff, let us know (on IRC or through issues).
|
If you are doing cool stuff, let us know (on Matrix or through issues).
|
||||||
|
|
||||||
**Do** fork Calamares to try new things, **don't** keep your fork to
|
**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
|
yourself, **do** upstream things as much as you can. When you make cool
|
||||||
@ -74,6 +71,32 @@ Up to date
|
|||||||
[building-Calamares](https://github.com/calamares/calamares/wiki/Develop-Guide)
|
[building-Calamares](https://github.com/calamares/calamares/wiki/Develop-Guide)
|
||||||
instructions are on the wiki.
|
instructions are on the wiki.
|
||||||
|
|
||||||
|
### Simple Build in Docker
|
||||||
|
|
||||||
|
You may have success with the Docker images that the CI system uses.
|
||||||
|
Pick one (or both):
|
||||||
|
- `docker pull docker://opensuse/tumbleweed`
|
||||||
|
- `docker pull kdeneon/plasma:user`
|
||||||
|
|
||||||
|
Then start a container with the right image, from the root of Calamares
|
||||||
|
source checkout. Pick one:
|
||||||
|
- `docker run -ti --tmpfs /build:rw --user 0:0 -v .:/src opensuse/tumbleweed `
|
||||||
|
- `docker run -ti --tmpfs /build:rw --user 0:0 -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=:0 -v .:/src kdeneon/plasma:user bash`
|
||||||
|
This starts a container with the chosen image (openSUSE Tumbleweed or KDE neon,
|
||||||
|
here) with a temporary build directory in `/build` and the Calamares
|
||||||
|
sources mounted as `/src`. KDE neon needs some extra settings to avoid
|
||||||
|
starting a complete desktop.
|
||||||
|
|
||||||
|
Run the script to install dependencies: you could use `deploycala.py`
|
||||||
|
or one of the shell scripts in `.github/workflows` to install the right
|
||||||
|
dependencies for the image.
|
||||||
|
- `cd /src`
|
||||||
|
- `./.github/workflows/nightly-opensuse-qt6.sh`
|
||||||
|
|
||||||
|
Then run CMake (add any CMake options you like at the end) and ninja:
|
||||||
|
- `cmake -S /src -B /build -G Ninja`
|
||||||
|
- `ninja -C /build`
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
|
|
||||||
Main:
|
Main:
|
||||||
@ -81,11 +104,11 @@ Main:
|
|||||||
* CMake >= 3.16
|
* CMake >= 3.16
|
||||||
* Qt >= 5.15
|
* Qt >= 5.15
|
||||||
* yaml-cpp >= 0.5.1
|
* yaml-cpp >= 0.5.1
|
||||||
|
* KDE Frameworks KCoreAddons >= 5.78
|
||||||
* Python >= 3.6 (required for some modules)
|
* Python >= 3.6 (required for some modules)
|
||||||
* Boost.Python >= 1.67.0 (required for some modules)
|
* Boost.Python >= 1.72.0 (required for some modules)
|
||||||
* KDE extra-cmake-modules >= 5.18 (recommended; required for some modules;
|
* KDE extra-cmake-modules >= 5.78 (recommended; required for some modules;
|
||||||
required for some tests)
|
required for some tests)
|
||||||
* KDE Frameworks KCoreAddons (>= 5.58 recommended)
|
|
||||||
|
|
||||||
Individual modules may have their own requirements;
|
Individual modules may have their own requirements;
|
||||||
these are listed in CMake output.
|
these are listed in CMake output.
|
||||||
|
@ -46,20 +46,27 @@ macro(accumulate_deps outvar target namespace)
|
|||||||
endforeach()
|
endforeach()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
# Qt5 infrastructure for translations is required
|
set(Calamares_WITH_QT6 @WITH_QT6@)
|
||||||
set(qt5_required Core Widgets LinguistTools)
|
if(Calamares_WITH_QT6)
|
||||||
accumulate_deps(qt5_required Calamares::calamares Qt5::)
|
set(qtname "Qt6")
|
||||||
accumulate_deps(qt5_required Calamares::calamaresui Qt5::)
|
else()
|
||||||
find_package(Qt5 CONFIG REQUIRED ${qt5_required})
|
set(qtname "Qt5")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Qt infrastructure for translations is required
|
||||||
|
set(qt_required Core Widgets LinguistTools)
|
||||||
|
accumulate_deps(qt_required Calamares::calamares ${qtname}::)
|
||||||
|
accumulate_deps(qt_required Calamares::calamaresui ${qtname}::)
|
||||||
|
find_package(${qtname} CONFIG REQUIRED ${qt_required})
|
||||||
|
|
||||||
set(kf5_required "")
|
set(kf5_required "")
|
||||||
accumulate_deps(kf5_required Calamares::calamares KF5::)
|
accumulate_deps(kf5_required Calamares::calamares ${kfname}::)
|
||||||
accumulate_deps(kf5_required Calamares::calamaresui KF5::)
|
accumulate_deps(kf5_required Calamares::calamaresui ${kfname}::)
|
||||||
if(kf5_required)
|
if(kf5_required)
|
||||||
find_package(ECM ${ECM_VERSION} NO_MODULE)
|
find_package(ECM ${ECM_VERSION} NO_MODULE)
|
||||||
if( ECM_FOUND )
|
if( ECM_FOUND )
|
||||||
list(INSERT CMAKE_MODULE_PATH 0 ${ECM_MODULE_PATH})
|
list(INSERT CMAKE_MODULE_PATH 0 ${ECM_MODULE_PATH})
|
||||||
find_package(KF5 REQUIRED COMPONENTS ${kf5_required})
|
find_package(${kfname} REQUIRED COMPONENTS ${kf5_required})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
28
README.md
28
README.md
@ -11,22 +11,22 @@
|
|||||||
[![GitHub license](https://img.shields.io/badge/license-Multiple-green)](https://github.com/calamares/calamares/tree/calamares/LICENSES)
|
[![GitHub license](https://img.shields.io/badge/license-Multiple-green)](https://github.com/calamares/calamares/tree/calamares/LICENSES)
|
||||||
|
|
||||||
|
|
||||||
| [Report a Bug](https://github.com/calamares/calamares/issues/new) | [Translate](https://app.transifex.com/calamares/calamares/) | [Contribute](CONTRIBUTING.md) | [Matrix: #calamares:kde.org](https://webchat.kde.org/#/room/%23calamares:kde.org) | [IRC: Libera.Chat #calamares](https://kiwiirc.com/client/irc.libera.chat/#calamares) | [Wiki](https://github.com/calamares/calamares/wiki) |
|
| [Report a Bug](https://github.com/calamares/calamares/issues/new) | [Translate](https://app.transifex.com/calamares/calamares/) | [Contribute](CONTRIBUTING.md) | [Chat on Matrix: #calamares:kde.org](https://webchat.kde.org/#/room/%23calamares:kde.org) | [Wiki](https://github.com/calamares/calamares/wiki) |
|
||||||
|:--:|:--:|:--:|:--:|:--:|:--:|
|
|:--:|:--:|:--:|:--:|:--:|
|
||||||
|
|
||||||
|
|
||||||
> Calamares is a distribution-independent system installer, with an advanced partitioning
|
> Calamares is a distribution-independent system installer, with an advanced partitioning
|
||||||
> feature for both manual and automated partitioning operations. Calamares is designed to
|
> feature for both manual and automated partitioning operations. Calamares is designed to
|
||||||
> be customizable by distribution maintainers without need for cumbersome patching,
|
> be customizable by distribution maintainers without the need for cumbersome patching,
|
||||||
> thanks to third party branding and external modules support.
|
> thanks to third-party branding and external modules support.
|
||||||
|
|
||||||
## Target Audience
|
## Target Audience
|
||||||
|
|
||||||
Calamares is a Linux installer; users who install Linux on a computer will hopefully
|
Calamares is a Linux installer; users who install Linux on a computer will hopefully
|
||||||
use it just **once**, to install their Linux distribution. Calamares is not
|
use it just **once**, to install their Linux distribution. Calamares is not
|
||||||
a "ready to use" application: distributions apply a huge amount of customisation
|
a "ready to use" application: distributions apply a huge amount of customization
|
||||||
and configuration to Calamares, and the target audience for this repository
|
and configuration to Calamares, and the target audience for this repository
|
||||||
is those distributions, and the people who make those Linux distro's.
|
is those distributions, and the people who make those Linux distros.
|
||||||
|
|
||||||
Calamares has some [generic user documentation](https://calamares.io/docs/users-guide/)
|
Calamares has some [generic user documentation](https://calamares.io/docs/users-guide/)
|
||||||
for end-users, but most of what we have is for distro developers.
|
for end-users, but most of what we have is for distro developers.
|
||||||
@ -45,25 +45,23 @@ The dependencies are explained in [CONTRIBUTING.md](CONTRIBUTING.md).
|
|||||||
## Contributing to Calamares
|
## Contributing to Calamares
|
||||||
|
|
||||||
Calamares welcomes PRs. New issues are welcome, too.
|
Calamares welcomes PRs. New issues are welcome, too.
|
||||||
There are both the Calamares **core** repository (this one),
|
There are both the Calamares **core** repository (this one)
|
||||||
and an **extensions** repository ([Calamares extensions](https://github.com/calamares/calamares-extensions)).
|
and an **extensions** repository ([Calamares extensions](https://github.com/calamares/calamares-extensions)).
|
||||||
|
|
||||||
Contributions to code, modules, documentation, the wiki and the website are all welcome.
|
Contributions to code, modules, documentation, the wiki, and the website are all welcome.
|
||||||
There is more information in the [CONTRIBUTING.md](CONTRIBUTING.md) file.
|
There is more information in the [CONTRIBUTING.md](CONTRIBUTING.md) file.
|
||||||
|
|
||||||
## Join the Conversation
|
## Join the Conversation
|
||||||
|
|
||||||
GitHub Issues are **one** place for discussing Calamares if there are concrete
|
GitHub Issues are **one** place for discussing Calamares if there are concrete
|
||||||
problems or a new feature to discuss.
|
problems or a new feature to discuss.
|
||||||
|
Issues are not a help channel.
|
||||||
|
Visit Matrix for help with configuration or compilation.
|
||||||
|
|
||||||
Regular Calamares development chit-chat happens in a [Matrix](https://matrix.org/)
|
Regular Calamares development chit-chat happens in a [Matrix](https://matrix.org/)
|
||||||
room, `#calamares:kde.org`. The conversation is bridged with IRC
|
room, `#calamares:kde.org`. Responsiveness is best during the day
|
||||||
on [Libera.Chat](https://libera.chat/).
|
in Europe, but feel free to idle.
|
||||||
Responsiveness is best during the day
|
|
||||||
in Europe, but feel free to idle. If you use IRC, **DO NOT** ask-and-leave. Keep
|
|
||||||
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.
|
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) (needs a Matrix account)
|
* [![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)
|
|
||||||
|
@ -3,16 +3,14 @@ Type=Application
|
|||||||
Version=1.0
|
Version=1.0
|
||||||
Name=Install System
|
Name=Install System
|
||||||
GenericName=System Installer
|
GenericName=System Installer
|
||||||
Comment=Calamares — System Installer
|
|
||||||
Keywords=calamares;system;installer;
|
Keywords=calamares;system;installer;
|
||||||
TryExec=calamares
|
TryExec=calamares
|
||||||
Exec=sh -c "pkexec calamares"
|
Exec=sh -c "pkexec calamares"
|
||||||
|
Comment=Calamares — System Installer
|
||||||
Categories=Qt;System;
|
|
||||||
Icon=calamares
|
Icon=calamares
|
||||||
Terminal=false
|
Terminal=false
|
||||||
SingleMainWindow=true
|
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
|
Categories=Qt;System;
|
||||||
X-AppStream-Ignore=true
|
X-AppStream-Ignore=true
|
||||||
|
|
||||||
Name[ar]=تثبيت النظام
|
Name[ar]=تثبيت النظام
|
||||||
|
@ -76,7 +76,7 @@ Follow the instructions printed by the release script.
|
|||||||
* Upload tarball and signature.
|
* Upload tarball and signature.
|
||||||
* Publish release article on `calamares.io`.
|
* Publish release article on `calamares.io`.
|
||||||
* Close associated milestone on GitHub if it's entirely done.
|
* Close associated milestone on GitHub if it's entirely done.
|
||||||
* Update topic on #calamares IRC channel.
|
* Update topic on `#calamares:kde.org` Matrix channel.
|
||||||
|
|
||||||
## (4) Post-Release
|
## (4) Post-Release
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ indent=spaces=4
|
|||||||
|
|
||||||
# Brackets
|
# Brackets
|
||||||
style=break
|
style=break
|
||||||
add-brackets
|
add-braces
|
||||||
|
|
||||||
# Spaces
|
# Spaces
|
||||||
pad-paren-in
|
pad-paren-in
|
||||||
|
@ -15,10 +15,10 @@
|
|||||||
|
|
||||||
include(CalamaresAddTranslations)
|
include(CalamaresAddTranslations)
|
||||||
|
|
||||||
find_package(Qt5 COMPONENTS Xml)
|
find_package(${qtname} COMPONENTS Xml)
|
||||||
if(Qt5Xml_FOUND)
|
if(TARGET ${qtname}::Xml)
|
||||||
add_executable(txload txload.cpp)
|
add_executable(txload txload.cpp)
|
||||||
target_link_libraries(txload Qt5::Xml)
|
target_link_libraries(txload ${qtname}::Xml)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install_calamares_gettext_translations(python
|
install_calamares_gettext_translations(python
|
||||||
@ -30,35 +30,9 @@ install_calamares_gettext_translations(python
|
|||||||
### TRANSLATIONS
|
### TRANSLATIONS
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
set(TS_FILES "")
|
calamares_qrc_translations(calamares-i18n
|
||||||
set(calamares_i18n_qrc_content "")
|
OUTPUT_VARIABLE translation_outfile
|
||||||
|
PREFIXES calamares tz kb
|
||||||
# calamares and qt language files
|
|
||||||
foreach(lang ${CALAMARES_TRANSLATION_LANGUAGES})
|
|
||||||
foreach(tlsource "calamares_${lang}" "tz_${lang}" "kb_${lang}")
|
|
||||||
if(EXISTS "${CMAKE_SOURCE_DIR}/lang/${tlsource}.ts")
|
|
||||||
string(APPEND calamares_i18n_qrc_content "<file>${tlsource}.qm</file>\n")
|
|
||||||
list(APPEND TS_FILES "${CMAKE_SOURCE_DIR}/lang/${tlsource}.ts")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
set(trans_file calamares_i18n)
|
|
||||||
set(trans_infile ${CMAKE_CURRENT_BINARY_DIR}/${trans_file}.qrc)
|
|
||||||
set(trans_outfile ${CMAKE_CURRENT_BINARY_DIR}/calamares-i18n.cxx)
|
|
||||||
set(CALAMARES_TRANSLATIONS_SOURCE ${trans_outfile})
|
|
||||||
|
|
||||||
configure_file(${CMAKE_SOURCE_DIR}/lang/calamares_i18n.qrc.in ${trans_infile} @ONLY)
|
|
||||||
|
|
||||||
qt5_add_translation(QM_FILES ${TS_FILES})
|
|
||||||
|
|
||||||
# Run the resource compiler (rcc_options should already be set)
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${trans_outfile}
|
|
||||||
COMMAND "${Qt5Core_RCC_EXECUTABLE}"
|
|
||||||
ARGS ${rcc_options} --format-version 1 -name ${trans_file} -o ${trans_outfile} ${trans_infile}
|
|
||||||
MAIN_DEPENDENCY ${trans_infile}
|
|
||||||
DEPENDS ${QM_FILES}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(calamares-i18n OBJECT ${trans_outfile})
|
add_library(calamares-i18n OBJECT ${translation_outfile})
|
||||||
|
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
1232
lang/calamares_be.ts
1232
lang/calamares_be.ts
File diff suppressed because it is too large
Load Diff
1483
lang/calamares_bg.ts
1483
lang/calamares_bg.ts
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
4478
lang/calamares_bqi.ts
Normal file
4478
lang/calamares_bqi.ts
Normal file
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
@ -84,11 +84,6 @@
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Calamares::DebugWindow</name>
|
<name>Calamares::DebugWindow</name>
|
||||||
<message>
|
|
||||||
<location filename="../src/calamares/DebugWindow.ui" line="18"/>
|
|
||||||
<source>Form</source>
|
|
||||||
<translation>Form</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/calamares/DebugWindow.ui" line="28"/>
|
<location filename="../src/calamares/DebugWindow.ui" line="28"/>
|
||||||
<source>GlobalStorage</source>
|
<source>GlobalStorage</source>
|
||||||
@ -552,11 +547,6 @@ The installer will quit and all changes will be lost.</translation>
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChoicePage</name>
|
<name>ChoicePage</name>
|
||||||
<message>
|
|
||||||
<location filename="../src/modules/partition/gui/ChoicePage.ui" line="18"/>
|
|
||||||
<source>Form</source>
|
|
||||||
<translation>Form</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="138"/>
|
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="138"/>
|
||||||
<source>Select storage de&vice:</source>
|
<source>Select storage de&vice:</source>
|
||||||
@ -922,12 +912,12 @@ The installer will quit and all changes will be lost.</translation>
|
|||||||
<translation>Only letters, numbers, underscore and hyphen are allowed.</translation>
|
<translation>Only letters, numbers, underscore and hyphen are allowed.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/users/Config.cpp" line="584"/>
|
<location filename="../src/modules/users/Config.cpp" line="599"/>
|
||||||
<source>Your passwords do not match!</source>
|
<source>Your passwords do not match!</source>
|
||||||
<translation>Your passwords do not match!</translation>
|
<translation>Your passwords do not match!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/users/Config.cpp" line="598"/>
|
<location filename="../src/modules/users/Config.cpp" line="613"/>
|
||||||
<source>OK!</source>
|
<source>OK!</source>
|
||||||
<translation>OK!</translation>
|
<translation>OK!</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -1464,11 +1454,6 @@ The installer will quit and all changes will be lost.</translation>
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>EncryptWidget</name>
|
<name>EncryptWidget</name>
|
||||||
<message>
|
|
||||||
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="18"/>
|
|
||||||
<source>Form</source>
|
|
||||||
<translation>Form</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="36"/>
|
<location filename="../src/modules/partition/gui/EncryptWidget.ui" line="36"/>
|
||||||
<source>En&crypt system</source>
|
<source>En&crypt system</source>
|
||||||
@ -1574,11 +1559,6 @@ The installer will quit and all changes will be lost.</translation>
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>FinishedPage</name>
|
<name>FinishedPage</name>
|
||||||
<message>
|
|
||||||
<location filename="../src/modules/finished/FinishedPage.ui" line="18"/>
|
|
||||||
<source>Form</source>
|
|
||||||
<translation>Form</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finished/FinishedPage.ui" line="102"/>
|
<location filename="../src/modules/finished/FinishedPage.ui" line="102"/>
|
||||||
<source>&Restart now</source>
|
<source>&Restart now</source>
|
||||||
@ -1929,11 +1909,6 @@ The installer will quit and all changes will be lost.</translation>
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>LicensePage</name>
|
<name>LicensePage</name>
|
||||||
<message>
|
|
||||||
<location filename="../src/modules/license/LicensePage.ui" line="18"/>
|
|
||||||
<source>Form</source>
|
|
||||||
<translation>Form</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/license/LicensePage.ui" line="26"/>
|
<location filename="../src/modules/license/LicensePage.ui" line="26"/>
|
||||||
<source><h1>License Agreement</h1></source>
|
<source><h1>License Agreement</h1></source>
|
||||||
@ -2089,33 +2064,27 @@ The installer will quit and all changes will be lost.</translation>
|
|||||||
<translation>Configuring LUKS key file.</translation>
|
<translation>Configuring LUKS key file.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="235"/>
|
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="254"/>
|
||||||
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="243"/>
|
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="262"/>
|
||||||
<source>No partitions are defined.</source>
|
<source>No partitions are defined.</source>
|
||||||
<translation>No partitions are defined.</translation>
|
<translation>No partitions are defined.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="279"/>
|
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="297"/>
|
||||||
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="286"/>
|
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="304"/>
|
||||||
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="300"/>
|
|
||||||
<source>Encrypted rootfs setup error</source>
|
<source>Encrypted rootfs setup error</source>
|
||||||
<translation>Encrypted rootfs setup error</translation>
|
<translation>Encrypted rootfs setup error</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="280"/>
|
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="298"/>
|
||||||
<source>Root partition %1 is LUKS but no passphrase has been set.</source>
|
<source>Root partition %1 is LUKS but no passphrase has been set.</source>
|
||||||
<translation>Root partition %1 is LUKS but no passphrase has been set.</translation>
|
<translation>Root partition %1 is LUKS but no passphrase has been set.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="287"/>
|
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="305"/>
|
||||||
<source>Could not create LUKS key file for root partition %1.</source>
|
<source>Could not create LUKS key file for root partition %1.</source>
|
||||||
<translation>Could not create LUKS key file for root partition %1.</translation>
|
<translation>Could not create LUKS key file for root partition %1.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="../src/modules/luksbootkeyfile/LuksBootKeyFileJob.cpp" line="301"/>
|
|
||||||
<source>Could not configure LUKS key file on partition %1.</source>
|
|
||||||
<translation>Could not configure LUKS key file on partition %1.</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MachineIdJob</name>
|
<name>MachineIdJob</name>
|
||||||
@ -2601,18 +2570,13 @@ The installer will quit and all changes will be lost.</translation>
|
|||||||
<translation>Unknown error</translation>
|
<translation>Unknown error</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/users/Config.cpp" line="829"/>
|
<location filename="../src/modules/users/Config.cpp" line="844"/>
|
||||||
<source>Password is empty</source>
|
<source>Password is empty</source>
|
||||||
<translation>Password is empty</translation>
|
<translation>Password is empty</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>PackageChooserPage</name>
|
<name>PackageChooserPage</name>
|
||||||
<message>
|
|
||||||
<location filename="../src/modules/packagechooser/page_package.ui" line="24"/>
|
|
||||||
<source>Form</source>
|
|
||||||
<translation>Form</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/packagechooser/page_package.ui" line="50"/>
|
<location filename="../src/modules/packagechooser/page_package.ui" line="50"/>
|
||||||
<source>Product Name</source>
|
<source>Product Name</source>
|
||||||
@ -2654,11 +2618,6 @@ The installer will quit and all changes will be lost.</translation>
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Page_Keyboard</name>
|
<name>Page_Keyboard</name>
|
||||||
<message>
|
|
||||||
<location filename="../src/modules/keyboard/KeyboardPage.ui" line="18"/>
|
|
||||||
<source>Form</source>
|
|
||||||
<translation>Form</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/keyboard/KeyboardPage.ui" line="74"/>
|
<location filename="../src/modules/keyboard/KeyboardPage.ui" line="74"/>
|
||||||
<source>Keyboard Model:</source>
|
<source>Keyboard Model:</source>
|
||||||
@ -2672,11 +2631,6 @@ The installer will quit and all changes will be lost.</translation>
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>Page_UserSetup</name>
|
<name>Page_UserSetup</name>
|
||||||
<message>
|
|
||||||
<location filename="../src/modules/users/page_usersetup.ui" line="18"/>
|
|
||||||
<source>Form</source>
|
|
||||||
<translation>Form</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/users/page_usersetup.ui" line="40"/>
|
<location filename="../src/modules/users/page_usersetup.ui" line="40"/>
|
||||||
<source>What is your name?</source>
|
<source>What is your name?</source>
|
||||||
@ -2853,11 +2807,6 @@ The installer will quit and all changes will be lost.</translation>
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>PartitionPage</name>
|
<name>PartitionPage</name>
|
||||||
<message>
|
|
||||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="18"/>
|
|
||||||
<source>Form</source>
|
|
||||||
<translation>Form</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="26"/>
|
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="26"/>
|
||||||
<source>Storage de&vice:</source>
|
<source>Storage de&vice:</source>
|
||||||
@ -2967,72 +2916,72 @@ The installer will quit and all changes will be lost.</translation>
|
|||||||
<translation>After:</translation>
|
<translation>After:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="523"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="545"/>
|
||||||
<source>No EFI system partition configured</source>
|
<source>No EFI system partition configured</source>
|
||||||
<translation>No EFI system partition configured</translation>
|
<translation>No EFI system partition configured</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="527"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="549"/>
|
||||||
<source>EFI system partition configured incorrectly</source>
|
<source>EFI system partition configured incorrectly</source>
|
||||||
<translation>EFI system partition configured incorrectly</translation>
|
<translation>EFI system partition configured incorrectly</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="532"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="554"/>
|
||||||
<source>An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a suitable filesystem.</source>
|
<source>An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a suitable filesystem.</source>
|
||||||
<translation>An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a suitable filesystem.</translation>
|
<translation>An EFI system partition is necessary to start %1.<br/><br/>To configure an EFI system partition, go back and select or create a suitable filesystem.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="543"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="565"/>
|
||||||
<source>The filesystem must be mounted on <strong>%1</strong>.</source>
|
<source>The filesystem must be mounted on <strong>%1</strong>.</source>
|
||||||
<translation>The filesystem must be mounted on <strong>%1</strong>.</translation>
|
<translation>The filesystem must be mounted on <strong>%1</strong>.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="549"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="571"/>
|
||||||
<source>The filesystem must have type FAT32.</source>
|
<source>The filesystem must have type FAT32.</source>
|
||||||
<translation>The filesystem must have type FAT32.</translation>
|
<translation>The filesystem must have type FAT32.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="557"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="579"/>
|
||||||
<source>The filesystem must be at least %1 MiB in size.</source>
|
<source>The filesystem must be at least %1 MiB in size.</source>
|
||||||
<translation>The filesystem must be at least %1 MiB in size.</translation>
|
<translation>The filesystem must be at least %1 MiB in size.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="563"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="585"/>
|
||||||
<source>The filesystem must have flag <strong>%1</strong> set.</source>
|
<source>The filesystem must have flag <strong>%1</strong> set.</source>
|
||||||
<translation>The filesystem must have flag <strong>%1</strong> set.</translation>
|
<translation>The filesystem must have flag <strong>%1</strong> set.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="569"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="591"/>
|
||||||
<source>You can continue without setting up an EFI system partition but your system may fail to start.</source>
|
<source>You can continue without setting up an EFI system partition but your system may fail to start.</source>
|
||||||
<translation>You can continue without setting up an EFI system partition but your system may fail to start.</translation>
|
<translation>You can continue without setting up an EFI system partition but your system may fail to start.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="587"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="609"/>
|
||||||
<source>Option to use GPT on BIOS</source>
|
<source>Option to use GPT on BIOS</source>
|
||||||
<translation>Option to use GPT on BIOS</translation>
|
<translation>Option to use GPT on BIOS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="588"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="610"/>
|
||||||
<source>A GPT partition table is the best option for all systems. This installer supports such a setup for BIOS systems too.<br/><br/>To configure a GPT partition table on BIOS, (if not done so already) go back and set the partition table to GPT, next create a 8 MB unformatted partition with the <strong>%2</strong> flag enabled.<br/><br/>An unformatted 8 MB partition is necessary to start %1 on a BIOS system with GPT.</source>
|
<source>A GPT partition table is the best option for all systems. This installer supports such a setup for BIOS systems too.<br/><br/>To configure a GPT partition table on BIOS, (if not done so already) go back and set the partition table to GPT, next create a 8 MB unformatted partition with the <strong>%2</strong> flag enabled.<br/><br/>An unformatted 8 MB partition is necessary to start %1 on a BIOS system with GPT.</source>
|
||||||
<translation>A GPT partition table is the best option for all systems. This installer supports such a setup for BIOS systems too.<br/><br/>To configure a GPT partition table on BIOS, (if not done so already) go back and set the partition table to GPT, next create a 8 MB unformatted partition with the <strong>%2</strong> flag enabled.<br/><br/>An unformatted 8 MB partition is necessary to start %1 on a BIOS system with GPT.</translation>
|
<translation>A GPT partition table is the best option for all systems. This installer supports such a setup for BIOS systems too.<br/><br/>To configure a GPT partition table on BIOS, (if not done so already) go back and set the partition table to GPT, next create a 8 MB unformatted partition with the <strong>%2</strong> flag enabled.<br/><br/>An unformatted 8 MB partition is necessary to start %1 on a BIOS system with GPT.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="622"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="632"/>
|
||||||
<source>Boot partition not encrypted</source>
|
<source>Boot partition not encrypted</source>
|
||||||
<translation>Boot partition not encrypted</translation>
|
<translation>Boot partition not encrypted</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="623"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="633"/>
|
||||||
<source>A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window.</source>
|
<source>A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window.</source>
|
||||||
<translation>A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window.</translation>
|
<translation>A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.<br/><br/>There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.<br/>You may continue if you wish, but filesystem unlocking will happen later during system startup.<br/>To encrypt the boot partition, go back and recreate it, selecting <strong>Encrypt</strong> in the partition creation window.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="714"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="723"/>
|
||||||
<source>has at least one disk device available.</source>
|
<source>has at least one disk device available.</source>
|
||||||
<translation>has at least one disk device available.</translation>
|
<translation>has at least one disk device available.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="715"/>
|
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="724"/>
|
||||||
<source>There are no partitions to install on.</source>
|
<source>There are no partitions to install on.</source>
|
||||||
<translation>There are no partitions to install on.</translation>
|
<translation>There are no partitions to install on.</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3053,11 +3002,6 @@ The installer will quit and all changes will be lost.</translation>
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>PlasmaLnfPage</name>
|
<name>PlasmaLnfPage</name>
|
||||||
<message>
|
|
||||||
<location filename="../src/modules/plasmalnf/page_plasmalnf.ui" line="18"/>
|
|
||||||
<source>Form</source>
|
|
||||||
<translation>Form</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="79"/>
|
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="79"/>
|
||||||
<source>Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is set up. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel.</source>
|
<source>Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is set up. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel.</source>
|
||||||
@ -3825,11 +3769,6 @@ Output:
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>TrackingPage</name>
|
<name>TrackingPage</name>
|
||||||
<message>
|
|
||||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="18"/>
|
|
||||||
<source>Form</source>
|
|
||||||
<translation>Form</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="28"/>
|
<location filename="../src/modules/tracking/page_trackingstep.ui" line="28"/>
|
||||||
<source>Placeholder</source>
|
<source>Placeholder</source>
|
||||||
@ -3991,11 +3930,6 @@ Output:
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>WelcomePage</name>
|
<name>WelcomePage</name>
|
||||||
<message>
|
|
||||||
<location filename="../src/modules/welcome/WelcomePage.ui" line="18"/>
|
|
||||||
<source>Form</source>
|
|
||||||
<translation>Form</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcome/WelcomePage.ui" line="79"/>
|
<location filename="../src/modules/welcome/WelcomePage.ui" line="79"/>
|
||||||
<location filename="../src/modules/welcome/WelcomePage.ui" line="98"/>
|
<location filename="../src/modules/welcome/WelcomePage.ui" line="98"/>
|
||||||
|
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
1810
lang/calamares_is.ts
1810
lang/calamares_is.ts
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
4478
lang/calamares_ka.ts
Normal file
4478
lang/calamares_ka.ts
Normal file
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
1264
lang/calamares_pl.ts
1264
lang/calamares_pl.ts
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
Loading…
Reference in New Issue
Block a user