From 63f9c256119fe4e9cd7df6bbf965703382bb604d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 23 Aug 2017 06:57:11 -0400 Subject: [PATCH 001/129] Update unpackfs.conf examples and documentation --- src/modules/unpackfs/unpackfs.conf | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/modules/unpackfs/unpackfs.conf b/src/modules/unpackfs/unpackfs.conf index 34e7bc48d..9720f19a1 100644 --- a/src/modules/unpackfs/unpackfs.conf +++ b/src/modules/unpackfs/unpackfs.conf @@ -13,12 +13,26 @@ unpack: # Each list item is unpacked, in order, to the target system. # Each list item has the following attributes: # source: path relative to the live / intstalling system to the image -# sourcefs: ext4 or squashfs (may be others if mount supports is) +# sourcefs: ext4 or squashfs (may be others if mount supports it) # destination: path relative to rootMountPoint (so in the target # system) where this filesystem is unpacked. - - source: "/path/to/filesystem.img" - sourcefs: "ext4" - destination: "" - - source: "/path/to/another/filesystem.sqfs" - sourcefs: "squashfs" + +# Usually you list a filesystem image to unpack; you can use +# squashfs or an ext4 image. +# +# - source: "/path/to/filesystem.sqfs" +# sourcefs: "squashfs" +# destination: "" + +# You can list more than one filesystem. +# +# - source: "/path/to/another/filesystem.img" +# sourcefs: "ext4" +# destination: "" +# + +# You can list filesystem source paths relative to the Calamares run +# directory, if you use -d (this is only useful for testing, though). + - source: ./example.sqfs + sourcefs: squashfs destination: "" From 186f6cd1e2296f0227e77f91740170fdd661a7c4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 23 Aug 2017 10:45:04 -0400 Subject: [PATCH 002/129] initcpiocfg: accept (but warn) for missing config file in the host --- src/modules/initcpiocfg/main.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/modules/initcpiocfg/main.py b/src/modules/initcpiocfg/main.py index eb29d7def..ca9455d20 100644 --- a/src/modules/initcpiocfg/main.py +++ b/src/modules/initcpiocfg/main.py @@ -65,8 +65,12 @@ def write_mkinitcpio_lines(hooks, modules, files, root_mount_point): :param files: :param root_mount_point: """ - with open("/etc/mkinitcpio.conf", "r") as mkinitcpio_file: - mklins = [x.strip() for x in mkinitcpio_file.readlines()] + try: + with open("/etc/mkinitcpio.conf", "r") as mkinitcpio_file: + mklins = [x.strip() for x in mkinitcpio_file.readlines()] + except FileNotFoundError: + libcalamares.utils.debug("Could not open host file /etc/mkinitcpio.conf") + mklins = [] for i in range(len(mklins)): if mklins[i].startswith("HOOKS"): From bba965185027a4517d37880da4a91805e0f718f2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 23 Aug 2017 09:31:15 -0400 Subject: [PATCH 003/129] Create example distro squashfs (from build host) - Add a target 'example-distro' which must be manually invoked This creates an example.sqfs with a minimal binary distro based on the build hosts's /bin and /lib. The purpose is to provide a simple test image which the default configuration of the unpackfs module can use to create a system within which the *other* steps of the installation can run. Example files are some zoneinfo's (remember to choose an existing zone when using the example distro), groups and sudoers files, etc .. The example distro has a special /xbin which contains bogus binaries for many system-administration tasks (e.g. useradd which would otherwise come from /usr/sbin). --- CMakeLists.txt | 44 ++ data/example-root/README.md | 11 + data/example-root/etc/bash.bashrc | 2 + data/example-root/etc/group | 1 + data/example-root/etc/issue | 1 + data/example-root/etc/locale.gen | 486 ++++++++++++++++++ data/example-root/etc/profile | 2 + data/example-root/etc/sudoers.d/10-installer | 0 data/example-root/usr/share/zoneinfo/.dummy | 0 .../usr/share/zoneinfo/America/New_York | Bin 0 -> 3545 bytes data/example-root/usr/share/zoneinfo/UTC | Bin 0 -> 127 bytes data/example-root/usr/share/zoneinfo/Zulu | Bin 0 -> 127 bytes data/example-root/var/lib/dbus/.dummy | 0 data/example-root/var/lib/initramfs-tools | 0 data/example-root/xbin/linux-version | 1 + data/example-root/xbin/useradd | 1 + 16 files changed, 549 insertions(+) create mode 100644 data/example-root/README.md create mode 100644 data/example-root/etc/bash.bashrc create mode 100644 data/example-root/etc/group create mode 100644 data/example-root/etc/issue create mode 100644 data/example-root/etc/locale.gen create mode 100644 data/example-root/etc/profile create mode 100644 data/example-root/etc/sudoers.d/10-installer create mode 100644 data/example-root/usr/share/zoneinfo/.dummy create mode 100644 data/example-root/usr/share/zoneinfo/America/New_York create mode 100644 data/example-root/usr/share/zoneinfo/UTC create mode 100644 data/example-root/usr/share/zoneinfo/Zulu create mode 100644 data/example-root/var/lib/dbus/.dummy create mode 100644 data/example-root/var/lib/initramfs-tools create mode 100755 data/example-root/xbin/linux-version create mode 100755 data/example-root/xbin/useradd diff --git a/CMakeLists.txt b/CMakeLists.txt index 8358060ba..f98b25c99 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -185,6 +185,50 @@ set( CALAMARES_LIBRARIES calamares ) set( THIRDPARTY_DIR "${CMAKE_SOURCE_DIR}/thirdparty" ) +### Example Distro +# +# For testing purposes Calamares includes a very, very, limited sample +# distro called "Generic". The root filesystem of "Generic" lives in +# data/example-root and can be squashed up as part of the build, so +# that a pure-upstream run of ./calamares -d from the build directory +# (with all the default settings and configurations) can actually +# do an complete example run. +# +# Some binaries from the build host (e.g. /bin and /lib) are also +# squashed into the example filesystem. +# +# To build the example distro (for use by the default, example, +# unsquashfs module), build the target 'example-distro', eg.: +# +# make example-distro +# +find_program( mksquashfs_PROGRAM mksquashfs ) +macro_log_feature( mksquashfs_PROGRAM "mksquashfs" "Create example distro" "http://tldp.org/HOWTO/SquashFS-HOWTO/creatingandusing.html") +if( mksquashfs_PROGRAM ) + set( src_fs ${CMAKE_SOURCE_DIR}/data/example-root/ ) + set( dst_fs ${CMAKE_BINARY_DIR}/example.sqfs ) + if( EXISTS ${src_fs} ) + # Collect directories needed for a minimal binary distro, + # based on the build host. If /lib64 exists, assume it is needed. + # Note that the last path component is added to the root, so + # if you add /usr/sbin here, it will be put into /sbin_1. + # Add such paths to /etc/profile under ${src_fs}. + set( candidate_fs /sbin /bin /lib /lib64 ) + set( host_fs "" ) + foreach( c_fs ${candidate_fs} ) + if( EXISTS ${c_fs} ) + list( APPEND host_fs ${c_fs} ) + endif() + endforeach() + add_custom_command( + OUTPUT ${dst_fs} + COMMAND ${mksquashfs_PROGRAM} ${src_fs} ${dst_fs} -all-root + COMMAND ${mksquashfs_PROGRAM} ${host_fs} ${dst_fs} -all-root + ) + add_custom_target(example-distro DEPENDS ${dst_fs}) + endif() +endif() + add_subdirectory( thirdparty ) add_subdirectory( src ) diff --git a/data/example-root/README.md b/data/example-root/README.md new file mode 100644 index 000000000..7173b3eaf --- /dev/null +++ b/data/example-root/README.md @@ -0,0 +1,11 @@ +# Example Filesystem + +This is a filesystem that will be used as / in an example distro, +*if* you build the `example-distro` target and use the default +unpackfs configuration. It should hold files and configuration +bits that need to be on the target system for example purposes. + +It should *not* have a bin/, lib/, sbin/ or lib64/ directory, +since those are copied into the example-distro filesystem +from the build host. + diff --git a/data/example-root/etc/bash.bashrc b/data/example-root/etc/bash.bashrc new file mode 100644 index 000000000..42bd3d007 --- /dev/null +++ b/data/example-root/etc/bash.bashrc @@ -0,0 +1,2 @@ +# Global .profile -- add /sbin_1 +PATH=$PATH:/sbin_1:/xbin diff --git a/data/example-root/etc/group b/data/example-root/etc/group new file mode 100644 index 000000000..1dbf9013e --- /dev/null +++ b/data/example-root/etc/group @@ -0,0 +1 @@ +root:x:0: diff --git a/data/example-root/etc/issue b/data/example-root/etc/issue new file mode 100644 index 000000000..ce0ac58e3 --- /dev/null +++ b/data/example-root/etc/issue @@ -0,0 +1 @@ +This is an example /etc/issue file. diff --git a/data/example-root/etc/locale.gen b/data/example-root/etc/locale.gen new file mode 100644 index 000000000..5e729a18d --- /dev/null +++ b/data/example-root/etc/locale.gen @@ -0,0 +1,486 @@ +# This file lists locales that you wish to have built. You can find a list +# of valid supported locales at /usr/share/i18n/SUPPORTED, and you can add +# user defined locales to /usr/local/share/i18n/SUPPORTED. If you change +# this file, you need to rerun locale-gen. + + +# aa_DJ ISO-8859-1 +# aa_DJ.UTF-8 UTF-8 +# aa_ER UTF-8 +# aa_ER@saaho UTF-8 +# aa_ET UTF-8 +# af_ZA ISO-8859-1 +# af_ZA.UTF-8 UTF-8 +# ak_GH UTF-8 +# am_ET UTF-8 +# an_ES ISO-8859-15 +# an_ES.UTF-8 UTF-8 +# anp_IN UTF-8 +# ar_AE ISO-8859-6 +# ar_AE.UTF-8 UTF-8 +# ar_BH ISO-8859-6 +# ar_BH.UTF-8 UTF-8 +# ar_DZ ISO-8859-6 +# ar_DZ.UTF-8 UTF-8 +# ar_EG ISO-8859-6 +# ar_EG.UTF-8 UTF-8 +# ar_IN UTF-8 +# ar_IQ ISO-8859-6 +# ar_IQ.UTF-8 UTF-8 +# ar_JO ISO-8859-6 +# ar_JO.UTF-8 UTF-8 +# ar_KW ISO-8859-6 +# ar_KW.UTF-8 UTF-8 +# ar_LB ISO-8859-6 +# ar_LB.UTF-8 UTF-8 +# ar_LY ISO-8859-6 +# ar_LY.UTF-8 UTF-8 +# ar_MA ISO-8859-6 +# ar_MA.UTF-8 UTF-8 +# ar_OM ISO-8859-6 +# ar_OM.UTF-8 UTF-8 +# ar_QA ISO-8859-6 +# ar_QA.UTF-8 UTF-8 +# ar_SA ISO-8859-6 +# ar_SA.UTF-8 UTF-8 +# ar_SD ISO-8859-6 +# ar_SD.UTF-8 UTF-8 +# ar_SS UTF-8 +# ar_SY ISO-8859-6 +# ar_SY.UTF-8 UTF-8 +# ar_TN ISO-8859-6 +# ar_TN.UTF-8 UTF-8 +# ar_YE ISO-8859-6 +# ar_YE.UTF-8 UTF-8 +# as_IN UTF-8 +# ast_ES ISO-8859-15 +# ast_ES.UTF-8 UTF-8 +# ayc_PE UTF-8 +# az_AZ UTF-8 +# be_BY CP1251 +# be_BY.UTF-8 UTF-8 +# be_BY@latin UTF-8 +# bem_ZM UTF-8 +# ber_DZ UTF-8 +# ber_MA UTF-8 +# bg_BG CP1251 +# bg_BG.UTF-8 UTF-8 +# bhb_IN.UTF-8 UTF-8 +# bho_IN UTF-8 +# bn_BD UTF-8 +# bn_IN UTF-8 +# bo_CN UTF-8 +# bo_IN UTF-8 +# br_FR ISO-8859-1 +# br_FR.UTF-8 UTF-8 +# br_FR@euro ISO-8859-15 +# brx_IN UTF-8 +# bs_BA ISO-8859-2 +# bs_BA.UTF-8 UTF-8 +# byn_ER UTF-8 +# ca_AD ISO-8859-15 +# ca_AD.UTF-8 UTF-8 +# ca_ES ISO-8859-1 +# ca_ES.UTF-8 UTF-8 +# ca_ES.UTF-8@valencia UTF-8 +# ca_ES@euro ISO-8859-15 +# ca_ES@valencia ISO-8859-15 +# ca_FR ISO-8859-15 +# ca_FR.UTF-8 UTF-8 +# ca_IT ISO-8859-15 +# ca_IT.UTF-8 UTF-8 +# ce_RU UTF-8 +# ckb_IQ UTF-8 +# cmn_TW UTF-8 +# crh_UA UTF-8 +# cs_CZ ISO-8859-2 +# cs_CZ.UTF-8 UTF-8 +# csb_PL UTF-8 +# cv_RU UTF-8 +# cy_GB ISO-8859-14 +# cy_GB.UTF-8 UTF-8 +# da_DK ISO-8859-1 +# da_DK.UTF-8 UTF-8 +# de_AT ISO-8859-1 +# de_AT.UTF-8 UTF-8 +# de_AT@euro ISO-8859-15 +# de_BE ISO-8859-1 +# de_BE.UTF-8 UTF-8 +# de_BE@euro ISO-8859-15 +# de_CH ISO-8859-1 +# de_CH.UTF-8 UTF-8 +# de_DE ISO-8859-1 +# de_DE.UTF-8 UTF-8 +# de_DE@euro ISO-8859-15 +# de_LI.UTF-8 UTF-8 +# de_LU ISO-8859-1 +# de_LU.UTF-8 UTF-8 +# de_LU@euro ISO-8859-15 +# doi_IN UTF-8 +# dv_MV UTF-8 +# dz_BT UTF-8 +# el_CY ISO-8859-7 +# el_CY.UTF-8 UTF-8 +# el_GR ISO-8859-7 +# el_GR.UTF-8 UTF-8 +# en_AG UTF-8 +# en_AU ISO-8859-1 +# en_AU.UTF-8 UTF-8 +# en_BW ISO-8859-1 +# en_BW.UTF-8 UTF-8 +# en_CA ISO-8859-1 +en_CA.UTF-8 UTF-8 +# en_DK ISO-8859-1 +# en_DK.ISO-8859-15 ISO-8859-15 +# en_DK.UTF-8 UTF-8 +# en_GB ISO-8859-1 +# en_GB.ISO-8859-15 ISO-8859-15 +# en_GB.UTF-8 UTF-8 +# en_HK ISO-8859-1 +# en_HK.UTF-8 UTF-8 +# en_IE ISO-8859-1 +# en_IE.UTF-8 UTF-8 +# en_IE@euro ISO-8859-15 +# en_IN UTF-8 +# en_NG UTF-8 +# en_NZ ISO-8859-1 +# en_NZ.UTF-8 UTF-8 +# en_PH ISO-8859-1 +# en_PH.UTF-8 UTF-8 +# en_SG ISO-8859-1 +# en_SG.UTF-8 UTF-8 +# en_US ISO-8859-1 +# en_US.ISO-8859-15 ISO-8859-15 +en_US.UTF-8 UTF-8 +# en_ZA ISO-8859-1 +# en_ZA.UTF-8 UTF-8 +# en_ZM UTF-8 +# en_ZW ISO-8859-1 +# en_ZW.UTF-8 UTF-8 +# eo ISO-8859-3 +# eo.UTF-8 UTF-8 +# eo_US.UTF-8 UTF-8 +# es_AR ISO-8859-1 +# es_AR.UTF-8 UTF-8 +# es_BO ISO-8859-1 +# es_BO.UTF-8 UTF-8 +# es_CL ISO-8859-1 +# es_CL.UTF-8 UTF-8 +# es_CO ISO-8859-1 +# es_CO.UTF-8 UTF-8 +# es_CR ISO-8859-1 +# es_CR.UTF-8 UTF-8 +# es_CU UTF-8 +# es_DO ISO-8859-1 +# es_DO.UTF-8 UTF-8 +# es_EC ISO-8859-1 +# es_EC.UTF-8 UTF-8 +# es_ES ISO-8859-1 +# es_ES.UTF-8 UTF-8 +# es_ES@euro ISO-8859-15 +# es_GT ISO-8859-1 +# es_GT.UTF-8 UTF-8 +# es_HN ISO-8859-1 +# es_HN.UTF-8 UTF-8 +# es_MX ISO-8859-1 +# es_MX.UTF-8 UTF-8 +# es_NI ISO-8859-1 +# es_NI.UTF-8 UTF-8 +# es_PA ISO-8859-1 +# es_PA.UTF-8 UTF-8 +# es_PE ISO-8859-1 +# es_PE.UTF-8 UTF-8 +# es_PR ISO-8859-1 +# es_PR.UTF-8 UTF-8 +# es_PY ISO-8859-1 +# es_PY.UTF-8 UTF-8 +# es_SV ISO-8859-1 +# es_SV.UTF-8 UTF-8 +# es_US ISO-8859-1 +# es_US.UTF-8 UTF-8 +# es_UY ISO-8859-1 +# es_UY.UTF-8 UTF-8 +# es_VE ISO-8859-1 +# es_VE.UTF-8 UTF-8 +# et_EE ISO-8859-1 +# et_EE.ISO-8859-15 ISO-8859-15 +# et_EE.UTF-8 UTF-8 +# eu_ES ISO-8859-1 +# eu_ES.UTF-8 UTF-8 +# eu_ES@euro ISO-8859-15 +# eu_FR ISO-8859-1 +# eu_FR.UTF-8 UTF-8 +# eu_FR@euro ISO-8859-15 +# fa_IR UTF-8 +# ff_SN UTF-8 +# fi_FI ISO-8859-1 +# fi_FI.UTF-8 UTF-8 +# fi_FI@euro ISO-8859-15 +# fil_PH UTF-8 +# fo_FO ISO-8859-1 +# fo_FO.UTF-8 UTF-8 +# fr_BE ISO-8859-1 +# fr_BE.UTF-8 UTF-8 +# fr_BE@euro ISO-8859-15 +# fr_CA ISO-8859-1 +# fr_CA.UTF-8 UTF-8 +# fr_CH ISO-8859-1 +# fr_CH.UTF-8 UTF-8 +# fr_FR ISO-8859-1 +# fr_FR.UTF-8 UTF-8 +# fr_FR@euro ISO-8859-15 +# fr_LU ISO-8859-1 +# fr_LU.UTF-8 UTF-8 +# fr_LU@euro ISO-8859-15 +# fur_IT UTF-8 +# fy_DE UTF-8 +# fy_NL UTF-8 +# ga_IE ISO-8859-1 +# ga_IE.UTF-8 UTF-8 +# ga_IE@euro ISO-8859-15 +# gd_GB ISO-8859-15 +# gd_GB.UTF-8 UTF-8 +# gez_ER UTF-8 +# gez_ER@abegede UTF-8 +# gez_ET UTF-8 +# gez_ET@abegede UTF-8 +# gl_ES ISO-8859-1 +# gl_ES.UTF-8 UTF-8 +# gl_ES@euro ISO-8859-15 +# gu_IN UTF-8 +# gv_GB ISO-8859-1 +# gv_GB.UTF-8 UTF-8 +# ha_NG UTF-8 +# hak_TW UTF-8 +# he_IL ISO-8859-8 +# he_IL.UTF-8 UTF-8 +# hi_IN UTF-8 +# hne_IN UTF-8 +# hr_HR ISO-8859-2 +# hr_HR.UTF-8 UTF-8 +# hsb_DE ISO-8859-2 +# hsb_DE.UTF-8 UTF-8 +# ht_HT UTF-8 +# hu_HU ISO-8859-2 +# hu_HU.UTF-8 UTF-8 +# hy_AM UTF-8 +# hy_AM.ARMSCII-8 ARMSCII-8 +# ia_FR UTF-8 +# id_ID ISO-8859-1 +# id_ID.UTF-8 UTF-8 +# ig_NG UTF-8 +# ik_CA UTF-8 +# is_IS ISO-8859-1 +# is_IS.UTF-8 UTF-8 +# it_CH ISO-8859-1 +# it_CH.UTF-8 UTF-8 +# it_IT ISO-8859-1 +# it_IT.UTF-8 UTF-8 +# it_IT@euro ISO-8859-15 +# iu_CA UTF-8 +# iw_IL ISO-8859-8 +# iw_IL.UTF-8 UTF-8 +# ja_JP.EUC-JP EUC-JP +# ja_JP.UTF-8 UTF-8 +# ka_GE GEORGIAN-PS +# ka_GE.UTF-8 UTF-8 +# kk_KZ PT154 +# kk_KZ RK1048 +# kk_KZ.UTF-8 UTF-8 +# kl_GL ISO-8859-1 +# kl_GL.UTF-8 UTF-8 +# km_KH UTF-8 +# kn_IN UTF-8 +# ko_KR.EUC-KR EUC-KR +# ko_KR.UTF-8 UTF-8 +# kok_IN UTF-8 +# ks_IN UTF-8 +# ks_IN@devanagari UTF-8 +# ku_TR ISO-8859-9 +# ku_TR.UTF-8 UTF-8 +# kw_GB ISO-8859-1 +# kw_GB.UTF-8 UTF-8 +# ky_KG UTF-8 +# lb_LU UTF-8 +# lg_UG ISO-8859-10 +# lg_UG.UTF-8 UTF-8 +# li_BE UTF-8 +# li_NL UTF-8 +# lij_IT UTF-8 +# ln_CD UTF-8 +# lo_LA UTF-8 +# lt_LT ISO-8859-13 +# lt_LT.UTF-8 UTF-8 +# lv_LV ISO-8859-13 +# lv_LV.UTF-8 UTF-8 +# lzh_TW UTF-8 +# mag_IN UTF-8 +# mai_IN UTF-8 +# mg_MG ISO-8859-15 +# mg_MG.UTF-8 UTF-8 +# mhr_RU UTF-8 +# mi_NZ ISO-8859-13 +# mi_NZ.UTF-8 UTF-8 +# mk_MK ISO-8859-5 +# mk_MK.UTF-8 UTF-8 +# ml_IN UTF-8 +# mn_MN UTF-8 +# mni_IN UTF-8 +# mr_IN UTF-8 +# ms_MY ISO-8859-1 +# ms_MY.UTF-8 UTF-8 +# mt_MT ISO-8859-3 +# mt_MT.UTF-8 UTF-8 +# my_MM UTF-8 +# nan_TW UTF-8 +# nan_TW@latin UTF-8 +# nb_NO ISO-8859-1 +# nb_NO.UTF-8 UTF-8 +# nds_DE UTF-8 +# nds_NL UTF-8 +# ne_NP UTF-8 +# nhn_MX UTF-8 +# niu_NU UTF-8 +# niu_NZ UTF-8 +# nl_AW UTF-8 +# nl_BE ISO-8859-1 +# nl_BE.UTF-8 UTF-8 +# nl_BE@euro ISO-8859-15 +# nl_NL ISO-8859-1 +# nl_NL.UTF-8 UTF-8 +# nl_NL@euro ISO-8859-15 +# nn_NO ISO-8859-1 +# nn_NO.UTF-8 UTF-8 +# nr_ZA UTF-8 +# nso_ZA UTF-8 +# oc_FR ISO-8859-1 +# oc_FR.UTF-8 UTF-8 +# om_ET UTF-8 +# om_KE ISO-8859-1 +# om_KE.UTF-8 UTF-8 +# or_IN UTF-8 +# os_RU UTF-8 +# pa_IN UTF-8 +# pa_PK UTF-8 +# pap_AN UTF-8 +# pap_AW UTF-8 +# pap_CW UTF-8 +# pl_PL ISO-8859-2 +# pl_PL.UTF-8 UTF-8 +# ps_AF UTF-8 +# pt_BR ISO-8859-1 +# pt_BR.UTF-8 UTF-8 +# pt_PT ISO-8859-1 +# pt_PT.UTF-8 UTF-8 +# pt_PT@euro ISO-8859-15 +# quz_PE UTF-8 +# raj_IN UTF-8 +# ro_RO ISO-8859-2 +# ro_RO.UTF-8 UTF-8 +# ru_RU ISO-8859-5 +# ru_RU.CP1251 CP1251 +# ru_RU.KOI8-R KOI8-R +# ru_RU.UTF-8 UTF-8 +# ru_UA KOI8-U +# ru_UA.UTF-8 UTF-8 +# rw_RW UTF-8 +# sa_IN UTF-8 +# sat_IN UTF-8 +# sc_IT UTF-8 +# sd_IN UTF-8 +# sd_IN@devanagari UTF-8 +# sd_PK UTF-8 +# se_NO UTF-8 +# shs_CA UTF-8 +# si_LK UTF-8 +# sid_ET UTF-8 +# sk_SK ISO-8859-2 +# sk_SK.UTF-8 UTF-8 +# sl_SI ISO-8859-2 +# sl_SI.UTF-8 UTF-8 +# so_DJ ISO-8859-1 +# so_DJ.UTF-8 UTF-8 +# so_ET UTF-8 +# so_KE ISO-8859-1 +# so_KE.UTF-8 UTF-8 +# so_SO ISO-8859-1 +# so_SO.UTF-8 UTF-8 +# sq_AL ISO-8859-1 +# sq_AL.UTF-8 UTF-8 +# sq_MK UTF-8 +# sr_ME UTF-8 +# sr_RS UTF-8 +# sr_RS@latin UTF-8 +# ss_ZA UTF-8 +# st_ZA ISO-8859-1 +# st_ZA.UTF-8 UTF-8 +# sv_FI ISO-8859-1 +# sv_FI.UTF-8 UTF-8 +# sv_FI@euro ISO-8859-15 +# sv_SE ISO-8859-1 +# sv_SE.ISO-8859-15 ISO-8859-15 +# sv_SE.UTF-8 UTF-8 +# sw_KE UTF-8 +# sw_TZ UTF-8 +# szl_PL UTF-8 +# ta_IN UTF-8 +# ta_LK UTF-8 +# tcy_IN.UTF-8 UTF-8 +# te_IN UTF-8 +# tg_TJ KOI8-T +# tg_TJ.UTF-8 UTF-8 +# th_TH TIS-620 +# th_TH.UTF-8 UTF-8 +# the_NP UTF-8 +# ti_ER UTF-8 +# ti_ET UTF-8 +# tig_ER UTF-8 +# tk_TM UTF-8 +# tl_PH ISO-8859-1 +# tl_PH.UTF-8 UTF-8 +# tn_ZA UTF-8 +# tr_CY ISO-8859-9 +# tr_CY.UTF-8 UTF-8 +# tr_TR ISO-8859-9 +# tr_TR.UTF-8 UTF-8 +# ts_ZA UTF-8 +# tt_RU UTF-8 +# tt_RU@iqtelif UTF-8 +# ug_CN UTF-8 +# ug_CN@latin UTF-8 +# uk_UA KOI8-U +# uk_UA.UTF-8 UTF-8 +# unm_US UTF-8 +# ur_IN UTF-8 +# ur_PK UTF-8 +# uz_UZ ISO-8859-1 +# uz_UZ.UTF-8 UTF-8 +# uz_UZ@cyrillic UTF-8 +# ve_ZA UTF-8 +# vi_VN UTF-8 +# wa_BE ISO-8859-1 +# wa_BE.UTF-8 UTF-8 +# wa_BE@euro ISO-8859-15 +# wae_CH UTF-8 +# wal_ET UTF-8 +# wo_SN UTF-8 +# xh_ZA ISO-8859-1 +# xh_ZA.UTF-8 UTF-8 +# yi_US CP1255 +# yi_US.UTF-8 UTF-8 +# yo_NG UTF-8 +# yue_HK UTF-8 +# zh_CN GB2312 +# zh_CN.GB18030 GB18030 +# zh_CN.GBK GBK +# zh_CN.UTF-8 UTF-8 +# zh_HK BIG5-HKSCS +# zh_HK.UTF-8 UTF-8 +# zh_SG GB2312 +# zh_SG.GBK GBK +# zh_SG.UTF-8 UTF-8 +# zh_TW BIG5 +# zh_TW.EUC-TW EUC-TW +# zh_TW.UTF-8 UTF-8 +# zu_ZA ISO-8859-1 +# zu_ZA.UTF-8 UTF-8 diff --git a/data/example-root/etc/profile b/data/example-root/etc/profile new file mode 100644 index 000000000..42bd3d007 --- /dev/null +++ b/data/example-root/etc/profile @@ -0,0 +1,2 @@ +# Global .profile -- add /sbin_1 +PATH=$PATH:/sbin_1:/xbin diff --git a/data/example-root/etc/sudoers.d/10-installer b/data/example-root/etc/sudoers.d/10-installer new file mode 100644 index 000000000..e69de29bb diff --git a/data/example-root/usr/share/zoneinfo/.dummy b/data/example-root/usr/share/zoneinfo/.dummy new file mode 100644 index 000000000..e69de29bb diff --git a/data/example-root/usr/share/zoneinfo/America/New_York b/data/example-root/usr/share/zoneinfo/America/New_York new file mode 100644 index 0000000000000000000000000000000000000000..7553fee37a5d03e9163ee19b1ced730a02345cfb GIT binary patch literal 3545 zcmd_sSy0tw7{~FW;u1<|in&Fm6{0L|xKd(jgnGmUQpxbGKnAsVN+m4AN|bP>tkJ=? z!Q9a_a=|1E(F`4%HgPS*S5s0GdzBW_I;Z#h-geP=(N%xve?Dg%818=GCn+U!T5r!k zp2qfnczG_{m+x&}v>!$5LS@CrKdJW?d1U3=U#eB{j*B;NN9u6QjyHo{+MdLuyyRuVz=}cJ;}*W9HM6Z*=*-GP8ThR$Z~? z9kVBEnckcCg83{lTklJoYCeyiq$|DiWPk7=eIPPb4%AOn2ZQ3|;PHX#i&u;s>iUZu zQa5zfoO9-I+$nt|xzZf%yjvfODK^JFEA@$x#pZ-wpuh92m+vdm^~vf2Ikn+sRb4(q zP8XypUF4NBnGdS7xzX}NLN|3TwUwNo7^Q3CBh8QfTj~p8!RBJyYx+`?tLD;ghxJc2 zRp#>19lEx%)LhwJrG73sBxXgay1Hb$T${gK)nygRFH`5LUlViWw;_+H-=kBczT30< zkKkCj-fXhIUO&m)xG-4%d3=!h>%bk_x3iP+ulH-ua-V6Ce?~WaR+~oRQvvEPX*^b| zCUK{wY0tf?>8tJKmX>SOEt{8_K(k0S*9)b^iB&qNB13L1%hSOd7MPZAP1CIk(#>si zAJVNe<4v2%-E~MpxM@4Eg}yz!xoOuWT(xgjYdSP+t~y)`l#XX=Ri|$+%N={ZR-s$I zk~>#!QJu3r=B}5PsxHZAP1orq`tF#0=AMyn=zBxfnXvA&beQim2@g!x;ni!U`=$Q6 zM|r+PR3)j%qD+a})=x#}j*^~B+o@g|8K(C$*HxeR1k-o?Nfi^;!}RN2uKG6(G6On( zrw7#hYzE%=L=UR`)(rl>NXM33k^6SNsPA9$jSP9`aUGYnRfguxR}UmElVNF(so~Mt zGGh2JHKMNA#79om@l}gWLeNm1ux+LpS=&{QdbdDEAB|Jqc{60pjxH*3idV)K2B>kd z(K3EcjhfJ@l_Vt}P)RrHf!UjW>RRSp0w|(nd~dpDQl|CBh`!bl)O^&X!%T? znzr0bEgGYhce^~6KSMnpStw6rcvV_Zj->ozrL!U%(GouMi>H9_XT=}`?E+~mJT0XO*zH~R_6OYt*7Fr~ zUy+SPb{5%MWN(qpMRph2USxlf4R+ccMz+{#_ZZn^WS5a`M)n!mXk@36tw#15*=%ID zk?ltI8`*HD-Em~gop#TWO-FX!X}2BOcVy#{okzAF*?VO3k==LN?ML<>X#mmzqyMS(m14ZNb8W^Aedx|s_=_=Azq_0S0ka;NP%(sZZoI?{He??~g3 z&LgcydXF?8=|0kar2ohb;IwxDatk=^J%HQ1axWk^19CSY zw*zuNAU6bZMZQ``|338(#cM5W=AomJ#vmkd1a=UnL`V#q{9xs9Rrirn)O@y~k SRPU&s5#C Date: Tue, 29 Aug 2017 10:34:38 -0400 Subject: [PATCH 004/129] Package module: extensive documentation of options --- src/modules/packages/packages.conf | 95 ++++++++++++++++++++++++------ 1 file changed, 78 insertions(+), 17 deletions(-) diff --git a/src/modules/packages/packages.conf b/src/modules/packages/packages.conf index 7bf589243..6e3af05a8 100644 --- a/src/modules/packages/packages.conf +++ b/src/modules/packages/packages.conf @@ -33,23 +33,84 @@ update_db: true # storage called "packageOperations" and it is processed # after the static list in the job configuration. # -#operations: -# - install: -# - pkg1 -# - pkg2 -# - remove: -# - pkg3 -# - pkg4 -# - try_install: # no system install failure if a package cannot be installed -# - pkg5 -# - try_remove: # no system install failure if a package cannot be removed -# - pkg2 -# - pkg1 -# - install: -# - pkgs6 -# - pkg7 -# - localInstall: -# - /path/to/pkg8 +# Allowed package operations are: +# - install, try_install: will call the package manager to +# install one or more packages. The install target will +# abort the whole installation if package-installation +# fails, while try_install carries on. Packages may be +# listed as (localized) names, or as (localized) package-data. +# See below for the description of the format. +# - localInstall: this is used to call the package manager +# to install a package from a path-to-a-package. This is +# useful if you have a static package archive on the install media. +# - remove, try_remove: will call the package manager to +# remove one or more packages. The remove target will +# abort the whole installation if package-removal fails, +# while try_remove carries on. Packages may be listed as +# (localized) names. +# +# There are two formats for naming packages: as a name # or as package-data, +# which is an object notation providing package-name, as well as pre- and +# post-install scripts. +# +# Here are both formats, for installing vi. The first one just names the +# package for vi (using the naming of the installed package manager), while +# the second contains three data-items; the pre-script is run before invoking +# the package manager, and the post-script runs once it is done. +# +# - install +# - vi +# - package: vi +# pre-script: touch /tmp/installing-vi +# post-script: rm -f /tmp/installing-vi +# +# The pre- and post-scripts are optional, but not both optional: using +# "package: vi" with neither script option will trick Calamares into +# trying to install a package named "package: vi", which is unlikely to work. +# +# Any package name may be localized; this is used to install localization +# packages for software based on the selected system locale. By including +# the string LOCALE in the package name, the following happens: +# +# - if the system locale is English (generally US English; en_GB is a valid +# localization), then the package is not installed at all, +# - otherwise LOCALE is replaced by the Bcp47 name of the selected system +# locale, e.g. nl_BE. +# +# The following installs localizations for vi, if they are relevant; if +# there is no localization, installation continues normally. +# +# - install +# - vi-LOCALE +# - package: vi-LOCALE +# pre-script: touch /tmp/installing-vi +# post-script: rm -f /tmp/installing-vi +# +# When installing packages, Calamares will invoke the package manager +# with a list of package names if it can; package-data prevents this because +# of the scripts that need to run. In other words, this: +# +# - install: +# - vi +# - binutils +# - package: wget +# pre-script: touch /tmp/installing-wget +# +# This will invoke the package manager three times, once for each package, +# because not all of them are simple package names. You can speed up the +# process if you have only a few pre-scriots, by using multiple install targets: +# +# - install: +# - vi +# - binutils +# - install: +# - package: wget +# pre-script: touch /tmp/installing-wget +# +# This will call the package manager once with the package-names "vi" and +# "binutils", and then a second time for "wget". When installing large numbers +# of packages, this can lead to a considerable time savings. +# operations: - install: - vi From 1ea79efce82852cf0085fab7424860bcf16ff877 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 29 Aug 2017 14:00:48 -0400 Subject: [PATCH 005/129] Uninitialized value --- src/modules/partition/gui/DeviceInfoWidget.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/partition/gui/DeviceInfoWidget.cpp b/src/modules/partition/gui/DeviceInfoWidget.cpp index 1fadb9566..abe5c7a49 100644 --- a/src/modules/partition/gui/DeviceInfoWidget.cpp +++ b/src/modules/partition/gui/DeviceInfoWidget.cpp @@ -33,6 +33,7 @@ DeviceInfoWidget::DeviceInfoWidget( QWidget* parent ) : QWidget( parent ) , m_ptIcon( new QLabel ) , m_ptLabel( new QLabel ) + , m_tableType( PartitionTable::unknownTableType ) { QHBoxLayout* mainLayout = new QHBoxLayout; setLayout( mainLayout ); From e1a93987d01536369e41159ed779d11d48e794ad Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 30 Aug 2017 10:08:44 -0400 Subject: [PATCH 006/129] Packages module: add progress reporting Adds i18n to the module (but these strings are not yet extracted), and reports progress as each group of packages is installed. FIXES #781 --- src/modules/packages/main.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/modules/packages/main.py b/src/modules/packages/main.py index 9eb0a8ea0..623344384 100644 --- a/src/modules/packages/main.py +++ b/src/modules/packages/main.py @@ -28,6 +28,22 @@ import subprocess import libcalamares from libcalamares.utils import check_target_env_call, target_env_call +import gettext +_ = gettext.translation("calamares-python", + localedir=libcalamares.utils.gettext_path(), + languages=libcalamares.utils.gettext_languages(), + fallback=True).gettext + + +total_packages = 0 +completed_packages = 0 + +def pretty_name(): + if (not (total_packages and completed_packages)) + return _("Install packages.") + else + return _("Installing packages, {} of {}.").format(str(completed_packages), str(total_packages)) + class PackageManager(metaclass=abc.ABCMeta): """ @@ -306,6 +322,15 @@ def run_operations(pkgman, entry): :param pkgman: :param entry: """ + global total_packages, completed_packages + total_packages = 0 + completed_packages = 0 + for packagelist in entry.values(): + total_packages += len(packagelist) + if not total_packages: + # Avoids potential divide-by-zero in progress reporting + return + for key in entry.keys(): entry[key] = subst_locale(entry[key]) if key == "install": @@ -337,6 +362,9 @@ def run_operations(pkgman, entry): elif key == "localInstall": pkgman.install(entry[key], from_local=True) + completed_packages += len(entry[key]) + libcalamares.job.setprogress(completed_packages * 1.0 / total_packages) + def run(): """ From a31c4b4cb35a7bec7b4d6326c07ce611507b06a7 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 30 Aug 2017 11:03:52 -0400 Subject: [PATCH 007/129] Packages module: better progress reporting - introduce multiple modes (remove, install) to distinguish progress messages - handle plurals via gettext - fix PEP8 whining from previous --- src/modules/packages/main.py | 95 ++++++++++++++++++++++++++++-------- 1 file changed, 75 insertions(+), 20 deletions(-) diff --git a/src/modules/packages/main.py b/src/modules/packages/main.py index 623344384..0839d2a24 100644 --- a/src/modules/packages/main.py +++ b/src/modules/packages/main.py @@ -27,22 +27,64 @@ import subprocess import libcalamares from libcalamares.utils import check_target_env_call, target_env_call +from libcalamares.utils import gettext_path, gettext_languages import gettext -_ = gettext.translation("calamares-python", - localedir=libcalamares.utils.gettext_path(), - languages=libcalamares.utils.gettext_languages(), - fallback=True).gettext +_translation = gettext.translation("calamares-python", + localedir=gettext_path(), + languages=gettext_languages(), + fallback=True) +_ = _translation.gettext +_n = _translation.ngettext total_packages = 0 completed_packages = 0 +INSTALL = object() +REMOVE = object() +mode_packages = None # Changes to INSTALL or REMOVE + + +def _change_mode(mode): + global mode_packages + mode_packages = mode + libcalamares.job.setprogress(completed_packages * 1.0 / total_packages) + + def pretty_name(): - if (not (total_packages and completed_packages)) + if mode_packages is INSTALL: + if not total_packages: + return _("Install packages.") + elif not completed_packages: + return _n("Installing package.", + "Installing %(num)d packages.", total_packages) % \ + {"num": total_packages} + elif completed_packages < total_packages: + return _n("Installing package, %(count)d of one.", + "Installing packages, %(count)d of %(total)d.") % \ + {"total": total_packages, "count": completed_packages} + else: + return _n("Installed one package.", + "Installed %(num)d packages.", total_packages) % \ + {"num": total_packages} + elif mode_packages is REMOVE: + if not total_packages: + return _("Remove packages.") + elif not completed_packages: + return _n("Removing package.", + "Removing %(num)d packages.", total_packages) % \ + {"num": total_packages} + elif completed_packages < total_packages: + return _("Removing packages, %(count)d of %(total)d.") % \ + {"total": total_packages, "count": completed_packages} + else: + return _n("Removed one package.", + "Removed %(num)d packages.", total_packages) % \ + {"num": total_packages} + else: + # No mode, generic description return _("Install packages.") - else - return _("Installing packages, {} of {}.").format(str(completed_packages), str(total_packages)) class PackageManager(metaclass=abc.ABCMeta): @@ -322,24 +364,19 @@ def run_operations(pkgman, entry): :param pkgman: :param entry: """ - global total_packages, completed_packages - total_packages = 0 - completed_packages = 0 - for packagelist in entry.values(): - total_packages += len(packagelist) - if not total_packages: - # Avoids potential divide-by-zero in progress reporting - return + global completed_packages, mode_packages for key in entry.keys(): entry[key] = subst_locale(entry[key]) if key == "install": + _change_mode(INSTALL) if all([isinstance(x, str) for x in entry[key]]): pkgman.install(entry[key]) else: for package in entry[key]: pkgman.install_package(package) elif key == "try_install": + _change_mode(INSTALL) # we make a separate package manager call for each package so a # single failing package won't stop all of them for package in entry[key]: @@ -350,8 +387,10 @@ def run_operations(pkgman, entry): warn_text += str(package) libcalamares.utils.debug(warn_text) elif key == "remove": + _change_mode(REMOVE) pkgman.remove(entry[key]) elif key == "try_remove": + _change_mode(REMOVE) for package in entry[key]: try: pkgman.remove([package]) @@ -360,10 +399,12 @@ def run_operations(pkgman, entry): warn_text += package libcalamares.utils.debug(warn_text) elif key == "localInstall": + _change_mode(INSTALL) pkgman.install(entry[key], from_local=True) completed_packages += len(entry[key]) libcalamares.job.setprogress(completed_packages * 1.0 / total_packages) + libcalamares.utils.debug(pretty_name()) def run(): @@ -373,6 +414,8 @@ def run(): :return: """ + global mode_packages, total_packages, completed_packages + backend = libcalamares.job.configuration.get("backend") for identifier, impl in backend_managers: @@ -382,17 +425,29 @@ def run(): else: return "Bad backend", "backend=\"{}\"".format(backend) - operations = libcalamares.job.configuration.get("operations", []) - update_db = libcalamares.job.configuration.get("update_db", False) if update_db and libcalamares.globalstorage.value("hasInternet"): pkgman.update_db() + operations = libcalamares.job.configuration.get("operations", []) + if libcalamares.globalstorage.contains("packageOperations"): + operations += libcalamares.globalstorage.value("packageOperations") + + mode_packages = None + total_packages = 0 + completed_packages = 0 + for op in operations: + for packagelist in op.values(): + total_packages += len(packagelist) + + if not total_packages: + # Avoids potential divide-by-zero in progress reporting + return None + for entry in operations: run_operations(pkgman, entry) - if libcalamares.globalstorage.contains("packageOperations"): - run_operations(pkgman, - libcalamares.globalstorage.value("packageOperations")) + mode_packages = None + libcalamares.job.setprogress(1.0) return None From 44262951a1b87d802da30c203aef51f863571d08 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 30 Aug 2017 17:36:48 -0400 Subject: [PATCH 008/129] Python-i18n: add _n() as a gettext keyword, for plurals --- ci/txpush.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/txpush.sh b/ci/txpush.sh index 5ec2c0614..3633c1664 100755 --- a/ci/txpush.sh +++ b/ci/txpush.sh @@ -59,7 +59,7 @@ for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do if test -n "$FILES" ; then MODULE_NAME=$(basename ${MODULE_DIR}) if [ -d ${MODULE_DIR}/lang ]; then - ${PYGETTEXT} -p ${MODULE_DIR}/lang -d ${MODULE_NAME} ${MODULE_DIR}/*.py + ${PYGETTEXT} -k _n -p ${MODULE_DIR}/lang -d ${MODULE_NAME} ${MODULE_DIR}/*.py if [ -f ${MODULE_DIR}/lang/${MODULE_NAME}.pot ]; then tx set -r calamares.${MODULE_NAME} --source -l en ${MODULE_DIR}/lang/${MODULE_NAME}.pot tx push --source --no-interactive -r calamares.${MODULE_NAME} @@ -71,7 +71,7 @@ for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do done if test -n "$SHARED_PYTHON" ; then - ${PYGETTEXT} -p lang -d python $SHARED_PYTHON + ${PYGETTEXT} -k _n -p lang -d python $SHARED_PYTHON tx set -r calamares.python --source -l en lang/python.pot tx push --source --no-interactive -r calamares.python fi From a4f4d417a2967bc1fc3d3a7d60d674bde7b2f287 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 31 Aug 2017 03:51:18 -0400 Subject: [PATCH 009/129] Packages module: improve translated progress reporting - Reduce number of strings a bit - Less confusing translation requirements (I hope) - Report on progress between groups --- src/modules/packages/main.py | 59 ++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/src/modules/packages/main.py b/src/modules/packages/main.py index 0839d2a24..48caae6bd 100644 --- a/src/modules/packages/main.py +++ b/src/modules/packages/main.py @@ -38,8 +38,9 @@ _ = _translation.gettext _n = _translation.ngettext -total_packages = 0 -completed_packages = 0 +total_packages = 0 # For the entire job +completed_packages = 0 # Done so far for this job +group_packages = 0 # One group of packages from an -install or -remove entry INSTALL = object() REMOVE = object() @@ -53,38 +54,22 @@ def _change_mode(mode): def pretty_name(): - if mode_packages is INSTALL: - if not total_packages: - return _("Install packages.") - elif not completed_packages: - return _n("Installing package.", - "Installing %(num)d packages.", total_packages) % \ - {"num": total_packages} - elif completed_packages < total_packages: - return _n("Installing package, %(count)d of one.", - "Installing packages, %(count)d of %(total)d.") % \ - {"total": total_packages, "count": completed_packages} - else: - return _n("Installed one package.", - "Installed %(num)d packages.", total_packages) % \ - {"num": total_packages} + if not group_packages: + # Outside the context of an operation + s = _("Processing packages (%(count)d / %(total)d)") + elif mode_packages is INSTALL: + s = _n("Installing one package.", + "Installing %(num)d packages.", group_packages) elif mode_packages is REMOVE: - if not total_packages: - return _("Remove packages.") - elif not completed_packages: - return _n("Removing package.", - "Removing %(num)d packages.", total_packages) % \ - {"num": total_packages} - elif completed_packages < total_packages: - return _("Removing packages, %(count)d of %(total)d.") % \ - {"total": total_packages, "count": completed_packages} - else: - return _n("Removed one package.", - "Removed %(num)d packages.", total_packages) % \ - {"num": total_packages} + s = _n("Removing one package.", + "Removing %(num)d packages.", group_packages) else: # No mode, generic description - return _("Install packages.") + s = _("Install packages.") + + return s % {"num": group_packages, + "count": completed_packages, + "total": total_packages} class PackageManager(metaclass=abc.ABCMeta): @@ -364,10 +349,11 @@ def run_operations(pkgman, entry): :param pkgman: :param entry: """ - global completed_packages, mode_packages + global group_packages, completed_packages, mode_packages for key in entry.keys(): entry[key] = subst_locale(entry[key]) + group_packages = len(entry[key]) if key == "install": _change_mode(INSTALL) if all([isinstance(x, str) for x in entry[key]]): @@ -406,6 +392,9 @@ def run_operations(pkgman, entry): libcalamares.job.setprogress(completed_packages * 1.0 / total_packages) libcalamares.utils.debug(pretty_name()) + group_packages = 0 + _change_mode(None) + def run(): """ @@ -414,7 +403,7 @@ def run(): :return: """ - global mode_packages, total_packages, completed_packages + global mode_packages, total_packages, completed_packages, group_packages backend = libcalamares.job.configuration.get("backend") @@ -445,9 +434,13 @@ def run(): return None for entry in operations: + group_packages = 0 + libcalamares.utils.debug(pretty_name()) run_operations(pkgman, entry) mode_packages = None + libcalamares.job.setprogress(1.0) + libcalamares.utils.debug(pretty_name()) return None From 71fe0f6f0301676b290087f10cf142d35912dee3 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 31 Aug 2017 04:09:48 -0400 Subject: [PATCH 010/129] Python-i18n: pygettext is deprecated - Use xgettext -L python instead - Mark _n as a plural-forms translation function - Explicit output to .pot files (instead of default .po) --- ci/txpush.sh | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/ci/txpush.sh b/ci/txpush.sh index 3633c1664..cb2499f3e 100755 --- a/ci/txpush.sh +++ b/ci/txpush.sh @@ -47,11 +47,7 @@ tx push --source --no-interactive -r calamares.fdo # - python modules without lang/, which use one shared catalog # -# Arch -# PYGETTEXT=/usr/lib/python3.5/Tools/i18n/pygettext.py - -# Ubuntu -PYGETTEXT=pygettext3 +PYGETTEXT="xgettext --keyword=_n:1,2 -L python" SHARED_PYTHON="" for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do @@ -59,7 +55,7 @@ for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do if test -n "$FILES" ; then MODULE_NAME=$(basename ${MODULE_DIR}) if [ -d ${MODULE_DIR}/lang ]; then - ${PYGETTEXT} -k _n -p ${MODULE_DIR}/lang -d ${MODULE_NAME} ${MODULE_DIR}/*.py + ${PYGETTEXT} -p ${MODULE_DIR}/lang -d ${MODULE_NAME} -o ${MODULE_NAME}.pot ${MODULE_DIR}/*.py if [ -f ${MODULE_DIR}/lang/${MODULE_NAME}.pot ]; then tx set -r calamares.${MODULE_NAME} --source -l en ${MODULE_DIR}/lang/${MODULE_NAME}.pot tx push --source --no-interactive -r calamares.${MODULE_NAME} @@ -71,7 +67,7 @@ for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do done if test -n "$SHARED_PYTHON" ; then - ${PYGETTEXT} -k _n -p lang -d python $SHARED_PYTHON + ${PYGETTEXT} -p lang -d python -o python.pot $SHARED_PYTHON tx set -r calamares.python --source -l en lang/python.pot tx push --source --no-interactive -r calamares.python fi From d5dca07e22852541888d90f20f4c1111bb5781cd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 30 Aug 2017 06:12:14 -0400 Subject: [PATCH 011/129] Fix uninitialized values (valgrind report) --- src/modules/partition/gui/EncryptWidget.cpp | 1 + src/modules/welcome/checker/partman_devices.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/partition/gui/EncryptWidget.cpp b/src/modules/partition/gui/EncryptWidget.cpp index 9fc7be59d..198f2ebe1 100644 --- a/src/modules/partition/gui/EncryptWidget.cpp +++ b/src/modules/partition/gui/EncryptWidget.cpp @@ -23,6 +23,7 @@ EncryptWidget::EncryptWidget( QWidget* parent ) : QWidget( parent ) + , m_state( EncryptionDisabled ) { setupUi( this ); diff --git a/src/modules/welcome/checker/partman_devices.c b/src/modules/welcome/checker/partman_devices.c index d417f3c0f..e2c2bb98f 100644 --- a/src/modules/welcome/checker/partman_devices.c +++ b/src/modules/welcome/checker/partman_devices.c @@ -112,7 +112,7 @@ process_device(PedDevice *dev) int check_big_enough(long long required_space) { - PedDevice *dev; + PedDevice *dev = NULL; ped_exception_fetch_all(); ped_device_probe_all(); From e26d5ab20636c4c67b01a202db4c47b96ca112ed Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 30 Aug 2017 07:46:01 -0400 Subject: [PATCH 012/129] Don't leak memory for allocated modules --- src/libcalamaresui/modulesystem/ModuleManager.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index dd7abdf29..d08cdf8dd 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -57,7 +57,13 @@ ModuleManager::ModuleManager( const QStringList& paths, QObject* parent ) ModuleManager::~ModuleManager() -{} +{ + // The map is populated with Module::fromDescriptor(), which allocates on the heap. + for( auto moduleptr : m_loadedModulesByInstanceKey ) + { + delete moduleptr; + } +} void From 0e96621b941e175f3ee1c2247511ba44b3e0bdf4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 30 Aug 2017 07:50:24 -0400 Subject: [PATCH 013/129] Don't leak memory when winnowing disk devices - Improve logging a little - Don't leak Device*, but delete the raw pointer when erasing - Document that DeviceInfo takes ownership and doesn't leak --- src/modules/partition/core/DeviceList.cpp | 24 +++++++++++++------ .../partition/core/PartitionCoreModule.cpp | 1 + 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/modules/partition/core/DeviceList.cpp b/src/modules/partition/core/DeviceList.cpp index 5bce4a0e3..055c18dbc 100644 --- a/src/modules/partition/core/DeviceList.cpp +++ b/src/modules/partition/core/DeviceList.cpp @@ -106,12 +106,22 @@ operator <<( QDebug& s, QList< Device* >::iterator& it ) return s; } +using DeviceList = QList< Device* >; + +static inline DeviceList::iterator +erase(DeviceList& l, DeviceList::iterator& it) +{ + Device* p = *it; + auto r = l.erase( it ); + if (p) + delete p; + return r; +} + QList< Device* > getDevices( DeviceType which, qint64 minimumSize ) { bool writableOnly = (which == DeviceType::WritableOnly); - using DeviceList = QList< Device* >; - CoreBackend* backend = CoreBackendManager::self()->backend(); DeviceList devices = backend->scanDevices( true ); @@ -123,8 +133,8 @@ QList< Device* > getDevices( DeviceType which, qint64 minimumSize ) ( *it )->deviceNode().startsWith( "/dev/zram" ) ) { - cDebug() << " .. Removing" << it; - it = devices.erase( it ); + cDebug() << " .. Removing zram" << it; + it = erase(devices, it ); } else if ( writableOnly && ( @@ -132,13 +142,13 @@ QList< Device* > getDevices( DeviceType which, qint64 minimumSize ) isIso9660( *it ) ) ) { - cDebug() << " .. Removing" << it; - it = devices.erase( it ); + cDebug() << " .. Removing root-or-CD" << it; + it = erase(devices, it ); } else if ( (minimumSize >= 0) && !( (*it)->capacity() > minimumSize ) ) { cDebug() << " .. Removing too-small" << it; - it = devices.erase( it ); + it = erase(devices, it ); } else ++it; diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index ac22b2b7a..07c09c6d7 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -122,6 +122,7 @@ PartitionCoreModule::doInit() cDebug() << "node\tcapacity\tname\tprettyName"; for ( auto device : devices ) { + // Gives ownership of the Device* to the DeviceInfo object auto deviceInfo = new DeviceInfo( device ); m_deviceInfos << deviceInfo; cDebug() << device->deviceNode() << device->capacity() << device->name() << device->prettyName(); From 798640be0d74c550c5729578d126a32acb951692 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 31 Aug 2017 04:51:34 -0400 Subject: [PATCH 014/129] PEP8 whining --- src/modules/initcpiocfg/main.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/initcpiocfg/main.py b/src/modules/initcpiocfg/main.py index ca9455d20..a18cd0c4f 100644 --- a/src/modules/initcpiocfg/main.py +++ b/src/modules/initcpiocfg/main.py @@ -65,11 +65,12 @@ def write_mkinitcpio_lines(hooks, modules, files, root_mount_point): :param files: :param root_mount_point: """ + hostfile = "/etc/mkinitcpio.conf" try: - with open("/etc/mkinitcpio.conf", "r") as mkinitcpio_file: + with open(hostfile, "r") as mkinitcpio_file: mklins = [x.strip() for x in mkinitcpio_file.readlines()] except FileNotFoundError: - libcalamares.utils.debug("Could not open host file /etc/mkinitcpio.conf") + libcalamares.utils.debug("Could not open host file '%s'" % hostfile) mklins = [] for i in range(len(mklins)): From b22bd67a5fe400ba3da3be4a121487071598f4ad Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 31 Aug 2017 05:28:58 -0400 Subject: [PATCH 015/129] Avoid race condition around libparted device use. FIXES #782 --- src/modules/welcome/checker/partman_devices.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/modules/welcome/checker/partman_devices.c b/src/modules/welcome/checker/partman_devices.c index e2c2bb98f..2cc97557a 100644 --- a/src/modules/welcome/checker/partman_devices.c +++ b/src/modules/welcome/checker/partman_devices.c @@ -126,7 +126,15 @@ check_big_enough(long long required_space) break; } } - ped_device_free_all(); + + // We would free the devices to release allocated memory, + // but other modules might be using partman use well, + // and they can hold pointers to libparted structures in + // other threads. + // + // So prefer to leak memory, instead. + // + // ped_device_free_all(); return big_enough; } From 47dcbefe2ceebe8ecec7cbb25e12c0b256167c76 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Sep 2017 06:33:01 -0400 Subject: [PATCH 016/129] Apply patch from V3n3RiX. https://gitlab.com/redcore/redcore-desktop/raw/master/app-admin/calamares/files/calamares-3.1.1-luks-fstab-write-devmapper.patch Fixes #772 --- src/modules/fstab/main.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/modules/fstab/main.py b/src/modules/fstab/main.py index 9c116b8a0..553eb65ef 100644 --- a/src/modules/fstab/main.py +++ b/src/modules/fstab/main.py @@ -262,12 +262,20 @@ class FstabGenerator(object): check=check, ) - return dict(device="UUID=" + partition["uuid"], - mount_point=mount_point or "swap", - fs=filesystem, - options=options, - check=check, - ) + if "luksMapperName" in partition: + return dict(device="/dev/mapper/" + partition["luksMapperName"], + mount_point=mount_point or "swap", + fs=filesystem, + options=options, + check=check, + ) + else: + return dict(device="UUID=" + partition["uuid"], + mount_point=mount_point or "swap", + fs=filesystem, + options=options, + check=check, + ) def print_fstab_line(self, dct, file=None): """ Prints line to '/etc/fstab' file. """ From e13f7898ac5f5b43dca047ee06caa815be47f229 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Sep 2017 06:42:51 -0400 Subject: [PATCH 017/129] Make check for dracut more readable --- src/modules/grubcfg/main.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/grubcfg/main.py b/src/modules/grubcfg/main.py index 59497cf03..8acacbb72 100644 --- a/src/modules/grubcfg/main.py +++ b/src/modules/grubcfg/main.py @@ -40,6 +40,8 @@ def modify_grub_default(partitions, root_mount_point, distributor): dracut_bin = libcalamares.utils.target_env_call( ["sh", "-c", "which dracut"] ) + have_dracut = dracut_bin == 0 # Shell exit value 0 means success + use_splash = "" swap_uuid = "" swap_outer_uuid = "" @@ -50,7 +52,7 @@ def modify_grub_default(partitions, root_mount_point, distributor): cryptdevice_params = [] - if dracut_bin == 0: + if have_dracut: for partition in partitions: if partition["fs"] == "linuxswap": swap_uuid = partition["uuid"] From e9e6834dd8bbfc7759230c548fa289484c308887 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Sep 2017 07:57:20 -0400 Subject: [PATCH 018/129] Locale: translate OK, Cancel buttons in language selection (reported on IRC) --- src/modules/locale/LCLocaleDialog.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/modules/locale/LCLocaleDialog.cpp b/src/modules/locale/LCLocaleDialog.cpp index c6b475b24..46605091b 100644 --- a/src/modules/locale/LCLocaleDialog.cpp +++ b/src/modules/locale/LCLocaleDialog.cpp @@ -41,7 +41,7 @@ LCLocaleDialog::LCLocaleDialog( const QString& guessedLCLocale, upperText->setText( tr( "The system locale setting affects the language and character " "set for some command line user interface elements.
" "The current setting is %1." ) - .arg( guessedLCLocale ) ); + .arg( guessedLCLocale ) ); mainLayout->addWidget( upperText ); setMinimumWidth( upperText->fontMetrics().height() * 24 ); @@ -61,8 +61,11 @@ LCLocaleDialog::LCLocaleDialog( const QString& guessedLCLocale, } QDialogButtonBox* dbb = new QDialogButtonBox( QDialogButtonBox::Ok | QDialogButtonBox::Cancel, - Qt::Horizontal, - this ); + Qt::Horizontal, + this ); + dbb->button( QDialogButtonBox::Cancel )->setText( tr( "&Cancel" ) ); + dbb->button( QDialogButtonBox::Ok )->setText( tr( "&OK" ) ); + mainLayout->addWidget( dbb ); connect( dbb->button( QDialogButtonBox::Ok ), &QPushButton::clicked, @@ -83,9 +86,7 @@ LCLocaleDialog::LCLocaleDialog( const QString& guessedLCLocale, } ); if ( selected > -1 ) - { m_localesWidget->setCurrentRow( selected ); - } } From 78ef69af02468e7bdd1c5e3983981aed41613f67 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 4 Sep 2017 08:17:38 -0400 Subject: [PATCH 019/129] i18n: update source translations --- lang/calamares_en.ts | 46 ++++++++++------ lang/python.pot | 55 ++++++++++++++----- .../dummypythonqt/lang/dummypythonqt.pot | 25 +++++---- 3 files changed, 84 insertions(+), 42 deletions(-) diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index dc388b75e..e42961c34 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -1,18 +1,20 @@ - + + + BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +593,27 @@ The installer will quit and all changes will be lost. Si&ze: - + En&crypt En&crypt - + Logical Logical - + Primary Primary - + GPT GPT - + Mountpoint already in use. Please select another one. Mountpoint already in use. Please select another one. @@ -824,7 +826,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +943,7 @@ The installer will quit and all changes will be lost. Flags: - + Mountpoint already in use. Please select another one. Mountpoint already in use. Please select another one. @@ -969,7 +971,7 @@ The installer will quit and all changes will be lost. Confirm passphrase - + Please enter the same passphrase in both boxes. Please enter the same passphrase in both boxes. @@ -1038,17 +1040,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish Finish - + Installation Complete Installation Complete - + The installation of %1 is complete. The installation of %1 is complete. @@ -1159,6 +1161,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + &Cancel + + + + &OK + + LicensePage @@ -1575,7 +1587,7 @@ The installer will quit and all changes will be lost. Install boot &loader on: - + Are you sure you want to create a new partition table on %1? Are you sure you want to create a new partition table on %1? @@ -2286,4 +2298,4 @@ The installer will quit and all changes will be lost. Welcome - \ No newline at end of file + diff --git a/lang/python.pot b/lang/python.pot index a8d01218d..6a07ac3e4 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -1,27 +1,54 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" - -#: src/modules/dummypython/main.py:44 -msgid "Dummy python job." -msgstr "Dummy python job." - -#: src/modules/dummypython/main.py:97 -msgid "Dummy python step {}" -msgstr "Dummy python step {}" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." -msgstr "Generate machine-id." +msgstr "" + +#: src/modules/dummypython/main.py:44 +msgid "Dummy python job." +msgstr "" + +#: src/modules/dummypython/main.py:97 +msgid "Dummy python step {}" +msgstr "" + +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "" diff --git a/src/modules/dummypythonqt/lang/dummypythonqt.pot b/src/modules/dummypythonqt/lang/dummypythonqt.pot index 43240bcc0..23568c2aa 100644 --- a/src/modules/dummypythonqt/lang/dummypythonqt.pot +++ b/src/modules/dummypythonqt/lang/dummypythonqt.pot @@ -1,39 +1,42 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" #: src/modules/dummypythonqt/main.py:84 msgid "Click me!" -msgstr "Click me!" +msgstr "" #: src/modules/dummypythonqt/main.py:94 msgid "A new QLabel." -msgstr "A new QLabel." +msgstr "" #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "Dummy PythonQt ViewStep" +msgstr "" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" -msgstr "The Dummy PythonQt Job" +msgstr "" #: src/modules/dummypythonqt/main.py:186 msgid "This is the Dummy PythonQt Job. The dummy job says: {}" -msgstr "This is the Dummy PythonQt Job. The dummy job says: {}" +msgstr "" #: src/modules/dummypythonqt/main.py:190 msgid "A status message for Dummy PythonQt Job." -msgstr "A status message for Dummy PythonQt Job." +msgstr "" From 360a114ed43678695f7ab829cd00c1db7e8e9cc1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 5 Sep 2017 03:36:03 -0400 Subject: [PATCH 020/129] Be more explicit on why a device is winnowed from the list --- src/modules/partition/core/DeviceList.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/modules/partition/core/DeviceList.cpp b/src/modules/partition/core/DeviceList.cpp index 055c18dbc..05616335b 100644 --- a/src/modules/partition/core/DeviceList.cpp +++ b/src/modules/partition/core/DeviceList.cpp @@ -137,12 +137,14 @@ QList< Device* > getDevices( DeviceType which, qint64 minimumSize ) it = erase(devices, it ); } - else if ( writableOnly && ( - hasRootPartition( *it ) || - isIso9660( *it ) ) - ) + else if ( writableOnly && hasRootPartition( *it ) ) { - cDebug() << " .. Removing root-or-CD" << it; + cDebug() << " .. Removing device with root filesystem (/) on it" << it; + it = erase(devices, it ); + } + else if ( writableOnly && isIso9660( *it ) ) + { + cDebug() << " .. Removing device with iso9660 filesystem (probably a CD) on it" << it; it = erase(devices, it ); } else if ( (minimumSize >= 0) && !( (*it)->capacity() > minimumSize ) ) From ec265c073ac3080cfc7007b9fbf53346ec794e06 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 5 Sep 2017 03:39:34 -0400 Subject: [PATCH 021/129] One more have_dracut check (thanks to @crazy) --- src/modules/grubcfg/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/grubcfg/main.py b/src/modules/grubcfg/main.py index 8acacbb72..5b1028c58 100644 --- a/src/modules/grubcfg/main.py +++ b/src/modules/grubcfg/main.py @@ -91,7 +91,7 @@ def modify_grub_default(partitions, root_mount_point, distributor): if swap_uuid: kernel_params.append("resume=UUID={!s}".format(swap_uuid)) - if dracut_bin == 0 and swap_outer_uuid: + if have_dracut and swap_outer_uuid: kernel_params.append("rd.luks.uuid={!s}".format(swap_outer_uuid)) distributor_line = "GRUB_DISTRIBUTOR='{!s}'".format(distributor_replace) From 1859808227563619c23f69c1fbc86393e114d46e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 5 Sep 2017 03:50:08 -0400 Subject: [PATCH 022/129] Move development-related scripts, tools, into ci/ --- HACKING.md => ci/HACKING.md | 0 {hacking => ci}/RELEASE.md | 0 {hacking => ci}/astylerc | 0 {hacking => ci}/calamaresstyle | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename HACKING.md => ci/HACKING.md (100%) rename {hacking => ci}/RELEASE.md (100%) rename {hacking => ci}/astylerc (100%) rename {hacking => ci}/calamaresstyle (100%) diff --git a/HACKING.md b/ci/HACKING.md similarity index 100% rename from HACKING.md rename to ci/HACKING.md diff --git a/hacking/RELEASE.md b/ci/RELEASE.md similarity index 100% rename from hacking/RELEASE.md rename to ci/RELEASE.md diff --git a/hacking/astylerc b/ci/astylerc similarity index 100% rename from hacking/astylerc rename to ci/astylerc diff --git a/hacking/calamaresstyle b/ci/calamaresstyle similarity index 100% rename from hacking/calamaresstyle rename to ci/calamaresstyle From 73a75e837b69b0525076dcbdc63a4115b909ca47 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 5 Sep 2017 08:18:23 -0400 Subject: [PATCH 023/129] Auto-resize the main window. If the summary widget is large, it gets a scrollbar. This looks really weird, so prefer to grow the installer window instead. Discussed with @sitter and settled on this solution. ViewSteps can signal the ViewManager that they need more space (in pixels), which may or may not be honored. FIXES #778 --- src/calamares/CalamaresWindow.cpp | 17 ++++++++++++++--- src/calamares/CalamaresWindow.h | 9 +++++++++ src/libcalamaresui/ViewManager.cpp | 23 +++++++---------------- src/libcalamaresui/ViewManager.h | 2 ++ src/libcalamaresui/viewpages/ViewStep.h | 12 +++++++++++- src/modules/summary/SummaryPage.cpp | 17 ++++++++++++++++- 6 files changed, 59 insertions(+), 21 deletions(-) diff --git a/src/calamares/CalamaresWindow.cpp b/src/calamares/CalamaresWindow.cpp index 260d56139..eb3289083 100644 --- a/src/calamares/CalamaresWindow.cpp +++ b/src/calamares/CalamaresWindow.cpp @@ -55,7 +55,7 @@ CalamaresWindow::CalamaresWindow( QWidget* parent ) cDebug() << "Available size" << availableSize; - if ( (availableSize.width() < windowPreferredWidth) || (availableSize.height() < windowPreferredHeight) ) + if ( ( availableSize.width() < windowPreferredWidth ) || ( availableSize.height() < windowPreferredHeight ) ) cDebug() << " Small screen detected."; QSize minimumSize( qBound( windowMinimumWidth, availableSize.width(), windowPreferredWidth ), qBound( windowMinimumHeight, availableSize.height(), windowPreferredHeight ) ); @@ -131,9 +131,7 @@ CalamaresWindow::CalamaresWindow( QWidget* parent ) else { if ( m_debugWindow ) - { m_debugWindow->deleteLater(); - } } } ); } @@ -142,6 +140,19 @@ CalamaresWindow::CalamaresWindow( QWidget* parent ) CalamaresUtils::unmarginLayout( mainLayout ); Calamares::ViewManager* vm = Calamares::ViewManager::instance( this ); + connect( vm, &Calamares::ViewManager::enlarge, this, &CalamaresWindow::enlarge ); mainLayout->addWidget( vm->centralWidget() ); } + +void +CalamaresWindow::enlarge( QSize enlarge ) +{ + auto mainGeometry = this->geometry(); + QSize availableSize = qApp->desktop()->availableGeometry( this ).size(); + + auto h = qBound( 0, mainGeometry.height() + enlarge.height(), availableSize.height() ); + auto w = this->size().width(); + + resize( w, h ); +} diff --git a/src/calamares/CalamaresWindow.h b/src/calamares/CalamaresWindow.h index 7b2cfa6fa..00f790f5a 100644 --- a/src/calamares/CalamaresWindow.h +++ b/src/calamares/CalamaresWindow.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -37,6 +38,14 @@ public: CalamaresWindow( QWidget* parent = nullptr ); virtual ~CalamaresWindow() {} +public slots: + /** + * This asks the main window to grow by @p enlarge pixels, to accomodate + * larger-than-expected window contents. The enlargement may be silently + * ignored. + */ + void enlarge( QSize enlarge ); + private: QPointer< Calamares::DebugWindow > m_debugWindow; }; diff --git a/src/libcalamaresui/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp index 4a8b7acf5..7b5df155b 100644 --- a/src/libcalamaresui/ViewManager.cpp +++ b/src/libcalamaresui/ViewManager.cpp @@ -109,9 +109,7 @@ ViewManager::ViewManager( QObject* parent ) qApp->quit(); } else // Means we're at the end, no need to confirm. - { qApp->quit(); - } } ); connect( JobQueue::instance(), &JobQueue::failed, @@ -145,16 +143,15 @@ ViewManager::addViewStep( ViewStep* step ) void -ViewManager::insertViewStep( int before, ViewStep* step) +ViewManager::insertViewStep( int before, ViewStep* step ) { m_steps.insert( before, step ); QLayout* layout = step->widget()->layout(); if ( layout ) - { layout->setContentsMargins( 0, 0, 0, 0 ); - } m_stack->insertWidget( before, step->widget() ); + connect( step, &ViewStep::enlarge, this, &ViewManager::enlarge ); connect( step, &ViewStep::nextStatusChanged, this, [this]( bool status ) { @@ -180,19 +177,17 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail QMessageBox* msgBox = new QMessageBox(); msgBox->setIcon( QMessageBox::Critical ); - msgBox->setWindowTitle( tr("Error") ); + msgBox->setWindowTitle( tr( "Error" ) ); msgBox->setText( "" + tr( "Installation Failed" ) + "" ); msgBox->setStandardButtons( QMessageBox::Close ); msgBox->button( QMessageBox::Close )->setText( tr( "&Close" ) ); QString text = "

" + message + "

"; if ( !details.isEmpty() ) - { text += "

" + details + "

"; - } msgBox->setInformativeText( text ); - connect(msgBox, &QMessageBox::buttonClicked, qApp, &QApplication::quit); + connect( msgBox, &QMessageBox::buttonClicked, qApp, &QApplication::quit ); cLog() << "Calamares will quit when the dialog closes."; msgBox->show(); } @@ -230,8 +225,8 @@ ViewManager::next() // and right before switching to an execution phase. // Depending on Calamares::Settings, we show an "are you sure" prompt or not. if ( Calamares::Settings::instance()->showPromptBeforeExecution() && - m_currentStep + 1 < m_steps.count() && - qobject_cast< ExecutionViewStep* >( m_steps.at( m_currentStep + 1 ) ) ) + m_currentStep + 1 < m_steps.count() && + qobject_cast< ExecutionViewStep* >( m_steps.at( m_currentStep + 1 ) ) ) { int reply = QMessageBox::question( m_widget, @@ -263,15 +258,13 @@ ViewManager::next() } } else - { step->next(); - } m_next->setEnabled( !executing && m_steps.at( m_currentStep )->isNextEnabled() ); m_back->setEnabled( !executing && m_steps.at( m_currentStep )->isBackEnabled() ); if ( m_currentStep == m_steps.count() -1 && - m_steps.last()->isAtEnd() ) + m_steps.last()->isAtEnd() ) { m_quit->setText( tr( "&Done" ) ); m_quit->setToolTip( tr( "The installation is complete. Close the installer." ) ); @@ -292,9 +285,7 @@ ViewManager::back() emit currentStepChanged(); } else if ( !step->isAtBeginning() ) - { step->back(); - } else return; m_next->setEnabled( m_steps.at( m_currentStep )->isNextEnabled() ); diff --git a/src/libcalamaresui/ViewManager.h b/src/libcalamaresui/ViewManager.h index f2f0ca57a..38ddda70a 100644 --- a/src/libcalamaresui/ViewManager.h +++ b/src/libcalamaresui/ViewManager.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -111,6 +112,7 @@ public slots: signals: void currentStepChanged(); + void enlarge( QSize enlarge ) const; // See ViewStep::enlarge() private: explicit ViewManager( QObject* parent = nullptr ); diff --git a/src/libcalamaresui/viewpages/ViewStep.h b/src/libcalamaresui/viewpages/ViewStep.h index 27bab23c8..2c07dace5 100644 --- a/src/libcalamaresui/viewpages/ViewStep.h +++ b/src/libcalamaresui/viewpages/ViewStep.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -93,7 +94,10 @@ public: virtual QList< job_ptr > jobs() const = 0; void setModuleInstanceKey( const QString& instanceKey ); - QString moduleInstanceKey() const { return m_instanceKey; } + QString moduleInstanceKey() const + { + return m_instanceKey; + } virtual void setConfigurationMap( const QVariantMap& configurationMap ); @@ -101,6 +105,12 @@ signals: void nextStatusChanged( bool status ); void done(); + /* Emitted when the viewstep thinks it needs more space than is currently + * available for display. @p enlarge is the requested additional space, + * e.g. 24px vertical. This request may be silently ignored. + */ + void enlarge( QSize enlarge ) const; + protected: QString m_instanceKey; }; diff --git a/src/modules/summary/SummaryPage.cpp b/src/modules/summary/SummaryPage.cpp index 6d53ba8b6..c13ec1ccd 100644 --- a/src/modules/summary/SummaryPage.cpp +++ b/src/modules/summary/SummaryPage.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,6 +24,7 @@ #include "ExecutionViewStep.h" #include "utils/Retranslator.h" #include "utils/CalamaresUtilsGui.h" +#include "utils/Logger.h" #include "ViewManager.h" #include @@ -96,6 +98,20 @@ SummaryPage::onActivate() itemBodyLayout->addSpacing( CalamaresUtils::defaultFontHeight() * 2 ); } m_layout->addStretch(); + + m_scrollArea->setWidget( m_contentWidget ); + + auto summarySize = m_contentWidget->sizeHint(); + if ( summarySize.height() > m_scrollArea->size().height() ) + { + auto enlarge = 2 + summarySize.height() - m_scrollArea->size().height(); + auto widgetSize = this->size(); + widgetSize.setHeight( widgetSize.height() + enlarge ); + + cDebug() << "Summary widget is larger than viewport, enlarge by" << enlarge << "to" << widgetSize; + + emit m_thisViewStep->enlarge( QSize( 0, enlarge ) ); // Only expand height + } } Calamares::ViewStepList @@ -133,7 +149,6 @@ SummaryPage::createContentWidget() m_contentWidget = new QWidget; m_layout = new QVBoxLayout( m_contentWidget ); CalamaresUtils::unmarginLayout( m_layout ); - m_scrollArea->setWidget( m_contentWidget ); } QLabel* From 9096a9ebcd4ec1361b64d0a977c0112cc2c084eb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 6 Sep 2017 04:55:08 -0400 Subject: [PATCH 024/129] Remove overly-verbose debugging --- src/modules/finished/FinishedViewStep.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/modules/finished/FinishedViewStep.cpp b/src/modules/finished/FinishedViewStep.cpp index 8017a739c..a4cc5c734 100644 --- a/src/modules/finished/FinishedViewStep.cpp +++ b/src/modules/finished/FinishedViewStep.cpp @@ -35,8 +35,6 @@ FinishedViewStep::FinishedViewStep( QObject* parent ) , m_widget( new FinishedPage() ) , installFailed( false ) { - cDebug() << "FinishedViewStep()"; - auto jq = Calamares::JobQueue::instance(); connect( jq, &Calamares::JobQueue::failed, m_widget, &FinishedPage::onInstallationFailed ); @@ -64,7 +62,6 @@ FinishedViewStep::prettyName() const QWidget* FinishedViewStep::widget() { - cDebug() << "FinishedViewStep::widget()"; return m_widget; } @@ -140,7 +137,6 @@ FinishedViewStep::sendNotification() void FinishedViewStep::onActivate() { - cDebug() << "FinishedViewStep::onActivate()"; m_widget->setUpRestart(); sendNotification(); @@ -150,7 +146,6 @@ FinishedViewStep::onActivate() QList< Calamares::job_ptr > FinishedViewStep::jobs() const { - cDebug() << "FinishedViewStep::jobs"; return QList< Calamares::job_ptr >(); } From 6c5199c9cc1e0a8eaa1894cb5aaae6ef6e1df872 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 6 Sep 2017 05:10:33 -0400 Subject: [PATCH 025/129] YAML: on error, report filename along with location --- src/libcalamaresui/Branding.cpp | 2 +- src/libcalamaresui/Settings.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcalamaresui/Branding.cpp b/src/libcalamaresui/Branding.cpp index 11d607853..6d559c6fb 100644 --- a/src/libcalamaresui/Branding.cpp +++ b/src/libcalamaresui/Branding.cpp @@ -179,7 +179,7 @@ Branding::Branding( const QString& brandingFilePath, } catch ( YAML::Exception& e ) { - cDebug() << "WARNING: YAML parser error " << e.what(); + cDebug() << "WARNING: YAML parser error " << e.what() << "in" << file.fileName(); } QDir translationsDir( componentDir.filePath( "lang" ) ); diff --git a/src/libcalamaresui/Settings.cpp b/src/libcalamaresui/Settings.cpp index 719f950fe..ce01bf42d 100644 --- a/src/libcalamaresui/Settings.cpp +++ b/src/libcalamaresui/Settings.cpp @@ -156,7 +156,7 @@ Settings::Settings( const QString& settingsFilePath, } catch ( YAML::Exception& e ) { - cDebug() << "WARNING: YAML parser error " << e.what(); + cDebug() << "WARNING: YAML parser error " << e.what() << "in" << file.fileName(); } } else From 09decf8e060abe07bafd542fd6f319f48f4e6bd5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 6 Sep 2017 05:47:11 -0400 Subject: [PATCH 026/129] YAML-NetInstall: log data errors. When NetInstall receives YAML data, handle parser errors more gracefully: show line and column, but because it's network data (not in a local file), do some work to print out the actual data received. FIXES #786 --- src/modules/netinstall/NetInstallPage.cpp | 67 ++++++++++++++++++++--- src/modules/netinstall/NetInstallPage.h | 3 +- 2 files changed, 61 insertions(+), 9 deletions(-) diff --git a/src/modules/netinstall/NetInstallPage.cpp b/src/modules/netinstall/NetInstallPage.cpp index b5fa702d6..fe5b600ab 100644 --- a/src/modules/netinstall/NetInstallPage.cpp +++ b/src/modules/netinstall/NetInstallPage.cpp @@ -64,14 +64,59 @@ NetInstallPage::isReady() return true; } -void NetInstallPage::readGroups( const QByteArray& yamlData ) +bool +NetInstallPage::readGroups( const QByteArray& yamlData ) { - YAML::Node groups = YAML::Load( yamlData.constData() ); - Q_ASSERT( groups.IsSequence() ); - m_groups = new PackageModel( groups ); - CALAMARES_RETRANSLATE( - m_groups->setHeaderData( 0, Qt::Horizontal, tr( "Name" ) ); - m_groups->setHeaderData( 0, Qt::Horizontal, tr( "Description" ) ); ) + try + { + YAML::Node groups = YAML::Load( yamlData.constData() ); + + if ( !groups.IsSequence() ) + cDebug() << "WARNING: netinstall groups data does not form a sequence."; + Q_ASSERT( groups.IsSequence() ); + m_groups = new PackageModel( groups ); + CALAMARES_RETRANSLATE( + m_groups->setHeaderData( 0, Qt::Horizontal, tr( "Name" ) ); + m_groups->setHeaderData( 0, Qt::Horizontal, tr( "Description" ) ); ) + return true; + + } + catch ( YAML::Exception& e ) + { + cDebug() << "WARNING: YAML error " << e.what() << "in netinstall groups data."; + if ( ( e.mark.line >= 0 ) && ( e.mark.column >= 0 ) ) + { + // Try to show the line where it happened. + int linestart = 0; + for ( int linecount = 0; linecount < e.mark.line; ++linecount ) + { + linestart = yamlData.indexOf( '\n', linestart ); + // No more \ns found, weird + if ( linestart < 0 ) + break; + linestart += 1; // Skip that \n + } + int lineend = linestart; + if ( linestart >= 0 ) + { + lineend = yamlData.indexOf( '\n', linestart ); + if ( lineend < 0 ) + lineend = yamlData.length(); + } + + int rangestart = linestart; + int rangeend = lineend; + // Adjust range (linestart..lineend) so it's not too long + if ( ( linestart >= 0 ) && ( e.mark.column > 30 ) ) + rangestart += ( e.mark.column - 30 ); + if ( ( linestart >= 0 ) && ( rangeend - rangestart > 40 ) ) + rangeend = rangestart + 40; + + if ( linestart >= 0 ) + cDebug() << "WARNING: offending YAML data:" << yamlData.mid( rangestart, rangeend-rangestart ).constData(); + } + return false; + } } void @@ -84,7 +129,13 @@ NetInstallPage::dataIsHere( QNetworkReply* reply ) return; } - readGroups( reply->readAll() ); + if ( !readGroups( reply->readAll() ) ) + { + cDebug() << "Netinstall groups data was received, but invalid."; + ui->netinst_status->setText( tr( "Network Installation. (Disabled: Unable to fetch package lists, check your network connection)" ) ); + reply->deleteLater(); + return; + } ui->groupswidget->setModel( m_groups ); ui->groupswidget->header()->setSectionResizeMode( 0, QHeaderView::ResizeToContents ); diff --git a/src/modules/netinstall/NetInstallPage.h b/src/modules/netinstall/NetInstallPage.h index 7ecc74f89..423c16b8e 100644 --- a/src/modules/netinstall/NetInstallPage.h +++ b/src/modules/netinstall/NetInstallPage.h @@ -2,6 +2,7 @@ * Copyright 2016, Luca Giambonini * Copyright 2016, Lisa Vitolo * Copyright 2017, Kyle Robbertze + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -67,7 +68,7 @@ private: // Takes the YAML data representing the groups and reads them into the // m_groups and m_groupOrder internal structures. See the README.md // of this module to know the format expected of the YAML files. - void readGroups( const QByteArray& yamlData ); + bool readGroups( const QByteArray& yamlData ); Ui::Page_NetInst* ui; From 252006ea259cf0297b324ac60c1608f4b40ecbe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sun, 3 Sep 2017 20:45:24 +0100 Subject: [PATCH 027/129] kpmcore now requires passing sector size to FileSystem. --- src/modules/partition/CMakeLists.txt | 4 ++++ src/modules/partition/core/KPMHelpers.cpp | 16 ++++++++++++++-- .../partition/tests/PartitionJobTests.cpp | 6 +++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index 5f64b6530..0291c46e4 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -8,6 +8,10 @@ find_package( KF5 REQUIRED CoreAddons ) # These are needed because KPMcore links publicly against ConfigCore, I18n, IconThemes, KIOCore and Service find_package( KF5 REQUIRED Config I18n IconThemes KIO Service ) +find_package( KPMcore 3.1.50 ) +if ( ${KPMcore_FOUND} ) + add_definitions(-DWITH_KPMCORE22) +endif() find_package( KPMcore 3.0.3 REQUIRED ) find_library( atasmart_LIB atasmart ) find_library( blkid_LIB blkid ) diff --git a/src/modules/partition/core/KPMHelpers.cpp b/src/modules/partition/core/KPMHelpers.cpp index fc93b6bd7..6ed167eee 100644 --- a/src/modules/partition/core/KPMHelpers.cpp +++ b/src/modules/partition/core/KPMHelpers.cpp @@ -23,6 +23,7 @@ #include "core/PartitionIterator.h" // KPMcore +#include #include #include #include @@ -114,7 +115,11 @@ createNewPartition( PartitionNode* parent, qint64 lastSector, PartitionTable::Flags flags ) { - FileSystem* fs = FileSystemFactory::create( fsType, firstSector, lastSector ); + FileSystem* fs = FileSystemFactory::create( fsType, firstSector, lastSector +#ifdef WITH_KPMCORE22 + ,device.logicalSize() +#endif + ); return new Partition( parent, device, @@ -147,7 +152,11 @@ createNewEncryptedPartition( PartitionNode* parent, FS::luks* fs = dynamic_cast< FS::luks* >( FileSystemFactory::create( FileSystem::Luks, firstSector, - lastSector ) ); + lastSector +#ifdef WITH_KPMCORE22 + ,device.logicalSize() +#endif + ) ); if ( !fs ) { qDebug() << "ERROR: cannot create LUKS filesystem. Giving up."; @@ -177,6 +186,9 @@ clonePartition( Device* device, Partition* partition ) partition->fileSystem().type(), partition->firstSector(), partition->lastSector() +#ifdef WITH_KPMCORE22 + ,device->logicalSize() +#endif ); return new Partition( partition->parent(), *device, diff --git a/src/modules/partition/tests/PartitionJobTests.cpp b/src/modules/partition/tests/PartitionJobTests.cpp index 5a09bbab5..fe869232b 100644 --- a/src/modules/partition/tests/PartitionJobTests.cpp +++ b/src/modules/partition/tests/PartitionJobTests.cpp @@ -217,7 +217,11 @@ PartitionJobTests::newCreatePartitionJob( Partition* freeSpacePartition, Partiti lastSector = firstSector + size / m_device->logicalSize(); else lastSector = freeSpacePartition->lastSector(); - FileSystem* fs = FileSystemFactory::create( type, firstSector, lastSector ); + FileSystem* fs = FileSystemFactory::create( type, firstSector, lastSector +#ifdef WITH_KPMCORE22 + ,m_device->logicalSize() +#endif + ); Partition* partition = new Partition( freeSpacePartition->parent(), From 7e25909e18d44847246d0017fb573299f87f4eeb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 6 Sep 2017 07:51:22 -0400 Subject: [PATCH 028/129] YAML: refactor YAML-exception reporting - both NetInstall (group data) and Locale (GeoIP) use network data returned as a source of YAML data. Try to explain parsing errors for both. FIXES #786 --- src/libcalamaresui/utils/YamlUtils.cpp | 41 +++++++++++++++++++++++ src/libcalamaresui/utils/YamlUtils.h | 11 ++++++ src/modules/locale/LocaleViewStep.cpp | 39 ++++++++++++--------- src/modules/netinstall/NetInstallPage.cpp | 33 +----------------- 4 files changed, 77 insertions(+), 47 deletions(-) diff --git a/src/libcalamaresui/utils/YamlUtils.cpp b/src/libcalamaresui/utils/YamlUtils.cpp index 1eb759963..4b1a8fd86 100644 --- a/src/libcalamaresui/utils/YamlUtils.cpp +++ b/src/libcalamaresui/utils/YamlUtils.cpp @@ -18,8 +18,11 @@ */ #include "YamlUtils.h" +#include "utils/Logger.h" + #include +#include #include void @@ -105,4 +108,42 @@ yamlMapToVariant( const YAML::Node& mapNode ) } +void +explainYamlException( const YAML::Exception& e, const QByteArray& yamlData, const char *label ) +{ + cDebug() << "WARNING: YAML error " << e.what() << "in" << label << '.'; + if ( ( e.mark.line >= 0 ) && ( e.mark.column >= 0 ) ) + { + // Try to show the line where it happened. + int linestart = 0; + for ( int linecount = 0; linecount < e.mark.line; ++linecount ) + { + linestart = yamlData.indexOf( '\n', linestart ); + // No more \ns found, weird + if ( linestart < 0 ) + break; + linestart += 1; // Skip that \n + } + int lineend = linestart; + if ( linestart >= 0 ) + { + lineend = yamlData.indexOf( '\n', linestart ); + if ( lineend < 0 ) + lineend = yamlData.length(); + } + + int rangestart = linestart; + int rangeend = lineend; + // Adjust range (linestart..lineend) so it's not too long + if ( ( linestart >= 0 ) && ( e.mark.column > 30 ) ) + rangestart += ( e.mark.column - 30 ); + if ( ( linestart >= 0 ) && ( rangeend - rangestart > 40 ) ) + rangeend = rangestart + 40; + + if ( linestart >= 0 ) + cDebug() << "WARNING: offending YAML data:" << yamlData.mid( rangestart, rangeend-rangestart ).constData(); + + } } + +} // namespace diff --git a/src/libcalamaresui/utils/YamlUtils.h b/src/libcalamaresui/utils/YamlUtils.h index a39934f51..1da36178c 100644 --- a/src/libcalamaresui/utils/YamlUtils.h +++ b/src/libcalamaresui/utils/YamlUtils.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,9 +23,12 @@ #include #include +class QByteArray; + namespace YAML { class Node; +class Exception; } void operator>>( const YAML::Node& node, QStringList& v ); @@ -37,6 +41,13 @@ QVariant yamlScalarToVariant( const YAML::Node& scalarNode ); QVariant yamlSequenceToVariant( const YAML::Node& sequenceNode ); QVariant yamlMapToVariant( const YAML::Node& mapNode ); +/** + * Given an exception from the YAML parser library, explain + * what is going on in terms of the data passed to the parser. + * Uses @p label when labeling the data source (e.g. "netinstall data") + */ +void explainYamlException( const YAML::Exception& e, const QByteArray& data, const char *label ); + } //ns #endif // YAMLUTILS_H diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index 24719b1be..8f38e7f14 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -116,28 +116,37 @@ LocaleViewStep::fetchGeoIpTimezone() { if ( reply->error() == QNetworkReply::NoError ) { - YAML::Node doc = YAML::Load( reply->readAll() ); + QByteArray data = reply->readAll(); - QVariant var = CalamaresUtils::yamlToVariant( doc ); - if ( !var.isNull() && - var.isValid() && - var.type() == QVariant::Map ) + try { - QVariantMap map = var.toMap(); - if ( map.contains( "time_zone" ) && - !map.value( "time_zone" ).toString().isEmpty() ) + YAML::Node doc = YAML::Load( reply->readAll() ); + + QVariant var = CalamaresUtils::yamlToVariant( doc ); + if ( !var.isNull() && + var.isValid() && + var.type() == QVariant::Map ) { - QString timezoneString = map.value( "time_zone" ).toString(); - QStringList timezone = timezoneString.split( '/', QString::SkipEmptyParts ); - if ( timezone.size() >= 2 ) + QVariantMap map = var.toMap(); + if ( map.contains( "time_zone" ) && + !map.value( "time_zone" ).toString().isEmpty() ) { - cDebug() << "GeoIP reporting" << timezoneString; - QString region = timezone.takeFirst(); - QString zone = timezone.join( '/' ); - m_startingTimezone = qMakePair( region, zone ); + QString timezoneString = map.value( "time_zone" ).toString(); + QStringList timezone = timezoneString.split( '/', QString::SkipEmptyParts ); + if ( timezone.size() >= 2 ) + { + cDebug() << "GeoIP reporting" << timezoneString; + QString region = timezone.takeFirst(); + QString zone = timezone.join( '/' ); + m_startingTimezone = qMakePair( region, zone ); + } } } } + catch ( YAML::Exception& e ) + { + CalamaresUtils::explainYamlException( e, data, "GeoIP data"); + } } reply->deleteLater(); diff --git a/src/modules/netinstall/NetInstallPage.cpp b/src/modules/netinstall/NetInstallPage.cpp index fe5b600ab..7bfda320c 100644 --- a/src/modules/netinstall/NetInstallPage.cpp +++ b/src/modules/netinstall/NetInstallPage.cpp @@ -83,38 +83,7 @@ NetInstallPage::readGroups( const QByteArray& yamlData ) } catch ( YAML::Exception& e ) { - cDebug() << "WARNING: YAML error " << e.what() << "in netinstall groups data."; - if ( ( e.mark.line >= 0 ) && ( e.mark.column >= 0 ) ) - { - // Try to show the line where it happened. - int linestart = 0; - for ( int linecount = 0; linecount < e.mark.line; ++linecount ) - { - linestart = yamlData.indexOf( '\n', linestart ); - // No more \ns found, weird - if ( linestart < 0 ) - break; - linestart += 1; // Skip that \n - } - int lineend = linestart; - if ( linestart >= 0 ) - { - lineend = yamlData.indexOf( '\n', linestart ); - if ( lineend < 0 ) - lineend = yamlData.length(); - } - - int rangestart = linestart; - int rangeend = lineend; - // Adjust range (linestart..lineend) so it's not too long - if ( ( linestart >= 0 ) && ( e.mark.column > 30 ) ) - rangestart += ( e.mark.column - 30 ); - if ( ( linestart >= 0 ) && ( rangeend - rangestart > 40 ) ) - rangeend = rangestart + 40; - - if ( linestart >= 0 ) - cDebug() << "WARNING: offending YAML data:" << yamlData.mid( rangestart, rangeend-rangestart ).constData(); - } + CalamaresUtils::explainYamlException( e, yamlData, "netinstall groups data" ); return false; } } From cec7132d2cf56393efc11ceb25628ac5439766bd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 7 Sep 2017 03:42:46 -0400 Subject: [PATCH 029/129] Swap + LUKS configuration. Based on patches from crazy@frugalware.org and V3n3RiX. (presumably) FIXES #730 --- src/modules/bootloader/main.py | 12 ++++++++++-- src/modules/grubcfg/main.py | 31 ++++++++++++++++++++++--------- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/src/modules/bootloader/main.py b/src/modules/bootloader/main.py index fd5990490..c2cdc1108 100644 --- a/src/modules/bootloader/main.py +++ b/src/modules/bootloader/main.py @@ -11,6 +11,8 @@ # Copyright 2015, Philip Mueller # Copyright 2016-2017, Teo Mrnjavac # Copyright 2017, Alf Gaida +# Copyright 2017, Adriaan de Groot +# Copyright 2017, Gabriel Craciunescu # # Calamares is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -104,16 +106,22 @@ def create_systemd_boot_conf(uuid, conf_path, kernel_line): cryptdevice_params = [] + # Take over swap settings: + # - unencrypted swap partition sets swap_uuid + # - encrypted root sets cryptdevice_params for partition in partitions: - if partition["fs"] == "linuxswap": + has_luks = "luksMapperName" in partition + if partition["fs"] == "linuxswap" and not has_luks: swap_uuid = partition["uuid"] - if partition["mountPoint"] == "/" and "luksMapperName" in partition: + if partition["mountPoint"] == "/" and has_luks: cryptdevice_params = ["cryptdevice=UUID=" + partition["luksUuid"] + ":" + partition["luksMapperName"], "root=/dev/mapper/" + + partition["luksMapperName"], + "resume=/dev/mapper/" + partition["luksMapperName"]] if cryptdevice_params: diff --git a/src/modules/grubcfg/main.py b/src/modules/grubcfg/main.py index 5b1028c58..3ef68e46e 100644 --- a/src/modules/grubcfg/main.py +++ b/src/modules/grubcfg/main.py @@ -6,6 +6,8 @@ # Copyright 2014-2015, Philip Müller # Copyright 2015-2017, Teo Mrnjavac # Copyright 2017, Alf Gaida +# Copyright 2017, Adriaan de Groot +# Copyright 2017, Gabriel Craciunescu # # Calamares is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -29,6 +31,8 @@ def modify_grub_default(partitions, root_mount_point, distributor): """ Configures '/etc/default/grub' for hibernation and plymouth. + @see bootloader/main.py, for similar handling of kernel parameters + :param partitions: :param root_mount_point: :param distributor: @@ -45,6 +49,7 @@ def modify_grub_default(partitions, root_mount_point, distributor): use_splash = "" swap_uuid = "" swap_outer_uuid = "" + swap_outer_mappername = None if libcalamares.globalstorage.contains("hasPlymouth"): if libcalamares.globalstorage.value("hasPlymouth"): @@ -54,30 +59,35 @@ def modify_grub_default(partitions, root_mount_point, distributor): if have_dracut: for partition in partitions: - if partition["fs"] == "linuxswap": + has_luks = "luksMapperName" in partition + if partition["fs"] == "linuxswap" and not has_luks: swap_uuid = partition["uuid"] - if (partition["fs"] == "linuxswap" - and "luksMapperName" in partition): + if (partition["fs"] == "linuxswap" and has_luks): swap_outer_uuid = partition["luksUuid"] + swap_outer_mappername = partition["luksMapperName"] - if (partition["mountPoint"] == "/" - and "luksMapperName" in partition): + if (partition["mountPoint"] == "/" and has_luks): cryptdevice_params = [ "rd.luks.uuid={!s}".format(partition["luksUuid"]) ] else: for partition in partitions: - if partition["fs"] == "linuxswap": + has_luks = "luksMapperName" in partition + if partition["fs"] == "linuxswap" and not has_luks: swap_uuid = partition["uuid"] - if (partition["mountPoint"] == "/" - and "luksMapperName" in partition): + if (partition["mountPoint"] == "/" and has_luks): cryptdevice_params = [ "cryptdevice=UUID={!s}:{!s}".format( partition["luksUuid"], partition["luksMapperName"] ), - "root=/dev/mapper/{!s}".format(partition["luksMapperName"]) + "root=/dev/mapper/{!s}".format( + partition["luksMapperName"] + ), + "resume=/dev/mapper/{!s}".format( + partition["luksMapperName"] + ) ] kernel_params = ["quiet"] @@ -93,6 +103,9 @@ def modify_grub_default(partitions, root_mount_point, distributor): if have_dracut and swap_outer_uuid: kernel_params.append("rd.luks.uuid={!s}".format(swap_outer_uuid)) + if have_dracut and swap_outer_mappername: + kernel_params.append("resume=/dev/mapper/{!s}".format( + swap_outer_mappername)) distributor_line = "GRUB_DISTRIBUTOR='{!s}'".format(distributor_replace) From 851379628cf4822a13b6eed8a40473484514725e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 7 Sep 2017 04:04:50 -0400 Subject: [PATCH 030/129] Reduce Qt runtime warnings. - deleteLater() doesn't like nullptr (produces a warning, but is harmless) - reparenting across threads doesn't work, comment on that but leave it in, since this may be relevant for memory management. --- src/modules/partition/gui/ChoicePage.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/modules/partition/gui/ChoicePage.cpp b/src/modules/partition/gui/ChoicePage.cpp index 76c65a027..d4c40550c 100644 --- a/src/modules/partition/gui/ChoicePage.cpp +++ b/src/modules/partition/gui/ChoicePage.cpp @@ -806,9 +806,12 @@ ChoicePage::updateDeviceStatePreview() cDebug() << "Updating partitioning state widgets."; qDeleteAll( m_previewBeforeFrame->children() ); - m_previewBeforeFrame->layout()->deleteLater(); - QVBoxLayout* layout = new QVBoxLayout; + auto layout = m_previewBeforeFrame->layout(); + if ( layout ) + layout->deleteLater(); // Doesn't like nullptr + + layout = new QVBoxLayout; m_previewBeforeFrame->setLayout( layout ); CalamaresUtils::unmarginLayout( layout ); layout->setSpacing( 6 ); @@ -829,7 +832,7 @@ ChoicePage::updateDeviceStatePreview() // The QObject parents tree is meaningful for memory management here, // see qDeleteAll above. - deviceBefore->setParent( model ); + deviceBefore->setParent( model ); // Can't reparent across threads model->setParent( m_beforePartitionBarsView ); m_beforePartitionBarsView->setModel( model ); @@ -838,7 +841,8 @@ ChoicePage::updateDeviceStatePreview() // Make the bars and labels view use the same selectionModel. auto sm = m_beforePartitionLabelsView->selectionModel(); m_beforePartitionLabelsView->setSelectionModel( m_beforePartitionBarsView->selectionModel() ); - sm->deleteLater(); + if ( sm ) + sm->deleteLater(); switch ( m_choice ) { @@ -874,7 +878,10 @@ ChoicePage::updateActionChoicePreview( ChoicePage::Choice choice ) cDebug() << "Updating partitioning preview widgets."; qDeleteAll( m_previewAfterFrame->children() ); - m_previewAfterFrame->layout()->deleteLater(); + + auto oldlayout = m_previewAfterFrame->layout(); + if ( oldlayout ) + oldlayout->deleteLater(); QVBoxLayout* layout = new QVBoxLayout; m_previewAfterFrame->setLayout( layout ); From 3e5916157f1e1a19c796b8e14e7a25c3bae29705 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 7 Sep 2017 04:55:26 -0400 Subject: [PATCH 031/129] A mounted partition cannot be resized or replaced - add check for isMounted() - a device with a mounted partition cannot be (entirely) erased FIXES #639 --- src/modules/partition/core/PartUtils.cpp | 6 ++ src/modules/partition/gui/ChoicePage.cpp | 70 +++++++----------------- 2 files changed, 26 insertions(+), 50 deletions(-) diff --git a/src/modules/partition/core/PartUtils.cpp b/src/modules/partition/core/PartUtils.cpp index df230311a..d2493239e 100644 --- a/src/modules/partition/core/PartUtils.cpp +++ b/src/modules/partition/core/PartUtils.cpp @@ -45,6 +45,9 @@ canBeReplaced( Partition* candidate ) if ( !candidate ) return false; + if ( candidate->isMounted() ) + return false; + bool ok = false; double requiredStorageGB = Calamares::JobQueue::instance() ->globalStorage() @@ -83,6 +86,9 @@ canBeResized( Partition* candidate ) if ( KPMHelpers::isPartitionFreeSpace( candidate ) ) return false; + if ( candidate->isMounted() ) + return false; + if ( candidate->roles().has( PartitionRole::Primary ) ) { PartitionTable* table = dynamic_cast< PartitionTable* >( candidate->parent() ); diff --git a/src/modules/partition/gui/ChoicePage.cpp b/src/modules/partition/gui/ChoicePage.cpp index d4c40550c..fcbfdb5fc 100644 --- a/src/modules/partition/gui/ChoicePage.cpp +++ b/src/modules/partition/gui/ChoicePage.cpp @@ -1130,6 +1130,15 @@ ChoicePage::createBootloaderComboBox( QWidget* parent ) } +static inline void +force_uncheck(QButtonGroup* grp, PrettyRadioButton* button) +{ + button->hide(); + grp->setExclusive( false ); + button->buttonWidget()->setChecked( false ); + grp->setExclusive( true ); +} + /** * @brief ChoicePage::setupActions happens every time a new Device* is selected in the * device picker. Sets up the text and visibility of the partitioning actions based @@ -1149,30 +1158,20 @@ ChoicePage::setupActions() m_deviceInfoWidget->setPartitionTableType( PartitionTable::unknownTableType ); bool atLeastOneCanBeResized = false; + bool atLeastOneCanBeReplaced = false; + bool atLeastOneIsMounted = false; // Suppress 'erase' if so for ( auto it = PartitionIterator::begin( currentDevice ); it != PartitionIterator::end( currentDevice ); ++it ) { if ( PartUtils::canBeResized( *it ) ) - { atLeastOneCanBeResized = true; - break; - } - } - - bool atLeastOneCanBeReplaced = false; - - for ( auto it = PartitionIterator::begin( currentDevice ); - it != PartitionIterator::end( currentDevice ); ++it ) - { if ( PartUtils::canBeReplaced( *it ) ) - { atLeastOneCanBeReplaced = true; - break; - } + if ( (*it)->isMounted() ) + atLeastOneIsMounted = true; } - if ( osproberEntriesForCurrentDevice.count() == 0 ) { CALAMARES_RETRANSLATE( @@ -1249,18 +1248,6 @@ ChoicePage::setupActions() .arg( *Calamares::Branding::ShortVersionedName ) ); ) } - - m_replaceButton->show(); - - if ( atLeastOneCanBeResized ) - m_alongsideButton->show(); - else - { - m_alongsideButton->hide(); - m_grp->setExclusive( false ); - m_alongsideButton->buttonWidget()->setChecked( false ); - m_grp->setExclusive( true ); - } } else { @@ -1284,39 +1271,22 @@ ChoicePage::setupActions() "Replaces a partition with %1." ) .arg( *Calamares::Branding::ShortVersionedName ) ); ) - - m_replaceButton->show(); - - if ( atLeastOneCanBeResized ) - m_alongsideButton->show(); - else - { - m_alongsideButton->hide(); - m_grp->setExclusive( false ); - m_alongsideButton->buttonWidget()->setChecked( false ); - m_grp->setExclusive( true ); - } } if ( atLeastOneCanBeReplaced ) m_replaceButton->show(); else - { - m_replaceButton->hide(); - m_grp->setExclusive( false ); - m_replaceButton->buttonWidget()->setChecked( false ); - m_grp->setExclusive( true ); - } + force_uncheck( m_grp, m_replaceButton ); if ( atLeastOneCanBeResized ) m_alongsideButton->show(); else - { - m_alongsideButton->hide(); - m_grp->setExclusive( false ); - m_alongsideButton->buttonWidget()->setChecked( false ); - m_grp->setExclusive( true ); - } + force_uncheck( m_grp, m_alongsideButton ); + + if ( !atLeastOneIsMounted ) + m_eraseButton->show(); // None mounted + else + force_uncheck( m_grp, m_eraseButton ); bool isEfi = PartUtils::isEfiSystem(); bool efiSystemPartitionFound = !m_core->efiSystemPartitions().isEmpty(); From 15c2a9664028bd353b738324f3f5582fe81a9cf2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 7 Sep 2017 05:38:10 -0400 Subject: [PATCH 032/129] i18n: drop comment which is messing up TX merge --- calamares.desktop | 6 ------ 1 file changed, 6 deletions(-) diff --git a/calamares.desktop b/calamares.desktop index 4f288884e..879031b4c 100644 --- a/calamares.desktop +++ b/calamares.desktop @@ -11,12 +11,6 @@ Icon=calamares Terminal=false StartupNotify=true Categories=Qt;System; - - -# Translations - - -# Translations Name[ca]=Calamares Icon[ca]=calamares GenericName[ca]=Instal·lador de sistema From f63b44c984ada32f3891b631b35b427814005552 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 7 Sep 2017 05:43:50 -0400 Subject: [PATCH 033/129] i18n: smash things back from unspecified charset to UTF-8 --- ci/txpull.sh | 2 ++ ci/txpush.sh | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ci/txpull.sh b/ci/txpull.sh index 6c5b20b2b..772ac0e32 100755 --- a/ci/txpull.sh +++ b/ci/txpull.sh @@ -60,6 +60,7 @@ for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do if [ -d ${MODULE_DIR}/lang ]; then # Convert PO files to MO files for POFILE in $(find ${MODULE_DIR} -name "*.po") ; do + sed -i'' '/^"Content-Type/s/CHARSET/UTF-8/' $POFILE msgfmt -o ${POFILE%.po}.mo $POFILE done git add --verbose ${MODULE_DIR}/lang/* @@ -69,6 +70,7 @@ for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do done for POFILE in $(find lang -name "python.po") ; do + sed -i'' '/^"Content-Type/s/CHARSET/UTF-8/' $POFILE msgfmt -o ${POFILE%.po}.mo $POFILE done git add --verbose lang/python* diff --git a/ci/txpush.sh b/ci/txpush.sh index cb2499f3e..fe6d7170f 100755 --- a/ci/txpush.sh +++ b/ci/txpush.sh @@ -56,8 +56,10 @@ for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do MODULE_NAME=$(basename ${MODULE_DIR}) if [ -d ${MODULE_DIR}/lang ]; then ${PYGETTEXT} -p ${MODULE_DIR}/lang -d ${MODULE_NAME} -o ${MODULE_NAME}.pot ${MODULE_DIR}/*.py - if [ -f ${MODULE_DIR}/lang/${MODULE_NAME}.pot ]; then - tx set -r calamares.${MODULE_NAME} --source -l en ${MODULE_DIR}/lang/${MODULE_NAME}.pot + POTFILE="${MODULE_DIR}/lang/${MODULE_NAME}.pot" + if [ -f "$POTFILE" ]; then + sed -i'' '/^"Content-Type/s/CHARSET/UTF-8/' "$POTFILE" + tx set -r calamares.${MODULE_NAME} --source -l en "$POTFILE" tx push --source --no-interactive -r calamares.${MODULE_NAME} fi else @@ -68,6 +70,8 @@ done if test -n "$SHARED_PYTHON" ; then ${PYGETTEXT} -p lang -d python -o python.pot $SHARED_PYTHON - tx set -r calamares.python --source -l en lang/python.pot + POTFILE="lang/python.pot" + sed -i'' '/^"Content-Type/s/CHARSET/UTF-8/' "$POTFILE" + tx set -r calamares.python --source -l en "$POTFILE" tx push --source --no-interactive -r calamares.python fi From 34c386851ef6648ae20c4de97ea0a03c5806fc41 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Thu, 7 Sep 2017 05:45:02 -0400 Subject: [PATCH 034/129] [core] Automatic merge of Transifex translations --- lang/calamares_ar.ts | 40 +++++++++++++--------- lang/calamares_ast.ts | 40 +++++++++++++--------- lang/calamares_bg.ts | 40 +++++++++++++--------- lang/calamares_ca.ts | 44 ++++++++++++++---------- lang/calamares_cs_CZ.ts | 44 ++++++++++++++---------- lang/calamares_da.ts | 44 ++++++++++++++---------- lang/calamares_de.ts | 40 +++++++++++++--------- lang/calamares_el.ts | 40 +++++++++++++--------- lang/calamares_en.ts | 10 +++--- lang/calamares_en_GB.ts | 40 +++++++++++++--------- lang/calamares_es.ts | 44 ++++++++++++++---------- lang/calamares_es_ES.ts | 40 +++++++++++++--------- lang/calamares_es_MX.ts | 40 +++++++++++++--------- lang/calamares_es_PR.ts | 40 +++++++++++++--------- lang/calamares_et.ts | 40 +++++++++++++--------- lang/calamares_eu.ts | 40 +++++++++++++--------- lang/calamares_fa.ts | 40 +++++++++++++--------- lang/calamares_fi_FI.ts | 40 +++++++++++++--------- lang/calamares_fr.ts | 44 ++++++++++++++---------- lang/calamares_fr_CH.ts | 40 +++++++++++++--------- lang/calamares_gl.ts | 40 +++++++++++++--------- lang/calamares_gu.ts | 40 +++++++++++++--------- lang/calamares_he.ts | 48 +++++++++++++++----------- lang/calamares_hi.ts | 40 +++++++++++++--------- lang/calamares_hr.ts | 44 ++++++++++++++---------- lang/calamares_hu.ts | 69 ++++++++++++++++++++++---------------- lang/calamares_id.ts | 44 ++++++++++++++---------- lang/calamares_is.ts | 42 ++++++++++++++--------- lang/calamares_it_IT.ts | 40 +++++++++++++--------- lang/calamares_ja.ts | 45 +++++++++++++++---------- lang/calamares_kk.ts | 40 +++++++++++++--------- lang/calamares_lo.ts | 40 +++++++++++++--------- lang/calamares_lt.ts | 44 ++++++++++++++---------- lang/calamares_mr.ts | 40 +++++++++++++--------- lang/calamares_nb.ts | 40 +++++++++++++--------- lang/calamares_nl.ts | 44 ++++++++++++++---------- lang/calamares_pl.ts | 44 ++++++++++++++---------- lang/calamares_pl_PL.ts | 40 +++++++++++++--------- lang/calamares_pt_BR.ts | 50 ++++++++++++++++----------- lang/calamares_pt_PT.ts | 44 ++++++++++++++---------- lang/calamares_ro.ts | 40 +++++++++++++--------- lang/calamares_ru.ts | 40 +++++++++++++--------- lang/calamares_sk.ts | 44 ++++++++++++++---------- lang/calamares_sl.ts | 40 +++++++++++++--------- lang/calamares_sr.ts | 40 +++++++++++++--------- lang/calamares_sr@latin.ts | 40 +++++++++++++--------- lang/calamares_sv.ts | 40 +++++++++++++--------- lang/calamares_th.ts | 40 +++++++++++++--------- lang/calamares_tr_TR.ts | 54 +++++++++++++++++------------ lang/calamares_uk.ts | 40 +++++++++++++--------- lang/calamares_ur.ts | 40 +++++++++++++--------- lang/calamares_uz.ts | 40 +++++++++++++--------- lang/calamares_zh_CN.ts | 40 +++++++++++++--------- lang/calamares_zh_TW.ts | 44 ++++++++++++++---------- 54 files changed, 1390 insertions(+), 860 deletions(-) diff --git a/lang/calamares_ar.ts b/lang/calamares_ar.ts index f2af10ebc..e9d4a7a12 100644 --- a/lang/calamares_ar.ts +++ b/lang/calamares_ar.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>بيئة الإقلاع</strong> لهذا النّظام.<br><br>أنظمة x86 القديمة تدعم <strong>BIOS</strong> فقط.<br>غالبًا ما تستخدم الأنظمة الجديدة <strong>EFI</strong>، ولكن ما زال بإمكانك إظهاره ك‍ BIOS إن بدأته بوضع التّوافقيّة. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. بدأ هذا النّظام ببيئة إقلاع <strong>EFI</strong>.<br><br>لضبط البدء من بيئة EFI، يجب على المثبّت وضع تطبيق محمّل إقلاع، مثل <strong>GRUB</strong> أو <strong>systemd-boot</strong> على <strong>قسم نظام EFI</strong>. هذا الأمر آليّ، إلّا إن اخترت التّقسيم يدويًّا، حيث عليك اخيتاره أو إنشاؤه بنفسك. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. بدأ هذا النّظام ببيئة إقلاع <strong>BIOS</strong>.<br><br>لضبط البدء من بيئة BIOS، يجب على المثبّت وضع تطبيق محمّل إقلاع، مثل <strong>GRUB</strong>، إمّا في بداية قسم أو في <strong>قطاع الإقلاع الرّئيس</strong> قرب بداية جدول التّقسيم (محبّذ). هذا الأمر آليّ، إلّا إن اخترت التّقسيم يدويًّا، حيث عليك اخيتاره أو إنشاؤه بنفسك. @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. الح&جم: - + En&crypt تشفير - + Logical منطقيّ - + Primary أساسيّ - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. نوع <strong>جدول التّقسيم</strong> على جهاز التّخزين المحدّد.<br><br>الطّريقة الوحيدة لتغيير النّوع هو بحذفه وإعادة إنشاء جدول التّقسيم من الصّفر، ممّا سيؤدّي إلى تدمير كلّ البيانات في جهاز التّخزين.<br>سيبقي هذا المثبّت جدول التّقسيم الحاليّ كما هو إلّا إن لم ترد ذلك.<br>إن لم تكن متأكّدًا، ف‍ GPT مستحسن للأنظمة الحديثة. @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. الشّارات: - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. أكّد عبارة المرور - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish أنهِ - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. إعداد محليّة النّظام يؤثّر على لغة بعض عناصر واجهة مستخدم سطر الأوامر وأطقم محارفها.<br/>الإعداد الحاليّ هو <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. ثبّت م&حمّل الإقلاع على: - + Are you sure you want to create a new partition table on %1? أمتأكّد من إنشاء جدول تقسيم جديد على %1؟ diff --git a/lang/calamares_ast.ts b/lang/calamares_ast.ts index b0f9c8b81..be9f765a0 100644 --- a/lang/calamares_ast.ts +++ b/lang/calamares_ast.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. L'<strong>entornu d'arranque</strong> d'esti sistema.<br><br>Sistemes x86 más vieyos namái sofiten <strong>BIOS</strong>.<br>Los sistemes modernos usen davezu <strong>EFI</strong>, pero quiciabes d'amuesen como BIOS si s'anicien nel mou compatibilidá. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Esti sistema anicióse con un entornu d'arranque <strong>EFI</strong>.<br><br>Pa configurar l'aniciu d'un entornu EFI, esti instalador ha instalar una aplicación de xestión d'arranque, como <strong>GRUB</strong> o <strong>systemd-boot</strong> nuna <strong>partición del sistema EFI</strong>. Esto ye automático, a nun ser qu'escueyas el particionáu manual, que nesi casu has escoyer creala tu mesmu. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ L'instalador colará y perderánse toles camudancies. Tama&ñu: - + En&crypt &Cifrar - + Logical Llóxica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. Puntu de montaxe yá n'usu. Esbilla otru, por favor. @@ -824,7 +824,7 @@ L'instalador colará y perderánse toles camudancies. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ L'instalador colará y perderánse toles camudancies. Banderes: - + Mountpoint already in use. Please select another one. Puntu de montaxe yá n'usu. Esbilla otru, por favor. @@ -969,7 +969,7 @@ L'instalador colará y perderánse toles camudancies. Confirmar fras de pasu - + Please enter the same passphrase in both boxes. Introduz la mesma fras de pasu n'entrabes caxes, por favor. @@ -1038,17 +1038,17 @@ L'instalador colará y perderánse toles camudancies. FinishedViewStep - + Finish Finar - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ L'instalador colará y perderánse toles camudancies. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. L'axustes de locale del sistema afeuta a la llingua y al conxuntu de caráuteres afitáu pa dellos elementos de la interfaz d'usuaru de llinia comandos.<br/>L'axuste actual ye <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ L'instalador colará y perderánse toles camudancies. &Instalar xestor d'arranque en: - + Are you sure you want to create a new partition table on %1? ¿De xuru que quies crear una tabla particiones nueva en %1? diff --git a/lang/calamares_bg.ts b/lang/calamares_bg.ts index dce5bde9c..388bb98a8 100644 --- a/lang/calamares_bg.ts +++ b/lang/calamares_bg.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Среда за начално зареждане</strong> на тази система.<br><br>Старите x86 системи поддържат само <strong>BIOS</strong>.<br>Модерните системи обикновено използват <strong>EFI</strong>, но може също така да използват BIOS, ако са стартирани в режим на съвместимост. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Тази система беше стартирана с <strong>EFI</strong> среда за начално зареждане.<br><br>За да се настрои стартирането от EFI, инсталаторът трябва да разположи програма за начално зареждане като <strong>GRUB</strong> или <strong>systemd-boot</strong> на <strong>EFI Системен Дял</strong>. Това се прави автоматично, освен ако не се избере ръчно поделяне, в такъв случай вие трябва да свършите тази работа. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Тази система беше стартирана с <strong>BIOS</strong> среда за начално зареждане.<br><br>За да се настрои стартирането от BIOS, инсталаторът трябва да разположи програма за начално зареждане като <strong>GRUB</strong> в началото на дяла или на <strong>Сектора за Начално Зареждане</strong> близо до началото на таблицата на дяловете (предпочитано). Това се прави автоматично, освен ако не се избере ръчно поделяне, в такъв случай вие трябва да свършите тази работа. @@ -592,27 +592,27 @@ The installer will quit and all changes will be lost. Раз&мер: - + En&crypt - + Logical Логическа - + Primary Главна - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -825,7 +825,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Типа на <strong>таблицата на дяловете</strong> на избраното устройство за съхранение.<br><br>Единствения начин да се промени е като се изчисти и пресъздаде таблицата на дяловете, като по този начин всички данни върху устройството ще бъдат унищожени.<br>Инсталатора ще запази сегашната таблица на дяловете, освен ако не изберете обратното.<br>Ако не сте сигурни - за модерни системи се препоръчва GPT. @@ -942,7 +942,7 @@ The installer will quit and all changes will be lost. Флагове: - + Mountpoint already in use. Please select another one. @@ -970,7 +970,7 @@ The installer will quit and all changes will be lost. Потвърди паролата - + Please enter the same passphrase in both boxes. @@ -1039,17 +1039,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish Завърши - + Installation Complete - + The installation of %1 is complete. @@ -1160,6 +1160,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Локацията на системата засяга езика и символите зададени за някои елементи на командния ред.<br/>Текущата настройка е <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1576,7 +1586,7 @@ The installer will quit and all changes will be lost. Инсталирай &устройството за начално зареждане върху: - + Are you sure you want to create a new partition table on %1? Сигурни ли сте че искате да създадете нова таблица на дяловете върху %1? diff --git a/lang/calamares_ca.ts b/lang/calamares_ca.ts index 294795406..cae1c9e09 100644 --- a/lang/calamares_ca.ts +++ b/lang/calamares_ca.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. L'<strong>entorn d'arrencada</strong> d'aquest sistema.<br><br>Els sistemes antics x86 només tenen suport per a <strong>BIOS</strong>.<br>Els moderns normalment usen <strong>EFI</strong>, però també poden mostrar-se com a BIOS si l'entorn d'arrencada s'executa en mode de compatibilitat. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Aquest sistema s'ha iniciat amb un entorn d'arrencada <strong>EFI</strong>. <br><br> Per configurar una arrencada des d'un entorn EFI, aquest instal·lador ha de desplegar una aplicació de càrrega d'arrencada, com ara el <strong>GRUB</strong> o el <strong>systemd-boot</strong> en una <strong>partició EFI del sistema</strong>. Això és automàtic, llevat que trieu un partiment manual, en què caldrà que ho configureu vosaltres mateixos. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Aquest sistema s'ha iniciat amb un entorn d'arrencada <strong>BIOS </strong>. Per configurar una arrencada des d'un entorn BIOS, aquest instal·lador ha d'instal·lar un carregador d'arrencada, com ara el <strong>GRUB</strong>, ja sigui al començament d'una partició o al <strong>Registre d'Arrencada Mestre</strong>, a prop del començament de la taula de particions (millor). Això és automàtic, llevat que trieu un partiment manual, en què caldrà que ho configureu pel vostre compte. @@ -591,27 +591,27 @@ L'instal·lador es tancarà i tots els canvis es perdran. Mi&da: - + En&crypt En&cripta - + Logical Lògica - + Primary Primària - + GPT GPT - + Mountpoint already in use. Please select another one. El punt de muntatge ja s'usa. Si us plau, seleccioneu-ne un altre. @@ -824,7 +824,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. El tipus de <strong>taula de particions</strong> actualment present al dispositiu d'emmagatzematge seleccionat. L'única manera de canviar el tipus de taula de particions és esborrar i tornar a crear la taula de particions des de zero, fet que destrueix totes les dades del dispositiu d'emmagatzematge. <br> Aquest instal·lador mantindrà la taula de particions actual llevat que decidiu expressament el contrari. <br>Si no n'esteu segur, als sistemes moderns es prefereix GPT. @@ -941,7 +941,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. Banderes: - + Mountpoint already in use. Please select another one. El punt de muntatge ja s'usa. Si us plau, seleccioneu-ne un altre. @@ -969,7 +969,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. Confirmeu la contrasenya - + Please enter the same passphrase in both boxes. Si us plau, escriviu la mateixa constrasenya a les dues caselles. @@ -1038,19 +1038,19 @@ L'instal·lador es tancarà i tots els canvis es perdran. FinishedViewStep - + Finish Acaba - + Installation Complete - + Instal·lació acabada - + The installation of %1 is complete. - + La instal·lació de %1 ha acabat. @@ -1159,6 +1159,16 @@ L'instal·lador es tancarà i tots els canvis es perdran. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. La configuració local del sistema afecta la llengua i el joc de caràcters d'alguns elements de la interície de línia d'ordres. <br/>La configuració actual és <strong>%1</strong>. + + + &Cancel + &Cancel·la + + + + &OK + D'ac&ord + LicensePage @@ -1575,7 +1585,7 @@ L'instal·lador es tancarà i tots els canvis es perdran. &Instal·la el carregador d'arrencada a: - + Are you sure you want to create a new partition table on %1? Esteu segurs que voleu crear una nova taula de particions a %1? diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index ceda78cc4..3bc430080 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Zaváděcí prostředí</strong> tohoto systému.<br><br>Starší x86 systémy podporují pouze <strong>BIOS</strong>.<br>Moderní systémy většinou využívají <strong>EFI</strong>, někdy lze toto prostředí přepnout do módu kompatibility a může se jevit jako BIOS. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Systém byl spuštěn se zaváděcím prostředím <strong>EFI</strong>.<br><br>Abyste zaváděli systém prostředím EFI, instalátor musí zavést aplikaci pro zavádění systému, jako <strong>GRUB</strong> nebo <strong>systemd-boot</strong> na <strong>systémovém oddílu EFI</strong>. Proběhne to automaticky, pokud si nezvolíte ruční dělení disku, v tom případě si aplikaci pro zavádění musíte sami zvolit. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Systém byl spuštěn se zaváděcím prostředím <strong>BIOS</strong>.<br><br>Abyste zaváděli systém prostředím BIOS, instalátor musí umístit zavaděč systému, jako <strong>GRUB</strong>, buď na začátek oddílu nebo (lépe) do <strong>Master Boot Record</strong> na začátku tabulky oddílů. Proběhne to automaticky, pokud si nezvolíte ruční dělení disku, v tom případě si zavádění musíte nastavit sami. @@ -591,27 +591,27 @@ Instalační program bude ukončen a všechny změny ztraceny. &Velikost: - + En&crypt Š&ifrovat - + Logical Logický - + Primary Primární - + GPT GPT - + Mountpoint already in use. Please select another one. Bod připojení je už používán. Prosím vyberte jiný. @@ -824,7 +824,7 @@ Instalační program bude ukončen a všechny změny ztraceny. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Typ <strong>tabulky oddílů</strong>, který je na vybraném úložném zařízení.<br><br>Jedinou možností změnit typ tabulky oddílů je smazání a znovu vytvoření nové tabulky oddílů, tím se smažou všechna data na daném úložném zařízení.<br>Instalační program zanechá stávající typ tabulky oddílů, pokud si sami nenavolíte jeho změnu.<br>Pokud si nejste jisti, na moderních systémech se upřednostňuje GPT. @@ -941,7 +941,7 @@ Instalační program bude ukončen a všechny změny ztraceny. Příznaky: - + Mountpoint already in use. Please select another one. Bod připojení je už používán. Prosím vyberte jiný. @@ -969,7 +969,7 @@ Instalační program bude ukončen a všechny změny ztraceny. Potvrď heslo - + Please enter the same passphrase in both boxes. Zadejte prosím stejné heslo do obou polí. @@ -1038,19 +1038,19 @@ Instalační program bude ukončen a všechny změny ztraceny. FinishedViewStep - + Finish Dokončit - + Installation Complete - + Instalace dokončena - + The installation of %1 is complete. - + Instalace %1 je dokončena. @@ -1159,6 +1159,16 @@ Instalační program bude ukončen a všechny změny ztraceny. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Nastavené locale systému ovlivňuje jazyk a znakovou sadu pro UI příkazové řádky.<br/>Současné nastavení je <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Instalační program bude ukončen a všechny změny ztraceny. Nainstalovat &zavaděč na: - + Are you sure you want to create a new partition table on %1? Opravdu si přejete vytvořit novou tabulku oddílů na %1? diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index e88b0d26b..6017dbb8c 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Bootmiljøet</strong> for dette system.<br><br>Ældre x86-systemer understøtter kun <strong>BIOS</strong>.<br>Moderne systemer bruger normalt <strong>EFI</strong>, men kan også vises som BIOS hvis det startes i kompatibilitetstilstand. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Dette system blev startet med et <strong>EFI</strong>-bootmiljø.<br><br>For at konfigurere opstart fra et EFI-miljø, bliver installationsprogrammet nødt til at installere et bootloaderprogram, såsom <strong>GRUB</strong> eller <strong>systemd-boot</strong> på en <strong>EFI-systempartition</strong>. Dette vil ske automatisk, med mindre du vælger manuel partitionering, hvor du i så fald skal vælge eller oprette den selv. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Dette system blev startet med et <strong>BIOS</strong>-bootmiljø.<br><br>For at konfigurere opstart fra et BIOS-miljø, bliver installationsprogrammet nødt til at installere en bootloader, såsom <strong>GRUB</strong>, enten i begyndelsen af en partition eller på <strong>Master Boot Record</strong> nær begyndelsen af partitionstabellen (foretrukket). Dette sker automatisk, med mindre du vælger manuel partitionering, hvor du i så fald skal opsætte den selv. @@ -591,27 +591,27 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.&Størrelse: - + En&crypt Kryp&tér - + Logical Logisk - + Primary Primær - + GPT GPT - + Mountpoint already in use. Please select another one. Monteringspunktet er allerede i brug. Vælg venligst et andet. @@ -824,7 +824,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Typen af <strong>partitionstabel</strong> på den valgte lagerenhed.<br><br>Den eneste måde at ændre partitionstabeltypen, er at slette og oprette partitionstabellen igen, hvilket vil destruere al data på lagerenheden.<br>Installationsprogrammet vil beholde den nuværende partitionstabel medmindre du specifikt vælger andet.<br>Hvis usikker, er GPT foretrukket på moderne systemer. @@ -941,7 +941,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Flag: - + Mountpoint already in use. Please select another one. Monteringspunktet er allerede i brug. Vælg venligst et andet. @@ -969,7 +969,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Bekræft adgangskode - + Please enter the same passphrase in both boxes. Indtast venligst samme adgangskode i begge bokse. @@ -1038,19 +1038,19 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. FinishedViewStep - + Finish Færdig - + Installation Complete - + Installation fuldført - + The installation of %1 is complete. - + Installationen af %1 er fuldført. @@ -1159,6 +1159,16 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Systemets lokalitetsindstilling har indflydelse på sproget og tegnsættet for nogle kommandolinje-brugerelementer.<br/>Den nuværende indstilling er <strong>%1</strong>. + + + &Cancel + &Annullér + + + + &OK + &OK + LicensePage @@ -1575,7 +1585,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt.Installér boot&loader på: - + Are you sure you want to create a new partition table on %1? Er du sikker på, at du vil oprette en ny partitionstabel på %1? diff --git a/lang/calamares_de.ts b/lang/calamares_de.ts index 35bedd47b..ff93c6377 100644 --- a/lang/calamares_de.ts +++ b/lang/calamares_de.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. Die <strong>Boot-Umgebung</strong> dieses Systems.<br><br>Ältere x86-Systeme unterstützen nur <strong>BIOS</strong>.<br>Moderne Systeme verwenden normalerweise <strong>EFI</strong>, können jedoch auch als BIOS angezeigt werden, wenn sie im Kompatibilitätsmodus gestartet werden. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Dieses System wurde mit einer <strong>EFI</strong> Boot-Umgebung gestartet.<br><br>Um den Start von einer EFI-Umgebung zu konfigurieren, muss dieser Installer eine Bootloader-Anwendung nutzen , wie <strong>GRUB</strong> oder <strong>systemd-boot</strong> auf einer <strong>EFI System-Partition</strong>. Dies passiert automatisch, außer Sie wählen die maunuelle Partitionierung. In diesem Fall müssen Sie sie selbst auswählen oder erstellen. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Dieses System wurde mit einer <strong>BIOS</strong> Boot-Umgebung gestartet.<br><br>Um den Systemstart aus einer BIOS-Umgebung zu konfigurieren, muss dieses Installationsprogramm einen Boot-Loader installieren, wie <strong>GRUB</strong>, entweder am Anfang einer Partition oder im <strong>Master Boot Record</strong> nahe am Anfang der Partitionstabelle (bevorzugt). Dies passiert automatisch, außer Sie wählen die manuelle Partitionierung. In diesem Fall müssen Sie ihn selbst aufsetzen. @@ -591,27 +591,27 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Grö&sse: - + En&crypt Ver&schlüsseln - + Logical Logisch - + Primary Primär - + GPT GPT - + Mountpoint already in use. Please select another one. Dieser Einhängepunkt wird schon benuztzt. Bitte wählen Sie einen anderen. @@ -824,7 +824,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Die Art von <strong>Partitionstabelle</strong> auf dem gewählten Speichermedium.<br><br>Die einzige Möglichkeit die Art der Partitionstabelle zu ändern ist sie zu löschen und sie von Grund auf neu aufzusetzen, was alle Daten auf dem Speichermedium vernichtet.<br>Dieses Installationsprogramm wird die aktuelle Partitionstabelle behalten außer Sie wählen ausdrücklich etwas anderes..<br>Falls Sie unsicher sind: auf modernen Systemen wird GPT bevorzugt. @@ -941,7 +941,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Markierungen: - + Mountpoint already in use. Please select another one. Der Einhängepunkt wird schon benutzt. Bitte wählen Sie einen anderen. @@ -969,7 +969,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Passwort wiederholen - + Please enter the same passphrase in both boxes. Bitte tragen Sie dasselbe Passwort in beide Felder ein. @@ -1038,17 +1038,17 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. FinishedViewStep - + Finish Beenden - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Die Lokalisierung des Systems beeinflusst die Sprache und den Zeichensatz einiger Elemente der Kommandozeile.<br/>Die derzeitige Einstellung ist <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Dies wird das Installationsprogramm beenden und alle Änderungen gehen verloren. Installiere Boot&loader auf: - + Are you sure you want to create a new partition table on %1? Sind Sie sicher, dass Sie eine neue Partitionstabelle auf %1 erstellen möchten? diff --git a/lang/calamares_el.ts b/lang/calamares_el.ts index 46f2cf755..ee760147c 100644 --- a/lang/calamares_el.ts +++ b/lang/calamares_el.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. Το <strong> περιβάλλον εκκίνησης <strong> αυτού του συστήματος.<br><br>Παλαιότερα συστήματα x86 υποστηρίζουν μόνο <strong>BIOS</strong>.<br> Τα σύγχρονα συστήματα συνήθως χρησιμοποιούν <strong>EFI</strong>, αλλά ίσως επίσης να φαίνονται ως BIOS εάν εκκινήθηκαν σε λειτουργία συμβατότητας. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Αυτό το σύστημα εκκινήθηκε με ένα <strong>EFI</strong> περιβάλλον εκκίνησης.<br><br>Για να ρυθμιστεί η εκκίνηση από ένα περιβάλλον EFI, αυτός ο εγκαταστάτης πρέπει να αναπτυχθεί ένα πρόγραμμα φορτωτή εκκίνησης, όπως <strong>GRUB</strong> ή <strong>systemd-boot</strong> σε ένα <strong>EFI Σύστημα Διαμερισμού</strong>. Αυτό είναι αυτόματο, εκτός εάν επιλέξεις χειροκίνητο διαμερισμό, στην οποία περίπτωση οφείλεις να το επιλέξεις ή να το δημιουργήσεις από μόνος σου. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. &Μέγεθος: - + En&crypt - + Logical Λογική - + Primary Πρωτεύουσα - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. Σημαίες: - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. Επιβεβαίωση λέξης κλειδί - + Please enter the same passphrase in both boxes. Παρακαλώ εισάγετε την ίδια λέξη κλειδί και στα δύο κουτιά. @@ -1038,17 +1038,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish Τέλος - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Η τοπική ρύθμιση του συστήματος επηρεάζει τη γλώσσα και το σύνολο χαρακτήρων για ορισμένα στοιχεία διεπαφής χρήστη της γραμμής εντολών.<br/>Η τρέχουσα ρύθμιση είναι <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. Εγκατάσταση προγράμματος ε&κκίνησης στο: - + Are you sure you want to create a new partition table on %1? Θέλετε σίγουρα να δημιουργήσετε έναν νέο πίνακα κατατμήσεων στο %1; diff --git a/lang/calamares_en.ts b/lang/calamares_en.ts index e42961c34..8c81b818a 100644 --- a/lang/calamares_en.ts +++ b/lang/calamares_en.ts @@ -1,6 +1,4 @@ - - - + BootInfoWidget @@ -1164,12 +1162,12 @@ The installer will quit and all changes will be lost. &Cancel - &Cancel + &Cancel &OK - + &OK @@ -2298,4 +2296,4 @@ The installer will quit and all changes will be lost. Welcome - + \ No newline at end of file diff --git a/lang/calamares_en_GB.ts b/lang/calamares_en_GB.ts index c35212a35..5fcf677a5 100644 --- a/lang/calamares_en_GB.ts +++ b/lang/calamares_en_GB.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. Si&ze: - + En&crypt - + Logical Logical - + Primary Primary - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_es.ts b/lang/calamares_es.ts index e30d2502d..0ae26c8da 100644 --- a/lang/calamares_es.ts +++ b/lang/calamares_es.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. El <strong>entorno de arranque<strong> de este sistema.<br><br>Los sistemas x86 sólo soportan <strong>BIOS</strong>.<br>Los sistemas modernos habitualmente usan <strong>EFI</strong>, pero también pueden mostrarse como BIOS si se inician en modo de compatibildiad. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Este sistema se inició con un entorno de arranque <strong>EFI</strong>.<br><br>Para configurar el arranque desde un entorno EFI, este instalador debe desplegar una aplicación de gestor de arranque, como <strong>GRUB</strong> o <strong>systemd-boot</strong> en una <strong>Partición de Sistema EFI</strong>. Esto es automático, a menos que escoja particionamiento manual, en cuyo caso debe escogerlo o crearlo usted mismo. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Este sistema fue iniciado con un entorno de arranque <strong>BIOS</strong>.<br><br> Para configurar el arranque desde un entorno BIOS, este instalador debe instalar un gestor de arranque, como <strong>GRUB</strong>, tanto al principio de una partición o en el <strong>Master Boot Record</strong> (registro maestro de arranque) cerca del principio de la tabla de partición (preferentemente). Esto es automático, a menos que escoja particionamiento manual, en cuayo caso debe establecerlo usted mismo. @@ -592,27 +592,27 @@ Saldrá del instalador y se perderán todos los cambios. &Tamaño: - + En&crypt &Cifrar - + Logical Lógica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. Punto de montaje ya en uso. Por favor, seleccione otro. @@ -825,7 +825,7 @@ Saldrá del instalador y se perderán todos los cambios. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. El tipo de <strong>tabla de particiones</strong> en el dispositivo de almacenamiento seleccionado.<br/><br/>La única forma de cambiar el tipo de la tabla de particiones es borrando y creando la tabla de particiones de nuevo, lo cual destruirá todos los datos almacenados en el dispositivo de almacenamiento.<br/>Este instalador mantendrá la tabla de particiones actual salvo que explícitamente se indique lo contrario.<br/>En caso de dudas, GPT es preferible en sistemas modernos. @@ -942,7 +942,7 @@ Saldrá del instalador y se perderán todos los cambios. Banderas: - + Mountpoint already in use. Please select another one. Punto de montaje ya en uso. Por favor, seleccione otro. @@ -970,7 +970,7 @@ Saldrá del instalador y se perderán todos los cambios. Confirmar frase-contraseña - + Please enter the same passphrase in both boxes. Por favor, introduzca la misma frase-contraseña en ambos recuadros. @@ -1039,19 +1039,19 @@ Saldrá del instalador y se perderán todos los cambios. FinishedViewStep - + Finish Finalizar - + Installation Complete - + Instalación completada - + The installation of %1 is complete. - + Se ha completado la instalación de %1. @@ -1160,6 +1160,16 @@ Saldrá del instalador y se perderán todos los cambios. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. La configuración regional del sistema afecta al idioma y a al conjunto de caracteres para algunos elementos de interfaz de la linea de comandos.<br/>La configuración actual es <strong>%1</strong>. + + + &Cancel + &Cancelar + + + + &OK + &Aceptar + LicensePage @@ -1576,7 +1586,7 @@ Saldrá del instalador y se perderán todos los cambios. Instalar gestor de arranque en: - + Are you sure you want to create a new partition table on %1? ¿Está seguro de querer crear una nueva tabla de particiones en %1? diff --git a/lang/calamares_es_ES.ts b/lang/calamares_es_ES.ts index 61fa77609..364d9d685 100644 --- a/lang/calamares_es_ES.ts +++ b/lang/calamares_es_ES.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ El instalador se cerrará y se perderán todos los cambios. Tamaño - + En&crypt - + Logical Logica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ El instalador se cerrará y se perderán todos los cambios. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ El instalador se cerrará y se perderán todos los cambios. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ El instalador se cerrará y se perderán todos los cambios. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ El instalador se cerrará y se perderán todos los cambios. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ El instalador se cerrará y se perderán todos los cambios. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ El instalador se cerrará y se perderán todos los cambios. - + Are you sure you want to create a new partition table on %1? ¿Estás seguro de que quieres crear una nueva tabla de particiones en %1? diff --git a/lang/calamares_es_MX.ts b/lang/calamares_es_MX.ts index b60b9994c..5b54af656 100644 --- a/lang/calamares_es_MX.ts +++ b/lang/calamares_es_MX.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -593,27 +593,27 @@ El instalador terminará y se perderán todos los cambios. &Tamaño: - + En&crypt - + Logical Lógica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -826,7 +826,7 @@ El instalador terminará y se perderán todos los cambios. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -943,7 +943,7 @@ El instalador terminará y se perderán todos los cambios. - + Mountpoint already in use. Please select another one. @@ -971,7 +971,7 @@ El instalador terminará y se perderán todos los cambios. - + Please enter the same passphrase in both boxes. @@ -1040,17 +1040,17 @@ El instalador terminará y se perderán todos los cambios. FinishedViewStep - + Finish Terminado - + Installation Complete - + The installation of %1 is complete. @@ -1161,6 +1161,16 @@ El instalador terminará y se perderán todos los cambios. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. La configuración regional del sistema afecta al idioma y a al conjunto de caracteres para algunos elementos de interfaz de la linea de comandos.<br/>La configuración actual es <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1577,7 +1587,7 @@ El instalador terminará y se perderán todos los cambios. - + Are you sure you want to create a new partition table on %1? ¿Está seguro de querer crear una nueva tabla de particiones en %1? diff --git a/lang/calamares_es_PR.ts b/lang/calamares_es_PR.ts index fb7ed5974..2c7adab8b 100644 --- a/lang/calamares_es_PR.ts +++ b/lang/calamares_es_PR.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -590,27 +590,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -823,7 +823,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -940,7 +940,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -968,7 +968,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1037,17 +1037,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1158,6 +1158,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1574,7 +1584,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_et.ts b/lang/calamares_et.ts index d5bda8ad0..18ac538fa 100644 --- a/lang/calamares_et.ts +++ b/lang/calamares_et.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. Suurus: - + En&crypt - + Logical Loogiline köide - + Primary Peamine - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_eu.ts b/lang/calamares_eu.ts index 25b34a0b3..845f87100 100644 --- a/lang/calamares_eu.ts +++ b/lang/calamares_eu.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -588,27 +588,27 @@ The installer will quit and all changes will be lost. Ta&maina: - + En&crypt - + Logical Logikoa - + Primary Primarioa - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -821,7 +821,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -938,7 +938,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -966,7 +966,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1035,17 +1035,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish Bukatu - + Installation Complete - + The installation of %1 is complete. @@ -1156,6 +1156,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1572,7 +1582,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_fa.ts b/lang/calamares_fa.ts index ae2a57efa..35f45b757 100644 --- a/lang/calamares_fa.ts +++ b/lang/calamares_fa.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_fi_FI.ts b/lang/calamares_fi_FI.ts index 5b03d22e9..56028b4eb 100644 --- a/lang/calamares_fi_FI.ts +++ b/lang/calamares_fi_FI.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. K&oko: - + En&crypt - + Logical Looginen - + Primary Ensisijainen - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Asennusohjelma sulkeutuu ja kaikki muutoksesi katoavat. - + Are you sure you want to create a new partition table on %1? Oletko varma, että haluat luoda uuden osion %1? diff --git a/lang/calamares_fr.ts b/lang/calamares_fr.ts index c6b2e4a83..d44d8db40 100644 --- a/lang/calamares_fr.ts +++ b/lang/calamares_fr.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. L'<strong>environnement de démarrage</strong> de ce système.<br><br>Les anciens systèmes x86 supportent uniquement le <strong>BIOS</strong>.<br>Les systèmes récents utilisent habituellement <strong>EFI</strong>, mais peuvent également exposer BIOS si démarré en mode de compatibilité. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Ce système a été initialisé avec un environnement de démarrage <strong>EFI</strong>.<br><br>Pour configurer le démarrage depuis un environnement EFI, cet installateur doit déployer un chargeur de démarrage, comme <strong>GRUB</strong> ou <strong>systemd-boot</strong> sur une <strong>partition système EFI</strong>. Ceci est automatique, à moins que vous n'ayez sélectionné le partitionnement manuel, auquel cas vous devez en choisir une ou la créer vous même. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Ce système a été initialisé avec un environnement de démarrage <strong>BIOS</strong>.<br><br>Pour configurer le démarrage depuis un environnement BIOS, cet installateur doit déployer un chargeur de démarrage, comme <strong>GRUB</strong> ou <strong>systemd-boot</strong> au début d'une partition ou bien sur le <strong>Master Boot Record</strong> au début de la table des partitions (méthode privilégiée). Ceci est automatique, à moins que vous n'ayez sélectionné le partitionnement manuel, auquel cas vous devez le configurer vous-même. @@ -591,27 +591,27 @@ L'installateur se fermera et les changements seront perdus. Ta&ille : - + En&crypt Chi&ffrer - + Logical Logique - + Primary Primaire - + GPT GPT - + Mountpoint already in use. Please select another one. Le point de montage est déjà utilisé. Merci d'en sélectionner un autre. @@ -824,7 +824,7 @@ L'installateur se fermera et les changements seront perdus. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Le type de <strong>table de partitions</strong> sur le périphérique de stockage sélectionné.<br><br>Le seul moyen de changer le type de table de partitions est d'effacer et de recréer entièrement la table de partitions, ce qui détruit toutes les données sur le périphérique de stockage.<br>Cette installateur va conserver la table de partitions actuelle à moins de faire explicitement un autre choix.<br>Si vous n'êtes pas sûr, sur les systèmes modernes GPT est à privilégier. @@ -941,7 +941,7 @@ L'installateur se fermera et les changements seront perdus. Drapeaux: - + Mountpoint already in use. Please select another one. Le point de montage est déjà utilisé. Merci d'en sélectionner un autre. @@ -969,7 +969,7 @@ L'installateur se fermera et les changements seront perdus. Confirmez la phrase de passe - + Please enter the same passphrase in both boxes. Merci d'entrer la même phrase de passe dans les deux champs. @@ -1038,19 +1038,19 @@ L'installateur se fermera et les changements seront perdus. FinishedViewStep - + Finish Terminer - + Installation Complete - + Installation terminée - + The installation of %1 is complete. - + L'installation de %1 est terminée. @@ -1159,6 +1159,16 @@ L'installateur se fermera et les changements seront perdus. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Les paramètres régionaux systèmes affectent la langue et le jeu de caractère pour la ligne de commande et différents éléments d'interface.<br/>Le paramètre actuel est <strong>%1</strong>. + + + &Cancel + &Annuler + + + + &OK + &OK + LicensePage @@ -1575,7 +1585,7 @@ L'installateur se fermera et les changements seront perdus. Installer le chargeur de démarrage sur: - + Are you sure you want to create a new partition table on %1? Êtes-vous sûr de vouloir créer une nouvelle table de partitionnement sur %1 ? diff --git a/lang/calamares_fr_CH.ts b/lang/calamares_fr_CH.ts index 084dd832b..c13bcf67f 100644 --- a/lang/calamares_fr_CH.ts +++ b/lang/calamares_fr_CH.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_gl.ts b/lang/calamares_gl.ts index 176532c78..c6151588b 100644 --- a/lang/calamares_gl.ts +++ b/lang/calamares_gl.ts @@ -2,18 +2,18 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. O <strong> entorno de arranque </strong> do sistema. <br><br> Os sistemas x86 antigos só soportan <strong> BIOS </strong>.<br> Os sistemas modernos empregan normalmente <strong> EFI </strong>, pero tamén poden arrincar como BIOS se funcionan no modo de compatibilidade. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Este sistema arrincou con <strong> EFI </strong> como entorno de arranque.<br><br> Para configurar o arranque dende un entorno EFI, este instalador debe configurar un cargador de arranque, como <strong>GRUB</strong> ou <strong>systemd-boot</strong> nunha <strong> Partición de Sistema EFI</strong>. Este proceso é automático, salvo que escolla particionamento manual. Nese caso deberá escoller unha existente ou crear unha pola súa conta. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Este sistema arrincou con <strong> BIOS </strong> como entorno de arranque.<br><br> Para configurar o arranque dende un entorno BIOS, este instalador debe configurar un cargador de arranque, como <strong>GRUB</strong>, ben ó comezo dunha partición ou no <strong>Master Boot Record</strong> preto do inicio da táboa de particións (recomendado). Este proceso é automático, salvo que escolla particionamento manual, nese caso deberá configuralo pola súa conta. @@ -592,27 +592,27 @@ O instalador pecharase e perderanse todos os cambios. &Tamaño: - + En&crypt Encriptar - + Logical Lóxica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -825,7 +825,7 @@ O instalador pecharase e perderanse todos os cambios. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -942,7 +942,7 @@ O instalador pecharase e perderanse todos os cambios. - + Mountpoint already in use. Please select another one. @@ -970,7 +970,7 @@ O instalador pecharase e perderanse todos os cambios. - + Please enter the same passphrase in both boxes. @@ -1039,17 +1039,17 @@ O instalador pecharase e perderanse todos os cambios. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1160,6 +1160,16 @@ O instalador pecharase e perderanse todos os cambios. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1576,7 +1586,7 @@ O instalador pecharase e perderanse todos os cambios. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_gu.ts b/lang/calamares_gu.ts index c712f7d41..bcd5e8198 100644 --- a/lang/calamares_gu.ts +++ b/lang/calamares_gu.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_he.ts b/lang/calamares_he.ts index ef7f1d585..331444e27 100644 --- a/lang/calamares_he.ts +++ b/lang/calamares_he.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>תצורת האתחול</strong> של מערכת זו. <br><br> מערכות x86 ישנות יותר תומכות אך ורק ב <strong>BIOS</strong>.<br> מערכות חדשות משתמשות בדרך כלל ב <strong>EFI</strong>, אך יכולות להיות מוצגות כ BIOS במידה והן מופעלות במצב תאימות לאחור. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. מערכת זו הופעלה בתצורת אתחול <strong>EFI</strong>.<br><br> בכדי להגדיר הפעלה מתצורת אתחול EFI, על אשף ההתקנה להתקין מנהל אתחול מערכת, לדוגמה <strong>GRUB</strong> או <strong>systemd-boot</strong> על <strong>מחיצת מערכת EFI</strong>. פעולה זו היא אוטומטית, אלא אם כן תבחר להגדיר מחיצות באופן ידני, במקרה זה עליך לבחור זאת או להגדיר בעצמך. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. מערכת זו הופעלה בתצורת אתחול <strong>BIOS</strong>.<br><br> בכדי להגדיר הפעלה מתצורת אתחול BIOS, על אשף ההתקנה להתקין מנהל אתחול מערכת, לדוגמה <strong>GRUB</strong>, בתחלית מחיצה או על ה <strong>Master Boot Record</strong> בצמוד להתחלה של טבלת המחיצות (מועדף). פעולה זו היא אוטומטית, אלא אם כן תבחר להגדיר מחיצות באופן ידני, במקרה זה עליך להגדיר זאת בעצמך. @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. גו&דל: - + En&crypt ה&צפן - + Logical לוגי - + Primary ראשי - + GPT GPT - + Mountpoint already in use. Please select another one. נקודת העיגון בשימוש. אנא בחר נקודת עיגון אחרת. @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. סוג <strong>טבלת המחיצות</strong> על התקן האחסון הנבחר.<br><br> הדרך היחידה לשנות את סוג טבלת המחיצות היא למחוק וליצור מחדש את טבלת המחיצות, אשר דורסת את כל המידע הקיים על התקן האחסון.<br> אשף ההתקנה ישמור את טבלת המחיצות הקיימת אלא אם כן תבחר אחרת במפורש.<br> במידה ואינך בטוח, במערכות מודרניות, GPT הוא הסוג המועדף. @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. סימונים: - + Mountpoint already in use. Please select another one. נקודת העיגון בשימוש. אנא בחר נקודת עיגון אחרת. @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. אשר ביטוי אבטחה - + Please enter the same passphrase in both boxes. אנא הכנס ביטוי אבטחה זהה בשני התאים. @@ -1022,7 +1022,7 @@ The installer will quit and all changes will be lost. &Restart now - %אתחל כעת + &אתחל כעת @@ -1038,19 +1038,19 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish סיום - + Installation Complete - + ההתקנה הושלמה - + The installation of %1 is complete. - + ההתקנה של %1 הושלמה. @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. הגדרת מיקום המערכת משפיעה על השפה וקידוד התווים של חלק מרכיבי ממשקי שורת פקודה למשתמש. <br/> ההגדרה הנוכחית היא <strong>%1</strong>. + + + &Cancel + &ביטול + + + + &OK + &אישור + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. התקן &מנהל אתחול מערכת על: - + Are you sure you want to create a new partition table on %1? האם אתה בטוח שברצונך ליצור טבלת מחיצות חדשה על %1? @@ -1842,7 +1852,7 @@ The installer will quit and all changes will be lost. The installer is not running with administrator rights. - מנהל ההתקנה לא רץ עם הרשאות מנהל. + אשף ההתקנה לא רץ עם הרשאות מנהל. diff --git a/lang/calamares_hi.ts b/lang/calamares_hi.ts index ba56e2467..4aac00ddc 100644 --- a/lang/calamares_hi.ts +++ b/lang/calamares_hi.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_hr.ts b/lang/calamares_hr.ts index fa730af32..6d40a25d4 100644 --- a/lang/calamares_hr.ts +++ b/lang/calamares_hr.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Boot okruženje</strong> sustava.<br><br>Stariji x86 sustavi jedino podržavaju <strong>BIOS</strong>.<br>Noviji sustavi uglavnom koriste <strong>EFI</strong>, ali mogu podržavati i BIOS ako su pokrenuti u načinu kompatibilnosti. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Ovaj sustav koristi <strong>EFI</strong> okruženje.<br><br>Za konfiguriranje pokretanja iz EFI okruženja, ovaj instalacijski program mora uvesti boot učitavač, kao što je <strong>GRUB</strong> ili <strong>systemd-boot</strong> na <strong>EFI particiju</strong>. To se odvija automatski, osim ako ste odabrali ručno particioniranje. U tom slučaju to ćete morati odabrati ili stvoriti sami. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Ovaj sustav koristi <strong>BIOS</strong> okruženje.<br><br>Za konfiguriranje pokretanja iz BIOS okruženja, ovaj instalacijski program mora uvesti boot učitavač, kao što je <strong>GRUB</strong>, ili na početku particije ili na <strong>Master Boot Record</strong> blizu početka particijske tablice (preporučen način). To se odvija automatski, osim ako ste odabrali ručno particioniranje. U tom slučaju to ćete morati napraviti sami. @@ -591,27 +591,27 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Ve&ličina: - + En&crypt Ši&friraj - + Logical Logično - + Primary Primarno - + GPT GPT - + Mountpoint already in use. Please select another one. Točka montiranja se već koristi. Odaberite drugu. @@ -824,7 +824,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Tip <strong>particijske tablice</strong> na odabranom disku.<br><br>Jedini način da bi ste promijenili tip particijske tablice je da obrišete i iznova stvorite particijsku tablicu. To će uništiiti sve podatke na disku.<br>Instalacijski program će zadržati postojeću particijsku tablicu osim ako ne odaberete drugačije.<br>Ako niste sigurni, na novijim sustavima GPT je preporučena particijska tablica. @@ -941,7 +941,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Oznake: - + Mountpoint already in use. Please select another one. Točka montiranja se već koristi. Odaberite drugu. @@ -969,7 +969,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Potvrdi lozinku - + Please enter the same passphrase in both boxes. Molimo unesite istu lozinku u oba polja. @@ -1038,19 +1038,19 @@ Instalacijski program će izaći i sve promjene će biti izgubljene. FinishedViewStep - + Finish Završi - + Installation Complete - + Instalacija je završena - + The installation of %1 is complete. - + Instalacija %1 je završena. @@ -1159,6 +1159,16 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Jezična shema sustava ima efekt na jezični i znakovni skup za neke komandno linijske elemente sučelja.<br/>Trenutačna postavka je <strong>%1</strong>. + + + &Cancel + &Odustani + + + + &OK + &OK + LicensePage @@ -1575,7 +1585,7 @@ Instalacijski program će izaći i sve promjene će biti izgubljene.Instaliraj boot &učitavač na: - + Are you sure you want to create a new partition table on %1? Jeste li sigurni da želite stvoriti novu particijsku tablicu na %1? diff --git a/lang/calamares_hu.ts b/lang/calamares_hu.ts index 5384aead9..32af46f3c 100644 --- a/lang/calamares_hu.ts +++ b/lang/calamares_hu.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. A rendszer <strong>indító környezete.<strong> <br><br>Régebbi x86 alapú rendszerek csak <strong>BIOS</strong><br>-t támogatják. A modern rendszerek gyakran <strong>EFI</strong>-t használnak, de lehet, hogy BIOS-ként látható ha kompatibilitási módban fut az indító környezet. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. A rendszer <strong>EFI</strong> indító környezettel lett indítva.<br><br>Annak érdekében, hogy az EFI környezetből indíthassunk a telepítőnek telepítenie kell a rendszerbetöltő alkalmazást pl. <strong>GRUB</strong> vagy <strong>systemd-boot</strong> az <strong>EFI Rendszer Partíción.</strong> Ez automatikus kivéve ha kézi partícionálást választottál ahol neked kell kiválasztani vagy létrehozni. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. A rendszer <strong>BIOS</strong> környezetből lett indítva. <br><br>Azért, hogy el lehessen indítani a rendszert egy BIOS környezetből a telepítőnek telepítenie kell egy indító környezetet mint pl. <strong>GRUB</strong>. Ez telepíthető a partíció elejére vagy a <strong>Master Boot Record</strong>-ba. javasolt a partíciós tábla elejére (javasolt). Ez automatikus kivéve ha te kézi partícionálást választottál ahol neked kell telepíteni. @@ -240,7 +240,7 @@ Kimenet: Cancel installation without changing the system. - + Kilépés a telepítőből a rendszer megváltoztatása nélkül. @@ -257,17 +257,17 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. &Yes - + &Igen &No - + @Nem &Close - + &Bezár @@ -292,12 +292,12 @@ Minden változtatás elveszik, ha kilépsz a telepítőből. &Done - + &Befejez The installation is complete. Close the installer. - + A telepítés befejeződött, kattints a bezárásra. @@ -554,7 +554,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l MiB - + MiB @@ -592,27 +592,27 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Mé&ret: - + En&crypt Titkosítás - + Logical Logikai - + Primary Elsődleges - + GPT GPT - + Mountpoint already in use. Please select another one. A csatolási pont már használatban van. Kérem, válassz másikat. @@ -825,7 +825,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. A <strong>partíciós tábla</strong> típusa a kiválasztott tárolóeszközön.<br><br>Az egyetlen lehetőség a partíciós tábla változtatására ha töröljük és újra létrehozzuk a partíciós táblát, ami megsemmisít minden adatot a tárolóeszközön.<br>A telepítő megtartja az aktuális partíciós táblát ha csak másképp nem döntesz.<br>Ha nem vagy benne biztos a legtöbb modern rendszernél GPT az elterjedt. @@ -929,7 +929,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l MiB - + MiB @@ -942,7 +942,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Zászlók: - + Mountpoint already in use. Please select another one. A csatolási pont már használatban van. Kérem, válassz másikat. @@ -970,7 +970,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l Jelszó megerősítés - + Please enter the same passphrase in both boxes. Írd be ugyanazt a jelmondatot mindkét dobozban. @@ -1033,25 +1033,25 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. - + <h1>A telepítés hibába ütközött.</h1><br/>%1 nem lett telepítve a számítógépre.<br/>A hibaüzenet: %2. FinishedViewStep - + Finish Befejezés - + Installation Complete - + A telepítés befejeződött. - + The installation of %1 is complete. - + A %1 telepítése elkészült. @@ -1160,6 +1160,16 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. A nyelvi beállítás kihat a nyelvi és karakter beállításokra a parancssori elemeknél.<br/>A jelenlegi beállítás <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1576,7 +1586,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l &Rendszerbetöltő telepítése ide: - + Are you sure you want to create a new partition table on %1? Biztos vagy benne, hogy létrehozol egy új partíciós táblát itt %1 ? @@ -1848,7 +1858,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l The screen is too small to display the installer. - + A képernyő túl kicsi a telepítőnek. @@ -2261,7 +2271,7 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l <h1>Welcome to the Calamares installer for %1.</h1> - + <h1>Üdvözlet a Calamares %1 telepítőjében.</h1> @@ -2271,7 +2281,8 @@ Telepítés nem folytatható. <a href="#details">Részletek...&l <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Copyright 2014-2017 Teo Mrnjavac &lt;teo@kde.org&gt;<br/>Copyright 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Thanks to: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Lisa Vitolo, Philip Müller, Pier Luigi Fiorini, Rohan Garg and the <a href="https://www.transifex.com/calamares/calamares/">Calamares translators team</a>.<br/><br/><a href="http://calamares.io/">Calamares</a> development is sponsored by <br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. - + <h1>%1</h1><br/><strong>%2<br/>for %3</strong><br/><br/>Minden jog fenntartva 2014-2017 Teo Mrnjavac <teo@kde.org>;<br/>Minden jog fenntartva 2017 Adriaan de Groot &lt;groot@kde.org&gt;<br/>Köszönet: Anke Boersma, Aurélien Gâteau, Kevin Kofler, Philip Müller, Pier Luigi Fiorini and Rohan Garg és a <a href="https://www.transifex.com/calamares/calamares/" Calamares Fordító Csapat/a>. +<br/><a href="http://calamares.io/">Calamares</a> fejlesztés támogatói:<br/><a href="http://www.blue-systems.com/">Blue Systems</a> - Liberating Software. diff --git a/lang/calamares_id.ts b/lang/calamares_id.ts index da2526095..53831e57b 100644 --- a/lang/calamares_id.ts +++ b/lang/calamares_id.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Lingkungan boot</strong> pada sistem ini.<br><br>Sistem x86 kuno hanya mendukung <strong>BIOS</strong>.<br>Sistem moderen biasanya menggunakan <strong>EFI</strong>, tapi mungkin juga tampak sebagai BIOS jika dimulai dalam mode kompatibilitas. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Sistem ini telah dimulai dengan lingkungan boot <strong>EFI</strong>.<br><br>Untuk mengkonfigurasi startup dari lingkungan EFI, pemasang ini seharusnya memaparkan sebuah aplikasi boot loader, seperti <strong>GRUB</strong> atau <strong>systemd-boot</strong> pada sebuah <strong>EFI System Partition</strong>. Ini adalah otomatis, kecuali kalau kamu memilih pemartisian manual, dalam beberapa kasus kamu harus memilihnya atau menciptakannya pada milikmu. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Sistem ini dimulai dengan sebuah lingkungan boot <strong>BIOS</strong>.<br><br>Untuk mengkonfigurasi startup dari sebuah lingkungan BIOS, pemasang ini seharusnya memasang sebuah boot loader, seperti <strong>GRUB</strong>, baik di awal partisi atau pada <strong>Master Boot Record</strong> di dekat awalan tabel partisi (yang disukai). Ini adalah otomatis, kecuali kalau kamu memilih pemartisian manual, dalam beberapa kasus kamu harus menyetelnya pada milikmu. @@ -593,27 +593,27 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Uku&ran: - + En&crypt Enkripsi - + Logical Logikal - + Primary Utama - + GPT GPT - + Mountpoint already in use. Please select another one. Titik-kait sudah digunakan. Silakan pilih yang lainnya. @@ -826,7 +826,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Tipe dari <strong>tabel partisi</strong> pada perangkat penyimpanan terpilih.<br><br>Satu-satunya cara untuk mengubah tabel partisi adalah dengan menyetip dan menciptakan ulang tabel partisi dari awal, yang melenyapkan semua data pada perangkat penyimpanan.<br>Pemasang ini akan menjaga tabel partisi saat ini kecuali kamu secara gamblang memilih sebaliknya.<br>Jika tidak yakin, pada sistem GPT modern lebih disukai. @@ -943,7 +943,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Bendera: - + Mountpoint already in use. Please select another one. Titik-kait sudah digunakan. Silakan pilih yang lainnya. @@ -971,7 +971,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Konfirmasi kata sandi - + Please enter the same passphrase in both boxes. Silakan masukkan kata sandi yang sama di kedua kotak. @@ -1040,19 +1040,19 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan. FinishedViewStep - + Finish Selesai - + Installation Complete - + Pemasangan Lengkap - + The installation of %1 is complete. - + Pemasangan %1 telah lengkap. @@ -1161,6 +1161,16 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Pengaturan system locale berpengaruh pada bahasa dan karakter pada beberapa elemen antarmuka Command Line. <br/>Pengaturan saat ini adalah <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1577,7 +1587,7 @@ Pemasangan dapat dilanjutkan, namun beberapa fitur akan dinonfungsikan.Pasang boot %loader pada: - + Are you sure you want to create a new partition table on %1? Apakah Anda yakin ingin membuat tabel partisi baru pada %1? diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index 3e52dc86c..df3938b28 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. St&ærð: - + En&crypt &Dulrita - + Logical Rökleg - + Primary Aðal - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Flögg: - + Mountpoint already in use. Please select another one. Tengipunktur er þegar í notkun. Veldu einhvern annan. @@ -969,7 +969,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Staðfesta lykilorð - + Please enter the same passphrase in both boxes. Vinsamlegast sláðu inn sama lykilorðið í báða kassana. @@ -1038,17 +1038,17 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. FinishedViewStep - + Finish Ljúka - + Installation Complete - + Uppsetningu lokið - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. Setja upp ræsistjóran á: - + Are you sure you want to create a new partition table on %1? Ertu viss um að þú viljir búa til nýja disksneið á %1? diff --git a/lang/calamares_it_IT.ts b/lang/calamares_it_IT.ts index cbf862ca5..18d89b0db 100644 --- a/lang/calamares_it_IT.ts +++ b/lang/calamares_it_IT.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. L'<strong>ambiente di avvio</strong> di questo sistema. <br><br>I vecchi sistemi x86 supportano solo <strong>BIOS</strong>. <bt>I sistemi moderni normalmente usano <strong>EFI</strong> ma possono anche usare BIOS se l'avvio viene eseguito in modalità compatibile. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Il sistema è stato avviato con un ambiente di boot <strong>EFI</strong>.<br><br>Per configurare l'avvio da un ambiente EFI, il programma d'installazione deve inserire un boot loader come <strong>GRUB</strong> o <strong>systemd-boot</strong> su una <strong>EFI System Partition</strong>. Ciò avviene automaticamente, a meno che non si scelga il partizionamento manuale che permette di scegliere un proprio boot loader personale. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. ll sistema è stato avviato con un ambiente di boot <strong>BIOS</strong>.<br><br>Per configurare l'avvio da un ambiente BIOS, il programma d'installazione deve installare un boot loader come <strong>GRUB</strong> all'inizio di una partizione o nel <strong>Master Boot Record</strong> vicino all'origine della tabella delle partizioni (preferito). Ciò avviene automaticamente, a meno che non si scelga il partizionamento manuale che permette di fare una configurazione personale. @@ -591,27 +591,27 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno &Dimensione: - + En&crypt Cr&iptare - + Logical Logica - + Primary Primaria - + GPT GPT - + Mountpoint already in use. Please select another one. Il punto di mount è già in uso. Sceglierne un altro. @@ -824,7 +824,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Il tipo di <strong>tabella delle partizioni</strong> attualmente presente sul dispositivo di memoria selezionato.<br><br>L'unico modo per cambiare il tipo di tabella delle partizioni è quello di cancellarla e ricrearla da capo, distruggendo tutti i dati sul dispositivo.<br>Il programma di installazione conserverà l'attuale tabella a meno che no si scelga diversamente.<br>Se non si è sicuri, sui sistemi moderni si preferisce GPT. @@ -941,7 +941,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Flag: - + Mountpoint already in use. Please select another one. Il punto di mount è già in uso. Sceglierne un altro. @@ -969,7 +969,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Confermare frase di accesso - + Please enter the same passphrase in both boxes. Si prega di immettere la stessa frase di accesso in entrambi i riquadri. @@ -1038,17 +1038,17 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno FinishedViewStep - + Finish Termina - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Le impostazioni di localizzazione del sistema influenzano la lingua e il set di caratteri per alcuni elementi di interfaccia da linea di comando. <br/>L'impostazione attuale è <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Il programma d'installazione sarà terminato e tutte le modifiche andranno Installare il boot &loader su: - + Are you sure you want to create a new partition table on %1? Si è sicuri di voler creare una nuova tabella delle partizioni su %1? diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index c14605a34..11668390a 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. このシステムの <strong>ブート環境。</strong><br><br>古いx86システムは<strong>BIOS</strong>のみサポートしています。<br>最近のシステムは通常<strong>EFI</strong>を使用しますが、互換モードが起動できる場合はBIOSが現れる場合もあります。 - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. このシステムは<strong>EFI</strong> ブート環境で起動しました。<br><br>EFI環境からの起動について設定するためには、<strong>EFI システムパーティション</strong>に <strong>GRUB</strong> あるいは <strong>systemd-boot</strong> といったブートローダーアプリケーションを配置しなければなりません。手動によるパーティショニングを選択する場合、EFI システムパーティションを選択あるいは作成しなければなりません。そうでない場合は、この操作は自動的に行われます。 - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. このシステムは <strong>BIOS</strong> ブート環境で起動しました。<br><br> BIOS環境からの起動について設定するためには、パーティションの開始位置あるいはパーティションテーブルの開始位置の近く(推奨)にある<strong>マスターブートレコード</strong>に <strong>GRUB</strong> のようなブートローダーをインストールしなければなりません。手動によるパーティショニングを選択する場合はユーザー自身で設定しなければなりません。そうでない場合は、この操作は自動的に行われます。 @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. サイズ(&Z) - + En&crypt 暗号化(&C) - + Logical 論理 - + Primary プライマリ - + GPT GPT - + Mountpoint already in use. Please select another one. マウントポイントは既に使用されています。他を選択してください。 @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. 選択したストレージデバイスにおける<strong> パーティションテーブル </strong> の種類。 <br><br> パーティションテーブルの種類を変更する唯一の方法は、パーティションテーブルを消去し、最初から再作成を行うことですが、この操作はストレージ上の全てのデータを破壊します。 <br> このインストーラーは、他の種類へ明示的に変更ししない限り、現在のパーティションテーブルが保持されます。よくわからない場合、最近のシステムではGPTが推奨されます。 @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. フラグ: - + Mountpoint already in use. Please select another one. マウントポイントは既に使用されています。他を選択してください。 @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. パスフレーズの確認 - + Please enter the same passphrase in both boxes. 両方のボックスに同じパスフレーズを入力してください。 @@ -1038,19 +1038,20 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish 終了 - + Installation Complete - + インストールが完了 + - + The installation of %1 is complete. - + %1 のインストールは完了です。 @@ -1159,6 +1160,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. システムロケールの設定はコマンドラインやインターフェース上での言語や文字の表示に影響をおよぼします。<br/>現在の設定 <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1586,7 @@ The installer will quit and all changes will be lost. ブートローダーインストール先 (&L): - + Are you sure you want to create a new partition table on %1? %1 上で新しいパーティションテーブルを作成します。よろしいですか? diff --git a/lang/calamares_kk.ts b/lang/calamares_kk.ts index 8475d9847..f8ffbe402 100644 --- a/lang/calamares_kk.ts +++ b/lang/calamares_kk.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_lo.ts b/lang/calamares_lo.ts index 1e67238f9..a69a9ee43 100644 --- a/lang/calamares_lo.ts +++ b/lang/calamares_lo.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_lt.ts b/lang/calamares_lt.ts index d71a2f1d9..47f0f9263 100644 --- a/lang/calamares_lt.ts +++ b/lang/calamares_lt.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. Šios sistemos <strong>paleidimo aplinka</strong>.<br><br>Senesnės x86 sistemos palaiko tik <strong>BIOS</strong>.<br>Šiuolaikinės sistemos, dažniausiai, naudoja <strong>EFI</strong>, tačiau, jeigu jos yra paleistos suderinamumo veiksenoje, taip pat gali būti rodomos kaip BIOS. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Ši sistema buvo paleista su <strong>EFI</strong> paleidimo aplinka.<br><br>Tam, kad sukonfigūruotų paleidimą iš EFI aplinkos, ši diegimo programa, <strong>EFI sistemos skaidinyje</strong>, privalo išskleisti paleidyklės programą, kaip, pavyzdžiui, <strong>GRUB</strong> ar <strong>systemd-boot</strong>. Tai vyks automatiškai, nebent pasirinksite rankinį skaidymą ir tokiu atveju patys turėsite pasirinkti arba sukurti skaidinį. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Ši sistema buvo paleista su <strong>BIOS</strong> paleidimo aplinka.<br><br>Tam, kad sukonfigūruotų paleidimą iš BIOS aplinkos, ši diegimo programa, arba skaidinio pradžioje, arba <strong>Paleidimo įraše (MBR)</strong>, šalia skaidinių lentelės pradžios (pageidautina), privalo įdiegti paleidyklę, kaip, pavyzdžiui, <strong>GRUB</strong>. Tai vyks automatiškai, nebent pasirinksite rankinį skaidymą ir tokiu atveju, viską turėsite nusistatyti patys. @@ -591,27 +591,27 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. D&ydis: - + En&crypt Užši&fruoti - + Logical Loginė - + Primary Pagrindinė - + GPT GPT - + Mountpoint already in use. Please select another one. Prijungimo taškas jau yra naudojamas. Prašome pasirinkti kitą. @@ -824,7 +824,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Pasirinktame atminties įrenginyje esančios, <strong>skaidinių lentelės</strong> tipas.<br><br>Vienintelis būdas kaip galima pakeisti skaidinių lentelės tipą yra ištrinti ir iš naujo sukurti skaidinių lentelę, kas savo ruožtu ištrina visus atminties įrenginyje esančius duomenis.<br>Ši diegimo programa paliks esamą skaidinių lentelę, nebent aiškiai pasirinksite kitaip.<br>Jeigu nesate tikri, šiuolaikinėse sistemose pirmenybė yra teikiama GPT tipui. @@ -941,7 +941,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Vėliavėlės: - + Mountpoint already in use. Please select another one. Prijungimo taškas jau yra naudojamas. Prašome pasirinkti kitą. @@ -969,7 +969,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Patvirtinkite slaptafrazę - + Please enter the same passphrase in both boxes. Prašome abiejuose langeliuose įrašyti tą pačią slaptafrazę. @@ -1038,19 +1038,19 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. FinishedViewStep - + Finish Pabaiga - + Installation Complete - + Diegimas užbaigtas - + The installation of %1 is complete. - + %1 diegimas yra užbaigtas. @@ -1159,6 +1159,16 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Sistemos lokalės nustatymas įtakoja, kai kurių komandų eilutės naudotojo sąsajos elementų, kalbos ir simbolių rinkinį.<br/>Dabar yra nustatyta <strong>%1</strong>. + + + &Cancel + &Atsisakyti + + + + &OK + &Gerai + LicensePage @@ -1575,7 +1585,7 @@ Diegimo programa užbaigs darbą ir visi pakeitimai bus prarasti. Įdiegti pa&leidyklę skaidinyje: - + Are you sure you want to create a new partition table on %1? Ar tikrai %1 norite sukurti naują skaidinių lentelę? diff --git a/lang/calamares_mr.ts b/lang/calamares_mr.ts index 9109e67e3..0fdff01e4 100644 --- a/lang/calamares_mr.ts +++ b/lang/calamares_mr.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_nb.ts b/lang/calamares_nb.ts index 7ca25af07..653e83df8 100644 --- a/lang/calamares_nb.ts +++ b/lang/calamares_nb.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.St&ørrelse: - + En&crypt - + Logical Logisk - + Primary Primær - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Installasjonsprogrammet vil avsluttes og alle endringer vil gå tapt. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_nl.ts b/lang/calamares_nl.ts index 3d8976133..246f086e7 100644 --- a/lang/calamares_nl.ts +++ b/lang/calamares_nl.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. De <strong>opstartomgeving</strong> van dit systeem.<br><br>Oudere x86-systemen ondersteunen enkel <strong>BIOS</strong>.<br>Moderne systemen gebruiken meestal <strong>EFI</strong>, maar kunnen ook als BIOS verschijnen als in compatibiliteitsmodus opgestart werd. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Dit systeem werd opgestart met een <strong>EFI</strong>-opstartomgeving.<br><br>Om het opstarten vanaf een EFI-omgeving te configureren moet dit installatieprogramma een bootloader instellen, zoals <strong>GRUB</strong> of <strong>systemd-boot</strong> op een <strong>EFI-systeempartitie</strong>. Dit gebeurt automatisch, tenzij je voor manueel partitioneren kiest, waar je het moet aanvinken of het zelf aanmaken. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Dit systeem werd opgestart met een <strong>BIOS</strong>-opstartomgeving.<br><br>Om het opstarten vanaf een BIOS-omgeving te configureren moet dit installatieprogramma een bootloader installeren, zoals <strong>GRUB</strong>, ofwel op het begin van een partitie ofwel op de <strong>Master Boot Record</strong> bij het begin van de partitietabel (bij voorkeur). Dit gebeurt automatisch, tenzij je voor manueel partitioneren kiest, waar je het zelf moet aanmaken. @@ -591,27 +591,27 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. &Grootte: - + En&crypt &Versleutelen - + Logical Logisch - + Primary Primair - + GPT GPT - + Mountpoint already in use. Please select another one. Aankoppelpunt reeds in gebruik. Gelieve een andere te kiezen. @@ -824,7 +824,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Het type van <strong>partitietabel</strong> op het geselecteerde opslagmedium.<br><br>Om het type partitietabel te wijzigen, dien je deze te verwijderen en opnieuw aan te maken, wat alle gegevens op het opslagmedium vernietigt.<br>Het installatieprogramma zal de huidige partitietabel behouden tenzij je expliciet anders verkiest.<br>Bij twijfel wordt aangeraden GPT te gebruiken op moderne systemen. @@ -941,7 +941,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Vlaggen: - + Mountpoint already in use. Please select another one. Aankoppelpunt reeds in gebruik. Gelieve een andere te kiezen. @@ -969,7 +969,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Bevestig wachtwoordzin - + Please enter the same passphrase in both boxes. Gelieve in beide velden dezelfde wachtwoordzin in te vullen. @@ -1038,19 +1038,19 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. FinishedViewStep - + Finish Beëindigen - + Installation Complete - + Installatie Afgerond. - + The installation of %1 is complete. - + De installatie van %1 is afgerond. @@ -1159,6 +1159,16 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. De landinstellingen bepalen de taal en het tekenset voor sommige opdrachtregelelementen.<br/>De huidige instelling is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Het installatieprogramma zal afsluiten en alle wijzigingen zullen verloren gaan. Installeer boot&loader op: - + Are you sure you want to create a new partition table on %1? Weet u zeker dat u een nieuwe partitie tabel wil maken op %1? diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index c74dbabf1..519528e08 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Środowisko uruchomieniowe</strong> systemu.<br><br>Starsze systemy x86 obsługują tylko <strong>BIOS</strong>.<br>Nowoczesne systemy zwykle używają <strong>EFI</strong>, lecz możliwe jest również ukazanie się BIOS, jeśli działa w trybie kompatybilnym. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Ten system został uruchomiony w środowisku rozruchowym <strong>EFI</strong>.<br><br>Aby skonfigurować uruchomienie ze środowiska EFI, instalator musi wdrożyć aplikację programu rozruchowego, takiego jak <strong>GRUB</strong> lub <strong>systemd-boot</strong> na <strong>Partycji Systemu EFI</strong>. Jest to automatyczne, chyba że wybierasz ręczne partycjonowanie, a w takim przypadku musisz wybrać ją lub utworzyć osobiście. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Ten system został uruchomiony w środowisku rozruchowym <strong>BIOS</strong>.<br><br>Aby skonfigurować uruchomienie ze środowiska BIOS, instalator musi zainstalować program rozruchowy, taki jak <strong>GRUB</strong> na początku partycji lub w <strong>Głównym Sektorze Rozruchowym</strong> blisko początku tablicy partycji (preferowane). Jest to automatyczne, chyba że wybierasz ręczne partycjonowanie, a w takim przypadku musisz ustawić ją osobiście. @@ -591,27 +591,27 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Ro&zmiar: - + En&crypt Zaszy%fruj - + Logical Logiczna - + Primary Podstawowa - + GPT GPT - + Mountpoint already in use. Please select another one. Punkt montowania jest już używany. Proszę wybrać inny. @@ -824,7 +824,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Typ <strong>tabeli partycji</strong> na zaznaczonym nośniku danych.<br><br>Jedyną metodą na zmianę tabeli partycji jest jej wyczyszczenie i utworzenie jej od nowa, co spowoduje utratę wszystkich danych.<br>Ten instalator zachowa obecną tabelę partycji, jeżeli nie wybierzesz innej opcji.<br>W wypadku niepewności, w nowszych systemach zalecany jest GPT. @@ -941,7 +941,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Flagi: - + Mountpoint already in use. Please select another one. Punkt montowania jest już używany. Proszę wybrać inny. @@ -969,7 +969,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Potwierdź hasło - + Please enter the same passphrase in both boxes. Użyj tego samego hasła w obu polach. @@ -1038,19 +1038,19 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. FinishedViewStep - + Finish Koniec - + Installation Complete - + Instalacja zakończona - + The installation of %1 is complete. - + Instalacja %1 ukończyła się pomyślnie. @@ -1159,6 +1159,16 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Systemowe ustawienia lokalne wpływają na ustawienia języka i znaków w niektórych elementach wiersza poleceń interfejsu użytkownika.<br/>Bieżące ustawienie to <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.Zainsta&luj program rozruchowy na: - + Are you sure you want to create a new partition table on %1? Czy na pewno chcesz utworzyć nową tablicę partycji na %1? diff --git a/lang/calamares_pl_PL.ts b/lang/calamares_pl_PL.ts index d635c1236..462dd1f70 100644 --- a/lang/calamares_pl_PL.ts +++ b/lang/calamares_pl_PL.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone.Ro&zmiar: - + En&crypt - + Logical Logiczna - + Primary Podstawowa - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Instalator zakończy działanie i wszystkie zmiany zostaną utracone. - + Are you sure you want to create a new partition table on %1? Na pewno utworzyć nową tablicę partycji na %1? diff --git a/lang/calamares_pt_BR.ts b/lang/calamares_pt_BR.ts index e2dda139e..b8a0ded8b 100644 --- a/lang/calamares_pt_BR.ts +++ b/lang/calamares_pt_BR.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. O <strong>ambiente de inicialização</strong> deste sistema.<br><br>Sistemas x86 antigos têm suporte apenas ao <strong>BIOS</strong>.<br>Sistemas modernos normalmente usam <strong>EFI</strong>, mas também podem mostrar o BIOS se forem iniciados no modo de compatibilidade. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Este sistema foi iniciado com um ambiente de inicialização <strong>EFI</strong>.<br><br>Para configurar o início a partir de um ambiente EFI, este instalador deverá instalar um gerenciador de inicialização, como o <strong>GRUB</strong> ou <strong>systemd-boot</strong> em uma <strong>Partição de Sistema EFI</strong>. Este processo é automático, a não ser que escolha o particionamento manual, que no caso permite-lhe escolher ou criá-lo manualmente. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Este sistema foi iniciado utilizando o <strong>BIOS</strong> como ambiente de inicialização.<br><br>Para configurar a inicialização em um ambiente BIOS, este instalador deve instalar um gerenciador de boot, como o <strong>GRUB</strong>, no começo de uma partição ou no <strong>Master Boot Record</strong>, perto do começo da tabela de partições (recomendado). Este processo é automático, a não ser que você escolha o particionamento manual, onde você deverá configurá-lo manualmente. @@ -364,13 +364,13 @@ O instalador será fechado e todas as alterações serão perdidas. This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a> - Este computador não satisfaz os requisitos mínimos para a instalação de %1. + Este computador não satisfaz os requisitos mínimos para instalar %1. A instalação não pode continuar.<a href="#details">Detalhes...</a> This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled. - Este computador não satisfaz alguns dos requisitos recomendados para a instalação de %1. + Este computador não satisfaz alguns dos requisitos recomendados para instalar %1. A instalação pode continuar, mas alguns recursos podem ser desativados. @@ -593,27 +593,27 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Tamanho: - + En&crypt &Criptografar - + Logical Lógica - + Primary Primária - + GPT GPT - + Mountpoint already in use. Please select another one. Ponto de montagem já em uso. Por favor, selecione outro. @@ -676,7 +676,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. What kind of partition table do you want to create? - Você deseja criar que tipo de tabela de partições? + Que tipo de tabela de partições você deseja criar? @@ -826,9 +826,9 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. - O tipo de <strong>tabela de partições</strong> no dispositivo de armazenamento selecionado.<br><br>O único modo de alterar o tipo de tabela de partições é apagar e recriar a mesma do começo, processo o qual exclui todos os dados do dispositivo.<br>Este instalador manterá a atual tabela de partições, a não ser que você escolha o contrário.<br>Em caso de dúvidas, em sistemas modernos o GPT é recomendado. + O tipo de <strong>tabela de partições</strong> no dispositivo de armazenamento selecionado.<br><br>O único modo de alterar o tipo de tabela de partições é apagar e recriar a mesma do começo, processo o qual exclui todos os dados do dispositivo.<br>Este instalador manterá a tabela de partições atual, a não ser que você escolha o contrário.<br>Em caso de dúvidas, em sistemas modernos o GPT é recomendado. @@ -838,7 +838,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. This is a <strong>loop</strong> device.<br><br>It is a pseudo-device with no partition table that makes a file accessible as a block device. This kind of setup usually only contains a single filesystem. - Este é um dispositivo de <strong>loop</strong>.<br><br>Este é um pseudo-dispositivo sem tabela de partições que faz um arquivo acessível como um dispositivo de bloco. Este tipo de configuração apenas contém um único sistema de arquivos. + Este é um dispositivo de <strong>loop</strong>.<br><br>Este é um pseudo-dispositivo sem tabela de partições que faz um arquivo acessível como um dispositivo de bloco. Este tipo de configuração normalmente contém apenas um único sistema de arquivos. @@ -943,7 +943,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Marcadores: - + Mountpoint already in use. Please select another one. Ponto de montagem já em uso. Por favor, selecione outro. @@ -971,7 +971,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Confirme a frase-chave - + Please enter the same passphrase in both boxes. Por favor, insira a mesma frase-chave nos dois campos. @@ -1040,17 +1040,17 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. FinishedViewStep - + Finish Concluir - + Installation Complete Instalação Completa - + The installation of %1 is complete. A instalação do %1 está completa. @@ -1161,6 +1161,16 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. A configuração de localidade do sistema afeta a linguagem e o conjunto de caracteres para algumas linhas de comando e elementos da interface do usuário.<br/>A configuração atual é <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1577,7 +1587,7 @@ A instalação pode continuar, mas alguns recursos podem ser desativados.Insta&lar o gerenciador de inicialização em: - + Are you sure you want to create a new partition table on %1? Você tem certeza de que deseja criar uma nova tabela de partições em %1? diff --git a/lang/calamares_pt_PT.ts b/lang/calamares_pt_PT.ts index 5df77de75..6068a7ab0 100644 --- a/lang/calamares_pt_PT.ts +++ b/lang/calamares_pt_PT.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. O <strong>ambiente de arranque</strong> deste sistema.<br><br>Sistemas x86 mais antigos apenas suportam <strong>BIOS</strong>.<br>Sistemas modernos normalmente usam <strong>EFI</strong>, mas também podem aparecer como BIOS se iniciados em modo de compatibilidade. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Este sistema foi iniciado com ambiente de arranque<strong>EFI</strong>.<br><br>Para configurar o arranque de um ambiente EFI, o instalador tem de implantar uma aplicação de carregar de arranque, tipo <strong>GRUB</strong> ou <strong>systemd-boot</strong> ou uma <strong>Partição de Sistema EFI</strong>. Isto é automático, a menos que escolha particionamento manual, e nesse caso tem de escolhê-la ou criar uma por si próprio. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Este sistema foi iniciado com um ambiente de arranque <strong>BIOS</strong>.<br><br>Para configurar um arranque de um ambiente BIOS, este instalador tem de instalar um carregador de arranque, tipo <strong>GRUB</strong>, quer no início da partição ou no <strong>Master Boot Record</strong> perto do início da tabela de partições (preferido). Isto é automático, a não ser que escolha particionamento manual, e nesse caso tem de o configurar por si próprio @@ -591,27 +591,27 @@ O instalador será encerrado e todas as alterações serão perdidas.Ta&manho: - + En&crypt En&criptar - + Logical Lógica - + Primary Primária - + GPT GPT - + Mountpoint already in use. Please select another one. Ponto de montagem já em uso. Por favor selecione outro. @@ -824,7 +824,7 @@ O instalador será encerrado e todas as alterações serão perdidas. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. O tipo da <strong>tabela de partições</strong> no dispositivo de armazenamento selecionado.<br><br>A única maneira de mudar o tipo da tabela de partições é apagá-la e recriar a tabela de partições do nada, o que destrói todos os dados no dispositivo de armazenamento.<br>Este instalador manterá a tabela de partições atual a não ser que escolha explicitamente em contrário.<br>Se não tem a certeza, nos sistemas modernos é preferido o GPT. @@ -941,7 +941,7 @@ O instalador será encerrado e todas as alterações serão perdidas.Flags: - + Mountpoint already in use. Please select another one. Ponto de montagem já em uso. Por favor selecione outro. @@ -969,7 +969,7 @@ O instalador será encerrado e todas as alterações serão perdidas.Confirmar frase-chave - + Please enter the same passphrase in both boxes. Por favor insira a mesma frase-passe em ambas as caixas. @@ -1038,19 +1038,19 @@ O instalador será encerrado e todas as alterações serão perdidas. FinishedViewStep - + Finish Finalizar - + Installation Complete - + Instalação Completa - + The installation of %1 is complete. - + A instalação de %1 está completa. @@ -1159,6 +1159,16 @@ O instalador será encerrado e todas as alterações serão perdidas.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. A definição local do sistema afeta o idioma e conjunto de carateres para alguns elementos do interface da linha de comandos.<br/>A definição atual é <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ O instalador será encerrado e todas as alterações serão perdidas.Instalar &carregador de arranque em: - + Are you sure you want to create a new partition table on %1? Tem certeza de que deseja criar uma nova tabela de partições em %1? diff --git a/lang/calamares_ro.ts b/lang/calamares_ro.ts index 1b4b2d7af..9bcbe3aba 100644 --- a/lang/calamares_ro.ts +++ b/lang/calamares_ro.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Mediul de boot</strong> al acestui sistem.<br><br>Sisteme x86 mai vechi suportă numai <strong>BIOS</strong>.<br>Sisteme moderne folosesc de obicei <strong>EFI</strong>, dar ar putea fi afișate ca BIOS dacă au fost configurate în modul de compatibilitate. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Acest sistem a fost pornit într-un mediu de boot <strong>EFI</strong>.<br><br>Pentru a configura pornirea dintr-un mediu EFI, acest program de instalare trebuie să creeze o aplicație pentru boot-are, cum ar fi <strong>GRUB</strong> sau <strong>systemd-boot</strong> pe o <strong>partiție de sistem EFI</strong>. Acest pas este automat, cu excepția cazului în care alegeți partiționarea manuală. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Sistemul a fost pornit într-un mediu de boot <strong>BIOS</strong>.<br><br>Pentru a configura pornirea de la un mediu BIOS, programul de instalare trebuie să instaleze un mediu de boot, cum ar fi <strong>GRUB</strong> fie la începutul unei partiții sau pe <strong>Master Boot Record</strong> în partea de început a unei tabele de partiții (preferabil). Acesta este un pas automat, cu excepția cazului în care alegeți partiționarea manuală. @@ -591,27 +591,27 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Mă&rime: - + En&crypt &Criptează - + Logical Logică - + Primary Primară - + GPT GPT - + Mountpoint already in use. Please select another one. Punct de montare existent. Vă rugăm alegeţi altul. @@ -824,7 +824,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Tipul de <strong>tabelă de partiții</strong> de pe dispozitivul de stocare selectat.<br><br>Singura metodă de a schimba tipul de tabelă de partiții este ștergerea și recrearea acesteia de la zero, ceea de distruge toate datele de pe dispozitivul de stocare.<br>Acest program de instalare va păstra tabela de partiții actuală cu excepția cazului în care alegeți altfel.<br>Dacă nu sunteți sigur, GPT este preferabil pentru sistemele moderne. @@ -941,7 +941,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Flags: - + Mountpoint already in use. Please select another one. Punct de montare existent. Vă rugăm alegeţi altul. @@ -969,7 +969,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Confirmă fraza secretă - + Please enter the same passphrase in both boxes. Introduceți aceeași frază secretă în ambele căsuțe. @@ -1038,17 +1038,17 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute. FinishedViewStep - + Finish Termină - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Setările de localizare ale sistemului afectează limba și setul de caractere folosit pentru unele elemente de interfață la linia de comandă.<br/>Setările actuale sunt <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Programul de instalare va ieși, iar toate modificările vor fi pierdute.Instalează boot&loaderul pe: - + Are you sure you want to create a new partition table on %1? Sigur doriți să creați o nouă tabelă de partiție pe %1? diff --git a/lang/calamares_ru.ts b/lang/calamares_ru.ts index e9d278c2a..4f7ca92f0 100644 --- a/lang/calamares_ru.ts +++ b/lang/calamares_ru.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Среда загрузки</strong> данной системы.<br><br>Старые системы x86 поддерживают только <strong>BIOS</strong>.<br>Современные системы обычно используют <strong>EFI</strong>, но также могут имитировать BIOS, если среда загрузки запущена в режиме совместимости. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Эта система использует среду загрузки <strong>EFI</strong>.<br><br>Чтобы настроить запуск из под среды EFI, установщик использует приложения загрузки, такое как <strong>GRUB</strong> или <strong>systemd-boot</strong> на <strong>системном разделе EFI</strong>. Процесс автоматизирован, но вы можете использовать ручной режим, где вы сами будете должны выбрать или создать его. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Эта система запущена в <strong>BIOS</strong> среде загрузки.<br><br> Чтобы настроить запуск из под среды BIOS, установщик должен установить загручик, такой как <strong>GRUB</strong>, либо в начале раздела, либо в <strong>Master Boot Record</strong>, находящийся в начале таблицы разделов (по умолчанию). Процесс автоматизирован, но вы можете выбрать ручной режим, где будете должны настроить его сами. @@ -590,27 +590,27 @@ The installer will quit and all changes will be lost. Ра&змер: - + En&crypt Ши&фровать - + Logical Логический - + Primary Основной - + GPT GPT - + Mountpoint already in use. Please select another one. Точка монтирования уже занята. Пожалуйста, выберете другую. @@ -823,7 +823,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Тип <strong>таблицы разделов</strong> на выбраном устройстве хранения.<br><br>Смена типа раздела возможна только путем удаления и пересоздания всей таблицы разделов, что уничтожит все данные на устройстве.<br>Этот установщик не затронет текущую таблицу разделов, кроме как вы сами решите иначе.<br>По умолчанию, современные системы используют GPT-разметку. @@ -940,7 +940,7 @@ The installer will quit and all changes will be lost. Флаги: - + Mountpoint already in use. Please select another one. @@ -968,7 +968,7 @@ The installer will quit and all changes will be lost. Подтвердите пароль - + Please enter the same passphrase in both boxes. Пожалуйста, введите один и тот же пароль в оба поля. @@ -1037,17 +1037,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish Завершить - + Installation Complete - + The installation of %1 is complete. @@ -1158,6 +1158,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Общие региональные настройки влияют на язык и кодировку для отдельных элементов интерфейса командной строки.<br/>Текущий выбор <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1574,7 +1584,7 @@ The installer will quit and all changes will be lost. Установить &загрузчик в: - + Are you sure you want to create a new partition table on %1? Вы уверены, что хотите создать новую таблицу разделов на %1? diff --git a/lang/calamares_sk.ts b/lang/calamares_sk.ts index a2946b3af..a515fd14c 100644 --- a/lang/calamares_sk.ts +++ b/lang/calamares_sk.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. <strong>Zavádzacie prostredie</strong> tohto systému.<br><br>Staršie systémy architektúry x86 podporujú iba <strong>BIOS</strong>.<br>Moderné systémy obvykle používajú <strong>EFI</strong>, ale tiež sa môžu zobraziť ako BIOS, ak sú spustené v režime kompatiblitiy. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Tento systém bol spustený so zavádzacím prostredím <strong>EFI</strong>.<br><br>Na konfiguráciu spustenia z prostredia EFI, musí inštalátor umiestniť aplikáciu zavádzača, ako je <strong>GRUB</strong> alebo <strong>systemd-boot</strong> na <strong>oddiel systému EFI</strong>. Toto je vykonané automaticky, pokiaľ nezvolíte ručné rozdelenie oddielov, v tom prípade ho musíte zvoliť alebo vytvoriť ručne. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Tento systém bol spustený so zavádzacím prostredím <strong>BIOS</strong>.<br><br>Na konfiguráciu spustenia z prostredia BIOS, musí inštalátor nainštalovať zavádzač, ako je <strong>GRUB</strong>, buď na začiatok oddielu alebo na <strong>hlavný zavádzací záznam (MBR)</strong> pri začiatku tabuľky oddielov (preferované). Toto je vykonané automaticky, pokiaľ nezvolíte ručné rozdelenie oddielov, v tom prípade ho musíte nainštalovať ručne. @@ -591,27 +591,27 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Veľ&kosť: - + En&crypt Zaši&frovať - + Logical Logický - + Primary Primárny - + GPT GPT - + Mountpoint already in use. Please select another one. Bod pripojenia sa už používa. Prosím, vyberte iný. @@ -824,7 +824,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Typ <strong>tabuľky oddielov</strong> na vybratom úložnom zariadení.<br><br>Jediným spôsobom ako zmeniť tabuľku oddielov je vymazanie a znovu vytvorenie tabuľky oddielov od začiatku, čím sa zničia všetky údaje úložnom zariadení.<br>Inštalátor ponechá aktuálnu tabuľku oddielov, pokiaľ sa výlučne nerozhodnete inak.<br>Ak nie ste si istý, na moderných systémoch sa preferuje typ tabuľky oddielov GPT. @@ -941,7 +941,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Značky: - + Mountpoint already in use. Please select another one. Bod pripojenia sa už používa. Prosím, vyberte iný. @@ -969,7 +969,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Potvrdenie hesla - + Please enter the same passphrase in both boxes. Prosím, zadajte rovnaké heslo do oboch polí. @@ -1038,19 +1038,19 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. FinishedViewStep - + Finish Dokončenie - + Installation Complete - + Inštalácia dokončená - + The installation of %1 is complete. - + Inštalácia distribúcie %1s je dokončená. @@ -1159,6 +1159,16 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Miestne nastavenie systému ovplyvní jazyk a znakovú sadu niektorých prvkov používateľského rozhrania v príkazovom riadku.<br/>Aktuálne nastavenie je <strong>%1</strong>. + + + &Cancel + &Zrušiť + + + + &OK + &OK + LicensePage @@ -1575,7 +1585,7 @@ Inštalátor sa ukončí a všetky zmeny budú stratené. Nainštalovať &zavádzač na: - + Are you sure you want to create a new partition table on %1? Naozaj chcete vytvoriť novú tabuľku oddielov na zariadení %1? diff --git a/lang/calamares_sl.ts b/lang/calamares_sl.ts index 512bfe567..9a2165909 100644 --- a/lang/calamares_sl.ts +++ b/lang/calamares_sl.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. Ve&likost - + En&crypt - + Logical Logičen - + Primary Primaren - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Namestilni program se bo končal in vse spremembe bodo izgubljene. - + Are you sure you want to create a new partition table on %1? Ali ste prepričani, da želite ustvariti novo razpredelnico razdelkov na %1? diff --git a/lang/calamares_sr.ts b/lang/calamares_sr.ts index 0abcdaf75..b0c88e99b 100644 --- a/lang/calamares_sr.ts +++ b/lang/calamares_sr.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. Вели&чина - + En&crypt - + Logical Логичка - + Primary Примарна - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish Заврши - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_sr@latin.ts b/lang/calamares_sr@latin.ts index 6133abcf0..5d39c973e 100644 --- a/lang/calamares_sr@latin.ts +++ b/lang/calamares_sr@latin.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. Veli&čina - + En&crypt - + Logical Logička - + Primary Primarna - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Instaler će se zatvoriti i sve promjene će biti izgubljene. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_sv.ts b/lang/calamares_sv.ts index 7245ba850..eabe4119b 100644 --- a/lang/calamares_sv.ts +++ b/lang/calamares_sv.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. Systemets <strong>uppstartsmiljö</strong>.<br><br>Äldre x86-system stödjer endast <strong>BIOS</strong>.<br>Moderna system stödjer vanligen <strong>EFI</strong>, men kan också vara i kompabilitetsläge för BIOS. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Detta system startades med en <strong>EFI-miljö</strong>.<br><br>För att ställa in uppstart från en EFI-miljö måste en uppstartsladdare användas, t.ex. <strong>GRUB</strong> eller <strong>systemd-boot</strong> eller en <strong>EFI-systempartition</strong>. Detta sker automatiskt, såvida du inte väljer att partitionera manuellt. Då måste du själv installera en uppstartsladdare. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Detta system startades med en <strong>BIOS-miljö</strong>. <br><br>För att ställa in uppstart från en BIOS-miljö måste en uppstartsladdare som t.ex. <strong>GRUB</strong> installeras, antingen i början av en partition eller på <strong>huvudstartsektorn (MBR)</strong> i början av partitionstabellen. Detta sker automatiskt, såvida du inte väljer manuell partitionering. Då måste du själv installera en uppstartsladdare. @@ -591,27 +591,27 @@ Alla ändringar kommer att gå förlorade. Storlek: - + En&crypt Kr%yptera - + Logical Logisk - + Primary Primär - + GPT GPT - + Mountpoint already in use. Please select another one. Monteringspunkt används redan. Välj en annan. @@ -824,7 +824,7 @@ Alla ändringar kommer att gå förlorade. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Typen av <strong>partitionstabell</strong> på den valda lagringsenheten.<br><br>Det enda sättet attt ändra typen av partitionstabell är genom att radera och återskapa partitionstabellen från början, vilket förstör all data på lagringsenheten.<br>Installationshanteraren kommer behålla den nuvarande partitionstabellen om du inte väljer något annat.<br>På moderna system är GPT att föredra. @@ -941,7 +941,7 @@ Alla ändringar kommer att gå förlorade. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ Alla ändringar kommer att gå förlorade. Bekräfta lösenord - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ Alla ändringar kommer att gå förlorade. FinishedViewStep - + Finish Slutför - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ Alla ändringar kommer att gå förlorade. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Systemspråket påverkar vilket språk och teckenuppsättning somliga kommandoradsprogram använder.<br/>Det nuvarande språket är <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ Alla ändringar kommer att gå förlorade. Installera uppstartshanterare på: - + Are you sure you want to create a new partition table on %1? Är du säker på att du vill skapa en ny partitionstabell på %1? diff --git a/lang/calamares_th.ts b/lang/calamares_th.ts index 3bfc307da..5c2f1a55a 100644 --- a/lang/calamares_th.ts +++ b/lang/calamares_th.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. &Z ขนาด: - + En&crypt - + Logical โลจิคอล - + Primary หลัก - + GPT GPT - + Mountpoint already in use. Please select another one. @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1038,17 +1038,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? คุณแน่ใจว่าจะสร้างตารางพาร์ทิชันใหม่บน %1? diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index de27032ea..0b4bd3f6c 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. Bu sistemdeki<br> <strong>önyükleme arayüzü</strong> sadece eski x86 sistem ve <strong>BIOS</strong> destekler. <br>Modern sistemler genellikle <strong>EFI</strong> kullanır fakat önyükleme arayüzü uyumlu modda ise BIOS seçilebilir. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. Bu sistem, bir <strong>EFI</strong> önyükleme arayüzü ile başladı.<br><br>EFI ortamından başlangıcı yapılandırmak için, bu yükleyici <strong>EFI Sistem Bölümü</strong> üzerinde <strong>GRUB</strong> veya <strong>systemd-boot</strong> gibi bir önyükleyici oluşturmalıdır. Bunu otomatik olarak yapabileceğiniz gibi elle disk bölümleri oluşturarak ta yapabilirsiniz. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. Bu sistem, bir <strong>BIOS</strong> önyükleme arayüzü ile başladı.<br><br>BIOS ortamında önyükleme için, yükleyici bölümün başında veya bölüm tablosu başlangıcına yakın <strong>Master Boot Record</strong> üzerine <strong>GRUB</strong> gibi bir önyükleyici yüklemeniz gerekir (önerilir). Eğer bu işlemin otomatik olarak yapılmasını istemez iseniz elle bölümleme yapabilirsiniz. @@ -27,12 +27,12 @@ Boot Partition - Önyükleyici Bölümü + Önyükleyici Disk Bölümü System Partition - Sistem Bölümü + Sistem Disk Bölümü @@ -205,12 +205,12 @@ Output: Bad main script file - Sorunlu script + Sorunlu betik dosyası Main script file %1 for python job %2 is not readable. - %2 python işleri için %1 sorunlu script okunamadı. + %2 python işleri için %1 sorunlu betik okunamadı. @@ -240,7 +240,7 @@ Output: Cancel installation without changing the system. - Sistemi değiştirmeden yüklemeyi iptal edin. + Sistemi değiştirmeden kurulumu iptal edin. @@ -594,27 +594,27 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Bo&yut: - + En&crypt Şif&rele - + Logical Mantıksal - + Primary Birincil - + GPT GPT - + Mountpoint already in use. Please select another one. Bağlama noktası zaten kullanımda. Lütfen diğerini seçiniz. @@ -827,7 +827,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. Seçili depolama aygıtında bir <strong>bölümleme tablosu</strong> oluştur.<br><br>Bölümleme tablosu oluşturmanın tek yolu aygıt üzerindeki bölümleri silmek, verileri yoketmek ve yeni bölümleme tablosu oluşturmaktır.<br>Sistem yükleyici aksi bir seçeneğe başvurmaz iseniz geçerli bölümlemeyi koruyacaktır.<br>Emin değilseniz, modern sistemler için GPT tercih edebilirsiniz. @@ -944,7 +944,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Bayraklar: - + Mountpoint already in use. Please select another one. Bağlama noktası zaten kullanımda. Lütfen diğerini seçiniz. @@ -972,7 +972,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Parolayı doğrula - + Please enter the same passphrase in both boxes. Her iki kutuya da aynı parolayı giriniz. @@ -1041,19 +1041,19 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. FinishedViewStep - + Finish Kurulum Tamam - + Installation Complete - + Kurulum Tamamlandı - + The installation of %1 is complete. - + Kurulum %1 oranında tamamlandı. @@ -1162,6 +1162,16 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. Sistem yerel ayarı, bazı uçbirim, kullanıcı ayarlamaları ve başkaca dil seçeneklerini belirler ve etkiler. <br/>Varsayılan geçerli ayarlar <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1578,7 +1588,7 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir.Şuraya ön &yükleyici kur: - + Are you sure you want to create a new partition table on %1? %1 tablosunda yeni bölüm oluşturmaya devam etmek istiyor musunuz? diff --git a/lang/calamares_uk.ts b/lang/calamares_uk.ts index 4cb6ed0c2..a67caae8a 100644 --- a/lang/calamares_uk.ts +++ b/lang/calamares_uk.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_ur.ts b/lang/calamares_ur.ts index 28837045f..744e43ced 100644 --- a/lang/calamares_ur.ts +++ b/lang/calamares_ur.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_uz.ts b/lang/calamares_uz.ts index b6a12e4e1..aa9eb1029 100644 --- a/lang/calamares_uz.ts +++ b/lang/calamares_uz.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. @@ -584,27 +584,27 @@ The installer will quit and all changes will be lost. - + En&crypt - + Logical - + Primary - + GPT - + Mountpoint already in use. Please select another one. @@ -817,7 +817,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. @@ -934,7 +934,7 @@ The installer will quit and all changes will be lost. - + Mountpoint already in use. Please select another one. @@ -962,7 +962,7 @@ The installer will quit and all changes will be lost. - + Please enter the same passphrase in both boxes. @@ -1031,17 +1031,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish - + Installation Complete - + The installation of %1 is complete. @@ -1152,6 +1152,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. + + + &Cancel + + + + + &OK + + LicensePage @@ -1568,7 +1578,7 @@ The installer will quit and all changes will be lost. - + Are you sure you want to create a new partition table on %1? diff --git a/lang/calamares_zh_CN.ts b/lang/calamares_zh_CN.ts index c62c041ba..f2894938e 100644 --- a/lang/calamares_zh_CN.ts +++ b/lang/calamares_zh_CN.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. 这个系统的<strong>引导环境</strong>。<br><br>较旧的 x86 系统只支持 <strong>BIOS</strong>。<br>现代的系统则通常使用 <strong>EFI</strong>,但若引导时使用了兼容模式,也可以显示为 BIOS。 - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. 这个系统从 <strong>EFI</strong> 引导环境启动。<br><br>目前市面上大多数的民用设备都使用 EFI,并同时与之使用 GPT 分区表。<br>要从 EFI 环境引导的话,本安装程序必须部署一个引导器(如 <strong>GRUB</strong> 或 <strong>systemd-boot</strong>)到 <strong>EFI 系统分区</strong>。这个步骤是自动的,除非您选择手动分区——此时您必须自行选择或创建。 - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. 这个系统从 <strong>BIOS</strong> 引导环境启动。<br><br> 要从 BIOS 环境引导,本安装程序必须安装引导器(如 <strong>GRUB</strong>),一般而言要么安装在分区的开头,要么就是在靠进分区表开头的 <strong>主引导记录</strong>(推荐)中。这个步骤是自动的,除非您选择手动分区——此时您必须自行配置。 @@ -592,27 +592,27 @@ The installer will quit and all changes will be lost. 大小(&Z): - + En&crypt 加密(&C) - + Logical 逻辑分区 - + Primary 主分区 - + GPT GPT - + Mountpoint already in use. Please select another one. 挂载点已被占用。请选择另一个。 @@ -825,7 +825,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. 目前选定存储器的<strong>分区表</strong>类型。<br><br>变更分区表类型的唯一方法就是抹除再重新从头建立分区表,这会破坏在该存储器上所有的数据。<br>除非您特别选择,否则本安装程序将会保留目前的分区表。<br>若不确定,在现代的系统上,建议使用 GPT。 @@ -943,7 +943,7 @@ The installer will quit and all changes will be lost. 标记: - + Mountpoint already in use. Please select another one. 挂载点已被占用。请选择另一个。 @@ -971,7 +971,7 @@ The installer will quit and all changes will be lost. 确认密码 - + Please enter the same passphrase in both boxes. 请在两个输入框中输入同样的密码。 @@ -1040,17 +1040,17 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish 结束 - + Installation Complete - + The installation of %1 is complete. @@ -1161,6 +1161,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. 系统语言区域设置会影响部份命令行用户界面的语言及字符集。<br/>目前的设置为 <strong>%1</strong>。 + + + &Cancel + + + + + &OK + + LicensePage @@ -1577,7 +1587,7 @@ The installer will quit and all changes will be lost. 安装引导程序于(&L): - + Are you sure you want to create a new partition table on %1? 您是否确定要在 %1 上创建新分区表? diff --git a/lang/calamares_zh_TW.ts b/lang/calamares_zh_TW.ts index 0922dc73f..04de28cf1 100644 --- a/lang/calamares_zh_TW.ts +++ b/lang/calamares_zh_TW.ts @@ -2,17 +2,17 @@ BootInfoWidget - + The <strong>boot environment</strong> of this system.<br><br>Older x86 systems only support <strong>BIOS</strong>.<br>Modern systems usually use <strong>EFI</strong>, but may also show up as BIOS if started in compatibility mode. 這個系統的<strong>開機環境</strong>。<br><br>較舊的 x86 系統只支援 <strong>BIOS</strong>。<br>現代的系統則通常使用 <strong>EFI</strong>,但若開機環境是以相容模式執行,其也可能顯示為 BIOS。 - + This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own. 這個系統以 <strong>EFI</strong> 開機環境啟動。<br><br>要設定從 EFI 環境開機,本安裝程式必須部署一個開機載入器應用程式,像是 <strong>GRUB</strong> 或 <strong>systemd-boot</strong> 在 <strong>EFI 系統分割區</strong>上。這是自動的,除非您選擇手動分割,在這種情況下,您必須自行選取或建立它。 - + This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own. 這個系統以 <strong>BIOS</strong> 開機環境開始。<br><br>要從 BIOS 環境開機開機,本安裝程式必須安裝開機載入器,像是 <strong>GRUB</strong>,且通常不是安裝在分割區的開頭就是在靠進分割表開頭的 <strong>主開機記錄</strong>(推薦)。這是自動的,除非您選擇手動分割,在這種情況下,您必須自行設定它。 @@ -591,27 +591,27 @@ The installer will quit and all changes will be lost. 容量大小 (&z) : - + En&crypt 加密(&C) - + Logical 邏輯磁區 - + Primary 主要磁區 - + GPT GPT - + Mountpoint already in use. Please select another one. 掛載點使用中。請選擇其他的。 @@ -824,7 +824,7 @@ The installer will quit and all changes will be lost. DeviceInfoWidget - + The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. 選定的儲存裝置上的<strong>分割表</strong>類型。<br><br>變更分割表的唯一方法就是抹除再重新從頭建立分割表,這會破壞在該儲存裝置上所有的資料。<br>除非您特別選擇,否則本安裝程式將會保留目前的分割表。<br>若不確定,在現代的系統上,建議使用 GPT。 @@ -941,7 +941,7 @@ The installer will quit and all changes will be lost. 旗標: - + Mountpoint already in use. Please select another one. 掛載點使用中。請選擇其他的。 @@ -969,7 +969,7 @@ The installer will quit and all changes will be lost. 確認通關密語 - + Please enter the same passphrase in both boxes. 請在兩個框框中輸入相同的通關密語。 @@ -1038,19 +1038,19 @@ The installer will quit and all changes will be lost. FinishedViewStep - + Finish 完成 - + Installation Complete - + 安裝完成 - + The installation of %1 is complete. - + %1 的安裝已完成。 @@ -1159,6 +1159,16 @@ The installer will quit and all changes will be lost. The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. 系統語系設定會影響部份命令列使用者介面的語言及字元集。<br/>目前的設定為 <strong>%1</strong>。 + + + &Cancel + 取消(&C) + + + + &OK + 確定(&O) + LicensePage @@ -1575,7 +1585,7 @@ The installer will quit and all changes will be lost. 安裝開機載入器在(&L): - + Are you sure you want to create a new partition table on %1? 您是否確定要在 %1 上建立一個新的分割區表格? From 9603e57ab57063f82e537fb2db944af5a71c91f0 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Thu, 7 Sep 2017 05:45:02 -0400 Subject: [PATCH 035/129] [desktop] Automatic merge of Transifex translations --- calamares.desktop | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/calamares.desktop b/calamares.desktop index 879031b4c..b6e360d62 100644 --- a/calamares.desktop +++ b/calamares.desktop @@ -11,6 +11,15 @@ Icon=calamares Terminal=false StartupNotify=true Categories=Qt;System; + + +# Translations + + +# Translations + + +# Translations Name[ca]=Calamares Icon[ca]=calamares GenericName[ca]=Instal·lador de sistema @@ -43,10 +52,18 @@ Name[hr]=Calamares Icon[hr]=calamares GenericName[hr]=Instalacija sustava Comment[hr]=Calamares — Instalacija sustava +Name[hu]=Calamares +Icon[hu]=calamares +GenericName[hu]=Rendszer Telepítő +Comment[hu]=Calamares — Rendszer Telepítő Name[id]=Calamares Icon[id]=calamares GenericName[id]=Pemasang Comment[id]=Calamares — Pemasang Sistem +Name[is]=Calamares +Icon[is]=calamares +GenericName[is]=Kerfis uppsetning +Comment[is]=Calamares — Kerfis uppsetning Name[ja]=Calamares Icon[ja]=calamares GenericName[ja]=システムインストーラー From 5b97d2367a165f9a89957a97447fd2912cc02711 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Thu, 7 Sep 2017 05:45:03 -0400 Subject: [PATCH 036/129] [dummypythonqt] Automatic merge of Transifex translations --- .../lang/ar/LC_MESSAGES/dummypythonqt.mo | Bin 511 -> 503 bytes .../lang/ar/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/ast/LC_MESSAGES/dummypythonqt.mo | Bin 926 -> 918 bytes .../lang/ast/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/bg/LC_MESSAGES/dummypythonqt.mo | Bin 431 -> 423 bytes .../lang/bg/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/ca/LC_MESSAGES/dummypythonqt.mo | Bin 964 -> 956 bytes .../lang/ca/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/cs_CZ/LC_MESSAGES/dummypythonqt.mo | Bin 1019 -> 1011 bytes .../lang/cs_CZ/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/da/LC_MESSAGES/dummypythonqt.mo | Bin 963 -> 955 bytes .../lang/da/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/de/LC_MESSAGES/dummypythonqt.mo | Bin 897 -> 889 bytes .../lang/de/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../dummypythonqt/lang/dummypythonqt.pot | 16 ++++++++-------- .../lang/el/LC_MESSAGES/dummypythonqt.mo | Bin 427 -> 419 bytes .../lang/el/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/en_GB/LC_MESSAGES/dummypythonqt.mo | Bin 452 -> 444 bytes .../lang/en_GB/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/es/LC_MESSAGES/dummypythonqt.mo | Bin 978 -> 970 bytes .../lang/es/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/es_ES/LC_MESSAGES/dummypythonqt.mo | Bin 443 -> 435 bytes .../lang/es_ES/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/es_MX/LC_MESSAGES/dummypythonqt.mo | Bin 444 -> 436 bytes .../lang/es_MX/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/es_PR/LC_MESSAGES/dummypythonqt.mo | Bin 449 -> 441 bytes .../lang/es_PR/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/et/LC_MESSAGES/dummypythonqt.mo | Bin 430 -> 422 bytes .../lang/et/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/eu/LC_MESSAGES/dummypythonqt.mo | Bin 428 -> 420 bytes .../lang/eu/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/fa/LC_MESSAGES/dummypythonqt.mo | Bin 422 -> 414 bytes .../lang/fa/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/fi_FI/LC_MESSAGES/dummypythonqt.mo | Bin 445 -> 437 bytes .../lang/fi_FI/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/fr/LC_MESSAGES/dummypythonqt.mo | Bin 427 -> 419 bytes .../lang/fr/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/fr_CH/LC_MESSAGES/dummypythonqt.mo | Bin 447 -> 439 bytes .../lang/fr_CH/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/gl/LC_MESSAGES/dummypythonqt.mo | Bin 430 -> 422 bytes .../lang/gl/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/gu/LC_MESSAGES/dummypythonqt.mo | Bin 430 -> 422 bytes .../lang/gu/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/he/LC_MESSAGES/dummypythonqt.mo | Bin 1044 -> 1036 bytes .../lang/he/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/hi/LC_MESSAGES/dummypythonqt.mo | Bin 427 -> 419 bytes .../lang/hi/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/hr/LC_MESSAGES/dummypythonqt.mo | Bin 1034 -> 1026 bytes .../lang/hr/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/hu/LC_MESSAGES/dummypythonqt.mo | Bin 889 -> 937 bytes .../lang/hu/LC_MESSAGES/dummypythonqt.po | 14 +++++++------- .../lang/id/LC_MESSAGES/dummypythonqt.mo | Bin 887 -> 940 bytes .../lang/id/LC_MESSAGES/dummypythonqt.po | 16 ++++++++-------- .../lang/is/LC_MESSAGES/dummypythonqt.mo | Bin 918 -> 974 bytes .../lang/is/LC_MESSAGES/dummypythonqt.po | 12 ++++++------ .../lang/it_IT/LC_MESSAGES/dummypythonqt.mo | Bin 920 -> 912 bytes .../lang/it_IT/LC_MESSAGES/dummypythonqt.po | 11 +++++------ .../lang/ja/LC_MESSAGES/dummypythonqt.mo | Bin 993 -> 985 bytes .../lang/ja/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/kk/LC_MESSAGES/dummypythonqt.mo | Bin 421 -> 413 bytes .../lang/kk/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/lo/LC_MESSAGES/dummypythonqt.mo | Bin 418 -> 410 bytes .../lang/lo/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/lt/LC_MESSAGES/dummypythonqt.mo | Bin 1036 -> 1028 bytes .../lang/lt/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/mr/LC_MESSAGES/dummypythonqt.mo | Bin 429 -> 421 bytes .../lang/mr/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/nb/LC_MESSAGES/dummypythonqt.mo | Bin 439 -> 431 bytes .../lang/nb/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/nl/LC_MESSAGES/dummypythonqt.mo | Bin 899 -> 955 bytes .../lang/nl/LC_MESSAGES/dummypythonqt.po | 12 ++++++------ .../lang/pl/LC_MESSAGES/dummypythonqt.mo | Bin 1086 -> 1078 bytes .../lang/pl/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/pl_PL/LC_MESSAGES/dummypythonqt.mo | Bin 589 -> 581 bytes .../lang/pl_PL/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/pt_BR/LC_MESSAGES/dummypythonqt.mo | Bin 1027 -> 1019 bytes .../lang/pt_BR/LC_MESSAGES/dummypythonqt.po | 11 +++++------ .../lang/pt_PT/LC_MESSAGES/dummypythonqt.mo | Bin 994 -> 986 bytes .../lang/pt_PT/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/ro/LC_MESSAGES/dummypythonqt.mo | Bin 945 -> 937 bytes .../lang/ro/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/ru/LC_MESSAGES/dummypythonqt.mo | Bin 925 -> 917 bytes .../lang/ru/LC_MESSAGES/dummypythonqt.po | 11 +++++------ .../lang/sk/LC_MESSAGES/dummypythonqt.mo | Bin 943 -> 935 bytes .../lang/sk/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/sl/LC_MESSAGES/dummypythonqt.mo | Bin 483 -> 475 bytes .../lang/sl/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/sr/LC_MESSAGES/dummypythonqt.mo | Bin 1070 -> 1062 bytes .../lang/sr/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../sr@latin/LC_MESSAGES/dummypythonqt.mo | Bin 523 -> 515 bytes .../sr@latin/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/sv/LC_MESSAGES/dummypythonqt.mo | Bin 429 -> 421 bytes .../lang/sv/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/th/LC_MESSAGES/dummypythonqt.mo | Bin 419 -> 411 bytes .../lang/th/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/tr_TR/LC_MESSAGES/dummypythonqt.mo | Bin 1000 -> 976 bytes .../lang/tr_TR/LC_MESSAGES/dummypythonqt.po | 14 +++++++------- .../lang/uk/LC_MESSAGES/dummypythonqt.mo | Bin 505 -> 497 bytes .../lang/uk/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/ur/LC_MESSAGES/dummypythonqt.mo | Bin 426 -> 418 bytes .../lang/ur/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/uz/LC_MESSAGES/dummypythonqt.mo | Bin 420 -> 412 bytes .../lang/uz/LC_MESSAGES/dummypythonqt.po | 8 +++++--- .../lang/zh_CN/LC_MESSAGES/dummypythonqt.mo | Bin 965 -> 957 bytes .../lang/zh_CN/LC_MESSAGES/dummypythonqt.po | 10 +++++----- .../lang/zh_TW/LC_MESSAGES/dummypythonqt.mo | Bin 974 -> 966 bytes .../lang/zh_TW/LC_MESSAGES/dummypythonqt.po | 10 +++++----- 107 files changed, 282 insertions(+), 229 deletions(-) diff --git a/src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ar/LC_MESSAGES/dummypythonqt.mo index e99aa6d4af8eeebcf107ea2eba172870abf26c2a..8a59291af1fe5373cb4adfa81dd6b32b88d13463 100644 GIT binary patch delta 55 zcmey*{GEA%3gh01sup5FsRj8(CAz-F>6t0IPNnI^x*_>i3KL_bxGZ%IOcV?(tPIU2 LHe8up%-90}9PAR5 delta 85 zcmey){GWM(3ggj, YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" diff --git a/src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ast/LC_MESSAGES/dummypythonqt.mo index 709ab125fdb1293c88766dafc808f2dac9fa9c85..a195bf9178d264a47112815b00ea81e32f17adff 100644 GIT binary patch delta 102 zcmbQoK8<~XkM2T71_lct7Gz*xxW&Z4UD xAitsu_V<>!N|bST-U%t*T7Q2z|6|nWb-seE=D=`)V$OppnQt1Q>B$c YL1lVsNl9u&iC#gaf}x)2, YEAR. # -# Translators: -# enolp , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: enolp , 2017\n" "Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ast\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.mo index 634bd45a72954c46cb132181edd066caa2bc9ab3..470525ae3c03bfc99adf9ede7a19efd849d2daf4 100644 GIT binary patch delta 55 zcmZ3_yqtN03S;g>RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H|-W3&VS>*5ht delta 85 zcmZ3^yqD$`R-N>VFI^a?5!4E0PW=Q3IW0B;W(@Bjb+ diff --git a/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.po index aabd15e6e..9d8734987 100644 --- a/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/bg/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ca/LC_MESSAGES/dummypythonqt.mo index 6f974e70877cfe7d6603c962f416d78f600e3444..c8a3196f8525f5cc7614b42ce5229b6e42aa2397 100644 GIT binary patch delta 131 zcmX@YzK4B6i0M2=28IM67GYpu_|L?^U<9N^m>C#2fV4Z1mH^TLKw2C~X98&}Al*2z z^S4z{YC(QciLP&PdS;5QQ)zm!Zb-hB0#|^4h^}){YGO%dex9yNVo9o%f{}rtxvqhw Xu7QbyfrXW!+2-Yp9E_9CF?|C7iEkb- delta 118 zcmdnPeuRBOi0Lv$28IM67GYpuU}t7vFapvtK$-(c`vYkSARPgu#esAokhTKSofA8M zPoB*v$z`EyV5wkWW@T)$c^@MOqnvwcUTRTdNotC&Q>B$cL1lVsNl9u&iC#gaf}x)2 I, YEAR. # -# Translators: -# Davidmp , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Davidmp , 2016\n" "Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.mo index 9831e9722c7cfa5bfc0e9c24cd2e532fa93e4101..ef66ad1d6beedffc2050e9f7cc700e743084764f 100644 GIT binary patch delta 132 zcmey({+WG3i0K(d28IM6=4D`D&}C*|&;!!eK$;IoX8~y$AYBQhrGWG_AngdGH%{#Q zZ55PSkY7}y>sy?jnWF1dnqI6Ml5eHJ72qGD>s*wYSdy8ar|Xhfl4_-3WMF8nYhbBs WV4`4PVP$Bxc{!s57 Ko3Ap-F#-TV(i;>2 diff --git a/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po index 53dd451dc..40d7f9f95 100644 --- a/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/cs_CZ/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# pavelrz , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: pavelrz , 2016\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" diff --git a/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.mo index 3b5d593f4df1750e6dfcd527817cc6c9191d8906..ad17f4d688aef38c7cfc98486eb1224ca9edc087 100644 GIT binary patch delta 131 zcmX@izMFkQi0Mj328IM6=4D`D;9_QA&<4^HKpMn%0n*YyItWOM0_i*;Z3d)UCU*X| z3Q8@=FDlXXEl$r&(RC_KFV+pow^HB=@DI^-E=o--$;{8wbxABqwNfxLFf`XSu+%j$ UQ82KuGBn$~oKcu@@=c~!03rPyP5=M^ delta 118 zcmdnZewckii0MW~28IM6=4D`D5MpLv&<4^9KpMpN0n*YyItoaO0_id!Z3d)!CU*Xw zJeyIH%R<+{Qo+E?%GhM{K1N|iIrr4O)S|?a)D&H(N-Kqe%JkHdlGKV4y@E;wLp{^U I7noiH0GF;BCjbBd diff --git a/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po index 5908dbbbd..7d2d647bd 100644 --- a/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/da/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# scootergrisen , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: scootergrisen , 2017\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/de/LC_MESSAGES/dummypythonqt.mo index a22587fbaf0822d2fc55b6aa74364dd3eb359c9a..28d4bf048be4ad15281e03b432fd5b6de858304b 100644 GIT binary patch delta 102 zcmZo<|H(GNM|UA31A_$+3osy?jnWF1dnqI6Ml5eFjIhs+5%Tm|CM8Uwq%Ft|cJtH^c9RTmS$7 delta 131 zcmey#*2q4=M|UM71A_$+3o, YEAR. # -# Translators: -# Christian Spaan , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Christian Spaan , 2017\n" "Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/dummypythonqt.pot b/src/modules/dummypythonqt/lang/dummypythonqt.pot index 23568c2aa..14e65bd02 100644 --- a/src/modules/dummypythonqt/lang/dummypythonqt.pot +++ b/src/modules/dummypythonqt/lang/dummypythonqt.pot @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -12,31 +12,31 @@ msgstr "" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" #: src/modules/dummypythonqt/main.py:84 msgid "Click me!" -msgstr "" +msgstr "Click me!" #: src/modules/dummypythonqt/main.py:94 msgid "A new QLabel." -msgstr "" +msgstr "A new QLabel." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "Dummy PythonQt ViewStep" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" -msgstr "" +msgstr "The Dummy PythonQt Job" #: src/modules/dummypythonqt/main.py:186 msgid "This is the Dummy PythonQt Job. The dummy job says: {}" -msgstr "" +msgstr "This is the Dummy PythonQt Job. The dummy job says: {}" #: src/modules/dummypythonqt/main.py:190 msgid "A status message for Dummy PythonQt Job." -msgstr "" +msgstr "A status message for Dummy PythonQt Job." diff --git a/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.mo index bbfb33004ecece45205580876d19ce67058725cc..c7d45e8793b8b8b4c7d315315621a943f785e867 100644 GIT binary patch delta 55 zcmZ3@yqI}{3S;I(RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8!k^SVzdMR=~59x delta 85 zcmZ3?yqbA}3S;3!RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PWXEIs=0BV~W+yDRo diff --git a/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.po index 3b305234e..7b55d6c65 100644 --- a/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/el/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.mo index 79b2366b4e30c08902d3f38f362c6f983d86fab7..b88e6d8f9b3fc0fde21938f3751b9755fecc1d9b 100644 GIT binary patch delta 55 zcmX@YyoY&$3S-kmRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8(vQCV6*`M`9TrA delta 85 zcmdnPe1v&|3S-wqRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PW*E8Az0EPY=RsaA1 diff --git a/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.po index 3196b7931..241b0063b 100644 --- a/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/en_GB/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: en_GB\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.mo index 7cd3096d98690c4a64561f147f63a62988ea220e..f441bc20555a371af3cf6130cea0a0076a0c8f1c 100644 GIT binary patch delta 132 zcmcb_eu{lUi0NEL28IM67Gz*x_{YS+U<#xKm>C$jfwUWtmIcy5Kw1h&7XWEHAl*H& z^S4z{YC(QciLP&PdS;5QQ)zm!Zb-hB0#|^4h^}){YGO%dex9yNVo9o%f{}rtxvqhw Yu7QbyfrXW!+2-Yp?2MbwGO;oO0KAeNl>h($ delta 119 zcmX@beu;fTi0M*B28IM67Gz*xU}I)rFa^>QK$;s!`vGZLARPsyrGRt=khTNTlP7lm zo;;gTlFLHZ$WX!1+{)B+^FBs)MmhJ?ywsw^lGGGkr%Ee@g39#Nl9JSl61{>-1w%d4 J%}1En7y-Kh8Eyao diff --git a/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.po index ae836779a..bdca039dd 100644 --- a/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/es/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# strel , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: strel , 2016\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" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.mo index 6a5cf2cc1479d78a13943b574e7a2b5ea554e562..35a601558dd3c61a39e160a37638f921594f852c 100644 GIT binary patch delta 55 zcmdnZyqS4|3S;F&RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8y-xqXS4wT^L-JJ delta 85 zcmdnYyqkG~3S;9$RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PWmoeG`0DJixDF6Tf diff --git a/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.po index 26c9211bd..5aa724d08 100644 --- a/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/es_ES/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Spain) (https://www.transifex.com/calamares/teams/20061/es_ES/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es_ES\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.mo index 7f66467e83f31701b41ac2c17efcdbff47c5d8b5..73c58bb4a405e077a87de0ffb9937f1c23637c35 100644 GIT binary patch delta 55 zcmdnPyoGs!3S-qoRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8y-$>V6*`M^dS+I delta 85 zcmdnOyoY&$3S-kmRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3ta=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWmowS|0DTr4E&u=k diff --git a/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.po index 74814fecc..22412c347 100644 --- a/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/es_MX/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es_MX\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.mo index f52688188c7f9161235d90f8b1aa7fdb3b8c5a27..f3dd878be4ef850d864598ccfda45ab79f7be1c7 100644 GIT binary patch delta 55 zcmX@eypwr?3S<35RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8=g&WWwZeR_f-+D delta 85 zcmdnVe2{s93S;|3RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PW*D%@w0D`9*M*si- diff --git a/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.po index a36b7368b..5c08c2df3 100644 --- a/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/es_PR/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es_PR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.mo index ecb678aba0db77cdc0ff7bb38bd353d1c59908e8..86e51fbf4780e90cd78545c14840e91b87849740 100644 GIT binary patch delta 55 zcmZ3-yo`B*3S-VhRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H?*WwZnU>pl@u delta 85 zcmZ3+ypDN-3S-GcRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PW=P+6U0B!Ob>i_@% diff --git a/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.po index 0d7f46a9a..50ed84e86 100644 --- a/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/et/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.mo index 14aebbea7f966038429c7aa83f62ae0c51fd10f5..2b85ce42c67984bd010f9bbfeae7f035575cbd2c 100644 GIT binary patch delta 55 zcmZ3(yo7mz3S-tpRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H<)X0!wV>Glyw delta 85 zcmZ3&yoPy#3S-ekRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PWXE9m<0Bg7!;Q#;t diff --git a/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.po index 2786536bd..d5ec7a719 100644 --- a/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/eu/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.mo index dc17915b0d8d7f44cd935f91fb4f07f4c870e1be..be5db74c22692152248f0d3abf95225b2d0a1eac 100644 GIT binary patch delta 55 zcmZ3+Jdb&T3S-JdRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H_+VKf2&=1&nZ delta 85 zcmbQoyo`B*3S-VhRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PWXEPcD0A>^#$^ZZW diff --git a/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.po index c8a2e74ed..9561d2d7f 100644 --- a/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/fa/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.mo index 9e0d83f6b5fa202d2c1e1f8f2ed509f3ab1fcc8d..65215e4b3f0e24d1da852f5fe4a9a941ebabace7 100644 GIT binary patch delta 55 zcmdnXyp?%^3S;#|RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8y-z=WV8VQ^u-aH delta 85 zcmdnWyq9@`3S;v`RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PWS1{TF0DdzYGXMYp diff --git a/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po index 918ae8ffb..34d69c2f6 100644 --- a/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/fi_FI/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fi_FI\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.mo index 0d4650d3305b4d4e82aba24279cf41c31006464b..2c39ac029d167b53d83fd87aa4b02ed73c602452 100644 GIT binary patch delta 55 zcmZ3@yqI}{3S;I(RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H<)X0!kR=~)p( delta 85 zcmZ3?yqbA}3S;3!RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PWXE9m=0BXS+-2eap diff --git a/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.po index 58bbea615..7efacecd5 100644 --- a/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/fr/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" diff --git a/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.mo index f669949fe3b7b63ab8fa9e77f53b648f14834e6a..44c786167ada5fc82a0c5b7e4fe7ac6c4c0291a9 100644 GIT binary patch delta 55 zcmdnbyq$T13S;d=RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8=g*XVYCJS_7oAN delta 85 zcmdnayq|f33S;X;RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PWS2NlG0DzMlJ^%m! diff --git a/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.po index 93228b874..4a4a91099 100644 --- a/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/fr_CH/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: French (Switzerland) (https://www.transifex.com/calamares/teams/20061/fr_CH/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fr_CH\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" diff --git a/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.mo index 3548ce7630aab6cecb3fc9d23d8207055c4fa38f..b221e3812be2d40b0b15a28c2f909a0ea9c07a61 100644 GIT binary patch delta 55 zcmZ3-yo`B*3S-VhRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H?*WwZnU>pl@u delta 85 zcmZ3+ypDN-3S-GcRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PW=P+6U0B!Ob>i_@% diff --git a/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.po index 38bbe9ff0..27a6260ca 100644 --- a/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/gl/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.mo index 191607183c8cf3e8d1f5ffdb71ceeef92912d415..e8861abe269ed4fac1b46dc3e00c26a6d5853c58 100644 GIT binary patch delta 55 zcmZ3-yo`B*3S-VhRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H?*WwZnU>pl@u delta 85 zcmZ3+ypDN-3S-GcRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PW=P+6U0B!Ob>i_@% diff --git a/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.po index 6ea0f5eae..114f3cbe8 100644 --- a/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/gu/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: gu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.mo index 82d4f3ed4f4f3067f102f9a5d8e662d99aaa93fe..98b589db3b1e5c8f65987081f35b41dd563c0023 100644 GIT binary patch delta 132 zcmbQj(Zewz#B?zu149B3^D!_murM<)SOaNcAT0o-{eiRfckoE)8dnb1O zwhBru$S*3<^({`%Own~JO)u6B$+uGA3h)onbuLOxEXmBz({)KKNwrciGB7mPHL%n* WFi|kDurf5;yquAjar0#+M@9fn6CEP} delta 119 zcmeC-n8Gn3#B?fXkoE)8M<;gv zo;;gTlFLHZ$WX!1+{)B+^FBsiMmhJ?ywsw^lGGGkr%Ee@g39#Nl9JSl61{>-1w%d4 J&8L{07y-IV8T$YL diff --git a/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.po index 137c23215..f5e9b6389 100644 --- a/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/he/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Eli Shleifer , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Eli Shleifer , 2017\n" "Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.mo index 4a53bc6b4659748c5093067e5786731da76f2be4..198aba348e83eb9ea74cc86b0ba91e36eb1af704 100644 GIT binary patch delta 55 zcmZ3@yqI}{3S;I(RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8!k^SVzdMR=~59x delta 85 zcmZ3?yqbA}3S;3!RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PWXEIs=0BV~W+yDRo diff --git a/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.po index aac539d61..9ea1aecd6 100644 --- a/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/hi/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.mo index eeb08c0158ed4ee42b01922071129ccf68b051ff..5368309b917692617f49161548ad8dbd0c5dada0 100644 GIT binary patch delta 132 zcmeC;XyTXrzUp( zwhBru$S*3<^({`%Own~JO)u6B$+uGA3h)onbuLOxEXmBz({)KKNwrciGB7mPHL%n* WFi|kDurf5;yqr;jaq~SU9Yz4i&mKtt delta 119 zcmZqT=;D|VV)~Dffgu5ic^DWN;+Yv3w19LDkmdr?(}A=EkX{6&#eno~AZ-q$FHP+H zJ$W{xB$tJ*fu(|hnU%50=6#G3jB@U&d8tK-C8;U8PL);)1(oTkB_*j9C3*#w3Wj>7 Ko3AqIG6Dc6%^M;B diff --git a/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.po index 8f55909e6..1353a19b3 100644 --- a/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/hr/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Lovro Kudelić , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Lovro Kudelić , 2016\n" "Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: hr\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" diff --git a/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/hu/LC_MESSAGES/dummypythonqt.mo index 6eb9ade95024c3e58bb45088c19f66878aec3973..32f7ed24b7019dba1b4653513ae87811e8797632 100644 GIT binary patch delta 296 zcmey#wvxU6o)F7a1|VPuVi_O~0b*_-?g3&D*a5`6K)e%(HGudy5OV_Y2Ot&);$J{4 z2E;;)3=C#KS`$dm1L6cA<_GfsGchoz0cn0_h&g6J8l=w!NCWk8F~k5Fra*z>iIvKn zY(NIcC9D&dx{AA$=H^x^1XPw}FEmIs%l7EF9uEEbenkY7}y>sy?jnWF1d znqI6Ml5eFjIhs+5%Tm|CM8Uwq%Ft|bJ)^yRZf16=g^7Xev3=Hdl*aC?8f&Ax83=C>O`a6&Y>6c@MsMi6~ra-&@~llL*&tNSEo, YEAR. # -# Translators: -# Lajos Pasztor , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Lajos Pasztor , 2016\n" +"Last-Translator: miku84 , 2017\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -28,7 +28,7 @@ msgstr "Egy új QLabel." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "Hamis PythonQt ViewStep" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" diff --git a/src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/id/LC_MESSAGES/dummypythonqt.mo index ee4f15b5205f6a1a3b058d4e3789be3e9e7acd74..4c66c3fee67401aff68a2ec0fd08f5f11b49d8d2 100644 GIT binary patch delta 279 zcmey)wuZg_o)F7a1|VPuVi_O~0b*_-?g3&D*a5`6K)e%(HGudy5OV_Y2Ot&);$J{4 z2E;;)3=C#KS`$dm2I2%D76$VFFflOb0%-we1_mx5Z3m=5`aFTO5J)Hy$S?;AluWEt z=41mhKrUgOxYSkLr8GCUQX!zSBqKjButXs&GqpUpB(-4T%VM#h)Pnq?5?$Zo^vo1p zr_%Id-H?1Mg~`#3Qe2k01||vy7FLF4lj|An1;Z2bO7bi76>Q4EjMVJOHyQU#-oj+W X9-Nv~nwX(5`599v2h8lr+RQ!xaLqcQ delta 246 zcmZ3({++Gev3=C_5*aC=ofc$4n3=FzJ`ZJK`0@8}i3=Bd*S_ep*18I984OBX@UzU><$OT!? zFmbEvWFf|)$+H, YEAR. # -# Translators: -# Kukuh Syafaat , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Kukuh Syafaat , 2016\n" +"Last-Translator: Wantoyo , 2016\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -24,11 +24,11 @@ msgstr "Klik saya!" #: src/modules/dummypythonqt/main.py:94 msgid "A new QLabel." -msgstr "QLabel baru." +msgstr "Sebuah QLabel baru." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "Dummy PythonQt ViewStep" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" diff --git a/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.mo index c638cbd28d9007a6e04a5998b146aa3ff1e29759..d30364d9c48c1d146856b317e46f37e0dd002ac5 100644 GIT binary patch delta 256 zcmbQnevZBVo)F7a1|VPuVi_O~0b*_-?g3&D*a5`6K)e%(HGudy5OV_Y2Ot&);$J{4 z2E;;)3=C#KS`$d00^$T92Iev3=Efm*aC<_>baR27_@-2B#`C-(k?(+2uKG4X+t2L0;GXTC-%#7vI4mv>lr3) zb)784STuPyqa>Gwu7Rb3fti)D$>x2Ga*T5Bsd=eIi6yBix=xi=3I&zvsU;<;6(xEF Sl?sM>rju_oEuB1r*$e=1bRv2H diff --git a/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po index da3c397ea..5b87a423f 100644 --- a/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/is/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Kristján Magnússon , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Kristján Magnússon , 2017\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: is\n" "Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" @@ -28,7 +28,7 @@ msgstr "Nýtt QLabel." #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "Dummy PythonQt ViewStep" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" diff --git a/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.mo index 8549b91ecc2a2a03f7e6159a67866886284504ee..73b11b8a0cf12b09417835116fe925690256585c 100644 GIT binary patch delta 102 zcmbQiK7oCLkM4Fx1_lct7Gz*x_`t-#U;w0C$jfwVD@76sDwK-vmOhfb_~EEben wkY7}y>sy?jnWF1dnqI6Ml5eFjIhs+5%Tm|CM8Uwq%Ft|cJ)<1sC$jfwVP{76sDoK-vmO$4;z#tQ_DU zqU&6gnpl#VpQr1RSdwa`U}Ruuu4`bSYhbBhU}j}(vUwV#9HX3jYF=s)P(DT1snSZJ YpfWwRq$IVXM6aMy!BEe1@@A&H0EFuwd;kCd diff --git a/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.po index c545a6282..58908a127 100644 --- a/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/it_IT/LC_MESSAGES/dummypythonqt.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Teo Mrnjavac , 2016 -# Saverio , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Saverio , 2016\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: it_IT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.mo index afaac186a46d0d7f5480475e5d227c0e6a3d7495..eb678c58178c48b7c83614d65f2481bd4ec88753 100644 GIT binary patch delta 131 zcmaFJev^Gdi0K+e28IM6=4W7F;ALiDPy^DkKw2J1y8vl%Ae{oF#ej4Tkah*qlP7lm zwhBru$S*3<^({`%Own~JO)u6B$+uGA3h)onbuLOxEXmBz({)KKNwrciGB7mPHL%n* VFi|kDurf5;yqr;%aq?rPe*j&h9tQvb delta 118 zcmcb~{*Zk_i0Kwa28IM6=4W7F5M^dyPy^DcKw2J1`v7TiAe{rG#ej4Rkah*qvnO`` zo;;gTlFLHZz*51$%*xng^FBsdMmhJ?ywsw^lGGGkr%Ee@g39#Nl9JSl61{>-1w%d4 J$+wvP0|3n}8sGo` diff --git a/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.po index cae3d2722..241b9392d 100644 --- a/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/ja/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Takefumi Nagata , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Takefumi Nagata , 2016\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.mo index 4d7e1ade2d2e71ad4403377d108c268ab9680671..2b0afba0e738410dac794e28bd1984f31b29601c 100644 GIT binary patch delta 55 zcmZ3=JePTb3S;s_RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H<)W;6l-<*N}a delta 85 zcmbQsyp(x@3S;&}RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PWXE7QB0A%+X#Q*>R diff --git a/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.po index e2ed766b0..6a6cae92a 100644 --- a/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/kk/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Kazakh (https://www.transifex.com/calamares/teams/20061/kk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: kk\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.mo index d9e3440ea2a7ebda87675d986ec7aca508da29cd..1a06a5e255372a851de49a5ff5e198906b408d88 100644 GIT binary patch delta 55 zcmZ3)Jd1gP3S+`VRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8!k>RU^D^%D$`R-N>VFI^a?5!4E0PWr!yJ@0AZjSwg3PC diff --git a/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.po index 1147fe85f..23b688386 100644 --- a/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/lo/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Lao (https://www.transifex.com/calamares/teams/20061/lo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: lo\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.mo index f2cb98bc39703a59a07d5cab620cd74da6fa1c61..1ca9f28019a51d016435aaa64940c7444c49c7e2 100644 GIT binary patch delta 132 zcmeC-XyKR;VtRv-fgu5i`4|`&ESVV?jDfTVkQN5gH9%StNKXLLQb2kYkhTNTM<;gv zwhBru$S*3<^({`%Own~JO)u6B$+uGA3h)onbuLOxEXmBz({)KKNwrciGB7mPHL%n* WFi|kDurf5;yquAlaq~$gXGQ>@=N;Do delta 119 zcmZqS=;4?UV)}rQfgu5i`4|`&9GMvyjDd6jkQN5gEkIflNY4P$Qb2kWkhTNTXD4?4 zo;;gTlFLHZz*51$%*xng^FBsqMmhJ?ywsw^lGGGkr%Ee@g39#Nl9JSl61{>-1w%d4 J%?FrV7y$t-8n6HW diff --git a/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po index 725cdeffc..97f6e6b33 100644 --- a/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/lt/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Moo , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Moo , 2016\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: lt\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" diff --git a/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.mo index afb5fa103f8b66b28cdb4b8f65e99017d7544c0e..ada8d963fff5c449063606063c7d014fea62aae2 100644 GIT binary patch delta 55 zcmZ3>yp(x@3S;&}RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H_+VYCDQ>Y5Qv delta 85 zcmZ3=yq0-_3S;p^RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PWXERy>0BqG7<^TWy diff --git a/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.po index 893c5989f..27d9d9e26 100644 --- a/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/mr/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: mr\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.mo index 195b054a8a90e87c8c6bc474f44c3586e5731383..4a10eac4489b998336604ddd23e522b93bffd710 100644 GIT binary patch delta 55 zcmdnayqD$`R-N>VFI^a?5!4E0PWmoi!b0C)Er7ytkO diff --git a/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.po index 93c4631d6..0807d247f 100644 --- a/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/nb/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: nb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.mo index be19ac81b8fb4ee2cbb84cbbba17128074d91db3..990bbe8a4378f404293eaea88e68a00fa87b9b63 100644 GIT binary patch delta 260 zcmZo>-_2fsPl#nI0}!wSu?!H005LZZ_W&^n>;Ph3Al?bY8bEv;h&h4y0}zV?@h>12 z17aaY1_m=AtqG(T0&xNm3jp~{%nS@hKw20`gY>xpX^_4EAT7nfz{QXOWS9d5nkQB& zbFu*$AeXRCTzOAYKW?8bG`qh&h4y0T7D;@hc!U z17b!-pc){y0Ac|k{}B@dgAtJa45UHo)tDI=q=2*mkTwU>-as0tbYj0OCo7N(vYuh$ zR@ccwj75`YGfHw<=o(lm7?@cZn{3|4$jvC{o|>0hlvt9QqU%&?rBG0ro?23pT2Z1` WP^n<3XFB-=Q|DxDX35D-%$5Ldo+KRr diff --git a/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.po index e2d139668..a6862fbb6 100644 --- a/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/nl/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# De Zeeappel , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: De Zeeappel , 2016\n" "Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -28,7 +28,7 @@ msgstr "Een nieuw QLabel" #: src/modules/dummypythonqt/main.py:97 msgid "Dummy PythonQt ViewStep" -msgstr "" +msgstr "Dummy PythonQt ViewStep" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" diff --git a/src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/pl/LC_MESSAGES/dummypythonqt.mo index b93bc6b4cf434a3df386722551ab2b733ece6b55..63f2677dac3e49902d348c06878129b8685bd1d4 100644 GIT binary patch delta 132 zcmdnTv5jLwh^amk149BM0|O5O1H%Mn1_m76H`txQcf?_*?VlygtbOD#$)Nlnpps, YEAR. # -# Translators: -# m4sk1n , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: m4sk1n , 2016\n" "Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pl\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" diff --git a/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.mo index f690c1a4406b3e1c8436a7471d5eb1a2722bbf57..fc462020534264da6ae6ada2ff3fe4d02936e39c 100644 GIT binary patch delta 55 zcmX@ha+GC)3M2PKRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8y-xqXFLZ0=W!9* delta 85 zcmX@ga+YO+3Zw8uRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PWmoc6P0B3z0a{vGU diff --git a/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.po index 0ddcf5ab3..2b06f9e75 100644 --- a/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/pl_PL/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Polish (Poland) (https://www.transifex.com/calamares/teams/20061/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pl_PL\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" diff --git a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.mo index 2ba03c124c428ff8dded729cce8b921865e07707..657f514f95a1fe777eee60356ef37b92bee0034d 100644 GIT binary patch delta 132 zcmZqX_{}~c#B?ts149B33otM+$T2f8SO95#Ak7D)Gk~-lkS+((3P5@qkah;r+b4GZ zwhBru$S*3<^({`%Own~JO)u6B$+uGA3h)onbuLOxEXmBz({)KKNwrciGB7mPHL%n* WFi|kDurf5;yqr;$ar0{?2}S^*z#Y*5 delta 119 zcmey(-pnx}#Pld5149B33otM+s4+7zSO95rAk7D)3xKp7kgf;P3P5@ukah;r`zLn( zo;;gTlFLHZz*51$%*xng^FBsZMmhJ?ywsw^lGGGkr%Ee@g39#Nl9JSl61{>-1w%d4 J&5xKQ8372j8ma&Q diff --git a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po index be3014576..da698f595 100644 --- a/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/pt_BR/LC_MESSAGES/dummypythonqt.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Rodrigo de Almeida Sottomaior Macedo , 2017 -# Guilherme M.S. , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Guilherme M.S. , 2017\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" diff --git a/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.mo index a437e8c58cddeba803d8c98f024bdc1bb16e107f..4df6a200573f8f4ceb7689400ac936cf1d821dea 100644 GIT binary patch delta 131 zcmaFFev5rVi0J`F28IM67GPjtP-JFcFagp=K$;6krvqtmAYBBdyMVMgkiTeR=WnZ^ z)Pnq?5?$Zo^vo1pr_%Id-H?1M1+D=95MAe@)Wnj^{5)Nk#FA7i1tSAPb6o>VT>}#Z T0}Crdv(3vH)fp$hW%>#Lj?5m6 delta 118 zcmcb`{)l}-i0KJN28IM67GPjt&}3#{Fagq5K$;6k=L2bRAYBEeCjn`5Ab-`w&fk+~ zGfHw<=o(lm7?@cZn{3|4sLm+oo|>0hlvt9QqU%&?rBG0ro?23pT2Z1`P^n<3XFB-_ G(>DP5S{r2m diff --git a/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.po index 1e05c69f3..3766e35b8 100644 --- a/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/pt_PT/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Ricardo Simões , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ricardo Simões , 2016\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.mo index 13750b1672b7a8fc36694e8a466ecd503eb68a62..f881f640c2bde4c73df3bfe6d044366de455721e 100644 GIT binary patch delta 103 zcmdnUzLI@{kM2cA1_lct=3`)B;9_QA&mfqr!fjK%DJcJr4|9@Q*@mwtrQ9> Y(^E@IQY%XI3Mv&0^-MP}XJTRm0D~hQYybcN diff --git a/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po index 53d9f52c0..0e927e99d 100644 --- a/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/ro/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Baadur Jobava , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Baadur Jobava , 2016\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" diff --git a/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.mo index 948000f6a34fa9994c38afd28e316fb23801ced0..8e2ebe16d58fa3450814af576998d64fe1ea293b 100644 GIT binary patch delta 116 zcmbQsK9zlfi>f{o1H(fG1_mJ@7G!2%Z~)ROKw1Jwrvhm)AYC^xbBf&j1H(fG1_mJ@mSkpNZ~)ReKw1Jw=K^UlAl)`GbIxQLMoBIUT?0!6 y12ZdQlg;*w{ETw$sd=eIi6yBix=xi=3I&zvsU;<;6(xEFl?sM>rkj14JQxADQx<6e diff --git a/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.po index 39e277563..7a2155ccd 100644 --- a/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/ru/LC_MESSAGES/dummypythonqt.po @@ -1,21 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Вадим Сабынич , 2017 -# Simon Schwartz , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Simon Schwartz , 2017\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: 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" diff --git a/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.mo index cb3c99c40cf78872b7e4882ed7214cb266bf5abb..4cb8879b3a2d32b0e4707e1d965be3a507c5722e 100644 GIT binary patch delta 103 zcmZ3_zMOr6kM03R1_lct7G+>y_{qe;pbw<^nHd;(fwVo4mITtiK-wNir%$YWEEben xkY7}y>sy?jnWF1dnqI6Ml5eFjIhs+5%Tm|CM8Uwq%Ft|cJtIHk=Cw>ri~!ne6>R_j delta 132 zcmZ3^zMg%8kM0RZ1_lct7G+>yU}R=s&mfqr!n#~%DJcJr4|9@Q*@mwtrQ9> Y(^E@IQY%XI3Mv&0^-MP}VPa+k0BQ9eEdT%j diff --git a/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.po index 75be8bb1f..7f45b4605 100644 --- a/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/sk/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Dušan Kazik , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Dušan Kazik , 2016\n" "Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" diff --git a/src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/sl/LC_MESSAGES/dummypythonqt.mo index c7c255e216e7635201c377443824f51164958806..615d4b0b7614c1cd4c96ab9283f7bcd5ba3f2da7 100644 GIT binary patch delta 55 zcmaFNe4BZK3gg0wsup5FsRj8(CAz-F>6t0IPNnI^x*_>i3KL_bxGZ%IOcV?(tPIU2 LHe8=v#+VBL3)K=Q delta 85 zcmcc3{Fr%y3ggO&sus!t{vo=~MX8A;nfZCTE{P?nRtiQ2hUU5k7P, YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" diff --git a/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.mo index 2aa5a10618209f8a6a4731cc8f043093fb7b5b59..311cb4d4559f7eba3b4b1b3568d164c9866b545e 100644 GIT binary patch delta 103 zcmZ3-v5aGakM0LX1_lctmSkXH&}3#{@B`A$Kw1b$PXf{gKzb>V_6O3}CRRQc3ra1> wFDlXXEl$r&(RC_KFV+pow^EoK%_zlXscT@OU|?ZoXtueYQGjvtI;I9j01xsO>i_@% delta 132 zcmZ3+v5sSckM0jf1_lctmSkXHFl1(6@B`A`Kw1b$&jQj0Kzc2Z_6O4UCRRRH4)71r zbuLOxEXmBz({)KKNwrciGB7mPHL%b%uv9QGvobc>JdII+QO-RzFSQ6LpQ7tjX{At5 YnVwowl3G!sS5T>7sAsx)DN`dO04(t!ssI20 diff --git a/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.po index 426f853e7..906d2e3c6 100644 --- a/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/sr/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Slobodan Simić , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Slobodan Simić , 2017\n" "Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sr\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" diff --git a/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.mo index b3f1e8936efd1f53c141f955615343726b4bcace..ec7faf31114e5202a6adb106c531d6b6850641d5 100644 GIT binary patch delta 55 zcmeBXX=a(A!gz9`s)blkYC(QciLP&PdS;5QQ)zm!Zb-hB!o(OUE=yel69oecD?_u1 L4UZ=`F?Ip~?+g*u delta 85 zcmZo>>1LUr!gz6_s)cfZe~7MgQEFmIW`3ToOJYf?m4cChp}DSsg|306f`OTpvB|{g nkLBD`^HPg|vMIVwl~xJ`mFcM^C8-r9dIgmVhI*!xD;c{0c0n6% diff --git a/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.po index dbbfbac9b..dd00e7fbf 100644 --- a/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/sr@latin/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Serbian (Latin) (https://www.transifex.com/calamares/teams/20061/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sr@latin\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" diff --git a/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.mo index 37c090f637ee898b459a6fefbb0b283738734388..e27097ca78aac5d94491e788e96146fa8c437aa2 100644 GIT binary patch delta 55 zcmZ3>yp(x@3S;&}RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H_+VYCDQ>Y5Qv delta 85 zcmZ3=yq0-_3S;p^RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PWXERy>0BqG7<^TWy diff --git a/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.po index d1d146940..9839aad35 100644 --- a/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/sv/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.mo index 3c787d07459c5708b1f64425c745df8ee4605ea0..99aa63bebcd8cb29f97531c635c8a1d183f4bfa6 100644 GIT binary patch delta 55 zcmZ3?Jezrf3S;6#RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8!k;QWHbT*D$`R-N>VFI^a?5!4E0PWXD}KA0Ajrwy8r+H diff --git a/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.po index f6f125dcd..dd14c81a8 100644 --- a/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/th/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: th\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.mo index ce991fc57c385aa6f1fb9b217aed62bab6eb24cc..effc6f65e7140fcf716f1fc0473d47176633573b 100644 GIT binary patch delta 211 zcmaFCet~^Li0L{;28IM67GPjt;AduFFa^>IK$;IohXHA6Ae{=N#ej4pkTwU>GbVQa zwhBru$S*3<^({`%Own~JO)u6B$+uGA3h)onbuLOxEXmBz({)KKNwrciGB7mPHL%n* zFi|kDurf5;yqr;naq=Uk<^I8m86~L-0hJ{g`FVjQ3Ykae=cE>8GI*C}=OkhX>nT8# aLscmpoqu>+WlpL>N@it#k(EMqEdv0u_&vP< delta 165 zcmcb>{(^l%i0L*)28IM67GPjt5NBp!Fa^>YK$;Io#{p?+Ae{@OWq@=ikah&p%O-aI zo;;gTlFLHZ$WX!1+{)B+^FBryMmhJ?ywsw^lGGGkr%Ee@g39#Nl9JSl61{>-1w%d4 z$v2r+Ojcl)nJmvNtEQ*mU7DSfsBn0BV$P9`N9X4z79ZKDaCH9RZIwBx3Mr{YRtnX% F3;<;HEu8=W diff --git a/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po index 1a072d2eb..ab62ec545 100644 --- a/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/tr_TR/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Demiray Muhterem , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Demiray Muhterem , 2016\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: tr_TR\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -32,11 +32,11 @@ msgstr "Sahte PythonQt görünümü" #: src/modules/dummypythonqt/main.py:183 msgid "The Dummy PythonQt Job" -msgstr "Kukla PythonQt Çalışması" +msgstr "Sahte PythonQt işleri" #: src/modules/dummypythonqt/main.py:186 msgid "This is the Dummy PythonQt Job. The dummy job says: {}" -msgstr "Kukla PythonQt Çalışması. Kukla çalışması şöyle der: {}" +msgstr "Kukla PythonQt işleri. Sahte işleri şöyle diyor: {}" #: src/modules/dummypythonqt/main.py:190 msgid "A status message for Dummy PythonQt Job." diff --git a/src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/uk/LC_MESSAGES/dummypythonqt.mo index 957835e0339b6573cdcaff8c4c3dec759f0bc7df..d17a14087350d1ea1a5618d5f7a874990c6a1a36 100644 GIT binary patch delta 55 zcmey#{E>Nr3gh;Psup5FsRj8(CAz-F>6t0IPNnI^x*_>i3KL_bxGZ%IOcV?(tPIU2 LHe8=v#@Gx18B-E} delta 85 zcmey!{F8Zt3giBXsus!t{vo=~MX8A;nfZCTE{P?nRtiQ2hUU5k7P, YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" diff --git a/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.mo index 430ab38ead211adbd4707702355b547155385499..176215bcba026f3396f1921f71489da542f3ecda 100644 GIT binary patch delta 55 zcmZ3*yoh;%3S-7ZRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8!k;QWV8eT=&lhy delta 85 zcmZ3)yoz~(3S+@URSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3taD$`R-N>VFI^a?5!4E0PWXE0g;0BL?2*8l(j diff --git a/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.po index d30f65c7c..5a9fc39de 100644 --- a/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/ur/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ur\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.mo index 32451102b783c954d2eda0cf25fba02dc9caea39..037e2fa2a1d9f209926d84049182e5f3e7fc6457 100644 GIT binary patch delta 55 zcmZ3&JcoIL3S-hlRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8!k^SVl)B(D$`R-N>VFI^a?5!4E0PWXEGWC0At!3zyJUM diff --git a/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.po index 6d850fc0a..f1b55bc4c 100644 --- a/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/uz/LC_MESSAGES/dummypythonqt.po @@ -1,17 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: uz\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.mo index c3a070b80288e0e93ce115ec405ca0118808ccaf..0dac94ca0b57858d43b1639d8f17249e3c21cae4 100644 GIT binary patch delta 131 zcmX@gzL$MMi0Mj328IM6mSVT>}#Z T0}Crdv(3vH#Th5xWqJVsLSG%I delta 118 zcmdnXew2Mei0MW~28IM6mS0hlvt9QqU%&?rBG0ro?23pT2Z1`P^n<3XFB-` G(@Oxf1{#0> diff --git a/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.po index c282f245e..14bf4463a 100644 --- a/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/zh_CN/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Mingcong Bai , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Mingcong Bai , 2017\n" "Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" diff --git a/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.mo b/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.mo index 5ac8ea5c1c8014040093c6cc0fda8e68999939cc..7cda100f972c7ae4ad44bdb8dbc1ffbe0016f640 100644 GIT binary patch delta 131 zcmX@devExWi0LXu28IM67Gq#w;AUoE&;Zg(K$-_gdjn}1ARPguLGq7K$;2)yvT$Gwvl9`{U>ylWKYNcRgU}&yuV5w_h UqF`WQWoWi}Iim#QD$`R-N>VFI^a?5!4E0PW IUuF6T0J0n!e*gdg diff --git a/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.po b/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.po index 81ff73d38..0699d412f 100644 --- a/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.po +++ b/src/modules/dummypythonqt/lang/zh_TW/LC_MESSAGES/dummypythonqt.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Jeff Huang , 2016 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-09 06:34-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Jeff Huang , 2016\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" From c42d702452c03bd82a07c087a9aad344013ee3cd Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Thu, 7 Sep 2017 05:45:03 -0400 Subject: [PATCH 037/129] [python] Automatic merge of Transifex translations --- lang/python.pot | 22 ++++----- lang/python/ar/LC_MESSAGES/python.mo | Bin 511 -> 503 bytes lang/python/ar/LC_MESSAGES/python.po | 43 +++++++++++++++-- lang/python/ast/LC_MESSAGES/python.mo | Bin 676 -> 668 bytes lang/python/ast/LC_MESSAGES/python.po | 39 ++++++++++++---- lang/python/bg/LC_MESSAGES/python.mo | Bin 431 -> 423 bytes lang/python/bg/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/ca/LC_MESSAGES/python.mo | Bin 685 -> 1098 bytes lang/python/ca/LC_MESSAGES/python.po | 39 ++++++++++++---- lang/python/cs_CZ/LC_MESSAGES/python.mo | Bin 717 -> 709 bytes lang/python/cs_CZ/LC_MESSAGES/python.po | 41 +++++++++++++---- lang/python/da/LC_MESSAGES/python.mo | Bin 667 -> 1065 bytes lang/python/da/LC_MESSAGES/python.po | 41 +++++++++++++---- lang/python/de/LC_MESSAGES/python.mo | Bin 428 -> 420 bytes lang/python/de/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/el/LC_MESSAGES/python.mo | Bin 427 -> 419 bytes lang/python/el/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/en_GB/LC_MESSAGES/python.mo | Bin 452 -> 444 bytes lang/python/en_GB/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/es/LC_MESSAGES/python.mo | Bin 684 -> 1095 bytes lang/python/es/LC_MESSAGES/python.po | 39 ++++++++++++---- lang/python/es_ES/LC_MESSAGES/python.mo | Bin 443 -> 435 bytes lang/python/es_ES/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/es_MX/LC_MESSAGES/python.mo | Bin 444 -> 436 bytes lang/python/es_MX/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/es_PR/LC_MESSAGES/python.mo | Bin 449 -> 441 bytes lang/python/es_PR/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/et/LC_MESSAGES/python.mo | Bin 430 -> 422 bytes lang/python/et/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/eu/LC_MESSAGES/python.mo | Bin 428 -> 420 bytes lang/python/eu/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/fa/LC_MESSAGES/python.mo | Bin 422 -> 414 bytes lang/python/fa/LC_MESSAGES/python.po | 33 +++++++++++-- lang/python/fi_FI/LC_MESSAGES/python.mo | Bin 445 -> 437 bytes lang/python/fi_FI/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/fr/LC_MESSAGES/python.mo | Bin 427 -> 419 bytes lang/python/fr/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/fr_CH/LC_MESSAGES/python.mo | Bin 447 -> 439 bytes lang/python/fr_CH/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/gl/LC_MESSAGES/python.mo | Bin 430 -> 422 bytes lang/python/gl/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/gu/LC_MESSAGES/python.mo | Bin 430 -> 422 bytes lang/python/gu/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/he/LC_MESSAGES/python.mo | Bin 711 -> 1144 bytes lang/python/he/LC_MESSAGES/python.po | 39 ++++++++++++---- lang/python/hi/LC_MESSAGES/python.mo | Bin 427 -> 419 bytes lang/python/hi/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/hr/LC_MESSAGES/python.mo | Bin 752 -> 1195 bytes lang/python/hr/LC_MESSAGES/python.po | 41 +++++++++++++---- lang/python/hu/LC_MESSAGES/python.mo | Bin 431 -> 863 bytes lang/python/hu/LC_MESSAGES/python.po | 42 +++++++++++++---- lang/python/id/LC_MESSAGES/python.mo | Bin 659 -> 645 bytes lang/python/id/LC_MESSAGES/python.po | 41 +++++++++++++---- lang/python/is/LC_MESSAGES/python.mo | Bin 453 -> 692 bytes lang/python/is/LC_MESSAGES/python.po | 38 ++++++++++++--- lang/python/it_IT/LC_MESSAGES/python.mo | Bin 443 -> 435 bytes lang/python/it_IT/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/ja/LC_MESSAGES/python.mo | Bin 670 -> 662 bytes lang/python/ja/LC_MESSAGES/python.po | 37 +++++++++++---- lang/python/kk/LC_MESSAGES/python.mo | Bin 421 -> 413 bytes lang/python/kk/LC_MESSAGES/python.po | 33 +++++++++++-- lang/python/lo/LC_MESSAGES/python.mo | Bin 418 -> 410 bytes lang/python/lo/LC_MESSAGES/python.po | 33 +++++++++++-- lang/python/lt/LC_MESSAGES/python.mo | Bin 731 -> 1207 bytes lang/python/lt/LC_MESSAGES/python.po | 51 +++++++++++++++------ lang/python/mr/LC_MESSAGES/python.mo | Bin 429 -> 421 bytes lang/python/mr/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/nb/LC_MESSAGES/python.mo | Bin 439 -> 431 bytes lang/python/nb/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/nl/LC_MESSAGES/python.mo | Bin 666 -> 658 bytes lang/python/nl/LC_MESSAGES/python.po | 39 ++++++++++++---- lang/python/pl/LC_MESSAGES/python.mo | Bin 803 -> 795 bytes lang/python/pl/LC_MESSAGES/python.po | 43 +++++++++++++---- lang/python/pl_PL/LC_MESSAGES/python.mo | Bin 589 -> 581 bytes lang/python/pl_PL/LC_MESSAGES/python.po | 39 ++++++++++++++-- lang/python/pt_BR/LC_MESSAGES/python.mo | Bin 698 -> 1105 bytes lang/python/pt_BR/LC_MESSAGES/python.po | 43 +++++++++++++---- lang/python/pt_PT/LC_MESSAGES/python.mo | Bin 691 -> 1095 bytes lang/python/pt_PT/LC_MESSAGES/python.po | 39 ++++++++++++---- lang/python/ro/LC_MESSAGES/python.mo | Bin 471 -> 463 bytes lang/python/ro/LC_MESSAGES/python.po | 37 +++++++++++++-- lang/python/ru/LC_MESSAGES/python.mo | Bin 567 -> 559 bytes lang/python/ru/LC_MESSAGES/python.po | 39 ++++++++++++++-- lang/python/sk/LC_MESSAGES/python.mo | Bin 455 -> 447 bytes lang/python/sk/LC_MESSAGES/python.po | 37 +++++++++++++-- lang/python/sl/LC_MESSAGES/python.mo | Bin 483 -> 475 bytes lang/python/sl/LC_MESSAGES/python.po | 39 ++++++++++++++-- lang/python/sr/LC_MESSAGES/python.mo | Bin 503 -> 495 bytes lang/python/sr/LC_MESSAGES/python.po | 37 +++++++++++++-- lang/python/sr@latin/LC_MESSAGES/python.mo | Bin 523 -> 515 bytes lang/python/sr@latin/LC_MESSAGES/python.po | 37 +++++++++++++-- lang/python/sv/LC_MESSAGES/python.mo | Bin 429 -> 421 bytes lang/python/sv/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/th/LC_MESSAGES/python.mo | Bin 419 -> 411 bytes lang/python/th/LC_MESSAGES/python.po | 33 +++++++++++-- lang/python/tr_TR/LC_MESSAGES/python.mo | Bin 677 -> 1039 bytes lang/python/tr_TR/LC_MESSAGES/python.po | 37 +++++++++++---- lang/python/uk/LC_MESSAGES/python.mo | Bin 505 -> 497 bytes lang/python/uk/LC_MESSAGES/python.po | 37 +++++++++++++-- lang/python/ur/LC_MESSAGES/python.mo | Bin 426 -> 418 bytes lang/python/ur/LC_MESSAGES/python.po | 35 ++++++++++++-- lang/python/uz/LC_MESSAGES/python.mo | Bin 420 -> 412 bytes lang/python/uz/LC_MESSAGES/python.po | 33 +++++++++++-- lang/python/zh_CN/LC_MESSAGES/python.mo | Bin 676 -> 668 bytes lang/python/zh_CN/LC_MESSAGES/python.po | 37 +++++++++++---- lang/python/zh_TW/LC_MESSAGES/python.mo | Bin 675 -> 1052 bytes lang/python/zh_TW/LC_MESSAGES/python.po | 37 +++++++++++---- 107 files changed, 1654 insertions(+), 341 deletions(-) diff --git a/lang/python.pot b/lang/python.pot index 6a07ac3e4..ad66c1cab 100644 --- a/lang/python.pot +++ b/lang/python.pot @@ -2,7 +2,7 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# #, fuzzy msgid "" msgstr "" @@ -12,43 +12,43 @@ msgstr "" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: src/modules/machineid/main.py:35 msgid "Generate machine-id." -msgstr "" +msgstr "Generate machine-id." #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "" +msgstr "Dummy python job." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "" +msgstr "Dummy python step {}" #: src/modules/packages/main.py:59 #, python-format msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" +msgstr "Processing packages (%(count)d / %(total)d)" #: src/modules/packages/main.py:61 #, python-format msgid "Installing one package." msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Installing one package." +msgstr[1] "Installing %(num)d packages." #: src/modules/packages/main.py:64 #, python-format msgid "Removing one package." msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Removing one package." +msgstr[1] "Removing %(num)d packages." #: src/modules/packages/main.py:68 msgid "Install packages." -msgstr "" +msgstr "Install packages." diff --git a/lang/python/ar/LC_MESSAGES/python.mo b/lang/python/ar/LC_MESSAGES/python.mo index 82839ebb589c31f611dcbb868cd019110f897715..8a59291af1fe5373cb4adfa81dd6b32b88d13463 100644 GIT binary patch delta 55 zcmey*{GEA%3gh01sup5FsRj8(CAz-F>6t0IPNnI^x*_>i3KL_bxGZ%IOcV?(tPIU2 LHe8up%-90}9PAR5 delta 85 zcmey){GWM(3ggj};3WnxZrlu38 oUy*Z9%}Xr;%BJW#Raz+&RHmnvl%!Ua=oM5d80wi$&SLBZ0K1JGEC2ui diff --git a/lang/python/ar/LC_MESSAGES/python.po b/lang/python/ar/LC_MESSAGES/python.po index f13d19d84..bdabbf28e 100644 --- a/lang/python/ar/LC_MESSAGES/python.po +++ b/lang/python/ar/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Arabic (https://www.transifex.com/calamares/teams/20061/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,33 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/ast/LC_MESSAGES/python.mo b/lang/python/ast/LC_MESSAGES/python.mo index 20db126d0e283d5463dd0bfd1e4a1fca9ba7092a..a4fa1fe8141c005de4419198c73b95852388fde5 100644 GIT binary patch delta 84 zcmZ3&I)`?wA-^Ar_QckY7}y>sy?jnWF1d inqI6Ml5eFj@q!eWrLKXAf`NsVq1nbST#S=tnc4vZh!m0l delta 115 zcmbQkx`cItjqFNB28Oi^3=A?r9L~hRAPuBTfV41>o-i@8LOH-cMAx|}HL)Z!KTp>s zu_V<>!N|bST-U%t*T_)8(A>(@bTc<27o(heYF=s)P(DT1snSZJpfWwRq$IVXM6aMy M!BEe1vItWL0K|wK(EtDd diff --git a/lang/python/ast/LC_MESSAGES/python.po b/lang/python/ast/LC_MESSAGES/python.po index 65ff65928..c3eb56943 100644 --- a/lang/python/ast/LC_MESSAGES/python.po +++ b/lang/python/ast/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# enolp , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: enolp , 2017\n" "Language-Team: Asturian (https://www.transifex.com/calamares/teams/20061/ast/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ast\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Xenerar machine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Trabayu maniquín de python." @@ -26,6 +30,25 @@ msgstr "Trabayu maniquín de python." msgid "Dummy python step {}" msgstr "Pasu maniquín de python {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Xenerar machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "" diff --git a/lang/python/bg/LC_MESSAGES/python.mo b/lang/python/bg/LC_MESSAGES/python.mo index a9bb627fa46fe8af3feeffa32d4a3b27d43f7434..470525ae3c03bfc99adf9ede7a19efd849d2daf4 100644 GIT binary patch delta 55 zcmZ3_yqtN03S;g>RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H|-W3&VS>*5ht delta 85 zcmZ3^yqD$`R-N>VFI^a?5!4E0PW=Q3IW0B+A3?*IS* diff --git a/lang/python/bg/LC_MESSAGES/python.po b/lang/python/bg/LC_MESSAGES/python.po index 33ec5eb0e..28b4fbb7c 100644 --- a/lang/python/bg/LC_MESSAGES/python.po +++ b/lang/python/bg/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Bulgarian (https://www.transifex.com/calamares/teams/20061/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/ca/LC_MESSAGES/python.mo b/lang/python/ca/LC_MESSAGES/python.mo index eae22bf7af42fb5066a6339db7e5a246543d3a38..efd56d0348956659cff3575af82d4a26398d55ea 100644 GIT binary patch delta 585 zcmZ{fF-yZh7>2*rR*O!GSgZ~QrIJ?CMyR44i-LlJ6i1hk9wC@sYA+EN>2IjwCW51g zgOj*Asgt|lU(mrH;Cp(pSn=S=le~A|cloZ>@b70$x*@Fr}*hwwSL1UY=K4-rkn4xERN;4D#{F7UF5;0`XqZ*T?9rHD{V zBOnbB(=b5%^|KHq)uZRFb~l6!ZQo~Y+u5^SF3Y47Pq-`)Jl^<~7Yq@#ip_WrMcbXg z;ZmxixDzu9h7&|0#K8(H7-4{mip?T5cq=&2?ep>Raz7sI-n*KcYVdZ@3C%6(dQGz) zxzgMTYOMF18(lH2Dzlbr3rja2nZ(IV@>tJwf9u, YEAR. # -# Translators: -# Davidmp , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Davidmp , 2017\n" "Language-Team: Catalan (https://www.transifex.com/calamares/teams/20061/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generació de l'id. de la màquina." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Tasca de python fictícia." @@ -26,6 +30,25 @@ msgstr "Tasca de python fictícia." msgid "Dummy python step {}" msgstr "Pas de python fitctici {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Generació de l'id. de la màquina." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Processant paquets (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instal·lant un paquet." +msgstr[1] "Instal·lant %(num)d paquets." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Eliminant un paquet." +msgstr[1] "Eliminant %(num)d paquets." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Instal·la els paquets." diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.mo b/lang/python/cs_CZ/LC_MESSAGES/python.mo index 015f87119ab9e1bbb2dea5eb936a62ed977c2189..26336e6c68f0b6cdc268bbe24822c2fab04195f1 100644 GIT binary patch delta 84 zcmX@hdX#m7jqDjl28Oi^3=EP$T*bt|AO)nS0BKPmy?$b3g;-E(L4Hw*u5WRAW{R#; jX?n44NWPWA#0yefmbwNe3I-NdhGrYTNH9*;W?BRQMotyJ delta 115 zcmX@gdX{y9jqDXh28Oi^3=EP$+{DDdAO)o70BKPmy?tV2g>ry@h^}){YGO%dex9yN zVo9o%f{}rtxvqhQu92aFp}Cc*>1J+52}U{h)V$OppnQt1Q>B$cL1lVsNl9u&iC#ga Mf}x)2WF@A>04BN}{Qv*} diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.po b/lang/python/cs_CZ/LC_MESSAGES/python.po index 2905482eb..7e93851dc 100644 --- a/lang/python/cs_CZ/LC_MESSAGES/python.po +++ b/lang/python/cs_CZ/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# pavelrz , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: pavelrz , 2017\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/calamares/teams/20061/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Vytvořit machine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Testovací úloha python." @@ -26,6 +30,27 @@ msgstr "Testovací úloha python." msgid "Dummy python step {}" msgstr "Testovací krok {} python." -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Vytvořit machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "" diff --git a/lang/python/da/LC_MESSAGES/python.mo b/lang/python/da/LC_MESSAGES/python.mo index 71aa95ed7b2f87c5f614532825d44430f15a7679..0521d0612119cde87a213591b5888784b3137a50 100644 GIT binary patch delta 602 zcmZ{fKTE?v7>BR5)uNLk3Ps^SS`sC-Vv$+|p_GE6D7B+YY|q+%cjc0Z;LxvNC{DUL zRlk6H7u_7(1V4j=yZ(+OS``nTJjr|adoS-*v>)rfPDL&WRt(I6LoflZfm#n>5K_94d+lDREExk) zfKM_CB0&ADT4D8Y>xJ$Xw`{Z3q8+o+G;7RC5x-LBH7Ym@Hh$C-8h6@yHP}OFUy2H| zEENhmQ7xfWgu`tdT&4-l7Pv^S>ZHWl;?!@y5FAf^mw$J6?~*em))CS+cCA{yYUG`o zWt2sZx=-=(bt9dj>1=Lg&3)gTFPNNeixZPuj8pBvmUUaF8OC5%8M)J8-eVBp>Po)F7a1|VPoVi_Q|0b*7ljsap2C;(zXAT9)A5g=}c(ldbcMn(pPwLlsq zAI}7lFND%, YEAR. # -# Translators: -# scootergrisen , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: scootergrisen , 2017\n" +"Last-Translator: Dan Johansen (Strit) , 2017\n" "Language-Team: Danish (https://www.transifex.com/calamares/teams/20061/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generere maskine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Dummy python-job." @@ -26,6 +30,25 @@ msgstr "Dummy python-job." msgid "Dummy python step {}" msgstr "Dummy python-trin {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Generere maskine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Forarbejder pakker (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Installerer én pakke." +msgstr[1] "Installer %(num)d pakker." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Fjerner én pakke." +msgstr[1] "Fjerne %(num)d pakker." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Installér pakker." diff --git a/lang/python/de/LC_MESSAGES/python.mo b/lang/python/de/LC_MESSAGES/python.mo index 62276fc59711b73c918231296b8b845fbcb34396..aff49a3d1c27004a66fe3934706ceffb3dfc05fe 100644 GIT binary patch delta 55 zcmZ3(yo7mz3S-tpRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H<)X0!wV>Glyw delta 85 zcmZ3&yoPy#3S-ekRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl ougJNl=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWXE9m<0Bd*}-~a#s diff --git a/lang/python/de/LC_MESSAGES/python.po b/lang/python/de/LC_MESSAGES/python.po index b7e9f98f7..654da411b 100644 --- a/lang/python/de/LC_MESSAGES/python.po +++ b/lang/python/de/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: German (https://www.transifex.com/calamares/teams/20061/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/el/LC_MESSAGES/python.mo b/lang/python/el/LC_MESSAGES/python.mo index 23002061d1d59a7359a6a0bea31a5a3d891dfb8f..c7d45e8793b8b8b4c7d315315621a943f785e867 100644 GIT binary patch delta 55 zcmZ3@yqI}{3S;I(RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8!k^SVzdMR=~59x delta 85 zcmZ3?yqbA}3S;3!RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl oFUz^7=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWXEIs=0BTzr+W-In diff --git a/lang/python/el/LC_MESSAGES/python.po b/lang/python/el/LC_MESSAGES/python.po index c1aa22c18..924667c68 100644 --- a/lang/python/el/LC_MESSAGES/python.po +++ b/lang/python/el/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Greek (https://www.transifex.com/calamares/teams/20061/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/en_GB/LC_MESSAGES/python.mo b/lang/python/en_GB/LC_MESSAGES/python.mo index bca5cdc776308bd68e0f8515d7d7809eff15585f..b88e6d8f9b3fc0fde21938f3751b9755fecc1d9b 100644 GIT binary patch delta 55 zcmX@YyoY&$3S-kmRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8(vQCV6*`M`9TrA delta 85 zcmdnPe1v&|3S-wqRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl oU&^_s=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PW*E8Az0ENCARR910 diff --git a/lang/python/en_GB/LC_MESSAGES/python.po b/lang/python/en_GB/LC_MESSAGES/python.po index 3410efd89..9ced5a414 100644 --- a/lang/python/en_GB/LC_MESSAGES/python.po +++ b/lang/python/en_GB/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: English (United Kingdom) (https://www.transifex.com/calamares/teams/20061/en_GB/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: en_GB\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/es/LC_MESSAGES/python.mo b/lang/python/es/LC_MESSAGES/python.mo index 63ea21b42f3d02cf4b28c5d0834b7a690406b1d7..9d1a6d89fb11c2caea2d0a5b4339941c002f8942 100644 GIT binary patch delta 583 zcmZ{fF-yZh7>2*r))t+tq8J$*1pa_I7v}nZD0DrgdbxPFSbZ@wm$bcjUznU)6XV)NFZ&qW!M0 zoG?s^WD?U<%@Q$>@Nk)_S|re@X4k0g1mYx(ugd53%>JF;zgwJbI~~!D^u5saY`qn` zp?)BmtpBP^Z0JUV8SBlJwTG`#?n23*r!$#dWFN;)lnrHaTdo delta 193 zcmX@kv4%DCo)F7a1|VPoVi_Q|0b*7ljsap2C;(zXAT9)A5g=}c(ldbcQbq=bwLn@D zh=Z9J7^Hx7E|69R(j7n=D9ykO#2~YoCLVN|ypmBxIlw, YEAR. # -# Translators: -# strel , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: strel , 2017\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" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generar identificación-de-maquina." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Tarea de python ficticia." @@ -26,6 +30,25 @@ msgstr "Tarea de python ficticia." msgid "Dummy python step {}" msgstr "Paso {} de python ficticio" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Generar identificación-de-maquina." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Procesando paquetes (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instalando un paquete." +msgstr[1] "Instalando %(num)d paquetes." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Eliminando un paquete." +msgstr[1] "Eliminando %(num)d paquetes." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Instalar paquetes." diff --git a/lang/python/es_ES/LC_MESSAGES/python.mo b/lang/python/es_ES/LC_MESSAGES/python.mo index e65c0fc58f9f1d268ba46563e97b51a16d10b43d..35a601558dd3c61a39e160a37638f921594f852c 100644 GIT binary patch delta 55 zcmdnZyqS4|3S;F&RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8y-xqXS4wT^L-JJ delta 85 zcmdnYyqkG~3S;9$RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl oAIQ0<=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWmoeG`0DHL`C;$Ke diff --git a/lang/python/es_ES/LC_MESSAGES/python.po b/lang/python/es_ES/LC_MESSAGES/python.po index ddd5b1375..a07d525c7 100644 --- a/lang/python/es_ES/LC_MESSAGES/python.po +++ b/lang/python/es_ES/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Spain) (https://www.transifex.com/calamares/teams/20061/es_ES/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es_ES\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/es_MX/LC_MESSAGES/python.mo b/lang/python/es_MX/LC_MESSAGES/python.mo index 63d0babac05a6185beb1065d1b5f437805bfd953..73c58bb4a405e077a87de0ffb9937f1c23637c35 100644 GIT binary patch delta 55 zcmdnPyoGs!3S-qoRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8y-$>V6*`M^dS+I delta 85 zcmdnOyoY&$3S-kmRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl oAIiC>=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWmowS|0DRUPEdT%j diff --git a/lang/python/es_MX/LC_MESSAGES/python.po b/lang/python/es_MX/LC_MESSAGES/python.po index c63d1029c..72deb57ed 100644 --- a/lang/python/es_MX/LC_MESSAGES/python.po +++ b/lang/python/es_MX/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es_MX\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/es_PR/LC_MESSAGES/python.mo b/lang/python/es_PR/LC_MESSAGES/python.mo index 7a9bb1ce329d7b5e4ac9046934566221ebec148c..f3dd878be4ef850d864598ccfda45ab79f7be1c7 100644 GIT binary patch delta 55 zcmX@eypwr?3S<35RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8=g&WWwZeR_f-+D delta 85 zcmdnVe2{s93S;|3RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl opUJtW=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PW*D%@w0D@;5MgRZ+ diff --git a/lang/python/es_PR/LC_MESSAGES/python.po b/lang/python/es_PR/LC_MESSAGES/python.po index d64df0b6d..14e075326 100644 --- a/lang/python/es_PR/LC_MESSAGES/python.po +++ b/lang/python/es_PR/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Spanish (Puerto Rico) (https://www.transifex.com/calamares/teams/20061/es_PR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: es_PR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/et/LC_MESSAGES/python.mo b/lang/python/et/LC_MESSAGES/python.mo index d2c1990b911410e9a6547364f29c620c69d3aa67..86e51fbf4780e90cd78545c14840e91b87849740 100644 GIT binary patch delta 55 zcmZ3-yo`B*3S-VhRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H?*WwZnU>pl@u delta 85 zcmZ3+ypDN-3S-GcRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl ougSTm=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PW=P+6U0By1w>Hq)$ diff --git a/lang/python/et/LC_MESSAGES/python.po b/lang/python/et/LC_MESSAGES/python.po index b0f49016d..3ade2d753 100644 --- a/lang/python/et/LC_MESSAGES/python.po +++ b/lang/python/et/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Estonian (https://www.transifex.com/calamares/teams/20061/et/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/eu/LC_MESSAGES/python.mo b/lang/python/eu/LC_MESSAGES/python.mo index 704f3b9744f3ed410bd23d362302b6284c431d87..2b85ce42c67984bd010f9bbfeae7f035575cbd2c 100644 GIT binary patch delta 55 zcmZ3(yo7mz3S-tpRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H<)X0!wV>Glyw delta 85 zcmZ3&yoPy#3S-ekRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl ougJNl=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWXE9m<0Bd*}-~a#s diff --git a/lang/python/eu/LC_MESSAGES/python.po b/lang/python/eu/LC_MESSAGES/python.po index 917044fbd..2f4c71e36 100644 --- a/lang/python/eu/LC_MESSAGES/python.po +++ b/lang/python/eu/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Basque (https://www.transifex.com/calamares/teams/20061/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/fa/LC_MESSAGES/python.mo b/lang/python/fa/LC_MESSAGES/python.mo index 4255c04d78b410bf2b03db0da71c00209234d5d9..be5db74c22692152248f0d3abf95225b2d0a1eac 100644 GIT binary patch delta 55 zcmZ3+Jdb&T3S-JdRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H_+VKf2&=1&nZ delta 85 zcmbQoyo`B*3S-VhRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl ougbZn=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWXEPcD0A, YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Persian (https://www.transifex.com/calamares/teams/20061/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,23 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/fi_FI/LC_MESSAGES/python.mo b/lang/python/fi_FI/LC_MESSAGES/python.mo index 13b832ac2e201b2e17a673be04132d3aac0c99bd..65215e4b3f0e24d1da852f5fe4a9a941ebabace7 100644 GIT binary patch delta 55 zcmdnXyp?%^3S;#|RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8y-z=WV8VQ^u-aH delta 85 zcmdnWyq9@`3S;v`RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl oAIZ6==A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWS1{TF0DbctG5`Po diff --git a/lang/python/fi_FI/LC_MESSAGES/python.po b/lang/python/fi_FI/LC_MESSAGES/python.po index b889e60b5..98225c0f8 100644 --- a/lang/python/fi_FI/LC_MESSAGES/python.po +++ b/lang/python/fi_FI/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Finnish (Finland) (https://www.transifex.com/calamares/teams/20061/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fi_FI\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/fr/LC_MESSAGES/python.mo b/lang/python/fr/LC_MESSAGES/python.mo index 108a9cfe5b065439992e2ba1d588d77e1c369d81..2c39ac029d167b53d83fd87aa4b02ed73c602452 100644 GIT binary patch delta 55 zcmZ3@yqI}{3S;I(RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H<)X0!kR=~)p( delta 85 zcmZ3?yqbA}3S;3!RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl ougJNl=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWXE9m=0BV66+yDRo diff --git a/lang/python/fr/LC_MESSAGES/python.po b/lang/python/fr/LC_MESSAGES/python.po index 62387b67e..f5af986a3 100644 --- a/lang/python/fr/LC_MESSAGES/python.po +++ b/lang/python/fr/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: French (https://www.transifex.com/calamares/teams/20061/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/fr_CH/LC_MESSAGES/python.mo b/lang/python/fr_CH/LC_MESSAGES/python.mo index c4843e25d14a4f158f484a66cc076a84f234cfed..44c786167ada5fc82a0c5b7e4fe7ac6c4c0291a9 100644 GIT binary patch delta 55 zcmdnbyq$T13S;d=RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8=g*XVYCJS_7oAN delta 85 zcmdnayq|f33S;X;RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl opUSzX=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWS2NlG0Dw~)Jpcdz diff --git a/lang/python/fr_CH/LC_MESSAGES/python.po b/lang/python/fr_CH/LC_MESSAGES/python.po index 2aeeb75ff..5c665d8ab 100644 --- a/lang/python/fr_CH/LC_MESSAGES/python.po +++ b/lang/python/fr_CH/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: French (Switzerland) (https://www.transifex.com/calamares/teams/20061/fr_CH/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: fr_CH\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/gl/LC_MESSAGES/python.mo b/lang/python/gl/LC_MESSAGES/python.mo index 4324e127610de6726cb677d0c1191363b8280d9f..b221e3812be2d40b0b15a28c2f909a0ea9c07a61 100644 GIT binary patch delta 55 zcmZ3-yo`B*3S-VhRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H?*WwZnU>pl@u delta 85 zcmZ3+ypDN-3S-GcRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl ougSTm=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PW=P+6U0By1w>Hq)$ diff --git a/lang/python/gl/LC_MESSAGES/python.po b/lang/python/gl/LC_MESSAGES/python.po index 9d2162e31..a326be4be 100644 --- a/lang/python/gl/LC_MESSAGES/python.po +++ b/lang/python/gl/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Galician (https://www.transifex.com/calamares/teams/20061/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/gu/LC_MESSAGES/python.mo b/lang/python/gu/LC_MESSAGES/python.mo index 30c9a81107fa66986169ebc735b4d7cfbc453309..e8861abe269ed4fac1b46dc3e00c26a6d5853c58 100644 GIT binary patch delta 55 zcmZ3-yo`B*3S-VhRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H?*WwZnU>pl@u delta 85 zcmZ3+ypDN-3S-GcRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl ougSTm=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PW=P+6U0By1w>Hq)$ diff --git a/lang/python/gu/LC_MESSAGES/python.po b/lang/python/gu/LC_MESSAGES/python.po index 0eb71a876..557a796e5 100644 --- a/lang/python/gu/LC_MESSAGES/python.po +++ b/lang/python/gu/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Gujarati (https://www.transifex.com/calamares/teams/20061/gu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: gu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/he/LC_MESSAGES/python.mo b/lang/python/he/LC_MESSAGES/python.mo index 7d2968beb024379ef7624999c159191314232da1..8db1c22da3cb744e1ac34701647afe2193258b85 100644 GIT binary patch delta 605 zcmZvXO-lk%6o!wcB}EG(3?kw}7$Y%$fJ6=CLfQlgAuZd84uhm~#TliY>vjz)AxKdz zEL*ki2UNRga~DCsp+$?9y`v5~)rEJSx##0O_dNN(1C5UbUz>0O&aXhM6msSS6P~&S|OwZ0yRV%z| z${9l|7UXnIGvq_AFza=Bc3X}oS$s=LY(9L=dz#GKYlxQUi=Mb-;#^pwBf6q3`cV=W tgK%du(PH8ZRqm|wfIscmuxq+pCzgykE2gj`W?fswfBehv+&Nr6!hS=I80UB$lLFDHs_T zn(G=^=o%R+7@Av|nr>!i;$@U`Pt8j$0?Mc8I#pUJ6jY|CmXxGcl;{;yDj4dSP8Mcf F0RSRcBRv2B diff --git a/lang/python/he/LC_MESSAGES/python.po b/lang/python/he/LC_MESSAGES/python.po index 6bc3c9214..2c314f285 100644 --- a/lang/python/he/LC_MESSAGES/python.po +++ b/lang/python/he/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Eli Shleifer , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Eli Shleifer , 2017\n" "Language-Team: Hebrew (https://www.transifex.com/calamares/teams/20061/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "חולל מספר סידורי של המכונה." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "משימת דמה של Python." @@ -26,6 +30,25 @@ msgstr "משימת דמה של Python." msgid "Dummy python step {}" msgstr "צעד דמה של Python {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "חולל מספר סידורי של המכונה." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "מעבד חבילות (%(count)d/%(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "מתקין חבילה אחת." +msgstr[1] "מתקין %(num)d חבילות." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "מסיר חבילה אחת." +msgstr[1] "מסיר %(num)d חבילות." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "התקן חבילות." diff --git a/lang/python/hi/LC_MESSAGES/python.mo b/lang/python/hi/LC_MESSAGES/python.mo index eac751db9f5d420b33d81afe9b1dc22c5bc6731b..198aba348e83eb9ea74cc86b0ba91e36eb1af704 100644 GIT binary patch delta 55 zcmZ3@yqI}{3S;I(RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8!k^SVzdMR=~59x delta 85 zcmZ3?yqbA}3S;3!RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl oFUz^7=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWXEIs=0BTzr+W-In diff --git a/lang/python/hi/LC_MESSAGES/python.po b/lang/python/hi/LC_MESSAGES/python.po index 89488ed40..e108c12ac 100644 --- a/lang/python/hi/LC_MESSAGES/python.po +++ b/lang/python/hi/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Hindi (https://www.transifex.com/calamares/teams/20061/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/hr/LC_MESSAGES/python.mo b/lang/python/hr/LC_MESSAGES/python.mo index 2534c54baf7a8500defe9ef2ad03b3a134424632..4a4b060e1476688791c8fad08631fed4c5f18b44 100644 GIT binary patch delta 615 zcmZ{fJxjw-6oyZ0>*r*VR>UD7m4uR7p@?=7i=cv{6y026atZlpZpnwZ^*01@b8wYT z4*mlL1qXM*$sf=`boGr*EUg-N@+9xM=iGa{+0I1!HJ7;{JmX*<9D^xv38Lo#OoK-- z172cx;V93hh^lY_F2TES1wMm6z%_{au11LR@GV?`pWqx(o!;=Vh2RsG;PnjA25i9S zr7@5NDAOoF{C!x6($On4HrqRn=PR}?v=r4+bmo;QP7FsExWkgdKwcD`pebod4NV6w zSDEKUP01udEQ%@*93KmpgrewkY$RzCHCU6M#^V=~<>h`nJU#3z<{PZVU0>ewbVHNt zf$qtNye5RtbCYXwr7BcbYs)J)@3X1%Qu;o=li?~Rrd!Ns$>9+-d(lAB-|*Ms;nMzz ftK5Zw$>KTek6Ui{u6bnHievUS{P`cA`ETJ1$1$Jj delta 193 zcmZ3@`GGa_o)F7a1|VPoVi_Q|0b*7ljsap2C;(zXAT9)A5g=}c(ldbcKSl0~+P FV*r1wBvt?b diff --git a/lang/python/hr/LC_MESSAGES/python.po b/lang/python/hr/LC_MESSAGES/python.po index c35af8b84..61a1b53a2 100644 --- a/lang/python/hr/LC_MESSAGES/python.po +++ b/lang/python/hr/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Lovro Kudelić , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Lovro Kudelić , 2017\n" "Language-Team: Croatian (https://www.transifex.com/calamares/teams/20061/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: hr\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generiraj ID računala." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Testni python posao." @@ -26,6 +30,27 @@ msgstr "Testni python posao." msgid "Dummy python step {}" msgstr "Testni python korak {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Generiraj ID računala." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Obrađujem pakete (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instaliram paket." +msgstr[1] "Instaliram %(num)d pakete." +msgstr[2] "Instaliram %(num)d pakete." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Uklanjam paket." +msgstr[1] "Uklanjam %(num)d pakete." +msgstr[2] "Uklanjam %(num)d pakete." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Instaliraj pakete." diff --git a/lang/python/hu/LC_MESSAGES/python.mo b/lang/python/hu/LC_MESSAGES/python.mo index fae26ca9dc2a67aa78e3535dc29acf2c6de1dcb7..62231eb3e499a5478976b02ac873b01ba379a4d4 100644 GIT binary patch delta 553 zcmZ{fIZFgF6vyLPXyt*Rh&<4RU3A7#MAt<`RPaE-tF(zTF*|ND875i5i}fokVk>Ot z3Swbt=X?PxORenfY<;te7x>`EFYixY!nj~*bKcdsgrgI(zycOg!$49u?+48CJ)0~A+E5`Nq;7$7rfsqo zDVJ$I;0OFGg>)+Is$yU=9t=Y&Z4?e=yi7Tp>e^tTij1|Yx$jxCMXs$am4otjPs^m` zjDeHQjf|I19a|e~E24oG)Tk&2(k~RVV=(pM87`?WY*)$YAsBT=Cd$`WXZv-Nr9~=z z4QsXC)(tEt+x^LoPC&%fFs^E{c^Fq@d~M=ejtS616)0WnfhXI?6%ki7waJ`Tl5$l5 a!vqVH8&%DI#Jfy*N^sSO4{G|~`s5vQgP9@# delta 123 zcmcc5ww~GIo)F7a1|VPrVi_P-0b*t#)&XJ=umIvxprj>`2C0F8$x4i>lj9gAxh!;z z3>6H`txQcPH!>Pbe#E$3&OJ3RwJ5P9HAUB{(n_JAGCj4VB(5 DIffVZ diff --git a/lang/python/hu/LC_MESSAGES/python.po b/lang/python/hu/LC_MESSAGES/python.po index 7bfb0661d..955764b81 100644 --- a/lang/python/hu/LC_MESSAGES/python.po +++ b/lang/python/hu/LC_MESSAGES/python.po @@ -1,28 +1,54 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: miku84 , 2017\n" "Language-Team: Hungarian (https://www.transifex.com/calamares/teams/20061/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Számítógép azonosító generálása." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "" +msgstr "Hamis PythonQt Job." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "" +msgstr "Hamis PythonQt {} lépés" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Csomagok feldolgozása (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Csomagok telepítése." diff --git a/lang/python/id/LC_MESSAGES/python.mo b/lang/python/id/LC_MESSAGES/python.mo index df139cd7e0da714d5d02d44a7043d4c88db355a1..35b6cdcb07f8b444dcaae445e4ed46a75b89a46e 100644 GIT binary patch delta 87 zcmbQt+R8e?Ms_wM1H)Pd1_nVO_GDsU5CPKBP`Y4ZWQABzYC(QciLP&PdS;5QQ)zm! jZb-hB!o&+wT$Z{9CJF`?R)%I9zwj_lmS-}WSZD(PBzqMR delta 182 zcmZo=oy, YEAR. # -# Translators: -# Wantoyo , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Wantoyo , 2017\n" "Language-Team: Indonesian (https://www.transifex.com/calamares/teams/20061/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generate machine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "Tugas dummy python." +msgstr "Dummy python job." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "Langkah dummy python {}" +msgstr "Dummy python step {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Menghasilkan id-mesin" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "" diff --git a/lang/python/is/LC_MESSAGES/python.mo b/lang/python/is/LC_MESSAGES/python.mo index 1054df5ce211d80f7c76d3bea98fd8540d25eb98..23ed397ae65d64ccd25a71592faaa57c8fed7565 100644 GIT binary patch delta 358 zcmX@gyoI&?o)F7a1|VPoVi_Q|0b*7ljsap2C;(zXAT9)A5g=}c(ldbcDMki{wLlsq zU%>>C?}F0vfizH>ffR+SnonH2YH}H)zYU55vq*9>0{~o=Uzh*@ delta 143 zcmdnOdX(AXo)F7a1|VPrVi_P-0b*t#)&XJ=umIw2prj>`2C0F8iEC7q1N=jDor_Wv zOEUBGbX^ilQmqt>3=GY64J>qx3>6H`txQcPb2A!DZem<6=boCES_D**qU%&?rBG0r Wo?23pT2Z1`P^n<3XF6GfDF6U+Mjh+` diff --git a/lang/python/is/LC_MESSAGES/python.po b/lang/python/is/LC_MESSAGES/python.po index 2d54179f1..cd098fddb 100644 --- a/lang/python/is/LC_MESSAGES/python.po +++ b/lang/python/is/LC_MESSAGES/python.po @@ -1,28 +1,54 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Kristján Magnússon , 2017\n" "Language-Team: Icelandic (https://www.transifex.com/calamares/teams/20061/is/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: is\n" "Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generate machine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." -msgstr "" +msgstr "Dummy python job." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" +msgstr "Dummy python step {}" + +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/it_IT/LC_MESSAGES/python.mo b/lang/python/it_IT/LC_MESSAGES/python.mo index 51078e0dfbdce6220035936482dc3476e3f8dfb0..73aed3b463b521531dafb7bcfad3fb5bd67f6595 100644 GIT binary patch delta 55 zcmdnZyqS4|3S;F&RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8y-xqXS4wT^L-JJ delta 85 zcmdnYyqkG~3S;9$RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl oAIQ0<=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWmoeG`0DHL`C;$Ke diff --git a/lang/python/it_IT/LC_MESSAGES/python.po b/lang/python/it_IT/LC_MESSAGES/python.po index 374c6a74c..ff1f27430 100644 --- a/lang/python/it_IT/LC_MESSAGES/python.po +++ b/lang/python/it_IT/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Italian (Italy) (https://www.transifex.com/calamares/teams/20061/it_IT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: it_IT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/ja/LC_MESSAGES/python.mo b/lang/python/ja/LC_MESSAGES/python.mo index 0bbe50fcc37ab04662fe832e2548db5fbb34353e..492de1bd4e0659f189c6f6ed4d6b8322623b5925 100644 GIT binary patch delta 84 zcmbQoI*oOLjqDmm28Oi^3=D!m9L2=IAOfUwpmgKJ$O^Hb)Pnq?5?$Zo^vo1pr_%Id g-H?1Mg^3rWxGZ%IOcV?(tPIUIevxIIY`~NU004{>kpKVy delta 115 zcmbQnI*)aNjqDai28Oi^3=D!moW#VyAOfUIpmgWN$O`2E{}5g0qSVBa%=|oEm&B4( zD+MD1LvvjN3tb~a1w(TyQ`61djIxY!?x}gHML_u!U8hPbg@VfT)RL0aiW0qoN(Dnb J)5+>g`2fNv9MAv& diff --git a/lang/python/ja/LC_MESSAGES/python.po b/lang/python/ja/LC_MESSAGES/python.po index c717b4a8b..0a0b42d34 100644 --- a/lang/python/ja/LC_MESSAGES/python.po +++ b/lang/python/ja/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Takefumi Nagata , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Takefumi Nagata , 2017\n" "Language-Team: Japanese (https://www.transifex.com/calamares/teams/20061/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "machine-id の生成" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Dummy python job." @@ -26,6 +30,23 @@ msgstr "Dummy python job." msgid "Dummy python step {}" msgstr "Dummy python step {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "machine-id の生成" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "" diff --git a/lang/python/kk/LC_MESSAGES/python.mo b/lang/python/kk/LC_MESSAGES/python.mo index bffc9c65b42302bf8588c873c391bf17a23f5133..2b0afba0e738410dac794e28bd1984f31b29601c 100644 GIT binary patch delta 55 zcmZ3=JePTb3S;s_RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H<)W;6l-<*N}a delta 85 zcmbQsyp(x@3S;&}RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl ougJNl=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWXE7QB0A#ls!~g&Q diff --git a/lang/python/kk/LC_MESSAGES/python.po b/lang/python/kk/LC_MESSAGES/python.po index d0936fa83..e1ffbb3e9 100644 --- a/lang/python/kk/LC_MESSAGES/python.po +++ b/lang/python/kk/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Kazakh (https://www.transifex.com/calamares/teams/20061/kk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: kk\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,23 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/lo/LC_MESSAGES/python.mo b/lang/python/lo/LC_MESSAGES/python.mo index 9434f55ba98a042251ce7f81ddab27cd663d8b5e..1a06a5e255372a851de49a5ff5e198906b408d88 100644 GIT binary patch delta 55 zcmZ3)Jd1gP3S+`VRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8!k>RU^D^%D$`R-N>VFI^a?5!4E0PWr!yJ@0AXMnwEzGB diff --git a/lang/python/lo/LC_MESSAGES/python.po b/lang/python/lo/LC_MESSAGES/python.po index 17ead03e2..b11a51f76 100644 --- a/lang/python/lo/LC_MESSAGES/python.po +++ b/lang/python/lo/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Lao (https://www.transifex.com/calamares/teams/20061/lo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: lo\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,23 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/lt/LC_MESSAGES/python.mo b/lang/python/lt/LC_MESSAGES/python.mo index e5dad30982317ae450d8c4aa3e10f1a7fe01a4a8..421ec7f2fa5e95355e8c64c42419ec61157a03a7 100644 GIT binary patch delta 660 zcmZvYy-UMD7{;$@>*u6s#SbJXl~hTsP(-^~Tm%Iz9bJy*2xpsIX%cZO2!d-VZlbOt z2;v|PE^0wH!9^&zxjXm=_@qs+tvz`1OP=T6_q|*_eAi$891fijtUhQ8+Jy$8Q^;K} z&=B+rjX-se-=OP<1B4{OF>nFg1QXx^_yJu)llVRi5;6^*furC9i25{n$4eH*7dQ{5 zLWJyq3`8yIg~AYG(gVS692Ovw`>62s@`h>Iv`~8N&6J<7HO_RK zV^*Ho4vyP&I5nt+lleb`khX@rBjc@w?OE+MPS%Q=D2Y94c!MZ!UIFWJ2ek`Y;AZ#v Ne%58YAJPBQe*vszwIToj delta 225 zcmdnad7Cx!o)F7a1|VPoVi_Q|0b*7ljsap2C;(zXAT9)A5g=}c(ldbc14aghwLn@D zi2Ilz`d0vHQ6T>)kOoRKFat5jY^I3^T_&$&R8bD_57BilN=+=u%+J$xNi0dVQZO0h1e8zFb*i*dD5y+NEh$N@DA6mZR4~*toy^JH kDSdQbN@;#cX0aZFTV{4iWm#!4P+dtzexAb7$s3uK0F?+ZU;qFB diff --git a/lang/python/lt/LC_MESSAGES/python.po b/lang/python/lt/LC_MESSAGES/python.po index 69c267745..bda9e87c7 100644 --- a/lang/python/lt/LC_MESSAGES/python.po +++ b/lang/python/lt/LC_MESSAGES/python.po @@ -1,31 +1,56 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Moo , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Moo , 2017\n" "Language-Team: Lithuanian (https://www.transifex.com/calamares/teams/20061/lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: lt\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: src/modules/dummypython/main.py:44 -msgid "Dummy python job." -msgstr "Fiktyvi python užduotis." - -#: src/modules/dummypython/main.py:97 -msgid "Dummy python step {}" -msgstr "Fiktyvus python žingsnis {}" - #: src/modules/machineid/main.py:35 msgid "Generate machine-id." msgstr "Generuoti machine-id." + +#: src/modules/dummypython/main.py:44 +msgid "Dummy python job." +msgstr "Fiktyvi python užduotis." + +#: src/modules/dummypython/main.py:97 +msgid "Dummy python step {}" +msgstr "Fiktyvus python žingsnis {}" + +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Apdorojami paketai (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Įdiegiamas %(num)d paketas." +msgstr[1] "Įdiegiami %(num)d paketai." +msgstr[2] "Įdiegiama %(num)d paketų." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Šalinamas %(num)d paketas." +msgstr[1] "Šalinami %(num)d paketai." +msgstr[2] "Šalinama %(num)d paketų." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Įdiegti paketus." diff --git a/lang/python/mr/LC_MESSAGES/python.mo b/lang/python/mr/LC_MESSAGES/python.mo index 6d50fa2e64725ce959455394596d1e79c3392171..ada8d963fff5c449063606063c7d014fea62aae2 100644 GIT binary patch delta 55 zcmZ3>yp(x@3S;&}RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H_+VYCDQ>Y5Qv delta 85 zcmZ3=yq0-_3S;p^RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl ougbZn=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWXERy>0Bn^S, YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Marathi (https://www.transifex.com/calamares/teams/20061/mr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: mr\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/nb/LC_MESSAGES/python.mo b/lang/python/nb/LC_MESSAGES/python.mo index 11acd6cc350814f32d396ce73edfebc386454db4..4a10eac4489b998336604ddd23e522b93bffd710 100644 GIT binary patch delta 55 zcmdnayqD$`R-N>VFI^a?5!4E0PWmoi!b0C%?=7XSbN diff --git a/lang/python/nb/LC_MESSAGES/python.po b/lang/python/nb/LC_MESSAGES/python.po index d5d2da856..40b2a710a 100644 --- a/lang/python/nb/LC_MESSAGES/python.po +++ b/lang/python/nb/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/calamares/teams/20061/nb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: nb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/nl/LC_MESSAGES/python.mo b/lang/python/nl/LC_MESSAGES/python.mo index 487cfd28a7e27b07d8f63542ae2dd57d50647289..3ecd47e745d4c463947c34a78d2f29a74717ef97 100644 GIT binary patch delta 84 zcmbQmI*E0HjqE~328Oi^3=E<`?9ar&AOWOPfwVA?uA3NHAr_QckY7}y>sy?jnWF1d inqI6Ml5eFj@q!eWrLKXAf`NsVq1nbS+>Ddum}&s_=oDH2 delta 115 zcmbQlI*WCJjqFNB28Oi^3=E<`9L~hRAOWOvfwVA?Zkrfcp&Z~JqU&6gnpl#VpQr1R zSdwa`U}Ruuu4`bSYh, YEAR. # -# Translators: -# Adriaan de Groot , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Adriaan de Groot , 2017\n" "Language-Team: Dutch (https://www.transifex.com/calamares/teams/20061/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Genereer machine-id" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Voorbeeld Python-taak" @@ -26,6 +30,25 @@ msgstr "Voorbeeld Python-taak" msgid "Dummy python step {}" msgstr "Voorbeeld Python-stap {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Genereer machine-id" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "" diff --git a/lang/python/pl/LC_MESSAGES/python.mo b/lang/python/pl/LC_MESSAGES/python.mo index e739111fe94b3cfe79b6ac1abfbee2162f2e439d..60aa4f6ac402a0698dc097ffd26f89ab65c4c05f 100644 GIT binary patch delta 85 zcmZ3?Hk)mNjjTQs1H)Pd1_luzz6)f7=ubde7)Y~EjI0m~N-fAQD$(^VPR~rybt+9S h)(y$GQkZx_ipx^hz(m2o!phKW;}>?u%~DL9i~t)E6hZ(1 delta 116 zcmbQuwwP^#jjTBn1H)Pd1_luzehOrR=wCou7)bL^jI2-&@DI^-E=o--$;{8wbxABq zwNfxLFf`XSu+TL!R4_ERGBw@I&B)Fu=boCES_G6&(RHe{QYffQPc11)ttines8lf2 LGu, YEAR. # -# Translators: -# m4sk1n , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: m4sk1n , 2017\n" "Language-Team: Polish (https://www.transifex.com/calamares/teams/20061/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pl\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Generuj machine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Zadanie Dummy Python" @@ -26,6 +30,29 @@ msgstr "Zadanie Dummy Python" msgid "Dummy python step {}" msgstr "Krok dummy python {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Generuj machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, 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:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "" diff --git a/lang/python/pl_PL/LC_MESSAGES/python.mo b/lang/python/pl_PL/LC_MESSAGES/python.mo index dea0102b9bc7b03c977d5f9e83904ddd89a933ab..fc462020534264da6ae6ada2ff3fe4d02936e39c 100644 GIT binary patch delta 55 zcmX@ha+GC)3M2PKRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8y-xqXFLZ0=W!9* delta 85 zcmX@ga+YO+3Zw8uRSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl oAIQ0<=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWmoc6P0B1cLasU7T diff --git a/lang/python/pl_PL/LC_MESSAGES/python.po b/lang/python/pl_PL/LC_MESSAGES/python.po index 3a12bb74b..35261da58 100644 --- a/lang/python/pl_PL/LC_MESSAGES/python.po +++ b/lang/python/pl_PL/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Polish (Poland) (https://www.transifex.com/calamares/teams/20061/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pl_PL\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,29 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, 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:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/pt_BR/LC_MESSAGES/python.mo b/lang/python/pt_BR/LC_MESSAGES/python.mo index d6f544aa35ca0976d9ba373137d7564c3ca63e5d..e6c7bd3b91849bb5930d00f797d7447bc09535e8 100644 GIT binary patch delta 643 zcmaKoy-UMD7{;%))uMwaqF5BJNF}B83yRbtXp0Vl1u5d9%aNQRHqDhJEpDCs14?mI zoQpWPI*8CkH=PCl1_#}Jk|x#<@Zibs^1Syxcf7aZ=Scf?I&?;`BG3YK2u(oekh313 zDd-WJfnGemfsP*z5RwPyz$CZ>X2BEi9_m3+{2z}HG7p}DPT%E#WpaZ}4n`kz0zSYD z7z+`CUNQ!SA=qRTg6%#QAVKHT(Kg%LhGjEdrwu08n98j*@f^)isW7--_~FMTqghWV zehp2#rjWU1IZb{NmEw{tnud*o85);tfr}DKf>e23w7mEw|9E<6|4#2*EzeeYLzs4| zVyT*vDmPUtwI_Lf4fmr zcv_fh_aJcBEd=)`w`|s6^hlHK{MvR7$kvoACLyAUjd|n(hST%3^JQ(;z5_mD;ZUk1N=jDor_WvOEUBGbX^ilQmqt> z3=GY64J>qx3>6H`txQcPvoqOixR++;WTY15rYiXA1?wr;q?cyqCKe?p<`ie?Pf$(i{;MI{;ec?#9F4DLX!MGCoz$r+h>sk)gddJF(<@, YEAR. # -# Translators: -# Guilherme M.S. , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Guilherme M.S. , 2017\n" +"Last-Translator: André Marcelo Alvarenga , 2017\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/calamares/teams/20061/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Gerar machine-id." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Trabalho fictício python." #: src/modules/dummypython/main.py:97 msgid "Dummy python step {}" -msgstr "Passo fictício python {}" +msgstr "Etapa fictícia python {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Gerar machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Processando pacotes (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "Instalando um pacote." +msgstr[1] "Instalando %(num)d pacotes." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "Removendo um pacote." +msgstr[1] "Removendo %(num)d pacotes." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Instalar pacotes." diff --git a/lang/python/pt_PT/LC_MESSAGES/python.mo b/lang/python/pt_PT/LC_MESSAGES/python.mo index 297cbdbf5a85f9806696b42c842db6c212ee3c02..d1d52a7f9a292830f68453f3900170d3a310ace2 100644 GIT binary patch delta 576 zcmZ{fu}Z^G6oyZ0t3@Y8Er`PviKa-}6pCoJ78gN5ila+tLx{GyB{wNLa~E+E zCpR~Ba~FI87Y84}|F*f*Dh9rM;ZM$gbMEs`h4_6THy~UEunJDV9Jm7VdIt001uTNM z)Ss}-^BJNVT!gpa1K5Pm;YV--_xhh9msAT%AM-W8}5lL>Zb8T`r}MB(HpHauK9PN TIt%1VPFlVu50&jI{Zsx8M&OVP delta 193 zcmX@kv6(gVo)F7a1|VPoVi_Q|0b*7ljsap2C;(zXAT9)A5g=}c(ldbc2}TBnwNQQ; z69a=NklhWWLFyL*X`nO%GZ2H!W}0}=W%5c!73Bc`5MAe@)Wnj^{5)Nk#FA7i1tSAP zb6o=qT_ZyULvt%r)6MKm>Wp&ksd=eIK=~A1r%Ee@g39#Nl9JSl61{>-1w%d4$-2x{ E00s3UCIA2c diff --git a/lang/python/pt_PT/LC_MESSAGES/python.po b/lang/python/pt_PT/LC_MESSAGES/python.po index b536c18ab..485ecc10f 100644 --- a/lang/python/pt_PT/LC_MESSAGES/python.po +++ b/lang/python/pt_PT/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Ricardo Simões , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ricardo Simões , 2017\n" "Language-Team: Portuguese (Portugal) (https://www.transifex.com/calamares/teams/20061/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Gerar id-máquina" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Tarefa Dummy python." @@ -26,6 +30,25 @@ msgstr "Tarefa Dummy python." msgid "Dummy python step {}" msgstr "Passo Dummy python {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Gerar id-máquina" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "A processar pacotes (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "A instalar um pacote." +msgstr[1] "A instalar %(num)d pacotes." + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "A remover um pacote." +msgstr[1] "A remover %(num)d pacotes." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Instalar pacotes." diff --git a/lang/python/ro/LC_MESSAGES/python.mo b/lang/python/ro/LC_MESSAGES/python.mo index ec67fcbe6887c5606045219b5569ac62bb0aa57d..40d555edb68038aa037e832348980cf1079c0bdf 100644 GIT binary patch delta 55 zcmcc4e4crN3ggs?sup5FsRj8(CAz-F>6t0IPNnI^x*_>i3KL_bxGZ%IOcV?(tPIU2 LHe8!r%9sQI1acAf delta 85 zcmX@le4TlM3gg^~sus!t{vo=~MX8A;nfZCTE{P?nRtiQ2hUU5k7P>};3WnxZrlu38 oUz2lB%}Xr;%BJW#Raz+&RHmnvl%!Ua=oM5d80wi$&S6Xj0F^--jsO4v diff --git a/lang/python/ro/LC_MESSAGES/python.po b/lang/python/ro/LC_MESSAGES/python.po index ded68d3a8..5a2d0706b 100644 --- a/lang/python/ro/LC_MESSAGES/python.po +++ b/lang/python/ro/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Romanian (https://www.transifex.com/calamares/teams/20061/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,27 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/ru/LC_MESSAGES/python.mo b/lang/python/ru/LC_MESSAGES/python.mo index 0c0ac899128c8da65c517e01264a0f272cf7d0d6..0faa2fe7cae3bba9fdc474a7da626179ac287b92 100644 GIT binary patch delta 55 zcmdnavYusv3gg#_sup5FsRj8(CAz-F>6t0IPNnI^x*_>i3KL_bxGZ%IOcV?(tPIU2 LHe8)t!gv?}3AGY; delta 85 zcmZ3_vYlmu3gh32sus!t{vo=~MX8A;nfZCTE{P?nRtiQ2hUU5k7P>};3WnxZrlu38 oUzKxD%}Xr;%BJW#Raz+&RHmnvl%!Ua=oM5d80wi$&SpFU0G?qS4*&oF diff --git a/lang/python/ru/LC_MESSAGES/python.po b/lang/python/ru/LC_MESSAGES/python.po index 56112d8e7..215e7652d 100644 --- a/lang/python/ru/LC_MESSAGES/python.po +++ b/lang/python/ru/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Russian (https://www.transifex.com/calamares/teams/20061/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: 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/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,29 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, 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:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/sk/LC_MESSAGES/python.mo b/lang/python/sk/LC_MESSAGES/python.mo index 45c4ac2f2411ebc5a14708b59ec98531c551e9f7..405b02f88df5bd0edee90c0d20ffce6caf0d5f3d 100644 GIT binary patch delta 55 zcmX@kyq|f33S;X;RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H<)W()xU`h^j+ delta 85 zcmdnbe4KfL3S;j?RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl ougJNl=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWXEBBX0ELAcOaK4? diff --git a/lang/python/sk/LC_MESSAGES/python.po b/lang/python/sk/LC_MESSAGES/python.po index 6e6a53e8c..edaf3ef4b 100644 --- a/lang/python/sk/LC_MESSAGES/python.po +++ b/lang/python/sk/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Slovak (https://www.transifex.com/calamares/teams/20061/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,27 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/sl/LC_MESSAGES/python.mo b/lang/python/sl/LC_MESSAGES/python.mo index 2be66f6adc74cac36b0c714bb8bd5e6ce70b95ff..615d4b0b7614c1cd4c96ab9283f7bcd5ba3f2da7 100644 GIT binary patch delta 55 zcmaFNe4BZK3gg0wsup5FsRj8(CAz-F>6t0IPNnI^x*_>i3KL_bxGZ%IOcV?(tPIU2 LHe8=v#+VBL3)K=Q delta 85 zcmcc3{Fr%y3ggO&sus!t{vo=~MX8A;nfZCTE{P?nRtiQ2hUU5k7P>};3WnxZrlu38 oUzc-F%}Xr;%BJW#Raz+&RHmnvl%!Ua=oM5d80wi$&SlI40HFIDzW@LL diff --git a/lang/python/sl/LC_MESSAGES/python.po b/lang/python/sl/LC_MESSAGES/python.po index 06f969efb..75e1ce058 100644 --- a/lang/python/sl/LC_MESSAGES/python.po +++ b/lang/python/sl/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Slovenian (https://www.transifex.com/calamares/teams/20061/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,29 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, 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:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/sr/LC_MESSAGES/python.mo b/lang/python/sr/LC_MESSAGES/python.mo index 644bf61ff4b6372a9151e571b6482ca41a16cf3a..d6f9d392c419a01ea7e99d9c7aa1576e076120b8 100644 GIT binary patch delta 55 zcmey){GNG&3ggy^sup5FsRj8(CAz-F>6t0IPNnI^x*_>i3KL_bxGZ%IOcV?(tPIU2 LHe8)t!q^M|7z+}0 delta 85 zcmaFQ{GEA%3gh01sus!t{vo=~MX8A;nfZCTE{P?nRtiQ2hUU5k7P>};3WnxZrlu38 oUzKxD%}Xr;%BJW#Raz+&RHmnvl%!Ua=oM5d80wi$&Sq=@0JHlX4FCWD diff --git a/lang/python/sr/LC_MESSAGES/python.po b/lang/python/sr/LC_MESSAGES/python.po index 6c9bcf090..3d7d8a376 100644 --- a/lang/python/sr/LC_MESSAGES/python.po +++ b/lang/python/sr/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Serbian (https://www.transifex.com/calamares/teams/20061/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sr\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,27 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/sr@latin/LC_MESSAGES/python.mo b/lang/python/sr@latin/LC_MESSAGES/python.mo index 4d987eec0388e065b2775c9e8c261c12756cb47c..ec7faf31114e5202a6adb106c531d6b6850641d5 100644 GIT binary patch delta 55 zcmeBXX=a(A!gz9`s)blkYC(QciLP&PdS;5QQ)zm!Zb-hB!o(OUE=yel69oecD?_u1 L4UZ=`F?Ip~?+g*u delta 85 zcmZo>>1LUr!gz6_s)cfZe~7MgQEFmIW`3ToOJYf?m4cChp}DSsg|3mIf}y#Usp-V& nkLBD`^HPg|vMIVwl~xJ`mFcM^C8-r9dIgmVhI*!xD;c{0b^#l0 diff --git a/lang/python/sr@latin/LC_MESSAGES/python.po b/lang/python/sr@latin/LC_MESSAGES/python.po index 2df9c34e2..2ec845ba1 100644 --- a/lang/python/sr@latin/LC_MESSAGES/python.po +++ b/lang/python/sr@latin/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Serbian (Latin) (https://www.transifex.com/calamares/teams/20061/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sr@latin\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,27 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/sv/LC_MESSAGES/python.mo b/lang/python/sv/LC_MESSAGES/python.mo index 9cc4780e2d3e3ec8cab49381ac3ff3a125588659..e27097ca78aac5d94491e788e96146fa8c437aa2 100644 GIT binary patch delta 55 zcmZ3>yp(x@3S;&}RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8?H_+VYCDQ>Y5Qv delta 85 zcmZ3=yq0-_3S;p^RSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl ougbZn=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWXERy>0Bn^S, YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Swedish (https://www.transifex.com/calamares/teams/20061/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/th/LC_MESSAGES/python.mo b/lang/python/th/LC_MESSAGES/python.mo index a3a10a3fd81906a8903d67a1b35b2bab46a30251..99aa63bebcd8cb29f97531c635c8a1d183f4bfa6 100644 GIT binary patch delta 55 zcmZ3?Jezrf3S;6#RSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8!k;QWHbT*D$`R-N>VFI^a?5!4E0PWXD}KA0AhU_x&QzG diff --git a/lang/python/th/LC_MESSAGES/python.po b/lang/python/th/LC_MESSAGES/python.po index 0ead47db9..da9c4a44e 100644 --- a/lang/python/th/LC_MESSAGES/python.po +++ b/lang/python/th/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Thai (https://www.transifex.com/calamares/teams/20061/th/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: th\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,23 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/tr_TR/LC_MESSAGES/python.mo b/lang/python/tr_TR/LC_MESSAGES/python.mo index dd976051a2bc9411bd081e304eda5ed7b78d7cf9..046d5b5c98e0f48bc664a4f54e5311a20ff924d3 100644 GIT binary patch delta 533 zcmZ{eF-yZh6vtn+)uM}vC`yq7sia8S3PrSIaS;?sad2=6%@Ja*xss&CPW=c{#6b|8 z98?gpyBR?@cfrrl!4Kg7G@(@R!7o4VfA78AZRR}N|6E945-JOF-~`NqYoO{C%!4a}GJFO+^$sLC3o@{d8 zS3}7rrscJ!?6?6MODwMi5NryUh7!C zek7}G@V+{;tCuURyi?uU4!?4#i_%25TQ?jY2=3Xe_x$7tPNR*uh(p)zNsp3NX20AB X{*(Rt?(r>-AAio<(1Em?5ff!^q)5L==lUFjTCl#?-8W}1Wnp>HgZf0kaVU%-E%}Xr;%BSc$Raz+&RHmnvl%!Ua=oM5d80wi$R$?v( E0Ip3Ud;kCd diff --git a/lang/python/tr_TR/LC_MESSAGES/python.po b/lang/python/tr_TR/LC_MESSAGES/python.po index 257abac67..9be847915 100644 --- a/lang/python/tr_TR/LC_MESSAGES/python.po +++ b/lang/python/tr_TR/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Demiray Muhterem , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Demiray Muhterem , 2017\n" "Language-Team: Turkish (Turkey) (https://www.transifex.com/calamares/teams/20061/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: tr_TR\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "Makine kimliği oluştur." + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "Dummy python job." @@ -26,6 +30,23 @@ msgstr "Dummy python job." msgid "Dummy python step {}" msgstr "Dummy python step {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "Makine kimliği oluştur." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "Paketler işleniyor (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "%(num)d paket yükleniyor" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "%(num)d paket kaldırılıyor." + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "Paketleri yükle" diff --git a/lang/python/uk/LC_MESSAGES/python.mo b/lang/python/uk/LC_MESSAGES/python.mo index bd9e1646f947ea1969bcef50c62397a71664866d..d17a14087350d1ea1a5618d5f7a874990c6a1a36 100644 GIT binary patch delta 55 zcmey#{E>Nr3gh;Psup5FsRj8(CAz-F>6t0IPNnI^x*_>i3KL_bxGZ%IOcV?(tPIU2 LHe8=v#@Gx18B-E} delta 85 zcmey!{F8Zt3giBXsus!t{vo=~MX8A;nfZCTE{P?nRtiQ2hUU5k7P>};3WnxZrlu38 oUzc-F%}Xr;%BJW#Raz+&RHmnvl%!Ua=oM5d80wi$&Sh)?0Jb$87XSbN diff --git a/lang/python/uk/LC_MESSAGES/python.po b/lang/python/uk/LC_MESSAGES/python.po index 4d3aebff2..c25e7e777 100644 --- a/lang/python/uk/LC_MESSAGES/python.po +++ b/lang/python/uk/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Ukrainian (https://www.transifex.com/calamares/teams/20061/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,27 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/ur/LC_MESSAGES/python.mo b/lang/python/ur/LC_MESSAGES/python.mo index bac8758da569afac2588342d753829bad8381f29..176215bcba026f3396f1921f71489da542f3ecda 100644 GIT binary patch delta 55 zcmZ3*yoh;%3S-7ZRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8!k;QWV8eT=&lhy delta 85 zcmZ3)yoz~(3S+@URSV?+{}5g0qSVBa%=|oEm&B4(D+MD1LvvjN3tb~a1w(TyQ`3pl oFUh&5=A{+^Wm9yWDyD$`R-N>VFI^a?5!4E0PWXE0g;0BJrN)&Kwi diff --git a/lang/python/ur/LC_MESSAGES/python.po b/lang/python/ur/LC_MESSAGES/python.po index 29c56e76d..58ff76786 100644 --- a/lang/python/ur/LC_MESSAGES/python.po +++ b/lang/python/ur/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Urdu (https://www.transifex.com/calamares/teams/20061/ur/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: ur\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,25 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" +msgstr[1] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/uz/LC_MESSAGES/python.mo b/lang/python/uz/LC_MESSAGES/python.mo index 83a0bd2e48de6f26104d0a7f9497d2f7aa00596a..037e2fa2a1d9f209926d84049182e5f3e7fc6457 100644 GIT binary patch delta 55 zcmZ3&JcoIL3S-hlRSU78)Pnq?5?$Zo^vo1pr_%Id-H?1Mg^4jzT$Z{9CJF`?R)%I1 L8!k^SVl)B(D$`R-N>VFI^a?5!4E0PWXEGWC0ArdOzW@LL diff --git a/lang/python/uz/LC_MESSAGES/python.po b/lang/python/uz/LC_MESSAGES/python.po index 818df31ba..26cab9c97 100644 --- a/lang/python/uz/LC_MESSAGES/python.po +++ b/lang/python/uz/LC_MESSAGES/python.po @@ -1,20 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Uzbek (https://www.transifex.com/calamares/teams/20061/uz/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: uz\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "" @@ -23,6 +29,23 @@ msgstr "" msgid "Dummy python step {}" msgstr "" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." msgstr "" diff --git a/lang/python/zh_CN/LC_MESSAGES/python.mo b/lang/python/zh_CN/LC_MESSAGES/python.mo index b04097270bbca174f492d22ebb746a2994766d82..7e0bff4f57eeeb390bd3e85a743d774fe6da32a7 100644 GIT binary patch delta 84 zcmZ3&I)`@~ delta 115 zcmbQkx`cItjqFB728Oi^3=HBx9M1%y%Yn2Akl#NsvO+n)KSbBLC^fMpGe1w)C9x#c zO2Np$&|KHRLf6Pp!O+~w)O0g9qd23Sdum>45l}uw*QwG, YEAR. # -# Translators: -# Mingcong Bai , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Mingcong Bai , 2017\n" "Language-Team: Chinese (China) (https://www.transifex.com/calamares/teams/20061/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "生成 machine-id。" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "占位 Python 任务。" @@ -26,6 +30,23 @@ msgstr "占位 Python 任务。" msgid "Dummy python step {}" msgstr "占位 Python 步骤 {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "生成 machine-id。" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "" diff --git a/lang/python/zh_TW/LC_MESSAGES/python.mo b/lang/python/zh_TW/LC_MESSAGES/python.mo index 513104f66025c557ff56a1450fceb005cc6c7192..2fb81f15681c1ab00a6d73f61bd11e9c58e5c8b7 100644 GIT binary patch delta 549 zcmZ3?I)|hFo)F7a1|Z-7Vi_Qg0b*_-o&&@nZ~}-0f%qg4ivaO$DE$FQgTz@G85m4} zv^bE~2GTx2+5kvb0O?ggyb_4Tf&36=1_n_eodcvn<}?9mAqEB~hUq|tB2Zuzkk$p# zXQ2FFKpLo*fgOlhff&eTU;||8Ps@Xm~uUYFuLgzSF4Eyr55BDmFW5wr)Q?xSf8DNMW|#bv2$ zV4`4PVP$Bx@rwlGWNoI3`lstUUo4*cV)y))tEW8eX?@(##PDqG;-_;~KqP=}fjA$F eiWf7dKA+GAm%!-jTn2X$EE>2ARz?@u17(m5eIN0sbMn&PAz-C7Jnox-N+&sa6U` z28QOk1{S(Th6;w}R;H$#*_k95<=j*AQj37{DY{OTRtg1`>8T|psTC!91(gbhdZv@* Gm@5IbY9fFD diff --git a/lang/python/zh_TW/LC_MESSAGES/python.po b/lang/python/zh_TW/LC_MESSAGES/python.po index 6bea01c7e..2d1398174 100644 --- a/lang/python/zh_TW/LC_MESSAGES/python.po +++ b/lang/python/zh_TW/LC_MESSAGES/python.po @@ -1,23 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # -# Translators: -# Jeff Huang , 2017 +#, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2017-08-21 17:55-0400\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-04 08:16-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Jeff Huang , 2017\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/calamares/teams/20061/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: src/modules/machineid/main.py:35 +msgid "Generate machine-id." +msgstr "生成 machine-id。" + #: src/modules/dummypython/main.py:44 msgid "Dummy python job." msgstr "假的 python 工作。" @@ -26,6 +30,23 @@ msgstr "假的 python 工作。" msgid "Dummy python step {}" msgstr "假的 python step {}" -#: src/modules/machineid/main.py:35 -msgid "Generate machine-id." -msgstr "生成 machine-id。" +#: src/modules/packages/main.py:59 +#, python-format +msgid "Processing packages (%(count)d / %(total)d)" +msgstr "正在處理軟體包 (%(count)d / %(total)d)" + +#: src/modules/packages/main.py:61 +#, python-format +msgid "Installing one package." +msgid_plural "Installing %(num)d packages." +msgstr[0] "正在安裝 %(num)d 軟體包。" + +#: src/modules/packages/main.py:64 +#, python-format +msgid "Removing one package." +msgid_plural "Removing %(num)d packages." +msgstr[0] "正在移除 %(num)d 軟體包。" + +#: src/modules/packages/main.py:68 +msgid "Install packages." +msgstr "安裝軟體包。" From d86ea76af21c55c1fdf4eae360860ffa57b84aaf Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 7 Sep 2017 05:46:34 -0400 Subject: [PATCH 038/129] Bump RC down to 0 for release --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f98b25c99..5e8d97d25 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,7 +132,7 @@ set( CALAMARES_TRANSLATION_LANGUAGES ar ast bg ca cs_CZ da de el en en_GB es_MX set( CALAMARES_VERSION_MAJOR 3 ) set( CALAMARES_VERSION_MINOR 1 ) set( CALAMARES_VERSION_PATCH 4 ) -set( CALAMARES_VERSION_RC 1 ) +set( CALAMARES_VERSION_RC 0 ) set( CALAMARES_VERSION ${CALAMARES_VERSION_MAJOR}.${CALAMARES_VERSION_MINOR}.${CALAMARES_VERSION_PATCH} ) set( CALAMARES_VERSION_SHORT "${CALAMARES_VERSION}" ) From c0daa69dc8cbe6a11c59c3a90ba1c5d6e1a2e86a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 7 Sep 2017 05:46:51 -0400 Subject: [PATCH 039/129] i18n: delete magically duplicating comment --- calamares.desktop | 9 --------- 1 file changed, 9 deletions(-) diff --git a/calamares.desktop b/calamares.desktop index b6e360d62..e52d999ed 100644 --- a/calamares.desktop +++ b/calamares.desktop @@ -11,15 +11,6 @@ Icon=calamares Terminal=false StartupNotify=true Categories=Qt;System; - - -# Translations - - -# Translations - - -# Translations Name[ca]=Calamares Icon[ca]=calamares GenericName[ca]=Instal·lador de sistema From 510d2d22d587d96d6d2ec521eb25326565136d84 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Sep 2017 08:14:54 -0400 Subject: [PATCH 040/129] Clang: reduce warnings to useful level - suppress tons of warnings from Qt MOC due to pointer-casting - suppress warnings about globals --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e8d97d25..5978a1c53 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,7 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) set( CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG" ) set( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g" ) - set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-padded" ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-padded -Wno-undefined-reinterpret-cast -Wno-global-constructors -Wno-exit-time-destructors" ) set( CMAKE_CXX_FLAGS_DEBUG "-g" ) set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" ) set( CMAKE_CXX_FLAGS_RELEASE "-O4 -DNDEBUG" ) From 3aa540a69ecc75bf88c95ae1ce14c6c983accb3c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Sep 2017 07:47:58 -0400 Subject: [PATCH 041/129] Clang: static constant usage strings --- src/crashreporter/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/crashreporter/main.cpp b/src/crashreporter/main.cpp index 17e6fd13b..8d7ef16e0 100644 --- a/src/crashreporter/main.cpp +++ b/src/crashreporter/main.cpp @@ -41,11 +41,11 @@ #ifdef Q_OS_LINUX -const char* k_usage = +static const char k_usage[] = "Usage:\n" " CrashReporter \n"; #else -const char* k_usage = +static const char k_usage[] = "Usage:\n" " CrashReporter \n"; #endif From 31fa9e4251082c19e0a514829a77dafe748a0cd5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Sep 2017 07:50:09 -0400 Subject: [PATCH 042/129] Clang: fix warnings on partition splitter - initialize all the fields - member-initialization order - silence warnings about double<->int - drop unused parameter to setSplitPartition --- src/modules/partition/gui/ChoicePage.cpp | 3 +-- .../partition/gui/PartitionSplitterWidget.cpp | 23 +++++++++++-------- .../partition/gui/PartitionSplitterWidget.h | 8 +++---- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/modules/partition/gui/ChoicePage.cpp b/src/modules/partition/gui/ChoicePage.cpp index fcbfdb5fc..b4e9b0c9f 100644 --- a/src/modules/partition/gui/ChoicePage.cpp +++ b/src/modules/partition/gui/ChoicePage.cpp @@ -474,8 +474,7 @@ ChoicePage::doAlongsideSetupSplitter( const QModelIndex& current, part->partitionPath(), qRound64( part->used() * 1.1 ), part->capacity() - requiredStorageB, - part->capacity() / 2, - *Calamares::Branding::ProductName ); + part->capacity() / 2 ); if ( m_isEfi ) setupEfiSystemPartitionSelector(); diff --git a/src/modules/partition/gui/PartitionSplitterWidget.cpp b/src/modules/partition/gui/PartitionSplitterWidget.cpp index a4aacbe9f..4b0776344 100644 --- a/src/modules/partition/gui/PartitionSplitterWidget.cpp +++ b/src/modules/partition/gui/PartitionSplitterWidget.cpp @@ -34,18 +34,18 @@ #include static const int VIEW_HEIGHT = qMax( CalamaresUtils::defaultFontHeight() + 8, // wins out with big fonts - (int)( CalamaresUtils::defaultFontHeight() * 0.6 ) + 22 ); // wins out with small fonts + int( CalamaresUtils::defaultFontHeight() * 0.6 ) + 22 ); // wins out with small fonts static const int CORNER_RADIUS = 3; static const int EXTENDED_PARTITION_MARGIN = qMax( 4, VIEW_HEIGHT / 6 ); PartitionSplitterWidget::PartitionSplitterWidget( QWidget* parent ) : QWidget( parent ) - , m_resizing( false ) , m_itemToResize( PartitionSplitterItem::null() ) , m_itemToResizeNext( PartitionSplitterItem::null() ) , m_itemMinSize( 0 ) , m_itemMaxSize( 0 ) , m_itemPrefSize( 0 ) + , m_resizing( false ) , m_resizeHandleX( 0 ) , HANDLE_SNAP( QApplication::startDragDistance() ) , m_drawNestedPartitions( false ) @@ -114,8 +114,7 @@ void PartitionSplitterWidget::setSplitPartition( const QString& path, qint64 minSize, qint64 maxSize, - qint64 preferredSize, - const QString& newLabel ) + qint64 preferredSize ) { cDebug() << Q_FUNC_INFO << "path:" << path << "\nminSize:" << minSize @@ -287,6 +286,8 @@ PartitionSplitterWidget::minimumSizeHint() const void PartitionSplitterWidget::paintEvent( QPaintEvent* event ) { + Q_UNUSED( event ); + QPainter painter( this ); painter.fillRect( rect(), palette().window() ); painter.setRenderHint( QPainter::Antialiasing ); @@ -400,6 +401,8 @@ PartitionSplitterWidget::mouseMoveEvent( QMouseEvent* event ) void PartitionSplitterWidget::mouseReleaseEvent( QMouseEvent* event ) { + Q_UNUSED( event ); + m_resizing = false; } @@ -491,7 +494,7 @@ PartitionSplitterWidget::drawResizeHandle( QPainter* painter, painter->setRenderHint( QPainter::Antialiasing, false ); painter->setPen( Qt::black ); - painter->drawLine( x, 0, x, h - 1 ); + painter->drawLine( x, 0, x, int(h) - 1 ); } @@ -511,20 +514,20 @@ PartitionSplitterWidget::drawPartitions( QPainter* painter, for ( int row = 0; row < count; ++row ) { const PartitionSplitterItem& item = items[ row ]; - int width; + qreal width; if ( row < count - 1 ) width = totalWidth * ( item.size / total ); else // Make sure we fill the last pixel column width = rect.right() - x + 1; - drawSection( painter, rect, x, width, item ); + drawSection( painter, rect, x, int(width), item ); if ( !item.children.isEmpty() ) { QRect subRect( x + EXTENDED_PARTITION_MARGIN, rect.y() + EXTENDED_PARTITION_MARGIN, - width - 2 * EXTENDED_PARTITION_MARGIN, + int(width) - 2 * EXTENDED_PARTITION_MARGIN, rect.height() - 2 * EXTENDED_PARTITION_MARGIN ); drawPartitions( painter, subRect, item.children ); @@ -600,7 +603,7 @@ PartitionSplitterWidget::computeItemsVector( const QVector< PartitionSplitterIte PartitionSplitterItem thisItem = originalItems[ row ]; QPair< QVector< PartitionSplitterItem >, qreal > pair = computeItemsVector( thisItem.children ); thisItem.children = pair.first; - thisItem.size = pair.second; + thisItem.size = qint64(pair.second); items += thisItem; total += thisItem.size; } @@ -614,7 +617,7 @@ PartitionSplitterWidget::computeItemsVector( const QVector< PartitionSplitterIte if ( items[ row ].size < 0.01 * total ) // If this item is smaller than 1% of everything, { // force its width to 1%. adjustedTotal -= items[ row ].size; - items[ row ].size = 0.01 * total; + items[ row ].size = qint64(0.01 * total); adjustedTotal += items[ row ].size; } } diff --git a/src/modules/partition/gui/PartitionSplitterWidget.h b/src/modules/partition/gui/PartitionSplitterWidget.h index 5065a94ca..0d2d0e233 100644 --- a/src/modules/partition/gui/PartitionSplitterWidget.h +++ b/src/modules/partition/gui/PartitionSplitterWidget.h @@ -40,9 +40,10 @@ struct PartitionSplitterItem qint64 size; Status status; - QVector< PartitionSplitterItem > children; + using ChildVector = QVector< PartitionSplitterItem >; + ChildVector children; - static PartitionSplitterItem null() { return { QString(), QColor(), false, 0, Normal }; } + static PartitionSplitterItem null() { return { QString(), QColor(), false, 0, Normal, ChildVector() }; } bool isNull() const { return itemPath.isEmpty() && size == 0 && status == Normal; } operator bool() const { return !isNull(); } @@ -59,8 +60,7 @@ public: void setSplitPartition( const QString& path, qint64 minSize, qint64 maxSize, - qint64 preferredSize, - const QString& newLabel ); + qint64 preferredSize ); qint64 splitPartitionSize() const; qint64 newPartitionSize() const; From a06911e9aad5b2764f11161c75dae41b76d6c42a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 8 Sep 2017 08:52:26 -0400 Subject: [PATCH 043/129] Clang: refactor units-converters, reduce warnings --- src/libcalamares/utils/Units.h | 60 +++++++++++++++++++ .../partition/core/PartitionActions.cpp | 30 +++------- .../partition/tests/PartitionJobTests.cpp | 19 +++--- .../welcome/checker/RequirementsChecker.cpp | 6 +- 4 files changed, 82 insertions(+), 33 deletions(-) create mode 100644 src/libcalamares/utils/Units.h diff --git a/src/libcalamares/utils/Units.h b/src/libcalamares/utils/Units.h new file mode 100644 index 000000000..81e2a9bca --- /dev/null +++ b/src/libcalamares/utils/Units.h @@ -0,0 +1,60 @@ +/* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef LIBCALAMARES_UTILS_UNITS_H +#define LIBCALAMARES_UTILS_UNITS_H + +#include + +namespace CalamaresUtils +{ + +/** User defined literals, 1_MiB is 1 MibiByte (= 2^20 bytes) */ +constexpr qint64 operator ""_MiB( unsigned long long m ) +{ + return qint64(m) * 1024 * 1024; +} + +/** User defined literals, 1_GiB is 1 GibiByte (= 2^30 bytes) */ +constexpr qint64 operator ""_GiB( unsigned long long m ) +{ + return operator ""_MiB(m) * 1024; +} + +constexpr qint64 MiBtoBytes( unsigned long long m ) +{ + return operator ""_MiB( m ); +} + +constexpr qint64 GiBtoBytes( unsigned long long m ) +{ + return operator ""_GiB( m ); +} + +constexpr qint64 MiBToBytes( double m ) +{ + return qint64(m * 1024 * 1024); +} + +constexpr qint64 GiBtoBytes( double m ) +{ + return qint64(m * 1024 * 1024 * 1024); +} + +} // namespace +#endif diff --git a/src/modules/partition/core/PartitionActions.cpp b/src/modules/partition/core/PartitionActions.cpp index 14e7bf010..9567661b2 100644 --- a/src/modules/partition/core/PartitionActions.cpp +++ b/src/modules/partition/core/PartitionActions.cpp @@ -25,6 +25,7 @@ #include "core/PartUtils.h" #include "utils/CalamaresUtilsSystem.h" +#include "utils/Units.h" #include "JobQueue.h" #include "utils/Logger.h" #include "GlobalStorage.h" @@ -36,25 +37,10 @@ namespace PartitionActions { -constexpr qint64 operator ""_MiB( unsigned long long m ) -{ - return m * static_cast< qint64 >( 1024 ) * 1024; -} - -constexpr qint64 operator ""_GiB( unsigned long long m ) -{ - return operator ""_MiB(m) * static_cast< qint64 >( 1024 ); -} - -constexpr qint64 toMiB( unsigned long long m ) -{ - return operator ""_MiB( m ); -} - -constexpr qint64 toGiB( unsigned long long m ) -{ - return operator ""_GiB( m ); -} +using CalamaresUtils::GiBtoBytes; +using CalamaresUtils::MiBtoBytes; +using CalamaresUtils::operator""_GiB; +using CalamaresUtils::operator""_MiB; qint64 swapSuggestion( const qint64 availableSpaceB ) @@ -140,11 +126,11 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass empty_space_size = 1; } - qint64 firstFreeSector = toMiB(empty_space_size) / dev->logicalSize() + 1; + qint64 firstFreeSector = MiBtoBytes(empty_space_size) / dev->logicalSize() + 1; if ( isEfi ) { - qint64 lastSector = firstFreeSector + ( toMiB(uefisys_part_size) / dev->logicalSize() ); + qint64 lastSector = firstFreeSector + ( MiBtoBytes(uefisys_part_size) / dev->logicalSize() ); core->createPartitionTable( dev, PartitionTable::gpt ); Partition* efiPartition = KPMHelpers::createNewPartition( dev->partitionTable(), @@ -175,7 +161,7 @@ doAutopartition( PartitionCoreModule* core, Device* dev, const QString& luksPass qint64 availableSpaceB = ( dev->totalLogical() - firstFreeSector ) * dev->logicalSize(); suggestedSwapSizeB = swapSuggestion( availableSpaceB ); qint64 requiredSpaceB = - toGiB( gs->value( "requiredStorageGB" ).toDouble() + 0.1 + 2.0 ) + + GiBtoBytes( gs->value( "requiredStorageGB" ).toDouble() + 0.1 + 2.0 ) + suggestedSwapSizeB; // If there is enough room for ESP + root + swap, create swap, otherwise don't. diff --git a/src/modules/partition/tests/PartitionJobTests.cpp b/src/modules/partition/tests/PartitionJobTests.cpp index fe869232b..9f3a33c26 100644 --- a/src/modules/partition/tests/PartitionJobTests.cpp +++ b/src/modules/partition/tests/PartitionJobTests.cpp @@ -19,6 +19,8 @@ #include +#include "utils/Units.h" + #include #include #include @@ -36,9 +38,8 @@ QTEST_GUILESS_MAIN( PartitionJobTests ) -static const qint64 MB = 1024 * 1024; - using namespace Calamares; +using CalamaresUtils::operator""_MiB; class PartitionMounter { @@ -247,7 +248,7 @@ PartitionJobTests::testCreatePartition() freePartition = firstFreePartition( m_device->partitionTable() ); QVERIFY( freePartition ); - job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::Ext4, 1 * MB); + job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::Ext4, 1_MiB); Partition* partition1 = job->partition(); QVERIFY( partition1 ); job->updatePreview(); @@ -255,7 +256,7 @@ PartitionJobTests::testCreatePartition() freePartition = firstFreePartition( m_device->partitionTable() ); QVERIFY( freePartition ); - job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::LinuxSwap, 1 * MB); + job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::LinuxSwap, 1_MiB); Partition* partition2 = job->partition(); QVERIFY( partition2 ); job->updatePreview(); @@ -263,7 +264,7 @@ PartitionJobTests::testCreatePartition() freePartition = firstFreePartition( m_device->partitionTable() ); QVERIFY( freePartition ); - job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::Fat32, 1 * MB); + job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::Fat32, 1_MiB); Partition* partition3 = job->partition(); QVERIFY( partition3 ); job->updatePreview(); @@ -288,7 +289,7 @@ PartitionJobTests::testCreatePartitionExtended() freePartition = firstFreePartition( m_device->partitionTable() ); QVERIFY( freePartition ); - job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::Ext4, 10 * MB); + job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Primary ), FileSystem::Ext4, 10_MiB); Partition* partition1 = job->partition(); QVERIFY( partition1 ); job->updatePreview(); @@ -296,7 +297,7 @@ PartitionJobTests::testCreatePartitionExtended() freePartition = firstFreePartition( m_device->partitionTable() ); QVERIFY( freePartition ); - job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Extended ), FileSystem::Extended, 10 * MB); + job = newCreatePartitionJob( freePartition, PartitionRole( PartitionRole::Extended ), FileSystem::Extended, 10_MiB); job->updatePreview(); m_queue.enqueue( job_ptr( job ) ); Partition* extendedPartition = job->partition(); @@ -341,7 +342,7 @@ PartitionJobTests::testResizePartition() QFETCH( int, newStartMB ); QFETCH( int, newSizeMB ); - const qint64 sectorForMB = MB / m_device->logicalSize(); + const qint64 sectorForMB = 1_MiB / m_device->logicalSize(); qint64 oldFirst = sectorForMB * oldStartMB; qint64 oldLast = oldFirst + sectorForMB * oldSizeMB - 1; @@ -350,7 +351,7 @@ PartitionJobTests::testResizePartition() // Make the test data file smaller than the full size of the partition to // accomodate for the file system overhead - const QByteArray testData = generateTestData( ( qMin( oldSizeMB, newSizeMB ) ) * MB * 3 / 4 ); + const QByteArray testData = generateTestData( CalamaresUtils::MiBtoBytes( qMin( oldSizeMB, newSizeMB ) ) * 3 / 4 ); const QString testName = "test.data"; // Setup: create the test partition diff --git a/src/modules/welcome/checker/RequirementsChecker.cpp b/src/modules/welcome/checker/RequirementsChecker.cpp index 29112de84..f85f70872 100644 --- a/src/modules/welcome/checker/RequirementsChecker.cpp +++ b/src/modules/welcome/checker/RequirementsChecker.cpp @@ -27,6 +27,8 @@ #include "utils/Logger.h" #include "utils/Retranslator.h" #include "utils/CalamaresUtilsSystem.h" +#include "utils/Units.h" + #include "JobQueue.h" #include "GlobalStorage.h" @@ -77,12 +79,12 @@ RequirementsChecker::RequirementsChecker( QObject* parent ) bool isRoot = false; bool enoughScreen = (availableSize.width() >= CalamaresUtils::windowPreferredWidth) && (availableSize.height() >= CalamaresUtils::windowPreferredHeight); - qint64 requiredStorageB = m_requiredStorageGB * 1073741824L; /*powers of 2*/ + qint64 requiredStorageB = CalamaresUtils::GiBtoBytes(m_requiredStorageGB); cDebug() << "Need at least storage bytes:" << requiredStorageB; if ( m_entriesToCheck.contains( "storage" ) ) enoughStorage = checkEnoughStorage( requiredStorageB ); - qint64 requiredRamB = m_requiredRamGB * 1073741824L; /*powers of 2*/ + qint64 requiredRamB = CalamaresUtils::GiBtoBytes(m_requiredRamGB); cDebug() << "Need at least ram bytes:" << requiredRamB; if ( m_entriesToCheck.contains( "ram" ) ) enoughRam = checkEnoughRam( requiredRamB ); From bd3786ebebc06b39c2c7cf62ad1a62cae1079a0e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 10 Sep 2017 06:22:59 -0400 Subject: [PATCH 044/129] Clang: reduce warnings in various places --- src/calamares/progresstree/ViewStepItem.cpp | 1 + src/libcalamaresui/ExecutionViewStep.cpp | 2 +- src/libcalamaresui/utils/ImageRegistry.cpp | 3 ++- src/modules/keyboard/KeyboardPage.cpp | 4 +++- src/modules/keyboard/KeyboardViewStep.cpp | 3 --- src/modules/partition/jobs/MoveFileSystemJob.cpp | 10 +++++++--- src/modules/welcome/checker/RequirementsChecker.cpp | 3 ++- 7 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/calamares/progresstree/ViewStepItem.cpp b/src/calamares/progresstree/ViewStepItem.cpp index d2fff08ca..b54fa07eb 100644 --- a/src/calamares/progresstree/ViewStepItem.cpp +++ b/src/calamares/progresstree/ViewStepItem.cpp @@ -46,6 +46,7 @@ void ViewStepItem::appendChild( ProgressTreeItem* item ) { Q_ASSERT( false ); + Q_UNUSED( item ); } diff --git a/src/libcalamaresui/ExecutionViewStep.cpp b/src/libcalamaresui/ExecutionViewStep.cpp index fb43122b9..37c2318d0 100644 --- a/src/libcalamaresui/ExecutionViewStep.cpp +++ b/src/libcalamaresui/ExecutionViewStep.cpp @@ -165,7 +165,7 @@ ExecutionViewStep::appendJobModuleInstanceKey( const QString& instanceKey ) void ExecutionViewStep::updateFromJobQueue( qreal percent, const QString& message ) { - m_progressBar->setValue( percent * m_progressBar->maximum() ); + m_progressBar->setValue( int( percent * m_progressBar->maximum() ) ); m_label->setText( message ); } diff --git a/src/libcalamaresui/utils/ImageRegistry.cpp b/src/libcalamaresui/utils/ImageRegistry.cpp index ad3e606ab..178159300 100644 --- a/src/libcalamaresui/utils/ImageRegistry.cpp +++ b/src/libcalamaresui/utils/ImageRegistry.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Originally from Tomahawk, * Copyright 2012, Christian Muehlhaeuser @@ -54,7 +55,7 @@ ImageRegistry::icon( const QString& image, CalamaresUtils::ImageMode mode ) qint64 ImageRegistry::cacheKey( const QSize& size, float opacity, QColor tint ) { - return size.width() * 100 + size.height() * 10 + ( opacity * 100.0 ) + tint.value(); + return size.width() * 100 + size.height() * 10 + int( opacity * 100.0 ) + tint.value(); } diff --git a/src/modules/keyboard/KeyboardPage.cpp b/src/modules/keyboard/KeyboardPage.cpp index 3f1b7b2c3..7c8408796 100644 --- a/src/modules/keyboard/KeyboardPage.cpp +++ b/src/modules/keyboard/KeyboardPage.cpp @@ -54,7 +54,7 @@ findLayout( const KeyboardLayoutModel* klm, const QString& currentLayout ) } KeyboardPage::KeyboardPage( QWidget* parent ) - : QWidget() + : QWidget( parent ) , ui( new Ui::Page_Keyboard ) , m_keyboardPreview( new KeyBoardPreview( this ) ) , m_defaultIndex( 0 ) @@ -321,6 +321,8 @@ static inline QStringList xkbmap_args( QStringList&& r, const QString& layout, c void KeyboardPage::onListVariantCurrentItemChanged( QListWidgetItem* current, QListWidgetItem* previous ) { + Q_UNUSED( previous ); + QPersistentModelIndex layoutIndex = ui->listLayout->currentIndex(); LayoutItem* variantItem = dynamic_cast< LayoutItem* >( current ); diff --git a/src/modules/keyboard/KeyboardViewStep.cpp b/src/modules/keyboard/KeyboardViewStep.cpp index cdb2657dc..0dd326a8d 100644 --- a/src/modules/keyboard/KeyboardViewStep.cpp +++ b/src/modules/keyboard/KeyboardViewStep.cpp @@ -134,9 +134,6 @@ KeyboardViewStep::onLeave() void KeyboardViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { - // Save the settings to the global settings for the SetKeyboardLayoutJob to use - Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); - if ( configurationMap.contains( "xOrgConfFileName" ) && configurationMap.value( "xOrgConfFileName" ).type() == QVariant::String && !configurationMap.value( "xOrgConfFileName" ).toString().isEmpty() ) diff --git a/src/modules/partition/jobs/MoveFileSystemJob.cpp b/src/modules/partition/jobs/MoveFileSystemJob.cpp index 9a87db91e..fbcc4641c 100644 --- a/src/modules/partition/jobs/MoveFileSystemJob.cpp +++ b/src/modules/partition/jobs/MoveFileSystemJob.cpp @@ -145,8 +145,12 @@ MoveFileSystemJob::copyBlocks( Report& report, CopyTargetDevice& target, CopySou qint64 blocksCopied = 0; - void* buffer = malloc( blockSize * source.sectorSize() ); - int percent = 0; + Q_ASSERT( blockSize > 0 ); + Q_ASSERT( source.sectorSize() > 0 ); + Q_ASSERT( blockSize * source.sectorSize() > 0 ); + + void* buffer = malloc( size_t( blockSize * source.sectorSize() ) ); + qint64 percent = 0; while ( blocksCopied < blocksToCopy ) { @@ -161,7 +165,7 @@ MoveFileSystemJob::copyBlocks( Report& report, CopyTargetDevice& target, CopySou if ( ++blocksCopied * 100 / blocksToCopy != percent ) { percent = blocksCopied * 100 / blocksToCopy; - progress( qreal( percent ) / 100. ); + progress( percent / 100. ); } } diff --git a/src/modules/welcome/checker/RequirementsChecker.cpp b/src/modules/welcome/checker/RequirementsChecker.cpp index f85f70872..ac5f5088b 100644 --- a/src/modules/welcome/checker/RequirementsChecker.cpp +++ b/src/modules/welcome/checker/RequirementsChecker.cpp @@ -53,9 +53,10 @@ RequirementsChecker::RequirementsChecker( QObject* parent ) : QObject( parent ) , m_widget( new QWidget() ) + , m_requiredStorageGB( -1 ) + , m_requiredRamGB( -1 ) , m_actualWidget( new CheckerWidget() ) , m_verdict( false ) - , m_requiredStorageGB( -1 ) { QBoxLayout* mainLayout = new QHBoxLayout; m_widget->setLayout( mainLayout ); From 3527c8232732fdc296322eb5833f03ecdc9ea515 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 10 Sep 2017 06:44:52 -0400 Subject: [PATCH 045/129] Clang: make private internal class less visible --- src/modules/keyboard/KeyboardPage.cpp | 12 ++++++++++++ src/modules/keyboard/KeyboardPage.h | 7 ------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/modules/keyboard/KeyboardPage.cpp b/src/modules/keyboard/KeyboardPage.cpp index 7c8408796..5443cf01a 100644 --- a/src/modules/keyboard/KeyboardPage.cpp +++ b/src/modules/keyboard/KeyboardPage.cpp @@ -37,6 +37,18 @@ #include #include +class LayoutItem : public QListWidgetItem +{ +public: + QString data; + + virtual ~LayoutItem(); +}; + +LayoutItem::~LayoutItem() +{ +} + static QPersistentModelIndex findLayout( const KeyboardLayoutModel* klm, const QString& currentLayout ) { diff --git a/src/modules/keyboard/KeyboardPage.h b/src/modules/keyboard/KeyboardPage.h index c60d62b2b..7a31f6511 100644 --- a/src/modules/keyboard/KeyboardPage.h +++ b/src/modules/keyboard/KeyboardPage.h @@ -63,13 +63,6 @@ protected slots: QListWidgetItem* previous ); private: - class LayoutItem : public QListWidgetItem - { - public: - QString data; - KeyboardGlobal::KeyboardInfo info; - }; - void updateVariants( const QPersistentModelIndex& currentItem, QString currentVariant = QString() ); From 0b39e50cdcb6347b55d41d3d9bd432c5bddc9cce Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 10 Sep 2017 07:36:23 -0400 Subject: [PATCH 046/129] Clang: explicit char-initialization of ByteArray --- src/modules/partition/tests/PartitionJobTests.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/partition/tests/PartitionJobTests.cpp b/src/modules/partition/tests/PartitionJobTests.cpp index 9f3a33c26..8702e0119 100644 --- a/src/modules/partition/tests/PartitionJobTests.cpp +++ b/src/modules/partition/tests/PartitionJobTests.cpp @@ -80,7 +80,7 @@ generateTestData( qint64 size ) // Fill the array explicitly to keep Valgrind happy for ( auto it = ba.data() ; it < ba.data() + size ; ++it ) { - *it = rand() % 256; + *it = char( rand() & 0xff ); } return ba; } From 764fb742ba603a2e0f3de7b003df2cad60e0f7af Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 10 Sep 2017 07:45:42 -0400 Subject: [PATCH 047/129] Clang: clean up documentation markup --- src/libcalamaresui/modulesystem/Module.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libcalamaresui/modulesystem/Module.h b/src/libcalamaresui/modulesystem/Module.h index 7c331351d..5f756938f 100644 --- a/src/libcalamaresui/modulesystem/Module.h +++ b/src/libcalamaresui/modulesystem/Module.h @@ -100,9 +100,9 @@ public: /** * @brief instanceKey returns the instance key of this module. * @return a string with the instance key. - * A module instance's instance key is modulename@instanceid. - * @example "partition@partition" (default configuration) or - * "locale@someconfig" (custom configuration) + * A module instance's instance key is modulename\@instanceid. + * For instance, "partition\@partition" (default configuration) or + * "locale\@someconfig" (custom configuration) */ virtual QString instanceKey() const final; From 463615a1c063fc156a17c6309929e3eb05d40366 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 10 Sep 2017 07:48:23 -0400 Subject: [PATCH 048/129] Clang: don't shadow local variable names --- src/libcalamaresui/modulesystem/ModuleManager.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libcalamaresui/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp index d08cdf8dd..44eed30f0 100644 --- a/src/libcalamaresui/modulesystem/ModuleManager.cpp +++ b/src/libcalamaresui/modulesystem/ModuleManager.cpp @@ -219,14 +219,14 @@ ModuleManager::loadModules() } auto findCustomInstance = - [ customInstances ]( const QString& moduleName, - const QString& instanceId ) -> int + [ customInstances ]( const QString& module, + const QString& id) -> int { for ( int i = 0; i < customInstances.count(); ++i ) { auto thisInstance = customInstances[ i ]; - if ( thisInstance.value( "module" ) == moduleName && - thisInstance.value( "id" ) == instanceId ) + if ( thisInstance.value( "module" ) == module && + thisInstance.value( "id" ) == id ) return i; } return -1; From 9116718448833e9231771fdad990dea985d9bf6d Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 10 Sep 2017 15:17:33 -0400 Subject: [PATCH 049/129] Clang: warnings-reduction --- src/libcalamares/utils/Units.h | 5 ++++ .../partition/gui/PartitionLabelsView.cpp | 24 +++++++++++++------ .../partition/gui/PartitionLabelsView.h | 2 +- src/modules/partition/gui/PartitionPage.cpp | 4 ++-- .../partition/gui/PartitionSizeController.cpp | 4 +++- .../partition/jobs/FillGlobalStorageJob.cpp | 2 -- 6 files changed, 28 insertions(+), 13 deletions(-) diff --git a/src/libcalamares/utils/Units.h b/src/libcalamares/utils/Units.h index 81e2a9bca..391d67194 100644 --- a/src/libcalamares/utils/Units.h +++ b/src/libcalamares/utils/Units.h @@ -56,5 +56,10 @@ constexpr qint64 GiBtoBytes( double m ) return qint64(m * 1024 * 1024 * 1024); } +constexpr int BytesToMiB( qint64 b ) +{ + return int( b / 1024 / 1024 ); +} + } // namespace #endif diff --git a/src/modules/partition/gui/PartitionLabelsView.cpp b/src/modules/partition/gui/PartitionLabelsView.cpp index d7364fb5f..c0b7fdd41 100644 --- a/src/modules/partition/gui/PartitionLabelsView.cpp +++ b/src/modules/partition/gui/PartitionLabelsView.cpp @@ -43,7 +43,7 @@ static const int LABELS_MARGIN = LABEL_PARTITION_SQUARE_MARGIN; static const int CORNER_RADIUS = 2; -QStringList +static QStringList buildUnknownDisklabelTexts( Device* dev ) { QStringList texts = { QObject::tr( "Unpartitioned space or unknown partition table" ), @@ -54,7 +54,7 @@ buildUnknownDisklabelTexts( Device* dev ) PartitionLabelsView::PartitionLabelsView( QWidget* parent ) : QAbstractItemView( parent ) - , canBeSelected( []( const QModelIndex& ) { return true; } ) + , m_canBeSelected( []( const QModelIndex& ) { return true; } ) , m_extendedPartitionHidden( false ) { setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ); @@ -100,6 +100,8 @@ PartitionLabelsView::sizeHint() const void PartitionLabelsView::paintEvent( QPaintEvent* event ) { + Q_UNUSED( event ); + QPainter painter( viewport() ); painter.fillRect( rect(), palette().window() ); painter.setRenderHint( QPainter::Antialiasing ); @@ -292,7 +294,6 @@ PartitionLabelsView::drawLabels( QPainter* painter, !modl->device()->partitionTable() ) // No disklabel or unknown { QStringList texts = buildUnknownDisklabelTexts( modl->device() ); - QSize labelSize = sizeForLabel( texts ); QColor labelColor = ColorUtils::unknownDisklabelColor(); drawLabel( painter, texts, labelColor, QPoint( rect.x(), rect.y() ), false /*can't be selected*/ ); } @@ -467,6 +468,8 @@ PartitionLabelsView::visualRect( const QModelIndex& idx ) const QRegion PartitionLabelsView::visualRegionForSelection( const QItemSelection& selection ) const { + Q_UNUSED( selection ); + return QRegion(); } @@ -516,7 +519,7 @@ PartitionLabelsView::setSelectionModel( QItemSelectionModel* selectionModel ) void PartitionLabelsView::setSelectionFilter( SelectionFilter canBeSelected ) { - this->canBeSelected = canBeSelected; + m_canBeSelected = canBeSelected; } @@ -530,6 +533,9 @@ PartitionLabelsView::setExtendedPartitionHidden( bool hidden ) QModelIndex PartitionLabelsView::moveCursor( CursorAction cursorAction, Qt::KeyboardModifiers modifiers ) { + Q_UNUSED( cursorAction ); + Q_UNUSED( modifiers ); + return QModelIndex(); } @@ -537,6 +543,8 @@ PartitionLabelsView::moveCursor( CursorAction cursorAction, Qt::KeyboardModifier bool PartitionLabelsView::isIndexHidden( const QModelIndex& index ) const { + Q_UNUSED( index ); + return false; } @@ -545,7 +553,7 @@ void PartitionLabelsView::setSelection( const QRect& rect, QItemSelectionModel::SelectionFlags flags ) { QModelIndex eventIndex = indexAt( rect.topLeft() ); - if ( canBeSelected( eventIndex ) ) + if ( m_canBeSelected( eventIndex ) ) selectionModel()->select( eventIndex, flags ); } @@ -567,7 +575,7 @@ PartitionLabelsView::mouseMoveEvent( QMouseEvent* event ) if ( oldHoveredIndex != m_hoveredIndex ) { - if ( m_hoveredIndex.isValid() && !canBeSelected( m_hoveredIndex ) ) + if ( m_hoveredIndex.isValid() && !m_canBeSelected( m_hoveredIndex ) ) QGuiApplication::setOverrideCursor( Qt::ForbiddenCursor ); else QGuiApplication::restoreOverrideCursor(); @@ -580,6 +588,8 @@ PartitionLabelsView::mouseMoveEvent( QMouseEvent* event ) void PartitionLabelsView::leaveEvent( QEvent* event ) { + Q_UNUSED( event ); + QGuiApplication::restoreOverrideCursor(); if ( m_hoveredIndex.isValid() ) { @@ -593,7 +603,7 @@ void PartitionLabelsView::mousePressEvent( QMouseEvent* event ) { QModelIndex candidateIndex = indexAt( event->pos() ); - if ( canBeSelected( candidateIndex ) ) + if ( m_canBeSelected( candidateIndex ) ) QAbstractItemView::mousePressEvent( event ); else event->accept(); diff --git a/src/modules/partition/gui/PartitionLabelsView.h b/src/modules/partition/gui/PartitionLabelsView.h index fef453d44..c5646a417 100644 --- a/src/modules/partition/gui/PartitionLabelsView.h +++ b/src/modules/partition/gui/PartitionLabelsView.h @@ -83,7 +83,7 @@ private: QModelIndexList getIndexesToDraw( const QModelIndex& parent ) const; QStringList buildTexts( const QModelIndex& index ) const; - SelectionFilter canBeSelected; + SelectionFilter m_canBeSelected; bool m_extendedPartitionHidden; QString m_customNewRootLabel; diff --git a/src/modules/partition/gui/PartitionPage.cpp b/src/modules/partition/gui/PartitionPage.cpp index 5d541c4e2..62e7a97a1 100644 --- a/src/modules/partition/gui/PartitionPage.cpp +++ b/src/modules/partition/gui/PartitionPage.cpp @@ -56,8 +56,8 @@ PartitionPage::PartitionPage( PartitionCoreModule* core, QWidget* parent ) : QWidget( parent ) , m_ui( new Ui_PartitionPage ) - , m_lastSelectedBootLoaderIndex(-1) , m_core( core ) + , m_lastSelectedBootLoaderIndex(-1) , m_isEfi( false ) { m_isEfi = PartUtils::isEfiSystem(); @@ -373,7 +373,7 @@ PartitionPage::updateFromCurrentDevice() // Establish connection here because selection model is destroyed when // model changes connect( m_ui->partitionTreeView->selectionModel(), &QItemSelectionModel::currentChanged, - [ this ]( const QModelIndex& index, const QModelIndex& oldIndex ) + [ this ]( const QModelIndex&, const QModelIndex& ) { updateButtons(); } ); diff --git a/src/modules/partition/gui/PartitionSizeController.cpp b/src/modules/partition/gui/PartitionSizeController.cpp index d01924e8b..3cf915c7d 100644 --- a/src/modules/partition/gui/PartitionSizeController.cpp +++ b/src/modules/partition/gui/PartitionSizeController.cpp @@ -22,6 +22,8 @@ #include "core/ColorUtils.h" #include "core/KPMHelpers.h" +#include "utils/Units.h" + // Qt #include @@ -185,7 +187,7 @@ PartitionSizeController::doUpdateSpinBox() { if ( !m_spinBox ) return; - qint64 mbSize = m_partition->length() * m_device->logicalSize() / 1024 / 1024; + int mbSize = CalamaresUtils::BytesToMiB( m_partition->length() * m_device->logicalSize() ); m_spinBox->setValue( mbSize ); if ( m_currentSpinBoxValue != -1 && //if it's not the first time we're setting it m_currentSpinBoxValue != mbSize ) //and the operation changes the SB value diff --git a/src/modules/partition/jobs/FillGlobalStorageJob.cpp b/src/modules/partition/jobs/FillGlobalStorageJob.cpp index 5662f5e57..09eaf232d 100644 --- a/src/modules/partition/jobs/FillGlobalStorageJob.cpp +++ b/src/modules/partition/jobs/FillGlobalStorageJob.cpp @@ -41,8 +41,6 @@ typedef QHash UuidForPartitionHash; -static const char* UUID_DIR = "/dev/disk/by-uuid"; - static UuidForPartitionHash findPartitionUuids( QList < Device* > devices ) { From d2964cc71caa9d743765537db69d4973e8cdb14b Mon Sep 17 00:00:00 2001 From: Philip Date: Sun, 10 Sep 2017 22:33:25 +0100 Subject: [PATCH 050/129] [locale] default to the states - see also 239c7534d24137af37abe66e351c7477ec3d474a --- src/modules/locale/LocalePage.cpp | 2 +- src/modules/locale/LocaleViewStep.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index 4882b1684..2172586ff 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -282,7 +282,7 @@ LocalePage::init( const QString& initialRegion, } else { - m_tzWidget->setCurrentLocation( "Europe", "Berlin" ); + m_tzWidget->setCurrentLocation( "America", "New_York" ); } emit m_tzWidget->locationChanged( m_tzWidget->getCurrentLocation() ); diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index 8f38e7f14..9578b972a 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -271,8 +271,8 @@ LocaleViewStep::setConfigurationMap( const QVariantMap& configurationMap ) } else { - m_startingTimezone = qMakePair( QStringLiteral( "Europe" ), - QStringLiteral( "Berlin" ) ); + m_startingTimezone = qMakePair( QStringLiteral( "America" ), + QStringLiteral( "New_York" ) ); } if ( configurationMap.contains( "localeGenPath" ) && From 25de3aca6e52c68a0bc61e6fa8b08d1cd46c58c1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 11 Sep 2017 09:42:21 +0200 Subject: [PATCH 051/129] Clang: don't shadow global int timezone --- src/modules/locale/LocaleViewStep.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index 9578b972a..4b4219751 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -132,12 +132,12 @@ LocaleViewStep::fetchGeoIpTimezone() !map.value( "time_zone" ).toString().isEmpty() ) { QString timezoneString = map.value( "time_zone" ).toString(); - QStringList timezone = timezoneString.split( '/', QString::SkipEmptyParts ); - if ( timezone.size() >= 2 ) + QStringList tzParts = timezoneString.split( '/', QString::SkipEmptyParts ); + if ( tzParts.size() >= 2 ) { cDebug() << "GeoIP reporting" << timezoneString; - QString region = timezone.takeFirst(); - QString zone = timezone.join( '/' ); + QString region = tzParts.takeFirst(); + QString zone = tzParts.join( '/' ); m_startingTimezone = qMakePair( region, zone ); } } From 297e97da198557a4720960633c9ff8eb91aa527e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 11 Sep 2017 11:03:25 +0200 Subject: [PATCH 052/129] Clang: tidy up warnings in logger --- src/libcalamares/CppJob.cpp | 4 +++- src/libcalamares/utils/Logger.cpp | 32 ++++++++++++++++--------------- src/libcalamares/utils/Logger.h | 2 +- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/libcalamares/CppJob.cpp b/src/libcalamares/CppJob.cpp index 1925e398b..73868799a 100644 --- a/src/libcalamares/CppJob.cpp +++ b/src/libcalamares/CppJob.cpp @@ -40,6 +40,8 @@ CppJob::setModuleInstanceKey( const QString& instanceKey ) void CppJob::setConfigurationMap( const QVariantMap& configurationMap ) -{} +{ + Q_UNUSED( configurationMap ); +} } diff --git a/src/libcalamares/utils/Logger.cpp b/src/libcalamares/utils/Logger.cpp index 5c18c2d29..7caf2a18c 100644 --- a/src/libcalamares/utils/Logger.cpp +++ b/src/libcalamares/utils/Logger.cpp @@ -39,9 +39,9 @@ using namespace std; -ofstream logfile; -static int s_threshold = -1; -QMutex s_mutex; +static ofstream logfile; +static unsigned int s_threshold = 0; +static QMutex s_mutex; namespace Logger { @@ -49,20 +49,22 @@ namespace Logger static void log( const char* msg, unsigned int debugLevel, bool toDisk = true ) { - if ( s_threshold < 0 ) + if ( !s_threshold ) { if ( qApp->arguments().contains( "--debug" ) || qApp->arguments().contains( "-d" ) ) s_threshold = LOGVERBOSE; else - #ifdef QT_NO_DEBUG +#ifdef QT_NO_DEBUG s_threshold = RELEASE_LEVEL_THRESHOLD; - #else +#else s_threshold = DEBUG_LEVEL_THRESHOLD; - #endif +#endif + // Comparison is < threshold, below + ++s_threshold; } - if ( toDisk || (int)debugLevel <= s_threshold ) + if ( toDisk || debugLevel < s_threshold ) { QMutexLocker lock( &s_mutex ); @@ -78,7 +80,7 @@ log( const char* msg, unsigned int debugLevel, bool toDisk = true ) logfile.flush(); } - if ( debugLevel <= LOGEXTRA || (int)debugLevel <= s_threshold ) + if ( debugLevel <= LOGEXTRA || debugLevel < s_threshold ) { QMutexLocker lock( &s_mutex ); @@ -96,6 +98,8 @@ CalamaresLogHandler( QtMsgType type, const QMessageLogContext& context, const QS { static QMutex s_mutex; + Q_UNUSED( context ); + QByteArray ba = msg.toUtf8(); const char* message = ba.constData(); @@ -106,14 +110,12 @@ CalamaresLogHandler( QtMsgType type, const QMessageLogContext& context, const QS log( message, LOGVERBOSE ); break; + case QtInfoMsg: + log( message, 1 ); + break; + case QtCriticalMsg: - log( message, 0 ); - break; - case QtWarningMsg: - log( message, 0 ); - break; - case QtFatalMsg: log( message, 0 ); break; diff --git a/src/libcalamares/utils/Logger.h b/src/libcalamares/utils/Logger.h index 72bed2000..0cf4b4ad3 100644 --- a/src/libcalamares/utils/Logger.h +++ b/src/libcalamares/utils/Logger.h @@ -52,7 +52,7 @@ namespace Logger virtual ~CDebug(); }; - DLLEXPORT void CalamaresLogHandler( QtMsgType type, const char* msg ); + DLLEXPORT void CalamaresLogHandler( QtMsgType type, const QMessageLogContext& context, const QString& msg ); DLLEXPORT void setupLogfile(); DLLEXPORT QString logFile(); } From cb57de2e65202b9052514c6080fcf6a0dbdb4e49 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 11 Sep 2017 11:07:32 +0200 Subject: [PATCH 053/129] Clang: float -> qreal where it matches Qt API --- src/libcalamaresui/utils/ImageRegistry.cpp | 6 +++--- src/libcalamaresui/utils/ImageRegistry.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libcalamaresui/utils/ImageRegistry.cpp b/src/libcalamaresui/utils/ImageRegistry.cpp index 178159300..5e55b2293 100644 --- a/src/libcalamaresui/utils/ImageRegistry.cpp +++ b/src/libcalamaresui/utils/ImageRegistry.cpp @@ -53,14 +53,14 @@ ImageRegistry::icon( const QString& image, CalamaresUtils::ImageMode mode ) qint64 -ImageRegistry::cacheKey( const QSize& size, float opacity, QColor tint ) +ImageRegistry::cacheKey( const QSize& size, qreal opacity, QColor tint ) { return size.width() * 100 + size.height() * 10 + int( opacity * 100.0 ) + tint.value(); } QPixmap -ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, float opacity, QColor tint ) +ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, qreal opacity, QColor tint ) { QHash< qint64, QPixmap > subsubcache; QHash< int, QHash< qint64, QPixmap > > subcache; @@ -136,7 +136,7 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils:: void -ImageRegistry::putInCache( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, float opacity, const QPixmap& pixmap, QColor tint ) +ImageRegistry::putInCache( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, qreal opacity, const QPixmap& pixmap, QColor tint ) { // cDebug( LOGVERBOSE ) << Q_FUNC_INFO << "Adding to image cache:" << image << size << mode; diff --git a/src/libcalamaresui/utils/ImageRegistry.h b/src/libcalamaresui/utils/ImageRegistry.h index 41ed2d6ac..4909b0183 100644 --- a/src/libcalamaresui/utils/ImageRegistry.h +++ b/src/libcalamaresui/utils/ImageRegistry.h @@ -35,11 +35,11 @@ public: explicit ImageRegistry(); QIcon icon( const QString& image, CalamaresUtils::ImageMode mode = CalamaresUtils::Original ); - QPixmap pixmap( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode = CalamaresUtils::Original, float opacity = 1.0, QColor tint = QColor( 0, 0, 0, 0 ) ); + QPixmap pixmap( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode = CalamaresUtils::Original, qreal opacity = 1.0, QColor tint = QColor( 0, 0, 0, 0 ) ); private: - qint64 cacheKey( const QSize& size, float opacity, QColor tint ); - void putInCache( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, float opacity, const QPixmap& pixmap, QColor tint ); + qint64 cacheKey( const QSize& size, qreal opacity, QColor tint ); + void putInCache( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, qreal opacity, const QPixmap& pixmap, QColor tint ); static ImageRegistry* s_instance; }; From a0379c9b402ab7d97d4a0c1e42e39c34993630eb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 11 Sep 2017 11:23:28 +0200 Subject: [PATCH 054/129] PEP8: Just don't do it --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index ec6678a36..0b18d927d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,9 +16,7 @@ notifications: install: - docker build -t calamares . - - pip install pycodestyle script: - docker run -v $PWD:/src --tmpfs /build:rw,size=65536k calamares bash -lc "cd /build && cmake -DWEBVIEW_FORCE_WEBKIT=1 -DKDE_INSTALL_USE_QT_SYS_PATHS=ON /src && make -j2 && make install DESTDIR=/build/INSTALL_ROOT" - - pycodestyle --exclude=thirdparty,.git $PWD From 2d94e88026ee4605c492281bd0cc2b488abfc3ed Mon Sep 17 00:00:00 2001 From: demmm Date: Mon, 11 Sep 2017 12:17:44 -0400 Subject: [PATCH 055/129] adding an ISSUE_TEMPLATE for bug reporting --- .github/ISSUE_TEMPLATE.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 000000000..1dd301d99 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,29 @@ +#### Submission type + + - [ ] Bug report + - [ ] Feature Request + + +#### Info regarding which version of Calamares is used, which Distribution + +> … + +#### Provide information on how the disks are set up, in detail, with full logs of commands issued + +> … + +#### What do you expect to have happen when Calamares installs? + +> … + +#### Describe the issue you encountered + +> … + +#### Steps to reproduce the problem + +> … + +#### Include the installation.log: + +> … From b82042a0783f318bb17d15f8604635d3e883202c Mon Sep 17 00:00:00 2001 From: Gabriel C Date: Tue, 12 Sep 2017 12:39:09 +0200 Subject: [PATCH 056/129] fstab: fix btrfs with LUKS and systemd we forgot to fix that in #730 tested with efi/BIOS+LUKS+btrfs , efi/BIOS+btrfs --- src/modules/fstab/main.py | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/src/modules/fstab/main.py b/src/modules/fstab/main.py index 553eb65ef..3b639d68f 100644 --- a/src/modules/fstab/main.py +++ b/src/modules/fstab/main.py @@ -225,6 +225,7 @@ class FstabGenerator(object): def generate_fstab_line_info(self, partition): """ Generates information for each fstab entry. """ filesystem = partition["fs"].lower() + has_luks = "luksMapperName" in partition mount_point = partition["mountPoint"] disk_name = disk_name_for_partition(partition) is_ssd = disk_name in self.ssd_disks @@ -252,17 +253,28 @@ class FstabGenerator(object): self.root_is_ssd = is_ssd if filesystem == "btrfs" and "subvol" in partition: - return dict( - device="UUID=" + partition["uuid"], - mount_point=mount_point, - fs=filesystem, - options=",".join( - ["subvol={}".format(partition["subvol"]), options] - ), - check=check, - ) + if has_luks: + return dict( + device="/dev/mapper/" + partition["luksMapperName"], + mount_point=mount_point, + fs=filesystem, + options=",".join( + ["subvol={}".format(partition["subvol"]), options] + ), + check=check, + ) + else: + return dict( + device="UUID=" + partition["uuid"], + mount_point=mount_point, + fs=filesystem, + options=",".join( + ["subvol={}".format(partition["subvol"]), options] + ), + check=check, + ) - if "luksMapperName" in partition: + if has_luks: return dict(device="/dev/mapper/" + partition["luksMapperName"], mount_point=mount_point or "swap", fs=filesystem, From d8a47bb8befa5a0627d60c6e0350b86c662dd1a2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 06:13:28 -0400 Subject: [PATCH 057/129] Simplify dict() construction for fstab-lines --- src/modules/fstab/main.py | 44 +++++++++++---------------------------- 1 file changed, 12 insertions(+), 32 deletions(-) diff --git a/src/modules/fstab/main.py b/src/modules/fstab/main.py index 3b639d68f..1f46fec99 100644 --- a/src/modules/fstab/main.py +++ b/src/modules/fstab/main.py @@ -233,6 +233,8 @@ class FstabGenerator(object): if not mount_point and not filesystem == "swap": return None + if not mount_point: + mount_point = "swap" options = self.mount_options.get(filesystem, self.mount_options["default"]) @@ -253,41 +255,19 @@ class FstabGenerator(object): self.root_is_ssd = is_ssd if filesystem == "btrfs" and "subvol" in partition: - if has_luks: - return dict( - device="/dev/mapper/" + partition["luksMapperName"], - mount_point=mount_point, - fs=filesystem, - options=",".join( - ["subvol={}".format(partition["subvol"]), options] - ), - check=check, - ) - else: - return dict( - device="UUID=" + partition["uuid"], - mount_point=mount_point, - fs=filesystem, - options=",".join( - ["subvol={}".format(partition["subvol"]), options] - ), - check=check, - ) + options="subvol={},".format(partition["subvol"]) + options if has_luks: - return dict(device="/dev/mapper/" + partition["luksMapperName"], - mount_point=mount_point or "swap", - fs=filesystem, - options=options, - check=check, - ) + device="/dev/mapper/" + partition["luksMapperName"] else: - return dict(device="UUID=" + partition["uuid"], - mount_point=mount_point or "swap", - fs=filesystem, - options=options, - check=check, - ) + device="UUID=" + partition["uuid"] + + return dict(device=device, + mount_point=mount_point, + fs=filesystem, + options=options, + check=check, + ) def print_fstab_line(self, dct, file=None): """ Prints line to '/etc/fstab' file. """ From ec86922839eae9794ccb95f3bd2a260849225d67 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 07:01:19 -0400 Subject: [PATCH 058/129] Find KPMCore 3.2 quietly, less frightening --- src/modules/partition/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index 0291c46e4..1ea69c027 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -8,7 +8,7 @@ find_package( KF5 REQUIRED CoreAddons ) # These are needed because KPMcore links publicly against ConfigCore, I18n, IconThemes, KIOCore and Service find_package( KF5 REQUIRED Config I18n IconThemes KIO Service ) -find_package( KPMcore 3.1.50 ) +find_package( KPMcore 3.1.50 QUIET ) if ( ${KPMcore_FOUND} ) add_definitions(-DWITH_KPMCORE22) endif() From be2338ff08b2ea9ae6e7fb8178e17d9731bab526 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 08:03:18 -0400 Subject: [PATCH 059/129] Clang: reduce warnings --- src/libcalamares/ProcessJob.h | 2 +- src/libcalamares/utils/PluginFactory.cpp | 8 +- src/libcalamares/utils/PluginFactory.h | 80 +++++++++---------- .../modulesystem/CppJobModule.h | 2 +- .../modulesystem/ProcessJobModule.h | 2 +- src/libcalamaresui/modulesystem/ViewModule.h | 2 +- 6 files changed, 48 insertions(+), 48 deletions(-) diff --git a/src/libcalamares/ProcessJob.h b/src/libcalamares/ProcessJob.h index ba6e650f6..1ac7f7f08 100644 --- a/src/libcalamares/ProcessJob.h +++ b/src/libcalamares/ProcessJob.h @@ -32,7 +32,7 @@ public: bool runInChroot = false, int secondsTimeout = 30, QObject* parent = nullptr ); - virtual ~ProcessJob(); + virtual ~ProcessJob() override; QString prettyName() const override; QString prettyStatusMessage() const override; diff --git a/src/libcalamares/utils/PluginFactory.cpp b/src/libcalamares/utils/PluginFactory.cpp index 30a5bf4bf..ff6c9913f 100644 --- a/src/libcalamares/utils/PluginFactory.cpp +++ b/src/libcalamares/utils/PluginFactory.cpp @@ -34,7 +34,7 @@ namespace Calamares { PluginFactory::PluginFactory() - : d_ptr(new PluginFactoryPrivate) + : d_ptr_p(new PluginFactoryPrivate) { Q_D(PluginFactory); d->q_ptr = this; @@ -43,14 +43,14 @@ PluginFactory::PluginFactory() } PluginFactory::PluginFactory(PluginFactoryPrivate &d) - : d_ptr(&d) + : d_ptr_p(&d) { factorycleanup()->add(this); } PluginFactory::~PluginFactory() { - delete d_ptr; + delete d_ptr_p; } void PluginFactory::doRegisterPlugin(const QString &keyword, const QMetaObject *metaObject, CreateInstanceFunction instanceFunction) @@ -97,7 +97,7 @@ QObject *PluginFactory::create(const char *iface, QWidget *parentWidget, QObject { Q_D(PluginFactory); - QObject *obj = 0; + QObject *obj( nullptr ); const QList candidates(d->createInstanceHash.values(keyword)); // for !keyword.isEmpty() candidates.count() is 0 or 1 diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index a45078f65..d7dc61783 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -199,7 +199,7 @@ namespace Calamares class DLLEXPORT PluginFactory : public QObject { Q_OBJECT - Q_DECLARE_PRIVATE(PluginFactory) + Q_DECLARE_PRIVATE( PluginFactory ) public: /** * This constructor creates a factory for a plugin. @@ -222,7 +222,7 @@ public: * \returns A pointer to the created object is returned, or 0 if an error occurred. */ template - T *create(QObject *parent = 0); + T* create( QObject* parent = nullptr ); /** * Use this method to create an object. It will try to create an object which inherits @@ -235,34 +235,35 @@ public: * \returns A pointer to the created object is returned, or 0 if an error occurred. */ template - T *create(const QString &keyword, QObject *parent = 0); + T* create( const QString& keyword, QObject* parent = nullptr ); Q_SIGNALS: - void objectCreated(QObject *object); + void objectCreated( QObject* object ); protected: /** * Function pointer type to a function that instantiates a plugin. */ - typedef QObject *(*CreateInstanceFunction)(QWidget *, QObject *); + typedef QObject* ( *CreateInstanceFunction )( QWidget*, QObject* ); /** * This is used to detect the arguments need for the constructor of plugin classes. * You can inherit it, if you want to add new classes and still keep support for the old ones. */ template - struct InheritanceChecker { - CreateInstanceFunction createInstanceFunction(QWidget *) + struct InheritanceChecker + { + CreateInstanceFunction createInstanceFunction( QWidget* ) { return &createInstance; } - CreateInstanceFunction createInstanceFunction(...) + CreateInstanceFunction createInstanceFunction( ... ) { return &createInstance; } }; - explicit PluginFactory(PluginFactoryPrivate &dd); + explicit PluginFactory( PluginFactoryPrivate& dd ); /** * Registers a plugin with the factory. Call this function from the constructor of the @@ -292,14 +293,14 @@ protected: * \endcode */ template - void registerPlugin(const QString &keyword = QString(), - CreateInstanceFunction instanceFunction - = InheritanceChecker().createInstanceFunction(reinterpret_cast(0))) + void registerPlugin( const QString& keyword = QString(), + CreateInstanceFunction instanceFunction + = InheritanceChecker().createInstanceFunction( reinterpret_cast( 0 ) ) ) { - doRegisterPlugin(keyword, &T::staticMetaObject, instanceFunction); + doRegisterPlugin( keyword, &T::staticMetaObject, instanceFunction ); } - PluginFactoryPrivate *const d_ptr; + PluginFactoryPrivate* const d_ptr_p; /** * This function is called when the factory asked to create an Object. @@ -314,56 +315,55 @@ protected: * \param keyword A string that uniquely identifies the plugin. If a KService is used this * keyword is read from the X-KDE-PluginKeyword entry in the .desktop file. */ - virtual QObject *create(const char *iface, QWidget *parentWidget, QObject *parent, const QString &keyword); + virtual QObject* create( const char* iface, QWidget* parentWidget, QObject* parent, const QString& keyword ); template - static QObject *createInstance(QWidget *parentWidget, QObject *parent) + static QObject* createInstance( QWidget* parentWidget, QObject* parent ) { - Q_UNUSED(parentWidget); - ParentType *p = 0; - if (parent) { - p = qobject_cast(parent); - Q_ASSERT(p); + Q_UNUSED( parentWidget ); + ParentType* p( nullptr ); + if ( parent ) + { + p = qobject_cast( parent ); + Q_ASSERT( p ); } - return new impl(p); + return new impl( p ); } private: - void doRegisterPlugin(const QString &keyword, const QMetaObject *metaObject, CreateInstanceFunction instanceFunction); + void doRegisterPlugin( const QString& keyword, const QMetaObject* metaObject, CreateInstanceFunction instanceFunction ); }; template -inline T *PluginFactory::create(QObject *parent) +inline T* PluginFactory::create( QObject* parent ) { - QObject *o = create(T::staticMetaObject.className(), - parent && parent->isWidgetType() ? reinterpret_cast(parent) : 0, - parent, - QString()); + QObject* o = create( T::staticMetaObject.className(), + parent && parent->isWidgetType() ? reinterpret_cast( parent ) : nullptr, + parent, + QString() ); - T *t = qobject_cast(o); - if (!t) { + T* t = qobject_cast( o ); + if ( !t ) delete o; - } return t; } template -inline T *PluginFactory::create(const QString &keyword, QObject *parent) +inline T* PluginFactory::create( const QString& keyword, QObject* parent ) { - QObject *o = create(T::staticMetaObject.className(), - parent && parent->isWidgetType() ? reinterpret_cast(parent) : 0, - parent, - keyword); + QObject* o = create( T::staticMetaObject.className(), + parent && parent->isWidgetType() ? reinterpret_cast( parent ) : nullptr, + parent, + keyword ); - T *t = qobject_cast(o); - if (!t) { + T* t = qobject_cast( o ); + if ( !t ) delete o; - } return t; } } -Q_DECLARE_INTERFACE(Calamares::PluginFactory, CalamaresPluginFactory_iid) +Q_DECLARE_INTERFACE( Calamares::PluginFactory, CalamaresPluginFactory_iid ) #endif // CALAMARESPLUGINFACTORY_H diff --git a/src/libcalamaresui/modulesystem/CppJobModule.h b/src/libcalamaresui/modulesystem/CppJobModule.h index 127614ec5..92c4224d3 100644 --- a/src/libcalamaresui/modulesystem/CppJobModule.h +++ b/src/libcalamaresui/modulesystem/CppJobModule.h @@ -42,7 +42,7 @@ protected: private: friend class Module; //so only the superclass can instantiate explicit CppJobModule(); - virtual ~CppJobModule(); + virtual ~CppJobModule() override; QPluginLoader* m_loader; job_ptr m_job; diff --git a/src/libcalamaresui/modulesystem/ProcessJobModule.h b/src/libcalamaresui/modulesystem/ProcessJobModule.h index b160fd25f..5bb1699be 100644 --- a/src/libcalamaresui/modulesystem/ProcessJobModule.h +++ b/src/libcalamaresui/modulesystem/ProcessJobModule.h @@ -40,7 +40,7 @@ protected: private: friend class Module; explicit ProcessJobModule(); - virtual ~ProcessJobModule(); + virtual ~ProcessJobModule() override; QString m_command; QString m_workingPath; diff --git a/src/libcalamaresui/modulesystem/ViewModule.h b/src/libcalamaresui/modulesystem/ViewModule.h index 177c1eba1..bfbbdadf3 100644 --- a/src/libcalamaresui/modulesystem/ViewModule.h +++ b/src/libcalamaresui/modulesystem/ViewModule.h @@ -43,7 +43,7 @@ protected: private: friend class Module; //so only the superclass can instantiate explicit ViewModule(); - virtual ~ViewModule(); + virtual ~ViewModule() override; QPluginLoader* m_loader; ViewStep* m_viewStep = nullptr; From cbef79bb93d1197fc99de36388154ef43fac7431 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 08:32:22 -0400 Subject: [PATCH 060/129] Clean up CMake stuff, remove unneeded modules --- CMakeLists.txt | 56 ++++--- CMakeModules/MacroLogFeature.cmake | 157 -------------------- CMakeModules/MacroOptionalFindPackage.cmake | 48 ------ 3 files changed, 32 insertions(+), 229 deletions(-) delete mode 100644 CMakeModules/MacroLogFeature.cmake delete mode 100644 CMakeModules/MacroOptionalFindPackage.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 5978a1c53..b14521417 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,7 +57,7 @@ cmake_policy( SET CMP0028 NEW ) # double colons in KF5::Foo and Qt5::Foo are nec cmake_policy( SET CMP0043 OLD ) include( MacroOptionalFindPackage ) -include( MacroLogFeature ) +include( FeatureSummary ) set( QT_VERSION 5.6.0 ) @@ -80,35 +80,29 @@ if( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" OR NOT EXISTS "${CMAKE_CURRENT_SOURCE_D set( WITH_CRASHREPORTER OFF ) endif() -macro_optional_find_package( PythonLibs 3.3 ) -macro_log_feature( - PYTHONLIBS_FOUND - "Python" - "C interface libraries for the Python 3 interpreter." - "http://python.org" - FALSE "3.3" - "Python 3 is used for some Calamares job modules." +find_package( PythonLibs 3.3 OPTIONAL ) +set_package_properties( + PYTHONLIBS PROPERTIES + DESCRIPTION "C interface libraries for the Python 3 interpreter." + URL "http://python.org" + PURPOSE "Python 3 is used for some Calamares job modules." ) if ( PYTHONLIBS_FOUND ) include( BoostPython3 ) find_boost_python3( 1.54.0 ${PYTHONLIBS_VERSION_STRING} CALAMARES_BOOST_PYTHON3_FOUND ) - macro_log_feature( - CALAMARES_BOOST_PYTHON3_FOUND - "Boost.Python" - "A C++ library which enables seamless interoperability between C++ and Python 3." - "http://www.boost.org" - FALSE "1.54.0" - "Boost.Python is used for interfacing with Calamares job modules written in Python 3." + set_package_properties( + CALAMARES_BOOST_PYTHON3 PROPERTIES + DESCRIPTION "A C++ library which enables seamless interoperability between C++ and Python 3." + URL "http://www.boost.org" + PURPOSE "Boost.Python is used for interfacing with Calamares job modules written in Python 3." ) macro_optional_find_package( PythonQt ) - macro_log_feature( PYTHONQT_FOUND - "PythonQt" - "A Python embedding solution for Qt applications." - "http://pythonqt.sourceforge.net" - FALSE "3.1" - "PythonQt is used for the Python modules API." + set_package_properties( PYTHONQT PROPERTIES + DESCRIPTION "A Python embedding solution for Qt applications." + URL "http://pythonqt.sourceforge.net" + PURPOSE "PythonQt is used for the Python modules API." ) endif() @@ -203,8 +197,12 @@ set( THIRDPARTY_DIR "${CMAKE_SOURCE_DIR}/thirdparty" ) # make example-distro # find_program( mksquashfs_PROGRAM mksquashfs ) -macro_log_feature( mksquashfs_PROGRAM "mksquashfs" "Create example distro" "http://tldp.org/HOWTO/SquashFS-HOWTO/creatingandusing.html") +set_package_properties( mksquashfs PROPERTIES + DESCRIPTION "Create example distro" + URL "http://tldp.org/HOWTO/SquashFS-HOWTO/creatingandusing.html" +) if( mksquashfs_PROGRAM ) + set( mksquashfs_FOUND ON ) set( src_fs ${CMAKE_SOURCE_DIR}/data/example-root/ ) set( dst_fs ${CMAKE_BINARY_DIR}/example.sqfs ) if( EXISTS ${src_fs} ) @@ -227,12 +225,22 @@ if( mksquashfs_PROGRAM ) ) add_custom_target(example-distro DEPENDS ${dst_fs}) endif() +else() + set( mksquashfs_FOUND OFF ) endif() +# Doesn't list mksquashfs as an optional dep, though, because it +# hasn't been sent through the find_package() scheme. +set_package_properties( mksquashfs PROPERTIES + DESCRIPTION "Create squashed filesystems" + URL "http://tldp.org/HOWTO/SquashFS-HOWTO/creatingandusing.html" + PURPOSE "Create example distro" + TYPE OPTIONAL +) add_subdirectory( thirdparty ) add_subdirectory( src ) -macro_display_feature_log() +feature_summary(WHAT ALL) if( NOT WITH_PYTHON ) message( "-- WARNING: Building Calamares without Python support. Legacy Python job modules will not work.\n" ) diff --git a/CMakeModules/MacroLogFeature.cmake b/CMakeModules/MacroLogFeature.cmake deleted file mode 100644 index 45e27b6df..000000000 --- a/CMakeModules/MacroLogFeature.cmake +++ /dev/null @@ -1,157 +0,0 @@ -# This file defines the Feature Logging macros. -# -# MACRO_LOG_FEATURE(VAR FEATURE DESCRIPTION URL [REQUIRED [MIN_VERSION [COMMENTS]]]) -# Logs the information so that it can be displayed at the end -# of the configure run -# VAR : TRUE or FALSE, indicating whether the feature is supported -# FEATURE: name of the feature, e.g. "libjpeg" -# DESCRIPTION: description what this feature provides -# URL: home page -# REQUIRED: TRUE or FALSE, indicating whether the featue is required -# MIN_VERSION: minimum version number. empty string if unneeded -# COMMENTS: More info you may want to provide. empty string if unnecessary -# -# MACRO_DISPLAY_FEATURE_LOG() -# Call this to display the collected results. -# Exits CMake with a FATAL error message if a required feature is missing -# -# Example: -# -# INCLUDE(MacroLogFeature) -# -# FIND_PACKAGE(JPEG) -# MACRO_LOG_FEATURE(JPEG_FOUND "libjpeg" "Support JPEG images" "http://www.ijg.org" TRUE "3.2a" "") -# ... -# MACRO_DISPLAY_FEATURE_LOG() - -# Copyright (c) 2006, Alexander Neundorf, -# Copyright (c) 2006, Allen Winter, -# Copyright (c) 2009, Sebastian Trueg, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -IF (NOT _macroLogFeatureAlreadyIncluded) - SET(_file ${CMAKE_BINARY_DIR}/MissingRequirements.txt) - IF (EXISTS ${_file}) - FILE(REMOVE ${_file}) - ENDIF (EXISTS ${_file}) - - SET(_file ${CMAKE_BINARY_DIR}/EnabledFeatures.txt) - IF (EXISTS ${_file}) - FILE(REMOVE ${_file}) - ENDIF (EXISTS ${_file}) - - SET(_file ${CMAKE_BINARY_DIR}/DisabledFeatures.txt) - IF (EXISTS ${_file}) - FILE(REMOVE ${_file}) - ENDIF (EXISTS ${_file}) - - SET(_macroLogFeatureAlreadyIncluded TRUE) - - INCLUDE(FeatureSummary) - -ENDIF (NOT _macroLogFeatureAlreadyIncluded) - - -MACRO(MACRO_LOG_FEATURE _var _package _description _url ) # _required _minvers _comments) - - STRING(TOUPPER "${ARGV4}" _required) - SET(_minvers "${ARGV5}") - SET(_comments "${ARGV6}") - - IF (${_var}) - SET(_LOGFILENAME ${CMAKE_BINARY_DIR}/EnabledFeatures.txt) - ELSE (${_var}) - IF ("${_required}" STREQUAL "TRUE") - SET(_LOGFILENAME ${CMAKE_BINARY_DIR}/MissingRequirements.txt) - ELSE ("${_required}" STREQUAL "TRUE") - SET(_LOGFILENAME ${CMAKE_BINARY_DIR}/DisabledFeatures.txt) - ENDIF ("${_required}" STREQUAL "TRUE") - ENDIF (${_var}) - - SET(_logtext " * ${_package}") - - IF (NOT ${_var}) - IF (${_minvers} MATCHES ".*") - SET(_logtext "${_logtext} (${_minvers} or higher)") - ENDIF (${_minvers} MATCHES ".*") - SET(_logtext "${_logtext} <${_url}>\n ") - ELSE (NOT ${_var}) - SET(_logtext "${_logtext} - ") - ENDIF (NOT ${_var}) - - SET(_logtext "${_logtext}${_description}") - - IF (NOT ${_var}) - IF (${_comments} MATCHES ".*") - SET(_logtext "${_logtext}\n ${_comments}") - ENDIF (${_comments} MATCHES ".*") -# SET(_logtext "${_logtext}\n") #double-space missing features? - ENDIF (NOT ${_var}) - - FILE(APPEND "${_LOGFILENAME}" "${_logtext}\n") - - IF(COMMAND SET_PACKAGE_INFO) # in FeatureSummary.cmake since CMake 2.8.3 - SET_PACKAGE_INFO("${_package}" "\"${_description}\"" "${_url}" "\"${_comments}\"") - ENDIF(COMMAND SET_PACKAGE_INFO) - -ENDMACRO(MACRO_LOG_FEATURE) - - -MACRO(MACRO_DISPLAY_FEATURE_LOG) - IF(COMMAND FEATURE_SUMMARY) # in FeatureSummary.cmake since CMake 2.8.3 - FEATURE_SUMMARY(FILENAME ${CMAKE_CURRENT_BINARY_DIR}/FindPackageLog.txt - WHAT ALL) - ENDIF(COMMAND FEATURE_SUMMARY) - - SET(_missingFile ${CMAKE_BINARY_DIR}/MissingRequirements.txt) - SET(_enabledFile ${CMAKE_BINARY_DIR}/EnabledFeatures.txt) - SET(_disabledFile ${CMAKE_BINARY_DIR}/DisabledFeatures.txt) - - IF (EXISTS ${_missingFile} OR EXISTS ${_enabledFile} OR EXISTS ${_disabledFile}) - SET(_printSummary TRUE) - ENDIF (EXISTS ${_missingFile} OR EXISTS ${_enabledFile} OR EXISTS ${_disabledFile}) - - IF(_printSummary) - SET(_missingDeps 0) - IF (EXISTS ${_enabledFile}) - FILE(READ ${_enabledFile} _enabled) - FILE(REMOVE ${_enabledFile}) - SET(_summary "${_summary}\n-----------------------------------------------------------------------------\n-- The following external packages were located on your system.\n-- This installation will have the extra features provided by these packages.\n-----------------------------------------------------------------------------\n${_enabled}") - ENDIF (EXISTS ${_enabledFile}) - - - IF (EXISTS ${_disabledFile}) - SET(_missingDeps 1) - FILE(READ ${_disabledFile} _disabled) - FILE(REMOVE ${_disabledFile}) - SET(_summary "${_summary}\n-----------------------------------------------------------------------------\n-- The following OPTIONAL packages could NOT be located on your system.\n-- Consider installing them to enable more features from this software.\n-----------------------------------------------------------------------------\n${_disabled}") - ENDIF (EXISTS ${_disabledFile}) - - - IF (EXISTS ${_missingFile}) - SET(_missingDeps 1) - FILE(READ ${_missingFile} _requirements) - SET(_summary "${_summary}\n-----------------------------------------------------------------------------\n-- The following REQUIRED packages could NOT be located on your system.\n-- You must install these packages before continuing.\n-----------------------------------------------------------------------------\n${_requirements}") - FILE(REMOVE ${_missingFile}) - SET(_haveMissingReq 1) - ENDIF (EXISTS ${_missingFile}) - - - IF (NOT ${_missingDeps}) - SET(_summary "${_summary}\n-----------------------------------------------------------------------------\n-- Congratulations! All external packages have been found.") - ENDIF (NOT ${_missingDeps}) - - - MESSAGE(${_summary}) - MESSAGE("-----------------------------------------------------------------------------\n") - - - IF(_haveMissingReq) - MESSAGE(FATAL_ERROR "Exiting: Missing Requirements") - ENDIF(_haveMissingReq) - - ENDIF(_printSummary) - -ENDMACRO(MACRO_DISPLAY_FEATURE_LOG) diff --git a/CMakeModules/MacroOptionalFindPackage.cmake b/CMakeModules/MacroOptionalFindPackage.cmake deleted file mode 100644 index d4ed48e33..000000000 --- a/CMakeModules/MacroOptionalFindPackage.cmake +++ /dev/null @@ -1,48 +0,0 @@ -# - MACRO_OPTIONAL_FIND_PACKAGE() combines FIND_PACKAGE() with an OPTION() -# MACRO_OPTIONAL_FIND_PACKAGE( [QUIT] ) -# This macro is a combination of OPTION() and FIND_PACKAGE(), it -# works like FIND_PACKAGE(), but additionally it automatically creates -# an option name WITH_, which can be disabled via the cmake GUI. -# or via -DWITH_=OFF -# The standard _FOUND variables can be used in the same way -# as when using the normal FIND_PACKAGE() - -# Copyright (c) 2006-2010 Alexander Neundorf, -# -# Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -# This is just a helper macro to set a bunch of variables empty. -# We don't know whether the package uses UPPERCASENAME or CamelCaseName, so we try both: -macro(_MOFP_SET_EMPTY_IF_DEFINED _name _var) - if(DEFINED ${_name}_${_var}) - set(${_name}_${_var} "") - endif(DEFINED ${_name}_${_var}) - - string(TOUPPER ${_name} _nameUpper) - if(DEFINED ${_nameUpper}_${_var}) - set(${_nameUpper}_${_var} "") - endif(DEFINED ${_nameUpper}_${_var}) -endmacro(_MOFP_SET_EMPTY_IF_DEFINED _package _var) - - -macro (MACRO_OPTIONAL_FIND_PACKAGE _name ) - option(WITH_${_name} "Search for ${_name} package" ON) - if (WITH_${_name}) - find_package(${_name} ${ARGN}) - else (WITH_${_name}) - string(TOUPPER ${_name} _nameUpper) - set(${_name}_FOUND FALSE) - set(${_nameUpper}_FOUND FALSE) - - _mofp_set_empty_if_defined(${_name} INCLUDE_DIRS) - _mofp_set_empty_if_defined(${_name} INCLUDE_DIR) - _mofp_set_empty_if_defined(${_name} INCLUDES) - _mofp_set_empty_if_defined(${_name} LIBRARY) - _mofp_set_empty_if_defined(${_name} LIBRARIES) - _mofp_set_empty_if_defined(${_name} LIBS) - _mofp_set_empty_if_defined(${_name} FLAGS) - _mofp_set_empty_if_defined(${_name} DEFINITIONS) - endif (WITH_${_name}) -endmacro (MACRO_OPTIONAL_FIND_PACKAGE) - From 199627012845606f7d3788b5c25412d7362f2128 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 08:38:51 -0400 Subject: [PATCH 061/129] Drop crashreporter-qt - Reporting URL we use is unused right now anyway - Not compatible with glibc 2.26 - Not compatible with ARM --- .gitmodules | 6 +++--- CMakeLists.txt | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.gitmodules b/.gitmodules index 4fc249f44..8ef1ca6af 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "thirdparty/libcrashreporter-qt"] - path = thirdparty/libcrashreporter-qt - url = https://github.com/dschmidt/libcrashreporter-qt +#[submodule "thirdparty/libcrashreporter-qt"] +# path = thirdparty/libcrashreporter-qt +# url = https://github.com/dschmidt/libcrashreporter-qt diff --git a/CMakeLists.txt b/CMakeLists.txt index b14521417..935b1d7a3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,7 +66,7 @@ find_package( YAMLCPP 0.5.1 REQUIRED ) find_package( PolkitQt5-1 REQUIRED ) option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON ) -option( WITH_CRASHREPORTER "Build with CrashReporter" ON ) +# option( WITH_CRASHREPORTER "Build with CrashReporter" OFF ) option( INSTALL_CONFIG "Install configuration files" ON ) option( WITH_PYTHONQT "Enable next generation Python modules API (experimental, requires PythonQt)." OFF ) option( BUILD_TESTING "Build the testing tree." ON ) @@ -75,10 +75,10 @@ if( BUILD_TESTING ) enable_testing() endif () -if( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" OR NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libcrashreporter-qt/CMakeLists.txt" ) - message( STATUS "Build of crashreporter disabled." ) - set( WITH_CRASHREPORTER OFF ) -endif() +# if( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" OR NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libcrashreporter-qt/CMakeLists.txt" ) +# message( STATUS "Build of crashreporter disabled." ) +# set( WITH_CRASHREPORTER OFF ) +# endif() find_package( PythonLibs 3.3 OPTIONAL ) set_package_properties( @@ -237,7 +237,7 @@ set_package_properties( mksquashfs PROPERTIES TYPE OPTIONAL ) -add_subdirectory( thirdparty ) +# add_subdirectory( thirdparty ) add_subdirectory( src ) feature_summary(WHAT ALL) From 3246b6cb1b59d3b9572a5034d95c3e14effa3082 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 08:43:20 -0400 Subject: [PATCH 062/129] Drop submodule the right way --- .gitmodules | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 8ef1ca6af..4fc249f44 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -#[submodule "thirdparty/libcrashreporter-qt"] -# path = thirdparty/libcrashreporter-qt -# url = https://github.com/dschmidt/libcrashreporter-qt +[submodule "thirdparty/libcrashreporter-qt"] + path = thirdparty/libcrashreporter-qt + url = https://github.com/dschmidt/libcrashreporter-qt From 6c3b308a039ba53dada7fcc2b3e6473a44cde17e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 08:47:07 -0400 Subject: [PATCH 063/129] Remove libcrashreporter-qt more thoroughly --- .gitmodules | 3 --- thirdparty/CMakeLists.txt | 11 ----------- thirdparty/libcrashreporter-qt | 1 - 3 files changed, 15 deletions(-) delete mode 100644 thirdparty/CMakeLists.txt delete mode 160000 thirdparty/libcrashreporter-qt diff --git a/.gitmodules b/.gitmodules index 4fc249f44..e69de29bb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "thirdparty/libcrashreporter-qt"] - path = thirdparty/libcrashreporter-qt - url = https://github.com/dschmidt/libcrashreporter-qt diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt deleted file mode 100644 index 77b4897a5..000000000 --- a/thirdparty/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) - # Suppress warnings entirely; not interesting in third-party code - set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w" ) -endif() - -if( WITH_CRASHREPORTER ) - macro( qt_wrap_ui ) - qt5_wrap_ui( ${ARGN} ) - endmacro() - add_subdirectory( libcrashreporter-qt ) -endif() diff --git a/thirdparty/libcrashreporter-qt b/thirdparty/libcrashreporter-qt deleted file mode 160000 index 61dc3963c..000000000 --- a/thirdparty/libcrashreporter-qt +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 61dc3963c2b59894e7d3f3bd758c43b59665054a From 63ecce93fd8c23a45d148d8a5fc79dfd4401ec9a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 08:56:29 -0400 Subject: [PATCH 064/129] Remove unused CMake module --- CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 935b1d7a3..c8b4f208b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,7 +56,6 @@ cmake_policy( SET CMP0023 OLD ) cmake_policy( SET CMP0028 NEW ) # double colons in KF5::Foo and Qt5::Foo are necessarily IMPORTED or ALIAS targets, don't search further cmake_policy( SET CMP0043 OLD ) -include( MacroOptionalFindPackage ) include( FeatureSummary ) set( QT_VERSION 5.6.0 ) From 90fc268cc4535f60d67f2b8929a9911a6e2ede49 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 18:04:36 +0200 Subject: [PATCH 065/129] Clean up CMakeLists wrt. optional --- CMakeLists.txt | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c8b4f208b..faaf3b8d4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,10 +52,6 @@ if( CMAKE_COMPILER_IS_GNUCXX ) endif() endif() -cmake_policy( SET CMP0023 OLD ) -cmake_policy( SET CMP0028 NEW ) # double colons in KF5::Foo and Qt5::Foo are necessarily IMPORTED or ALIAS targets, don't search further -cmake_policy( SET CMP0043 OLD ) - include( FeatureSummary ) set( QT_VERSION 5.6.0 ) @@ -79,7 +75,7 @@ endif () # set( WITH_CRASHREPORTER OFF ) # endif() -find_package( PythonLibs 3.3 OPTIONAL ) +find_package( PythonLibs 3.3 ) set_package_properties( PYTHONLIBS PROPERTIES DESCRIPTION "C interface libraries for the Python 3 interpreter." @@ -97,7 +93,7 @@ if ( PYTHONLIBS_FOUND ) PURPOSE "Boost.Python is used for interfacing with Calamares job modules written in Python 3." ) - macro_optional_find_package( PythonQt ) + find_package( PythonQt ) set_package_properties( PYTHONQT PROPERTIES DESCRIPTION "A Python embedding solution for Qt applications." URL "http://pythonqt.sourceforge.net" From 03d9dbe099c7c58eabd744d6cf37e290362a3415 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 18:29:56 +0200 Subject: [PATCH 066/129] Clean up CMakeLists, linking --- CMakeLists.txt | 4 ---- CMakeModules/CalamaresAddLibrary.cmake | 13 ++++++++----- src/calamares/CMakeLists.txt | 1 - src/libcalamares/CMakeLists.txt | 12 ++---------- 4 files changed, 10 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index faaf3b8d4..74f69a8a7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -192,10 +192,6 @@ set( THIRDPARTY_DIR "${CMAKE_SOURCE_DIR}/thirdparty" ) # make example-distro # find_program( mksquashfs_PROGRAM mksquashfs ) -set_package_properties( mksquashfs PROPERTIES - DESCRIPTION "Create example distro" - URL "http://tldp.org/HOWTO/SquashFS-HOWTO/creatingandusing.html" -) if( mksquashfs_PROGRAM ) set( mksquashfs_FOUND ON ) set( src_fs ${CMAKE_SOURCE_DIR}/data/example-root/ ) diff --git a/CMakeModules/CalamaresAddLibrary.cmake b/CMakeModules/CalamaresAddLibrary.cmake index a774b1f31..f183277c8 100644 --- a/CMakeModules/CalamaresAddLibrary.cmake +++ b/CMakeModules/CalamaresAddLibrary.cmake @@ -45,9 +45,6 @@ function(calamares_add_library) add_library(${target} SHARED ${LIBRARY_SOURCES}) endif() - # HACK: add qt modules - every lib should define its own set of modules - qt5_use_modules(${target} Core Gui Widgets ${LIBRARY_QT5_MODULES}) - # definitions - can this be moved into set_target_properties below? add_definitions(${QT_DEFINITIONS}) set_target_properties(${target} PROPERTIES AUTOMOC TRUE) @@ -67,9 +64,15 @@ function(calamares_add_library) endif() # add link targets - target_link_libraries(${target} ${CALAMARES_LIBRARIES}) + target_link_libraries(${target} + LINK_PUBLIC ${CALAMARES_LIBRARIES} + Qt5::Core + Qt5::Gui + Qt5::Widgets + ${LIBRARY_QT5_MODULES} + ) if(LIBRARY_LINK_LIBRARIES) - target_link_libraries(${target} ${LIBRARY_LINK_LIBRARIES}) + target_link_libraries(${target} LINK_PUBLIC ${LIBRARY_LINK_LIBRARIES}) endif() if(LIBRARY_LINK_PRIVATE_LIBRARIES) target_link_libraries(${target} LINK_PRIVATE ${LIBRARY_LINK_PRIVATE_LIBRARIES}) diff --git a/src/calamares/CMakeLists.txt b/src/calamares/CMakeLists.txt index c0f9ecb66..62be0ed34 100644 --- a/src/calamares/CMakeLists.txt +++ b/src/calamares/CMakeLists.txt @@ -55,7 +55,6 @@ if( WITH_CRASHREPORTER ) list( APPEND LINK_LIBRARIES ${LINK_LIBRARIES} pthread crashreporter-handler ) endif() -qt5_use_modules( calamares_bin Core Widgets ) target_link_libraries( calamares_bin PRIVATE ${CALAMARES_LIBRARIES} diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index fd94e3eab..cdd31b782 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -81,17 +81,9 @@ set_target_properties( calamares SOVERSION ${CALAMARES_VERSION_SHORT} ) -qt5_use_modules( calamares Core ) - - target_link_libraries( calamares - LINK_PRIVATE - # internal deps, if any - ${OPTIONAL_PRIVATE_LIBRARIES} - - LINK_PUBLIC - # External deps - Qt5::Core + LINK_PRIVATE ${OPTIONAL_PRIVATE_LIBRARIES} + LINK_PUBLIC Qt5::Core ) install( TARGETS calamares From bd37572fd8d1b76bda97c0e315e3971b9b2cf3f1 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 18:35:56 +0200 Subject: [PATCH 067/129] Clang: reduce warnings --- src/libcalamaresui/utils/ImageRegistry.cpp | 2 +- src/libcalamaresui/utils/qjsonitem.h | 4 ++-- src/libcalamaresui/utils/qjsonmodel.h | 2 +- src/libcalamaresui/viewpages/ViewStep.cpp | 4 +++- src/libcalamaresui/widgets/ClickableLabel.h | 6 +++--- src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp | 1 + src/libcalamaresui/widgets/FixedAspectRatioLabel.h | 2 +- src/libcalamaresui/widgets/QtWaitingSpinner.cpp | 10 +++++----- src/libcalamaresui/widgets/QtWaitingSpinner.h | 2 +- src/modules/keyboard/KeyboardViewStep.h | 2 +- src/modules/netinstall/NetInstallViewStep.h | 2 +- src/modules/netinstall/PackageModel.h | 2 +- 12 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/libcalamaresui/utils/ImageRegistry.cpp b/src/libcalamaresui/utils/ImageRegistry.cpp index 5e55b2293..9ed646e50 100644 --- a/src/libcalamaresui/utils/ImageRegistry.cpp +++ b/src/libcalamaresui/utils/ImageRegistry.cpp @@ -29,7 +29,7 @@ #include "utils/Logger.h" static QHash< QString, QHash< int, QHash< qint64, QPixmap > > > s_cache; -ImageRegistry* ImageRegistry::s_instance = 0; +ImageRegistry* ImageRegistry::s_instance = nullptr; ImageRegistry* diff --git a/src/libcalamaresui/utils/qjsonitem.h b/src/libcalamaresui/utils/qjsonitem.h index 58ea02d32..1dfa5c65e 100644 --- a/src/libcalamaresui/utils/qjsonitem.h +++ b/src/libcalamaresui/utils/qjsonitem.h @@ -26,7 +26,7 @@ class QJsonTreeItem { public: - QJsonTreeItem(QJsonTreeItem * parent = 0); + QJsonTreeItem(QJsonTreeItem * parent = nullptr); virtual ~QJsonTreeItem(); void appendChild(QJsonTreeItem * item); QJsonTreeItem *child(int row); @@ -41,7 +41,7 @@ public: QJsonValue::Type type() const; - static QJsonTreeItem* load(const QJsonValue& value, QJsonTreeItem * parent = 0); + static QJsonTreeItem* load(const QJsonValue& value, QJsonTreeItem * parent = nullptr); protected: diff --git a/src/libcalamaresui/utils/qjsonmodel.h b/src/libcalamaresui/utils/qjsonmodel.h index a76d807d8..0bf8f5dab 100644 --- a/src/libcalamaresui/utils/qjsonmodel.h +++ b/src/libcalamaresui/utils/qjsonmodel.h @@ -30,7 +30,7 @@ class QJsonModel : public QAbstractItemModel { Q_OBJECT public: - explicit QJsonModel(QObject *parent = 0); + explicit QJsonModel(QObject *parent = nullptr); virtual ~QJsonModel(); bool load(const QString& fileName); bool load(QIODevice * device); diff --git a/src/libcalamaresui/viewpages/ViewStep.cpp b/src/libcalamaresui/viewpages/ViewStep.cpp index 6d5a5f746..a81787673 100644 --- a/src/libcalamaresui/viewpages/ViewStep.cpp +++ b/src/libcalamaresui/viewpages/ViewStep.cpp @@ -61,6 +61,8 @@ ViewStep::setModuleInstanceKey( const QString& instanceKey ) void ViewStep::setConfigurationMap( const QVariantMap& configurationMap ) -{} +{ + Q_UNUSED( configurationMap ); +} } diff --git a/src/libcalamaresui/widgets/ClickableLabel.h b/src/libcalamaresui/widgets/ClickableLabel.h index fc198b98b..7a6556e3f 100644 --- a/src/libcalamaresui/widgets/ClickableLabel.h +++ b/src/libcalamaresui/widgets/ClickableLabel.h @@ -28,14 +28,14 @@ class ClickableLabel : public QLabel public: explicit ClickableLabel( QWidget* parent = nullptr, Qt::WindowFlags f = 0 ); explicit ClickableLabel( const QString& text, QWidget* parent = nullptr, Qt::WindowFlags f = 0 ); - virtual ~ClickableLabel(); + virtual ~ClickableLabel() override; signals: void clicked(); protected: - virtual void mousePressEvent( QMouseEvent* event ); - virtual void mouseReleaseEvent( QMouseEvent* event ); + virtual void mousePressEvent( QMouseEvent* event ) override; + virtual void mouseReleaseEvent( QMouseEvent* event ) override; private: QTime m_time; diff --git a/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp b/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp index 4920605bc..99d3d51f4 100644 --- a/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp +++ b/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp @@ -42,6 +42,7 @@ FixedAspectRatioLabel::setPixmap( const QPixmap& pixmap ) void FixedAspectRatioLabel::resizeEvent( QResizeEvent* event ) { + Q_UNUSED( event ); QLabel::setPixmap( m_pixmap.scaled( contentsRect().size(), Qt::KeepAspectRatio, diff --git a/src/libcalamaresui/widgets/FixedAspectRatioLabel.h b/src/libcalamaresui/widgets/FixedAspectRatioLabel.h index 4483576f6..33cc4708f 100644 --- a/src/libcalamaresui/widgets/FixedAspectRatioLabel.h +++ b/src/libcalamaresui/widgets/FixedAspectRatioLabel.h @@ -28,7 +28,7 @@ class FixedAspectRatioLabel : public QLabel Q_OBJECT public: explicit FixedAspectRatioLabel( QWidget* parent = nullptr ); - virtual ~FixedAspectRatioLabel(); + virtual ~FixedAspectRatioLabel() override; public slots: void setPixmap( const QPixmap &pixmap ); diff --git a/src/libcalamaresui/widgets/QtWaitingSpinner.cpp b/src/libcalamaresui/widgets/QtWaitingSpinner.cpp index c298a61ec..93ad6f9ee 100644 --- a/src/libcalamaresui/widgets/QtWaitingSpinner.cpp +++ b/src/libcalamaresui/widgets/QtWaitingSpinner.cpp @@ -57,7 +57,7 @@ void QtWaitingSpinner::paintEvent(QPaintEvent* /*ev*/) { for (int i = 0; i < myLinesNumber; ++i) { painter.save(); painter.translate(myRadius + myLength, myRadius + myLength); - qreal rotateAngle = (qreal)360 * qreal(i) / qreal(myLinesNumber); + qreal rotateAngle = 360.0 * qreal(i) / qreal(myLinesNumber); painter.rotate(rotateAngle); painter.translate(myRadius, 0); int distance = lineDistance(i, myCurrentCounter, myLinesNumber); @@ -160,14 +160,14 @@ QColor QtWaitingSpinner::countTrailColor(int distance, int lines, int trail, int if (distance == 0) { return color; } - const qreal minAlphaF = (qreal)minOpacity / 100; - int distanceThreshold = ceil( (lines - 1) * (qreal)trail / 100); + const qreal minAlphaF = qreal(minOpacity) / 100.0; + int distanceThreshold = ceil( (lines - 1) * qreal(trail) / 100.0); if (distance > distanceThreshold) { color.setAlphaF(minAlphaF); return color; } - qreal alphaDiff = color.alphaF() - (qreal)minAlphaF; - qreal gradation = alphaDiff / (qreal)(distanceThreshold + 1); + qreal alphaDiff = color.alphaF() - minAlphaF; + qreal gradation = alphaDiff / qreal(distanceThreshold + 1); qreal resultAlpha = color.alphaF() - gradation * distance; resultAlpha = std::min(1.0, std::max(0.0, resultAlpha)); //if alpha is out of bound, force it to bounds color.setAlphaF(resultAlpha); diff --git a/src/libcalamaresui/widgets/QtWaitingSpinner.h b/src/libcalamaresui/widgets/QtWaitingSpinner.h index b01ebd1a8..1c1b3eb10 100644 --- a/src/libcalamaresui/widgets/QtWaitingSpinner.h +++ b/src/libcalamaresui/widgets/QtWaitingSpinner.h @@ -33,7 +33,7 @@ class UIDLLEXPORT QtWaitingSpinner : public QWidget { Q_OBJECT public: - explicit QtWaitingSpinner(int linesNumber = 12, int length = 7, int width = 5, int radius = 10, QWidget* parent = 0); + explicit QtWaitingSpinner(int linesNumber = 12, int length = 7, int width = 5, int radius = 10, QWidget* parent = nullptr); public Q_SLOTS: void start(); diff --git a/src/modules/keyboard/KeyboardViewStep.h b/src/modules/keyboard/KeyboardViewStep.h index 239639251..39f3f56a7 100644 --- a/src/modules/keyboard/KeyboardViewStep.h +++ b/src/modules/keyboard/KeyboardViewStep.h @@ -34,7 +34,7 @@ class PLUGINDLLEXPORT KeyboardViewStep : public Calamares::ViewStep public: explicit KeyboardViewStep( QObject* parent = nullptr ); - virtual ~KeyboardViewStep(); + virtual ~KeyboardViewStep() override; QString prettyName() const override; QString prettyStatus() const override; diff --git a/src/modules/netinstall/NetInstallViewStep.h b/src/modules/netinstall/NetInstallViewStep.h index de4d411d8..651c53266 100644 --- a/src/modules/netinstall/NetInstallViewStep.h +++ b/src/modules/netinstall/NetInstallViewStep.h @@ -34,7 +34,7 @@ class PLUGINDLLEXPORT NetInstallViewStep : public Calamares::ViewStep public: explicit NetInstallViewStep( QObject* parent = nullptr ); - virtual ~NetInstallViewStep(); + virtual ~NetInstallViewStep() override; QString prettyName() const override; QString prettyStatus() const override; diff --git a/src/modules/netinstall/PackageModel.h b/src/modules/netinstall/PackageModel.h index d49dd88c2..4a41f1879 100644 --- a/src/modules/netinstall/PackageModel.h +++ b/src/modules/netinstall/PackageModel.h @@ -35,7 +35,7 @@ class PackageModel : public QAbstractItemModel Q_OBJECT public: - explicit PackageModel( const YAML::Node& data, QObject* parent = 0 ); + explicit PackageModel( const YAML::Node& data, QObject* parent = nullptr ); ~PackageModel(); QVariant data( const QModelIndex& index, int role ) const override; From da4fa6a63ab0ce6d6b8be6cc943c2dcce08f6720 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 18:49:43 +0200 Subject: [PATCH 068/129] Fix link / library name --- src/libcalamaresui/CMakeLists.txt | 2 +- src/modules/locale/CMakeLists.txt | 2 +- src/modules/netinstall/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libcalamaresui/CMakeLists.txt b/src/libcalamaresui/CMakeLists.txt index ee039b46d..0648807b8 100644 --- a/src/libcalamaresui/CMakeLists.txt +++ b/src/libcalamaresui/CMakeLists.txt @@ -63,7 +63,7 @@ calamares_add_library( ${CALAMARESUI_LIBRARY_TARGET} UI ${${CALAMARESUI_LIBRARY_TARGET}_UI} EXPORT_MACRO UIDLLEXPORT_PRO LINK_PRIVATE_LIBRARIES - yaml-cpp + ${YAMLCPP_LIBRARY} Qt5::Svg Qt5::QuickWidgets ${OPTIONAL_PRIVATE_LIBRARIES} diff --git a/src/modules/locale/CMakeLists.txt b/src/modules/locale/CMakeLists.txt index 61bdfc707..e32f6e613 100644 --- a/src/modules/locale/CMakeLists.txt +++ b/src/modules/locale/CMakeLists.txt @@ -17,6 +17,6 @@ calamares_add_plugin( locale LINK_PRIVATE_LIBRARIES calamaresui Qt5::Network - yaml-cpp + ${YAMLCPP_LIBRARY} SHARED_LIB ) diff --git a/src/modules/netinstall/CMakeLists.txt b/src/modules/netinstall/CMakeLists.txt index 1de1c7505..67f805734 100644 --- a/src/modules/netinstall/CMakeLists.txt +++ b/src/modules/netinstall/CMakeLists.txt @@ -15,6 +15,6 @@ calamares_add_plugin( netinstall LINK_PRIVATE_LIBRARIES calamaresui Qt5::Network - yaml-cpp + ${YAMLCPP_LIBRARY} SHARED_LIB ) From 5d241f8e0908c66f531d690f540765ef6a8aeade Mon Sep 17 00:00:00 2001 From: Gabriel C Date: Wed, 13 Sep 2017 21:44:15 +0200 Subject: [PATCH 069/129] CreateUserJob: do not force any autologin group There is no need to force folks haing a random group bc that is a Distro think. SDDM/GDM works just fine without having a group for the user to autologin. Just setup a group in users.conf .. is why we have a configuration option for that. --- src/modules/users/CreateUserJob.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/modules/users/CreateUserJob.cpp b/src/modules/users/CreateUserJob.cpp index c666bd9ad..5f6843db5 100644 --- a/src/modules/users/CreateUserJob.cpp +++ b/src/modules/users/CreateUserJob.cpp @@ -115,13 +115,12 @@ CreateUserJob::exec() { QString autologinGroup; if ( gs->contains( "autologinGroup" ) && - !gs->value( "autologinGroup" ).toString().isEmpty() ) + !gs->value( "autologinGroup" ).toString().isEmpty() ) + { autologinGroup = gs->value( "autologinGroup" ).toString(); - else - autologinGroup = QStringLiteral( "autologin" ); - - CalamaresUtils::System::instance()->targetEnvCall( { "groupadd", autologinGroup } ); - defaultGroups.append( QString( ",%1" ).arg( autologinGroup ) ); + CalamaresUtils::System::instance()->targetEnvCall( { "groupadd", autologinGroup } ); + defaultGroups.append( QString( ",%1" ).arg( autologinGroup ) ); + } } // If we're looking to reuse the contents of an existing /home From edb1dbaa6e65196886c977f76082c2983eab904f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 20:07:09 +0200 Subject: [PATCH 070/129] Clang: warnings-- --- src/calamares/progresstree/ProgressTreeDelegate.cpp | 2 -- src/calamares/progresstree/ProgressTreeModel.cpp | 9 ++++++--- src/calamares/progresstree/ProgressTreeModel.h | 2 +- src/calamares/progresstree/ProgressTreeView.h | 4 ++-- src/libcalamaresui/widgets/QtWaitingSpinner.cpp | 4 ++-- src/modules/netinstall/PackageModel.cpp | 2 ++ src/modules/netinstall/PackageModel.h | 4 ++-- src/modules/netinstall/PackageTreeItem.cpp | 6 +++--- src/modules/netinstall/PackageTreeItem.h | 8 ++++---- src/modules/users/SetPasswordJob.cpp | 4 ++-- src/modules/users/SetPasswordJob.h | 2 +- src/modules/users/UsersViewStep.h | 2 +- src/modules/webview/WebViewStep.h | 2 +- 13 files changed, 27 insertions(+), 24 deletions(-) diff --git a/src/calamares/progresstree/ProgressTreeDelegate.cpp b/src/calamares/progresstree/ProgressTreeDelegate.cpp index f6b52b978..34835c8fa 100644 --- a/src/calamares/progresstree/ProgressTreeDelegate.cpp +++ b/src/calamares/progresstree/ProgressTreeDelegate.cpp @@ -64,8 +64,6 @@ ProgressTreeDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const { - bool isFirstLevel = !index.parent().isValid(); - QStyleOptionViewItem opt = option; painter->save(); diff --git a/src/calamares/progresstree/ProgressTreeModel.cpp b/src/calamares/progresstree/ProgressTreeModel.cpp index dbe8315eb..33e985809 100644 --- a/src/calamares/progresstree/ProgressTreeModel.cpp +++ b/src/calamares/progresstree/ProgressTreeModel.cpp @@ -96,6 +96,10 @@ ProgressTreeModel::data( const QModelIndex& index, int role ) const QVariant ProgressTreeModel::headerData( int section, Qt::Orientation orientation, int role ) const { + Q_UNUSED( section ); + Q_UNUSED( orientation ); + Q_UNUSED( role ); + return QVariant(); } @@ -146,12 +150,11 @@ ProgressTreeModel::indexFromItem( ProgressTreeItem* item ) if ( !item || !item->parent() ) return QModelIndex(); - // Reconstructs a QModelIndex from a ProgressTreeItem that is somewhere in the tree. - // Traverses the item to the root node, then rebuilds the qmodeindices from there + // Traverses the item to the root node, then rebuilds the qmodelindices from there // back down; each int is the row of that item in the parent. /** - * In this diagram, if the \param item is G, childIndexList will contain [0, 2, 0] + * In this diagram, if the item is G, childIndexList will contain [0, 2, 0] * * A * D diff --git a/src/calamares/progresstree/ProgressTreeModel.h b/src/calamares/progresstree/ProgressTreeModel.h index 60db77939..0311a28a0 100644 --- a/src/calamares/progresstree/ProgressTreeModel.h +++ b/src/calamares/progresstree/ProgressTreeModel.h @@ -39,7 +39,7 @@ public: }; explicit ProgressTreeModel( QObject* parent = nullptr ); - virtual ~ProgressTreeModel(); + virtual ~ProgressTreeModel() override; // Reimplemented from QAbstractItemModel Qt::ItemFlags flags( const QModelIndex& index ) const override; diff --git a/src/calamares/progresstree/ProgressTreeView.h b/src/calamares/progresstree/ProgressTreeView.h index fae75d0dc..9e735ef2d 100644 --- a/src/calamares/progresstree/ProgressTreeView.h +++ b/src/calamares/progresstree/ProgressTreeView.h @@ -34,8 +34,8 @@ class ProgressTreeView : public QTreeView public: static ProgressTreeView* instance(); - explicit ProgressTreeView( QWidget* parent = 0 ); - virtual ~ProgressTreeView(); + explicit ProgressTreeView( QWidget* parent = nullptr ); + virtual ~ProgressTreeView() override; /** * @brief setModel assigns a model to this view. diff --git a/src/libcalamaresui/widgets/QtWaitingSpinner.cpp b/src/libcalamaresui/widgets/QtWaitingSpinner.cpp index 93ad6f9ee..18c6264bd 100644 --- a/src/libcalamaresui/widgets/QtWaitingSpinner.cpp +++ b/src/libcalamaresui/widgets/QtWaitingSpinner.cpp @@ -145,7 +145,7 @@ void QtWaitingSpinner::updateTimer() { } int QtWaitingSpinner::countTimeout(int lines, qreal speed) { - return 1000 / (lines * speed); + return int( 1000.0 / (lines * speed) ); } int QtWaitingSpinner::lineDistance(int from, int to, int lines) { @@ -161,7 +161,7 @@ QColor QtWaitingSpinner::countTrailColor(int distance, int lines, int trail, int return color; } const qreal minAlphaF = qreal(minOpacity) / 100.0; - int distanceThreshold = ceil( (lines - 1) * qreal(trail) / 100.0); + int distanceThreshold = int( ceil( (lines - 1) * qreal(trail) / 100.0) ); if (distance > distanceThreshold) { color.setAlphaF(minAlphaF); return color; diff --git a/src/modules/netinstall/PackageModel.cpp b/src/modules/netinstall/PackageModel.cpp index 629133c86..8a2025b0e 100644 --- a/src/modules/netinstall/PackageModel.cpp +++ b/src/modules/netinstall/PackageModel.cpp @@ -126,6 +126,8 @@ bool PackageModel::setHeaderData( int section, Qt::Orientation orientation, const QVariant& value, int role ) { + Q_UNUSED( role ); + if ( orientation == Qt::Horizontal ) { if ( m_columnHeadings.value( section ) != QVariant() ) diff --git a/src/modules/netinstall/PackageModel.h b/src/modules/netinstall/PackageModel.h index 4a41f1879..ef2bc1794 100644 --- a/src/modules/netinstall/PackageModel.h +++ b/src/modules/netinstall/PackageModel.h @@ -36,13 +36,13 @@ class PackageModel : public QAbstractItemModel public: explicit PackageModel( const YAML::Node& data, QObject* parent = nullptr ); - ~PackageModel(); + ~PackageModel() override; QVariant data( const QModelIndex& index, int role ) const override; bool setData( const QModelIndex& index, const QVariant& value, int role = Qt::EditRole ) override; bool setHeaderData( int section, Qt::Orientation orientation, - const QVariant& value, int role = Qt::EditRole ); + const QVariant& value, int role = Qt::EditRole ) override; Qt::ItemFlags flags( const QModelIndex& index ) const override; QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const override; diff --git a/src/modules/netinstall/PackageTreeItem.cpp b/src/modules/netinstall/PackageTreeItem.cpp index 0cbc52223..bbd7f792f 100644 --- a/src/modules/netinstall/PackageTreeItem.cpp +++ b/src/modules/netinstall/PackageTreeItem.cpp @@ -18,9 +18,9 @@ #include "PackageTreeItem.h" -PackageTreeItem::PackageTreeItem( const ItemData& data, PackageTreeItem* parent ) : - m_data( data ), - m_parentItem( parent ) +PackageTreeItem::PackageTreeItem( const ItemData& data, PackageTreeItem* parent ) + : m_parentItem( parent ) + , m_data( data ) { } PackageTreeItem::PackageTreeItem( const QString packageName, PackageTreeItem* parent ) : diff --git a/src/modules/netinstall/PackageTreeItem.h b/src/modules/netinstall/PackageTreeItem.h index 291def37d..a95a4fe31 100644 --- a/src/modules/netinstall/PackageTreeItem.h +++ b/src/modules/netinstall/PackageTreeItem.h @@ -37,10 +37,10 @@ public: bool isHidden = false; Qt::CheckState selected = Qt::Unchecked; }; - explicit PackageTreeItem( const ItemData& data, PackageTreeItem* parent = 0 ); - explicit PackageTreeItem( const QString packageName, PackageTreeItem* parent = 0 ); - explicit PackageTreeItem( PackageTreeItem* parent = 0 ); - ~PackageTreeItem(); + explicit PackageTreeItem( const ItemData& data, PackageTreeItem* parent = nullptr ); + explicit PackageTreeItem( const QString packageName, PackageTreeItem* parent = nullptr ); + explicit PackageTreeItem( PackageTreeItem* parent = nullptr ); + ~PackageTreeItem() override; void appendChild( PackageTreeItem* child ); PackageTreeItem* child( int row ); diff --git a/src/modules/users/SetPasswordJob.cpp b/src/modules/users/SetPasswordJob.cpp index bf3423347..a077d8cb5 100644 --- a/src/modules/users/SetPasswordJob.cpp +++ b/src/modules/users/SetPasswordJob.cpp @@ -54,7 +54,7 @@ SetPasswordJob::prettyStatusMessage() const /// Returns a modular hashing salt for method 6 (SHA512) with a 16 character random salt. QString -SetPasswordJob::make_salt(size_t length) +SetPasswordJob::make_salt(int length) { Q_ASSERT(length >= 8); Q_ASSERT(length <= 128); @@ -73,7 +73,7 @@ SetPasswordJob::make_salt(size_t length) std::mt19937_64 twister(seed); std::uint64_t next; - size_t current_length = 0; + int current_length = 0; QString salt_string; salt_string.reserve(length + 10); diff --git a/src/modules/users/SetPasswordJob.h b/src/modules/users/SetPasswordJob.h index 45e99a57a..8a53d4941 100644 --- a/src/modules/users/SetPasswordJob.h +++ b/src/modules/users/SetPasswordJob.h @@ -33,7 +33,7 @@ public: QString prettyStatusMessage() const override; Calamares::JobResult exec() override; - static QString make_salt(size_t length); + static QString make_salt(int length); private: QString m_userName; diff --git a/src/modules/users/UsersViewStep.h b/src/modules/users/UsersViewStep.h index ea5d9101b..c7e0f447d 100644 --- a/src/modules/users/UsersViewStep.h +++ b/src/modules/users/UsersViewStep.h @@ -36,7 +36,7 @@ class PLUGINDLLEXPORT UsersViewStep : public Calamares::ViewStep public: explicit UsersViewStep( QObject* parent = nullptr ); - virtual ~UsersViewStep(); + virtual ~UsersViewStep() override; QString prettyName() const override; diff --git a/src/modules/webview/WebViewStep.h b/src/modules/webview/WebViewStep.h index 9d8405a97..5b8a85049 100644 --- a/src/modules/webview/WebViewStep.h +++ b/src/modules/webview/WebViewStep.h @@ -43,7 +43,7 @@ class PLUGINDLLEXPORT WebViewStep : public Calamares::ViewStep public: explicit WebViewStep( QObject* parent = nullptr ); - virtual ~WebViewStep(); + virtual ~WebViewStep() override; QString prettyName() const override; From c9f4bc0cc865e2f97d5a28d38b296877687dfa7f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 13 Sep 2017 22:24:30 +0200 Subject: [PATCH 071/129] Check for crypt(3), also on FreeBSD --- CMakeModules/FindCrypt.cmake | 27 +++++++++++++++++++-------- src/modules/users/CMakeLists.txt | 2 +- src/modules/users/SetPasswordJob.cpp | 4 ++++ 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/CMakeModules/FindCrypt.cmake b/CMakeModules/FindCrypt.cmake index 293228e6f..d17d70178 100644 --- a/CMakeModules/FindCrypt.cmake +++ b/CMakeModules/FindCrypt.cmake @@ -5,19 +5,30 @@ # LIBCRYPT_LIBRARY, the path to libcrypt # LIBCRYPT_FOUND, whether libcrypt was found +if( CMAKE_SYSTEM MATCHES "FreeBSD" ) + # FreeBSD has crypt(3) declared in unistd.h, which lives in + # libc; the libcrypt found here is not used. + find_path( CRYPT_INCLUDE_DIR NAMES unistd.h ) + add_definitions( -DNO_CRYPT_H ) +else() + find_path( CRYPT_INCLUDE_DIR + NAMES crypt.h + HINTS + ${CMAKE_INSTALL_INCLUDEDIR} + NO_CACHE + ) +endif() -find_path( CRYPT_INCLUDE_DIR NAMES crypt.h - HINTS - ${CMAKE_INSTALL_INCLUDEDIR} -) - -find_library( CRYPT_LIBRARIES NAMES crypt +find_library( CRYPT_LIBRARIES + NAMES crypt HINTS ${CMAKE_INSTALL_LIBDIR} ) include( FindPackageHandleStandardArgs ) -find_package_handle_standard_args( Crypt - REQUIRED_VARS CRYPT_LIBRARIES CRYPT_INCLUDE_DIR ) +find_package_handle_standard_args( + Crypt + REQUIRED_VARS CRYPT_LIBRARIES CRYPT_INCLUDE_DIR +) mark_as_advanced( CRYPT_INCLUDE_DIR CRYPT_LIBRARIES ) diff --git a/src/modules/users/CMakeLists.txt b/src/modules/users/CMakeLists.txt index 116da68e4..074118d54 100644 --- a/src/modules/users/CMakeLists.txt +++ b/src/modules/users/CMakeLists.txt @@ -5,7 +5,7 @@ if( ECM_FOUND ) endif() find_package( Qt5 COMPONENTS Core Test REQUIRED ) -find_package( Crypt ) +find_package( Crypt REQUIRED ) include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) diff --git a/src/modules/users/SetPasswordJob.cpp b/src/modules/users/SetPasswordJob.cpp index a077d8cb5..d917e6d5f 100644 --- a/src/modules/users/SetPasswordJob.cpp +++ b/src/modules/users/SetPasswordJob.cpp @@ -27,7 +27,11 @@ #include #include + +#ifndef NO_CRYPT_H #include +#endif +#include SetPasswordJob::SetPasswordJob( const QString& userName, const QString& newPassword ) From 9f1cca5ec785bbc340e846c31b389f36cc6f0233 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 14 Sep 2017 06:20:43 -0400 Subject: [PATCH 072/129] FS: use untranslated name to identify filesystem Resolves issue where 'linuxswap' is translated to 'Linux-Swap', for instance. FileSystem::name() provides a translated name, not an untranslated one. This should move to KPMCore. FIXES #797 --- .../partition/jobs/FillGlobalStorageJob.cpp | 49 ++++++++++++++++++- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/src/modules/partition/jobs/FillGlobalStorageJob.cpp b/src/modules/partition/jobs/FillGlobalStorageJob.cpp index 09eaf232d..f8194f2b3 100644 --- a/src/modules/partition/jobs/FillGlobalStorageJob.cpp +++ b/src/modules/partition/jobs/FillGlobalStorageJob.cpp @@ -76,6 +76,50 @@ getLuksUuid( const QString& path ) return uuid; } +// TODO: this will be available from KPMCore soon +static const char* filesystem_labels[] = { + "unknown", + "extended", + + "ext2", + "ext3", + "ext4", + "linuxswap", + "fat16", + "fat32", + "ntfs", + "reiser", + "reiser4", + "xfs", + "jfs", + "hfs", + "hfsplus", + "ufs", + "unformatted", + "btrfs", + "hpfs", + "luks", + "ocfs2", + "zfs", + "exfat", + "nilfs2", + "lvm2 pv", + "f2fs", + "udf", + "iso9660", +}; + +Q_STATIC_ASSERT_X((sizeof(filesystem_labels) / sizeof(char *)) >= FileSystem::__lastType, "Mismatch in filesystem labels"); + +static QString +untranslatedTypeName(FileSystem::Type t) +{ + + Q_ASSERT( t >= 0 ); + Q_ASSERT( t <= FileSystem::__lastType ); + + return QLatin1String(filesystem_labels[t]); +} static QVariant mapForPartition( Partition* partition, const QString& uuid ) @@ -83,14 +127,15 @@ mapForPartition( Partition* partition, const QString& uuid ) QVariantMap map; map[ "device" ] = partition->partitionPath(); map[ "mountPoint" ] = PartitionInfo::mountPoint( partition ); - map[ "fs" ] = partition->fileSystem().name(); + map[ "fsName" ] = partition->fileSystem().name(); + map[ "fs" ] = untranslatedTypeName( partition->fileSystem().type() ); if ( partition->fileSystem().type() == FileSystem::Luks && dynamic_cast< FS::luks& >( partition->fileSystem() ).innerFS() ) map[ "fs" ] = dynamic_cast< FS::luks& >( partition->fileSystem() ).innerFS()->name(); map[ "uuid" ] = uuid; cDebug() << partition->partitionPath() << "mtpoint:" << PartitionInfo::mountPoint( partition ) - << "fs:" << map[ "fs" ] + << "fs:" << map[ "fs" ] << '(' << map[ "fsName" ] << ')' << uuid; if ( partition->roles().has( PartitionRole::Luks ) ) From c6297f1db5c47eb08c1e04fe195992663c83238e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 14 Sep 2017 06:34:07 -0400 Subject: [PATCH 073/129] Clang: warnings-- --- src/libcalamaresui/viewpages/ViewStep.h | 2 +- src/modules/dracutlukscfg/DracutLuksCfgJob.h | 2 +- .../interactiveterminal/InteractiveTerminalViewStep.h | 2 +- src/modules/partition/jobs/CreatePartitionJob.cpp | 7 ++++--- src/modules/partition/jobs/CreatePartitionTableJob.cpp | 2 +- src/modules/partition/jobs/DeletePartitionJob.cpp | 2 +- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/libcalamaresui/viewpages/ViewStep.h b/src/libcalamaresui/viewpages/ViewStep.h index 2c07dace5..617d64fe1 100644 --- a/src/libcalamaresui/viewpages/ViewStep.h +++ b/src/libcalamaresui/viewpages/ViewStep.h @@ -45,7 +45,7 @@ class UIDLLEXPORT ViewStep : public QObject Q_OBJECT public: explicit ViewStep( QObject* parent = nullptr ); - virtual ~ViewStep(); + virtual ~ViewStep() override; virtual QString prettyName() const = 0; diff --git a/src/modules/dracutlukscfg/DracutLuksCfgJob.h b/src/modules/dracutlukscfg/DracutLuksCfgJob.h index ce981850c..71994e2b6 100644 --- a/src/modules/dracutlukscfg/DracutLuksCfgJob.h +++ b/src/modules/dracutlukscfg/DracutLuksCfgJob.h @@ -34,7 +34,7 @@ class PLUGINDLLEXPORT DracutLuksCfgJob : public Calamares::CppJob public: explicit DracutLuksCfgJob( QObject* parent = nullptr ); - virtual ~DracutLuksCfgJob(); + virtual ~DracutLuksCfgJob() override; QString prettyName() const override; diff --git a/src/modules/interactiveterminal/InteractiveTerminalViewStep.h b/src/modules/interactiveterminal/InteractiveTerminalViewStep.h index 77f7bdf34..025c6cec3 100644 --- a/src/modules/interactiveterminal/InteractiveTerminalViewStep.h +++ b/src/modules/interactiveterminal/InteractiveTerminalViewStep.h @@ -34,7 +34,7 @@ class PLUGINDLLEXPORT InteractiveTerminalViewStep : public Calamares::ViewStep public: explicit InteractiveTerminalViewStep( QObject* parent = nullptr ); - virtual ~InteractiveTerminalViewStep(); + virtual ~InteractiveTerminalViewStep() override; QString prettyName() const override; diff --git a/src/modules/partition/jobs/CreatePartitionJob.cpp b/src/modules/partition/jobs/CreatePartitionJob.cpp index 9fc1b86a2..6c4fc5259 100644 --- a/src/modules/partition/jobs/CreatePartitionJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionJob.cpp @@ -20,6 +20,7 @@ #include "jobs/CreatePartitionJob.h" #include "utils/Logger.h" +#include "utils/Units.h" // KPMcore #include @@ -47,7 +48,7 @@ CreatePartitionJob::prettyName() const { return tr( "Create new %2MB partition on %4 (%3) with file system %1." ) .arg( m_partition->fileSystem().name() ) - .arg( m_partition->capacity() / 1024 / 1024 ) + .arg( CalamaresUtils::BytesToMiB( m_partition->capacity() ) .arg( m_device->name() ) .arg( m_device->deviceNode() ); } @@ -59,7 +60,7 @@ CreatePartitionJob::prettyDescription() const return tr( "Create new %2MB partition on %4 " "(%3) with file system %1." ) .arg( m_partition->fileSystem().name() ) - .arg( m_partition->capacity() / 1024 / 1024 ) + .arg( CalamaresUtils::BytesToMiB( m_partition->capacity() ) .arg( m_device->name() ) .arg( m_device->deviceNode() ); } @@ -79,7 +80,7 @@ CreatePartitionJob::exec() int step = 0; const qreal stepCount = 4; - Report report( 0 ); + Report report( nullptr ); QString message = tr( "The installer failed to create partition on disk '%1'." ).arg( m_device->name() ); progress( step++ / stepCount ); diff --git a/src/modules/partition/jobs/CreatePartitionTableJob.cpp b/src/modules/partition/jobs/CreatePartitionTableJob.cpp index 5a0c4cd66..eaa2fe712 100644 --- a/src/modules/partition/jobs/CreatePartitionTableJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionTableJob.cpp @@ -72,7 +72,7 @@ CreatePartitionTableJob::prettyStatusMessage() const Calamares::JobResult CreatePartitionTableJob::exec() { - Report report( 0 ); + Report report( nullptr ); QString message = tr( "The installer failed to create a partition table on %1." ).arg( m_device->name() ); CoreBackend* backend = CoreBackendManager::self()->backend(); diff --git a/src/modules/partition/jobs/DeletePartitionJob.cpp b/src/modules/partition/jobs/DeletePartitionJob.cpp index 0aafc542e..43f2d94c6 100644 --- a/src/modules/partition/jobs/DeletePartitionJob.cpp +++ b/src/modules/partition/jobs/DeletePartitionJob.cpp @@ -63,7 +63,7 @@ DeletePartitionJob::prettyStatusMessage() const Calamares::JobResult DeletePartitionJob::exec() { - Report report( 0 ); + Report report( nullptr ); QString message = tr( "The installer failed to delete partition %1." ).arg( m_partition->devicePath() ); if ( m_device->deviceNode() != m_partition->devicePath() ) From 342b819a1d6f5145f6f451e0921d9e01d902dc07 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 14 Sep 2017 06:59:34 -0400 Subject: [PATCH 074/129] Fix build (warnings--, but breakage++ is not good) --- src/modules/partition/jobs/CreatePartitionJob.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/partition/jobs/CreatePartitionJob.cpp b/src/modules/partition/jobs/CreatePartitionJob.cpp index 6c4fc5259..cff4ae1cf 100644 --- a/src/modules/partition/jobs/CreatePartitionJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionJob.cpp @@ -48,7 +48,7 @@ CreatePartitionJob::prettyName() const { return tr( "Create new %2MB partition on %4 (%3) with file system %1." ) .arg( m_partition->fileSystem().name() ) - .arg( CalamaresUtils::BytesToMiB( m_partition->capacity() ) + .arg( CalamaresUtils::BytesToMiB( m_partition->capacity() ) ) .arg( m_device->name() ) .arg( m_device->deviceNode() ); } @@ -60,7 +60,7 @@ CreatePartitionJob::prettyDescription() const return tr( "Create new %2MB partition on %4 " "(%3) with file system %1." ) .arg( m_partition->fileSystem().name() ) - .arg( CalamaresUtils::BytesToMiB( m_partition->capacity() ) + .arg( CalamaresUtils::BytesToMiB( m_partition->capacity() ) ) .arg( m_device->name() ) .arg( m_device->deviceNode() ); } From ca60a7fc164c0b29b939dda8e38374e7ebab32e0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 14 Sep 2017 07:02:24 -0400 Subject: [PATCH 075/129] Clang: warnings-- --- src/modules/partition/core/DeviceModel.h | 4 ++-- src/modules/partition/core/PartitionModel.h | 2 +- src/modules/partition/gui/PartitionBarsView.h | 2 +- src/modules/partition/gui/PartitionLabelsView.h | 2 +- src/modules/partition/gui/PartitionViewStep.h | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/modules/partition/core/DeviceModel.h b/src/modules/partition/core/DeviceModel.h index 21c6bd939..5c07586e0 100644 --- a/src/modules/partition/core/DeviceModel.h +++ b/src/modules/partition/core/DeviceModel.h @@ -32,8 +32,8 @@ class DeviceModel : public QAbstractListModel { Q_OBJECT public: - DeviceModel( QObject* parent = 0 ); - ~DeviceModel(); + DeviceModel( QObject* parent = nullptr ); + ~DeviceModel() override; /** * Init the model with the list of devices. Does *not* take ownership of the diff --git a/src/modules/partition/core/PartitionModel.h b/src/modules/partition/core/PartitionModel.h index c792058e7..7437efa79 100644 --- a/src/modules/partition/core/PartitionModel.h +++ b/src/modules/partition/core/PartitionModel.h @@ -90,7 +90,7 @@ public: ColumnCount // Must remain last }; - PartitionModel( QObject* parent = 0 ); + PartitionModel( QObject* parent = nullptr ); /** * device must remain alive for the life of PartitionModel */ diff --git a/src/modules/partition/gui/PartitionBarsView.h b/src/modules/partition/gui/PartitionBarsView.h index 002d2c943..ccdb5d36a 100644 --- a/src/modules/partition/gui/PartitionBarsView.h +++ b/src/modules/partition/gui/PartitionBarsView.h @@ -42,7 +42,7 @@ public: }; explicit PartitionBarsView( QWidget* parent = nullptr ); - virtual ~PartitionBarsView(); + virtual ~PartitionBarsView() override; void setNestedPartitionsMode( NestedPartitionsMode mode ); diff --git a/src/modules/partition/gui/PartitionLabelsView.h b/src/modules/partition/gui/PartitionLabelsView.h index c5646a417..363d54cc7 100644 --- a/src/modules/partition/gui/PartitionLabelsView.h +++ b/src/modules/partition/gui/PartitionLabelsView.h @@ -36,7 +36,7 @@ class PartitionLabelsView : public QAbstractItemView Q_OBJECT public: explicit PartitionLabelsView( QWidget* parent = nullptr ); - virtual ~PartitionLabelsView(); + virtual ~PartitionLabelsView() override; QSize minimumSizeHint() const override; diff --git a/src/modules/partition/gui/PartitionViewStep.h b/src/modules/partition/gui/PartitionViewStep.h index 7f31a3d1b..c1217c5a2 100644 --- a/src/modules/partition/gui/PartitionViewStep.h +++ b/src/modules/partition/gui/PartitionViewStep.h @@ -41,8 +41,8 @@ class PLUGINDLLEXPORT PartitionViewStep : public Calamares::ViewStep Q_OBJECT public: - explicit PartitionViewStep( QObject* parent = 0 ); - virtual ~PartitionViewStep(); + explicit PartitionViewStep( QObject* parent = nullptr ); + virtual ~PartitionViewStep() override; QString prettyName() const override; QWidget* createSummaryWidget() const override; From c8fd11b103b10d2b1a78ee7bde3dd8cc7ebee869 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 16 Sep 2017 07:01:47 -0400 Subject: [PATCH 076/129] Replace scandir with listdir, simplify loop FIXES: ?? --- src/modules/displaymanager/main.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index fbed64def..e5c7155d4 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -480,12 +480,9 @@ def run(): ) if (os.path.exists(greeter_path)): - greeter_configured = False - # configure first found lightdm-greeter - for entry in os.scandir(greeter_path): - if entry.name.endswith('.desktop') \ - and not greeter_configured: + for entry in os.listdir(greeter_path): + if entry.name.endswith('.desktop'): greeter = entry.name.split('.')[0] libcalamares.utils.debug( "found greeter {!s}".format(greeter) @@ -500,9 +497,8 @@ def run(): libcalamares.utils.debug( "{!s} configured as greeter.".format(greeter) ) - greeter_configured = True - - if not greeter_configured: + break + else: return ("No lightdm greeter installed.") else: libcalamares.utils.debug("lightdm selected but not installed") From 706ac47111737db6ab5da0c90a86aac524ca72a4 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 16 Sep 2017 09:35:07 -0400 Subject: [PATCH 077/129] Clang: reduce warning settings - turn off warnings for missing prototypes (for now) because of MOC - turn off warnings about docs --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 74f69a8a7..1c095f475 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,7 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) set( CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG" ) set( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g" ) - set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-padded -Wno-undefined-reinterpret-cast -Wno-global-constructors -Wno-exit-time-destructors" ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-padded -Wno-undefined-reinterpret-cast -Wno-global-constructors -Wno-exit-time-destructors -Wno-missing-prototypes -Wno-documentation-unknown-command") set( CMAKE_CXX_FLAGS_DEBUG "-g" ) set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" ) set( CMAKE_CXX_FLAGS_RELEASE "-O4 -DNDEBUG" ) From e5b59d472e6ba790c1f1eb31c53bf088d7994ed2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 16 Sep 2017 09:36:31 -0400 Subject: [PATCH 078/129] Clang: warnings-- --- src/modules/dummycpp/DummyCppJob.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/dummycpp/DummyCppJob.h b/src/modules/dummycpp/DummyCppJob.h index 2b2a51a75..6f5f234f5 100644 --- a/src/modules/dummycpp/DummyCppJob.h +++ b/src/modules/dummycpp/DummyCppJob.h @@ -34,7 +34,7 @@ class PLUGINDLLEXPORT DummyCppJob : public Calamares::CppJob public: explicit DummyCppJob( QObject* parent = nullptr ); - virtual ~DummyCppJob(); + virtual ~DummyCppJob() override; QString prettyName() const override; From a266ecb1331eadd9b80c0784f35ad000d39487a0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 17 Sep 2017 06:48:07 -0400 Subject: [PATCH 079/129] CMake: simplify definitions, distinguish kinds of sources --- src/libcalamares/CMakeLists.txt | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index cdd31b782..826e9f627 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -1,9 +1,11 @@ project( libcalamares ) -add_definitions( ${QT_DEFINITIONS} ) -add_definitions( -DQT_SHARED ) -add_definitions( -DQT_SHAREDPOINTER_TRACK_POINTERS ) -add_definitions( -DDLLEXPORT_PRO ) +add_definitions( + ${QT_DEFINITIONS} + -DQT_SHARED + -DQT_SHAREDPOINTER_TRACK_POINTERS + -DDLLEXPORT_PRO +) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/CalamaresConfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/CalamaresConfig.h ) @@ -16,12 +18,14 @@ set( libSources Job.cpp JobQueue.cpp ProcessJob.cpp - +) +set( kdsagSources kdsingleapplicationguard/kdsingleapplicationguard.cpp kdsingleapplicationguard/kdsharedmemorylocker.cpp kdsingleapplicationguard/kdtoolsglobal.cpp kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp - +) +set( utilSources utils/CalamaresUtils.cpp utils/CalamaresUtilsSystem.cpp utils/Logger.cpp @@ -32,7 +36,6 @@ set( libSources include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} - ${QT_INCLUDE_DIR} ) @@ -73,7 +76,7 @@ if( WITH_PYTHONQT ) endif() -add_library( calamares SHARED ${libSources} ) +add_library( calamares SHARED ${libSources} ${kdsagSources} ${utilSources} ) set_target_properties( calamares PROPERTIES AUTOMOC TRUE From 5f213c0ec46b795ab6c7598f2445a12385f95bdd Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sun, 17 Sep 2017 07:01:59 -0400 Subject: [PATCH 080/129] CMake: tidy way of adding Clang warnings --- CMakeLists.txt | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1c095f475..71ff93c4e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,23 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) set( CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG" ) set( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g" ) - set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-padded -Wno-undefined-reinterpret-cast -Wno-global-constructors -Wno-exit-time-destructors -Wno-missing-prototypes -Wno-documentation-unknown-command") + # Clang warnings: doing *everything* is counter-productive, since it warns + # about things which we can't fix (e.g. C++98 incompatibilities, but + # Calaares is C++14). + foreach( CLANG_WARNINGS + -Weverything + -Wno-c++98-compat + -Wno-c++98-compat-pedantic + -Wno-padded + -Wno-undefined-reinterpret-cast + -Wno-global-constructors + -Wno-exit-time-destructors + -Wno-missing-prototypes + -Wno-documentation-unknown-command + ) + string( APPEND CMAKE_CXX_FLAGS " ${CLANG_WARNINGS}" ) + endforeach() + set( CMAKE_CXX_FLAGS_DEBUG "-g" ) set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" ) set( CMAKE_CXX_FLAGS_RELEASE "-O4 -DNDEBUG" ) From ddf7b7fc90f8bfdf2c39879a8eab8db3de1d8b6e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 18 Sep 2017 12:12:10 +0200 Subject: [PATCH 081/129] CMake: remove superfluous indirection --- src/libcalamaresui/CMakeLists.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/libcalamaresui/CMakeLists.txt b/src/libcalamaresui/CMakeLists.txt index 0648807b8..562c167e7 100644 --- a/src/libcalamaresui/CMakeLists.txt +++ b/src/libcalamaresui/CMakeLists.txt @@ -1,6 +1,6 @@ -set( CALAMARESUI_LIBRARY_TARGET calamaresui ) +project( libcalamaresui CXX ) -list( APPEND ${CALAMARESUI_LIBRARY_TARGET}_SOURCES +list( APPEND calamaresui_SOURCES modulesystem/CppJobModule.cpp modulesystem/Module.cpp modulesystem/ModuleManager.cpp @@ -29,12 +29,12 @@ list( APPEND ${CALAMARESUI_LIBRARY_TARGET}_SOURCES ViewManager.cpp ) -list( APPEND ${CALAMARESUI_LIBRARY_TARGET}_UI +list( APPEND calamaresui_UI utils/DebugWindow.ui ) if( WITH_PYTHON ) - list( APPEND ${CALAMARESUI_LIBRARY_TARGET}_SOURCES + list( APPEND calamaresui_SOURCES modulesystem/PythonJobModule.cpp ) endif() @@ -43,7 +43,7 @@ if( WITH_PYTHONQT ) include_directories(${PYTHON_INCLUDE_DIRS}) include_directories(${PYTHONQT_INCLUDE_DIR}) - list( APPEND ${CALAMARESUI_LIBRARY_TARGET}_SOURCES + list( APPEND calamaresui_SOURCES modulesystem/PythonQtViewModule.cpp utils/PythonQtUtils.cpp viewpages/PythonQtJob.cpp @@ -58,9 +58,9 @@ if( WITH_PYTHONQT ) ) endif() -calamares_add_library( ${CALAMARESUI_LIBRARY_TARGET} - SOURCES ${${CALAMARESUI_LIBRARY_TARGET}_SOURCES} - UI ${${CALAMARESUI_LIBRARY_TARGET}_UI} +calamares_add_library( calamaresui + SOURCES ${calamaresui_SOURCES} + UI ${calamaresui_UI} EXPORT_MACRO UIDLLEXPORT_PRO LINK_PRIVATE_LIBRARIES ${YAMLCPP_LIBRARY} From eede92646dc870d4d350e783c2a76d7e7981a3c5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 18 Sep 2017 12:32:37 +0200 Subject: [PATCH 082/129] CMake: shuffle includes, drop useless (empty) QT_INCLUDE_DIR --- src/CMakeLists.txt | 15 ++++++++------- src/libcalamares/CMakeLists.txt | 1 - 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4ef6afcbb..c6483b940 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,17 +3,18 @@ include( CalamaresAddModuleSubdirectory ) include( CalamaresAddLibrary ) include( CalamaresAddBrandingSubdirectory ) -include_directories( ${CMAKE_CURRENT_BINARY_DIR}/libcalamares ) -include_directories( ${CMAKE_CURRENT_LIST_DIR}/libcalamares ) - -include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) -include_directories( ${CMAKE_CURRENT_LIST_DIR} ) +include_directories( + ${CMAKE_CURRENT_LIST_DIR} + ${CMAKE_CURRENT_LIST_DIR}/libcalamares + ${CMAKE_CURRENT_LIST_DIR}/libcalamaresui + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_BINARY_DIR}/libcalamares + ${CMAKE_CURRENT_BINARY_DIR}/libcalamaresui +) # library add_subdirectory( libcalamares ) -include_directories( ${CMAKE_CURRENT_BINARY_DIR}/libcalamaresui ) -include_directories( ${CMAKE_CURRENT_LIST_DIR}/libcalamaresui ) add_subdirectory( libcalamaresui ) # all things qml diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index 826e9f627..1f91e0050 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -36,7 +36,6 @@ set( utilSources include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} - ${QT_INCLUDE_DIR} ) From 49304849318241258ae7159cf38f32b708fe63c2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 18 Sep 2017 14:59:53 +0200 Subject: [PATCH 083/129] CMake: massage build of libcalamares - Build also two OBJECT libraries, - Allow changing Clang warnings for third-party code. --- src/libcalamares/CMakeLists.txt | 43 ++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index 1f91e0050..c97e35ada 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -1,4 +1,4 @@ -project( libcalamares ) +project( libcalamares CXX ) add_definitions( ${QT_DEFINITIONS} @@ -19,24 +19,40 @@ set( libSources JobQueue.cpp ProcessJob.cpp ) -set( kdsagSources - kdsingleapplicationguard/kdsingleapplicationguard.cpp - kdsingleapplicationguard/kdsharedmemorylocker.cpp - kdsingleapplicationguard/kdtoolsglobal.cpp - kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp + +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} ) -set( utilSources + +# Build subdirs as their own separate OBJECT libraries, +# to allow changing compiler warnings on their code. +set( utilsSources utils/CalamaresUtils.cpp utils/CalamaresUtilsSystem.cpp utils/Logger.cpp utils/PluginFactory.cpp utils/Retranslator.cpp ) - -include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} +add_library( utilsLib OBJECT ${utilsSources} ) +target_compile_options( utilsLib PUBLIC -fPIC ) +target_include_directories( utilsLib PUBLIC + $ ) +set_target_properties( utilsLib PROPERTIES AUTOMOC TRUE ) + +set( kdsagSources + kdsingleapplicationguard/kdsingleapplicationguard.cpp + kdsingleapplicationguard/kdsharedmemorylocker.cpp + kdsingleapplicationguard/kdtoolsglobal.cpp + kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp +) +add_library( kdsagLib OBJECT ${kdsagSources} ) +target_compile_options( kdsagLib PUBLIC -fPIC ) +target_include_directories( kdsagLib PUBLIC + $ +) +set_target_properties( kdsagLib PROPERTIES AUTOMOC TRUE ) if( WITH_PYTHON ) @@ -75,7 +91,10 @@ if( WITH_PYTHONQT ) endif() -add_library( calamares SHARED ${libSources} ${kdsagSources} ${utilSources} ) +add_library( calamares SHARED ${libSources} + $ + $ +) set_target_properties( calamares PROPERTIES AUTOMOC TRUE From a14e98ce9543703288417a78689cbcfe95a69be8 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 18 Sep 2017 15:02:35 +0200 Subject: [PATCH 084/129] Crashreporter: remove further reference to removed lib --- CMakeLists.txt | 6 ------ src/CMakeLists.txt | 4 ---- 2 files changed, 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 71ff93c4e..ac5d5b820 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,7 +77,6 @@ find_package( YAMLCPP 0.5.1 REQUIRED ) find_package( PolkitQt5-1 REQUIRED ) option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON ) -# option( WITH_CRASHREPORTER "Build with CrashReporter" OFF ) option( INSTALL_CONFIG "Install configuration files" ON ) option( WITH_PYTHONQT "Enable next generation Python modules API (experimental, requires PythonQt)." OFF ) option( BUILD_TESTING "Build the testing tree." ON ) @@ -86,11 +85,6 @@ if( BUILD_TESTING ) enable_testing() endif () -# if( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" OR NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libcrashreporter-qt/CMakeLists.txt" ) -# message( STATUS "Build of crashreporter disabled." ) -# set( WITH_CRASHREPORTER OFF ) -# endif() - find_package( PythonLibs 3.3 ) set_package_properties( PYTHONLIBS PROPERTIES diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c6483b940..c29a866d8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -28,7 +28,3 @@ add_subdirectory( modules ) # branding components add_subdirectory( branding ) - -if( WITH_CRASHREPORTER ) - add_subdirectory( crashreporter ) -endif() From ddb6455365d9376f1b926a42f3b891ac645abdc9 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 18 Sep 2017 15:10:13 +0200 Subject: [PATCH 085/129] Revert be2338ff0 (intended just to reduce warnings) - keep the calamaresstyle formatting changes, - drop shadowing and nullptr changes. FIXES #805 --- src/libcalamares/ProcessJob.h | 2 +- src/libcalamares/utils/PluginFactory.cpp | 95 ++++++++++--------- src/libcalamares/utils/PluginFactory.h | 12 +-- .../modulesystem/CppJobModule.h | 5 +- .../modulesystem/ProcessJobModule.h | 5 +- src/libcalamaresui/modulesystem/ViewModule.h | 5 +- 6 files changed, 67 insertions(+), 57 deletions(-) diff --git a/src/libcalamares/ProcessJob.h b/src/libcalamares/ProcessJob.h index 1ac7f7f08..ba6e650f6 100644 --- a/src/libcalamares/ProcessJob.h +++ b/src/libcalamares/ProcessJob.h @@ -32,7 +32,7 @@ public: bool runInChroot = false, int secondsTimeout = 30, QObject* parent = nullptr ); - virtual ~ProcessJob() override; + virtual ~ProcessJob(); QString prettyName() const override; QString prettyStatusMessage() const override; diff --git a/src/libcalamares/utils/PluginFactory.cpp b/src/libcalamares/utils/PluginFactory.cpp index ff6c9913f..710633866 100644 --- a/src/libcalamares/utils/PluginFactory.cpp +++ b/src/libcalamares/utils/PluginFactory.cpp @@ -26,7 +26,7 @@ #include #include -Q_GLOBAL_STATIC(QObjectCleanupHandler, factorycleanup) +Q_GLOBAL_STATIC( QObjectCleanupHandler, factorycleanup ) extern int kLibraryDebugArea(); @@ -34,89 +34,96 @@ namespace Calamares { PluginFactory::PluginFactory() - : d_ptr_p(new PluginFactoryPrivate) + : d_ptr( new PluginFactoryPrivate ) { - Q_D(PluginFactory); + Q_D( PluginFactory ); d->q_ptr = this; - factorycleanup()->add(this); + factorycleanup()->add( this ); } -PluginFactory::PluginFactory(PluginFactoryPrivate &d) - : d_ptr_p(&d) +PluginFactory::PluginFactory( PluginFactoryPrivate& d ) + : d_ptr( &d ) { - factorycleanup()->add(this); + factorycleanup()->add( this ); } PluginFactory::~PluginFactory() { - delete d_ptr_p; + delete d_ptr; } -void PluginFactory::doRegisterPlugin(const QString &keyword, const QMetaObject *metaObject, CreateInstanceFunction instanceFunction) +void PluginFactory::doRegisterPlugin( const QString& keyword, const QMetaObject* metaObject, CreateInstanceFunction instanceFunction ) { - Q_D(PluginFactory); + Q_D( PluginFactory ); - Q_ASSERT(metaObject); + Q_ASSERT( metaObject ); // we allow different interfaces to be registered without keyword - if (!keyword.isEmpty()) { - if (d->createInstanceHash.contains(keyword)) { + if ( !keyword.isEmpty() ) + { + if ( d->createInstanceHash.contains( keyword ) ) qWarning() << "A plugin with the keyword" << keyword << "was already registered. A keyword must be unique!"; - } - d->createInstanceHash.insert(keyword, PluginFactoryPrivate::Plugin(metaObject, instanceFunction)); - } else { - const QList clashes(d->createInstanceHash.values(keyword)); - const QMetaObject *superClass = metaObject->superClass(); - if (superClass) { - for (const PluginFactoryPrivate::Plugin &plugin : clashes) { - for (const QMetaObject *otherSuper = plugin.first->superClass(); otherSuper; - otherSuper = otherSuper->superClass()) { - if (superClass == otherSuper) { + d->createInstanceHash.insert( keyword, PluginFactoryPrivate::Plugin( metaObject, instanceFunction ) ); + } + else + { + const QList clashes( d->createInstanceHash.values( keyword ) ); + const QMetaObject* superClass = metaObject->superClass(); + if ( superClass ) + { + for ( const PluginFactoryPrivate::Plugin& plugin : clashes ) + { + for ( const QMetaObject* otherSuper = plugin.first->superClass(); otherSuper; + otherSuper = otherSuper->superClass() ) + { + if ( superClass == otherSuper ) qWarning() << "Two plugins with the same interface(" << superClass->className() << ") were registered. Use keywords to identify the plugins."; - } } } } - for (const PluginFactoryPrivate::Plugin &plugin : clashes) { + for ( const PluginFactoryPrivate::Plugin& plugin : clashes ) + { superClass = plugin.first->superClass(); - if (superClass) { - for (const QMetaObject *otherSuper = metaObject->superClass(); otherSuper; - otherSuper = otherSuper->superClass()) { - if (superClass == otherSuper) { + if ( superClass ) + { + for ( const QMetaObject* otherSuper = metaObject->superClass(); otherSuper; + otherSuper = otherSuper->superClass() ) + { + if ( superClass == otherSuper ) qWarning() << "Two plugins with the same interface(" << superClass->className() << ") were registered. Use keywords to identify the plugins."; - } } } } - d->createInstanceHash.insertMulti(keyword, PluginFactoryPrivate::Plugin(metaObject, instanceFunction)); + d->createInstanceHash.insertMulti( keyword, PluginFactoryPrivate::Plugin( metaObject, instanceFunction ) ); } } -QObject *PluginFactory::create(const char *iface, QWidget *parentWidget, QObject *parent, const QString &keyword) +QObject* PluginFactory::create( const char* iface, QWidget* parentWidget, QObject* parent, const QString& keyword ) { - Q_D(PluginFactory); + Q_D( PluginFactory ); - QObject *obj( nullptr ); + QObject* obj = 0; - const QList candidates(d->createInstanceHash.values(keyword)); + const QList candidates( d->createInstanceHash.values( keyword ) ); // for !keyword.isEmpty() candidates.count() is 0 or 1 - for (const PluginFactoryPrivate::Plugin &plugin : candidates) { - for (const QMetaObject *current = plugin.first; current; current = current->superClass()) { - if (0 == qstrcmp(iface, current->className())) { - if (obj) { + for ( const PluginFactoryPrivate::Plugin& plugin : candidates ) + { + for ( const QMetaObject* current = plugin.first; current; current = current->superClass() ) + { + if ( 0 == qstrcmp( iface, current->className() ) ) + { + if ( obj ) qWarning() << "ambiguous interface requested from a DSO containing more than one plugin"; - } - obj = plugin.second(parentWidget, parent); + obj = plugin.second( parentWidget, parent ); break; } } } - if (obj) { - emit objectCreated(obj); - } + if ( obj ) + emit objectCreated( obj ); return obj; } diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index d7dc61783..a1f1597b5 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -222,7 +222,7 @@ public: * \returns A pointer to the created object is returned, or 0 if an error occurred. */ template - T* create( QObject* parent = nullptr ); + T* create( QObject* parent = 0 ); /** * Use this method to create an object. It will try to create an object which inherits @@ -235,7 +235,7 @@ public: * \returns A pointer to the created object is returned, or 0 if an error occurred. */ template - T* create( const QString& keyword, QObject* parent = nullptr ); + T* create( const QString& keyword, QObject* parent = 0 ); Q_SIGNALS: void objectCreated( QObject* object ); @@ -300,7 +300,7 @@ protected: doRegisterPlugin( keyword, &T::staticMetaObject, instanceFunction ); } - PluginFactoryPrivate* const d_ptr_p; + PluginFactoryPrivate* const d_ptr; /** * This function is called when the factory asked to create an Object. @@ -321,7 +321,7 @@ protected: static QObject* createInstance( QWidget* parentWidget, QObject* parent ) { Q_UNUSED( parentWidget ); - ParentType* p( nullptr ); + ParentType* p = 0; if ( parent ) { p = qobject_cast( parent ); @@ -338,7 +338,7 @@ template inline T* PluginFactory::create( QObject* parent ) { QObject* o = create( T::staticMetaObject.className(), - parent && parent->isWidgetType() ? reinterpret_cast( parent ) : nullptr, + parent && parent->isWidgetType() ? reinterpret_cast( parent ) : 0, parent, QString() ); @@ -352,7 +352,7 @@ template inline T* PluginFactory::create( const QString& keyword, QObject* parent ) { QObject* o = create( T::staticMetaObject.className(), - parent && parent->isWidgetType() ? reinterpret_cast( parent ) : nullptr, + parent && parent->isWidgetType() ? reinterpret_cast( parent ) : 0, parent, keyword ); diff --git a/src/libcalamaresui/modulesystem/CppJobModule.h b/src/libcalamaresui/modulesystem/CppJobModule.h index 92c4224d3..9ec8a6eaa 100644 --- a/src/libcalamaresui/modulesystem/CppJobModule.h +++ b/src/libcalamaresui/modulesystem/CppJobModule.h @@ -25,7 +25,8 @@ class QPluginLoader; -namespace Calamares { +namespace Calamares +{ class UIDLLEXPORT CppJobModule : public Module { @@ -42,7 +43,7 @@ protected: private: friend class Module; //so only the superclass can instantiate explicit CppJobModule(); - virtual ~CppJobModule() override; + virtual ~CppJobModule(); QPluginLoader* m_loader; job_ptr m_job; diff --git a/src/libcalamaresui/modulesystem/ProcessJobModule.h b/src/libcalamaresui/modulesystem/ProcessJobModule.h index 5bb1699be..7809d0d2f 100644 --- a/src/libcalamaresui/modulesystem/ProcessJobModule.h +++ b/src/libcalamaresui/modulesystem/ProcessJobModule.h @@ -23,7 +23,8 @@ #include "UiDllMacro.h" -namespace Calamares { +namespace Calamares +{ class UIDLLEXPORT ProcessJobModule : public Module { @@ -40,7 +41,7 @@ protected: private: friend class Module; explicit ProcessJobModule(); - virtual ~ProcessJobModule() override; + virtual ~ProcessJobModule(); QString m_command; QString m_workingPath; diff --git a/src/libcalamaresui/modulesystem/ViewModule.h b/src/libcalamaresui/modulesystem/ViewModule.h index bfbbdadf3..d36b58db9 100644 --- a/src/libcalamaresui/modulesystem/ViewModule.h +++ b/src/libcalamaresui/modulesystem/ViewModule.h @@ -24,7 +24,8 @@ class QPluginLoader; -namespace Calamares { +namespace Calamares +{ class ViewStep; @@ -43,7 +44,7 @@ protected: private: friend class Module; //so only the superclass can instantiate explicit ViewModule(); - virtual ~ViewModule() override; + virtual ~ViewModule(); QPluginLoader* m_loader; ViewStep* m_viewStep = nullptr; From f309e777c7d3bf4fb4607846bfc3efaed68ba771 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 18 Sep 2017 15:19:24 +0200 Subject: [PATCH 086/129] [core] Automatic merge of Transifex translations --- lang/calamares_gl.ts | 134 ++++++++++++++++++++-------------------- lang/calamares_is.ts | 8 +-- lang/calamares_pl.ts | 4 +- lang/calamares_pt_BR.ts | 4 +- lang/calamares_tr_TR.ts | 4 +- 5 files changed, 77 insertions(+), 77 deletions(-) diff --git a/lang/calamares_gl.ts b/lang/calamares_gl.ts index c6151588b..8e0de1ee5 100644 --- a/lang/calamares_gl.ts +++ b/lang/calamares_gl.ts @@ -71,18 +71,18 @@ Type: - + Tipo: none - + Non Interface: - + Interface @@ -241,7 +241,7 @@ Saída: Cancel installation without changing the system. - + Cancela-la instalación sen cambia-lo sistema @@ -258,17 +258,17 @@ O instalador pecharase e perderanse todos os cambios. &Yes - + &Si &No - + &Non &Close - + &Pechar @@ -293,12 +293,12 @@ O instalador pecharase e perderanse todos os cambios. &Done - + &Feito The installation is complete. Close the installer. - + Completouse a instalacion. Peche o instalador @@ -554,7 +554,7 @@ O instalador pecharase e perderanse todos os cambios. MiB - + MiB @@ -614,7 +614,7 @@ O instalador pecharase e perderanse todos os cambios. Mountpoint already in use. Please select another one. - + Punto de montaxe xa en uso. Faga o favor de escoller outro @@ -827,32 +827,32 @@ O instalador pecharase e perderanse todos os cambios. The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred. - + O tipo de <strong>táboa de partición</strong>no dispositivo de almacenamento escollido.<br><br>O único xeito de cambia-lo tipo de partición é borrar e volver a crear a táboa de partición dende o comenzo, isto destrúe todolos datos no dispositivo de almacenamento. <br> Este instalador manterá a táboa de partición actúal agás que escolla outra cousa explicitamente. <br> Se non está seguro, en sistemas modernos é preferibel GPT. This device has a <strong>%1</strong> partition table. - + O dispositivo ten <strong>%1</strong> una táboa de partición. This is a <strong>loop</strong> device.<br><br>It is a pseudo-device with no partition table that makes a file accessible as a block device. This kind of setup usually only contains a single filesystem. - + Este é un dispositivo de tipo <strong>loop</strong>. <br><br> É un pseudo-dispositivo que non ten táboa de partición que permita acceder aos ficheiros como un dispositivo de bloques. Este,modo de configuración normalmente so contén un sistema de ficheiros individual. This installer <strong>cannot detect a partition table</strong> on the selected storage device.<br><br>The device either has no partition table, or the partition table is corrupted or of an unknown type.<br>This installer can create a new partition table for you, either automatically, or through the manual partitioning page. - + Este instalador <strong>non pode detectar unha táboa de partición </strong>no sistema de almacenamento seleccionado. <br><br>O dispositivo non ten táboa de particion ou a táboa de partición está corrompida ou é dun tipo descoñecido.<br>Este instalador poder crear una táboa de partición nova por vóstede, ben automaticamente ou a través de páxina de particionamento a man. <br><br>This is the recommended partition table type for modern systems which start from an <strong>EFI</strong> boot environment. - + <br><br>Este é o tipo de táboa de partición recomendada para sistema modernos que empezan dende un sistema de arranque <strong>EFI</strong>. <br><br>This partition table type is only advisable on older systems which start from a <strong>BIOS</strong> boot environment. GPT is recommended in most other cases.<br><br><strong>Warning:</strong> the MBR partition table is an obsolete MS-DOS era standard.<br>Only 4 <em>primary</em> partitions may be created, and of those 4, one can be an <em>extended</em> partition, which may in turn contain many <em>logical</em> partitions. - + <br><br>Esta táboa de partición so é recomendabel en sistemas vellos que empezan dende un sistema de arranque <strong>BIOS</strong>. GPT é recomendabel na meirande parte dos outros casos.<br><br><strong>Atención:</strong>A táboa de partición MBR é un estándar obsoleto da época do MS-DOS.<br>So pódense crear 4 particións <em>primarias</em>, e desas 4, una pode ser unha partición<em>extensa</em>, que pode conter muitas particións <em>lóxicas</em>. @@ -868,17 +868,17 @@ O instalador pecharase e perderanse todos os cambios. Write LUKS configuration for Dracut to %1 - + Escribila configuración LUKS para Dracut en %1 Skip writing LUKS configuration for Dracut: "/" partition is not encrypted - + Saltando escribila configuración LUKS para Dracut: A partición "/" non está encriptada Failed to open %1 - + Fallou ao abrir %1 @@ -894,27 +894,27 @@ O instalador pecharase e perderanse todos os cambios. Edit Existing Partition - + Editar unha partición existente Content: - + Contido: &Keep - + &Gardar Format - + Formato Warning: Formatting the partition will erase all existing data. - + Atención: Dar formato á partición borrará tódolos datos existentes. @@ -929,22 +929,22 @@ O instalador pecharase e perderanse todos os cambios. MiB - + MiB Fi&le System: - + Sistema de Ficheiros: Flags: - + Bandeiras: Mountpoint already in use. Please select another one. - + Punto de montaxe xa en uso. Faga o favor de escoller outro. @@ -952,27 +952,27 @@ O instalador pecharase e perderanse todos os cambios. Form - + Formulario En&crypt system - + En&criptar sistema Passphrase - + Frase de contrasinal Confirm passphrase - + Confirme a frase de contrasinal Please enter the same passphrase in both boxes. - + Faga o favor de introducila a misma frase de contrasinal námbalas dúas caixas. @@ -980,37 +980,37 @@ O instalador pecharase e perderanse todos os cambios. Set partition information - + Poñela información da partición Install %1 on <strong>new</strong> %2 system partition. - + Instalar %1 nunha <strong>nova</strong> partición do sistema %2 Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>. - + Configure unha <strong>nova</strong> partición %2 con punto de montaxe <strong>%1</strong>. Install %2 on %3 system partition <strong>%1</strong>. - + Instalar %2 na partición do sistema %3 <strong>%1</strong>. Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>. - + Configurala partición %3 <strong>%1</strong> con punto de montaxe <strong>%2</strong>. Install boot loader on <strong>%1</strong>. - + Instalar o cargador de arranque en <strong>%1</strong>. Setting up mount points. - + Configuralos puntos de montaxe. @@ -1023,17 +1023,17 @@ O instalador pecharase e perderanse todos os cambios. &Restart now - + &Reiniciar agora. <h1>All done.</h1><br/>%1 has been installed on your computer.<br/>You may now restart into your new system, or continue using the %2 Live environment. - + <h1>Todo feito.</h1><br/>%1 foi instalado na súa computadora.<br/>Agora pode reiniciar no seu novo sistema ou continuar a usalo entorno Live %2. <h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2. - + <h1>Fallou a instalación</h1><br/>%1 non se pudo instalar na sua computadora. <br/>A mensaxe de erro foi: %2. @@ -1041,17 +1041,17 @@ O instalador pecharase e perderanse todos os cambios. Finish - + Fin Installation Complete - + Instalacion completa The installation of %1 is complete. - + Completouse a instalación de %1 @@ -1059,22 +1059,22 @@ O instalador pecharase e perderanse todos os cambios. Format partition %1 (file system: %2, size: %3 MB) on %4. - + Formato da partición %1 (sistema de ficheiros: %2, tamaño: %3 MB) en %4. Format <strong>%3MB</strong> partition <strong>%1</strong> with file system <strong>%2</strong>. - + Formato <strong>%3MB</strong> partición <strong>%1</strong> con sistema de ficheiros <strong>%2</strong>. Formatting partition %1 with file system %2. - + Dando formato a %1 con sistema de ficheiros %2. The installer failed to format partition %1 on disk '%2'. - + O instalador fallou cando formateaba a partición %1 no disco '%2'. @@ -1104,19 +1104,19 @@ O instalador pecharase e perderanse todos os cambios. Konsole not installed - + Konsole non está instalado Please install the kde konsole and try again! - + Faga o favor de instalar konsole (de kde) e probe de novo! Executing script: &nbsp;<code>%1</code> - + Executando o script: &nbsp; <code>%1</code> @@ -1132,12 +1132,12 @@ O instalador pecharase e perderanse todos os cambios. Set keyboard model to %1.<br/> - + Seleccionado modelo de teclado a %1.<br/> Set keyboard layout to %1/%2. - + Seleccionada a disposición do teclado a %1/%2. @@ -1145,7 +1145,7 @@ O instalador pecharase e perderanse todos os cambios. Keyboard - + Teclado @@ -1153,22 +1153,22 @@ O instalador pecharase e perderanse todos os cambios. System locale setting - + Configuración da localización The system locale setting affects the language and character set for some command line user interface elements.<br/>The current setting is <strong>%1</strong>. - + A configuración de localización afecta a linguaxe e o conxunto de caracteres dalgúns elementos da interface de usuario de liña de comandos. <br/>A configuración actúal é <strong>%1</strong>. &Cancel - + &Cancelar &OK - + &Ok @@ -1181,33 +1181,33 @@ O instalador pecharase e perderanse todos os cambios. I accept the terms and conditions above. - + Acepto os termos e condicións anteriores. <h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms. - + <h1>Acordo de licencia</h1>Este proceso de configuración instalará programas privativos suxeito a termos de licencia. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, the setup procedure cannot continue. - + Faga o favor de revisalos Acordos de Licencia de Usuario Final (ALUF) seguintes. <br/>De non estar dacordo cos termos non se pode seguir co proceso de configuración. <h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience. - + <h1>Acordo de licencia</h1>Este proceso de configuración pode instalar programas privativos suxeito a termos de licencia para fornecer características adicionaís e mellorala experiencia do usuario. Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead. - + Faga o favor de revisalos Acordos de Licencia de Usuario Final (ALUF) seguintes. <br/>De non estar dacordo cos termos non se instalará o programa privativo e no seu lugar usaranse alternativas de código aberto. <strong>%1 driver</strong><br/>by %2 %1 is an untranslatable product name, example: Creative Audigy driver - + <strong>dispositivo %1</strong><br/>por %2 diff --git a/lang/calamares_is.ts b/lang/calamares_is.ts index df3938b28..bab0ad264 100644 --- a/lang/calamares_is.ts +++ b/lang/calamares_is.ts @@ -1050,7 +1050,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. The installation of %1 is complete. - + Uppsetningu af %1 er lokið. @@ -1162,12 +1162,12 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. &Cancel - + &Hætta við &OK - + &Í lagi @@ -1857,7 +1857,7 @@ Uppsetningarforritið mun hætta og allar breytingar tapast. The screen is too small to display the installer. - + Skjárinn er of lítill til að birta uppsetningarforritið. diff --git a/lang/calamares_pl.ts b/lang/calamares_pl.ts index 519528e08..806c28a7a 100644 --- a/lang/calamares_pl.ts +++ b/lang/calamares_pl.ts @@ -1162,12 +1162,12 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone. &Cancel - + &Anuluj &OK - + &OK diff --git a/lang/calamares_pt_BR.ts b/lang/calamares_pt_BR.ts index b8a0ded8b..bebf1c8b7 100644 --- a/lang/calamares_pt_BR.ts +++ b/lang/calamares_pt_BR.ts @@ -1164,12 +1164,12 @@ A instalação pode continuar, mas alguns recursos podem ser desativados. &Cancel - + &Cancelar &OK - + &OK diff --git a/lang/calamares_tr_TR.ts b/lang/calamares_tr_TR.ts index 0b4bd3f6c..ba9335279 100644 --- a/lang/calamares_tr_TR.ts +++ b/lang/calamares_tr_TR.ts @@ -1165,12 +1165,12 @@ Kuruluma devam edebilirsiniz fakat bazı özellikler devre dışı kalabilir. &Cancel - + &Vazgeç &OK - + &TAMAM From 299e7b16d5bbce5b29156834ef1cf1db4591dd0e Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 18 Sep 2017 15:19:24 +0200 Subject: [PATCH 087/129] [desktop] Automatic merge of Transifex translations --- calamares.desktop | 2 ++ 1 file changed, 2 insertions(+) diff --git a/calamares.desktop b/calamares.desktop index e52d999ed..8cae765df 100644 --- a/calamares.desktop +++ b/calamares.desktop @@ -11,6 +11,8 @@ Icon=calamares Terminal=false StartupNotify=true Categories=Qt;System; + +# Translations Name[ca]=Calamares Icon[ca]=calamares GenericName[ca]=Instal·lador de sistema From 6271dd39e91dfb6cc44aaf8c101a2a043818b10f Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 18 Sep 2017 15:19:25 +0200 Subject: [PATCH 088/129] [python] Automatic merge of Transifex translations --- lang/python/is/LC_MESSAGES/python.mo | Bin 692 -> 1093 bytes lang/python/is/LC_MESSAGES/python.po | 12 ++++++------ lang/python/pl/LC_MESSAGES/python.mo | Bin 795 -> 1355 bytes lang/python/pl/LC_MESSAGES/python.po | 20 ++++++++++---------- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lang/python/is/LC_MESSAGES/python.mo b/lang/python/is/LC_MESSAGES/python.mo index 23ed397ae65d64ccd25a71592faaa57c8fed7565..26b8d067634f69d7abd070717e93a12fea3c7b05 100644 GIT binary patch delta 521 zcmZ{eu}Z{16h)uwMptZ9WNj=4B#$V|j8oxO#X)`Hk5 z_yZz>`U`^Ju%F;foRD?Fz{yGO-1m}a=dD+MuXL{oR}ZX%Gq4D5L3O=@W$*!3!I$+I zu5xFFXa`<{H{nBg8@_-)!9A#YX7+df()tEoBHE=#JOn7bz%D$t@BJG h?UuTJijq!?dN}|0*Y<}zPhan%m`yH4+PCr4)*q&~e=`68 delta 118 zcmX@gv4u7Bo)F7a1|VPoVi_Q|0b*7ljsap2C;(zXAT9)A5g=}c(ldbcDMki{wLlsq fU%>>C?}F0vfizH>ffS6os$-Q*`AIbmJl*frLWiLVN&mBe)R3jkp<-A*4SurAdr-lV@<@%D#Yf zB|d^1#V3%0k03sRXQmlTYrAmZ@Fn-mx%bXP?R`D}+^XCY&Kk4}T|pbr5K`wA+JxSq z9cWze8&vh`3ef>r2OHoixDVcdUWw=tRJo7xgkRt`{>v53BdX&gN1*|F;0To97(|v< zp(=zN)gYAhvH+n!(Oq<$pNKeNosQLGew&3nZcR_a%(n{ z850q=T09Uul!cqlxznC1`|_Oq)6XYE5me98uXoj}2RzAGf1o#*xw7!(7je2|*|Rc488yW diff --git a/lang/python/pl/LC_MESSAGES/python.po b/lang/python/pl/LC_MESSAGES/python.po index 23619d62d..ec6e5bbd2 100644 --- a/lang/python/pl/LC_MESSAGES/python.po +++ b/lang/python/pl/LC_MESSAGES/python.po @@ -33,26 +33,26 @@ msgstr "Krok dummy python {}" #: src/modules/packages/main.py:59 #, python-format msgid "Processing packages (%(count)d / %(total)d)" -msgstr "" +msgstr "Przetwarzanie pakietów (%(count)d / %(total)d)" #: src/modules/packages/main.py:61 #, python-format msgid "Installing one package." msgid_plural "Installing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" +msgstr[0] "Instalowanie jednego pakietu." +msgstr[1] "Instalowanie %(num)d pakietów." +msgstr[2] "Instalowanie %(num)d pakietów." +msgstr[3] "Instalowanie pakietów (%(num)d)." #: src/modules/packages/main.py:64 #, python-format msgid "Removing one package." msgid_plural "Removing %(num)d packages." -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" +msgstr[0] "Usuwanie jednego pakietu." +msgstr[1] "Usuwanie %(num)d pakietów." +msgstr[2] "Usuwanie %(num)d pakietów." +msgstr[3] "Usuwanie pakietów (%(num)d)." #: src/modules/packages/main.py:68 msgid "Install packages." -msgstr "" +msgstr "Zainstaluj pakiety." From c2a69ea9436640c93137e495f2d0501cfef5d412 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 18 Sep 2017 15:42:09 +0200 Subject: [PATCH 089/129] i18n: cleanup after txpull - remove extra .desktop files created in lang/ - remove annoyingly-doubled # Translations comment --- ci/txpull.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ci/txpull.sh b/ci/txpull.sh index 772ac0e32..53a0deaa4 100755 --- a/ci/txpull.sh +++ b/ci/txpull.sh @@ -43,6 +43,14 @@ BOILERPLATE="Automatic merge of Transifex translations" git add --verbose lang/calamares*.ts git commit "$AUTHOR" --message="[core] $BOILERPLATE" | true +rm -f lang/desktop*.desktop +awk ' + BEGIN {skip=0;} + /^# Translations/ {skip=1;} + {if (!skip || (length($0)>1 && $0 != "# Translations")) { + skip=0; print $0; + }}' < calamares.desktop > calamares.desktop.new +mv calamares.desktop.new calamares.desktop git add --verbose calamares.desktop git commit "$AUTHOR" --message="[desktop] $BOILERPLATE" | true From d839f8e0b311a3312eadbbc78d7e4e9ccdbcf708 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 18 Sep 2017 16:08:21 +0200 Subject: [PATCH 090/129] Passwords: introduce password-checking - Introduce a map 'passwordRequirements' in users.conf, which is a list of named requirements. There are only two settings right now, min and max length, but additional checks can easily be added in UsersPage.cpp by defining additional lambda's to check the given password string. - Add PasswordCheck instances as needed, with functions to check acceptability and to produce messages on rejection. - Documentation in the users.conf file itself. - In passing, refactor setting of pixmaps on labels. FIXES #790 --- src/modules/users/UsersPage.cpp | 159 +++++++++++++++++++++------- src/modules/users/UsersPage.h | 43 +++++++- src/modules/users/UsersViewStep.cpp | 15 ++- src/modules/users/users.conf | 14 +++ 4 files changed, 189 insertions(+), 42 deletions(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 87e64deb1..7c4bb6a7d 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -37,7 +37,12 @@ #include #include - +/** Add a standard pixmap to a label. */ +static void +markLabel( QLabel* label, CalamaresUtils::ImageType i ) +{ + label->setPixmap( CalamaresUtils::defaultPixmap( i, CalamaresUtils::Original, label->size() ) ); +} UsersPage::UsersPage( QWidget* parent ) : QWidget( parent ) @@ -268,9 +273,7 @@ UsersPage::validateUsernameText( const QString& textRef ) } else if ( text.length() > USERNAME_MAX_LENGTH ) { - ui->labelUsername->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelUsername->size() ) ); + markLabel( ui->labelUsername, CalamaresUtils::No ); ui->labelUsernameError->setText( tr( "Your username is too long." ) ); @@ -278,18 +281,14 @@ UsersPage::validateUsernameText( const QString& textRef ) } else if ( val.validate( text, pos ) == QValidator::Invalid ) { - ui->labelUsername->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelUsername->size() ) ); + markLabel( ui->labelUsername, CalamaresUtils::No ); ui->labelUsernameError->setText( tr( "Your username contains invalid characters. Only lowercase letters and numbers are allowed." ) ); m_readyUsername = false; } else { - ui->labelUsername->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Yes, - CalamaresUtils::Original, - ui->labelUsername->size() ) ); + markLabel( ui->labelUsername, CalamaresUtils::Yes ); ui->labelUsernameError->clear(); m_readyUsername = true; } @@ -322,9 +321,7 @@ UsersPage::validateHostnameText( const QString& textRef ) } else if ( text.length() < HOSTNAME_MIN_LENGTH ) { - ui->labelHostname->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelHostname->size() ) ); + markLabel( ui->labelHostname, CalamaresUtils::No ); ui->labelHostnameError->setText( tr( "Your hostname is too short." ) ); @@ -333,9 +330,7 @@ UsersPage::validateHostnameText( const QString& textRef ) } else if ( text.length() > HOSTNAME_MAX_LENGTH ) { - ui->labelHostname->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelHostname->size() ) ); + markLabel( ui->labelHostname, CalamaresUtils::No ); ui->labelHostnameError->setText( tr( "Your hostname is too long." ) ); @@ -344,9 +339,7 @@ UsersPage::validateHostnameText( const QString& textRef ) } else if ( val.validate( text, pos ) == QValidator::Invalid ) { - ui->labelHostname->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelHostname->size() ) ); + markLabel( ui->labelHostname, CalamaresUtils::No ); ui->labelHostnameError->setText( tr( "Your hostname contains invalid characters. Only letters, numbers and dashes are allowed." ) ); @@ -354,9 +347,7 @@ UsersPage::validateHostnameText( const QString& textRef ) } else { - ui->labelHostname->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Yes, - CalamaresUtils::Original, - ui->labelHostname->size() ) ); + markLabel( ui->labelHostname, CalamaresUtils::Yes ); ui->labelHostnameError->clear(); m_readyHostname = true; } @@ -364,7 +355,6 @@ UsersPage::validateHostnameText( const QString& textRef ) emit checkReady( isReady() ); } - void UsersPage::onPasswordTextChanged( const QString& ) { @@ -380,24 +370,35 @@ UsersPage::onPasswordTextChanged( const QString& ) else if ( pw1 != pw2 ) { ui->labelUserPasswordError->setText( tr( "Your passwords do not match!" ) ); - ui->labelUserPassword->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelUserPassword->size() ) ); + markLabel( ui->labelUserPassword, CalamaresUtils::No ); m_readyPassword = false; } else { - ui->labelUserPasswordError->clear(); - ui->labelUserPassword->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Yes, - CalamaresUtils::Original, - ui->labelUserPassword->size() ) ); - m_readyPassword = true; + bool ok = true; + for ( auto pc : m_passwordChecks ) + { + QString s = pc.filter( pw1 ); + if ( !s.isEmpty() ) + { + ui->labelUserPasswordError->setText( s ); + markLabel( ui->labelUserPassword, CalamaresUtils::No ); + ok = false; + m_readyPassword = false; + } + } + + if ( ok ) + { + ui->labelUserPasswordError->clear(); + markLabel( ui->labelUserPassword, CalamaresUtils::Yes ); + m_readyPassword = true; + } } emit checkReady( isReady() ); } - void UsersPage::onRootPasswordTextChanged( const QString& ) { @@ -413,18 +414,30 @@ UsersPage::onRootPasswordTextChanged( const QString& ) else if ( pw1 != pw2 ) { ui->labelRootPasswordError->setText( tr( "Your passwords do not match!" ) ); - ui->labelRootPassword->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, - CalamaresUtils::Original, - ui->labelRootPassword->size() ) ); + markLabel( ui->labelRootPassword, CalamaresUtils::No ); m_readyRootPassword = false; } else { - ui->labelRootPasswordError->clear(); - ui->labelRootPassword->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Yes, - CalamaresUtils::Original, - ui->labelRootPassword->size() ) ); - m_readyRootPassword = true; + bool ok = true; + for ( auto pc : m_passwordChecks ) + { + QString s = pc.filter( pw1 ); + if ( !s.isEmpty() ) + { + ui->labelRootPasswordError->setText( s ); + markLabel( ui->labelRootPassword, CalamaresUtils::No ); + ok = false; + m_readyRootPassword = false; + } + } + + if ( ok ) + { + ui->labelRootPasswordError->clear(); + markLabel( ui->labelRootPassword, CalamaresUtils::Yes ); + m_readyRootPassword = true; + } } emit checkReady( isReady() ); @@ -444,3 +457,69 @@ UsersPage::setReusePasswordDefault( bool checked ) ui->checkBoxReusePassword->setChecked( checked ); emit checkReady( isReady() ); } + +UsersPage::PasswordCheck::PasswordCheck() + : m_message() + , m_accept( []( const QString& s ) +{ + return true; +} ) +{ +} + +UsersPage::PasswordCheck::PasswordCheck( const QString& m, AcceptFunc a ) + : m_message( [m](){ return m; } ) + , m_accept( a ) +{ +} + +UsersPage::PasswordCheck::PasswordCheck( MessageFunc m, AcceptFunc a ) + : m_message( m ) + , m_accept( a ) +{ +} + +void +UsersPage::addPasswordCheck( const QString& key, const QVariant& value ) +{ + if ( key == "minLength" ) + { + int minLength = -1; + if ( value.canConvert( QVariant::Int ) ) + minLength = value.toInt(); + if ( minLength > 0 ) + { + cDebug() << key << " .. set to" << minLength; + m_passwordChecks.push_back( + PasswordCheck( + []() + { + return tr( "Password is too short" ); + }, + [minLength]( const QString& s ) + { + return s.length() >= minLength; + } ) ); + } + } + else if ( key == "maxLength" ) + { + int maxLength = -1; + if ( value.canConvert( QVariant::Int ) ) + maxLength = value.toInt(); + if ( maxLength > 0 ) + { + cDebug() << key << " .. set to" << maxLength; + m_passwordChecks.push_back( + PasswordCheck( []() + { + return tr( "Password is too long" ); + }, [maxLength]( const QString& s ) + { + return s.length() <= maxLength; + } ) ); + } + } + else + cDebug() << "WARNING: Unknown password-check key" << '"' << key << '"'; +} diff --git a/src/modules/users/UsersPage.h b/src/modules/users/UsersPage.h index 0f328f46c..5a72e11de 100644 --- a/src/modules/users/UsersPage.h +++ b/src/modules/users/UsersPage.h @@ -28,7 +28,10 @@ #include -namespace Ui { +#include + +namespace Ui +{ class Page_UserSetup; } @@ -49,6 +52,8 @@ public: void setAutologinDefault( bool checked ); void setReusePasswordDefault( bool checked ); + void addPasswordCheck( const QString& key, const QVariant& value ); + protected slots: void onFullNameTextEdited( const QString& ); void fillSuggestions(); @@ -65,6 +70,42 @@ signals: private: Ui::Page_UserSetup* ui; + /** + * Support for (dynamic) checks on the password's validity. + * This can be used to implement password requirements like + * "at least 6 characters". Function addPasswordCheck() + * instantiates these and adds them to the list of checks. + */ + class PasswordCheck + { + public: + /** Return true if the string is acceptable. */ + using AcceptFunc = std::function; + using MessageFunc = std::function; + + /** Generate a @p message if @p filter returns true */ + PasswordCheck( MessageFunc message, AcceptFunc filter ); + /** Yields @p message if @p filter returns true */ + PasswordCheck( const QString& message, AcceptFunc filter ); + /** Null check, always returns empty */ + PasswordCheck(); + + /** Applies this check to the given password string @p s + * and returns an empty string if the password is ok + * according to this filter. Returns a message describing + * what is wrong if not. + */ + QString filter( const QString& s ) const + { + return m_accept( s ) ? QString() : m_message(); + } + + private: + MessageFunc m_message; + AcceptFunc m_accept; + } ; + QVector m_passwordChecks; + const QRegExp USERNAME_RX = QRegExp( "^[a-z_][a-z0-9_-]*[$]?$" ); const QRegExp HOSTNAME_RX = QRegExp( "^[a-zA-Z0-9][-a-zA-Z0-9_]*$" ); const int USERNAME_MAX_LENGTH = 31; diff --git a/src/modules/users/UsersViewStep.cpp b/src/modules/users/UsersViewStep.cpp index d601014ae..25b4dee84 100644 --- a/src/modules/users/UsersViewStep.cpp +++ b/src/modules/users/UsersViewStep.cpp @@ -20,6 +20,7 @@ #include "UsersPage.h" +#include "utils/Logger.h" #include "JobQueue.h" #include "GlobalStorage.h" @@ -159,11 +160,23 @@ UsersViewStep::setConfigurationMap( const QVariantMap& configurationMap ) { m_widget->setAutologinDefault( configurationMap.value( "doAutologin" ).toBool() ); } - + if ( configurationMap.contains( "doReusePassword" ) && configurationMap.value( "doReusePassword" ).type() == QVariant::Bool ) { m_widget->setReusePasswordDefault( configurationMap.value( "doReusePassword" ).toBool() ); } + + if ( configurationMap.contains( "passwordRequirements" ) && + configurationMap.value( "passwordRequirements" ).type() == QVariant::Map ) + { + auto pr_checks( configurationMap.value( "passwordRequirements" ).toMap() ); + + for (decltype(pr_checks)::const_iterator i = pr_checks.constBegin(); + i != pr_checks.constEnd(); ++i) + { + m_widget->addPasswordCheck( i.key(), i.value() ); + } + } } diff --git a/src/modules/users/users.conf b/src/modules/users/users.conf index dea0ba999..d5466c62f 100644 --- a/src/modules/users/users.conf +++ b/src/modules/users/users.conf @@ -27,3 +27,17 @@ sudoersGroup: wheel setRootPassword: true doReusePassword: true + +# These are optional password-requirements that a distro can enforce +# on the user. The values given in this sample file disable each check, +# as if the check was not listed at all. +# +# Checks may be listed multiple times; each is checked separately, +# and no effort is done to ensure that the checks are consistent +# (e.g. specifying a maximum length less than the minimum length +# will annoy users). +# +# (additional checks may be implemented in UsersPage.cpp) +passwordRequirements: + minLength: -1 # Password at least this many characters + maxLength: -1 # Password at most this many characters From 1c52f961a629a82903ef67ade7de33efa3016864 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Sep 2017 09:41:28 +0200 Subject: [PATCH 091/129] Refactor password-errors-indication (again) - set message and status icon in one go - only check until an error is found - Mark TODO for passwordRequirements --- src/modules/users/UsersPage.cpp | 82 ++++++++++++++++----------------- 1 file changed, 39 insertions(+), 43 deletions(-) diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index 7c4bb6a7d..f3796e7dd 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -37,11 +37,20 @@ #include #include -/** Add a standard pixmap to a label. */ -static void -markLabel( QLabel* label, CalamaresUtils::ImageType i ) +/** Add an error message and pixmap to a label. */ +static inline void +labelError( QLabel* pix, QLabel* label, const QString& message ) { - label->setPixmap( CalamaresUtils::defaultPixmap( i, CalamaresUtils::Original, label->size() ) ); + label->setText( message ); + pix->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::No, CalamaresUtils::Original, label->size() ) ); +} + +/** Clear error, indicate OK on a label. */ +static inline void +labelOk( QLabel* pix, QLabel* label ) +{ + label->clear(); + pix->setPixmap( CalamaresUtils::defaultPixmap( CalamaresUtils::Yes, CalamaresUtils::Original, label->size() ) ); } UsersPage::UsersPage( QWidget* parent ) @@ -273,23 +282,19 @@ UsersPage::validateUsernameText( const QString& textRef ) } else if ( text.length() > USERNAME_MAX_LENGTH ) { - markLabel( ui->labelUsername, CalamaresUtils::No ); - ui->labelUsernameError->setText( - tr( "Your username is too long." ) ); - + labelError( ui->labelUsername, ui->labelUsernameError, + tr( "Your username is too long." ) ); m_readyUsername = false; } else if ( val.validate( text, pos ) == QValidator::Invalid ) { - markLabel( ui->labelUsername, CalamaresUtils::No ); - ui->labelUsernameError->setText( - tr( "Your username contains invalid characters. Only lowercase letters and numbers are allowed." ) ); - + labelError( ui->labelUsername, ui->labelUsernameError, + tr( "Your username contains invalid characters. Only lowercase letters and numbers are allowed." ) ); m_readyUsername = false; } - else { - markLabel( ui->labelUsername, CalamaresUtils::Yes ); - ui->labelUsernameError->clear(); + else + { + labelOk( ui->labelUsername, ui->labelUsernameError ); m_readyUsername = true; } @@ -321,34 +326,25 @@ UsersPage::validateHostnameText( const QString& textRef ) } else if ( text.length() < HOSTNAME_MIN_LENGTH ) { - markLabel( ui->labelHostname, CalamaresUtils::No ); - ui->labelHostnameError->setText( - tr( "Your hostname is too short." ) ); - + labelError( ui->labelHostname, ui->labelHostnameError, + tr( "Your hostname is too short." ) ); m_readyHostname = false; - } else if ( text.length() > HOSTNAME_MAX_LENGTH ) { - markLabel( ui->labelHostname, CalamaresUtils::No ); - ui->labelHostnameError->setText( - tr( "Your hostname is too long." ) ); - + labelError( ui->labelHostname, ui->labelHostnameError, + tr( "Your hostname is too long." ) ); m_readyHostname = false; - } else if ( val.validate( text, pos ) == QValidator::Invalid ) { - markLabel( ui->labelHostname, CalamaresUtils::No ); - ui->labelHostnameError->setText( - tr( "Your hostname contains invalid characters. Only letters, numbers and dashes are allowed." ) ); - + labelError( ui->labelHostname, ui->labelHostnameError, + tr( "Your hostname contains invalid characters. Only letters, numbers and dashes are allowed." ) ); m_readyHostname = false; } else { - markLabel( ui->labelHostname, CalamaresUtils::Yes ); - ui->labelHostnameError->clear(); + labelOk( ui->labelHostname, ui->labelHostnameError ); m_readyHostname = true; } @@ -361,6 +357,7 @@ UsersPage::onPasswordTextChanged( const QString& ) QString pw1 = ui->textBoxUserPassword->text(); QString pw2 = ui->textBoxUserVerifiedPassword->text(); + // TODO: 3.3: remove empty-check and leave it to passwordRequirements if ( pw1.isEmpty() && pw2.isEmpty() ) { ui->labelUserPasswordError->clear(); @@ -369,8 +366,8 @@ UsersPage::onPasswordTextChanged( const QString& ) } else if ( pw1 != pw2 ) { - ui->labelUserPasswordError->setText( tr( "Your passwords do not match!" ) ); - markLabel( ui->labelUserPassword, CalamaresUtils::No ); + labelError( ui->labelUserPassword, ui->labelUserPasswordError, + tr( "Your passwords do not match!" ) ); m_readyPassword = false; } else @@ -381,17 +378,16 @@ UsersPage::onPasswordTextChanged( const QString& ) QString s = pc.filter( pw1 ); if ( !s.isEmpty() ) { - ui->labelUserPasswordError->setText( s ); - markLabel( ui->labelUserPassword, CalamaresUtils::No ); + labelError( ui->labelUserPassword, ui->labelUserPasswordError, s ); ok = false; m_readyPassword = false; + break; } } if ( ok ) { - ui->labelUserPasswordError->clear(); - markLabel( ui->labelUserPassword, CalamaresUtils::Yes ); + labelOk( ui->labelUserPassword, ui->labelUserPasswordError ); m_readyPassword = true; } } @@ -405,6 +401,7 @@ UsersPage::onRootPasswordTextChanged( const QString& ) QString pw1 = ui->textBoxRootPassword->text(); QString pw2 = ui->textBoxVerifiedRootPassword->text(); + // TODO: 3.3: remove empty-check and leave it to passwordRequirements if ( pw1.isEmpty() && pw2.isEmpty() ) { ui->labelRootPasswordError->clear(); @@ -413,8 +410,8 @@ UsersPage::onRootPasswordTextChanged( const QString& ) } else if ( pw1 != pw2 ) { - ui->labelRootPasswordError->setText( tr( "Your passwords do not match!" ) ); - markLabel( ui->labelRootPassword, CalamaresUtils::No ); + labelError( ui->labelRootPassword, ui->labelRootPasswordError, + tr( "Your passwords do not match!" ) ); m_readyRootPassword = false; } else @@ -425,17 +422,16 @@ UsersPage::onRootPasswordTextChanged( const QString& ) QString s = pc.filter( pw1 ); if ( !s.isEmpty() ) { - ui->labelRootPasswordError->setText( s ); - markLabel( ui->labelRootPassword, CalamaresUtils::No ); + labelError( ui->labelRootPassword, ui->labelRootPasswordError, s ); ok = false; m_readyRootPassword = false; + break; } } if ( ok ) { - ui->labelRootPasswordError->clear(); - markLabel( ui->labelRootPassword, CalamaresUtils::Yes ); + labelOk( ui->labelRootPassword, ui->labelRootPasswordError ); m_readyRootPassword = true; } } From 6d880b56310b5b5881a0623ffe8e48e5c5ae3e96 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Sep 2017 10:52:37 +0200 Subject: [PATCH 092/129] Replace memory-size detection. - drop use of dmidecode to determine exact physical memory size - use sysinfo() to find memory size (assumes linux 2.3.48 or later) --- .../utils/CalamaresUtilsSystem.cpp | 58 +++++++++---------- 1 file changed, 26 insertions(+), 32 deletions(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index c38d398e6..634366e3a 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -26,6 +26,15 @@ #include #include +#ifdef Q_OS_LINUX +#include +#endif + +#ifdef Q_OS_FREEBSD +#include +#include +#endif + namespace CalamaresUtils { @@ -224,47 +233,32 @@ System::targetEnvOutput( const QString& command, qint64 System::getPhysicalMemoryB() { - QProcess p; - p.start( "dmidecode", { "-t", "17" } ); - p.waitForFinished(); - QStringList lines = QString::fromLocal8Bit( p.readAllStandardOutput() ).split( '\n' ); - lines = lines.filter( QRegularExpression( "^\\W*Size:\\W\\d*\\WMB" ) ); - if ( !lines.isEmpty() ) - return 0; - - qint64 availableRamMb = 0; - foreach( const QString& line, lines ) - { - bool ok = false; - availableRamMb += line.simplified() - .split( ' ' ) - .value( 1 ) - .toInt( &ok ); - if ( !ok ) - return 0; - } - qint64 availableRam = availableRamMb * 1024 * 1024; - return availableRam; + return 0; } qint64 System::getTotalMemoryB() { - // A line in meminfo looks like this, with {print $2} we grab the second column. - // MemTotal: 8133432 kB +#ifdef Q_OS_LINUX + struct sysinfo i; + int r = sysinfo( &i ); - QProcess p; - p.start( "awk", { "/MemTotal/ {print $2}", "/proc/meminfo" } ); - p.waitForFinished(); - QString memoryLine = p.readAllStandardOutput().simplified(); - - bool ok = false; - qint64 availableRam = memoryLine.toLongLong( &ok ) * 1024; - if ( !ok ) + if (r) return 0; - return availableRam; + return qint64( i.mem_unit ) * i.totalram; +#elif defined( Q_OS_FREEBSD ) + unsigned long memsize; + size_t s = sizeof(memsize); + + int r = sysctlbyname("vm.kmem_size", &memsize, &s, NULL, 0); + if (r) + return 0; + + return memsize; +#endif + return 0; // Unsupported } From 13807ceabfdcffefa8e924898237796333be596c Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Sep 2017 11:11:46 +0200 Subject: [PATCH 093/129] Licensing: add self - to all the files I've touched recently - to (very incomplete) AUTHORS list Licensing: add license info to top-level CMakeLists.txt --- AUTHORS | 1 + CMakeLists.txt | 20 ++++++++++++++++++- .../progresstree/ProgressTreeModel.cpp | 1 + .../progresstree/ProgressTreeModel.h | 1 + src/calamares/progresstree/ProgressTreeView.h | 1 + src/libcalamares/ProcessJob.h | 1 + .../utils/CalamaresUtilsSystem.cpp | 1 + src/libcalamares/utils/PluginFactory.cpp | 1 + src/libcalamares/utils/PluginFactory.h | 1 + .../modulesystem/CppJobModule.h | 1 + .../modulesystem/ProcessJobModule.h | 1 + src/libcalamaresui/modulesystem/ViewModule.h | 1 + src/libcalamaresui/viewpages/ViewStep.cpp | 1 + src/libcalamaresui/widgets/ClickableLabel.h | 1 + .../widgets/FixedAspectRatioLabel.cpp | 1 + src/modules/displaymanager/main.py | 1 + src/modules/dracutlukscfg/DracutLuksCfgJob.h | 1 + src/modules/dummycpp/DummyCppJob.h | 1 + .../InteractiveTerminalViewStep.h | 1 + src/modules/keyboard/KeyboardViewStep.h | 1 + src/modules/netinstall/NetInstallViewStep.h | 1 + src/modules/netinstall/PackageModel.cpp | 1 + src/modules/netinstall/PackageModel.h | 1 + src/modules/netinstall/PackageTreeItem.cpp | 1 + src/modules/netinstall/PackageTreeItem.h | 1 + src/modules/partition/core/DeviceModel.h | 1 + src/modules/partition/core/PartitionModel.h | 1 + src/modules/partition/gui/PartitionBarsView.h | 1 + .../partition/gui/PartitionLabelsView.h | 1 + src/modules/partition/gui/PartitionViewStep.h | 1 + .../partition/jobs/CreatePartitionJob.cpp | 1 + .../jobs/CreatePartitionTableJob.cpp | 1 + .../partition/jobs/DeletePartitionJob.cpp | 1 + .../partition/jobs/FillGlobalStorageJob.cpp | 1 + src/modules/users/UsersPage.cpp | 1 + src/modules/users/UsersViewStep.cpp | 1 + src/modules/users/UsersViewStep.h | 1 + src/modules/webview/WebViewStep.h | 1 + 38 files changed, 56 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index d9814373e..f39b579f4 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1 +1,2 @@ Teo Mrnjavac +Adriaan de Groot diff --git a/CMakeLists.txt b/CMakeLists.txt index ac5d5b820..3f0a3c3e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,22 @@ -### CMakeLists.txt for Calamares +# === This file is part of Calamares - === +# +# Calamares is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Calamares is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Calamares. If not, see . +# +# SPDX-License-Identifier: GPL-3.0+ +# License-Filename: LICENSE +# +### # # Generally, this CMakeLists.txt will find all the dependencies for Calamares # and complain appropriately. See below (later in this file) for CMake-level diff --git a/src/calamares/progresstree/ProgressTreeModel.cpp b/src/calamares/progresstree/ProgressTreeModel.cpp index 33e985809..50a1b6e50 100644 --- a/src/calamares/progresstree/ProgressTreeModel.cpp +++ b/src/calamares/progresstree/ProgressTreeModel.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/calamares/progresstree/ProgressTreeModel.h b/src/calamares/progresstree/ProgressTreeModel.h index 0311a28a0..80ce6dc6b 100644 --- a/src/calamares/progresstree/ProgressTreeModel.h +++ b/src/calamares/progresstree/ProgressTreeModel.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/calamares/progresstree/ProgressTreeView.h b/src/calamares/progresstree/ProgressTreeView.h index 9e735ef2d..11738b193 100644 --- a/src/calamares/progresstree/ProgressTreeView.h +++ b/src/calamares/progresstree/ProgressTreeView.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/libcalamares/ProcessJob.h b/src/libcalamares/ProcessJob.h index ba6e650f6..259f97308 100644 --- a/src/libcalamares/ProcessJob.h +++ b/src/libcalamares/ProcessJob.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 634366e3a..3936852ab 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/libcalamares/utils/PluginFactory.cpp b/src/libcalamares/utils/PluginFactory.cpp index 710633866..c22c90ff7 100644 --- a/src/libcalamares/utils/PluginFactory.cpp +++ b/src/libcalamares/utils/PluginFactory.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Based on KPluginFactory from KCoreAddons, KDE project * Copyright 2007, Matthias Kretz diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index a1f1597b5..945a3eaaf 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Based on KPluginFactory from KCoreAddons, KDE project * Copyright 2007, Matthias Kretz diff --git a/src/libcalamaresui/modulesystem/CppJobModule.h b/src/libcalamaresui/modulesystem/CppJobModule.h index 9ec8a6eaa..875f30785 100644 --- a/src/libcalamaresui/modulesystem/CppJobModule.h +++ b/src/libcalamaresui/modulesystem/CppJobModule.h @@ -2,6 +2,7 @@ * * Copyright 2014, Teo Mrnjavac * Copyright 2016, Kevin Kofler + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/libcalamaresui/modulesystem/ProcessJobModule.h b/src/libcalamaresui/modulesystem/ProcessJobModule.h index 7809d0d2f..9d30ec235 100644 --- a/src/libcalamaresui/modulesystem/ProcessJobModule.h +++ b/src/libcalamaresui/modulesystem/ProcessJobModule.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/libcalamaresui/modulesystem/ViewModule.h b/src/libcalamaresui/modulesystem/ViewModule.h index d36b58db9..32b0e8a1f 100644 --- a/src/libcalamaresui/modulesystem/ViewModule.h +++ b/src/libcalamaresui/modulesystem/ViewModule.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/libcalamaresui/viewpages/ViewStep.cpp b/src/libcalamaresui/viewpages/ViewStep.cpp index a81787673..96d80cb5f 100644 --- a/src/libcalamaresui/viewpages/ViewStep.cpp +++ b/src/libcalamaresui/viewpages/ViewStep.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/libcalamaresui/widgets/ClickableLabel.h b/src/libcalamaresui/widgets/ClickableLabel.h index 7a6556e3f..42af076f5 100644 --- a/src/libcalamaresui/widgets/ClickableLabel.h +++ b/src/libcalamaresui/widgets/ClickableLabel.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp b/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp index 99d3d51f4..f07491bcd 100644 --- a/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp +++ b/src/libcalamaresui/widgets/FixedAspectRatioLabel.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index e5c7155d4..814a0cf3c 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -8,6 +8,7 @@ # Copyright 2014, Kevin Kofler # Copyright 2017, Alf Gaida # Copyright 2017, Bernhard Landauer +# Copyright 2017, Adriaan de Groot # # Calamares is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/src/modules/dracutlukscfg/DracutLuksCfgJob.h b/src/modules/dracutlukscfg/DracutLuksCfgJob.h index 71994e2b6..2d438fa0b 100644 --- a/src/modules/dracutlukscfg/DracutLuksCfgJob.h +++ b/src/modules/dracutlukscfg/DracutLuksCfgJob.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2016, Kevin Kofler + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/dummycpp/DummyCppJob.h b/src/modules/dummycpp/DummyCppJob.h index 6f5f234f5..fecc2699b 100644 --- a/src/modules/dummycpp/DummyCppJob.h +++ b/src/modules/dummycpp/DummyCppJob.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2016, Kevin Kofler + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/interactiveterminal/InteractiveTerminalViewStep.h b/src/modules/interactiveterminal/InteractiveTerminalViewStep.h index 025c6cec3..1c95a229a 100644 --- a/src/modules/interactiveterminal/InteractiveTerminalViewStep.h +++ b/src/modules/interactiveterminal/InteractiveTerminalViewStep.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/keyboard/KeyboardViewStep.h b/src/modules/keyboard/KeyboardViewStep.h index 39f3f56a7..64ce2bb75 100644 --- a/src/modules/keyboard/KeyboardViewStep.h +++ b/src/modules/keyboard/KeyboardViewStep.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/netinstall/NetInstallViewStep.h b/src/modules/netinstall/NetInstallViewStep.h index 651c53266..d9853f26f 100644 --- a/src/modules/netinstall/NetInstallViewStep.h +++ b/src/modules/netinstall/NetInstallViewStep.h @@ -1,6 +1,7 @@ /* * Copyright 2016, Luca Giambonini * Copyright 2016, Lisa Vitolo + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/netinstall/PackageModel.cpp b/src/modules/netinstall/PackageModel.cpp index 8a2025b0e..9fe8305a7 100644 --- a/src/modules/netinstall/PackageModel.cpp +++ b/src/modules/netinstall/PackageModel.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright (c) 2017, Kyle Robbertze + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/netinstall/PackageModel.h b/src/modules/netinstall/PackageModel.h index ef2bc1794..148bd99ab 100644 --- a/src/modules/netinstall/PackageModel.h +++ b/src/modules/netinstall/PackageModel.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright (c) 2017, Kyle Robbertze + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/netinstall/PackageTreeItem.cpp b/src/modules/netinstall/PackageTreeItem.cpp index bbd7f792f..77ca07a9c 100644 --- a/src/modules/netinstall/PackageTreeItem.cpp +++ b/src/modules/netinstall/PackageTreeItem.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright (c) 2017, Kyle Robbertze + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/netinstall/PackageTreeItem.h b/src/modules/netinstall/PackageTreeItem.h index a95a4fe31..e9bbcf59c 100644 --- a/src/modules/netinstall/PackageTreeItem.h +++ b/src/modules/netinstall/PackageTreeItem.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright (c) 2017, Kyle Robbertze + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/partition/core/DeviceModel.h b/src/modules/partition/core/DeviceModel.h index 5c07586e0..32c557d9e 100644 --- a/src/modules/partition/core/DeviceModel.h +++ b/src/modules/partition/core/DeviceModel.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/partition/core/PartitionModel.h b/src/modules/partition/core/PartitionModel.h index 7437efa79..71764d8e9 100644 --- a/src/modules/partition/core/PartitionModel.h +++ b/src/modules/partition/core/PartitionModel.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Aurélien Gâteau + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/partition/gui/PartitionBarsView.h b/src/modules/partition/gui/PartitionBarsView.h index ccdb5d36a..e384ed5db 100644 --- a/src/modules/partition/gui/PartitionBarsView.h +++ b/src/modules/partition/gui/PartitionBarsView.h @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/partition/gui/PartitionLabelsView.h b/src/modules/partition/gui/PartitionLabelsView.h index 363d54cc7..d6c86a5dc 100644 --- a/src/modules/partition/gui/PartitionLabelsView.h +++ b/src/modules/partition/gui/PartitionLabelsView.h @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/partition/gui/PartitionViewStep.h b/src/modules/partition/gui/PartitionViewStep.h index c1217c5a2..1aa8190f9 100644 --- a/src/modules/partition/gui/PartitionViewStep.h +++ b/src/modules/partition/gui/PartitionViewStep.h @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2014-2016, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/partition/jobs/CreatePartitionJob.cpp b/src/modules/partition/jobs/CreatePartitionJob.cpp index cff4ae1cf..aab032a87 100644 --- a/src/modules/partition/jobs/CreatePartitionJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionJob.cpp @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/partition/jobs/CreatePartitionTableJob.cpp b/src/modules/partition/jobs/CreatePartitionTableJob.cpp index eaa2fe712..e4430134f 100644 --- a/src/modules/partition/jobs/CreatePartitionTableJob.cpp +++ b/src/modules/partition/jobs/CreatePartitionTableJob.cpp @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/partition/jobs/DeletePartitionJob.cpp b/src/modules/partition/jobs/DeletePartitionJob.cpp index 43f2d94c6..bceffd133 100644 --- a/src/modules/partition/jobs/DeletePartitionJob.cpp +++ b/src/modules/partition/jobs/DeletePartitionJob.cpp @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/partition/jobs/FillGlobalStorageJob.cpp b/src/modules/partition/jobs/FillGlobalStorageJob.cpp index f8194f2b3..443eb8b9e 100644 --- a/src/modules/partition/jobs/FillGlobalStorageJob.cpp +++ b/src/modules/partition/jobs/FillGlobalStorageJob.cpp @@ -2,6 +2,7 @@ * * Copyright 2014, Aurélien Gâteau * Copyright 2015-2016, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/users/UsersPage.cpp b/src/modules/users/UsersPage.cpp index f3796e7dd..453d1eae7 100644 --- a/src/modules/users/UsersPage.cpp +++ b/src/modules/users/UsersPage.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2017, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Portions from the Manjaro Installation Framework * by Roland Singer diff --git a/src/modules/users/UsersViewStep.cpp b/src/modules/users/UsersViewStep.cpp index 25b4dee84..73dc98ddc 100644 --- a/src/modules/users/UsersViewStep.cpp +++ b/src/modules/users/UsersViewStep.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/users/UsersViewStep.h b/src/modules/users/UsersViewStep.h index c7e0f447d..a529ad4ea 100644 --- a/src/modules/users/UsersViewStep.h +++ b/src/modules/users/UsersViewStep.h @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014-2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/modules/webview/WebViewStep.h b/src/modules/webview/WebViewStep.h index 5b8a85049..105eea4b3 100644 --- a/src/modules/webview/WebViewStep.h +++ b/src/modules/webview/WebViewStep.h @@ -2,6 +2,7 @@ * * Copyright 2015, Rohan Garg * Copyright 2016, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by From e5c0854e6613c607ad1209bd826ef75b657a0c9a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Sep 2017 14:24:05 +0200 Subject: [PATCH 094/129] Licensing: re-import GPLv3 version of QJsonItem - include full license headers, - copied from - repo: https://github.com/dridk/QJsonmodel - rev: fbd4fb3b1c1311f69cd8ada9bbb7a89fd6fe171e --- LICENSES/GPLv3+-QJsonModel | 18 ++++++++++ src/libcalamaresui/utils/qjsonitem.cpp | 42 ++++++++++------------ src/libcalamaresui/utils/qjsonitem.h | 25 ++----------- src/libcalamaresui/utils/qjsonmodel.cpp | 48 ++++++++++++------------- src/libcalamaresui/utils/qjsonmodel.h | 23 +----------- 5 files changed, 63 insertions(+), 93 deletions(-) create mode 100644 LICENSES/GPLv3+-QJsonModel diff --git a/LICENSES/GPLv3+-QJsonModel b/LICENSES/GPLv3+-QJsonModel new file mode 100644 index 000000000..8a8e272c0 --- /dev/null +++ b/LICENSES/GPLv3+-QJsonModel @@ -0,0 +1,18 @@ +/*********************************************** + Copyright (C) 2014 Schutz Sacha + This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). + + QJsonModel is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + QJsonModel is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QJsonModel. If not, see . + +**********************************************/ diff --git a/src/libcalamaresui/utils/qjsonitem.cpp b/src/libcalamaresui/utils/qjsonitem.cpp index 35c9725dd..b278913b4 100644 --- a/src/libcalamaresui/utils/qjsonitem.cpp +++ b/src/libcalamaresui/utils/qjsonitem.cpp @@ -1,27 +1,25 @@ -/* === This file is part of Calamares - === - * - * Originally from QJsonModel - * Copyright 2015, Sacha Schutz - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ +/*********************************************** + Copyright (C) 2014 Schutz Sacha + This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). + QJsonModel is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + QJsonModel is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QJsonModel. If not, see . + +**********************************************/ #include "qjsonitem.h" QJsonTreeItem::QJsonTreeItem(QJsonTreeItem *parent) - : mType( QJsonValue::Null ) { mParent = parent; @@ -104,8 +102,7 @@ QJsonTreeItem* QJsonTreeItem::load(const QJsonValue& value, QJsonTreeItem* paren { //Get all QJsonValue childs - const auto keys = value.toObject().keys(); - for (const QString &key : keys){ + foreach (QString key , value.toObject().keys()){ QJsonValue v = value.toObject().value(key); QJsonTreeItem * child = load(v,rootItem); child->setKey(key); @@ -120,8 +117,7 @@ QJsonTreeItem* QJsonTreeItem::load(const QJsonValue& value, QJsonTreeItem* paren { //Get all QJsonValue childs int index = 0; - const auto valueArray = value.toArray(); - for (const QJsonValue &v : valueArray) { + foreach (QJsonValue v , value.toArray()){ QJsonTreeItem * child = load(v,rootItem); child->setKey(QString::number(index)); diff --git a/src/libcalamaresui/utils/qjsonitem.h b/src/libcalamaresui/utils/qjsonitem.h index 1dfa5c65e..6e030c656 100644 --- a/src/libcalamaresui/utils/qjsonitem.h +++ b/src/libcalamaresui/utils/qjsonitem.h @@ -1,22 +1,3 @@ -/* === This file is part of Calamares - === - * - * Originally from QJsonModel - * Copyright 2015, Sacha Schutz - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ - #ifndef JSONITEM_H #define JSONITEM_H #include @@ -26,8 +7,8 @@ class QJsonTreeItem { public: - QJsonTreeItem(QJsonTreeItem * parent = nullptr); - virtual ~QJsonTreeItem(); + QJsonTreeItem(QJsonTreeItem * parent = 0); + ~QJsonTreeItem(); void appendChild(QJsonTreeItem * item); QJsonTreeItem *child(int row); QJsonTreeItem *parent(); @@ -41,7 +22,7 @@ public: QJsonValue::Type type() const; - static QJsonTreeItem* load(const QJsonValue& value, QJsonTreeItem * parent = nullptr); + static QJsonTreeItem* load(const QJsonValue& value, QJsonTreeItem * parent = 0); protected: diff --git a/src/libcalamaresui/utils/qjsonmodel.cpp b/src/libcalamaresui/utils/qjsonmodel.cpp index 3d427d0fb..45086b7c6 100644 --- a/src/libcalamaresui/utils/qjsonmodel.cpp +++ b/src/libcalamaresui/utils/qjsonmodel.cpp @@ -1,22 +1,21 @@ -/* === This file is part of Calamares - === - * - * Originally from QJsonModel - * Copyright 2015, Sacha Schutz - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ +/*********************************************** + Copyright (C) 2014 Schutz Sacha + This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). + QJsonModel is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + QJsonModel is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QJsonModel. If not, see . + +**********************************************/ #include "qjsonmodel.h" #include @@ -36,13 +35,6 @@ QJsonModel::QJsonModel(QObject *parent) : } - -QJsonModel::~QJsonModel() -{ - delete mRootItem; -} - - bool QJsonModel::load(const QString &fileName) { QFile file(fileName); @@ -68,7 +60,11 @@ bool QJsonModel::loadJson(const QByteArray &json) if (!mDocument.isNull()) { beginResetModel(); - mRootItem = QJsonTreeItem::load(QJsonValue(mDocument.object())); + if (mDocument.isArray()) { + mRootItem = QJsonTreeItem::load(QJsonValue(mDocument.array())); + } else { + mRootItem = QJsonTreeItem::load(QJsonValue(mDocument.object())); + } endResetModel(); return true; } diff --git a/src/libcalamaresui/utils/qjsonmodel.h b/src/libcalamaresui/utils/qjsonmodel.h index 0bf8f5dab..cdb6caf86 100644 --- a/src/libcalamaresui/utils/qjsonmodel.h +++ b/src/libcalamaresui/utils/qjsonmodel.h @@ -1,23 +1,3 @@ -/* === This file is part of Calamares - === - * - * Originally from QJsonModel - * Copyright 2015, Sacha Schutz - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ - - #ifndef QJSONMODEL_H #define QJSONMODEL_H @@ -30,8 +10,7 @@ class QJsonModel : public QAbstractItemModel { Q_OBJECT public: - explicit QJsonModel(QObject *parent = nullptr); - virtual ~QJsonModel(); + explicit QJsonModel(QObject *parent = 0); bool load(const QString& fileName); bool load(QIODevice * device); bool loadJson(const QByteArray& json); From 24f26ee7c8ffc2c6bd9fc47cba9014a5d1d25c60 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Sep 2017 14:27:39 +0200 Subject: [PATCH 095/129] Licensing: add header to QJsonModel copyright - mention that this is shipped as part of Calamares - SPDX info --- src/libcalamaresui/utils/qjsonitem.cpp | 6 ++++++ src/libcalamaresui/utils/qjsonitem.h | 6 ++++++ src/libcalamaresui/utils/qjsonmodel.cpp | 6 ++++++ src/libcalamaresui/utils/qjsonmodel.h | 6 ++++++ 4 files changed, 24 insertions(+) diff --git a/src/libcalamaresui/utils/qjsonitem.cpp b/src/libcalamaresui/utils/qjsonitem.cpp index b278913b4..24494f0fd 100644 --- a/src/libcalamaresui/utils/qjsonitem.cpp +++ b/src/libcalamaresui/utils/qjsonitem.cpp @@ -1,3 +1,9 @@ +/* === This file is part of Calamares - === + * + * SPDX-License-Identifier: GPL-3.0+ + * License-Filename: LICENSES/GPLv3+-QJsonModel + */ + /*********************************************** Copyright (C) 2014 Schutz Sacha This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). diff --git a/src/libcalamaresui/utils/qjsonitem.h b/src/libcalamaresui/utils/qjsonitem.h index 6e030c656..5a8b2134f 100644 --- a/src/libcalamaresui/utils/qjsonitem.h +++ b/src/libcalamaresui/utils/qjsonitem.h @@ -1,3 +1,9 @@ +/* === This file is part of Calamares - === + * + * SPDX-License-Identifier: GPL-3.0+ + * License-Filename: LICENSES/GPLv3+-QJsonModel + */ + #ifndef JSONITEM_H #define JSONITEM_H #include diff --git a/src/libcalamaresui/utils/qjsonmodel.cpp b/src/libcalamaresui/utils/qjsonmodel.cpp index 45086b7c6..5ce0cd695 100644 --- a/src/libcalamaresui/utils/qjsonmodel.cpp +++ b/src/libcalamaresui/utils/qjsonmodel.cpp @@ -1,3 +1,9 @@ +/* === This file is part of Calamares - === + * + * SPDX-License-Identifier: GPL-3.0+ + * License-Filename: LICENSES/GPLv3+-QJsonModel + */ + /*********************************************** Copyright (C) 2014 Schutz Sacha This file is part of QJsonModel (https://github.com/dridk/QJsonmodel). diff --git a/src/libcalamaresui/utils/qjsonmodel.h b/src/libcalamaresui/utils/qjsonmodel.h index cdb6caf86..6a2399287 100644 --- a/src/libcalamaresui/utils/qjsonmodel.h +++ b/src/libcalamaresui/utils/qjsonmodel.h @@ -1,3 +1,9 @@ +/* === This file is part of Calamares - === + * + * SPDX-License-Identifier: GPL-3.0+ + * License-Filename: LICENSES/GPLv3+-QJsonModel + */ + #ifndef QJSONMODEL_H #define QJSONMODEL_H From 553a66b326d0378fba523b09c416bf751ca806cb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Sep 2017 12:58:35 +0200 Subject: [PATCH 096/129] Licensing: re-import QtWaitingSpinner - include full license headers, - copied from - repo: https://github.com/snowwlex/QtWaitingSpinner - rev: bb8f8987ca19406dc75704eb382ab52e981b773f This revision *does not build* because the files have been renamed. --- LICENSES/MIT-QtWaitingSpinner | 21 ++ .../widgets/QtWaitingSpinner.cpp | 176 ----------- src/libcalamaresui/widgets/QtWaitingSpinner.h | 82 ------ .../widgets/waitingspinnerwidget.cpp | 277 ++++++++++++++++++ .../widgets/waitingspinnerwidget.h | 114 +++++++ 5 files changed, 412 insertions(+), 258 deletions(-) create mode 100644 LICENSES/MIT-QtWaitingSpinner delete mode 100644 src/libcalamaresui/widgets/QtWaitingSpinner.cpp delete mode 100644 src/libcalamaresui/widgets/QtWaitingSpinner.h create mode 100644 src/libcalamaresui/widgets/waitingspinnerwidget.cpp create mode 100644 src/libcalamaresui/widgets/waitingspinnerwidget.h diff --git a/LICENSES/MIT-QtWaitingSpinner b/LICENSES/MIT-QtWaitingSpinner new file mode 100644 index 000000000..c85c97aeb --- /dev/null +++ b/LICENSES/MIT-QtWaitingSpinner @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Original Work Copyright (c) 2012-2015 Alexander Turkin +Modified 2014 by William Hallatt + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/libcalamaresui/widgets/QtWaitingSpinner.cpp b/src/libcalamaresui/widgets/QtWaitingSpinner.cpp deleted file mode 100644 index 18c6264bd..000000000 --- a/src/libcalamaresui/widgets/QtWaitingSpinner.cpp +++ /dev/null @@ -1,176 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2014, Teo Mrnjavac - * - * Originally from https://github.com/snowwlex/QtWaitingSpinner - * Copyright 2012, Alex Turkin - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ - -#include -#include - -#include - -#include "QtWaitingSpinner.h" - -QtWaitingSpinner::QtWaitingSpinner(int linesNumber, int length, int width, int radius, QWidget* parent) : QWidget(parent), - myLinesNumber(linesNumber), - myLength(length + width), - myWidth(width), - myRadius(radius), - myRoundness(70.0), - myColor(Qt::black), - mySpeed(1), - myTrail(70), - myOpacity(15) -{ - myCurrentCounter = 0; - myTimer = new QTimer(this); - connect(myTimer,SIGNAL(timeout()), this, SLOT(rotate())); - updateSize(); - updateTimer(); - this->hide(); -} - -void QtWaitingSpinner::paintEvent(QPaintEvent* /*ev*/) { - QPainter painter(this); - painter.fillRect(this->rect(), Qt::transparent); - painter.setRenderHint(QPainter::Antialiasing, true); - - if (myCurrentCounter >= myLinesNumber) { - myCurrentCounter = 0; - } - painter.setPen(Qt::NoPen); - for (int i = 0; i < myLinesNumber; ++i) { - painter.save(); - painter.translate(myRadius + myLength, myRadius + myLength); - qreal rotateAngle = 360.0 * qreal(i) / qreal(myLinesNumber); - painter.rotate(rotateAngle); - painter.translate(myRadius, 0); - int distance = lineDistance(i, myCurrentCounter, myLinesNumber); - QColor color = countTrailColor(distance, myLinesNumber, myTrail, myOpacity, myColor); - painter.setBrush(color); - //TODO improve the way rounded rect is painted - painter.drawRoundedRect(QRect(0, -myWidth/2, myLength, myWidth), myRoundness, myRoundness, Qt::RelativeSize); - painter.restore(); - } -} - -void QtWaitingSpinner::start() { - this->show(); - if (!myTimer->isActive()) { - myTimer->start(); - myCurrentCounter = 0; - } -} - -void QtWaitingSpinner::finish() { - this->hide(); - if (myTimer->isActive()) { - myTimer->stop(); - myCurrentCounter = 0; - } -} - -void QtWaitingSpinner::setLinesNumber(int linesNumber) { - myLinesNumber = linesNumber; - myCurrentCounter = 0; - updateTimer(); -} - -void QtWaitingSpinner::setLength(int length){ - myLength = length; - updateSize(); -} - -void QtWaitingSpinner::setWidth(int width) { - myWidth = width; - updateSize(); -} - -void QtWaitingSpinner::setRadius(int radius) { - myRadius = radius; - updateSize(); -} - -void QtWaitingSpinner::setRoundness(qreal roundness) { - myRoundness = std::max(0.0, std::min(100.0, roundness)); -} - -void QtWaitingSpinner::setColor(QColor color) { - myColor = color; -} - -void QtWaitingSpinner::setSpeed(qreal speed) { - mySpeed = speed; - updateTimer(); -} - -void QtWaitingSpinner::setTrail(int trail) { - myTrail = trail; -} - -void QtWaitingSpinner::setOpacity(int minOpacity) { - myOpacity = minOpacity; -} - -void QtWaitingSpinner::rotate() { - ++myCurrentCounter; - if (myCurrentCounter >= myLinesNumber) { - myCurrentCounter = 0; - } - update(); -} - -void QtWaitingSpinner::updateSize() { - int size = (myRadius + myLength) * 2; - setFixedSize(size, size); -} - -void QtWaitingSpinner::updateTimer() { - myTimer->setInterval(countTimeout(myLinesNumber, mySpeed)); -} - -int QtWaitingSpinner::countTimeout(int lines, qreal speed) { - return int( 1000.0 / (lines * speed) ); -} - -int QtWaitingSpinner::lineDistance(int from, int to, int lines) { - int result = to - from; - if (result < 0) { - result += lines; - } - return result; -} - -QColor QtWaitingSpinner::countTrailColor(int distance, int lines, int trail, int minOpacity, QColor color) { - if (distance == 0) { - return color; - } - const qreal minAlphaF = qreal(minOpacity) / 100.0; - int distanceThreshold = int( ceil( (lines - 1) * qreal(trail) / 100.0) ); - if (distance > distanceThreshold) { - color.setAlphaF(minAlphaF); - return color; - } - qreal alphaDiff = color.alphaF() - minAlphaF; - qreal gradation = alphaDiff / qreal(distanceThreshold + 1); - qreal resultAlpha = color.alphaF() - gradation * distance; - resultAlpha = std::min(1.0, std::max(0.0, resultAlpha)); //if alpha is out of bound, force it to bounds - color.setAlphaF(resultAlpha); - return color; -} - diff --git a/src/libcalamaresui/widgets/QtWaitingSpinner.h b/src/libcalamaresui/widgets/QtWaitingSpinner.h deleted file mode 100644 index 1c1b3eb10..000000000 --- a/src/libcalamaresui/widgets/QtWaitingSpinner.h +++ /dev/null @@ -1,82 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2014, Teo Mrnjavac - * - * Originally from https://github.com/snowwlex/QtWaitingSpinner - * Copyright 2012, Alex Turkin - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ - -#ifndef QTWAITINGSPINNER_H -#define QTWAITINGSPINNER_H - -#include "UiDllMacro.h" - -#include - -#include -#include - -class UIDLLEXPORT QtWaitingSpinner : public QWidget { - Q_OBJECT - -public: - explicit QtWaitingSpinner(int linesNumber = 12, int length = 7, int width = 5, int radius = 10, QWidget* parent = nullptr); - -public Q_SLOTS: - void start(); - void finish(); - -public: - void setLinesNumber(int linesNumber); - void setLength(int length); - void setWidth(int width); - void setRadius(int radius); - void setRoundness(qreal roundness); - void setColor(QColor color); - void setSpeed(qreal speed); - void setTrail(int trail); - void setOpacity(int minOpacity); - -private Q_SLOTS: - void rotate(); - void updateSize(); - void updateTimer(); - -protected: - void paintEvent(QPaintEvent* ev); - -private: - static int countTimeout(int lines, qreal speed); - static int lineDistance(int from, int to, int lines); - static QColor countTrailColor(int distance, int lines, int trail, int minOpacity, QColor color); - -private: - int myLinesNumber; - int myLength; - int myWidth; - int myRadius; - qreal myRoundness; //0..100 - QColor myColor; - qreal mySpeed; // in rounds per second - int myTrail; - int myOpacity; - -private: - QTimer* myTimer; - int myCurrentCounter; -}; - -#endif // QTWAITINGSPINNER_H diff --git a/src/libcalamaresui/widgets/waitingspinnerwidget.cpp b/src/libcalamaresui/widgets/waitingspinnerwidget.cpp new file mode 100644 index 000000000..0ef03a0ba --- /dev/null +++ b/src/libcalamaresui/widgets/waitingspinnerwidget.cpp @@ -0,0 +1,277 @@ +/* Original Work Copyright (c) 2012-2014 Alexander Turkin + Modified 2014 by William Hallatt + Modified 2015 by Jacob Dawid + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +// Own includes +#include "waitingspinnerwidget.h" + +// Standard includes +#include +#include + +// Qt includes +#include +#include + +WaitingSpinnerWidget::WaitingSpinnerWidget(QWidget *parent, + bool centerOnParent, + bool disableParentWhenSpinning) + : QWidget(parent), + _centerOnParent(centerOnParent), + _disableParentWhenSpinning(disableParentWhenSpinning) { + initialize(); +} + +WaitingSpinnerWidget::WaitingSpinnerWidget(Qt::WindowModality modality, + QWidget *parent, + bool centerOnParent, + bool disableParentWhenSpinning) + : QWidget(parent, Qt::Dialog | Qt::FramelessWindowHint), + _centerOnParent(centerOnParent), + _disableParentWhenSpinning(disableParentWhenSpinning){ + initialize(); + + // We need to set the window modality AFTER we've hidden the + // widget for the first time since changing this property while + // the widget is visible has no effect. + setWindowModality(modality); + setAttribute(Qt::WA_TranslucentBackground); +} + +void WaitingSpinnerWidget::initialize() { + _color = Qt::black; + _roundness = 100.0; + _minimumTrailOpacity = 3.14159265358979323846; + _trailFadePercentage = 80.0; + _revolutionsPerSecond = 1.57079632679489661923; + _numberOfLines = 20; + _lineLength = 10; + _lineWidth = 2; + _innerRadius = 10; + _currentCounter = 0; + _isSpinning = false; + + _timer = new QTimer(this); + connect(_timer, SIGNAL(timeout()), this, SLOT(rotate())); + updateSize(); + updateTimer(); + hide(); +} + +void WaitingSpinnerWidget::paintEvent(QPaintEvent *) { + updatePosition(); + QPainter painter(this); + painter.fillRect(this->rect(), Qt::transparent); + painter.setRenderHint(QPainter::Antialiasing, true); + + if (_currentCounter >= _numberOfLines) { + _currentCounter = 0; + } + + painter.setPen(Qt::NoPen); + for (int i = 0; i < _numberOfLines; ++i) { + painter.save(); + painter.translate(_innerRadius + _lineLength, + _innerRadius + _lineLength); + qreal rotateAngle = + static_cast(360 * i) / static_cast(_numberOfLines); + painter.rotate(rotateAngle); + painter.translate(_innerRadius, 0); + int distance = + lineCountDistanceFromPrimary(i, _currentCounter, _numberOfLines); + QColor color = + currentLineColor(distance, _numberOfLines, _trailFadePercentage, + _minimumTrailOpacity, _color); + painter.setBrush(color); + // TODO improve the way rounded rect is painted + painter.drawRoundedRect( + QRect(0, -_lineWidth / 2, _lineLength, _lineWidth), _roundness, + _roundness, Qt::RelativeSize); + painter.restore(); + } +} + +void WaitingSpinnerWidget::start() { + updatePosition(); + _isSpinning = true; + show(); + + if(parentWidget() && _disableParentWhenSpinning) { + parentWidget()->setEnabled(false); + } + + if (!_timer->isActive()) { + _timer->start(); + _currentCounter = 0; + } +} + +void WaitingSpinnerWidget::stop() { + _isSpinning = false; + hide(); + + if(parentWidget() && _disableParentWhenSpinning) { + parentWidget()->setEnabled(true); + } + + if (_timer->isActive()) { + _timer->stop(); + _currentCounter = 0; + } +} + +void WaitingSpinnerWidget::setNumberOfLines(int lines) { + _numberOfLines = lines; + _currentCounter = 0; + updateTimer(); +} + +void WaitingSpinnerWidget::setLineLength(int length) { + _lineLength = length; + updateSize(); +} + +void WaitingSpinnerWidget::setLineWidth(int width) { + _lineWidth = width; + updateSize(); +} + +void WaitingSpinnerWidget::setInnerRadius(int radius) { + _innerRadius = radius; + updateSize(); +} + +QColor WaitingSpinnerWidget::color() { + return _color; +} + +qreal WaitingSpinnerWidget::roundness() { + return _roundness; +} + +qreal WaitingSpinnerWidget::minimumTrailOpacity() { + return _minimumTrailOpacity; +} + +qreal WaitingSpinnerWidget::trailFadePercentage() { + return _trailFadePercentage; +} + +qreal WaitingSpinnerWidget::revolutionsPersSecond() { + return _revolutionsPerSecond; +} + +int WaitingSpinnerWidget::numberOfLines() { + return _numberOfLines; +} + +int WaitingSpinnerWidget::lineLength() { + return _lineLength; +} + +int WaitingSpinnerWidget::lineWidth() { + return _lineWidth; +} + +int WaitingSpinnerWidget::innerRadius() { + return _innerRadius; +} + +bool WaitingSpinnerWidget::isSpinning() const { + return _isSpinning; +} + +void WaitingSpinnerWidget::setRoundness(qreal roundness) { + _roundness = std::max(0.0, std::min(100.0, roundness)); +} + +void WaitingSpinnerWidget::setColor(QColor color) { + _color = color; +} + +void WaitingSpinnerWidget::setRevolutionsPerSecond(qreal revolutionsPerSecond) { + _revolutionsPerSecond = revolutionsPerSecond; + updateTimer(); +} + +void WaitingSpinnerWidget::setTrailFadePercentage(qreal trail) { + _trailFadePercentage = trail; +} + +void WaitingSpinnerWidget::setMinimumTrailOpacity(qreal minimumTrailOpacity) { + _minimumTrailOpacity = minimumTrailOpacity; +} + +void WaitingSpinnerWidget::rotate() { + ++_currentCounter; + if (_currentCounter >= _numberOfLines) { + _currentCounter = 0; + } + update(); +} + +void WaitingSpinnerWidget::updateSize() { + int size = (_innerRadius + _lineLength) * 2; + setFixedSize(size, size); +} + +void WaitingSpinnerWidget::updateTimer() { + _timer->setInterval(1000 / (_numberOfLines * _revolutionsPerSecond)); +} + +void WaitingSpinnerWidget::updatePosition() { + if (parentWidget() && _centerOnParent) { + move(parentWidget()->width() / 2 - width() / 2, + parentWidget()->height() / 2 - height() / 2); + } +} + +int WaitingSpinnerWidget::lineCountDistanceFromPrimary(int current, int primary, + int totalNrOfLines) { + int distance = primary - current; + if (distance < 0) { + distance += totalNrOfLines; + } + return distance; +} + +QColor WaitingSpinnerWidget::currentLineColor(int countDistance, int totalNrOfLines, + qreal trailFadePerc, qreal minOpacity, + QColor color) { + if (countDistance == 0) { + return color; + } + const qreal minAlphaF = minOpacity / 100.0; + int distanceThreshold = + static_cast(ceil((totalNrOfLines - 1) * trailFadePerc / 100.0)); + if (countDistance > distanceThreshold) { + color.setAlphaF(minAlphaF); + } else { + qreal alphaDiff = color.alphaF() - minAlphaF; + qreal gradient = alphaDiff / static_cast(distanceThreshold + 1); + qreal resultAlpha = color.alphaF() - gradient * countDistance; + + // If alpha is out of bounds, clip it. + resultAlpha = std::min(1.0, std::max(0.0, resultAlpha)); + color.setAlphaF(resultAlpha); + } + return color; +} diff --git a/src/libcalamaresui/widgets/waitingspinnerwidget.h b/src/libcalamaresui/widgets/waitingspinnerwidget.h new file mode 100644 index 000000000..8129718a5 --- /dev/null +++ b/src/libcalamaresui/widgets/waitingspinnerwidget.h @@ -0,0 +1,114 @@ +/* Original Work Copyright (c) 2012-2014 Alexander Turkin + Modified 2014 by William Hallatt + Modified 2015 by Jacob Dawid +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +#pragma once + +// Qt includes +#include +#include +#include + +class WaitingSpinnerWidget : public QWidget { + Q_OBJECT +public: + /*! Constructor for "standard" widget behaviour - use this + * constructor if you wish to, e.g. embed your widget in another. */ + WaitingSpinnerWidget(QWidget *parent = 0, + bool centerOnParent = true, + bool disableParentWhenSpinning = true); + + /*! Constructor - use this constructor to automatically create a modal + * ("blocking") spinner on top of the calling widget/window. If a valid + * parent widget is provided, "centreOnParent" will ensure that + * QtWaitingSpinner automatically centres itself on it, if not, + * "centreOnParent" is ignored. */ + WaitingSpinnerWidget(Qt::WindowModality modality, + QWidget *parent = 0, + bool centerOnParent = true, + bool disableParentWhenSpinning = true); + +public slots: + void start(); + void stop(); + +public: + void setColor(QColor color); + void setRoundness(qreal roundness); + void setMinimumTrailOpacity(qreal minimumTrailOpacity); + void setTrailFadePercentage(qreal trail); + void setRevolutionsPerSecond(qreal revolutionsPerSecond); + void setNumberOfLines(int lines); + void setLineLength(int length); + void setLineWidth(int width); + void setInnerRadius(int radius); + void setText(QString text); + + QColor color(); + qreal roundness(); + qreal minimumTrailOpacity(); + qreal trailFadePercentage(); + qreal revolutionsPersSecond(); + int numberOfLines(); + int lineLength(); + int lineWidth(); + int innerRadius(); + + bool isSpinning() const; + +private slots: + void rotate(); + +protected: + void paintEvent(QPaintEvent *paintEvent); + +private: + static int lineCountDistanceFromPrimary(int current, int primary, + int totalNrOfLines); + static QColor currentLineColor(int distance, int totalNrOfLines, + qreal trailFadePerc, qreal minOpacity, + QColor color); + + void initialize(); + void updateSize(); + void updateTimer(); + void updatePosition(); + +private: + QColor _color; + qreal _roundness; // 0..100 + qreal _minimumTrailOpacity; + qreal _trailFadePercentage; + qreal _revolutionsPerSecond; + int _numberOfLines; + int _lineLength; + int _lineWidth; + int _innerRadius; + +private: + WaitingSpinnerWidget(const WaitingSpinnerWidget&); + WaitingSpinnerWidget& operator=(const WaitingSpinnerWidget&); + + QTimer *_timer; + bool _centerOnParent; + bool _disableParentWhenSpinning; + int _currentCounter; + bool _isSpinning; +}; From d2d59e6206b9291b4cf5f5341eb3841ce4aea06a Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Sep 2017 15:39:57 +0200 Subject: [PATCH 097/129] Licensing: add header to QtWaitingSpinner copyright - mention that this is shipped as part of Calamares - SPDX info --- src/libcalamaresui/widgets/waitingspinnerwidget.cpp | 6 ++++++ src/libcalamaresui/widgets/waitingspinnerwidget.h | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/libcalamaresui/widgets/waitingspinnerwidget.cpp b/src/libcalamaresui/widgets/waitingspinnerwidget.cpp index 0ef03a0ba..317d83807 100644 --- a/src/libcalamaresui/widgets/waitingspinnerwidget.cpp +++ b/src/libcalamaresui/widgets/waitingspinnerwidget.cpp @@ -1,3 +1,9 @@ +/* === This file is part of Calamares - === + * + * SPDX-License-Identifier: MIT + * License-Filename: LICENSES/MIT-QtWaitingSpinner + */ + /* Original Work Copyright (c) 2012-2014 Alexander Turkin Modified 2014 by William Hallatt Modified 2015 by Jacob Dawid diff --git a/src/libcalamaresui/widgets/waitingspinnerwidget.h b/src/libcalamaresui/widgets/waitingspinnerwidget.h index 8129718a5..0ed8e69d3 100644 --- a/src/libcalamaresui/widgets/waitingspinnerwidget.h +++ b/src/libcalamaresui/widgets/waitingspinnerwidget.h @@ -1,3 +1,9 @@ +/* === This file is part of Calamares - === + * + * SPDX-License-Identifier: MIT + * License-Filename: LICENSES/MIT-QtWaitingSpinner + */ + /* Original Work Copyright (c) 2012-2014 Alexander Turkin Modified 2014 by William Hallatt Modified 2015 by Jacob Dawid From d23818b27cfb6faff46b2d7ec2759a55592322cc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Sep 2017 15:56:29 +0200 Subject: [PATCH 098/129] Fix code using re-imported spinner --- src/libcalamaresui/CMakeLists.txt | 2 +- src/libcalamaresui/widgets/WaitingWidget.cpp | 11 ++++++----- src/modules/partition/gui/ScanningDialog.cpp | 5 +++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/libcalamaresui/CMakeLists.txt b/src/libcalamaresui/CMakeLists.txt index 562c167e7..0021fbbfd 100644 --- a/src/libcalamaresui/CMakeLists.txt +++ b/src/libcalamaresui/CMakeLists.txt @@ -20,7 +20,7 @@ list( APPEND calamaresui_SOURCES widgets/ClickableLabel.cpp widgets/FixedAspectRatioLabel.cpp - widgets/QtWaitingSpinner.cpp + widgets/waitingspinnerwidget.cpp widgets/WaitingWidget.cpp ExecutionViewStep.cpp diff --git a/src/libcalamaresui/widgets/WaitingWidget.cpp b/src/libcalamaresui/widgets/WaitingWidget.cpp index 55471eff3..03c977691 100644 --- a/src/libcalamaresui/widgets/WaitingWidget.cpp +++ b/src/libcalamaresui/widgets/WaitingWidget.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2014, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,7 +20,7 @@ #include "WaitingWidget.h" #include "utils/CalamaresUtilsGui.h" -#include "QtWaitingSpinner.h" +#include "waitingspinnerwidget.h" #include #include @@ -34,7 +35,7 @@ WaitingWidget::WaitingWidget( const QString& text, QWidget* parent ) waitingLayout->addLayout( pbLayout ); pbLayout->addStretch(); - QtWaitingSpinner* spnr = new QtWaitingSpinner(); + WaitingSpinnerWidget* spnr = new WaitingSpinnerWidget(); pbLayout->addWidget( spnr ); pbLayout->addStretch(); @@ -43,9 +44,9 @@ WaitingWidget::WaitingWidget( const QString& text, QWidget* parent ) int spnrSize = m_waitingLabel->fontMetrics().height() * 4; spnr->setFixedSize( spnrSize, spnrSize ); - spnr->setRadius( spnrSize / 2 ); - spnr->setLength( spnrSize / 2 ); - spnr->setWidth( spnrSize / 8 ); + spnr->setInnerRadius( spnrSize / 2 ); + spnr->setLineLength( spnrSize / 2 ); + spnr->setLineWidth( spnrSize / 8 ); spnr->start(); m_waitingLabel->setAlignment( Qt::AlignCenter ); diff --git a/src/modules/partition/gui/ScanningDialog.cpp b/src/modules/partition/gui/ScanningDialog.cpp index 76a1bc55f..85c0cb734 100644 --- a/src/modules/partition/gui/ScanningDialog.cpp +++ b/src/modules/partition/gui/ScanningDialog.cpp @@ -1,6 +1,7 @@ /* === This file is part of Calamares - === * * Copyright 2015, Teo Mrnjavac + * Copyright 2017, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,7 +19,7 @@ #include "ScanningDialog.h" -#include "widgets/QtWaitingSpinner.h" +#include "widgets/waitingspinnerwidget.h" #include #include @@ -37,7 +38,7 @@ ScanningDialog::ScanningDialog( const QString& text, QHBoxLayout* dialogLayout = new QHBoxLayout; setLayout( dialogLayout ); - QtWaitingSpinner* spinner = new QtWaitingSpinner; + WaitingSpinnerWidget* spinner = new WaitingSpinnerWidget(); dialogLayout->addWidget( spinner ); spinner->start(); From a65bc7d756bf200d27aca1b7186d31a669b3b651 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Sep 2017 16:08:30 +0200 Subject: [PATCH 099/129] Licensing: re-import ImageRegistry - include full license headers, - copied from - repo: https://github.com/tomahawk-player/tomahawk/ - rev: 00f602e10203b76fc28b4615868c567e6bd4ced4 - path: src/libtomahawk/utils/ImageRegistry.cpp --- LICENSES/GPLv3+-ImageRegistry | 16 ++++ src/libcalamaresui/utils/ImageRegistry.cpp | 93 +++++++++++----------- src/libcalamaresui/utils/ImageRegistry.h | 48 +++++------ 3 files changed, 85 insertions(+), 72 deletions(-) create mode 100644 LICENSES/GPLv3+-ImageRegistry diff --git a/LICENSES/GPLv3+-ImageRegistry b/LICENSES/GPLv3+-ImageRegistry new file mode 100644 index 000000000..362e89766 --- /dev/null +++ b/LICENSES/GPLv3+-ImageRegistry @@ -0,0 +1,16 @@ +/* + * Copyright 2012, Christian Muehlhaeuser + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ diff --git a/src/libcalamaresui/utils/ImageRegistry.cpp b/src/libcalamaresui/utils/ImageRegistry.cpp index 9ed646e50..a8c4aa209 100644 --- a/src/libcalamaresui/utils/ImageRegistry.cpp +++ b/src/libcalamaresui/utils/ImageRegistry.cpp @@ -1,35 +1,30 @@ -/* === This file is part of Calamares - === - * - * Copyright 2014, Teo Mrnjavac - * Copyright 2017, Adriaan de Groot - * - * Originally from Tomahawk, +/* * Copyright 2012, Christian Muehlhaeuser - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ #include "ImageRegistry.h" #include #include -#include +#include #include "utils/Logger.h" static QHash< QString, QHash< int, QHash< qint64, QPixmap > > > s_cache; -ImageRegistry* ImageRegistry::s_instance = nullptr; +ImageRegistry* ImageRegistry::s_instance = 0; ImageRegistry* @@ -46,22 +41,28 @@ ImageRegistry::ImageRegistry() QIcon -ImageRegistry::icon( const QString& image, CalamaresUtils::ImageMode mode ) +ImageRegistry::icon( const QString& image, TomahawkUtils::ImageMode mode ) { - return pixmap( image, CalamaresUtils::defaultIconSize(), mode ); + return pixmap( image, TomahawkUtils::defaultIconSize(), mode ); } qint64 -ImageRegistry::cacheKey( const QSize& size, qreal opacity, QColor tint ) +ImageRegistry::cacheKey( const QSize& size, float opacity, QColor tint ) { - return size.width() * 100 + size.height() * 10 + int( opacity * 100.0 ) + tint.value(); + return size.width() * 100 + size.height() * 10 + ( opacity * 100.0 ) + tint.value(); } QPixmap -ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, qreal opacity, QColor tint ) +ImageRegistry::pixmap( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode, float opacity, QColor tint ) { + if ( size.width() < 0 || size.height() < 0 ) + { + Q_ASSERT( false ); + return QPixmap(); + } + QHash< qint64, QPixmap > subsubcache; QHash< int, QHash< qint64, QPixmap > > subcache; @@ -83,11 +84,10 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils:: // Image not found in cache. Let's load it. QPixmap pixmap; - if ( image.toLower().endsWith( ".svg" ) || - image.toLower().endsWith( ".svgz" ) ) + if ( image.toLower().endsWith( ".svg" ) ) { QSvgRenderer svgRenderer( image ); - QPixmap p( size.isNull() ? svgRenderer.defaultSize() : size ); + QPixmap p( size.isNull() || size.height() == 0 || size.width() == 0 ? svgRenderer.defaultSize() : size ); p.fill( Qt::transparent ); QPainter pixPainter( &p ); @@ -96,17 +96,7 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils:: pixPainter.end(); if ( tint.alpha() > 0 ) - { - QImage resultImage( p.size(), QImage::Format_ARGB32_Premultiplied ); - QPainter painter( &resultImage ); - painter.drawPixmap( 0, 0, p ); - painter.setCompositionMode( QPainter::CompositionMode_Screen ); - painter.fillRect( resultImage.rect(), tint ); - painter.end(); - - resultImage.setAlphaChannel( p.toImage().alphaChannel() ); - p = QPixmap::fromImage( resultImage ); - } + p = TomahawkUtils::tinted( p, tint ); pixmap = p; } @@ -117,8 +107,8 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils:: { switch ( mode ) { - case CalamaresUtils::RoundedCorners: - pixmap = CalamaresUtils::createRoundedImage( pixmap, size ); + case TomahawkUtils::RoundedCorners: + pixmap = TomahawkUtils::createRoundedImage( pixmap, size ); break; default: @@ -126,7 +116,18 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils:: } if ( !size.isNull() && pixmap.size() != size ) - pixmap = pixmap.scaled( size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation ); + { + if ( size.width() == 0 ) + { + pixmap = pixmap.scaledToHeight( size.height(), Qt::SmoothTransformation ); + } + else if ( size.height() == 0 ) + { + pixmap = pixmap.scaledToWidth( size.width(), Qt::SmoothTransformation ); + } + else + pixmap = pixmap.scaled( size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation ); + } putInCache( image, size, mode, opacity, pixmap, tint ); } @@ -136,9 +137,9 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils:: void -ImageRegistry::putInCache( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, qreal opacity, const QPixmap& pixmap, QColor tint ) +ImageRegistry::putInCache( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode, float opacity, const QPixmap& pixmap, QColor tint ) { -// cDebug( LOGVERBOSE ) << Q_FUNC_INFO << "Adding to image cache:" << image << size << mode; + tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "Adding to image cache:" << image << size << mode; QHash< qint64, QPixmap > subsubcache; QHash< int, QHash< qint64, QPixmap > > subcache; diff --git a/src/libcalamaresui/utils/ImageRegistry.h b/src/libcalamaresui/utils/ImageRegistry.h index 4909b0183..880fa546a 100644 --- a/src/libcalamaresui/utils/ImageRegistry.h +++ b/src/libcalamaresui/utils/ImageRegistry.h @@ -1,45 +1,41 @@ -/* === This file is part of Calamares - === - * - * Copyright 2014, Teo Mrnjavac - * - * Originally from Tomahawk, +/* * Copyright 2012, Christian Muehlhaeuser - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ #ifndef IMAGE_REGISTRY_H #define IMAGE_REGISTRY_H #include -#include "utils/CalamaresUtilsGui.h" -#include "UiDllMacro.h" +#include "utils/TomahawkUtilsGui.h" +#include "DllMacro.h" -class UIDLLEXPORT ImageRegistry +class DLLEXPORT ImageRegistry { public: static ImageRegistry* instance(); explicit ImageRegistry(); - QIcon icon( const QString& image, CalamaresUtils::ImageMode mode = CalamaresUtils::Original ); - QPixmap pixmap( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode = CalamaresUtils::Original, qreal opacity = 1.0, QColor tint = QColor( 0, 0, 0, 0 ) ); + QIcon icon( const QString& image, TomahawkUtils::ImageMode mode = TomahawkUtils::Original ); + QPixmap pixmap( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode = TomahawkUtils::Original, float opacity = 1.0, QColor tint = QColor( 0, 0, 0, 0 ) ); private: - qint64 cacheKey( const QSize& size, qreal opacity, QColor tint ); - void putInCache( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, qreal opacity, const QPixmap& pixmap, QColor tint ); + qint64 cacheKey( const QSize& size, float opacity, QColor tint ); + void putInCache( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode, float opacity, const QPixmap& pixmap, QColor tint ); static ImageRegistry* s_instance; }; From 6010805935837d63eac735571c2a0cbb02f911cb Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Sep 2017 16:12:00 +0200 Subject: [PATCH 100/129] Licensing: add header to imageregistry copyright - mention that this is shipped as part of Calamares - SPDX info --- src/libcalamaresui/utils/ImageRegistry.cpp | 6 ++++++ src/libcalamaresui/utils/ImageRegistry.h | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/libcalamaresui/utils/ImageRegistry.cpp b/src/libcalamaresui/utils/ImageRegistry.cpp index a8c4aa209..5e871c884 100644 --- a/src/libcalamaresui/utils/ImageRegistry.cpp +++ b/src/libcalamaresui/utils/ImageRegistry.cpp @@ -1,3 +1,9 @@ +/* === This file is part of Calamares - === + * + * SPDX-License-Identifier: GPLv3+ + * License-Filename: LICENSES/GPLv3+-ImageRegistry + */ + /* * Copyright 2012, Christian Muehlhaeuser diff --git a/src/libcalamaresui/utils/ImageRegistry.h b/src/libcalamaresui/utils/ImageRegistry.h index 880fa546a..091127187 100644 --- a/src/libcalamaresui/utils/ImageRegistry.h +++ b/src/libcalamaresui/utils/ImageRegistry.h @@ -1,3 +1,9 @@ +/* === This file is part of Calamares - === + * + * SPDX-License-Identifier: GPLv3+ + * License-Filename: LICENSES/GPLv3+-ImageRegistry + */ + /* * Copyright 2012, Christian Muehlhaeuser From b04a8907989e85e97abaa2903963dddefca7b82b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Sep 2017 16:22:59 +0200 Subject: [PATCH 101/129] Fix code using re-imported imageregistry --- src/libcalamaresui/utils/ImageRegistry.cpp | 28 +++++++++++++--------- src/libcalamaresui/utils/ImageRegistry.h | 12 +++++----- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/libcalamaresui/utils/ImageRegistry.cpp b/src/libcalamaresui/utils/ImageRegistry.cpp index 5e871c884..442017048 100644 --- a/src/libcalamaresui/utils/ImageRegistry.cpp +++ b/src/libcalamaresui/utils/ImageRegistry.cpp @@ -27,8 +27,6 @@ #include #include -#include "utils/Logger.h" - static QHash< QString, QHash< int, QHash< qint64, QPixmap > > > s_cache; ImageRegistry* ImageRegistry::s_instance = 0; @@ -47,9 +45,9 @@ ImageRegistry::ImageRegistry() QIcon -ImageRegistry::icon( const QString& image, TomahawkUtils::ImageMode mode ) +ImageRegistry::icon( const QString& image, CalamaresUtils::ImageMode mode ) { - return pixmap( image, TomahawkUtils::defaultIconSize(), mode ); + return pixmap( image, CalamaresUtils::defaultIconSize(), mode ); } @@ -61,7 +59,7 @@ ImageRegistry::cacheKey( const QSize& size, float opacity, QColor tint ) QPixmap -ImageRegistry::pixmap( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode, float opacity, QColor tint ) +ImageRegistry::pixmap( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, float opacity, QColor tint ) { if ( size.width() < 0 || size.height() < 0 ) { @@ -102,7 +100,17 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, TomahawkUtils::I pixPainter.end(); if ( tint.alpha() > 0 ) - p = TomahawkUtils::tinted( p, tint ); + { + QImage resultImage( p.size(), QImage::Format_ARGB32_Premultiplied ); + QPainter painter( &resultImage ); + painter.drawPixmap( 0, 0, p ); + painter.setCompositionMode( QPainter::CompositionMode_Screen ); + painter.fillRect( resultImage.rect(), tint ); + painter.end(); + + resultImage.setAlphaChannel( p.toImage().alphaChannel() ); + p = QPixmap::fromImage( resultImage ); + } pixmap = p; } @@ -113,8 +121,8 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, TomahawkUtils::I { switch ( mode ) { - case TomahawkUtils::RoundedCorners: - pixmap = TomahawkUtils::createRoundedImage( pixmap, size ); + case CalamaresUtils::RoundedCorners: + pixmap = CalamaresUtils::createRoundedImage( pixmap, size ); break; default: @@ -143,10 +151,8 @@ ImageRegistry::pixmap( const QString& image, const QSize& size, TomahawkUtils::I void -ImageRegistry::putInCache( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode, float opacity, const QPixmap& pixmap, QColor tint ) +ImageRegistry::putInCache( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, float opacity, const QPixmap& pixmap, QColor tint ) { - tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "Adding to image cache:" << image << size << mode; - QHash< qint64, QPixmap > subsubcache; QHash< int, QHash< qint64, QPixmap > > subcache; diff --git a/src/libcalamaresui/utils/ImageRegistry.h b/src/libcalamaresui/utils/ImageRegistry.h index 091127187..e35eaf74a 100644 --- a/src/libcalamaresui/utils/ImageRegistry.h +++ b/src/libcalamaresui/utils/ImageRegistry.h @@ -26,22 +26,22 @@ #include -#include "utils/TomahawkUtilsGui.h" -#include "DllMacro.h" +#include "utils/CalamaresUtilsGui.h" +#include "UiDllMacro.h" -class DLLEXPORT ImageRegistry +class UIDLLEXPORT ImageRegistry { public: static ImageRegistry* instance(); explicit ImageRegistry(); - QIcon icon( const QString& image, TomahawkUtils::ImageMode mode = TomahawkUtils::Original ); - QPixmap pixmap( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode = TomahawkUtils::Original, float opacity = 1.0, QColor tint = QColor( 0, 0, 0, 0 ) ); + QIcon icon( const QString& image, CalamaresUtils::ImageMode mode = CalamaresUtils::Original ); + QPixmap pixmap( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode = CalamaresUtils::Original, float opacity = 1.0, QColor tint = QColor( 0, 0, 0, 0 ) ); private: qint64 cacheKey( const QSize& size, float opacity, QColor tint ); - void putInCache( const QString& image, const QSize& size, TomahawkUtils::ImageMode mode, float opacity, const QPixmap& pixmap, QColor tint ); + void putInCache( const QString& image, const QSize& size, CalamaresUtils::ImageMode mode, float opacity, const QPixmap& pixmap, QColor tint ); static ImageRegistry* s_instance; }; From 0c129f2460683815b0704696c9e5f0f465235e07 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 19 Sep 2017 16:46:55 +0200 Subject: [PATCH 102/129] Reduce third-part warnings a better way. Thanks to Kevin Kofler for pointing out what I'd forgotten about source-file flags. While at it, introduce a generic mechanism for suppressing warnings in third-party code. Mostly reverts 49304849318241258ae7159cf38f32b708fe63c2 --- CMakeLists.txt | 9 +++++++++ src/libcalamares/CMakeLists.txt | 32 +++++++------------------------- 2 files changed, 16 insertions(+), 25 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3f0a3c3e4..da33793c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,6 +65,13 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) string( APPEND CMAKE_CXX_FLAGS " ${CLANG_WARNINGS}" ) endforeach() + # Third-party code where we don't care so much about compiler warnings + # (because it's uncomfortable to patch) get different flags; use + # set_source_files_properties( + # PROPERTIES COMPILE_FLAGS "${SUPPRESS_3RDPARTY_WARNINGS}" ) + # to switch off warnings for those sources. + set( SUPPRESS_3RDPARTY_WARNINGS "-Wno-everything" ) + set( CMAKE_CXX_FLAGS_DEBUG "-g" ) set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" ) set( CMAKE_CXX_FLAGS_RELEASE "-O4 -DNDEBUG" ) @@ -76,6 +83,8 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) else() set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--no-undefined" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--fatal-warnings -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type" ) + + set( SUPPRESS_3RDPARTY_WARNINGS "" ) endif() if( CMAKE_COMPILER_IS_GNUCXX ) diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index c97e35ada..ba10fcc70 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -19,14 +19,6 @@ set( libSources JobQueue.cpp ProcessJob.cpp ) - -include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} -) - -# Build subdirs as their own separate OBJECT libraries, -# to allow changing compiler warnings on their code. set( utilsSources utils/CalamaresUtils.cpp utils/CalamaresUtilsSystem.cpp @@ -34,26 +26,19 @@ set( utilsSources utils/PluginFactory.cpp utils/Retranslator.cpp ) -add_library( utilsLib OBJECT ${utilsSources} ) -target_compile_options( utilsLib PUBLIC -fPIC ) -target_include_directories( utilsLib PUBLIC - $ -) -set_target_properties( utilsLib PROPERTIES AUTOMOC TRUE ) - set( kdsagSources kdsingleapplicationguard/kdsingleapplicationguard.cpp kdsingleapplicationguard/kdsharedmemorylocker.cpp kdsingleapplicationguard/kdtoolsglobal.cpp kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp ) -add_library( kdsagLib OBJECT ${kdsagSources} ) -target_compile_options( kdsagLib PUBLIC -fPIC ) -target_include_directories( kdsagLib PUBLIC - $ -) -set_target_properties( kdsagLib PROPERTIES AUTOMOC TRUE ) +set_source_files_properties( ${kdsagSources} + PROPERTIES COMPILE_FLAGS "${SUPPRESS_3RDPARTY_WARNINGS}" ) +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} +) if( WITH_PYTHON ) set( libSources @@ -91,10 +76,7 @@ if( WITH_PYTHONQT ) endif() -add_library( calamares SHARED ${libSources} - $ - $ -) +add_library( calamares SHARED ${libSources} ${kdsagSources} ${utilsSources} ) set_target_properties( calamares PROPERTIES AUTOMOC TRUE From 9693d7a5bd23248e3c88b53aab99b52035fb5505 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 20 Sep 2017 08:22:39 -0400 Subject: [PATCH 103/129] Memory: clean up interface used to get memory (RAM) size --- .../utils/CalamaresUtilsSystem.cpp | 20 +++++-------- src/libcalamares/utils/CalamaresUtilsSystem.h | 14 +++++++-- .../partition/core/PartitionActions.cpp | 30 ++++++++++--------- .../welcome/checker/RequirementsChecker.cpp | 6 ++-- 4 files changed, 38 insertions(+), 32 deletions(-) diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.cpp b/src/libcalamares/utils/CalamaresUtilsSystem.cpp index 3936852ab..656a57c10 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.cpp +++ b/src/libcalamares/utils/CalamaresUtilsSystem.cpp @@ -231,14 +231,7 @@ System::targetEnvOutput( const QString& command, } -qint64 -System::getPhysicalMemoryB() -{ - return 0; -} - - -qint64 +QPair System::getTotalMemoryB() { #ifdef Q_OS_LINUX @@ -246,20 +239,21 @@ System::getTotalMemoryB() int r = sysinfo( &i ); if (r) - return 0; + return qMakePair(0, 0.0); - return qint64( i.mem_unit ) * i.totalram; + return qMakePair(quint64( i.mem_unit ) * quint64( i.totalram ), 1.1); #elif defined( Q_OS_FREEBSD ) unsigned long memsize; size_t s = sizeof(memsize); int r = sysctlbyname("vm.kmem_size", &memsize, &s, NULL, 0); if (r) - return 0; + return qMakePair(0, 0.0); - return memsize; + return qMakePair(memsize, 1.01); +#else + return qMakePair(0, 0.0); // Unsupported #endif - return 0; // Unsupported } diff --git a/src/libcalamares/utils/CalamaresUtilsSystem.h b/src/libcalamares/utils/CalamaresUtilsSystem.h index bf3acb41c..1ccdfb516 100644 --- a/src/libcalamares/utils/CalamaresUtilsSystem.h +++ b/src/libcalamares/utils/CalamaresUtilsSystem.h @@ -100,9 +100,19 @@ public: /** * @brief getTotalMemoryB returns the total main memory, in bytes. + * + * Since it is difficult to get the RAM memory size exactly -- either + * by reading information from the DIMMs, which may fail on virtual hosts + * or from asking the kernel, which doesn't report some memory areas -- + * this returns a pair of guessed-size (in bytes) and a "guesstimate factor" + * which says how good the guess is. Generally, assume the *real* memory + * available is size * guesstimate. + * + * If nothing can be found, returns a 0 size and 0 guesstimate. + * + * @return size, guesstimate-factor */ - DLLEXPORT qint64 getTotalMemoryB(); //Always underguessed, but always works on Linux - DLLEXPORT qint64 getPhysicalMemoryB(); //Better guess, doesn't work in VirualBox + DLLEXPORT QPair getTotalMemoryB(); private: static System* s_instance; diff --git a/src/modules/partition/core/PartitionActions.cpp b/src/modules/partition/core/PartitionActions.cpp index 9567661b2..1c2363845 100644 --- a/src/modules/partition/core/PartitionActions.cpp +++ b/src/modules/partition/core/PartitionActions.cpp @@ -45,19 +45,21 @@ using CalamaresUtils::operator""_MiB; qint64 swapSuggestion( const qint64 availableSpaceB ) { - // swap(mem) = max(2, 2 * mem), if mem < 2 GiB - // = mem, if 2 GiB <= mem < 8 GiB - // = mem / 2, if 8 GIB <= mem < 64 GiB - // = 4 GiB, if mem >= 64 GiB - + /* If suspend-to-disk is demanded, then we always need enough + * swap to write the whole memory to disk -- between 2GB and 8GB + * RAM give proportionally more swap, and from 8GB RAM keep + * swap = RAM. + * + * If suspend-to-disk is not demanded, then ramp up more slowly, + * to 8GB swap at 16GB memory, and then drop to 4GB for "large + * memory" machines, on the assumption that those don't need swap + * because they have tons of memory (or whatever they are doing, + * had better not run into swap). + */ qint64 suggestedSwapSizeB = 0; - qint64 availableRamB = CalamaresUtils::System::instance()->getPhysicalMemoryB(); - qreal overestimationFactor = 1.01; - if ( !availableRamB ) - { - availableRamB = CalamaresUtils::System::instance()->getTotalMemoryB(); - overestimationFactor = 1.10; - } + auto memory = CalamaresUtils::System::instance()->getTotalMemoryB(); + qint64 availableRamB = memory.first; + qreal overestimationFactor = memory.second; bool ensureSuspendToDisk = Calamares::JobQueue::instance()->globalStorage()-> @@ -80,8 +82,8 @@ swapSuggestion( const qint64 availableSpaceB ) suggestedSwapSizeB = qMax( 2_GiB, availableRamB * 2 ); else if ( availableRamB >= 2_GiB && availableRamB < 8_GiB ) suggestedSwapSizeB = availableRamB; - else if ( availableRamB >= 8_GiB && availableRamB < 64_GiB ) - suggestedSwapSizeB = availableRamB / 2; + else if ( availableRamB >= 8_GiB && availableRamB < 16_GiB ) + suggestedSwapSizeB = 8_GiB; else suggestedSwapSizeB = 4_GiB; diff --git a/src/modules/welcome/checker/RequirementsChecker.cpp b/src/modules/welcome/checker/RequirementsChecker.cpp index ac5f5088b..720c17955 100644 --- a/src/modules/welcome/checker/RequirementsChecker.cpp +++ b/src/modules/welcome/checker/RequirementsChecker.cpp @@ -310,9 +310,9 @@ RequirementsChecker::checkEnoughStorage( qint64 requiredSpace ) bool RequirementsChecker::checkEnoughRam( qint64 requiredRam ) { - qint64 availableRam = CalamaresUtils::System::instance()->getPhysicalMemoryB(); - if ( !availableRam ) - availableRam = CalamaresUtils::System::instance()->getTotalMemoryB(); + // Ignore the guesstimate-factor; we get an under-estimate + // which is probably the usable RAM for programs. + quint64 availableRam = CalamaresUtils::System::instance()->getTotalMemoryB().first; return availableRam >= requiredRam * 0.95; // because MemTotal is variable } From 337903db09c4196ea17313386933d4e1f19e7492 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 20 Sep 2017 08:24:28 -0400 Subject: [PATCH 104/129] Clang: reduce warnings about overriden destructors --- src/libcalamares/ProcessJob.h | 2 +- src/libcalamaresui/modulesystem/CppJobModule.h | 2 +- src/libcalamaresui/modulesystem/ProcessJobModule.h | 2 +- src/libcalamaresui/modulesystem/ViewModule.h | 2 +- src/modules/finished/FinishedViewStep.h | 2 +- src/modules/license/LicenseViewStep.h | 4 ++-- src/modules/locale/LocaleViewStep.h | 2 +- src/modules/partition/core/BootLoaderModel.h | 2 +- src/modules/summary/SummaryViewStep.h | 2 +- src/modules/welcome/WelcomeViewStep.h | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/libcalamares/ProcessJob.h b/src/libcalamares/ProcessJob.h index 259f97308..43fdf254e 100644 --- a/src/libcalamares/ProcessJob.h +++ b/src/libcalamares/ProcessJob.h @@ -33,7 +33,7 @@ public: bool runInChroot = false, int secondsTimeout = 30, QObject* parent = nullptr ); - virtual ~ProcessJob(); + virtual ~ProcessJob() override; QString prettyName() const override; QString prettyStatusMessage() const override; diff --git a/src/libcalamaresui/modulesystem/CppJobModule.h b/src/libcalamaresui/modulesystem/CppJobModule.h index 875f30785..46d27bf8b 100644 --- a/src/libcalamaresui/modulesystem/CppJobModule.h +++ b/src/libcalamaresui/modulesystem/CppJobModule.h @@ -44,7 +44,7 @@ protected: private: friend class Module; //so only the superclass can instantiate explicit CppJobModule(); - virtual ~CppJobModule(); + virtual ~CppJobModule() override; QPluginLoader* m_loader; job_ptr m_job; diff --git a/src/libcalamaresui/modulesystem/ProcessJobModule.h b/src/libcalamaresui/modulesystem/ProcessJobModule.h index 9d30ec235..af9a46bd5 100644 --- a/src/libcalamaresui/modulesystem/ProcessJobModule.h +++ b/src/libcalamaresui/modulesystem/ProcessJobModule.h @@ -42,7 +42,7 @@ protected: private: friend class Module; explicit ProcessJobModule(); - virtual ~ProcessJobModule(); + virtual ~ProcessJobModule() override; QString m_command; QString m_workingPath; diff --git a/src/libcalamaresui/modulesystem/ViewModule.h b/src/libcalamaresui/modulesystem/ViewModule.h index 32b0e8a1f..6b2e381a2 100644 --- a/src/libcalamaresui/modulesystem/ViewModule.h +++ b/src/libcalamaresui/modulesystem/ViewModule.h @@ -45,7 +45,7 @@ protected: private: friend class Module; //so only the superclass can instantiate explicit ViewModule(); - virtual ~ViewModule(); + virtual ~ViewModule() override; QPluginLoader* m_loader; ViewStep* m_viewStep = nullptr; diff --git a/src/modules/finished/FinishedViewStep.h b/src/modules/finished/FinishedViewStep.h index cb3656046..6a11dc8a3 100644 --- a/src/modules/finished/FinishedViewStep.h +++ b/src/modules/finished/FinishedViewStep.h @@ -34,7 +34,7 @@ class PLUGINDLLEXPORT FinishedViewStep : public Calamares::ViewStep public: explicit FinishedViewStep( QObject* parent = nullptr ); - virtual ~FinishedViewStep(); + virtual ~FinishedViewStep() override; QString prettyName() const override; diff --git a/src/modules/license/LicenseViewStep.h b/src/modules/license/LicenseViewStep.h index 6229853ba..07824a5e3 100644 --- a/src/modules/license/LicenseViewStep.h +++ b/src/modules/license/LicenseViewStep.h @@ -36,7 +36,7 @@ class PLUGINDLLEXPORT LicenseViewStep : public Calamares::ViewStep public: explicit LicenseViewStep( QObject* parent = nullptr ); - virtual ~LicenseViewStep(); + virtual ~LicenseViewStep() override; QString prettyName() const override; @@ -52,7 +52,7 @@ public: bool isAtEnd() const override; QList< Calamares::job_ptr > jobs() const override; - + void setConfigurationMap( const QVariantMap& configurationMap ) override; private: diff --git a/src/modules/locale/LocaleViewStep.h b/src/modules/locale/LocaleViewStep.h index 2785f3d4a..402fb7ce9 100644 --- a/src/modules/locale/LocaleViewStep.h +++ b/src/modules/locale/LocaleViewStep.h @@ -37,7 +37,7 @@ class PLUGINDLLEXPORT LocaleViewStep : public Calamares::ViewStep public: explicit LocaleViewStep( QObject* parent = nullptr ); - virtual ~LocaleViewStep(); + virtual ~LocaleViewStep() override; QString prettyName() const override; QString prettyStatus() const override; diff --git a/src/modules/partition/core/BootLoaderModel.h b/src/modules/partition/core/BootLoaderModel.h index 27684e326..2ef175e84 100644 --- a/src/modules/partition/core/BootLoaderModel.h +++ b/src/modules/partition/core/BootLoaderModel.h @@ -39,7 +39,7 @@ public: }; BootLoaderModel( QObject* parent = 0 ); - ~BootLoaderModel(); + ~BootLoaderModel() override; /** * Init the model with the list of devices. Does *not* take ownership of the diff --git a/src/modules/summary/SummaryViewStep.h b/src/modules/summary/SummaryViewStep.h index b7197b71b..e1a8df89b 100644 --- a/src/modules/summary/SummaryViewStep.h +++ b/src/modules/summary/SummaryViewStep.h @@ -34,7 +34,7 @@ class PLUGINDLLEXPORT SummaryViewStep : public Calamares::ViewStep public: explicit SummaryViewStep( QObject* parent = nullptr ); - virtual ~SummaryViewStep(); + virtual ~SummaryViewStep() override; QString prettyName() const override; diff --git a/src/modules/welcome/WelcomeViewStep.h b/src/modules/welcome/WelcomeViewStep.h index db33a89bd..fbcbd8ded 100644 --- a/src/modules/welcome/WelcomeViewStep.h +++ b/src/modules/welcome/WelcomeViewStep.h @@ -37,7 +37,7 @@ class PLUGINDLLEXPORT WelcomeViewStep : public Calamares::ViewStep public: explicit WelcomeViewStep( QObject* parent = nullptr ); - virtual ~WelcomeViewStep(); + virtual ~WelcomeViewStep() override; QString prettyName() const override; From 34761c4214e95d877f0f1b2f29d479169885d646 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 20 Sep 2017 09:16:15 -0400 Subject: [PATCH 105/129] Clang: reduce 0-as-nullptr warnings --- src/libcalamares/utils/PluginFactory.cpp | 2 +- src/libcalamares/utils/PluginFactory.h | 10 +++++----- src/modules/welcome/checker/RequirementsChecker.cpp | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/libcalamares/utils/PluginFactory.cpp b/src/libcalamares/utils/PluginFactory.cpp index c22c90ff7..b1c3a0793 100644 --- a/src/libcalamares/utils/PluginFactory.cpp +++ b/src/libcalamares/utils/PluginFactory.cpp @@ -104,7 +104,7 @@ QObject* PluginFactory::create( const char* iface, QWidget* parentWidget, QObjec { Q_D( PluginFactory ); - QObject* obj = 0; + QObject* obj = nullptr; const QList candidates( d->createInstanceHash.values( keyword ) ); // for !keyword.isEmpty() candidates.count() is 0 or 1 diff --git a/src/libcalamares/utils/PluginFactory.h b/src/libcalamares/utils/PluginFactory.h index 945a3eaaf..55c44249c 100644 --- a/src/libcalamares/utils/PluginFactory.h +++ b/src/libcalamares/utils/PluginFactory.h @@ -223,7 +223,7 @@ public: * \returns A pointer to the created object is returned, or 0 if an error occurred. */ template - T* create( QObject* parent = 0 ); + T* create( QObject* parent = nullptr ); /** * Use this method to create an object. It will try to create an object which inherits @@ -236,7 +236,7 @@ public: * \returns A pointer to the created object is returned, or 0 if an error occurred. */ template - T* create( const QString& keyword, QObject* parent = 0 ); + T* create( const QString& keyword, QObject* parent = nullptr ); Q_SIGNALS: void objectCreated( QObject* object ); @@ -322,7 +322,7 @@ protected: static QObject* createInstance( QWidget* parentWidget, QObject* parent ) { Q_UNUSED( parentWidget ); - ParentType* p = 0; + ParentType* p = nullptr; if ( parent ) { p = qobject_cast( parent ); @@ -339,7 +339,7 @@ template inline T* PluginFactory::create( QObject* parent ) { QObject* o = create( T::staticMetaObject.className(), - parent && parent->isWidgetType() ? reinterpret_cast( parent ) : 0, + parent && parent->isWidgetType() ? reinterpret_cast( parent ) : nullptr, parent, QString() ); @@ -353,7 +353,7 @@ template inline T* PluginFactory::create( const QString& keyword, QObject* parent ) { QObject* o = create( T::staticMetaObject.className(), - parent && parent->isWidgetType() ? reinterpret_cast( parent ) : 0, + parent && parent->isWidgetType() ? reinterpret_cast( parent ) : nullptr, parent, keyword ); diff --git a/src/modules/welcome/checker/RequirementsChecker.cpp b/src/modules/welcome/checker/RequirementsChecker.cpp index 720c17955..3d4e394c4 100644 --- a/src/modules/welcome/checker/RequirementsChecker.cpp +++ b/src/modules/welcome/checker/RequirementsChecker.cpp @@ -357,7 +357,7 @@ RequirementsChecker::checkHasPower() QDBusInterface upowerIntf( UPOWER_SVC_NAME, UPOWER_PATH, UPOWER_INTF_NAME, - QDBusConnection::systemBus(), 0 ); + QDBusConnection::systemBus() ); bool onBattery = upowerIntf.property( "OnBattery" ).toBool(); From e3e519c06f55db4de77f6cc01fd6076e04db31c0 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 21 Sep 2017 04:04:01 -0400 Subject: [PATCH 106/129] Clang: reduce warnings, nullptr, unused parameters --- src/modules/partition/core/BootLoaderModel.h | 2 +- src/modules/partition/core/PartitionCoreModule.cpp | 6 +++--- src/modules/partition/gui/PartitionBarsView.cpp | 12 ++++++------ .../partition/gui/PartitionSizeController.cpp | 4 ++-- src/modules/partition/gui/ReplaceWidget.cpp | 2 +- src/modules/partition/jobs/FormatPartitionJob.cpp | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/modules/partition/core/BootLoaderModel.h b/src/modules/partition/core/BootLoaderModel.h index 2ef175e84..e911d9029 100644 --- a/src/modules/partition/core/BootLoaderModel.h +++ b/src/modules/partition/core/BootLoaderModel.h @@ -38,7 +38,7 @@ public: IsPartitionRole }; - BootLoaderModel( QObject* parent = 0 ); + BootLoaderModel( QObject* parent = nullptr ); ~BootLoaderModel() override; /** diff --git a/src/modules/partition/core/PartitionCoreModule.cpp b/src/modules/partition/core/PartitionCoreModule.cpp index 07c09c6d7..a40ca1035 100644 --- a/src/modules/partition/core/PartitionCoreModule.cpp +++ b/src/modules/partition/core/PartitionCoreModule.cpp @@ -270,8 +270,8 @@ PartitionCoreModule::deletePartition( Device* device, Partition* partition ) if ( !KPMHelpers::isPartitionFreeSpace( childPartition ) ) lst << childPartition; - for ( auto partition : lst ) - deletePartition( device, partition ); + for ( auto childPartition : lst ) + deletePartition( device, childPartition ); } QList< Calamares::job_ptr >& jobs = deviceInfo->jobs; @@ -441,7 +441,7 @@ PartitionCoreModule::osproberEntries() const } void -PartitionCoreModule::refreshPartition( Device* device, Partition* partition ) +PartitionCoreModule::refreshPartition( Device* device, Partition* ) { // Keep it simple for now: reset the model. This can be improved to cause // the model to emit dataChanged() for the affected row instead, avoiding diff --git a/src/modules/partition/gui/PartitionBarsView.cpp b/src/modules/partition/gui/PartitionBarsView.cpp index f1333da7c..a66420e1b 100644 --- a/src/modules/partition/gui/PartitionBarsView.cpp +++ b/src/modules/partition/gui/PartitionBarsView.cpp @@ -35,8 +35,8 @@ static const int VIEW_HEIGHT = qMax( CalamaresUtils::defaultFontHeight() + 8, // wins out with big fonts - (int)( CalamaresUtils::defaultFontHeight() * 0.6 ) + 22 ); // wins out with small fonts -static const int CORNER_RADIUS = 3; + int( CalamaresUtils::defaultFontHeight() * 0.6 ) + 22 ); // wins out with small fonts +static constexpr int CORNER_RADIUS = 3; static const int EXTENDED_PARTITION_MARGIN = qMax( 4, VIEW_HEIGHT / 6 ); // The SELECTION_MARGIN is applied within a hardcoded 2px padding anyway, so @@ -54,8 +54,8 @@ static const int SELECTION_MARGIN = qMin( ( EXTENDED_PARTITION_MARGIN - 2 ) / 2, PartitionBarsView::PartitionBarsView( QWidget* parent ) : QAbstractItemView( parent ) , m_nestedPartitionsMode( NoNestedPartitions ) - , m_hoveredIndex( QModelIndex() ) , canBeSelected( []( const QModelIndex& ) { return true; } ) + , m_hoveredIndex( QModelIndex() ) { setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ); setFrameStyle( QFrame::NoFrame ); @@ -422,14 +422,14 @@ PartitionBarsView::setSelectionFilter( std::function< bool ( const QModelIndex& QModelIndex -PartitionBarsView::moveCursor( CursorAction cursorAction, Qt::KeyboardModifiers modifiers ) +PartitionBarsView::moveCursor( CursorAction, Qt::KeyboardModifiers ) { return QModelIndex(); } bool -PartitionBarsView::isIndexHidden( const QModelIndex& index ) const +PartitionBarsView::isIndexHidden( const QModelIndex& ) const { return false; } @@ -491,7 +491,7 @@ PartitionBarsView::mouseMoveEvent( QMouseEvent* event ) void -PartitionBarsView::leaveEvent( QEvent* event ) +PartitionBarsView::leaveEvent( QEvent* ) { QGuiApplication::restoreOverrideCursor(); if ( m_hoveredIndex.isValid() ) diff --git a/src/modules/partition/gui/PartitionSizeController.cpp b/src/modules/partition/gui/PartitionSizeController.cpp index 3cf915c7d..3bb9e758c 100644 --- a/src/modules/partition/gui/PartitionSizeController.cpp +++ b/src/modules/partition/gui/PartitionSizeController.cpp @@ -58,7 +58,7 @@ PartitionSizeController::setPartResizerWidget( PartResizerWidget* widget, bool f Q_ASSERT( m_device ); if ( m_partResizerWidget ) - disconnect( m_partResizerWidget, 0, this, 0 ); + disconnect( m_partResizerWidget, nullptr, this, nullptr ); m_dirty = false; m_currentSpinBoxValue = -1; @@ -108,7 +108,7 @@ void PartitionSizeController::setSpinBox( QSpinBox* spinBox ) { if ( m_spinBox ) - disconnect( m_spinBox, 0, this, 0 ); + disconnect( m_spinBox, nullptr, this, nullptr ); m_spinBox = spinBox; m_spinBox->setMaximum( std::numeric_limits< int >::max() ); connectWidgets(); diff --git a/src/modules/partition/gui/ReplaceWidget.cpp b/src/modules/partition/gui/ReplaceWidget.cpp index 1057127cd..f5a492809 100644 --- a/src/modules/partition/gui/ReplaceWidget.cpp +++ b/src/modules/partition/gui/ReplaceWidget.cpp @@ -347,7 +347,7 @@ ReplaceWidget::updateFromCurrentDevice( QComboBox* devicesComboBox ) QAbstractItemModel* oldModel = m_ui->partitionTreeView->model(); if ( oldModel ) - disconnect( oldModel, 0, this, 0 ); + disconnect( oldModel, nullptr, this, nullptr ); PartitionModel* model = m_core->partitionModelForDevice( device ); m_ui->partitionTreeView->setModel( model ); diff --git a/src/modules/partition/jobs/FormatPartitionJob.cpp b/src/modules/partition/jobs/FormatPartitionJob.cpp index 0ea9192db..162839ce7 100644 --- a/src/modules/partition/jobs/FormatPartitionJob.cpp +++ b/src/modules/partition/jobs/FormatPartitionJob.cpp @@ -78,7 +78,7 @@ FormatPartitionJob::prettyStatusMessage() const Calamares::JobResult FormatPartitionJob::exec() { - Report report( 0 ); + Report report( nullptr ); // Root of the report tree, no parent QString partitionPath = m_partition->partitionPath(); QString message = tr( "The installer failed to format partition %1 on disk '%2'." ).arg( partitionPath, m_device->name() ); From d89b17a244e97f1f584f31b19758e00bea92ea56 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 21 Sep 2017 04:16:35 -0400 Subject: [PATCH 107/129] Clang: partman_devices.c is not, in fact, C++ code --- CMakeLists.txt | 2 +- src/modules/welcome/CMakeLists.txt | 2 -- src/modules/welcome/checker/partman_devices.h | 8 ++++++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index da33793c7..2f9075296 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,7 +29,7 @@ # # cmake . -DSKIP_MODULES="partition luksbootkeycfg" -project( calamares CXX ) +project( calamares C CXX ) cmake_minimum_required( VERSION 3.2 ) diff --git a/src/modules/welcome/CMakeLists.txt b/src/modules/welcome/CMakeLists.txt index f901a768e..f73d8850d 100644 --- a/src/modules/welcome/CMakeLists.txt +++ b/src/modules/welcome/CMakeLists.txt @@ -5,8 +5,6 @@ find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED DBus Network ) include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) -set_source_files_properties( checker/partman_devices.c PROPERTIES LANGUAGE CXX ) - set( CHECKER_SOURCES checker/CheckItemWidget.cpp checker/CheckerWidget.cpp diff --git a/src/modules/welcome/checker/partman_devices.h b/src/modules/welcome/checker/partman_devices.h index 8bc19e58b..8bf620a48 100644 --- a/src/modules/welcome/checker/partman_devices.h +++ b/src/modules/welcome/checker/partman_devices.h @@ -19,6 +19,14 @@ #ifndef PARTMAN_DEVICES_H #define PARTMAN_DEVICES_H +#ifdef __cplusplus +extern "C" { +#endif + int check_big_enough(long long required_space); +#ifdef __cplusplus +} // extern "C" +#endif + #endif // PARTMAN_DEVICES_H From 40c49bd50dc2acefa71bee7d688a94a1f7128cbc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 21 Sep 2017 04:53:09 -0400 Subject: [PATCH 108/129] Clang: be more explicit about marking third-party code. - This is only a partial solution to warnings caused by third-party code, since #including the headers from other sources won't apply the warning-suppressions. - Flags are not applied when building the source as part of a larger target, but are on re-building just one object (it seems -- CMake issue to track down). --- CMakeLists.txt | 11 +++++++++-- src/libcalamares/CMakeLists.txt | 3 +-- src/libcalamaresui/CMakeLists.txt | 12 ++++++++++-- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f9075296..179e2197c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -67,8 +67,7 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) # Third-party code where we don't care so much about compiler warnings # (because it's uncomfortable to patch) get different flags; use - # set_source_files_properties( - # PROPERTIES COMPILE_FLAGS "${SUPPRESS_3RDPARTY_WARNINGS}" ) + # mark_thirdparty_code( [...] ) # to switch off warnings for those sources. set( SUPPRESS_3RDPARTY_WARNINGS "-Wno-everything" ) @@ -87,6 +86,14 @@ else() set( SUPPRESS_3RDPARTY_WARNINGS "" ) endif() +macro(mark_thirdparty_code) + set_source_files_properties( ${ARGV} + PROPERTIES + COMPILE_FLAGS "${SUPPRESS_3RDPARTY_WARNINGS}" + COMPILE_DEFINITIONS "THIRDPARTY" + ) +endmacro() + if( CMAKE_COMPILER_IS_GNUCXX ) if( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.9 ) diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index ba10fcc70..b5bfa4c98 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -32,8 +32,7 @@ set( kdsagSources kdsingleapplicationguard/kdtoolsglobal.cpp kdsingleapplicationguard/kdlockedsharedmemorypointer.cpp ) -set_source_files_properties( ${kdsagSources} - PROPERTIES COMPILE_FLAGS "${SUPPRESS_3RDPARTY_WARNINGS}" ) +mark_thirdparty_code( ${kdsagSources} ) include_directories( ${CMAKE_CURRENT_BINARY_DIR} diff --git a/src/libcalamaresui/CMakeLists.txt b/src/libcalamaresui/CMakeLists.txt index 0021fbbfd..ccc46f2f3 100644 --- a/src/libcalamaresui/CMakeLists.txt +++ b/src/libcalamaresui/CMakeLists.txt @@ -1,6 +1,6 @@ project( libcalamaresui CXX ) -list( APPEND calamaresui_SOURCES +set( calamaresui_SOURCES modulesystem/CppJobModule.cpp modulesystem/Module.cpp modulesystem/ModuleManager.cpp @@ -29,7 +29,15 @@ list( APPEND calamaresui_SOURCES ViewManager.cpp ) -list( APPEND calamaresui_UI +# Don't warn about third-party sources +mark_thirdparty_code( + utils/ImageRegistry.cpp + utils/qjsonitem.cpp + utils/qjsonmodel.cpp + widgets/waitingspinnerwidget.cpp +) + +set( calamaresui_UI utils/DebugWindow.ui ) From aa789bc8e9b3a01dbe04d5eb01038fcbea60a679 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Thu, 21 Sep 2017 06:47:58 -0400 Subject: [PATCH 109/129] CMake: improve reporting on dependencies --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 179e2197c..38ea9a79b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,8 +110,8 @@ find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Core Gui Widgets LinguistTools S find_package( YAMLCPP 0.5.1 REQUIRED ) find_package( PolkitQt5-1 REQUIRED ) -option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON ) option( INSTALL_CONFIG "Install configuration files" ON ) +option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON ) option( WITH_PYTHONQT "Enable next generation Python modules API (experimental, requires PythonQt)." OFF ) option( BUILD_TESTING "Build the testing tree." ON ) @@ -121,7 +121,7 @@ endif () find_package( PythonLibs 3.3 ) set_package_properties( - PYTHONLIBS PROPERTIES + PythonLibs PROPERTIES DESCRIPTION "C interface libraries for the Python 3 interpreter." URL "http://python.org" PURPOSE "Python 3 is used for some Calamares job modules." @@ -129,7 +129,7 @@ set_package_properties( if ( PYTHONLIBS_FOUND ) include( BoostPython3 ) - find_boost_python3( 1.54.0 ${PYTHONLIBS_VERSION_STRING} CALAMARES_BOOST_PYTHON3_FOUND ) + find_boost_python3( 1.54.0 ${PYTHONLIBS_VERSION_STRING} CALAMARES_BOOST_PYTHON3 ) set_package_properties( CALAMARES_BOOST_PYTHON3 PROPERTIES DESCRIPTION "A C++ library which enables seamless interoperability between C++ and Python 3." @@ -138,7 +138,7 @@ if ( PYTHONLIBS_FOUND ) ) find_package( PythonQt ) - set_package_properties( PYTHONQT PROPERTIES + set_package_properties( PythonQt PROPERTIES DESCRIPTION "A Python embedding solution for Qt applications." URL "http://pythonqt.sourceforge.net" PURPOSE "PythonQt is used for the Python modules API." From d20285d4f20a3f7ff76ea145b50bdec0b7d0ef2f Mon Sep 17 00:00:00 2001 From: Philip Date: Thu, 21 Sep 2017 13:08:13 -0400 Subject: [PATCH 110/129] [modules] displaymanager: try to fix regression introduced with c8fd11b --- src/modules/displaymanager/main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/displaymanager/main.py b/src/modules/displaymanager/main.py index 814a0cf3c..3282982d7 100644 --- a/src/modules/displaymanager/main.py +++ b/src/modules/displaymanager/main.py @@ -483,8 +483,8 @@ def run(): if (os.path.exists(greeter_path)): # configure first found lightdm-greeter for entry in os.listdir(greeter_path): - if entry.name.endswith('.desktop'): - greeter = entry.name.split('.')[0] + if entry.endswith('.desktop'): + greeter = entry.split('.')[0] libcalamares.utils.debug( "found greeter {!s}".format(greeter) ) From 6f1f08f728a30394939aa704773a5468ded02c1e Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 23 Sep 2017 02:57:26 -0400 Subject: [PATCH 111/129] Restore Boost.Python detection. FIXES #817 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 38ea9a79b..93fc493e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -129,7 +129,7 @@ set_package_properties( if ( PYTHONLIBS_FOUND ) include( BoostPython3 ) - find_boost_python3( 1.54.0 ${PYTHONLIBS_VERSION_STRING} CALAMARES_BOOST_PYTHON3 ) + find_boost_python3( 1.54.0 ${PYTHONLIBS_VERSION_STRING} CALAMARES_BOOST_PYTHON3_FOUND ) set_package_properties( CALAMARES_BOOST_PYTHON3 PROPERTIES DESCRIPTION "A C++ library which enables seamless interoperability between C++ and Python 3." From 81db2bad5fec4f3ce4c2fd44d41fa7b50d279e54 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Sat, 23 Sep 2017 03:02:27 -0400 Subject: [PATCH 112/129] CMake: refactor boost.python search - improve description of Python dependencies - refactor search per python-version-style - report on features and found boost modules the standard way --- CMakeLists.txt | 28 +++++++------------- CMakeModules/BoostPython3.cmake | 46 +++++++++++++++++++++------------ 2 files changed, 38 insertions(+), 36 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 93fc493e3..4d8f6f33b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -124,24 +124,22 @@ set_package_properties( PythonLibs PROPERTIES DESCRIPTION "C interface libraries for the Python 3 interpreter." URL "http://python.org" - PURPOSE "Python 3 is used for some Calamares job modules." + PURPOSE "Python 3 is used for Python job modules." ) if ( PYTHONLIBS_FOUND ) include( BoostPython3 ) find_boost_python3( 1.54.0 ${PYTHONLIBS_VERSION_STRING} CALAMARES_BOOST_PYTHON3_FOUND ) set_package_properties( - CALAMARES_BOOST_PYTHON3 PROPERTIES - DESCRIPTION "A C++ library which enables seamless interoperability between C++ and Python 3." - URL "http://www.boost.org" - PURPOSE "Boost.Python is used for interfacing with Calamares job modules written in Python 3." + Boost PROPERTIES + PURPOSE "Boost.Python is used for Python job modules." ) find_package( PythonQt ) set_package_properties( PythonQt PROPERTIES DESCRIPTION "A Python embedding solution for Qt applications." URL "http://pythonqt.sourceforge.net" - PURPOSE "PythonQt is used for the Python modules API." + PURPOSE "PythonQt is used for Python view modules." ) endif() @@ -241,8 +239,8 @@ if( mksquashfs_PROGRAM ) set( src_fs ${CMAKE_SOURCE_DIR}/data/example-root/ ) set( dst_fs ${CMAKE_BINARY_DIR}/example.sqfs ) if( EXISTS ${src_fs} ) - # Collect directories needed for a minimal binary distro, # based on the build host. If /lib64 exists, assume it is needed. + # Collect directories needed for a minimal binary distro, # Note that the last path component is added to the root, so # if you add /usr/sbin here, it will be put into /sbin_1. # Add such paths to /etc/profile under ${src_fs}. @@ -275,20 +273,12 @@ set_package_properties( mksquashfs PROPERTIES # add_subdirectory( thirdparty ) add_subdirectory( src ) +add_feature_info(Python ${WITH_PYTHON} "Python job modules") +add_feature_info(PythonQt ${WITH_PYTHONQT} "Python view modules") +add_feature_info(Config ${INSTALL_CONFIG} "Install Calamares configuration") + feature_summary(WHAT ALL) -if( NOT WITH_PYTHON ) - message( "-- WARNING: Building Calamares without Python support. Legacy Python job modules will not work.\n" ) -endif() -if( NOT WITH_PYTHONQT ) - message( "-- WARNING: Building Calamares without PythonQt support. Python modules will not work.\n" ) -endif() - - -if( NOT INSTALL_CONFIG ) - message( "-- WARNING: Configuration files will not be installed.\n" ) -endif() - # Add all targets to the build-tree export set set( CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/Calamares" CACHE PATH "Installation directory for CMake files" ) set( CMAKE_INSTALL_FULL_CMAKEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_CMAKEDIR}" ) diff --git a/CMakeModules/BoostPython3.cmake b/CMakeModules/BoostPython3.cmake index e708defa4..c128b58f1 100644 --- a/CMakeModules/BoostPython3.cmake +++ b/CMakeModules/BoostPython3.cmake @@ -20,38 +20,50 @@ # "python-$dotsuffix", where suffix is based on the `python_version` argument. # One can supply a custom component name by setting the # `CALAMARES_BOOST_PYTHON3_COMPONENT` variable at CMake time. - set( CALAMARES_BOOST_PYTHON3_COMPONENT python3 CACHE STRING "Name of the Boost.Python component. If Boost.Python is installed as libboost_python-foo.so then this variable should be set to 'python-foo'." ) -macro( find_boost_python3 boost_version python_version found_var ) - set( ${found_var} OFF ) +include(FindPackageHandleStandardArgs) - # turns "3.4.123abc" into "34" - string( REGEX REPLACE "([0-9]+)\\.([0-9]+)\\..*" "\\1\\2" _fbp_python_short_version ${python_version} ) - - foreach( _fbp_name ${CALAMARES_BOOST_PYTHON3_COMPONENT} python-py${_fbp_python_short_version} ) +macro( _find_boost_python3_int boost_version componentname found_var ) + foreach( _fbp_name ${CALAMARES_BOOST_PYTHON3_COMPONENT} ${componentname} ) find_package( Boost ${boost_version} QUIET COMPONENTS ${_fbp_name} ) string( TOUPPER ${_fbp_name} _fbp_uc_name ) if( Boost_${_fbp_uc_name}_FOUND ) - set( ${found_var} ON ) + set( ${found_var} ${_fbp_uc_name} ) break() endif() endforeach() +endmacro() - if (NOT ${found_var}) +macro( find_boost_python3 boost_version python_version found_var ) + set( ${found_var} OFF ) + set( _fbp_found OFF ) + + # turns "3.4.123abc" into "34" + string( REGEX REPLACE "([0-9]+)\\.([0-9]+)\\..*" "\\1\\2" _fbp_python_short_version ${python_version} ) + _find_boost_python3_int( ${boost_version} python-py${_fbp_python_short_version} _fbp_found ) + + if (NOT _fbp_found) # The following loop changes the searched name for Gentoo based distributions # turns "3.4.123abc" into "3.4" string( REGEX REPLACE "([0-9]+)\\.([0-9]+)\\..*" "\\1.\\2" _fbp_python_short_version ${python_version} ) - foreach( _fbp_name ${CALAMARES_BOOST_PYTHON3_COMPONENT} python-${_fbp_python_short_version} ) - find_package( Boost ${boost_version} QUIET COMPONENTS ${_fbp_name} ) - string( TOUPPER ${_fbp_name} _fbp_uc_name ) - if( Boost_${_fbp_uc_name}_FOUND ) - set( ${found_var} ON ) - break() - endif() - endforeach() + _find_boost_python3_int( ${boost_version} python-${_fbp_python_short_version} _fbp_found ) endif() + + set( ${found_var} ${_fbp_found} ) + + # This is superfluous, but allows proper reporting in the features list + if ( _fbp_found ) + find_package( Boost ${boost_version} COMPONENTS ${_fbp_found} ) + else() + find_package( Boost ${boost_version} COMPONENTS Python ) + endif() + set_package_properties( + Boost PROPERTIES + DESCRIPTION "A C++ library which enables seamless interoperability between C++ and Python 3." + URL "http://www.boost.org" + ) endmacro() From af2643cdfc11f170d3086ac4805d330ecb6a6be6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 20 Sep 2017 09:24:33 +0200 Subject: [PATCH 113/129] Clang: warnings-- (unused, init-order) --- src/modules/summary/SummaryPage.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/summary/SummaryPage.cpp b/src/modules/summary/SummaryPage.cpp index c13ec1ccd..bc0864775 100644 --- a/src/modules/summary/SummaryPage.cpp +++ b/src/modules/summary/SummaryPage.cpp @@ -36,9 +36,10 @@ static const int SECTION_SPACING = 12; SummaryPage::SummaryPage( const SummaryViewStep* thisViewStep, QWidget* parent ) : QWidget() , m_thisViewStep( thisViewStep ) - , m_scrollArea( new QScrollArea( this ) ) , m_contentWidget( nullptr ) + , m_scrollArea( new QScrollArea( this ) ) { + Q_UNUSED( parent ); Q_ASSERT( m_thisViewStep ); QVBoxLayout* layout = new QVBoxLayout( this ); layout->setContentsMargins( 0, 0, 0, 0 ); @@ -65,7 +66,6 @@ SummaryPage::onActivate() { createContentWidget(); - QString text; bool first = true; const Calamares::ViewStepList steps = stepsForSummary( Calamares::ViewManager::instance()->viewSteps() ); From a4a05acc61756ffe45778b505fd106e12b021594 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 20 Sep 2017 09:25:05 +0200 Subject: [PATCH 114/129] Remove more crashreporter references --- ci/RELEASE.md | 5 - src/calamares/CMakeLists.txt | 6 - src/calamares/main.cpp | 10 -- src/crashreporter/CMakeLists.txt | 47 ------ src/crashreporter/CrashReporterConfig.h.in | 23 --- src/crashreporter/main.cpp | 166 --------------------- src/crashreporter/resources.qrc | 5 - src/libcalamares/CalamaresConfig.h.in | 1 - 8 files changed, 263 deletions(-) delete mode 100644 src/crashreporter/CMakeLists.txt delete mode 100644 src/crashreporter/CrashReporterConfig.h.in delete mode 100644 src/crashreporter/main.cpp delete mode 100644 src/crashreporter/resources.qrc diff --git a/ci/RELEASE.md b/ci/RELEASE.md index d462ae47b..5589916ed 100644 --- a/ci/RELEASE.md +++ b/ci/RELEASE.md @@ -30,11 +30,6 @@ The Calamares release process * Check `README.md` and everything in `hacking`, make sure it's all still relevant. Run `hacking/calamaresstyle` to check the C++ code style. Python code is checked as part of the Travis CI builds. -* Update submodules. - ``` - git submodule # Note list of submodules - git submodule update thirdparty/libcrashreporter-qt - ``` * Check defaults in `settings.conf` and other configuration files. * Pull latest translations from Transifex. This is done nightly on Jenkins, so a manual pull is rarely necessary. diff --git a/src/calamares/CMakeLists.txt b/src/calamares/CMakeLists.txt index 62be0ed34..6129aa553 100644 --- a/src/calamares/CMakeLists.txt +++ b/src/calamares/CMakeLists.txt @@ -27,8 +27,6 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../libcalamares - ${THIRDPARTY_DIR}/libcrashreporter-qt/src/ - ../libcalamares ../libcalamaresui ) @@ -51,10 +49,6 @@ SET_TARGET_PROPERTIES(calamares_bin RUNTIME_OUTPUT_NAME calamares ) -if( WITH_CRASHREPORTER ) - list( APPEND LINK_LIBRARIES ${LINK_LIBRARIES} pthread crashreporter-handler ) -endif() - target_link_libraries( calamares_bin PRIVATE ${CALAMARES_LIBRARIES} diff --git a/src/calamares/main.cpp b/src/calamares/main.cpp index ec6c233a1..a265d1e31 100644 --- a/src/calamares/main.cpp +++ b/src/calamares/main.cpp @@ -23,9 +23,6 @@ #include "utils/CalamaresUtils.h" #include "utils/Logger.h" #include "CalamaresConfig.h" -#ifdef WITH_CRASHREPORTER - #include "libcrashreporter-handler/Handler.h" -#endif #include #include @@ -36,13 +33,6 @@ main( int argc, char* argv[] ) { CalamaresApplication a( argc, argv ); -#ifdef WITH_CRASHREPORTER - CrashReporter::Handler* handler = - new CrashReporter::Handler( QDir::tempPath(), - true, - "calamares_crash_reporter" ); -#endif - QCommandLineParser parser; parser.setApplicationDescription( "Distribution-independent installer framework" ); parser.addHelpOption(); diff --git a/src/crashreporter/CMakeLists.txt b/src/crashreporter/CMakeLists.txt deleted file mode 100644 index 20f16575b..000000000 --- a/src/crashreporter/CMakeLists.txt +++ /dev/null @@ -1,47 +0,0 @@ -PROJECT( CrashReporter ) -cmake_policy(SET CMP0017 NEW) - -set(CALAMARES_CRASH_REPORTER_TARGET calamares_crash_reporter) - -list(APPEND crashreporter_SOURCES main.cpp) -list(APPEND crashreporter_RC resources.qrc) - -qt5_wrap_ui( crashreporter_UI_HEADERS ${crashreporter_UI} ) -qt5_add_resources( crashreporter_RC_RCC ${crashreporter_RC} ) - - -if(BUILD_RELEASE) - set(CRASHREPORTER_RELEASE_CHANNEL "release") -else() - set(CRASHREPORTER_RELEASE_CHANNEL "nightly") -endif() - -set(CRASHREPORTER_SUBMIT_URL "https://calamares.io/oops/addreport.php") -set(CRASHREPORTER_ICON ":/squid.svg") -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/CrashReporterConfig.h.in - ${CMAKE_CURRENT_BINARY_DIR}/CrashReporterConfig.h) - - -include_directories(${CMAKE_CURRENT_BINARY_DIR} - ../../libcalamares - ../../libcalamaresui - ../../thirdparty/libcrashreporter-qt/src -) - -add_executable( ${CALAMARES_CRASH_REPORTER_TARGET} - ${crashreporter_SOURCES} - ${crashreporter_HEADERS_MOC} - ${crashreporter_UI_HEADERS} - ${crashreporter_RC_RCC} -) - -target_link_libraries( ${CALAMARES_CRASH_REPORTER_TARGET} - ${CALAMARES_LIBRARIES} - crashreporter-gui - ${QT_LIBRARIES} -) - -set_target_properties(${CALAMARES_CRASH_REPORTER_TARGET} PROPERTIES AUTOMOC ON) -install(TARGETS ${CALAMARES_CRASH_REPORTER_TARGET} RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}) - -qt5_use_modules(${CALAMARES_CRASH_REPORTER_TARGET} Widgets Network) diff --git a/src/crashreporter/CrashReporterConfig.h.in b/src/crashreporter/CrashReporterConfig.h.in deleted file mode 100644 index c1df8f8df..000000000 --- a/src/crashreporter/CrashReporterConfig.h.in +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef CRASHREPORTERCONFIG_H -#define CRASHREPORTERCONFIG_H - -// QCoreApplication settings for QSettings -#cmakedefine CALAMARES_ORGANIZATION_NAME "${CALAMARES_ORGANIZATION_NAME}" -#cmakedefine CALAMARES_ORGANIZATION_DOMAIN "${CALAMARES_ORGANIZATION_DOMAIN}" -#cmakedefine CALAMARES_APPLICATION_NAME "${CALAMARES_APPLICATION_NAME}" -#cmakedefine CALAMARES_VERSION "${CALAMARES_VERSION}" - - -#define CRASHREPORTER_BUILD_ID "@CMAKE_DATESTAMP_YEAR@@CMAKE_DATESTAMP_MONTH@@CMAKE_DATESTAMP_DAY@000000" - -#define CRASHREPORTER_RELEASE_CHANNEL "@CRASHREPORTER_RELEASE_CHANNEL@" - -#define CRASHREPORTER_PRODUCT_NAME "@CALAMARES_APPLICATION_NAME@" - -#define CRASHREPORTER_VERSION_STRING "@CALAMARES_VERSION_STRING@" - -#define CRASHREPORTER_SUBMIT_URL "@CRASHREPORTER_SUBMIT_URL@" - -#define CRASHREPORTER_ICON "@CRASHREPORTER_ICON@" - -#endif // CRASHREPORTERCONFIG_H diff --git a/src/crashreporter/main.cpp b/src/crashreporter/main.cpp deleted file mode 100644 index 8d7ef16e0..000000000 --- a/src/crashreporter/main.cpp +++ /dev/null @@ -1,166 +0,0 @@ -/* === This file is part of Calamares - === - * - * Copyright 2010-2011, Christian Muehlhaeuser - * Copyright 2015-2016, Teo Mrnjavac - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ - -#include - -#include - -#include "CrashReporterConfig.h" - -#include -#include -#include -#include -#include - -#include "utils/CalamaresUtils.h" -#include "utils/Logger.h" - -#include - -#ifdef Q_OS_WIN - #include - #include -#endif - - -#ifdef Q_OS_LINUX -static const char k_usage[] = - "Usage:\n" - " CrashReporter \n"; -#else -static const char k_usage[] = - "Usage:\n" - " CrashReporter \n"; -#endif - -int main( int argc, char* argv[] ) -{ -#ifdef Q_OS_WIN // log to console window - if ( fileno( stdout ) != -1 && _get_osfhandle( fileno( stdout ) ) != -1 ) - { - /* stdout is fine, presumably redirected to a file or pipe */ - } - else - { - typedef BOOL (WINAPI * AttachConsole_t) (DWORD); - AttachConsole_t p_AttachConsole = (AttachConsole_t) GetProcAddress( GetModuleHandleW( L"kernel32.dll" ), "AttachConsole" ); - - if ( p_AttachConsole != NULL && p_AttachConsole( ATTACH_PARENT_PROCESS ) ) - { - _wfreopen ( L"CONOUT$", L"w", stdout ); - dup2( fileno( stdout ), 1 ); - _wfreopen ( L"CONOUT$", L"w", stderr ); - dup2( fileno( stderr ), 2 ); - } - } -#endif - - // used by some Qt stuff, eg QSettings - // leave first! As Settings object is created quickly - QCoreApplication::setOrganizationName( QLatin1String( CALAMARES_ORGANIZATION_NAME ) ); - QCoreApplication::setOrganizationDomain( QLatin1String( CALAMARES_ORGANIZATION_DOMAIN ) ); - QCoreApplication::setApplicationName( QLatin1String( CALAMARES_APPLICATION_NAME ) ); - QCoreApplication::setApplicationVersion( QLatin1String( CALAMARES_VERSION ) ); - - QApplication app( argc, argv ); - CalamaresUtils::installTranslator( QLocale::system(), QString(), &app ); - -#ifdef Q_OS_LINUX - if ( app.arguments().size() != 8 ) -#else - if ( app.arguments().size() != 2 ) -#endif - { - std::cout << k_usage; - return 1; - } - cDebug() << "Arguments list:" << app.arguments().join( ", " ); - - CrashReporter reporter( QUrl( CRASHREPORTER_SUBMIT_URL ), app.arguments() ); - - #ifdef CRASHREPORTER_ICON - reporter.setLogo( QPixmap( CRASHREPORTER_ICON ) ); - #endif - reporter.setWindowTitle( CRASHREPORTER_PRODUCT_NAME ); - reporter.setText("

Sorry!" - " " CRASHREPORTER_PRODUCT_NAME " crashed. Please tell us " - "about it! " CRASHREPORTER_PRODUCT_NAME " has created an error " - "report for you that can help improve the stability in the " - "future. You can now send this report directly to the " - CRASHREPORTER_PRODUCT_NAME " developers.

Can you tell us " - "what you were doing when this happened?

"); - reporter.setBottomText(QString()); - - reporter.setReportData( "BuildID", CRASHREPORTER_BUILD_ID ); - reporter.setReportData( "ProductName", CRASHREPORTER_PRODUCT_NAME ); - reporter.setReportData( "Version", CRASHREPORTER_VERSION_STRING ); - reporter.setReportData( "ReleaseChannel", CRASHREPORTER_RELEASE_CHANNEL); - - //reporter.setReportData( "timestamp", QByteArray::number( QDateTime::currentDateTime().toTime_t() ) ); - - - - // add parameters - -// QList pairs; -// pairs //<< Pair( "BuildID", buildId.toUtf8() ) -// << Pair( ) -// //<< Pair( "Version", CalamaresUtils::appFriendlyVersion().toLocal8Bit() ) -// //<< Pair( "Vendor", "Tomahawk" ) -// //<< Pair( ) - - // << Pair("InstallTime", "1357622062") - // << Pair("Theme", "classic/1.0") - // << Pair("Version", "30") - // << Pair("id", "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}") - // << Pair("Vendor", "Mozilla") - // << Pair("EMCheckCompatibility", "true") - // << Pair("Throttleable", "0") - // << Pair("URL", "http://code.google.com/p/crashme/") - // << Pair("version", "20.0a1") - // << Pair("CrashTime", "1357770042") - // << Pair("submitted_timestamp", "2013-01-09T22:21:18.646733+00:00") - // << Pair("buildid", "20130107030932") - // << Pair("timestamp", "1357770078.646789") - // << Pair("Notes", "OpenGL: NVIDIA Corporation -- GeForce 8600M GT/PCIe/SSE2 -- 3.3.0 NVIDIA 313.09 -- texture_from_pixmap\r\n") - // << Pair("StartupTime", "1357769913") - // << Pair("FramePoisonSize", "4096") - // << Pair("FramePoisonBase", "7ffffffff0dea000") - // << Pair("Add-ons", "%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:20.0a1,crashme%40ted.mielczarek.org:0.4") - // << Pair("SecondsSinceLastCrash", "1831736") - // << Pair("ProductName", "WaterWolf") - // << Pair("legacy_processing", "0") - // << Pair("ProductID", "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}") - - ; - - // send log - QFile logFile( CalamaresUtils::appLogDir().filePath( "Calamares.log" ) ); - logFile.open( QFile::ReadOnly ); - reporter.setReportData( "upload_file_calamareslog", - gzip_compress( logFile.readAll() ), - "application/x-gzip", - QFileInfo( logFile ).fileName().toUtf8()); - logFile.close(); - - reporter.show(); - - return app.exec(); -} diff --git a/src/crashreporter/resources.qrc b/src/crashreporter/resources.qrc deleted file mode 100644 index 4618c8f94..000000000 --- a/src/crashreporter/resources.qrc +++ /dev/null @@ -1,5 +0,0 @@ - - - ../../data/images/squid.svg - - diff --git a/src/libcalamares/CalamaresConfig.h.in b/src/libcalamares/CalamaresConfig.h.in index f278853a9..6fbab422c 100644 --- a/src/libcalamares/CalamaresConfig.h.in +++ b/src/libcalamares/CalamaresConfig.h.in @@ -10,7 +10,6 @@ //cmakedefines for CMake variables (e.g. for optdepends) go here #cmakedefine WITH_PYTHON -#cmakedefine WITH_CRASHREPORTER #cmakedefine WITH_PYTHONQT #endif // CALAMARESCONFIG_H From 420f1356282977683783db5ee96183f0dd5f81fe Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Sep 2017 13:26:31 +0200 Subject: [PATCH 115/129] Licensing: Re-import GPLv2.1 slideshow Re-import presentation code (commercial, LGPLv2.1 or GPLv3), with licensing info. Calamares chooses LGPLv2.1 for the QML "library" code. - Digia LGPL Exception obtained from: Repo: https://raw.githubusercontent.com/meta-qt5/meta-qt5/master/licenses/Digia-Qt-LGPL-Exception-1.1 Rev: 48ebff679e5dc084d395b861a1fc4cb21790d51b - Presentation QML obtained from: Repo: https://github.com/qt-labs/qml-presentation-system Rev: 4071343a4dffffc4b05d777faa9c5cf54f2b4f08 --- LICENSES/LGPLv2.1-Presentation | 83 +++++++++ LICENSES/LGPLv2.1-Presentation-Exception | 22 +++ src/qml/calamares/slideshow/Presentation.qml | 171 ++++++++++--------- src/qml/calamares/slideshow/Slide.qml | 13 +- 4 files changed, 200 insertions(+), 89 deletions(-) create mode 100644 LICENSES/LGPLv2.1-Presentation create mode 100644 LICENSES/LGPLv2.1-Presentation-Exception diff --git a/LICENSES/LGPLv2.1-Presentation b/LICENSES/LGPLv2.1-Presentation new file mode 100644 index 000000000..1bb6461eb --- /dev/null +++ b/LICENSES/LGPLv2.1-Presentation @@ -0,0 +1,83 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QML Presentation System. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QML Presentation System. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + diff --git a/LICENSES/LGPLv2.1-Presentation-Exception b/LICENSES/LGPLv2.1-Presentation-Exception new file mode 100644 index 000000000..7e2e30ff9 --- /dev/null +++ b/LICENSES/LGPLv2.1-Presentation-Exception @@ -0,0 +1,22 @@ +Digia Qt LGPL Exception version 1.1 + +As an additional permission to the GNU Lesser General Public License version +2.1, the object code form of a "work that uses the Library" may incorporate +material from a header file that is part of the Library. You may distribute +such object code under terms of your choice, provided that: + (i) the header files of the Library have not been modified; and + (ii) the incorporated material is limited to numerical parameters, data + structure layouts, accessors, macros, inline functions and + templates; and + (iii) you comply with the terms of Section 6 of the GNU Lesser General + Public License version 2.1. + +Moreover, you may apply this exception to a modified version of the Library, +provided that such modification does not involve copying material from the +Library into the modified Library's header files unless such material is +limited to (i) numerical parameters; (ii) data structure layouts; +(iii) accessors; and (iv) small macros, templates and inline functions of +five lines or less in length. + +Furthermore, you are not required to apply this additional permission to a +modified version of the Library. diff --git a/src/qml/calamares/slideshow/Presentation.qml b/src/qml/calamares/slideshow/Presentation.qml index 59878c644..00903bfa3 100644 --- a/src/qml/calamares/slideshow/Presentation.qml +++ b/src/qml/calamares/slideshow/Presentation.qml @@ -1,29 +1,7 @@ -/* === This file is part of Calamares - === - * - * Copyright 2015, Teo Mrnjavac - * - * Based on the QML Presentation System. - * Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). - * Header reproduced verbatim below. - * - * Calamares is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Calamares is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Calamares. If not, see . - */ - /**************************************************************************** ** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QML Presentation System. ** @@ -62,18 +40,20 @@ ****************************************************************************/ -import QtQuick 2.0 +import QtQuick 2.5 import QtQuick.Window 2.0 Item { id: root property variant slides: [] - property int currentSlide; + property int currentSlide: 0 property bool showNotes: false; property bool allowDelay: true; - property bool loop: true; + property alias mouseNavigation: mouseArea.enabled + property bool arrowNavigation: true + property bool keyShortcutsEnabled: true property color titleColor: textColor; property color textColor: "black" @@ -83,6 +63,7 @@ Item { // Private API property bool _faded: false property int _userNum; + property int _lastShownSlide: 0 Component.onCompleted: { var slideCount = 0; @@ -98,10 +79,8 @@ Item { root._userNum = 0; // Make first slide visible... - if (root.slides.length > 0) { - root.currentSlide = 0; + if (root.slides.length > 0) root.slides[root.currentSlide].visible = true; - } } function switchSlides(from, to, forward) { @@ -110,6 +89,11 @@ Item { return true } + onCurrentSlideChanged: { + switchSlides(root.slides[_lastShownSlide], root.slides[currentSlide], currentSlide > _lastShownSlide) + _lastShownSlide = currentSlide + } + function goToNextSlide() { root._userNum = 0 if (_faded) @@ -118,38 +102,16 @@ Item { if (root.slides[currentSlide]._advance()) return; } - if (root.currentSlide + 1 < root.slides.length) { - var from = slides[currentSlide] - var to = slides[currentSlide + 1] - if (switchSlides(from, to, true)) { - currentSlide = currentSlide + 1; - root.focus = true; - } - } - else { - if (root.loop) { - var from = slides[currentSlide] - var to = slides[0] - if (switchSlides(from, to, true)) { - currentSlide = 0; - root.focus = true; - } - } - } + if (currentSlide + 1 < root.slides.length) + ++currentSlide; } function goToPreviousSlide() { root._userNum = 0 if (root._faded) return - if (root.currentSlide - 1 >= 0) { - var from = slides[currentSlide] - var to = slides[currentSlide - 1] - if (switchSlides(from, to, false)) { - currentSlide = currentSlide - 1; - root.focus = true; - } - } + if (currentSlide - 1 >= 0) + --currentSlide; } function goToUserSlide() { @@ -158,38 +120,38 @@ Item { return if (_userNum < 0) goToNextSlide() - else if (root.currentSlide != _userNum) { - var from = slides[currentSlide] - var to = slides[_userNum] - if (switchSlides(from, to, _userNum > currentSlide)) { - currentSlide = _userNum; - root.focus = true; - } + else { + currentSlide = _userNum; + root.focus = true; } } - focus: true - - Keys.onSpacePressed: goToNextSlide() - Keys.onRightPressed: goToNextSlide() - Keys.onDownPressed: goToNextSlide() - Keys.onLeftPressed: goToPreviousSlide() - Keys.onUpPressed: goToPreviousSlide() - Keys.onEscapePressed: Qt.quit() + // directly type in the slide number: depends on root having focus Keys.onPressed: { if (event.key >= Qt.Key_0 && event.key <= Qt.Key_9) _userNum = 10 * _userNum + (event.key - Qt.Key_0) else { if (event.key == Qt.Key_Return || event.key == Qt.Key_Enter) goToUserSlide(); - else if (event.key == Qt.Key_Backspace) - goToPreviousSlide(); - else if (event.key == Qt.Key_C) - root._faded = !root._faded; _userNum = 0; } } + // navigate with arrow keys + Shortcut { sequence: StandardKey.MoveToNextLine; enabled: root.arrowNavigation; onActivated: goToNextSlide() } + Shortcut { sequence: StandardKey.MoveToPreviousLine; enabled: root.arrowNavigation; onActivated: goToPreviousSlide() } + Shortcut { sequence: StandardKey.MoveToNextChar; enabled: root.arrowNavigation; onActivated: goToNextSlide() } + Shortcut { sequence: StandardKey.MoveToPreviousChar; enabled: root.arrowNavigation; onActivated: goToPreviousSlide() } + + // presentation-specific single-key shortcuts (which interfere with normal typing) + Shortcut { sequence: " "; enabled: root.keyShortcutsEnabled; onActivated: goToNextSlide() } + Shortcut { sequence: "c"; enabled: root.keyShortcutsEnabled; onActivated: root._faded = !root._faded } + + // standard shortcuts + Shortcut { sequence: StandardKey.MoveToNextPage; onActivated: goToNextSlide() } + Shortcut { sequence: StandardKey.MoveToPreviousPage; onActivated: goToPreviousSlide() } + Shortcut { sequence: StandardKey.Quit; onActivated: Qt.quit() } + Rectangle { z: 1000 color: "black" @@ -219,16 +181,61 @@ Item { title: "QML Presentation: Notes" visible: root.showNotes - Text { + Flickable { anchors.fill: parent - anchors.margins: parent.height * 0.1; + contentWidth: parent.width + contentHeight: textContainer.height - font.pixelSize: 16 - wrapMode: Text.WordWrap + Item { + id: textContainer + width: parent.width + height: notesText.height + 2 * notesText.padding - property string notes: root.slides[root.currentSlide].notes; - text: notes == "" ? "Slide has no notes..." : notes; - font.italic: notes == ""; + Text { + id: notesText + + property real padding: 16; + + x: padding + y: padding + width: parent.width - 2 * padding + + + font.pixelSize: 16 + wrapMode: Text.WordWrap + + property string notes: root.slides[root.currentSlide].notes; + + onNotesChanged: { + var result = ""; + + var lines = notes.split("\n"); + var beginNewLine = false + for (var i=0; i 0) + result += " "; + result += line; + } + } + + if (result.length == 0) { + font.italic = true; + text = "no notes.." + } else { + font.italic = false; + text = result; + } + } + } + } } } } diff --git a/src/qml/calamares/slideshow/Slide.qml b/src/qml/calamares/slideshow/Slide.qml index e46b5687d..d5c43c830 100644 --- a/src/qml/calamares/slideshow/Slide.qml +++ b/src/qml/calamares/slideshow/Slide.qml @@ -167,20 +167,19 @@ Item { Rectangle { id: dot - y: baseFontSize * row.indentFactor / 2 - width: baseFontSize / 4 - height: baseFontSize / 4 + anchors.baseline: text.baseline + anchors.baselineOffset: -text.font.pixelSize / 2 + width: text.font.pixelSize / 3 + height: text.font.pixelSize / 3 color: slide.textColor radius: width / 2 - smooth: true opacity: text.text.length == 0 ? 0 : 1 } - Rectangle { + Item { id: space - width: dot.width * 2 + width: dot.width * 1.5 height: 1 - color: "#00ffffff" } Text { From 6f00dd761bdd44a017c41f80e3e04172e9ca92f5 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Sep 2017 13:31:38 +0200 Subject: [PATCH 116/129] Licensing: add header to slideshow copyright --- src/qml/calamares/slideshow/Presentation.qml | 6 ++++++ src/qml/calamares/slideshow/Slide.qml | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/qml/calamares/slideshow/Presentation.qml b/src/qml/calamares/slideshow/Presentation.qml index 00903bfa3..2e4778888 100644 --- a/src/qml/calamares/slideshow/Presentation.qml +++ b/src/qml/calamares/slideshow/Presentation.qml @@ -1,3 +1,9 @@ +/* === This file is part of Calamares - === + * + * SPDX-License-Identifier: LGPL-2.1 + * License-Filename: LICENSES/LGPLv2.1-Presentation + */ + /**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. diff --git a/src/qml/calamares/slideshow/Slide.qml b/src/qml/calamares/slideshow/Slide.qml index d5c43c830..e033e3c17 100644 --- a/src/qml/calamares/slideshow/Slide.qml +++ b/src/qml/calamares/slideshow/Slide.qml @@ -1,3 +1,9 @@ +/* === This file is part of Calamares - === + * + * SPDX-License-Identifier: LGPL-2.1 + * License-Filename: LICENSES/LGPLv2.1-Presentation + */ + /**************************************************************************** ** ** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). From 2a4d8faa3ba4ff79cd58ee24f4da679534dc51ff Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Sep 2017 13:52:55 +0200 Subject: [PATCH 117/129] Presentation: re-implement looping, keyboard-nav --- src/qml/calamares/slideshow/Presentation.qml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/qml/calamares/slideshow/Presentation.qml b/src/qml/calamares/slideshow/Presentation.qml index 2e4778888..b53b9fc55 100644 --- a/src/qml/calamares/slideshow/Presentation.qml +++ b/src/qml/calamares/slideshow/Presentation.qml @@ -1,4 +1,7 @@ /* === This file is part of Calamares - === + * + * Copyright 2017, Adriaan de Groot + * - added looping, keys-instead-of-shortcut * * SPDX-License-Identifier: LGPL-2.1 * License-Filename: LICENSES/LGPLv2.1-Presentation @@ -98,6 +101,8 @@ Item { onCurrentSlideChanged: { switchSlides(root.slides[_lastShownSlide], root.slides[currentSlide], currentSlide > _lastShownSlide) _lastShownSlide = currentSlide + // Always keep focus on the slideshow + root.focus = true } function goToNextSlide() { @@ -110,6 +115,8 @@ Item { } if (currentSlide + 1 < root.slides.length) ++currentSlide; + else + currentSlide = 0; // Loop at the end } function goToPreviousSlide() { @@ -143,6 +150,13 @@ Item { } } + focus: true // Keep focus + + // Navigation through key events, too + Keys.onSpacePressed: goToNextSlide() + Keys.onRightPressed: goToNextSlide() + Keys.onLeftPressed: goToPreviousSlide() + // navigate with arrow keys Shortcut { sequence: StandardKey.MoveToNextLine; enabled: root.arrowNavigation; onActivated: goToNextSlide() } Shortcut { sequence: StandardKey.MoveToPreviousLine; enabled: root.arrowNavigation; onActivated: goToPreviousSlide() } From ff40d174bd17c83535b04b150da6a16ed5f6970a Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 25 Sep 2017 16:02:43 +0200 Subject: [PATCH 118/129] [core] Automatic merge of Transifex translations --- lang/calamares_cs_CZ.ts | 4 ++-- lang/calamares_da.ts | 10 +++++----- lang/calamares_ja.ts | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lang/calamares_cs_CZ.ts b/lang/calamares_cs_CZ.ts index 3bc430080..1bf3c9ae0 100644 --- a/lang/calamares_cs_CZ.ts +++ b/lang/calamares_cs_CZ.ts @@ -1162,12 +1162,12 @@ Instalační program bude ukončen a všechny změny ztraceny. &Cancel - + &Zrušit &OK - + &OK
diff --git a/lang/calamares_da.ts b/lang/calamares_da.ts index 6017dbb8c..5ce8ee77e 100644 --- a/lang/calamares_da.ts +++ b/lang/calamares_da.ts @@ -173,7 +173,7 @@ Output: External command finished with errors - Ekstern kommando blev færdiggjort uden fejl + Ekstern kommando blev færdiggjort med fejl @@ -702,7 +702,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. Creating new %1 partition table on %2. - Opretter ny %1 partitionstabel på %2. + Opretter ny %1-partitionstabel på %2. @@ -984,7 +984,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. Install %1 on <strong>new</strong> %2 system partition. - Installér %1 på den <strong>nye</strong> %2 systempartition. + Installér %1 på <strong>nye</strong> %2-systempartition. @@ -994,7 +994,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. Install %2 on %3 system partition <strong>%1</strong>. - Installér %2 på %3 systempartition <strong>%1</strong>. + Installér %2 på %3-systempartition <strong>%1</strong>. @@ -1772,7 +1772,7 @@ Installationsprogrammet vil stoppe og alle ændringer vil gå tabt. %1 system partition (%2) - %1 systempartition (%2) + %1-systempartition (%2) diff --git a/lang/calamares_ja.ts b/lang/calamares_ja.ts index 11668390a..320cfa3b0 100644 --- a/lang/calamares_ja.ts +++ b/lang/calamares_ja.ts @@ -1163,12 +1163,12 @@ The installer will quit and all changes will be lost. &Cancel - + 中止(&C) &OK - + 了解(&O) From dfeb33006b342762b8634b68830383229d210383 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 25 Sep 2017 16:02:43 +0200 Subject: [PATCH 119/129] [desktop] Automatic merge of Transifex translations --- calamares.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/calamares.desktop b/calamares.desktop index 8cae765df..2dcc78fd2 100644 --- a/calamares.desktop +++ b/calamares.desktop @@ -12,7 +12,7 @@ Terminal=false StartupNotify=true Categories=Qt;System; -# Translations + Name[ca]=Calamares Icon[ca]=calamares GenericName[ca]=Instal·lador de sistema From 94e7735ee4bb35e8b5f1d8ac5df197e139af4176 Mon Sep 17 00:00:00 2001 From: Calamares CI Date: Mon, 25 Sep 2017 16:02:44 +0200 Subject: [PATCH 120/129] [python] Automatic merge of Transifex translations --- lang/python/cs_CZ/LC_MESSAGES/python.mo | Bin 709 -> 773 bytes lang/python/cs_CZ/LC_MESSAGES/python.po | 2 +- lang/python/ja/LC_MESSAGES/python.mo | Bin 662 -> 1095 bytes lang/python/ja/LC_MESSAGES/python.po | 8 ++++---- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.mo b/lang/python/cs_CZ/LC_MESSAGES/python.mo index 26336e6c68f0b6cdc268bbe24822c2fab04195f1..f98f7f8ee0c3f9e7a22c3b3e71a3e62f990d37a1 100644 GIT binary patch delta 179 zcmX@g+R9dcPl#nI0}!wRu?!Hq05Lld=KwJXbO5m+5O)Hx2oTSP(i?y@Nc<=epJ8NR zxDKQxfp`fM1A`Qh-Up;bf%Hu%{T@gIm4WSH2GT4*3S|BY6 i#8pfT3{pUP3Xm2B((8dVP?~`mh*>7qdThKd!2|%i{tUYS diff --git a/lang/python/cs_CZ/LC_MESSAGES/python.po b/lang/python/cs_CZ/LC_MESSAGES/python.po index 7e93851dc..59616a830 100644 --- a/lang/python/cs_CZ/LC_MESSAGES/python.po +++ b/lang/python/cs_CZ/LC_MESSAGES/python.po @@ -53,4 +53,4 @@ msgstr[2] "" #: src/modules/packages/main.py:68 msgid "Install packages." -msgstr "" +msgstr "Instalovat balíčky." diff --git a/lang/python/ja/LC_MESSAGES/python.mo b/lang/python/ja/LC_MESSAGES/python.mo index 492de1bd4e0659f189c6f6ed4d6b8322623b5925..828391d79bdf3a09ff91995facea9d03f931dd3e 100644 GIT binary patch delta 553 zcmbQndYq&Fo)F7a1|Z-7Vi_Qg0b*_-o&&@nZ~}-0f%qg4ivaO$DE$FQgTz@G85m4} zv^bE~2GTx2+5kvb0O>VAyb_2(>cW^I`ZJ((Es$1WU~poX1Y{Tk6>NvnuYt5WkT1`| zzyQ?Czz)Q$KnxUSU;|>HFxas`ih&74Ow4qt_slCUNzBPnC`e4sPE1cN)?ElN2;mHInm7^GbjU^%Yb#O7ejgX{Km0 z1f}NYmqCqJhAG!W2&0?6arJA)`p3-^A2&BYZrb>`dC%jf9giE=J#Jd^xOwyArk#(Q zJ3xZXs~Lc{KpaMl>L)waK5l4Yz*PFQecAH~Z9r)xADE$f0gpvbJG)-aTmm&50L?44 AF#rGn delta 118 zcmX@kF^x6zo)F7a1|VPoVi_Q|0b*7ljsap2C;(zXAT9)A5g=}c(ldbc8b$_&wLlsq fAH@Wb&w Date: Mon, 25 Sep 2017 16:22:03 +0200 Subject: [PATCH 121/129] Finished: make notification optional FIXES #811 --- src/modules/finished/FinishedViewStep.cpp | 7 ++++++- src/modules/finished/FinishedViewStep.h | 1 + src/modules/finished/finished.conf | 13 +++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/modules/finished/FinishedViewStep.cpp b/src/modules/finished/FinishedViewStep.cpp index a4cc5c734..883314ace 100644 --- a/src/modules/finished/FinishedViewStep.cpp +++ b/src/modules/finished/FinishedViewStep.cpp @@ -34,6 +34,7 @@ FinishedViewStep::FinishedViewStep( QObject* parent ) : Calamares::ViewStep( parent ) , m_widget( new FinishedPage() ) , installFailed( false ) + , m_notifyOnFinished( false ) { auto jq = Calamares::JobQueue::instance(); connect( jq, &Calamares::JobQueue::failed, @@ -139,7 +140,8 @@ FinishedViewStep::onActivate() { m_widget->setUpRestart(); - sendNotification(); + if ( m_notifyOnFinished ) + sendNotification(); } @@ -179,6 +181,9 @@ FinishedViewStep::setConfigurationMap( const QVariantMap& configurationMap ) m_widget->setRestartNowCommand( "systemctl -i reboot" ); } } + if ( configurationMap.contains( "notifyOnFinished" ) && + configurationMap.value( "notifyOnFinished" ).type() == QVariant::Bool ) + m_notifyOnFinished = configurationMap.value( "notifyOnFinished" ).toBool(); } CALAMARES_PLUGIN_FACTORY_DEFINITION( FinishedViewStepFactory, registerPlugin(); ) diff --git a/src/modules/finished/FinishedViewStep.h b/src/modules/finished/FinishedViewStep.h index 6a11dc8a3..f13da9fb8 100644 --- a/src/modules/finished/FinishedViewStep.h +++ b/src/modules/finished/FinishedViewStep.h @@ -68,6 +68,7 @@ private: void sendNotification(); bool installFailed; + bool m_notifyOnFinished; }; CALAMARES_PLUGIN_FACTORY_DECLARATION( FinishedViewStepFactory ) diff --git a/src/modules/finished/finished.conf b/src/modules/finished/finished.conf index f93acb587..6bd8bb2d6 100644 --- a/src/modules/finished/finished.conf +++ b/src/modules/finished/finished.conf @@ -1,4 +1,17 @@ +Configuration for the "finished" page, which is usually shown only at +the end of the installation (successful or not). --- +# The finished page can hold a "restart system now" checkbox. +# If this is false, no checkbox is show and the system is not restarted +# when Calamares exits. restartNowEnabled: true +# Initial state of the checkbox "restart now". restartNowChecked: false +# If the checkbox is shown, and the checkbox is checked, then when +# Calamares exits from the finished-page it will run this command. restartNowCommand: "systemctl -i reboot" + +# When the last page is (successfully) reached, send a DBus notification +# to the desktop that the installation is done. This works only if the +# user as whom Calamares is run, can reach the regular desktop session bus. +notifyOnFinished: false From 7f00073e7fb345804614cf10a285d564c36972ab Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Sep 2017 16:23:47 +0200 Subject: [PATCH 122/129] Clang: warnings-- --- src/libcalamares/PythonJob.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/PythonJob.h b/src/libcalamares/PythonJob.h index d13705ed8..2f0dbee07 100644 --- a/src/libcalamares/PythonJob.h +++ b/src/libcalamares/PythonJob.h @@ -39,7 +39,7 @@ public: const QString& workingPath, const QVariantMap& moduleConfiguration = QVariantMap(), QObject* parent = nullptr ); - virtual ~PythonJob(); + virtual ~PythonJob() override; QString prettyName() const override; QString prettyStatusMessage() const override; From 866d33889455c117793c05a31dafae8938b835ea Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Sep 2017 16:28:08 +0200 Subject: [PATCH 123/129] Clang: warnings-- --- src/libcalamaresui/modulesystem/PythonJobModule.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamaresui/modulesystem/PythonJobModule.h b/src/libcalamaresui/modulesystem/PythonJobModule.h index e47d777c9..c82137cb8 100644 --- a/src/libcalamaresui/modulesystem/PythonJobModule.h +++ b/src/libcalamaresui/modulesystem/PythonJobModule.h @@ -40,7 +40,7 @@ protected: private: friend class Module; explicit PythonJobModule(); - virtual ~PythonJobModule(); + virtual ~PythonJobModule() override; QString m_scriptFileName; QString m_workingPath; From 6924bd7d2356ff156aca859acfd5931188a85ec6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Sep 2017 16:33:48 +0200 Subject: [PATCH 124/129] Clang: produce fewer warnings (all caused by boost headers) --- CMakeLists.txt | 2 ++ src/libcalamares/CMakeLists.txt | 3 +++ 2 files changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4d8f6f33b..8fed0a622 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,6 +70,7 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) # mark_thirdparty_code( [...] ) # to switch off warnings for those sources. set( SUPPRESS_3RDPARTY_WARNINGS "-Wno-everything" ) + set( SUPPRESS_BOOST_WARNINGS " -Wno-zero-as-null-pointer-constant -Wno-disabled-macro-expansion" ) set( CMAKE_CXX_FLAGS_DEBUG "-g" ) set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" ) @@ -84,6 +85,7 @@ else() set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--fatal-warnings -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type" ) set( SUPPRESS_3RDPARTY_WARNINGS "" ) + set( SUPPRESS_BOOST_WARNINGS "" ) endif() macro(mark_thirdparty_code) diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index b5bfa4c98..d62fa65e0 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -46,6 +46,9 @@ if( WITH_PYTHON ) PythonJob.cpp PythonJobApi.cpp ) + set_source_files_properties( PythonJob.cpp + PROPERTIES COMPILE_FLAGS ${SUPPRESS_BOOST_WARNINGS} + ) include_directories(${PYTHON_INCLUDE_DIRS}) link_directories(${PYTHON_LIBRARIES}) From cd3578ca71fc610936e97aad31ad5605281794bc Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Sep 2017 16:34:30 +0200 Subject: [PATCH 125/129] Bump version number --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8fed0a622..80d925b15 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,7 +164,7 @@ set( CALAMARES_TRANSLATION_LANGUAGES ar ast bg ca cs_CZ da de el en en_GB es_MX ### Bump version here set( CALAMARES_VERSION_MAJOR 3 ) set( CALAMARES_VERSION_MINOR 1 ) -set( CALAMARES_VERSION_PATCH 4 ) +set( CALAMARES_VERSION_PATCH 5 ) set( CALAMARES_VERSION_RC 0 ) set( CALAMARES_VERSION ${CALAMARES_VERSION_MAJOR}.${CALAMARES_VERSION_MINOR}.${CALAMARES_VERSION_PATCH} ) From 574bb61592d71469c7e64754ac2b075bcf4d4e54 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Sep 2017 16:35:58 +0200 Subject: [PATCH 126/129] Code-style: format the finished module --- src/modules/finished/FinishedPage.cpp | 20 ++++++++++---------- src/modules/finished/FinishedViewStep.cpp | 8 ++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/modules/finished/FinishedPage.cpp b/src/modules/finished/FinishedPage.cpp index bfaad165d..43e9f5329 100644 --- a/src/modules/finished/FinishedPage.cpp +++ b/src/modules/finished/FinishedPage.cpp @@ -50,11 +50,11 @@ FinishedPage::FinishedPage( QWidget* parent ) CALAMARES_RETRANSLATE( ui->retranslateUi( this ); ui->mainText->setText( tr( "

All done.


" - "%1 has been installed on your computer.
" - "You may now restart into your new system, or continue " - "using the %2 Live environment." ) - .arg( *Calamares::Branding::VersionedName ) - .arg( *Calamares::Branding::ProductName ) ); + "%1 has been installed on your computer.
" + "You may now restart into your new system, or continue " + "using the %2 Live environment." ) + .arg( *Calamares::Branding::VersionedName ) + .arg( *Calamares::Branding::ProductName ) ); ) } @@ -90,7 +90,7 @@ FinishedPage::setUpRestart() this, [this] { if ( ui->restartCheckBox->isVisible() && - ui->restartCheckBox->isChecked() ) + ui->restartCheckBox->isChecked() ) QProcess::execute( "/bin/sh", { "-c", m_restartNowCommand } ); } ); } @@ -108,9 +108,9 @@ FinishedPage::onInstallationFailed( const QString& message, const QString& detai { Q_UNUSED( details ); ui->mainText->setText( tr( "

Installation Failed


" - "%1 has not been installed on your computer.
" - "The error message was: %2." ) - .arg( *Calamares::Branding::VersionedName ) - .arg( message ) ); + "%1 has not been installed on your computer.
" + "The error message was: %2." ) + .arg( *Calamares::Branding::VersionedName ) + .arg( message ) ); setRestartNowEnabled( false ); } diff --git a/src/modules/finished/FinishedViewStep.cpp b/src/modules/finished/FinishedViewStep.cpp index 883314ace..d3beacb82 100644 --- a/src/modules/finished/FinishedViewStep.cpp +++ b/src/modules/finished/FinishedViewStep.cpp @@ -111,7 +111,7 @@ FinishedViewStep::sendNotification() { // If the installation failed, don't send notification popup; // there's a (modal) dialog popped up with the failure notice. - if (installFailed) + if ( installFailed ) return; QDBusInterface notify( "org.freedesktop.Notifications", "/org/freedesktop/Notifications", "org.freedesktop.Notifications" ); @@ -154,8 +154,8 @@ FinishedViewStep::jobs() const void FinishedViewStep::onInstallationFailed( const QString& message, const QString& details ) { - Q_UNUSED(message); - Q_UNUSED(details); + Q_UNUSED( message ); + Q_UNUSED( details ); installFailed = true; } @@ -182,7 +182,7 @@ FinishedViewStep::setConfigurationMap( const QVariantMap& configurationMap ) } } if ( configurationMap.contains( "notifyOnFinished" ) && - configurationMap.value( "notifyOnFinished" ).type() == QVariant::Bool ) + configurationMap.value( "notifyOnFinished" ).type() == QVariant::Bool ) m_notifyOnFinished = configurationMap.value( "notifyOnFinished" ).toBool(); } From 83d0524935c385ed3bf9e72f1c144ccc2b865376 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Sep 2017 16:50:48 +0200 Subject: [PATCH 127/129] Fix docs links --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e30b67155..dcb5e3b67 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![Coverity Scan Build Status](https://scan.coverity.com/projects/5389/badge.svg)](https://scan.coverity.com/projects/5389) [![GitHub license](https://img.shields.io/github/license/calamares/calamares.svg)](https://github.com/calamares/calamares/blob/master/LICENSE) -| [Report a Bug](https://calamares.io/bugs/) | [Contribute](https://github.com/calamares/calamares/blob/master/HACKING.md) | [Translate](https://www.transifex.com/projects/p/calamares/) | Freenode (IRC): #calamares | [Wiki](https://github.com/calamares/calamares/wiki) | +| [Report a Bug](https://github.com/calamares/calamares/issues/new) | [Contribute](https://github.com/calamares/calamares/blob/master/ci/HACKING.md) | [Translate](https://www.transifex.com/projects/p/calamares/) | Freenode (IRC): #calamares | [Wiki](https://github.com/calamares/calamares/wiki) | |:-----------------------------------------:|:----------------------:|:-----------------------:|:--------------------------:|:--------------------------:| ### Dependencies From dcc66c27939802d76717f4e5f1330561283a5474 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Sep 2017 17:08:09 +0200 Subject: [PATCH 128/129] Clang: for gcc, don't produce empty COMPILE_FLAGS --- src/libcalamares/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcalamares/CMakeLists.txt b/src/libcalamares/CMakeLists.txt index d62fa65e0..d52e60bfa 100644 --- a/src/libcalamares/CMakeLists.txt +++ b/src/libcalamares/CMakeLists.txt @@ -47,7 +47,7 @@ if( WITH_PYTHON ) PythonJobApi.cpp ) set_source_files_properties( PythonJob.cpp - PROPERTIES COMPILE_FLAGS ${SUPPRESS_BOOST_WARNINGS} + PROPERTIES COMPILE_FLAGS "${SUPPRESS_BOOST_WARNINGS}" ) include_directories(${PYTHON_INCLUDE_DIRS}) From c0867c76fd1a8defbac1a58ac684c10ceab36121 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 25 Sep 2017 17:13:33 +0200 Subject: [PATCH 129/129] Document another way to create tarballs --- ci/RELEASE.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ci/RELEASE.md b/ci/RELEASE.md index 5589916ed..640a91156 100644 --- a/ci/RELEASE.md +++ b/ci/RELEASE.md @@ -38,8 +38,13 @@ The Calamares release process fairly complete translations. #### (2) Tarball -* Create tarball: `git-archive-all -v calamares-1.1-rc1.tar.gz` . Double check - that the tarball matches the version number. +* Create tarball: `git-archive-all -v calamares-1.1-rc1.tar.gz` or without + the helper script, + ``` + V=calamares-3.1.5 + git archive -o $V.tar.gz --prefix $V/ master + ``` + Double check that the tarball matches the version number. * Test tarball. #### (3) Tag