Merge branch 'calamares' of https://github.com/calamares/calamares into development
This commit is contained in:
commit
dbdf5fabe7
20
.github/actions/notify-push/action.yml
vendored
Normal file
20
.github/actions/notify-push/action.yml
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
name: 'Notify on Push'
|
||||||
|
description: 'Notify Matrix room'
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
room:
|
||||||
|
description: 'Matrix Room ID'
|
||||||
|
required: true
|
||||||
|
token:
|
||||||
|
description: 'Matrix Token'
|
||||||
|
required: true
|
||||||
|
message:
|
||||||
|
description: 'Message to send'
|
||||||
|
required: true
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- shell: bash
|
||||||
|
run: |
|
||||||
|
curl -s -XPOST -d "$( echo "${{ inputs.message }}" | jq -Rsc '{"msgtype": "m.text", "body":@text}' )" "https://matrix.org/_matrix/client/r0/rooms/%21${{ inputs.room }}/send/m.room.message?access_token=${{ inputs.token }}" > /dev/null
|
14
.github/workflows/issues.yml
vendored
14
.github/workflows/issues.yml
vendored
@ -9,18 +9,16 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: "notify: new"
|
- name: "notify: new"
|
||||||
uses: rectalogic/notify-irc@v1
|
|
||||||
if: github.event.issue.state == 'open'
|
if: github.event.issue.state == 'open'
|
||||||
|
uses: ./.github/actions/notify-push
|
||||||
with:
|
with:
|
||||||
server: chat.freenode.net
|
token: ${{ secrets.MATRIX_TOKEN }}
|
||||||
nickname: cala-issues
|
room: ${{ secrets.MATRIX_ROOM }}
|
||||||
channel: "#calamares"
|
|
||||||
message: "OPENED ${{ github.event.issue.html_url }} by ${{ github.actor }} ${{ github.event.issue.title }}"
|
message: "OPENED ${{ github.event.issue.html_url }} by ${{ github.actor }} ${{ github.event.issue.title }}"
|
||||||
- name: "notify: closed"
|
- name: "notify: closed"
|
||||||
uses: rectalogic/notify-irc@v1
|
|
||||||
if: github.event.issue.state != 'open'
|
if: github.event.issue.state != 'open'
|
||||||
|
uses: ./.github/actions/notify-push
|
||||||
with:
|
with:
|
||||||
server: chat.freenode.net
|
token: ${{ secrets.MATRIX_TOKEN }}
|
||||||
nickname: cala-issues
|
room: ${{ secrets.MATRIX_ROOM }}
|
||||||
channel: "#calamares"
|
|
||||||
message: "CLOSED ${{ github.event.issue.html_url }} by ${{ github.actor }} ${{ github.event.issue.title }}"
|
message: "CLOSED ${{ github.event.issue.html_url }} by ${{ github.actor }} ${{ github.event.issue.title }}"
|
||||||
|
16
.github/workflows/nightly-debian.yml
vendored
16
.github/workflows/nightly-debian.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
|||||||
- name: "prepare env"
|
- name: "prepare env"
|
||||||
run: |
|
run: |
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get -y install git-core
|
apt-get -y install git-core jq
|
||||||
apt-get -y install \
|
apt-get -y install \
|
||||||
build-essential \
|
build-essential \
|
||||||
cmake \
|
cmake \
|
||||||
@ -83,18 +83,16 @@ jobs:
|
|||||||
working-directory: ${{ env.BUILDDIR }}
|
working-directory: ${{ env.BUILDDIR }}
|
||||||
run: make install VERBOSE=1
|
run: make install VERBOSE=1
|
||||||
- name: "notify: ok"
|
- name: "notify: ok"
|
||||||
uses: rectalogic/notify-irc@v1
|
|
||||||
if: ${{ success() && github.repository == 'calamares/calamares' }}
|
if: ${{ success() && github.repository == 'calamares/calamares' }}
|
||||||
|
uses: ./.github/actions/notify-push
|
||||||
with:
|
with:
|
||||||
server: chat.freenode.net
|
token: ${{ secrets.MATRIX_TOKEN }}
|
||||||
nickname: cala-ci
|
room: ${{ secrets.MATRIX_ROOM }}
|
||||||
channel: "#calamares"
|
|
||||||
message: "OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.pre_build.outputs.message }}"
|
message: "OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.pre_build.outputs.message }}"
|
||||||
- name: "notify: fail"
|
- name: "notify: fail"
|
||||||
uses: rectalogic/notify-irc@v1
|
|
||||||
if: ${{ failure() && github.repository == 'calamares/calamares' }}
|
if: ${{ failure() && github.repository == 'calamares/calamares' }}
|
||||||
|
uses: ./.github/actions/notify-push
|
||||||
with:
|
with:
|
||||||
server: chat.freenode.net
|
token: ${{ secrets.MATRIX_TOKEN }}
|
||||||
nickname: cala-ci
|
room: ${{ secrets.MATRIX_ROOM }}
|
||||||
channel: "#calamares"
|
|
||||||
message: "FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.pre_build.outputs.message }}"
|
message: "FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.pre_build.outputs.message }}"
|
||||||
|
16
.github/workflows/nightly-neon.yml
vendored
16
.github/workflows/nightly-neon.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
|||||||
- name: "prepare env"
|
- name: "prepare env"
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get -y install git-core
|
sudo apt-get -y install git-core jq
|
||||||
sudo apt-get -y install \
|
sudo apt-get -y install \
|
||||||
build-essential \
|
build-essential \
|
||||||
cmake \
|
cmake \
|
||||||
@ -82,18 +82,16 @@ jobs:
|
|||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
retention-days: 3
|
retention-days: 3
|
||||||
- name: "notify: ok"
|
- name: "notify: ok"
|
||||||
uses: rectalogic/notify-irc@v1
|
|
||||||
if: ${{ success() && github.repository == 'calamares/calamares' }}
|
if: ${{ success() && github.repository == 'calamares/calamares' }}
|
||||||
|
uses: ./.github/actions/notify-push
|
||||||
with:
|
with:
|
||||||
server: chat.freenode.net
|
token: ${{ secrets.MATRIX_TOKEN }}
|
||||||
nickname: cala-ci
|
room: ${{ secrets.MATRIX_ROOM }}
|
||||||
channel: "#calamares"
|
|
||||||
message: "OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.pre_build.outputs.message }}"
|
message: "OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.pre_build.outputs.message }}"
|
||||||
- name: "notify: fail"
|
- name: "notify: fail"
|
||||||
uses: rectalogic/notify-irc@v1
|
|
||||||
if: ${{ failure() && github.repository == 'calamares/calamares' }}
|
if: ${{ failure() && github.repository == 'calamares/calamares' }}
|
||||||
|
uses: ./.github/actions/notify-push
|
||||||
with:
|
with:
|
||||||
server: chat.freenode.net
|
token: ${{ secrets.MATRIX_TOKEN }}
|
||||||
nickname: cala-ci
|
room: ${{ secrets.MATRIX_ROOM }}
|
||||||
channel: "#calamares"
|
|
||||||
message: "FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.pre_build.outputs.message }}"
|
message: "FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.pre_build.outputs.message }}"
|
||||||
|
16
.github/workflows/nightly-opensuse.yml
vendored
16
.github/workflows/nightly-opensuse.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
|||||||
- name: "prepare env"
|
- name: "prepare env"
|
||||||
run: |
|
run: |
|
||||||
zypper --non-interactive up
|
zypper --non-interactive up
|
||||||
zypper --non-interactive in git-core
|
zypper --non-interactive in git-core jq
|
||||||
# From deploycala.py
|
# From deploycala.py
|
||||||
zypper --non-interactive in \
|
zypper --non-interactive in \
|
||||||
"autoconf" \
|
"autoconf" \
|
||||||
@ -81,18 +81,16 @@ jobs:
|
|||||||
working-directory: ${{ env.BUILDDIR }}
|
working-directory: ${{ env.BUILDDIR }}
|
||||||
run: make install VERBOSE=1
|
run: make install VERBOSE=1
|
||||||
- name: "notify: ok"
|
- name: "notify: ok"
|
||||||
uses: rectalogic/notify-irc@v1
|
|
||||||
if: ${{ success() && github.repository == 'calamares/calamares' }}
|
if: ${{ success() && github.repository == 'calamares/calamares' }}
|
||||||
|
uses: ./.github/actions/notify-push
|
||||||
with:
|
with:
|
||||||
server: chat.freenode.net
|
token: ${{ secrets.MATRIX_TOKEN }}
|
||||||
nickname: cala-ci
|
room: ${{ secrets.MATRIX_ROOM }}
|
||||||
channel: "#calamares"
|
|
||||||
message: "OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.pre_build.outputs.message }}"
|
message: "OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.pre_build.outputs.message }}"
|
||||||
- name: "notify: fail"
|
- name: "notify: fail"
|
||||||
uses: rectalogic/notify-irc@v1
|
|
||||||
if: ${{ failure() && github.repository == 'calamares/calamares' }}
|
if: ${{ failure() && github.repository == 'calamares/calamares' }}
|
||||||
|
uses: ./.github/actions/notify-push
|
||||||
with:
|
with:
|
||||||
server: chat.freenode.net
|
token: ${{ secrets.MATRIX_TOKEN }}
|
||||||
nickname: cala-ci
|
room: ${{ secrets.MATRIX_ROOM }}
|
||||||
channel: "#calamares"
|
|
||||||
message: "FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.pre_build.outputs.message }}"
|
message: "FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.pre_build.outputs.message }}"
|
||||||
|
25
.github/workflows/push.yml
vendored
25
.github/workflows/push.yml
vendored
@ -30,7 +30,7 @@ jobs:
|
|||||||
- name: "prepare env"
|
- name: "prepare env"
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get -y install git-core
|
sudo apt-get -y install git-core jq
|
||||||
sudo apt-get -y install \
|
sudo apt-get -y install \
|
||||||
build-essential \
|
build-essential \
|
||||||
cmake \
|
cmake \
|
||||||
@ -78,18 +78,21 @@ jobs:
|
|||||||
working-directory: ${{ env.BUILDDIR }}
|
working-directory: ${{ env.BUILDDIR }}
|
||||||
run: make install VERBOSE=1
|
run: make install VERBOSE=1
|
||||||
- name: "notify: ok"
|
- name: "notify: ok"
|
||||||
uses: rectalogic/notify-irc@v1
|
|
||||||
if: ${{ success() && github.repository == 'calamares/calamares' }}
|
if: ${{ success() && github.repository == 'calamares/calamares' }}
|
||||||
|
uses: ./.github/actions/notify-push
|
||||||
with:
|
with:
|
||||||
server: chat.freenode.net
|
token: ${{ secrets.MATRIX_TOKEN }}
|
||||||
nickname: cala-ci
|
room: ${{ secrets.MATRIX_ROOM }}
|
||||||
channel: "#calamares"
|
message: |
|
||||||
message: "OK ${{ github.workflow }} in ${{ github.repository }} ${{ github.actor }} on ${{ github.event.ref }}\n.. ${{ steps.pre_build.outputs.message }}"
|
OK ${{ github.workflow }} in ${{ github.repository }} by ${{ github.actor }} on ${{ github.event.ref }}
|
||||||
|
.. ${{ steps.pre_build.outputs.message }}
|
||||||
- name: "notify: fail"
|
- name: "notify: fail"
|
||||||
uses: rectalogic/notify-irc@v1
|
|
||||||
if: ${{ failure() && github.repository == 'calamares/calamares' }}
|
if: ${{ failure() && github.repository == 'calamares/calamares' }}
|
||||||
|
uses: ./.github/actions/notify-push
|
||||||
with:
|
with:
|
||||||
server: chat.freenode.net
|
token: ${{ secrets.MATRIX_TOKEN }}
|
||||||
nickname: cala-ci
|
room: ${{ secrets.MATRIX_ROOM }}
|
||||||
channel: "#calamares"
|
message: |
|
||||||
message: "FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ github.actor }} on ${{ github.event.ref }}\n.. ${{ steps.pre_build.outputs.message }}\n.. DIFF ${{ github.event.compare }}"
|
FAIL ${{ github.workflow }} in ${{ github.repository }} by ${{ github.actor }} on ${{ github.event.ref }}
|
||||||
|
.. ${{ steps.pre_build.outputs.message }}
|
||||||
|
.. ${{ github.event.compare }}
|
||||||
|
1
CHANGES
1
CHANGES
@ -11,6 +11,7 @@ website will have to do for older versions.
|
|||||||
|
|
||||||
This release contains contributions from (alphabetically by first name):
|
This release contains contributions from (alphabetically by first name):
|
||||||
- Anubhav Choudhary (SoK success!)
|
- Anubhav Choudhary (SoK success!)
|
||||||
|
- Emmanuel Arias (new contributor! welcome!)
|
||||||
- Erik Dubois
|
- Erik Dubois
|
||||||
- Jerrod Frost (new contributor! welcome!)
|
- Jerrod Frost (new contributor! welcome!)
|
||||||
- Joe Kamprad
|
- Joe Kamprad
|
||||||
|
@ -34,8 +34,10 @@ Regular Calamares development chit-chat happens on old-school IRC
|
|||||||
in Europe, but feel free to idle. **DO NOT** ask-and-leave. Keep
|
in Europe, but feel free to idle. **DO NOT** ask-and-leave. Keep
|
||||||
that chat window open because it can easily take a few hours for
|
that chat window open because it can easily take a few hours for
|
||||||
someone to notice a message.
|
someone to notice a message.
|
||||||
|
The Matrix room is relatively new.
|
||||||
|
|
||||||
[![Visit our IRC channel](https://kiwiirc.com/buttons/webchat.freenode.net/calamares.png)](https://webchat.freenode.net/?channel=#calamares?nick=guest)
|
* [![Chat on IRC](https://img.shields.io/badge/IRC-Freenode%20%23calamares-green)](https://webchat.freenode.net/?randomnick=1&channels=%23calamares)
|
||||||
|
* [![Join us on Matrix](https://img.shields.io/badge/Matrix-%23calamares:kde.org-blue)](https://webchat.kde.org/#/room/%23calamares:kde.org)
|
||||||
|
|
||||||
|
|
||||||
## General Guidelines
|
## General Guidelines
|
||||||
|
13
README.md
13
README.md
@ -12,8 +12,8 @@
|
|||||||
[![GitHub license](https://img.shields.io/github/license/calamares/calamares.svg)](https://github.com/calamares/calamares/blob/calamares/LICENSE)
|
[![GitHub license](https://img.shields.io/github/license/calamares/calamares.svg)](https://github.com/calamares/calamares/blob/calamares/LICENSE)
|
||||||
|
|
||||||
|
|
||||||
| [Report a Bug](https://github.com/calamares/calamares/issues/new) | [Translate](https://www.transifex.com/projects/p/calamares/) | [Contribute](CONTRIBUTING.md) | [Freenode (IRC): #calamares](https://webchat.freenode.net/?channel=#calamares?nick=guest) | [Wiki](https://github.com/calamares/calamares/wiki) |
|
| [Report a Bug](https://github.com/calamares/calamares/issues/new) | [Translate](https://www.transifex.com/projects/p/calamares/) | [Contribute](CONTRIBUTING.md) | [IRC: Freenode #calamares](https://webchat.freenode.net/?channel=#calamares?nick=guest) | [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
|
||||||
@ -29,7 +29,7 @@ a "ready to use" application: distributions apply a huge amount of customisation
|
|||||||
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 distro's.
|
||||||
|
|
||||||
Calamares has some [generic user documentation](https://github.com/calamares/calamares/wiki/Use-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.
|
||||||
|
|
||||||
## Getting Calamares
|
## Getting Calamares
|
||||||
@ -47,7 +47,7 @@ The dependencies are explained in [CONTRIBUTING.md](CONTRIBUTING.md).
|
|||||||
|
|
||||||
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.
|
||||||
@ -59,6 +59,7 @@ problems or a new feature to discuss.
|
|||||||
|
|
||||||
Regular Calamares development chit-chat happens on old-school IRC
|
Regular Calamares development chit-chat happens on old-school IRC
|
||||||
(no registration required). Responsiveness is best during the day
|
(no registration required). Responsiveness is best during the day
|
||||||
in Europe, but feel free to idle.
|
in Europe, but feel free to idle. The Matrix room is relatively new.
|
||||||
|
|
||||||
[![Visit our IRC channel](https://kiwiirc.com/buttons/webchat.freenode.net/calamares.png)](https://webchat.freenode.net/?channel=#calamares?nick=guest|)
|
* [![Chat on IRC](https://img.shields.io/badge/IRC-Freenode%20%23calamares-green)](https://webchat.freenode.net/?randomnick=1&channels=%23calamares)
|
||||||
|
* [![Join us on Matrix](https://img.shields.io/badge/Matrix-%23calamares:kde.org-blue)](https://webchat.kde.org/#/room/%23calamares:kde.org)
|
||||||
|
@ -22,7 +22,7 @@ export LANG LC_ALL LC_NUMERIC
|
|||||||
|
|
||||||
AS=$( which astyle )
|
AS=$( which astyle )
|
||||||
|
|
||||||
CF_VERSIONS="clang-format-7 clang-format-8 clang-format70 clang-format80 clang-format90 clang-format-9.0.1 clang-format"
|
CF_VERSIONS="clang-format-8 clang-format80 clang-format90 clang-format-9.0.1 clang-format"
|
||||||
for _cf in $CF_VERSIONS
|
for _cf in $CF_VERSIONS
|
||||||
do
|
do
|
||||||
# Not an error if this particular clang-format isn't found
|
# Not an error if this particular clang-format isn't found
|
||||||
|
52
ci/notify.sh
Executable file
52
ci/notify.sh
Executable file
@ -0,0 +1,52 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
#
|
||||||
|
# SPDX-FileCopyrightText: 2021 Adriaan de Groot <groot@kde.org>
|
||||||
|
# SPDX-License-Identifier: BSD-2-Clause
|
||||||
|
#
|
||||||
|
###
|
||||||
|
#
|
||||||
|
# Sends a notification to wherever the notifications need to be sent.
|
||||||
|
#
|
||||||
|
# Called with the following environment (for tokens / secrets):
|
||||||
|
# MATRIX_ROOM
|
||||||
|
# MATRIX_TOKEN
|
||||||
|
#
|
||||||
|
# Called with the following arguments (in order):
|
||||||
|
# - "OK" or "FAIL"
|
||||||
|
# - github.workflow
|
||||||
|
# - github.repository
|
||||||
|
# - github.actor
|
||||||
|
# - github.event.ref
|
||||||
|
# - commit-message-summary (produced in the workflow)
|
||||||
|
# - github.event.compare
|
||||||
|
#
|
||||||
|
|
||||||
|
test -z "$MATRIX_ROOM" && { echo "! No secrets" ; exit 1 ; }
|
||||||
|
test -z "$MATRIX_TOKEN" && { echo "! No secrets" ; exit 1 ; }
|
||||||
|
|
||||||
|
STATUS="$1"
|
||||||
|
|
||||||
|
WORKFLOW="$2"
|
||||||
|
REPOSITORY="$3"
|
||||||
|
ACTOR="$4"
|
||||||
|
EVENT="$5"
|
||||||
|
SUMMARY="$6"
|
||||||
|
COMPARE="$7"
|
||||||
|
|
||||||
|
test "x$STATUS" = "xOK" -o "x$STATUS" = "xFAIL" || { echo "! Invalid status" ; exit 1 ; }
|
||||||
|
|
||||||
|
test -z "$WORKFLOW" && { echo "! No event data" ; exit 1 ; }
|
||||||
|
test -z "$REPOSITORY" && { echo "! No event data" ; exit 1 ; }
|
||||||
|
test -z "$ACTOR" && { echo "! No event data" ; exit 1 ; }
|
||||||
|
test -z "$EVENT" && { echo "! No event data" ; exit 1 ; }
|
||||||
|
# It's ok for summary or the compare URL to be empty
|
||||||
|
|
||||||
|
url="https://matrix.org/_matrix/client/r0/rooms/%21${MATRIX_ROOM}/send/m.room.message?access_token=${MATRIX_TOKEN}"
|
||||||
|
message_data=$(
|
||||||
|
{
|
||||||
|
echo "${STATUS} ${WORKFLOW} in ${REPOSITORY} ${ACTOR} on ${EVENT}"
|
||||||
|
test -n "$SUMMARY" && echo ".. ${SUMMARY}"
|
||||||
|
test -n "$COMPARE" && echo ".. DIFF ${COMPARE}"
|
||||||
|
} | jq -Rs '{"msgtype": "m.text", "body":@text}' )
|
||||||
|
|
||||||
|
curl -s -XPOST -d "$message_data" "$url" > /dev/null
|
@ -6,7 +6,7 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/>
|
<location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/>
|
||||||
<source>Manage auto-mount settings</source>
|
<source>Manage auto-mount settings</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Manage auto-mount settings</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -6,7 +6,7 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/>
|
<location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/>
|
||||||
<source>Manage auto-mount settings</source>
|
<source>Manage auto-mount settings</source>
|
||||||
<translation type="unfinished"/>
|
<translation>ניהול הגדרות העיגון האוטומטי</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -412,17 +412,17 @@ Link copied to clipboard</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="395"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="395"/>
|
||||||
<source>The installation is complete. Close the installer.</source>
|
<source>The installation is complete. Close the installer.</source>
|
||||||
<translation>תהליך ההתקנה הושלם. נא לסגור את תכנית ההתקנה.</translation>
|
<translation>ההתקנה הושלמה. נא לסגור את אשף ההתקנה.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="397"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="397"/>
|
||||||
<source>Cancel setup without changing the system.</source>
|
<source>Cancel setup without changing the system.</source>
|
||||||
<translation>ביטול ההתקנה ללא שינוי המערכת.</translation>
|
<translation>ביטול ההתקנה ללא ביצוע שינוי במערכת.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="398"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="398"/>
|
||||||
<source>Cancel installation without changing the system.</source>
|
<source>Cancel installation without changing the system.</source>
|
||||||
<translation>ביטול התקנה ללא ביצוע שינוי במערכת.</translation>
|
<translation>ביטול ההתקנה ללא ביצוע שינוי במערכת.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="408"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="408"/>
|
||||||
@ -458,14 +458,14 @@ Link copied to clipboard</source>
|
|||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="512"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="512"/>
|
||||||
<source>Do you really want to cancel the current setup process?
|
<source>Do you really want to cancel the current setup process?
|
||||||
The setup program will quit and all changes will be lost.</source>
|
The setup program will quit and all changes will be lost.</source>
|
||||||
<translation>לבטל את תהליך ההתקנה הנוכחי?
|
<translation>האם לבטל את תהליך ההתקנה הנוכחי?
|
||||||
תכנית ההתקנה תצא וכל השינויים יאבדו.</translation>
|
אשף ההתקנה ייסגר וכל השינויים יאבדו.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="514"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="514"/>
|
||||||
<source>Do you really want to cancel the current install process?
|
<source>Do you really want to cancel the current install process?
|
||||||
The installer will quit and all changes will be lost.</source>
|
The installer will quit and all changes will be lost.</source>
|
||||||
<translation>האם אכן ברצונך לבטל את תהליך ההתקנה?
|
<translation>האם לבטל את תהליך ההתקנה הנוכחי?
|
||||||
אשף ההתקנה ייסגר וכל השינויים יאבדו.</translation>
|
אשף ההתקנה ייסגר וכל השינויים יאבדו.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
@ -893,7 +893,7 @@ The installer will quit and all changes will be lost.</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finished/Config.cpp" line="148"/>
|
<location filename="../src/modules/finished/Config.cpp" line="148"/>
|
||||||
<source>The installation of %1 did not complete successfully.</source>
|
<source>The installation of %1 did not complete successfully.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>ההתקנה של %1 לא הסתיימה בהצלחה.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finished/Config.cpp" line="152"/>
|
<location filename="../src/modules/finished/Config.cpp" line="152"/>
|
||||||
@ -2683,7 +2683,7 @@ The installer will quit and all changes will be lost.</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="219"/>
|
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="219"/>
|
||||||
<source>Are you sure you want to create a new partition table on %1?</source>
|
<source>Are you sure you want to create a new partition table on %1?</source>
|
||||||
<translation>ליצור טבלת מחיצות חדשה על %1?</translation>
|
<translation>האם ליצור טבלת מחיצות חדשה על %1?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="254"/>
|
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="254"/>
|
||||||
@ -4012,7 +4012,7 @@ Output:
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finishedq/finishedq.qml" line="36"/>
|
<location filename="../src/modules/finishedq/finishedq.qml" line="36"/>
|
||||||
<source>Installation Completed</source>
|
<source>Installation Completed</source>
|
||||||
<translation type="unfinished"/>
|
<translation>ההתקנה הושלמה</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finishedq/finishedq.qml" line="43"/>
|
<location filename="../src/modules/finishedq/finishedq.qml" line="43"/>
|
||||||
@ -4023,12 +4023,12 @@ Output:
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finishedq/finishedq.qml" line="65"/>
|
<location filename="../src/modules/finishedq/finishedq.qml" line="65"/>
|
||||||
<source>Close Installer</source>
|
<source>Close Installer</source>
|
||||||
<translation type="unfinished"/>
|
<translation>סגירת אשף ההתקנה</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finishedq/finishedq.qml" line="71"/>
|
<location filename="../src/modules/finishedq/finishedq.qml" line="71"/>
|
||||||
<source>Restart System</source>
|
<source>Restart System</source>
|
||||||
<translation type="unfinished"/>
|
<translation>הפעלת המערכת מחדש</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finishedq/finishedq.qml" line="89"/>
|
<location filename="../src/modules/finishedq/finishedq.qml" line="89"/>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/>
|
<location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/>
|
||||||
<source>Manage auto-mount settings</source>
|
<source>Manage auto-mount settings</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Zarządzaj ustawieniami auto-montowania</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -109,22 +109,22 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/calamares/DebugWindow.ui" line="115"/>
|
<location filename="../src/calamares/DebugWindow.ui" line="115"/>
|
||||||
<source>Reloads the stylesheet from the branding directory.</source>
|
<source>Reloads the stylesheet from the branding directory.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Ponownie ładuje arkusz stylów z katalogu brandingu. </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/calamares/DebugWindow.ui" line="141"/>
|
<location filename="../src/calamares/DebugWindow.ui" line="141"/>
|
||||||
<source>Uploads the session log to the configured pastebin.</source>
|
<source>Uploads the session log to the configured pastebin.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Przesyła dziennik sesji do skonfigurowanego pliku na pastebin.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/calamares/DebugWindow.ui" line="144"/>
|
<location filename="../src/calamares/DebugWindow.ui" line="144"/>
|
||||||
<source>Send Session Log</source>
|
<source>Send Session Log</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Wyślij dziennik sesji</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/calamares/DebugWindow.ui" line="118"/>
|
<location filename="../src/calamares/DebugWindow.ui" line="118"/>
|
||||||
<source>Reload Stylesheet</source>
|
<source>Reload Stylesheet</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Przeładowuje Arkusz Stylów</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/calamares/DebugWindow.ui" line="128"/>
|
<location filename="../src/calamares/DebugWindow.ui" line="128"/>
|
||||||
@ -4253,32 +4253,33 @@ i nie uruchomi się</translation>
|
|||||||
<location filename="../src/modules/welcomeq/welcomeq.qml" line="35"/>
|
<location filename="../src/modules/welcomeq/welcomeq.qml" line="35"/>
|
||||||
<source><h3>Welcome to the %1 <quote>%2</quote> installer</h3>
|
<source><h3>Welcome to the %1 <quote>%2</quote> installer</h3>
|
||||||
<p>This program will ask you some questions and set up %1 on your computer.</p></source>
|
<p>This program will ask you some questions and set up %1 on your computer.</p></source>
|
||||||
<translation type="unfinished"/>
|
<translation><h3>Witaj w instalatorze %1<quote>%2</quote></h3>
|
||||||
|
<p>Ten program zapyta cię o kilka rzeczy i ustawi %1 na twoim komputerze.</p> </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcomeq/welcomeq.qml" line="66"/>
|
<location filename="../src/modules/welcomeq/welcomeq.qml" line="66"/>
|
||||||
<source>About</source>
|
<source>About</source>
|
||||||
<translation type="unfinished"/>
|
<translation>O nas</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcomeq/welcomeq.qml" line="80"/>
|
<location filename="../src/modules/welcomeq/welcomeq.qml" line="80"/>
|
||||||
<source>Support</source>
|
<source>Support</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Wsparcie</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcomeq/welcomeq.qml" line="91"/>
|
<location filename="../src/modules/welcomeq/welcomeq.qml" line="91"/>
|
||||||
<source>Known issues</source>
|
<source>Known issues</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Znane problemy</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcomeq/welcomeq.qml" line="102"/>
|
<location filename="../src/modules/welcomeq/welcomeq.qml" line="102"/>
|
||||||
<source>Release notes</source>
|
<source>Release notes</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Informacje o wydaniu</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcomeq/welcomeq.qml" line="114"/>
|
<location filename="../src/modules/welcomeq/welcomeq.qml" line="114"/>
|
||||||
<source>Donate</source>
|
<source>Donate</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Dotacje</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
4279
lang/calamares_ru_RU.ts
Normal file
4279
lang/calamares_ru_RU.ts
Normal file
File diff suppressed because it is too large
Load Diff
@ -312,18 +312,18 @@
|
|||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="178"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="178"/>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="518"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="518"/>
|
||||||
<source>&Yes</source>
|
<source>&Yes</source>
|
||||||
<translation>_Áno</translation>
|
<translation>Án&o</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="179"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="179"/>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="519"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="519"/>
|
||||||
<source>&No</source>
|
<source>&No</source>
|
||||||
<translation>_Nie</translation>
|
<translation>&Nie</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="185"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="185"/>
|
||||||
<source>&Close</source>
|
<source>&Close</source>
|
||||||
<translation>_Zavrieť</translation>
|
<translation>&Zavrieť</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/utils/Paste.cpp" line="160"/>
|
<location filename="../src/libcalamaresui/utils/Paste.cpp" line="160"/>
|
||||||
@ -402,7 +402,7 @@ Link copied to clipboard</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="392"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="392"/>
|
||||||
<source>&Install</source>
|
<source>&Install</source>
|
||||||
<translation>_Inštalovať</translation>
|
<translation>&Inštalovať</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="394"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="394"/>
|
||||||
@ -437,7 +437,7 @@ Link copied to clipboard</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="419"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="419"/>
|
||||||
<source>&Done</source>
|
<source>&Done</source>
|
||||||
<translation>_Dokončiť</translation>
|
<translation>&Dokončiť</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="438"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="438"/>
|
||||||
|
@ -3847,7 +3847,7 @@ Installationen kan inte fortsätta.</p></translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcome/WelcomePage.ui" line="140"/>
|
<location filename="../src/modules/welcome/WelcomePage.ui" line="140"/>
|
||||||
<source>&About</source>
|
<source>&About</source>
|
||||||
<translation>Om, &A</translation>
|
<translation>&Om</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcome/WelcomePage.ui" line="150"/>
|
<location filename="../src/modules/welcome/WelcomePage.ui" line="150"/>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/>
|
<location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/>
|
||||||
<source>Manage auto-mount settings</source>
|
<source>Manage auto-mount settings</source>
|
||||||
<translation type="unfinished"/>
|
<translation> 管理自动挂载设置</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -120,7 +120,7 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/calamares/DebugWindow.ui" line="144"/>
|
<location filename="../src/calamares/DebugWindow.ui" line="144"/>
|
||||||
<source>Send Session Log</source>
|
<source>Send Session Log</source>
|
||||||
<translation type="unfinished"/>
|
<translation>发送会话日志</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/calamares/DebugWindow.ui" line="118"/>
|
<location filename="../src/calamares/DebugWindow.ui" line="118"/>
|
||||||
@ -1403,7 +1403,7 @@ The installer will quit and all changes will be lost.</source>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="262"/>
|
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="262"/>
|
||||||
<source>Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>%4.</source>
|
<source>Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>%4.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>设置%3 分区的挂载点</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="243"/>
|
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="243"/>
|
||||||
@ -3985,29 +3985,31 @@ Output:
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finishedq/finishedq.qml" line="36"/>
|
<location filename="../src/modules/finishedq/finishedq.qml" line="36"/>
|
||||||
<source>Installation Completed</source>
|
<source>Installation Completed</source>
|
||||||
<translation type="unfinished"/>
|
<translation>安装完成</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finishedq/finishedq.qml" line="43"/>
|
<location filename="../src/modules/finishedq/finishedq.qml" line="43"/>
|
||||||
<source>%1 has been installed on your computer.<br/>
|
<source>%1 has been installed on your computer.<br/>
|
||||||
You may now restart into your new system, or continue using the Live environment.</source>
|
You may now restart into your new system, or continue using the Live environment.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>%1 已安装在您的电脑上了。<br/>
|
||||||
|
您现在可以重新启动到新系统,或是继续使用 Live 环境。</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finishedq/finishedq.qml" line="65"/>
|
<location filename="../src/modules/finishedq/finishedq.qml" line="65"/>
|
||||||
<source>Close Installer</source>
|
<source>Close Installer</source>
|
||||||
<translation type="unfinished"/>
|
<translation>关闭安装程序</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finishedq/finishedq.qml" line="71"/>
|
<location filename="../src/modules/finishedq/finishedq.qml" line="71"/>
|
||||||
<source>Restart System</source>
|
<source>Restart System</source>
|
||||||
<translation type="unfinished"/>
|
<translation>重启系统</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finishedq/finishedq.qml" line="89"/>
|
<location filename="../src/modules/finishedq/finishedq.qml" line="89"/>
|
||||||
<source><p>A full log of the install is available as installation.log in the home directory of the Live user.<br/>
|
<source><p>A full log of the install is available as installation.log in the home directory of the Live user.<br/>
|
||||||
This log is copied to /var/log/installation.log of the target system.</p></source>
|
This log is copied to /var/log/installation.log of the target system.</p></source>
|
||||||
<translation type="unfinished"/>
|
<translation>安装过程中的翻译已经复制到了临时用户的家目录下
|
||||||
|
于此同时安装日志也已经复制到了目标系统,路径为:/var/log/installation.log</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
# Seboss666 <sebastien_verdet@seboss666.info>, 2019
|
# Seboss666 <sebastien_verdet@seboss666.info>, 2019
|
||||||
# Florian B <florianb3522@gmail.com>, 2019
|
# Florian B <florianb3522@gmail.com>, 2019
|
||||||
# Arnaud Ferraris <arnaud.ferraris@gmail.com>, 2019
|
# Arnaud Ferraris <arnaud.ferraris@gmail.com>, 2019
|
||||||
|
# roxfr <roxfr@outlook.fr>, 2021
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -21,7 +22,7 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-03-19 14:27+0100\n"
|
"POT-Creation-Date: 2021-03-19 14:27+0100\n"
|
||||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||||
"Last-Translator: Arnaud Ferraris <arnaud.ferraris@gmail.com>, 2019\n"
|
"Last-Translator: roxfr <roxfr@outlook.fr>, 2021\n"
|
||||||
"Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n"
|
"Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@ -112,11 +113,11 @@ msgstr "rsync a échoué avec le code d'erreur {}."
|
|||||||
|
|
||||||
#: src/modules/unpackfs/main.py:300
|
#: src/modules/unpackfs/main.py:300
|
||||||
msgid "Unpacking image {}/{}, file {}/{}"
|
msgid "Unpacking image {}/{}, file {}/{}"
|
||||||
msgstr ""
|
msgstr "Décompression de l'image {}/{}, fichier {}/{}"
|
||||||
|
|
||||||
#: src/modules/unpackfs/main.py:315
|
#: src/modules/unpackfs/main.py:315
|
||||||
msgid "Starting to unpack {}"
|
msgid "Starting to unpack {}"
|
||||||
msgstr ""
|
msgstr "Commencer à décompresser {}"
|
||||||
|
|
||||||
#: src/modules/unpackfs/main.py:324 src/modules/unpackfs/main.py:464
|
#: src/modules/unpackfs/main.py:324 src/modules/unpackfs/main.py:464
|
||||||
msgid "Failed to unpack image \"{}\""
|
msgid "Failed to unpack image \"{}\""
|
||||||
@ -146,6 +147,8 @@ msgstr "Mauvaise configuration unsquash"
|
|||||||
#: src/modules/unpackfs/main.py:455
|
#: src/modules/unpackfs/main.py:455
|
||||||
msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel"
|
msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Le système de fichiers pour \"{}\" ({}) n'est pas pris en charge par votre "
|
||||||
|
"noyau actuel"
|
||||||
|
|
||||||
#: src/modules/unpackfs/main.py:459
|
#: src/modules/unpackfs/main.py:459
|
||||||
msgid "The source filesystem \"{}\" does not exist"
|
msgid "The source filesystem \"{}\" does not exist"
|
||||||
@ -214,6 +217,8 @@ msgid ""
|
|||||||
"The displaymanagers list is empty or undefined in both globalstorage and "
|
"The displaymanagers list is empty or undefined in both globalstorage and "
|
||||||
"displaymanager.conf."
|
"displaymanager.conf."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"La liste des gestionnaires d'affichage est vide ou indéfinie à la fois dans "
|
||||||
|
"globalstorage et displaymanager.conf."
|
||||||
|
|
||||||
#: src/modules/displaymanager/main.py:977
|
#: src/modules/displaymanager/main.py:977
|
||||||
msgid "Display manager configuration was incomplete"
|
msgid "Display manager configuration was incomplete"
|
||||||
@ -330,11 +335,11 @@ msgstr "Configuration de l'horloge matériel."
|
|||||||
|
|
||||||
#: src/modules/mkinitfs/main.py:27
|
#: src/modules/mkinitfs/main.py:27
|
||||||
msgid "Creating initramfs with mkinitfs."
|
msgid "Creating initramfs with mkinitfs."
|
||||||
msgstr ""
|
msgstr "Création d'initramfs avec mkinitfs."
|
||||||
|
|
||||||
#: src/modules/mkinitfs/main.py:49
|
#: src/modules/mkinitfs/main.py:49
|
||||||
msgid "Failed to run mkinitfs on the target"
|
msgid "Failed to run mkinitfs on the target"
|
||||||
msgstr ""
|
msgstr "Échec de l'exécution de mkinitfs sur la cible"
|
||||||
|
|
||||||
#: src/modules/mkinitfs/main.py:50 src/modules/dracut/main.py:50
|
#: src/modules/mkinitfs/main.py:50 src/modules/dracut/main.py:50
|
||||||
msgid "The exit code was {}"
|
msgid "The exit code was {}"
|
||||||
@ -362,12 +367,12 @@ msgstr "Écriture du fstab."
|
|||||||
|
|
||||||
#: src/modules/dummypython/main.py:35
|
#: src/modules/dummypython/main.py:35
|
||||||
msgid "Dummy python job."
|
msgid "Dummy python job."
|
||||||
msgstr "Tâche factice python"
|
msgstr "Tâche factice de python"
|
||||||
|
|
||||||
#: src/modules/dummypython/main.py:37 src/modules/dummypython/main.py:93
|
#: src/modules/dummypython/main.py:37 src/modules/dummypython/main.py:93
|
||||||
#: src/modules/dummypython/main.py:94
|
#: src/modules/dummypython/main.py:94
|
||||||
msgid "Dummy python step {}"
|
msgid "Dummy python step {}"
|
||||||
msgstr "Étape factice python {}"
|
msgstr "Étape factice de python {}"
|
||||||
|
|
||||||
#: src/modules/localecfg/main.py:30
|
#: src/modules/localecfg/main.py:30
|
||||||
msgid "Configuring locales."
|
msgid "Configuring locales."
|
||||||
@ -375,4 +380,4 @@ msgstr "Configuration des locales."
|
|||||||
|
|
||||||
#: src/modules/networkcfg/main.py:28
|
#: src/modules/networkcfg/main.py:28
|
||||||
msgid "Saving network configuration."
|
msgid "Saving network configuration."
|
||||||
msgstr "Sauvegarde des configuration réseau."
|
msgstr "Sauvegarde de la configuration du réseau en cours."
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
# Eli Shleifer <eligator@gmail.com>, 2017
|
# Eli Shleifer <eligator@gmail.com>, 2017
|
||||||
# Omer I.S. <omeritzicschwartz@gmail.com>, 2020
|
# Omeritzics Games <omeritzicschwartz@gmail.com>, 2020
|
||||||
# Yaron Shahrabani <sh.yaron@gmail.com>, 2020
|
# Yaron Shahrabani <sh.yaron@gmail.com>, 2020
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
# Pierfrancesco Passerini <p.passerini@gmail.com>, 2019
|
# Pierfrancesco Passerini <p.passerini@gmail.com>, 2019
|
||||||
# Pietro F. Fontana, 2020
|
# Pietro F. Fontana, 2020
|
||||||
# Saverio <saverio.brancaccio@gmail.com>, 2020
|
# Saverio <saverio.brancaccio@gmail.com>, 2020
|
||||||
|
# Giuseppe Pignataro <rogepix@gmail.com>, 2021
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -15,7 +16,7 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-03-19 14:27+0100\n"
|
"POT-Creation-Date: 2021-03-19 14:27+0100\n"
|
||||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||||
"Last-Translator: Saverio <saverio.brancaccio@gmail.com>, 2020\n"
|
"Last-Translator: Giuseppe Pignataro <rogepix@gmail.com>, 2021\n"
|
||||||
"Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n"
|
"Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@ -209,6 +210,8 @@ msgid ""
|
|||||||
"The displaymanagers list is empty or undefined in both globalstorage and "
|
"The displaymanagers list is empty or undefined in both globalstorage and "
|
||||||
"displaymanager.conf."
|
"displaymanager.conf."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"L'elenco dei display manager è vuota o non definita sia in globalstorage che"
|
||||||
|
" in displaymanager.conf."
|
||||||
|
|
||||||
#: src/modules/displaymanager/main.py:977
|
#: src/modules/displaymanager/main.py:977
|
||||||
msgid "Display manager configuration was incomplete"
|
msgid "Display manager configuration was incomplete"
|
||||||
@ -321,11 +324,11 @@ msgstr "Impostazione del clock hardware."
|
|||||||
|
|
||||||
#: src/modules/mkinitfs/main.py:27
|
#: src/modules/mkinitfs/main.py:27
|
||||||
msgid "Creating initramfs with mkinitfs."
|
msgid "Creating initramfs with mkinitfs."
|
||||||
msgstr ""
|
msgstr "Sto creando initramfs con mkinitfs."
|
||||||
|
|
||||||
#: src/modules/mkinitfs/main.py:49
|
#: src/modules/mkinitfs/main.py:49
|
||||||
msgid "Failed to run mkinitfs on the target"
|
msgid "Failed to run mkinitfs on the target"
|
||||||
msgstr ""
|
msgstr "Impossibile eseguire mkinitfs sulla destinazione"
|
||||||
|
|
||||||
#: src/modules/mkinitfs/main.py:50 src/modules/dracut/main.py:50
|
#: src/modules/mkinitfs/main.py:50 src/modules/dracut/main.py:50
|
||||||
msgid "The exit code was {}"
|
msgid "The exit code was {}"
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
# Ji-Hyeon Gim <potatogim@potatogim.net>, 2018
|
# Ji-Hyeon Gim <potatogim@potatogim.net>, 2018
|
||||||
# Bruce Lee <daemul72@gmail.com>, 2020
|
# Jung Hee Lee <daemul72@gmail.com>, 2020
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-03-19 14:27+0100\n"
|
"POT-Creation-Date: 2021-03-19 14:27+0100\n"
|
||||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||||
"Last-Translator: Bruce Lee <daemul72@gmail.com>, 2020\n"
|
"Last-Translator: Jung Hee Lee <daemul72@gmail.com>, 2020\n"
|
||||||
"Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n"
|
"Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Translators:
|
# Translators:
|
||||||
# André Marcelo Alvarenga <alvarenga@kde.org>, 2020
|
# André Marcelo Alvarenga <alvarenga@kde.org>, 2020
|
||||||
# Guilherme, 2020
|
# Guilherme Marçal Silva, 2020
|
||||||
#
|
#
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
@ -14,7 +14,7 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2021-03-19 14:27+0100\n"
|
"POT-Creation-Date: 2021-03-19 14:27+0100\n"
|
||||||
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||||
"Last-Translator: Guilherme, 2020\n"
|
"Last-Translator: Guilherme Marçal Silva, 2020\n"
|
||||||
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n"
|
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
351
lang/python/ru_RU/LC_MESSAGES/python.po
Normal file
351
lang/python/ru_RU/LC_MESSAGES/python.po
Normal file
@ -0,0 +1,351 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2021-03-19 14:27+0100\n"
|
||||||
|
"PO-Revision-Date: 2017-08-09 10:34+0000\n"
|
||||||
|
"Language-Team: Russian (Russia) (https://www.transifex.com/calamares/teams/20061/ru_RU/)\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Language: ru_RU\n"
|
||||||
|
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||||
|
|
||||||
|
#: src/modules/grubcfg/main.py:28
|
||||||
|
msgid "Configure GRUB."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/mount/main.py:30
|
||||||
|
msgid "Mounting partitions."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/mount/main.py:125 src/modules/initcpiocfg/main.py:198
|
||||||
|
#: src/modules/initcpiocfg/main.py:202
|
||||||
|
#: src/modules/luksopenswaphookcfg/main.py:86
|
||||||
|
#: src/modules/luksopenswaphookcfg/main.py:90 src/modules/rawfs/main.py:164
|
||||||
|
#: src/modules/initramfscfg/main.py:85 src/modules/initramfscfg/main.py:89
|
||||||
|
#: src/modules/openrcdmcryptcfg/main.py:72
|
||||||
|
#: src/modules/openrcdmcryptcfg/main.py:76 src/modules/fstab/main.py:355
|
||||||
|
#: src/modules/fstab/main.py:361 src/modules/localecfg/main.py:135
|
||||||
|
#: src/modules/networkcfg/main.py:39
|
||||||
|
msgid "Configuration Error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/mount/main.py:126 src/modules/initcpiocfg/main.py:199
|
||||||
|
#: src/modules/luksopenswaphookcfg/main.py:87 src/modules/rawfs/main.py:165
|
||||||
|
#: src/modules/initramfscfg/main.py:86 src/modules/openrcdmcryptcfg/main.py:73
|
||||||
|
#: src/modules/fstab/main.py:356
|
||||||
|
msgid "No partitions are defined for <pre>{!s}</pre> to use."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-systemd/main.py:26
|
||||||
|
msgid "Configure systemd services"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-systemd/main.py:59
|
||||||
|
#: src/modules/services-openrc/main.py:93
|
||||||
|
msgid "Cannot modify service"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-systemd/main.py:60
|
||||||
|
msgid ""
|
||||||
|
"<code>systemctl {arg!s}</code> call in chroot returned error code {num!s}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-systemd/main.py:63
|
||||||
|
#: src/modules/services-systemd/main.py:67
|
||||||
|
msgid "Cannot enable systemd service <code>{name!s}</code>."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-systemd/main.py:65
|
||||||
|
msgid "Cannot enable systemd target <code>{name!s}</code>."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-systemd/main.py:69
|
||||||
|
msgid "Cannot disable systemd target <code>{name!s}</code>."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-systemd/main.py:71
|
||||||
|
msgid "Cannot mask systemd unit <code>{name!s}</code>."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-systemd/main.py:73
|
||||||
|
msgid ""
|
||||||
|
"Unknown systemd commands <code>{command!s}</code> and "
|
||||||
|
"<code>{suffix!s}</code> for unit {name!s}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/umount/main.py:31
|
||||||
|
msgid "Unmount file systems."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:35
|
||||||
|
msgid "Filling up filesystems."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:255
|
||||||
|
msgid "rsync failed with error code {}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:300
|
||||||
|
msgid "Unpacking image {}/{}, file {}/{}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:315
|
||||||
|
msgid "Starting to unpack {}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:324 src/modules/unpackfs/main.py:464
|
||||||
|
msgid "Failed to unpack image \"{}\""
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:431
|
||||||
|
msgid "No mount point for root partition"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:432
|
||||||
|
msgid "globalstorage does not contain a \"rootMountPoint\" key, doing nothing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:437
|
||||||
|
msgid "Bad mount point for root partition"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:438
|
||||||
|
msgid "rootMountPoint is \"{}\", which does not exist, doing nothing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:454 src/modules/unpackfs/main.py:458
|
||||||
|
#: src/modules/unpackfs/main.py:478
|
||||||
|
msgid "Bad unsquash configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:455
|
||||||
|
msgid "The filesystem for \"{}\" ({}) is not supported by your current kernel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:459
|
||||||
|
msgid "The source filesystem \"{}\" does not exist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:465
|
||||||
|
msgid ""
|
||||||
|
"Failed to find unsquashfs, make sure you have the squashfs-tools package "
|
||||||
|
"installed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/unpackfs/main.py:479
|
||||||
|
msgid "The destination \"{}\" in the target system is not a directory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/displaymanager/main.py:514
|
||||||
|
msgid "Cannot write KDM configuration file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/displaymanager/main.py:515
|
||||||
|
msgid "KDM config file {!s} does not exist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/displaymanager/main.py:576
|
||||||
|
msgid "Cannot write LXDM configuration file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/displaymanager/main.py:577
|
||||||
|
msgid "LXDM config file {!s} does not exist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/displaymanager/main.py:660
|
||||||
|
msgid "Cannot write LightDM configuration file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/displaymanager/main.py:661
|
||||||
|
msgid "LightDM config file {!s} does not exist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/displaymanager/main.py:735
|
||||||
|
msgid "Cannot configure LightDM"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/displaymanager/main.py:736
|
||||||
|
msgid "No LightDM greeter installed."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/displaymanager/main.py:767
|
||||||
|
msgid "Cannot write SLIM configuration file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/displaymanager/main.py:768
|
||||||
|
msgid "SLIM config file {!s} does not exist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/displaymanager/main.py:894
|
||||||
|
msgid "No display managers selected for the displaymanager module."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/displaymanager/main.py:895
|
||||||
|
msgid ""
|
||||||
|
"The displaymanagers list is empty or undefined in both globalstorage and "
|
||||||
|
"displaymanager.conf."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/displaymanager/main.py:977
|
||||||
|
msgid "Display manager configuration was incomplete"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/initcpiocfg/main.py:28
|
||||||
|
msgid "Configuring mkinitcpio."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/initcpiocfg/main.py:203
|
||||||
|
#: src/modules/luksopenswaphookcfg/main.py:91
|
||||||
|
#: src/modules/initramfscfg/main.py:90 src/modules/openrcdmcryptcfg/main.py:77
|
||||||
|
#: src/modules/fstab/main.py:362 src/modules/localecfg/main.py:136
|
||||||
|
#: src/modules/networkcfg/main.py:40
|
||||||
|
msgid "No root mount point is given for <pre>{!s}</pre> to use."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/luksopenswaphookcfg/main.py:26
|
||||||
|
msgid "Configuring encrypted swap."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/rawfs/main.py:26
|
||||||
|
msgid "Installing data."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-openrc/main.py:29
|
||||||
|
msgid "Configure OpenRC services"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-openrc/main.py:57
|
||||||
|
msgid "Cannot add service {name!s} to run-level {level!s}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-openrc/main.py:59
|
||||||
|
msgid "Cannot remove service {name!s} from run-level {level!s}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-openrc/main.py:61
|
||||||
|
msgid ""
|
||||||
|
"Unknown service-action <code>{arg!s}</code> for service {name!s} in run-"
|
||||||
|
"level {level!s}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-openrc/main.py:94
|
||||||
|
msgid ""
|
||||||
|
"<code>rc-update {arg!s}</code> call in chroot returned error code {num!s}."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-openrc/main.py:101
|
||||||
|
msgid "Target runlevel does not exist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-openrc/main.py:102
|
||||||
|
msgid ""
|
||||||
|
"The path for runlevel {level!s} is <code>{path!s}</code>, which does not "
|
||||||
|
"exist."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-openrc/main.py:110
|
||||||
|
msgid "Target service does not exist"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/services-openrc/main.py:111
|
||||||
|
msgid ""
|
||||||
|
"The path for service {name!s} is <code>{path!s}</code>, which does not "
|
||||||
|
"exist."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/plymouthcfg/main.py:27
|
||||||
|
msgid "Configure Plymouth theme"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/packages/main.py:50 src/modules/packages/main.py:59
|
||||||
|
#: src/modules/packages/main.py:69
|
||||||
|
msgid "Install packages."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/packages/main.py:57
|
||||||
|
#, python-format
|
||||||
|
msgid "Processing packages (%(count)d / %(total)d)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/packages/main.py:62
|
||||||
|
#, python-format
|
||||||
|
msgid "Installing one package."
|
||||||
|
msgid_plural "Installing %(num)d packages."
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
msgstr[3] ""
|
||||||
|
|
||||||
|
#: src/modules/packages/main.py:65
|
||||||
|
#, python-format
|
||||||
|
msgid "Removing one package."
|
||||||
|
msgid_plural "Removing %(num)d packages."
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
msgstr[2] ""
|
||||||
|
msgstr[3] ""
|
||||||
|
|
||||||
|
#: src/modules/bootloader/main.py:43
|
||||||
|
msgid "Install bootloader."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/hwclock/main.py:26
|
||||||
|
msgid "Setting hardware clock."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/mkinitfs/main.py:27
|
||||||
|
msgid "Creating initramfs with mkinitfs."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/mkinitfs/main.py:49
|
||||||
|
msgid "Failed to run mkinitfs on the target"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/mkinitfs/main.py:50 src/modules/dracut/main.py:50
|
||||||
|
msgid "The exit code was {}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/dracut/main.py:27
|
||||||
|
msgid "Creating initramfs with dracut."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/dracut/main.py:49
|
||||||
|
msgid "Failed to run dracut on the target"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/initramfscfg/main.py:32
|
||||||
|
msgid "Configuring initramfs."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/openrcdmcryptcfg/main.py:26
|
||||||
|
msgid "Configuring OpenRC dmcrypt service."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/fstab/main.py:29
|
||||||
|
msgid "Writing fstab."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/dummypython/main.py:35
|
||||||
|
msgid "Dummy python job."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/dummypython/main.py:37 src/modules/dummypython/main.py:93
|
||||||
|
#: src/modules/dummypython/main.py:94
|
||||||
|
msgid "Dummy python step {}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/localecfg/main.py:30
|
||||||
|
msgid "Configuring locales."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/networkcfg/main.py:28
|
||||||
|
msgid "Saving network configuration."
|
||||||
|
msgstr ""
|
@ -35,7 +35,8 @@ public:
|
|||||||
NoError = 0,
|
NoError = 0,
|
||||||
GenericError = -1,
|
GenericError = -1,
|
||||||
PythonUncaughtException = 1,
|
PythonUncaughtException = 1,
|
||||||
InvalidConfiguration = 2
|
InvalidConfiguration = 2,
|
||||||
|
MissingRequirements = 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Can't copy, but you can keep a temporary
|
// Can't copy, but you can keep a temporary
|
||||||
|
@ -474,6 +474,14 @@ def run():
|
|||||||
libcalamares.utils.warning( "EFI system, but nothing mounted on {!s}".format(efi_system_partition) )
|
libcalamares.utils.warning( "EFI system, but nothing mounted on {!s}".format(efi_system_partition) )
|
||||||
return None
|
return None
|
||||||
|
|
||||||
prepare_bootloader(fw_type)
|
try:
|
||||||
|
prepare_bootloader(fw_type)
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
libcalamares.utils.warning(str(e))
|
||||||
|
libcalamares.utils.debug("stdout:" + str(e.stdout))
|
||||||
|
libcalamares.utils.debug("stderr:" + str(e.stderr))
|
||||||
|
return (_("Bootloader installation error"),
|
||||||
|
_("The bootloader could not be installed. The installation command <pre>{!s}</pre> returned error code {!s}.")
|
||||||
|
.format(e.cmd, e.returncode))
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
@ -197,6 +197,8 @@ desktop_environments = [
|
|||||||
DesktopEnvironment('/usr/bin/icewm-session', 'icewm-session'),
|
DesktopEnvironment('/usr/bin/icewm-session', 'icewm-session'),
|
||||||
DesktopEnvironment('/usr/bin/fvwm3', 'fvwm3'),
|
DesktopEnvironment('/usr/bin/fvwm3', 'fvwm3'),
|
||||||
DesktopEnvironment('/usr/bin/sway', 'sway'),
|
DesktopEnvironment('/usr/bin/sway', 'sway'),
|
||||||
|
DesktopEnvironment('/usr/bin/ukui-session', 'ukui'),
|
||||||
|
DesktopEnvironment('/usr/bin/cutefish-session', 'cutefish-xsession'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -372,15 +372,23 @@ def run():
|
|||||||
root_btrfs = (root_partitions[0] == "btrfs") if root_partitions else False
|
root_btrfs = (root_partitions[0] == "btrfs") if root_partitions else False
|
||||||
if root_btrfs:
|
if root_btrfs:
|
||||||
partitions.append( dict(fs="swap", mountPoint=None, claimed=True, device="/swap/swapfile", uuid=None) )
|
partitions.append( dict(fs="swap", mountPoint=None, claimed=True, device="/swap/swapfile", uuid=None) )
|
||||||
else:
|
else:
|
||||||
partitions.append( dict(fs="swap", mountPoint=None, claimed=True, device="/swapfile", uuid=None) )
|
partitions.append( dict(fs="swap", mountPoint=None, claimed=True, device="/swapfile", uuid=None) )
|
||||||
else:
|
else:
|
||||||
swap_choice = None
|
swap_choice = None
|
||||||
|
|
||||||
libcalamares.job.setprogress(0.1)
|
libcalamares.job.setprogress(0.1)
|
||||||
mount_options = conf["mountOptions"]
|
mount_options = conf.get("mountOptions", {})
|
||||||
ssd_extra_mount_options = conf.get("ssdExtraMountOptions", {})
|
ssd_extra_mount_options = conf.get("ssdExtraMountOptions", {})
|
||||||
crypttab_options = conf.get("crypttabOptions", "luks")
|
crypttab_options = conf.get("crypttabOptions", "luks")
|
||||||
|
|
||||||
|
# We rely on mount_options having a default; if there wasn't one,
|
||||||
|
# bail out with a meaningful error.
|
||||||
|
if not mount_options:
|
||||||
|
return (_("Configuration Error"),
|
||||||
|
_("No <pre>{!s}</pre> configuration is given for <pre>{!s}</pre> to use.")
|
||||||
|
.format("mountOptions", "fstab"))
|
||||||
|
|
||||||
generator = FstabGenerator(partitions,
|
generator = FstabGenerator(partitions,
|
||||||
root_mount_point,
|
root_mount_point,
|
||||||
mount_options,
|
mount_options,
|
||||||
|
@ -59,7 +59,7 @@ def run():
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
try:
|
try:
|
||||||
shutil.copy(source_network, target_network)
|
shutil.copy(source_network, target_network, follow_symlinks=False)
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
libcalamares.utils.debug(
|
libcalamares.utils.debug(
|
||||||
"Can't copy network configuration files in "
|
"Can't copy network configuration files in "
|
||||||
@ -80,7 +80,7 @@ def run():
|
|||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
shutil.copy(source_resolv, target_resolv)
|
shutil.copy(source_resolv, target_resolv, follow_symlinks=False)
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
libcalamares.utils.debug(
|
libcalamares.utils.debug(
|
||||||
"Can't copy resolv.conf from {}: {}".format(source_resolv, err)
|
"Can't copy resolv.conf from {}: {}".format(source_resolv, err)
|
||||||
|
@ -579,11 +579,27 @@ def run():
|
|||||||
|
|
||||||
update_db = libcalamares.job.configuration.get("update_db", False)
|
update_db = libcalamares.job.configuration.get("update_db", False)
|
||||||
if update_db and libcalamares.globalstorage.value("hasInternet"):
|
if update_db and libcalamares.globalstorage.value("hasInternet"):
|
||||||
pkgman.update_db()
|
try:
|
||||||
|
pkgman.update_db()
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
libcalamares.utils.warning(str(e))
|
||||||
|
libcalamares.utils.debug("stdout:" + str(e.stdout))
|
||||||
|
libcalamares.utils.debug("stderr:" + str(e.stderr))
|
||||||
|
return (_("Package Manager error"),
|
||||||
|
_("The package manager could not prepare updates. The command <pre>{!s}</pre> returned error code {!s}.")
|
||||||
|
.format(e.cmd, e.returncode))
|
||||||
|
|
||||||
update_system = libcalamares.job.configuration.get("update_system", False)
|
update_system = libcalamares.job.configuration.get("update_system", False)
|
||||||
if update_system and libcalamares.globalstorage.value("hasInternet"):
|
if update_system and libcalamares.globalstorage.value("hasInternet"):
|
||||||
pkgman.update_system()
|
try:
|
||||||
|
pkgman.update_system()
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
libcalamares.utils.warning(str(e))
|
||||||
|
libcalamares.utils.debug("stdout:" + str(e.stdout))
|
||||||
|
libcalamares.utils.debug("stderr:" + str(e.stderr))
|
||||||
|
return (_("Package Manager error"),
|
||||||
|
_("The package manager could not update the system. The command <pre>{!s}</pre> returned error code {!s}.")
|
||||||
|
.format(e.cmd, e.returncode))
|
||||||
|
|
||||||
operations = libcalamares.job.configuration.get("operations", [])
|
operations = libcalamares.job.configuration.get("operations", [])
|
||||||
if libcalamares.globalstorage.contains("packageOperations"):
|
if libcalamares.globalstorage.contains("packageOperations"):
|
||||||
@ -603,11 +619,18 @@ def run():
|
|||||||
for entry in operations:
|
for entry in operations:
|
||||||
group_packages = 0
|
group_packages = 0
|
||||||
libcalamares.utils.debug(pretty_name())
|
libcalamares.utils.debug(pretty_name())
|
||||||
run_operations(pkgman, entry)
|
try:
|
||||||
|
run_operations(pkgman, entry)
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
libcalamares.utils.warning(str(e))
|
||||||
|
libcalamares.utils.debug("stdout:" + str(e.stdout))
|
||||||
|
libcalamares.utils.debug("stderr:" + str(e.stderr))
|
||||||
|
return (_("Package Manager error"),
|
||||||
|
_("The package manager could make changes to the installed system. The command <pre>{!s}</pre> returned error code {!s}.")
|
||||||
|
.format(e.cmd, e.returncode))
|
||||||
|
|
||||||
mode_packages = None
|
mode_packages = None
|
||||||
|
|
||||||
libcalamares.job.setprogress(1.0)
|
libcalamares.job.setprogress(1.0)
|
||||||
libcalamares.utils.debug(pretty_name())
|
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
// KPMcore
|
// KPMcore
|
||||||
#include <kpmcore/core/device.h>
|
#include <kpmcore/core/device.h>
|
||||||
|
#include <kpmcore/core/partition.h>
|
||||||
|
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
|
|
||||||
@ -148,28 +149,39 @@ BootLoaderModel::data( const QModelIndex& index, int role ) const
|
|||||||
return QStandardItemModel::data( index, role );
|
return QStandardItemModel::data( index, role );
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Calamares
|
std::pair< int, Device* >
|
||||||
|
BootLoaderModel::findBootLoader( const QString& path ) const
|
||||||
{
|
{
|
||||||
int
|
int r = 0;
|
||||||
findBootloader( const QAbstractItemModel* model, const QString& path )
|
for ( Device* d : m_devices )
|
||||||
{
|
|
||||||
for ( int i = 0; i < model->rowCount(); ++i )
|
|
||||||
{
|
{
|
||||||
const auto index = model->index( i, 0, QModelIndex() );
|
if ( d && d->deviceNode() == path )
|
||||||
if ( !index.isValid() )
|
|
||||||
{
|
{
|
||||||
continue;
|
return std::make_pair( r, d );
|
||||||
}
|
|
||||||
QVariant var = model->data( index, BootLoaderModel::BootLoaderPathRole );
|
|
||||||
if ( var.isValid() && var.toString() == path )
|
|
||||||
{
|
|
||||||
return i;
|
|
||||||
}
|
}
|
||||||
|
r++;
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
Partition* partition = KPMHelpers::findPartitionByMountPoint( m_devices, path );
|
||||||
|
if ( partition )
|
||||||
|
{
|
||||||
|
const QString partition_device_path = partition->deviceNode();
|
||||||
|
r = 0;
|
||||||
|
for ( Device* d : m_devices )
|
||||||
|
{
|
||||||
|
if ( d && d->deviceNode() == partition_device_path )
|
||||||
|
{
|
||||||
|
return std::make_pair( r, d );
|
||||||
|
}
|
||||||
|
r++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return std::make_pair( -1, nullptr );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
namespace Calamares
|
||||||
|
{
|
||||||
void
|
void
|
||||||
restoreSelectedBootLoader( QComboBox& combo, const QString& path )
|
restoreSelectedBootLoader( QComboBox& combo, const QString& path )
|
||||||
{
|
{
|
||||||
@ -180,12 +192,16 @@ restoreSelectedBootLoader( QComboBox& combo, const QString& path )
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int r = -1;
|
|
||||||
if ( path.isEmpty() )
|
if ( path.isEmpty() )
|
||||||
{
|
{
|
||||||
|
cDebug() << "No path to restore, choosing default";
|
||||||
combo.setCurrentIndex( 0 );
|
combo.setCurrentIndex( 0 );
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else if ( ( r = findBootloader( model, path ) ) >= 0 )
|
|
||||||
|
const BootLoaderModel* bmodel = qobject_cast< const BootLoaderModel* >( model );
|
||||||
|
int r = bmodel ? bmodel->findBootLoader( path ).first : -1;
|
||||||
|
if ( r >= 0 )
|
||||||
{
|
{
|
||||||
combo.setCurrentIndex( r );
|
combo.setCurrentIndex( r );
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,8 @@ class BootLoaderModel : public QStandardItemModel
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
using DeviceList = QList< Device* >;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
BootLoaderPathRole = Qt::UserRole + 1,
|
BootLoaderPathRole = Qt::UserRole + 1,
|
||||||
@ -39,13 +41,19 @@ public:
|
|||||||
* Init the model with the list of devices. Does *not* take ownership of the
|
* Init the model with the list of devices. Does *not* take ownership of the
|
||||||
* devices.
|
* devices.
|
||||||
*/
|
*/
|
||||||
void init( const QList< Device* >& devices );
|
void init( const DeviceList& devices );
|
||||||
|
|
||||||
void update();
|
void update();
|
||||||
|
|
||||||
QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const override;
|
QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const override;
|
||||||
|
|
||||||
using DeviceList = QList< Device* >;
|
/** @brief Looks up a boot-loader by device-name @p path (e.g. /dev/sda)
|
||||||
|
*
|
||||||
|
* Returns a row number (index) in the model and a Device*: if there **is** a
|
||||||
|
* device for the given @p path, index will be in range of the model and
|
||||||
|
* Device* non-null. Returns (-1, nullptr) otherwise.
|
||||||
|
*/
|
||||||
|
std::pair< int, Device* > findBootLoader( const QString& path ) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DeviceList m_devices;
|
DeviceList m_devices;
|
||||||
@ -57,13 +65,6 @@ private:
|
|||||||
|
|
||||||
namespace Calamares
|
namespace Calamares
|
||||||
{
|
{
|
||||||
/** @brief Returns the row number of boot-loader @p path (e.g. /dev/sda)
|
|
||||||
*
|
|
||||||
* Assuming the @p model is a BootLoaderModel, will return a row number
|
|
||||||
* in the model. Returns -1 otherwise.
|
|
||||||
*/
|
|
||||||
int findBootloader( const QAbstractItemModel* model, const QString& path );
|
|
||||||
|
|
||||||
/** @brief Tries to set @p path as selected item in @p combo
|
/** @brief Tries to set @p path as selected item in @p combo
|
||||||
*
|
*
|
||||||
* Matches a boot-loader install path (e.g. /dev/sda) with a model
|
* Matches a boot-loader install path (e.g. /dev/sda) with a model
|
||||||
|
@ -340,7 +340,7 @@ PartitionCoreModule::deviceModel() const
|
|||||||
return m_deviceModel;
|
return m_deviceModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
QAbstractItemModel*
|
BootLoaderModel*
|
||||||
PartitionCoreModule::bootLoaderModel() const
|
PartitionCoreModule::bootLoaderModel() const
|
||||||
{
|
{
|
||||||
return m_bootLoaderModel;
|
return m_bootLoaderModel;
|
||||||
|
@ -122,7 +122,7 @@ public:
|
|||||||
* The single BootLoaderModel instance belongs to the PCM.
|
* The single BootLoaderModel instance belongs to the PCM.
|
||||||
* @return the BootLoaderModel.
|
* @return the BootLoaderModel.
|
||||||
*/
|
*/
|
||||||
QAbstractItemModel* bootLoaderModel() const;
|
BootLoaderModel* bootLoaderModel() const;
|
||||||
|
|
||||||
void createPartitionTable( Device* device, PartitionTable::TableType type );
|
void createPartitionTable( Device* device, PartitionTable::TableType type );
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
#include "gui/PartitionViewStep.h"
|
#include "gui/PartitionViewStep.h"
|
||||||
|
|
||||||
|
#include "core/BootLoaderModel.h"
|
||||||
#include "core/Config.h"
|
#include "core/Config.h"
|
||||||
#include "core/DeviceModel.h"
|
#include "core/DeviceModel.h"
|
||||||
#include "core/KPMHelpers.h"
|
#include "core/KPMHelpers.h"
|
||||||
@ -36,6 +37,7 @@
|
|||||||
#include "utils/NamedEnum.h"
|
#include "utils/NamedEnum.h"
|
||||||
#include "utils/QtCompat.h"
|
#include "utils/QtCompat.h"
|
||||||
#include "utils/Retranslator.h"
|
#include "utils/Retranslator.h"
|
||||||
|
#include "utils/Units.h"
|
||||||
#include "utils/Variant.h"
|
#include "utils/Variant.h"
|
||||||
#include "widgets/WaitingWidget.h"
|
#include "widgets/WaitingWidget.h"
|
||||||
|
|
||||||
@ -395,6 +397,44 @@ PartitionViewStep::onActivate()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool
|
||||||
|
shouldWarnForGPTOnBIOS( const PartitionCoreModule* core )
|
||||||
|
{
|
||||||
|
if ( PartUtils::isEfiSystem() )
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto [ r, device ] = core->bootLoaderModel()->findBootLoader( core->bootLoaderInstallPath() );
|
||||||
|
if ( device )
|
||||||
|
{
|
||||||
|
auto* table = device->partitionTable();
|
||||||
|
cDebug() << "Found device for bootloader" << device->deviceNode();
|
||||||
|
if ( table && table->type() == PartitionTable::TableType::gpt )
|
||||||
|
{
|
||||||
|
// So this is a BIOS system, and the bootloader will be installed on a GPT system
|
||||||
|
for ( const auto& partition : qAsConst( table->children() ) )
|
||||||
|
{
|
||||||
|
using CalamaresUtils::Units::operator""_MiB;
|
||||||
|
if ( ( partition->activeFlags() & PartitionTable::Flag::BiosGrub )
|
||||||
|
&& ( partition->fileSystem().type() == FileSystem::Unformatted )
|
||||||
|
&& ( partition->capacity() >= 8_MiB ) )
|
||||||
|
{
|
||||||
|
cDebug() << Logger::SubEntry << "Partition" << partition->devicePath()
|
||||||
|
<< partition->partitionPath()
|
||||||
|
<< "is a suitable bios_grub partition";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cDebug() << Logger::SubEntry << "No suitable partition for bios_grub found";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cDebug() << "Found no device for" << core->bootLoaderInstallPath();
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PartitionViewStep::onLeave()
|
PartitionViewStep::onLeave()
|
||||||
@ -462,24 +502,25 @@ PartitionViewStep::onLeave()
|
|||||||
{
|
{
|
||||||
|
|
||||||
cDebug() << "device: BIOS";
|
cDebug() << "device: BIOS";
|
||||||
// TODO: this *always* warns, which might be annoying, so it'd be
|
|
||||||
// best to find a way to detect that bios_grub partition.
|
|
||||||
|
|
||||||
QString message = tr( "Option to use GPT on BIOS" );
|
if ( shouldWarnForGPTOnBIOS( m_core ) )
|
||||||
QString description = tr( "A GPT partition table is the best option for all "
|
{
|
||||||
"systems. This installer supports such a setup for "
|
QString message = tr( "Option to use GPT on BIOS" );
|
||||||
"BIOS systems too."
|
QString description = tr( "A GPT partition table is the best option for all "
|
||||||
"<br/><br/>"
|
"systems. This installer supports such a setup for "
|
||||||
"To configure a GPT partition table on BIOS, "
|
"BIOS systems too."
|
||||||
"(if not done so already) go back "
|
"<br/><br/>"
|
||||||
"and set the partition table to GPT, next create a 8 MB "
|
"To configure a GPT partition table on BIOS, "
|
||||||
"unformatted partition with the "
|
"(if not done so already) go back "
|
||||||
"<strong>bios_grub</strong> flag enabled.<br/><br/>"
|
"and set the partition table to GPT, next create a 8 MB "
|
||||||
"An unformatted 8 MB partition is necessary "
|
"unformatted partition with the "
|
||||||
"to start %1 on a BIOS system with GPT." )
|
"<strong>bios_grub</strong> flag enabled.<br/><br/>"
|
||||||
.arg( branding->shortProductName() );
|
"An unformatted 8 MB partition is necessary "
|
||||||
|
"to start %1 on a BIOS system with GPT." )
|
||||||
|
.arg( branding->shortProductName() );
|
||||||
|
|
||||||
QMessageBox::information( m_manualPartitionPage, message, description );
|
QMessageBox::information( m_manualPartitionPage, message, description );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Partition* root_p = m_core->findPartitionByMountPoint( "/" );
|
Partition* root_p = m_core->findPartitionByMountPoint( "/" );
|
||||||
@ -593,7 +634,7 @@ PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap )
|
|||||||
// because it could take a while. Then when it's done, we can set up the widgets
|
// because it could take a while. Then when it's done, we can set up the widgets
|
||||||
// and remove the spinner.
|
// and remove the spinner.
|
||||||
m_future = new QFutureWatcher< void >();
|
m_future = new QFutureWatcher< void >();
|
||||||
connect( m_future, &QFutureWatcher< void >::finished, this, [this] {
|
connect( m_future, &QFutureWatcher< void >::finished, this, [ this ] {
|
||||||
continueLoading();
|
continueLoading();
|
||||||
this->m_future->deleteLater();
|
this->m_future->deleteLater();
|
||||||
this->m_future = nullptr;
|
this->m_future = nullptr;
|
||||||
|
@ -44,6 +44,7 @@ SummaryPage::SummaryPage( const SummaryViewStep* thisViewStep, QWidget* parent )
|
|||||||
layout->setContentsMargins( 0, 0, 0, 0 );
|
layout->setContentsMargins( 0, 0, 0, 0 );
|
||||||
|
|
||||||
QLabel* headerLabel = new QLabel( this );
|
QLabel* headerLabel = new QLabel( this );
|
||||||
|
headerLabel->setObjectName( "summaryTitle" );
|
||||||
CALAMARES_RETRANSLATE( if ( Calamares::Settings::instance()->isSetupMode() )
|
CALAMARES_RETRANSLATE( if ( Calamares::Settings::instance()->isSetupMode() )
|
||||||
headerLabel->setText( tr( "This is an overview of what will happen once you start "
|
headerLabel->setText( tr( "This is an overview of what will happen once you start "
|
||||||
"the setup procedure." ) );
|
"the setup procedure." ) );
|
||||||
@ -169,6 +170,7 @@ QLabel*
|
|||||||
SummaryPage::createTitleLabel( const QString& text ) const
|
SummaryPage::createTitleLabel( const QString& text ) const
|
||||||
{
|
{
|
||||||
QLabel* label = new QLabel( text );
|
QLabel* label = new QLabel( text );
|
||||||
|
label->setObjectName( "summaryItemTitle" );
|
||||||
QFont fnt = font();
|
QFont fnt = font();
|
||||||
fnt.setWeight( QFont::Light );
|
fnt.setWeight( QFont::Light );
|
||||||
fnt.setPointSize( CalamaresUtils::defaultFontSize() * 2 );
|
fnt.setPointSize( CalamaresUtils::defaultFontSize() * 2 );
|
||||||
@ -182,6 +184,7 @@ QLabel*
|
|||||||
SummaryPage::createBodyLabel( const QString& text ) const
|
SummaryPage::createBodyLabel( const QString& text ) const
|
||||||
{
|
{
|
||||||
QLabel* label = new QLabel;
|
QLabel* label = new QLabel;
|
||||||
|
label->setObjectName( "summaryItemBody" );
|
||||||
label->setMargin( CalamaresUtils::defaultFontHeight() / 2 );
|
label->setMargin( CalamaresUtils::defaultFontHeight() / 2 );
|
||||||
QPalette pal( palette() );
|
QPalette pal( palette() );
|
||||||
pal.setColor( WindowBackground, palette().window().color().lighter( 108 ) );
|
pal.setColor( WindowBackground, palette().window().color().lighter( 108 ) );
|
||||||
|
@ -64,6 +64,7 @@ CheckerContainer::requirementsComplete( bool ok )
|
|||||||
m_waitingWidget = nullptr; // Don't delete in destructor
|
m_waitingWidget = nullptr; // Don't delete in destructor
|
||||||
|
|
||||||
m_checkerWidget = new ResultsListWidget( m_model, this );
|
m_checkerWidget = new ResultsListWidget( m_model, this );
|
||||||
|
m_checkerWidget->setObjectName( "requirementsChecker" );
|
||||||
layout()->addWidget( m_checkerWidget );
|
layout()->addWidget( m_checkerWidget );
|
||||||
|
|
||||||
m_verdict = ok;
|
m_verdict = ok;
|
||||||
|
@ -29,11 +29,14 @@ ResultWidget::ResultWidget( bool satisfied, bool required, QWidget* parent )
|
|||||||
setLayout( mainLayout );
|
setLayout( mainLayout );
|
||||||
|
|
||||||
m_iconLabel = new QLabel( this );
|
m_iconLabel = new QLabel( this );
|
||||||
mainLayout->addWidget( m_iconLabel );
|
|
||||||
m_iconLabel->setFixedSize( CalamaresUtils::defaultIconSize() );
|
m_iconLabel->setFixedSize( CalamaresUtils::defaultIconSize() );
|
||||||
|
m_iconLabel->setObjectName( "resultIcon" );
|
||||||
|
mainLayout->addWidget( m_iconLabel );
|
||||||
|
|
||||||
m_textLabel = new QLabel( this );
|
m_textLabel = new QLabel( this );
|
||||||
mainLayout->addWidget( m_textLabel );
|
|
||||||
m_textLabel->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred );
|
m_textLabel->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred );
|
||||||
|
m_textLabel->setObjectName( "resultText" );
|
||||||
|
mainLayout->addWidget( m_textLabel );
|
||||||
|
|
||||||
if ( satisfied )
|
if ( satisfied )
|
||||||
{
|
{
|
||||||
|
@ -52,9 +52,12 @@ createResultWidgets( QLayout* layout,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const QString checkName = model.data( index, Calamares::RequirementsModel::Name ).toString();
|
||||||
const bool is_satisfied = model.data( index, Calamares::RequirementsModel::Satisfied ).toBool();
|
const bool is_satisfied = model.data( index, Calamares::RequirementsModel::Satisfied ).toBool();
|
||||||
const bool is_mandatory = model.data( index, Calamares::RequirementsModel::Mandatory ).toBool();
|
const bool is_mandatory = model.data( index, Calamares::RequirementsModel::Mandatory ).toBool();
|
||||||
ResultWidget* ciw = new ResultWidget( is_satisfied, is_mandatory );
|
ResultWidget* ciw = new ResultWidget( is_satisfied, is_mandatory );
|
||||||
|
ciw->setObjectName( checkName );
|
||||||
|
|
||||||
layout->addWidget( ciw );
|
layout->addWidget( ciw );
|
||||||
ciw->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred );
|
ciw->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred );
|
||||||
|
|
||||||
@ -105,6 +108,7 @@ ResultsListDialog::ResultsListDialog( const Calamares::RequirementsModel& model,
|
|||||||
auto* entriesLayout = new QVBoxLayout;
|
auto* entriesLayout = new QVBoxLayout;
|
||||||
|
|
||||||
m_title = new QLabel( this );
|
m_title = new QLabel( this );
|
||||||
|
m_title->setObjectName( "resultDialogTitle" );
|
||||||
|
|
||||||
createResultWidgets(
|
createResultWidgets(
|
||||||
entriesLayout, m_resultWidgets, model, []( const Calamares::RequirementsModel& m, QModelIndex i ) {
|
entriesLayout, m_resultWidgets, model, []( const Calamares::RequirementsModel& m, QModelIndex i ) {
|
||||||
@ -112,6 +116,7 @@ ResultsListDialog::ResultsListDialog( const Calamares::RequirementsModel& model,
|
|||||||
} );
|
} );
|
||||||
|
|
||||||
QDialogButtonBox* buttonBox = new QDialogButtonBox( QDialogButtonBox::Close, Qt::Horizontal, this );
|
QDialogButtonBox* buttonBox = new QDialogButtonBox( QDialogButtonBox::Close, Qt::Horizontal, this );
|
||||||
|
buttonBox->setObjectName( "resultDialogButtons" );
|
||||||
|
|
||||||
mainLayout->addWidget( m_title );
|
mainLayout->addWidget( m_title );
|
||||||
mainLayout->addLayout( entriesLayout );
|
mainLayout->addLayout( entriesLayout );
|
||||||
@ -168,6 +173,7 @@ ResultsListWidget::ResultsListWidget( const Calamares::RequirementsModel& model,
|
|||||||
m_explanation->setWordWrap( true );
|
m_explanation->setWordWrap( true );
|
||||||
m_explanation->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred );
|
m_explanation->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Preferred );
|
||||||
m_explanation->setOpenExternalLinks( false );
|
m_explanation->setOpenExternalLinks( false );
|
||||||
|
m_explanation->setObjectName( "resultsExplanation" );
|
||||||
connect( m_explanation, &QLabel::linkActivated, this, &ResultsListWidget::linkClicked );
|
connect( m_explanation, &QLabel::linkActivated, this, &ResultsListWidget::linkClicked );
|
||||||
entriesLayout->addWidget( m_explanation );
|
entriesLayout->addWidget( m_explanation );
|
||||||
|
|
||||||
@ -208,9 +214,10 @@ ResultsListWidget::ResultsListWidget( const Calamares::RequirementsModel& model,
|
|||||||
}
|
}
|
||||||
|
|
||||||
imageLabel->setContentsMargins( 4, CalamaresUtils::defaultFontHeight() * 3 / 4, 4, 4 );
|
imageLabel->setContentsMargins( 4, CalamaresUtils::defaultFontHeight() * 3 / 4, 4, 4 );
|
||||||
mainLayout->addWidget( imageLabel );
|
|
||||||
imageLabel->setAlignment( Qt::AlignCenter );
|
imageLabel->setAlignment( Qt::AlignCenter );
|
||||||
imageLabel->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
|
imageLabel->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
|
||||||
|
imageLabel->setObjectName( "welcomeLogo" );
|
||||||
|
mainLayout->addWidget( imageLabel );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_explanation->setAlignment( Qt::AlignCenter );
|
m_explanation->setAlignment( Qt::AlignCenter );
|
||||||
|
Loading…
Reference in New Issue
Block a user