Merge branch 'master' of https://github.com/calamares/calamares into development

This commit is contained in:
Philip Müller 2018-09-05 19:54:36 +02:00
commit da89f461bd
19 changed files with 264 additions and 111 deletions

70
CHANGES
View File

@ -3,12 +3,21 @@ contributors are listed. Note that Calamares does not have a historical
changelog -- this log starts with version 3.2.0. The release notes on the
website will have to do for older versions.
= 3.2.2 (unreleased) =
= 3.2.3 (unreleased) =
This release contains contributions from (alphabetically by first name):
== Core ==
== Modules ==
= 3.2.2 (2018-09-04) =
This release contains contributions from (alphabetically by first name):
- Andrius Štikonas
- artoo@cromnix.org
- Caio Carvalho
- Harald Sitter
- Philip Müller
- Simon Quigley
- Walter Lapchynski
@ -61,5 +70,64 @@ This release contains contributions from (alphabetically by first name):
**3.2.1** (2018-06-25)
This release contains contributions from (alphabetically by first name):
- Bill Auguer
- Gabriel Craciunescu
- Phil Mueller
- Raul Rodrigo Segura
== Core ==
* Qt 5.7 is now the minimum required Qt version. Because KPMCore
(a fairly fundamental dependency) requires Qt 5.7, Calamares
has followed suit.
* New testing application `loadmodule` for loading and running a
single Calamares module.
* New translations Belarussian and Korean.
* Jobs can now be *emergency jobs* which run even after a failure.
* Improved debugging when modules fail to load.
* Bad configuration files will now cause the user-interface of
Calamares to display an error message, rather than silently
ignoring some configuration errors. This will certainly cause
problems for distributions with sloppy configurations.
== Modules ==
* New module preservefiles, keeps (log) files around after install;
this duplicates functionality with the unmount module, but unmount
is very late, rather limited, and fragile.
* Interactiveterminal module now disables itself if build requirements
are not met, rather than blocking the build.
* Fixes in the timezone map data make the southern hemisphere more
usable and put Reykjavik in its place.
* The packages module can now update the target system if explicitly
told to do so.
* More paths and executables are configurable in the bootloader module.
* Distributions are advised to review the `users.conf` setup **again**,
as some changes in version 3.2.0 caused regressions downstream.
* Distributions are advised to review their `locale.gen` files
**again**. Previous changes were too restrictive, matching only
the specific format Chakra Linux uses. Calamares now preserves
all the comment-lines in the file and writes enabled locales
at the end, with a descriptive comment.
**3.2.0** (2018-05-17)
This release contains contributions from (alphabetically by first name):
- Alf Gaida
- AlmAck
- Caio Carvalho
- Frede H
== Modules ==
* UI annoyances in the partitioning module were fixed; the
mount-point selector is now more obvious when no mount-point
has been chosen, and the mount-point and flags are preserved
when (re)editing partitions.
* The handling of `@@ROOT@@` substitution in shellprocesses was
backwards; this has been fixed (the substitution is made when
running in the **host**).
* The user shell is no longer hard-coded to `/bin/bash`,
but follows the default setting for useradd(8), e.g.
those set in `/etc/default/useradd`.

View File

@ -74,7 +74,7 @@ set( CALAMARES_DESCRIPTION_SUMMARY
set( CALAMARES_VERSION_MAJOR 3 )
set( CALAMARES_VERSION_MINOR 2 )
set( CALAMARES_VERSION_PATCH 2 )
set( CALAMARES_VERSION_PATCH 3 )
set( CALAMARES_VERSION_RC 1 )
### Transifex (languages) info

View File

@ -2,6 +2,9 @@
#
# Sets PYTHONQT_FOUND, PYTHONQT_INCLUDE_DIR, PYTHONQT_LIBRARY, PYTHONQT_LIBRARIES
#
# Also sets PYTHONQT_INCLUDE_DIRS to add whatever directories
# that are needed for extensions.
#
# Python is required
find_package(PythonLibs)
@ -24,22 +27,38 @@ string(REGEX REPLACE
)
if(NOT EXISTS "${PYTHONQT_INSTALL_DIR}")
find_path(PYTHONQT_INSTALL_DIR include/PythonQt/PythonQt.h DOC "Directory where PythonQt was installed.")
find_path(PYTHONQT_INSTALL_DIR
NAMES
include/PythonQt/PythonQt.h
include/PythonQt5/PythonQt.h
DOC "Directory where PythonQt was installed.")
endif()
# XXX Since PythonQt 3.0 is not yet cmakeified, depending
# on how PythonQt is built, headers will not always be
# installed in "include/PythonQt". That is why "src"
# is added as an option. See [1] for more details.
# [1] https://github.com/commontk/CTK/pull/538#issuecomment-86106367
find_path(PYTHONQT_INCLUDE_DIR PythonQt.h
PATHS "${PYTHONQT_INSTALL_DIR}/include/PythonQt"
PATHS
"${PYTHONQT_INSTALL_DIR}/include/PythonQt"
"${PYTHONQT_INSTALL_DIR}/include/PythonQt5"
"${PYTHONQT_INSTALL_DIR}/src"
DOC "Path to the PythonQt include directory")
DOC "Path to the PythonQt include directory")
find_path(PYTHONQT_ALL_INCLUDE_DIR PythonQt_QtAll.h
PATHS
"${PYTHONQT_INCLUDE_DIR}"
"${PYTHONQT_INSTALL_DIR}"
PATH_SUFFIXES
"extensions/PythonQt_QtAll"
"src"
DOC "Path to the PythonQt 'all' header")
if ( NOT PythonQt_FIND_QUIETLY )
message( STATUS "Searching for PythonQt (PythonLibs ${PYTHONLIBS_MAJMIN}) .." )
if ( PYTHONQT_INCLUDE_DIR )
message( STATUS " .. found include ${PYTHONQT_INCLUDE_DIR}" )
message( STATUS " .. found all include ${PYTHONQT_ALL_INCLUDE_DIR}" )
endif()
endif()
@ -139,6 +158,10 @@ if(PYTHONQT_INCLUDE_DIR AND PYTHONQT_LIBRARY AND PYTHONQT_QTALL_LIBRARY)
set(PYTHONQT_FOUND 1)
set(PythonQt_FOUND ${PYTHONQT_FOUND})
set(PYTHONQT_LIBRARIES ${PYTHONQT_LIBRARY} ${PYTHONQT_LIBUTIL} ${PYTHONQT_QTALL_LIBRARY})
set(PYTHONQT_INCLUDE_DIRS ${PYTHONQT_INCLUDE_DIR})
if(PYTHONQT_ALL_INCLUDE_DIR)
list(APPEND PYTHONQT_INCLUDE_DIRS ${PYTHONQT_ALL_INCLUDE_DIR})
endif()
elseif(NOT PythonQt_FIND_QUIETLY)
set(_missing "")
if (NOT PYTHONQT_INCLUDE_DIR)

View File

@ -12,5 +12,25 @@ test -f $SRCDIR/CMakeLists.txt || { echo "! Missing $SRCDIR/CMakeLists.txt" ; ex
cd $BUILDDIR || exit 1
echo "# cmake $CMAKE_ARGS $SRCDIR"
cmake $CMAKE_ARGS $SRCDIR && make -j2 && make install DESTDIR=/build/INSTALL_ROOT
echo "###"
echo "### cmake $CMAKE_ARGS $SRCDIR"
echo "###"
cmake $CMAKE_ARGS $SRCDIR || { echo "! CMake failed" ; exit 1 ; }
echo -e "###\n### make\n###"
make -j2 || { make -j1 VERBOSE=1 ; echo "! Make failed" ; exit 1 ; }
echo -e "###\n### make install\n###"
echo "# Build results"
find "$BUILDDIR" -name '*.so'
echo "# Install"
DESTDIR=/build/INSTALL_ROOT
mkdir -p "$DESTDIR"
result=true
make install VERBOSE=1 DESTDIR="$DESTDIR" || result=false
echo "# Install results"
find "$DESTDIR" -type f
$result # Result of make install, above

View File

@ -1791,7 +1791,7 @@ L&apos;instal·lador es tancarà i tots els canvis es perdran.</translation>
<message>
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="451"/>
<source>A separate boot partition was set up together with an encrypted root partition, but the boot partition is not encrypted.&lt;br/&gt;&lt;br/&gt;There are security concerns with this kind of setup, because important system files are kept on an unencrypted partition.&lt;br/&gt;You may continue if you wish, but filesystem unlocking will happen later during system startup.&lt;br/&gt;To encrypt the boot partition, go back and recreate it, selecting &lt;strong&gt;Encrypt&lt;/strong&gt; in the partition creation window.</source>
<translation>S&apos;ha establert una partició d&apos;arrencada separada conjuntament amb una partició d&apos;arrel encriptada, però la partició d&apos;arrencada no està encriptada.&lt;br/&gt;&lt;br/&gt;Hi ha aspectes de seguretat amb aquest tipus de configuració, perquè hi ha fitxers del sistema importants en una partició no encriptada.&lt;br/&gt;Podeu continuar, si així ho desitgeu, però el desbloqueig del sistema de fitxers succeirà després, durant l&apos;inici del sistema.&lt;br/&gt;Per encriptar la partició d&apos;arrencada, torneu enrere i torneu-la a crear seleccionant &lt;strong&gt;Encripta&lt;/strong&gt; a la finestra de creació de la partició.</translation>
<translation>S&apos;ha establert una partició d&apos;arrencada separada conjuntament amb una partició d&apos;arrel encriptada, però la partició d&apos;arrencada no està encriptada.&lt;br/&gt;&lt;br/&gt;Hi ha assumptes de seguretat amb aquest tipus de configuració, perquè hi ha fitxers del sistema importants en una partició no encriptada.&lt;br/&gt;Podeu continuar, si així ho desitgeu, però el desbloqueig del sistema de fitxers succeirà després, durant l&apos;inici del sistema.&lt;br/&gt;Per encriptar la partició d&apos;arrencada, torneu enrere i torneu-la a crear seleccionant &lt;strong&gt;Encripta&lt;/strong&gt; a la finestra de creació de la partició.</translation>
</message>
</context>
<context>
@ -2292,12 +2292,12 @@ Sortida:
<message>
<location filename="../src/modules/users/SetPasswordJob.cpp" line="113"/>
<source>rootMountPoint is %1</source>
<translation>El punt de muntatge d&apos;arrel és %1</translation>
<translation>El punt de muntatge de l&apos;arrel és %1</translation>
</message>
<message>
<location filename="../src/modules/users/SetPasswordJob.cpp" line="123"/>
<source>Cannot disable root account.</source>
<translation>No es pot inhabilitar el compte de root.</translation>
<translation>No es pot inhabilitar el compte d&apos;arrel.</translation>
</message>
<message>
<location filename="../src/modules/users/SetPasswordJob.cpp" line="124"/>

View File

@ -50,7 +50,7 @@
<message>
<location filename="../src/libcalamaresui/viewpages/BlankViewStep.cpp" line="69"/>
<source>Blank Page</source>
<translation type="unfinished"/>
<translation>Κενή Σελίδα</translation>
</message>
</context>
<context>
@ -192,7 +192,7 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="179"/>
<source>Calamares Initialization Failed</source>
<translation type="unfinished"/>
<translation>Η αρχικοποίηση του Calamares απέτυχε</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="180"/>
@ -207,7 +207,7 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="277"/>
<source>&amp;Install</source>
<translation type="unfinished"/>
<translation>&amp;Εγκατάσταση</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="325"/>
@ -249,17 +249,17 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="243"/>
<source>&amp;Install now</source>
<translation>Ε&amp;γκατάσταση τώρα</translation>
<translation>&amp;Εγκατάσταση τώρα</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="244"/>
<source>Go &amp;back</source>
<translation>Μετάβαση πί&amp;σω</translation>
<translation>Μετάβαση &amp;πίσω</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="283"/>
<source>&amp;Done</source>
<translation type="unfinished"/>
<translation>&amp;Ολοκληρώθηκε</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="284"/>
@ -2087,7 +2087,7 @@ Output:
<message>
<location filename="../src/modules/welcome/checker/RequirementsChecker.cpp" line="163"/>
<source>The screen is too small to display the installer.</source>
<translation type="unfinished"/>
<translation>Η οθόνη είναι πολύ μικρή για να απεικονίσει το πρόγραμμα εγκατάστασης</translation>
</message>
</context>
<context>
@ -2173,17 +2173,17 @@ Output:
<location filename="../src/modules/keyboard/SetKeyboardLayoutJob.cpp" line="323"/>
<location filename="../src/modules/keyboard/SetKeyboardLayoutJob.cpp" line="329"/>
<source>Failed to write to %1</source>
<translation type="unfinished"/>
<translation>Αδυναμία εγγραφής στο %1</translation>
</message>
<message>
<location filename="../src/modules/keyboard/SetKeyboardLayoutJob.cpp" line="322"/>
<source>Failed to write keyboard configuration for X11.</source>
<translation type="unfinished"/>
<translation>Αδυναμία εγγραφής στοιχείων διαμόρφωσης πληκτρολογίου για Χ11</translation>
</message>
<message>
<location filename="../src/modules/keyboard/SetKeyboardLayoutJob.cpp" line="328"/>
<source>Failed to write keyboard configuration to existing /etc/default directory.</source>
<translation type="unfinished"/>
<translation>Αδυναμία εγγραφής στοιχείων διαμόρφωσης πληκτρολογίου στον υπάρχων κατάλογο /etc/default</translation>
</message>
</context>
<context>

View File

@ -193,22 +193,22 @@ Para configurar el arranque desde un entorno BIOS, este instalador debe instalar
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="179"/>
<source>Calamares Initialization Failed</source>
<translation type="unfinished"/>
<translation>La inicialización de Calamares falló</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="180"/>
<source>%1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution.</source>
<translation type="unfinished"/>
<translation>%1 no se pudo instalar. Calamares no fue capaz de cargar todos los módulos configurados. Esto es un problema con la forma en que Calamares es usado por la distribución</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="185"/>
<source>&lt;br/&gt;The following modules could not be loaded:</source>
<translation type="unfinished"/>
<translation>Los siguientes módulos no se pudieron cargar:</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="277"/>
<source>&amp;Install</source>
<translation type="unfinished"/>
<translation>&amp;Instalar</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="325"/>
@ -509,12 +509,12 @@ Saldrá del instalador y se perderán todos los cambios.</translation>
<message>
<location filename="../src/libcalamares/utils/CommandList.cpp" line="128"/>
<source>The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined.</source>
<translation type="unfinished"/>
<translation>El comando corre en el ambiente anfitrión y necesita saber el directorio raiz, pero no está definido el punto de montaje de la raiz</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CommandList.cpp" line="139"/>
<source>The command needs to know the user&apos;s name, but no username is defined.</source>
<translation type="unfinished"/>
<translation>El comando necesita saber el nombre de usuario, pero no hay nombre de usuario definido.</translation>
</message>
</context>
<context>
@ -1664,7 +1664,7 @@ Saldrá del instalador y se perderán todos los cambios.</translation>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="107"/>
<source>Cre&amp;ate</source>
<translation type="unfinished"/>
<translation>Cre&amp;ar</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="114"/>
@ -1689,12 +1689,12 @@ Saldrá del instalador y se perderán todos los cambios.</translation>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="195"/>
<source>Can not create new partition</source>
<translation type="unfinished"/>
<translation>No se puede crear una partición nueva</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="196"/>
<source>The partition table on %1 already has %2 primary partitions, and no more can be added. Please remove one primary partition and add an extended partition, instead.</source>
<translation type="unfinished"/>
<translation>La tabla de particiones en %1 tiene %2 particiones primarias y no se pueden agregar más. Por favor remueva una partición primaria y agregue una partición extendida en su reemplazo.</translation>
</message>
</context>
<context>
@ -1824,7 +1824,7 @@ Saldrá del instalador y se perderán todos los cambios.</translation>
<message>
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="67"/>
<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 installed. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel.</source>
<translation type="unfinished"/>
<translation>Elija una apariencia para KDE Plasma Desktop. También puede omitir este paso y configurar el aspecto una vez que el sistema está instalado. Al hacer clic en una selección de apariencia, obtendrá una vista previa en vivo de esa apariencia.</translation>
</message>
</context>
<context>
@ -1840,17 +1840,17 @@ Saldrá del instalador y se perderán todos los cambios.</translation>
<message>
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="83"/>
<source>Saving files for later ...</source>
<translation type="unfinished"/>
<translation>Guardando archivos para después ...</translation>
</message>
<message>
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="89"/>
<source>No files configured to save for later.</source>
<translation type="unfinished"/>
<translation>No hay archivos configurados para guardarlos para después.</translation>
</message>
<message>
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="145"/>
<source>Not all of the configured files could be preserved.</source>
<translation type="unfinished"/>
<translation>No todos los archivos de configuración se pudieron preservar.</translation>
</message>
</context>
<context>
@ -2368,7 +2368,7 @@ Salida:
<location filename="../src/qml/calamares/slideshow/SlideCounter.qml" line="36"/>
<source>%L1 / %L2</source>
<extracomment>slide counter, %1 of %2 (numeric)</extracomment>
<translation type="unfinished"/>
<translation>%L1 / %L2</translation>
</message>
</context>
<context>

View File

@ -1823,7 +1823,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="67"/>
<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 installed. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel.</source>
<translation type="unfinished"/>
<translation>נא לבחור מראה ותחושה עבור שולחן העבודה KDE Plasma. ניתן גם לדלג על השלב הזה ולהגדיר מראה ותחושה לאחר הקמת המערכת. בחירה בתצורת מראה ותחושה תעניק לך תצוגה מקדימה חיה של אותה התצורה.</translation>
</message>
</context>
<context>
@ -2595,7 +2595,7 @@ Output:
<message>
<location filename="../src/modules/welcome/WelcomePage.cpp" line="75"/>
<source>&lt;h1&gt;%1&lt;/h1&gt;&lt;br/&gt;&lt;strong&gt;%2&lt;br/&gt;for %3&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Copyright 2014-2017 Teo Mrnjavac &amp;lt;teo@kde.org&amp;gt;&lt;br/&gt;Copyright 2017 Adriaan de Groot &amp;lt;groot@kde.org&amp;gt;&lt;br/&gt;Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the &lt;a href=&quot;https://www.transifex.com/calamares/calamares/&quot;&gt;Calamares translators team&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;https://calamares.io/&quot;&gt;Calamares&lt;/a&gt; development is sponsored by &lt;br/&gt;&lt;a href=&quot;http://www.blue-systems.com/&quot;&gt;Blue Systems&lt;/a&gt; - Liberating Software.</source>
<translation type="unfinished"/>
<translation>&lt;h1&gt;%1&lt;/h1&gt;&lt;br/&gt;&lt;strong&gt;%2&lt;br/&gt;עבור %3&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;כל הזכויות שמורות 2014-2017 Teo Mrnjavac &amp;lt;teo@kde.org&amp;gt;&lt;br/&gt;כל הזכויות שמורות 2017 Adriaan de Groot &amp;lt;groot@kde.org&amp;gt;&lt;br/&gt;תודתנו נתונה ל־: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg ול&lt;a href=&quot;https://www.transifex.com/calamares/calamares/&quot;&gt;צוות המתרגמים של Calamares&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;הפיתוח של&lt;a href=&quot;https://calamares.io/&quot;&gt;Calamares&lt;/a&gt; מוגש בחסות &lt;br/&gt;&lt;a href=&quot;http://www.blue-systems.com/&quot;&gt;Blue Systems&lt;/a&gt; - דואגים לחופש התכנה.</translation>
</message>
<message>
<location filename="../src/modules/welcome/WelcomePage.cpp" line="290"/>

View File

@ -197,7 +197,7 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="180"/>
<source>%1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution.</source>
<translation type="unfinished"/>
<translation>%1 Calamares Calamares 使</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="185"/>
@ -1694,7 +1694,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="196"/>
<source>The partition table on %1 already has %2 primary partitions, and no more can be added. Please remove one primary partition and add an extended partition, instead.</source>
<translation type="unfinished"/>
<translation>%1 %2 </translation>
</message>
</context>
<context>
@ -1845,12 +1845,12 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="89"/>
<source>No files configured to save for later.</source>
<translation type="unfinished"/>
<translation></translation>
</message>
<message>
<location filename="../src/modules/preservefiles/PreserveFiles.cpp" line="145"/>
<source>Not all of the configured files could be preserved.</source>
<translation type="unfinished"/>
<translation></translation>
</message>
</context>
<context>

View File

@ -259,7 +259,7 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="283"/>
<source>&amp;Done</source>
<translation>Completa&amp;do</translation>
<translation>Concluí&amp;do</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="284"/>
@ -318,14 +318,12 @@ O instalador será fechado e todas as alterações serão perdidas.</translation
<message>
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="96"/>
<source>This computer does not satisfy the minimum requirements for installing %1.&lt;br/&gt;Installation cannot continue. &lt;a href=&quot;#details&quot;&gt;Details...&lt;/a&gt;</source>
<translation>Este computador não satisfaz os requisitos mínimos para instalar %1.
A instalação não pode continuar. Detalhes:</translation>
<translation>Este computador não satisfaz os requisitos mínimos para instalar %1.&lt;br/&gt;A instalação não pode continuar. &lt;a href=&quot;#details&quot;&gt;Detalhes...&lt;/a&gt;</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="113"/>
<source>This computer does not satisfy some of the recommended requirements for installing %1.&lt;br/&gt;Installation can continue, but some features might be disabled.</source>
<translation>Este computador não satisfaz alguns dos requisitos recomendados para instalar %1.
A instalação pode continuar, mas alguns recursos podem ser desativados.</translation>
<translation>Este computador não satisfaz alguns dos requisitos recomendados para instalar %1.&lt;br/&gt;A instalação pode continuar, mas alguns recursos podem ser desativados.</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="151"/>
@ -912,7 +910,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.</trans
<message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="159"/>
<source>Install %2 on %3 system partition &lt;strong&gt;%1&lt;/strong&gt;.</source>
<translation>Instalar %2 em partição %3 do sistema &lt;strong&gt;%1&lt;/strong&gt;.</translation>
<translation>Instalar %2 na partição %3 do sistema &lt;strong&gt;%1&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="164"/>

View File

@ -197,7 +197,7 @@
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="180"/>
<source>%1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution.</source>
<translation type="unfinished"/>
<translation>Не удалось установить %1. Calamares не удалось загрузить все сконфигурированные модули. Эта проблема вызвана тем, как ваш дистрибутив использует Calamares.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="185"/>
@ -507,7 +507,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/libcalamares/utils/CommandList.cpp" line="128"/>
<source>The command runs in the host environment and needs to know the root path, but no rootMountPoint is defined.</source>
<translation type="unfinished"/>
<translation>Команда выполняется в окружении установщика, и ей необходимо знать путь корневого раздела, но rootMountPoint не определено.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CommandList.cpp" line="139"/>
@ -558,7 +558,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="151"/>
<source>LVM LV name</source>
<translation type="unfinished"/>
<translation>Имя LV LVM</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="188"/>
@ -1063,7 +1063,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/locale/LCLocaleDialog.cpp" line="67"/>
<source>&amp;OK</source>
<translation type="unfinished"/>
<translation>&amp;ОК</translation>
</message>
</context>
<context>
@ -1217,7 +1217,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/netinstall/NetInstallPage.cpp" line="96"/>
<source>Network Installation. (Disabled: Received invalid groups data)</source>
<translation type="unfinished"/>
<translation>Установка по сети. (Отключено: получены неверные сведения о группах)</translation>
</message>
</context>
<context>
@ -1248,12 +1248,12 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="158"/>
<source>Memory allocation error when setting &apos;%1&apos;</source>
<translation type="unfinished"/>
<translation>Ошибка выделения памяти при установке «%1»</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="162"/>
<source>Memory allocation error</source>
<translation type="unfinished"/>
<translation>Ошибка выделения памяти</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="164"/>
@ -1413,12 +1413,12 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="231"/>
<source>Unknown setting - %1</source>
<translation type="unfinished"/>
<translation>Неизвестная настройка - %1</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="235"/>
<source>Unknown setting</source>
<translation type="unfinished"/>
<translation>Неизвестная настройка</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="239"/>
@ -1428,27 +1428,27 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="243"/>
<source>Bad integer value</source>
<translation type="unfinished"/>
<translation>Недопустимое целое значение</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="247"/>
<source>Setting %1 is not of integer type</source>
<translation type="unfinished"/>
<translation>Настройка %1 не является целым числом</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="251"/>
<source>Setting is not of integer type</source>
<translation type="unfinished"/>
<translation>Настройка не является целым числом</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="255"/>
<source>Setting %1 is not of string type</source>
<translation type="unfinished"/>
<translation>Настройка %1 не является строкой</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="259"/>
<source>Setting is not of string type</source>
<translation type="unfinished"/>
<translation>Настройка не является строкой</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="261"/>
@ -1458,12 +1458,12 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="263"/>
<source>The configuration file is malformed</source>
<translation type="unfinished"/>
<translation>Ошибка в структуре конфигурационного файла</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="265"/>
<source>Fatal failure</source>
<translation type="unfinished"/>
<translation>Фатальный сбой</translation>
</message>
<message>
<location filename="../src/modules/users/CheckPWQuality.cpp" line="267"/>
@ -1662,7 +1662,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="107"/>
<source>Cre&amp;ate</source>
<translation type="unfinished"/>
<translation>Со&amp;здать</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="114"/>
@ -1804,7 +1804,7 @@ The installer will quit and all changes will be lost.</source>
<location filename="../src/modules/plasmalnf/PlasmaLnfJob.cpp" line="73"/>
<location filename="../src/modules/plasmalnf/PlasmaLnfJob.cpp" line="74"/>
<source>Could not select KDE Plasma Look-and-Feel package</source>
<translation type="unfinished"/>
<translation>Не удалось выбрать пакет внешнего вида для KDE Plasma</translation>
</message>
</context>
<context>
@ -1822,7 +1822,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="67"/>
<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 installed. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel.</source>
<translation type="unfinished"/>
<translation>Выберите внешний вид окружения KDE Plasma. Вы можете пропустить этот шаг, и настроить его после установки системы. Щелкните на выборе внешнего вида, чтобы увидеть, как он будет выглядеть.</translation>
</message>
</context>
<context>
@ -1830,7 +1830,7 @@ The installer will quit and all changes will be lost.</source>
<message>
<location filename="../src/modules/plasmalnf/PlasmaLnfViewStep.cpp" line="68"/>
<source>Look-and-Feel</source>
<translation type="unfinished"/>
<translation>Внешний вид</translation>
</message>
</context>
<context>
@ -1906,7 +1906,7 @@ Output:
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="291"/>
<source>Command &lt;i&gt;%1&lt;/i&gt; failed to finish in %2 seconds.</source>
<translation type="unfinished"/>
<translation>Команда &lt;i&gt;%1&lt;/i&gt; не завершилась за %2 с.</translation>
</message>
<message>
<location filename="../src/libcalamares/utils/CalamaresUtilsSystem.cpp" line="297"/>
@ -2404,7 +2404,7 @@ Output:
<message>
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="89"/>
<source>HTTP request timed out.</source>
<translation type="unfinished"/>
<translation>Тайм-аут запроса HTTP.</translation>
</message>
</context>
<context>
@ -2428,12 +2428,12 @@ Output:
<message>
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="134"/>
<source>Could not configure machine feedback correctly, script error %1.</source>
<translation type="unfinished"/>
<translation>Не удалось настроить отзывы о компьютере, ошибка сценария %1.</translation>
</message>
<message>
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="137"/>
<source>Could not configure machine feedback correctly, Calamares error %1.</source>
<translation type="unfinished"/>
<translation>Не удалось настроить отзывы о компьютере, ошибка Calamares %1.</translation>
</message>
</context>
<context>
@ -2451,7 +2451,7 @@ Output:
<message>
<location filename="../src/modules/tracking/page_trackingstep.ui" line="72"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;By selecting this, you will send &lt;span style=&quot; font-weight:600;&quot;&gt;no information at all&lt;/span&gt; about your installation.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Если вы это выберете, то не будет отправлено &lt;span style=&quot; font-weight:600;&quot;&gt;никаких&lt;/span&gt; сведений об установке.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/modules/tracking/page_trackingstep.ui" line="123"/>
@ -2470,12 +2470,12 @@ Output:
<message>
<location filename="../src/modules/tracking/page_trackingstep.ui" line="271"/>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;placeholder&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#2980b9;&quot;&gt;Click here for more information about user feedback&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"/>
<translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;a href=&quot;placeholder&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#2980b9;&quot;&gt;Щелкните здесь чтобы узнать больше об отзывах пользователей&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<location filename="../src/modules/tracking/TrackingPage.cpp" line="44"/>
<source>Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area.</source>
<translation type="unfinished"/>
<translation>Отслеживание установок позволяет %1 узнать, сколько у них пользователей, на каком оборудовании устанавливается %1, и (с двумя последними опциями) постоянно получать сведения о предпочитаемых приложениях. Чтобы увидеть, что будет отправлено, щелкните по значку справки рядом с каждой областью.</translation>
</message>
<message>
<location filename="../src/modules/tracking/TrackingPage.cpp" line="45"/>
@ -2498,7 +2498,7 @@ Output:
<message>
<location filename="../src/modules/tracking/TrackingViewStep.cpp" line="59"/>
<source>Feedback</source>
<translation type="unfinished"/>
<translation>Отзывы</translation>
</message>
</context>
<context>

Binary file not shown.

View File

@ -10,7 +10,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-18 07:46-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: strel, 2017\n"
"Last-Translator: Francisco Sánchez López de Lerma <fslopezlerma@gmail.com>, 2018\n"
"Language-Team: Spanish (https://www.transifex.com/calamares/teams/20061/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -20,7 +20,7 @@ msgstr ""
#: src/modules/umount/main.py:40
msgid "Unmount file systems."
msgstr ""
msgstr "Desmontar sistemas de archivos."
#: src/modules/dummypython/main.py:44
msgid "Dummy python job."

View File

@ -48,7 +48,8 @@ endif()
if( WITH_PYTHONQT )
include_directories(${PYTHON_INCLUDE_DIRS})
include_directories(${PYTHONQT_INCLUDE_DIR})
# *_DIRS because we also use extensions
include_directories(${PYTHONQT_INCLUDE_DIRS})
list( APPEND calamaresui_SOURCES
modulesystem/PythonQtViewModule.cpp

View File

@ -31,7 +31,7 @@
#include "JobQueue.h"
#include <PythonQt.h>
#include <extensions/PythonQt_QtAll/PythonQt_QtAll.h>
#include <PythonQt_QtAll.h>
#include <QDir>
#include <QPointer>

View File

@ -62,6 +62,12 @@ def modify_grub_default(partitions, root_mount_point, distributor):
cryptdevice_params = []
# GRUB needs to decrypt the partition that /boot is on, which may be / or /boot
boot_mountpoint = "/"
for partition in partitions:
if partition["mountPoint"] == "/boot":
boot_mountpoint = "/boot"
if have_dracut:
for partition in partitions:
has_luks = "luksMapperName" in partition
@ -72,7 +78,7 @@ def modify_grub_default(partitions, root_mount_point, distributor):
swap_outer_uuid = partition["luksUuid"]
swap_outer_mappername = partition["luksMapperName"]
if (partition["mountPoint"] == "/" and has_luks):
if (partition["mountPoint"] == boot_mountpoint and has_luks):
cryptdevice_params = [
"rd.luks.uuid={!s}".format(partition["luksUuid"])
]
@ -82,7 +88,7 @@ def modify_grub_default(partitions, root_mount_point, distributor):
if partition["fs"] == "linuxswap" and not has_luks:
swap_uuid = partition["uuid"]
if (partition["mountPoint"] == "/" and has_luks):
if (partition["mountPoint"] == boot_mountpoint and has_luks):
cryptdevice_params = [
"cryptdevice=UUID={!s}:{!s}".format(
partition["luksUuid"], partition["luksMapperName"]

View File

@ -160,12 +160,12 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass
FileSystem::Fat32,
firstFreeSector,
lastSector,
PartitionTable::FlagEsp
PartitionTable::FlagNone
);
PartitionInfo::setFormat( efiPartition, true );
PartitionInfo::setMountPoint( efiPartition, gs->value( "efiSystemPartition" )
.toString() );
core->createPartition( dev, efiPartition, PartitionTable::FlagEsp | PartitionTable::FlagBoot );
core->createPartition( dev, efiPartition, PartitionTable::FlagEsp );
firstFreeSector = lastSector + 1;
}
else

View File

@ -64,6 +64,38 @@
#include <QFutureWatcher>
#include <QtConcurrent/QtConcurrent>
PartitionCoreModule::RefreshHelper::RefreshHelper(PartitionCoreModule* module)
: m_module( module )
{
}
PartitionCoreModule::RefreshHelper::~RefreshHelper()
{
m_module->refreshAfterModelChange();
}
class OperationHelper
{
public:
OperationHelper( PartitionModel* model, PartitionCoreModule* core )
: m_coreHelper( core )
, m_modelHelper( model )
{
}
OperationHelper( const OperationHelper& ) = delete;
OperationHelper& operator=( const OperationHelper& ) = delete;
private:
// Keep these in order: first the model needs to finish,
// then refresh is called. Remember that destructors are
// called in *reverse* order of declaration in this class.
PartitionCoreModule::RefreshHelper m_coreHelper;
PartitionModel::ResetHelper m_modelHelper;
} ;
//- DeviceInfo ---------------------------------------------
PartitionCoreModule::DeviceInfo::DeviceInfo( Device* _device )
: device( _device )
@ -242,13 +274,11 @@ PartitionCoreModule::createPartitionTable( Device* device, PartitionTable::Table
// keep previous changes
info->forgetChanges();
PartitionModel::ResetHelper helper( partitionModelForDevice( device ) );
OperationHelper helper( partitionModelForDevice( device ), this );
CreatePartitionTableJob* job = new CreatePartitionTableJob( device, type );
job->updatePreview();
info->jobs << Calamares::job_ptr( job );
}
refresh();
}
void
@ -259,7 +289,7 @@ PartitionCoreModule::createPartition( Device* device,
auto deviceInfo = infoForDevice( device );
Q_ASSERT( deviceInfo );
PartitionModel::ResetHelper helper( partitionModelForDevice( device ) );
OperationHelper helper( partitionModelForDevice( device ), this );
CreatePartitionJob* job = new CreatePartitionJob( device, partition );
job->updatePreview();
@ -271,8 +301,6 @@ PartitionCoreModule::createPartition( Device* device,
deviceInfo->jobs << Calamares::job_ptr( fJob );
PartitionInfo::setFlags( partition, flags );
}
refresh();
}
void
@ -301,7 +329,7 @@ PartitionCoreModule::createVolumeGroup( QString &vgName,
m_deviceInfos << deviceInfo;
deviceInfo->jobs << Calamares::job_ptr( job );
refresh();
refreshAfterModelChange();
}
void
@ -314,7 +342,7 @@ PartitionCoreModule::resizeVolumeGroup( LvmDevice *device, QVector< const Partit
deviceInfo->jobs << Calamares::job_ptr( job );
refresh();
refreshAfterModelChange();
}
void
@ -330,7 +358,7 @@ PartitionCoreModule::deactivateVolumeGroup( LvmDevice *device )
// DeactivateVolumeGroupJob needs to be immediately called
job->exec();
refresh();
refreshAfterModelChange();
}
void
@ -343,7 +371,7 @@ PartitionCoreModule::removeVolumeGroup( LvmDevice *device )
deviceInfo->jobs << Calamares::job_ptr( job );
refresh();
refreshAfterModelChange();
}
void
@ -352,7 +380,7 @@ PartitionCoreModule::deletePartition( Device* device, Partition* partition )
auto deviceInfo = infoForDevice( device );
Q_ASSERT( deviceInfo );
PartitionModel::ResetHelper helper( partitionModelForDevice( device ) );
OperationHelper helper( partitionModelForDevice( device ), this );
if ( partition->roles().has( PartitionRole::Extended ) )
{
@ -420,8 +448,6 @@ PartitionCoreModule::deletePartition( Device* device, Partition* partition )
job->updatePreview();
jobs << Calamares::job_ptr( job );
}
refresh();
}
void
@ -429,12 +455,10 @@ PartitionCoreModule::formatPartition( Device* device, Partition* partition )
{
auto deviceInfo = infoForDevice( device );
Q_ASSERT( deviceInfo );
PartitionModel::ResetHelper helper( partitionModelForDevice( device ) );
OperationHelper helper( partitionModelForDevice( device ), this );
FormatPartitionJob* job = new FormatPartitionJob( device, partition );
deviceInfo->jobs << Calamares::job_ptr( job );
refresh();
}
void
@ -445,13 +469,11 @@ PartitionCoreModule::resizePartition( Device* device,
{
auto deviceInfo = infoForDevice( device );
Q_ASSERT( deviceInfo );
PartitionModel::ResetHelper helper( partitionModelForDevice( device ) );
OperationHelper helper( partitionModelForDevice( device ), this );
ResizePartitionJob* job = new ResizePartitionJob( device, partition, first, last );
job->updatePreview();
deviceInfo->jobs << Calamares::job_ptr( job );
refresh();
}
void
@ -461,13 +483,11 @@ PartitionCoreModule::setPartitionFlags( Device* device,
{
auto deviceInfo = infoForDevice( device );
Q_ASSERT( deviceInfo );
PartitionModel::ResetHelper( partitionModelForDevice( device ) );
OperationHelper( partitionModelForDevice( device ), this );
SetPartFlagsJob* job = new SetPartFlagsJob( device, partition, flags );
deviceInfo->jobs << Calamares::job_ptr( job );
PartitionInfo::setFlags( partition, flags );
refresh();
}
QList< Calamares::job_ptr >
@ -574,13 +594,11 @@ PartitionCoreModule::refreshPartition( Device* device, Partition* )
// the loss of the current selection.
auto model = partitionModelForDevice( device );
Q_ASSERT( model );
PartitionModel::ResetHelper helper( model );
refresh();
OperationHelper helper( model, this );
}
void
PartitionCoreModule::refresh()
PartitionCoreModule::refreshAfterModelChange()
{
updateHasRootMountPoint();
updateIsDirty();
@ -797,7 +815,7 @@ PartitionCoreModule::revertAllDevices()
++it;
}
refresh();
refreshAfterModelChange();
}
@ -828,7 +846,7 @@ PartitionCoreModule::revertDevice( Device* dev )
m_bootLoaderModel->init( devices );
refresh();
refreshAfterModelChange();
emit deviceReverted( newDev );
}

View File

@ -54,6 +54,25 @@ class PartitionCoreModule : public QObject
{
Q_OBJECT
public:
/**
* This helper class calls refresh() on the module
* on destruction (nothing else). It is used as
* part of the model-consistency objects, along with
* PartitionModel::ResetHelper.
*/
class RefreshHelper
{
public:
RefreshHelper( PartitionCoreModule* module );
~RefreshHelper();
RefreshHelper( const RefreshHelper& ) = delete;
RefreshHelper& operator=( const RefreshHelper& ) = delete;
private:
PartitionCoreModule* m_module;
};
/**
* @brief The SummaryInfo struct is a wrapper for PartitionModel instances for
* a given Device.
@ -192,7 +211,7 @@ Q_SIGNALS:
void deviceReverted( Device* device );
private:
void refresh();
void refreshAfterModelChange();
/**
* Owns the Device, PartitionModel and the jobs