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

This commit is contained in:
Philip 2017-10-23 08:24:09 -04:00
commit 929d302f4d
7 changed files with 89 additions and 54 deletions

View File

@ -1,6 +1,4 @@
language:
- cpp
- python
language: cpp
python:
- 3.5
@ -12,7 +10,7 @@ services:
notifications:
irc:
- "chat.freenode.net#calamares"
- "$IRC_NOTIFY_CHANNEL"
install:
- docker build -t calamares .

View File

@ -66,7 +66,7 @@ Comment[ja]=Calamares — システムインストーラー
Name[lt]=Calamares
Icon[lt]=calamares
GenericName[lt]=Sistemos diegimas į kompiuterį
Comment[lt]=Calamares sistemos diegyklė
Comment[lt]=Calamares Sistemos diegimo programa
Name[nb]=Calamares
Icon[nb]=calamares
GenericName[nb]=Systeminstallatør

View File

@ -240,7 +240,7 @@ Išvestis:
<location filename="../src/libcalamaresui/ViewManager.cpp" line="76"/>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="301"/>
<source>Cancel installation without changing the system.</source>
<translation>Atsisakyti diegimo, nieko nekeisti sistemoje.</translation>
<translation>Atsisakyti diegimo, nieko sistemoje nekeičiant.</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="99"/>
@ -277,7 +277,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti.</translation>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="234"/>
<source>The %1 installer is about to make changes to your disk in order to install %2.&lt;br/&gt;&lt;strong&gt;You will not be able to undo these changes.&lt;/strong&gt;</source>
<translation>%1 diegimo programa, siekdama įdiegti %2, ketina atlikti pakeitimus diske.&lt;br/&gt;&lt;strong&gt;Negalėsite atšaukti š pakeitimų.&lt;/strong&gt;</translation>
<translation>%1 diegimo programa, siekdama įdiegti %2, ketina atlikti pakeitimus diske.&lt;br/&gt;&lt;strong&gt;Š pakeitimų atšaukti nebegalėsite.&lt;/strong&gt;</translation>
</message>
<message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="239"/>
@ -369,12 +369,12 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti.</translation>
<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>Šis kompiuteris netenkina kai kurių %1 diegimui rekomenduojamų reikalavimų.&lt;br/&gt;Diegti galite, bet kai kurios funkcijos gali būti išjungtos.</translation>
<translation>Šis kompiuteris netenkina kai kurių %1 diegimui rekomenduojamų reikalavimų.&lt;br/&gt;Diegimą galima tęsti, tačiau kai kurios funkcijos gali būti išjungtos.</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="151"/>
<source>This program will ask you some questions and set up %2 on your computer.</source>
<translation>Programa užduos klausimus ir padės įsidiegti %2.</translation>
<translation>Programa užduos kelis klausimus ir padės įsidiegti %2.</translation>
</message>
<message>
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="174"/>
@ -908,12 +908,12 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti.</translation>
<message>
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="70"/>
<source>Format</source>
<translation>Suženklinti</translation>
<translation>Formatuoti</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="89"/>
<source>Warning: Formatting the partition will erase all existing data.</source>
<translation>Įspėjimas: suženklinant skaidinį, sunaikinami visi jame esantys duomenys.</translation>
<translation>Įspėjimas: Formatuojant skaidinį, sunaikinami visi jame esantys duomenys.</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="99"/>
@ -1058,22 +1058,22 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti.</translation>
<message>
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="49"/>
<source>Format partition %1 (file system: %2, size: %3 MB) on %4.</source>
<translation>Suženklinti skaidinį %1 (failų sistema: %2, dydis: %3 MB) diske %4.</translation>
<translation>Formatuoti skaidinį %1 (failų sistema: %2, dydis: %3 MB) diske %4.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="60"/>
<source>Format &lt;strong&gt;%3MB&lt;/strong&gt; partition &lt;strong&gt;%1&lt;/strong&gt; with file system &lt;strong&gt;%2&lt;/strong&gt;.</source>
<translation>Suženklinti &lt;strong&gt;%3MB&lt;/strong&gt; skaidinį &lt;strong&gt;%1&lt;/strong&gt; su failų sistema &lt;strong&gt;%2&lt;/strong&gt;.</translation>
<translation>Formatuoti &lt;strong&gt;%3MB&lt;/strong&gt; skaidinį &lt;strong&gt;%1&lt;/strong&gt; su failų sistema &lt;strong&gt;%2&lt;/strong&gt;.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="71"/>
<source>Formatting partition %1 with file system %2.</source>
<translation>Suženklinamas skaidinys %1 su %2 failų sistema.</translation>
<translation>Formatuojamas skaidinys %1 su %2 failų sistema.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="83"/>
<source>The installer failed to format partition %1 on disk &apos;%2&apos;.</source>
<translation>Diegimo programai nepavyko suženklinti %2 disko skaidinio %1.</translation>
<translation>Diegimo programai nepavyko formatuoti %2 disko skaidinio %1.</translation>
</message>
<message>
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="91"/>
@ -1237,7 +1237,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti.</translation>
<message>
<location filename="../src/modules/license/LicensePage.cpp" line="202"/>
<source>&lt;a href=&quot;%1&quot;&gt;view license agreement&lt;/a&gt;</source>
<translation>&lt;a href=&quot;%1&quot;&gt;žiūrėti licenciją&lt;/a&gt;</translation>
<translation>&lt;a href=&quot;%1&quot;&gt;žiūrėti licencijos sutartį&lt;/a&gt;</translation>
</message>
</context>
<context>
@ -1578,7 +1578,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti.</translation>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="121"/>
<source>&amp;Delete</source>
<translation>Ša&amp;linti</translation>
<translation>&amp;trinti</translation>
</message>
<message>
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="148"/>

View File

@ -2230,12 +2230,12 @@ Sistem güç kaynağına bağlı değil.</translation>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="494"/>
<source>Password is too short</source>
<translation type="unfinished"/>
<translation>Şifre çok kısa</translation>
</message>
<message>
<location filename="../src/modules/users/UsersPage.cpp" line="513"/>
<source>Password is too long</source>
<translation type="unfinished"/>
<translation>Şifre çok uzun</translation>
</message>
</context>
<context>

View File

@ -6,6 +6,7 @@ At installation time, the user is presented with the choice to install groups of
Calamares will then invoke the correct backend to install the packages.
## Configuration of the packages
Every distribution can choose which groups to display and which packages should be in the groups.
The *netinstall.conf* file should have this format:
@ -48,6 +49,7 @@ If you set both *hidden* and *selected* for a group, you are basically creating
which will always be installed in the user's system.
## Configuration of the module
Here is the set of instructions to have the module work in your Calamares. As of July 2016, this has been successfully
tested using the live installation of Chakra Fermi.
@ -63,7 +65,8 @@ If not present, add the **packages** job in the **exec** list. This is the job t
to install packages. Make sure it is configured to use the correct package manager for your distribution; this
is configured in src/modules/packages/packages.conf.
The exec list should be:
The **exec** list in *settings.conf* should contain the following items in
order (it's ok for other jobs to be listed inbetween them, though):
- unpackfs
- networkcfg
@ -74,10 +77,10 @@ structure; **networkcfg** set ups a working network in the chroot; and finally *
in the chroot.
## Common issues
If launching the package manager command returns you negative exit statuses and nothing is actually invoked, this
is likely an error in the setup of the chroot; check that the parameter **rootMountPoint** is set to the correct
value in the Calamares configuration.
If the command is run, but exits with error, check that the network is working in the chroot. Make sure /etc/resolv.conf
exists and that it's not empty.

View File

@ -26,9 +26,16 @@ drawNestedPartitions: false
# Show/hide partition labels on manual partitioning page.
alwaysShowPartitionLabels: true
# Default filesystem type, pre-selected in the "Create Partition" dialog.
# The filesystem type selected here is also used for automated install
# modes (Erase, Replace and Alongside).
# Default filesystem type, used when a "new" partition is made.
#
# When replacing a partition, the existing filesystem inside the
# partition is retained. In other cases, e.g. Erase and Alongside,
# as well as when using manual partitioning and creating a new
# partition, this filesystem type is pre-selected. Note that
# editing a partition in manual-creation mode will not automatically
# change the filesystem type to this default value -- it is not
# creating a new partition.
#
# Suggested values: ext2, ext3, ext4, reiser, xfs, jfs, btrfs
# If nothing is specified, Calamares defaults to "ext4".
defaultFileSystemType: "ext4"

View File

@ -18,6 +18,15 @@
#
# You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>.
"""
Testing tool to run a single Python module; optionally a
global configuration and module configuration can be read
from YAML files. Give a full path to the module-directory,
and also full paths to the configuration files. An empty
configuration file name, or "-" (a single dash) is used
to indicate that no file should be read -- useful to load
a module configuratioon file without a global configuration.
"""
import argparse
import os
@ -57,26 +66,10 @@ class Job:
print("Job set progress to {}%.".format(progress * 100))
def main():
"""
def test_module(moduledir, globalconfigfilename, moduleconfigfilename, lang):
print("Testing module in: " + moduledir)
:return:
"""
parser = argparse.ArgumentParser()
parser.add_argument("moduledir",
help="Dir containing the Python module.")
parser.add_argument("globalstorage_yaml", nargs="?",
help="A yaml file to initialize GlobalStorage.")
parser.add_argument("configuration_yaml", nargs="?",
help="A yaml file to initialize the Job.")
parser.add_argument("--lang", "-l", nargs="?", default=None,
help="Set translation language.")
args = parser.parse_args()
print("Testing module in: " + args.moduledir)
confpath = os.path.join(args.moduledir, "module.desc")
confpath = os.path.join(moduledir, "module.desc")
with open(confpath) as f:
doc = yaml.load(f)
@ -87,27 +80,33 @@ def main():
# Parameter None creates a new, empty GlobalStorage
libcalamares.globalstorage = libcalamares.GlobalStorage(None)
libcalamares.globalstorage.insert("testing", True)
if args.lang:
libcalamares.globalstorage.insert("locale", args.lang)
libcalamares.globalstorage.insert("localeConf", {"LANG": args.lang})
if lang:
libcalamares.globalstorage.insert("locale", lang)
libcalamares.globalstorage.insert("localeConf", {"LANG": lang})
# if a file for simulating globalStorage contents is provided, load it
if args.globalstorage_yaml:
with open(args.globalstorage_yaml) as f:
if globalconfigfilename:
with open(globalconfigfilename) as f:
gs_doc = yaml.load(f)
for key, value in gs_doc.items():
libcalamares.globalstorage.insert(key, value)
print("Global configuration '" + globalconfigfilename + "' loaded.")
else:
print("No global configuration loaded.")
cfg_doc = dict()
if args.configuration_yaml:
with open(args.configuration_yaml) as f:
if moduleconfigfilename:
with open(moduleconfigfilename) as f:
cfg_doc = yaml.load(f)
print("Local configuration '" + moduleconfigfilename + "' loaded.")
else:
print("No module configuration loaded.")
libcalamares.job = Job(args.moduledir, doc, cfg_doc)
libcalamares.job = Job(moduledir, doc, cfg_doc)
scriptpath = os.path.abspath(args.moduledir)
scriptpath = os.path.abspath(moduledir)
sys.path.append(scriptpath)
import main
import main # Assumed to import main from module itself
print("Output from module:")
print(main.run())
@ -115,5 +114,33 @@ def main():
return 0
def munge_filename(filename):
"""
Maps files "" (empty) and "-" (just a dash) to None,
to simplify processing elsewhere.
"""
if not filename or filename == "-":
return None
return filename
def main():
parser = argparse.ArgumentParser(description=globals()["__doc__"])
parser.add_argument("moduledir",
help="Dir containing the Python module.")
parser.add_argument("globalstorage_yaml", nargs="?",
help="A yaml file to initialize GlobalStorage.")
parser.add_argument("configuration_yaml", nargs="?",
help="A yaml file to initialize the Job.")
parser.add_argument("--lang", "-l", nargs="?", default=None,
help="Set translation language.")
args = parser.parse_args()
return test_module(args.moduledir,
munge_filename(args.globalstorage_yaml),
munge_filename(args.configuration_yaml),
args.lang)
if __name__ == "__main__":
sys.exit(main())