Compare commits

...

2151 Commits

Author SHA1 Message Date
Adriaan de Groot
1c49648fc5 Changes: pre-release housekeeping 2022-04-22 11:12:34 +02:00
Adriaan de Groot
a86f3ba96d i18n: update English source phrases 2022-04-22 11:05:18 +02:00
Calamares CI
c86ff3a5bb i18n: [python] Automatic merge of Transifex translations 2022-04-22 11:03:16 +02:00
Calamares CI
ab8d59bd41 i18n: [calamares] Automatic merge of Transifex translations 2022-04-22 11:03:15 +02:00
Adriaan de Groot
807dee54fd [locale]: fix display of timezone for Dhaka
FIXES #1929
2022-04-21 17:12:02 +02:00
Adriaan de Groot
33b4fd3a20 [localecfg] It's ok to have a missing /etc/locale.gen for reading 2022-04-19 08:25:34 +02:00
Adriaan de Groot
c8185affb9 CI: use Calamares-checkout rather than GitHub 2022-04-17 13:24:59 +02:00
Adriaan de Groot
91e1087eb9 CI: use v4 of Calamares actions 2022-04-16 21:53:17 +02:00
Adriaan de Groot
24026af32a CI: switch to using Calamares checkout instead of GitHub 2022-04-16 20:42:36 +02:00
Adriaan de Groot
2241445b09 CI: switch to using Calamares checkout instead of GitHub 2022-04-16 16:58:49 +02:00
Adriaan de Groot
fb893542a2 CI: switch to using Calamares checkout instead of GitHub 2022-04-16 16:45:35 +02:00
Adriaan de Groot
9a66b51117 CI: switch to using Calamares checkout instead of GitHub 2022-04-16 15:56:51 +02:00
Adriaan de Groot
caa15c03a6 Git: also do CI builds when pushing to work-3.3 2022-04-16 12:58:28 +02:00
Adriaan de Groot
69e00d181a Changes: post-release housekeeping 2022-04-13 16:24:26 +02:00
Adriaan de Groot
b0837b1a98 Docs: reformat table of GS keys
- add fullname key
- make table a little easier-on-the-eyes in text mode

While here, merge some 3.3 updates; just don't talk about PythonQt
any more.
2022-04-13 14:40:00 +02:00
Adriaan de Groot
a67adf7702 Merge pull request #1923 from vlinkz/calamares
[users] add fullname to global storage
2022-04-13 14:35:02 +02:00
Victor Fuentes
cc3ab110ee [users] add fullname to global storage 2022-04-12 23:38:51 -04:00
Adriaan de Groot
baf8ef2c33 [bootloader] Document Debian GRUB 2022-04-12 12:38:20 +02:00
Adriaan de Groot
913b7c8809 Changes: credits 2022-04-11 16:36:10 +02:00
Calamares CI
7ccc5d08c8 i18n: [calamares] Automatic merge of Transifex translations 2022-04-11 16:22:50 +02:00
Adriaan de Groot
7f232f0994 Changes: pre-release housekeeping 2022-04-11 16:22:50 +02:00
Adriaan de Groot
30139107de Merge pull request #1918 from vtriolet/fix-readtargetfile
[libcalamares] Fix file-reading from target system
2022-04-11 16:22:10 +02:00
Adriaan de Groot
9c58f49c49 Merge branch 'issue-1654' into calamares
FIXES #1654
2022-04-11 15:08:33 +02:00
Adriaan de Groot
3b02115f8e [users] Expand test to demo other template-keys 2022-04-11 15:03:48 +02:00
Adriaan de Groot
dad12a0e02 [users] Simplify test, fewer magic numbers 2022-04-11 14:55:05 +02:00
Adriaan de Groot
c28ba5ffb2 [users] Fix up test to match new strings written to /etc/hosts 2022-04-11 14:51:52 +02:00
Adriaan de Groot
9ca6d3c715 [users] Document new template setting for hostname 2022-04-11 14:26:29 +02:00
Adriaan de Groot
b95eb55994 [users] Add a template for hostname suggestion 2022-04-11 14:12:05 +02:00
Adriaan de Groot
1a8fc1feec [users] Settle on 'hostname' as a single word for camel-casing 2022-04-11 12:16:03 +02:00
Adriaan de Groot
92b1341730 [users] Document new hostname.location setting
- add to schema
- add to tests
- mention in CHANGES
2022-04-11 12:05:00 +02:00
Adriaan de Groot
3524d4a0d0 [users] Add "transient" for hostname-location 2022-04-11 11:47:47 +02:00
Adriaan de Groot
3b0aa69ad3 [users] Write 127.0.1.1 entry only if there is a hostname 2022-04-11 11:39:14 +02:00
Adriaan de Groot
9299bedd7e [users] Hostname is empty if it will not be set 2022-04-11 11:37:56 +02:00
Adriaan de Groot
a12c6de2ef [users] Don't set GS hostname if hostname.location is None 2022-04-11 11:29:23 +02:00
Adriaan de Groot
2f78a37426 [welcome] Use cDebug() for logging 2022-04-11 11:19:38 +02:00
Adriaan de Groot
c5c546d290 [users] Warnings-- about unreachable code 2022-04-11 11:13:45 +02:00
Adriaan de Groot
854c711ac6 [users] Untangle setting-hostname from writing-/etc/hosts
Exactly one kind of setting-hostname is done, and that's
entirely independent of writing /etc/hosts. Don't make it
a set of flags, use an enum and a bool.
2022-04-11 11:10:40 +02:00
Adriaan de Groot
6a6aa8867b [users] hostname.X takes precedence over legacy settings 2022-04-11 10:49:16 +02:00
Adriaan de Groot
b653b13002 [users] Hide hostname box when set to None
If the hostname will not be written, hide the input box.
While here, improve some naming in the designer file.
2022-04-11 10:42:00 +02:00
Adriaan de Groot
99bf5497ca [users] Document change to config, document TODO:3.3 2022-04-11 10:14:32 +02:00
vt
73462d9214 [libcalamares] Fix file-reading from target system
readTargetFile was not fully reading files because of an incorrect
EOF check. This could cause /etc/openswap.conf files to be
truncated and hibernation to fail on installed systems.
2022-04-10 19:36:38 -04:00
Adriaan de Groot
8a8ac4fe2b [users]: update config schema 2022-04-08 16:35:47 +02:00
Adriaan de Groot
4494a4b35a [users] Expand tests with some legacy-settings 2022-04-08 11:30:57 +02:00
Adriaan de Groot
04f38ea661 [users] Put hostname settings in a *hostname* key
Move settings into a structured setting for *hostname*, with suitable
sub-keys. Legacy settings remain supported, produce a warning.
2022-04-08 11:30:57 +02:00
Calamares CI
55dcd831bc i18n: [python] Automatic merge of Transifex translations 2022-04-07 21:52:51 +02:00
Calamares CI
94d5746268 i18n: [calamares] Automatic merge of Transifex translations 2022-04-07 21:52:50 +02:00
Adriaan de Groot
b52b54849a i18n: update language lists (-es_ES +oc) 2022-04-07 21:51:39 +02:00
Adriaan de Groot
345830794a i18n: remove some workarounds for deprecated language IDs 2022-04-07 21:49:36 +02:00
Adriaan de Groot
c70deed13a Merge branch 'cleanup-i18n' into calamares 2022-03-29 00:31:57 +02:00
Calamares CI
3381e3040c i18n: [python] Automatic merge of Transifex translations 2022-03-29 00:27:36 +02:00
Calamares CI
8deead2781 i18n: [desktop] Automatic merge of Transifex translations 2022-03-29 00:27:36 +02:00
Calamares CI
04a3ac5557 i18n: [calamares] Automatic merge of Transifex translations 2022-03-29 00:27:36 +02:00
Adriaan de Groot
5c2c60612b CMake: update language lists 2022-03-29 00:26:21 +02:00
Adriaan de Groot
14ef6577ae i18n: remove stale translation files 2022-03-29 00:24:39 +02:00
Adriaan de Groot
1f289bc93d i18n: english doesn't have TX sources for its TZ or KB translations 2022-03-29 00:21:51 +02:00
Adriaan de Groot
511631c6ae i18n: fix path to Python translations 2022-03-29 00:19:43 +02:00
Adriaan de Groot
93be40349b i18n: audit the python translations, too 2022-03-29 00:17:31 +02:00
Adriaan de Groot
a45f324ed8 i18n: audit the available translations when running txstats 2022-03-29 00:11:27 +02:00
Adriaan de Groot
9e4b2d14cb [libcalamares] Add a path parameter when creating descriptors
This allows us to print the path of a descriptor file in
error messages, which in turn makes it easier to find
problems with the descriptor files.
2022-03-28 12:29:47 +02:00
Adriaan de Groot
ec3282e15d [libcalamares] Allow checking a Once object for repeat messages 2022-03-28 12:28:07 +02:00
Calamares CI
9b769f0ae4 i18n: [python] Automatic merge of Transifex translations 2022-03-25 12:32:59 +01:00
Calamares CI
e51a47d072 i18n: [calamares] Automatic merge of Transifex translations 2022-03-25 12:32:58 +01:00
Adriaan de Groot
930d8e20ff Changes: post-release housekeeping 2022-03-21 17:20:44 +01:00
Calamares CI
8ec02b3d16 i18n: [python] Automatic merge of Transifex translations 2022-03-21 15:19:44 +01:00
Calamares CI
bb62bebf1a i18n: [calamares] Automatic merge of Transifex translations 2022-03-21 15:19:44 +01:00
Adriaan de Groot
ce8aaf8955 Changes: pre-release housekeeping 2022-03-21 15:15:37 +01:00
Adriaan de Groot
db3160145e Merge remote-tracking branch 'origin/issue-1904' into calamares
This is mostly a confirmation that the subsequent changes
to #1905 were correct; the "name" key set in a partition
configuration is applied to the partition.

FIXES #1904
2022-03-21 15:09:50 +01:00
Adriaan de Groot
7c5a663237 Merge branch 'issue-1908' into calamares
Extend the test to (try to) restore whatever hostname was set
before the test ran; this avoids mangling systems where tests
are run as root in a host / production environment.

FIXES #1908
2022-03-21 15:08:39 +01:00
Adriaan de Groot
6f28120401 [partition] Fix typo in example configuration 2022-03-21 14:16:54 +01:00
Adriaan de Groot
1ee82e390b [users] Adjust test to expect root to succeed 2022-03-21 14:15:15 +01:00
Adriaan de Groot
88d392f612 [users] Explain why the second setting-hostname test succeeds. 2022-03-21 14:12:18 +01:00
Adriaan de Groot
9b651b4f00 [users] Don't mangle the hostname with a test 2022-03-21 14:08:17 +01:00
Adriaan de Groot
f4a10a313c [partition] Address default-labeling issues 2022-03-18 14:35:35 +01:00
Adriaan de Groot
7d89643146 [partition] More const in getters 2022-03-18 14:30:31 +01:00
Adriaan de Groot
276aa191d5 Changes: document new things 2022-03-18 14:01:41 +01:00
Adriaan de Groot
fa28999561 Merge pull request #1905 from santoshmahto7/santo/avoid-root-naming
Avoid setting rootfs partition name to "root" by default.
2022-03-18 13:51:33 +01:00
Adriaan de Groot
121b11525f Merge pull request #1906 from El-Wumbus/patch-1
Added spaces and line-breaks to fix formatting.
2022-03-16 01:02:44 +01:00
Decator
b2aa5d8dea Added spaces and line-breaks to fix formatting.
Fixes a formatting issue by adding some spaces and a line-break. Increases readability
2022-03-15 10:43:10 -04:00
Adriaan de Groot
b44091b4e3 SPDX: tag forgotten files 2022-03-15 14:59:05 +01:00
Adriaan de Groot
05468016a1 Merge branch 'work/adridg/improve-log-window' into calamares 2022-03-15 14:45:34 +01:00
Adriaan de Groot
f0d4788e6d [libcalamaresui] SPDX-tagging for Bob 2022-03-15 14:42:27 +01:00
Adriaan de Groot
28bf8478c4 [libcalamaresui] Simplify log-window
Scrolling explicitly to the bottom isn't needed; leaving it
up to appendPlainText() has the following behavior:

- if the text is scrolled all the way down, follows the text
  and scrolls further down (tailing)
- if it is not scrolled all the way down, keeps current position.
2022-03-15 14:39:59 +01:00
Adriaan de Groot
d998c9e24b [libcalamaresui] Try to improve 'tailing' experience 2022-03-15 14:02:24 +01:00
Adriaan de Groot
26a613fff1 Merge branch 'issue-1894' into calamares
FIXES #1894
2022-03-15 13:30:40 +01:00
Adriaan de Groot
1a3f41ff33 [libcalamaresui] Allow more options for icon 2022-03-15 12:45:19 +01:00
Adriaan de Groot
d5e0fca490 [libcalamaresui] Allow starting and stopping the log-follower. 2022-03-15 12:45:19 +01:00
Adriaan de Groot
87c8c3e6ee [libcalamaresui] Convenience for 'give-me-one-of-these-icons' 2022-03-15 12:44:19 +01:00
Adriaan de Groot
d8e49cd9e7 i18n: brute-force fix translations 2022-03-14 16:47:38 +01:00
Adriaan de Groot
20c44ff99a [partition] Obtain flag name from KPMCore
- makes the displayed flag name consistent between dialog and
  pop-up and debug-messages.
2022-03-14 16:45:56 +01:00
Adriaan de Groot
1a6fb1c3d2 [libcalamaresui] Polish on LogWidget
- apply coding style
- reduce shadowed variables
- use Q_EMIT to mark signals
2022-03-14 16:14:40 +01:00
Adriaan de Groot
d89955f4b3 Merge pull request #1899 from bobvanderlinden/pr-log
allow viewing live log during execution
2022-03-14 14:19:43 +01:00
Adriaan de Groot
743d3ecd01 Changes: document new things 2022-03-14 11:31:02 +01:00
Adriaan de Groot
f60def5ecc [partition] Don't reinitialize partition layout
Existing code reinitialized the layout, losing whatever
layout was set in the config. Refactor so that you can
access the partition-layout API, and change the default
FS through that -- which is the point of the code block
here in `doAutopartition()`, to look up the currently-
selected default FS.

Inspired by Santosh's work in #1903, #1759.
2022-03-14 11:27:00 +01:00
Adriaan de Groot
c35da331a2 [fstab] Merge pull request #1901 from dalto8/fstabuuid
Fix empty UUID detection in fstab
2022-03-14 11:02:15 +01:00
Santosh Mahto
4b905d5b52 Avoid setting rootfs partition name to "root" by default.
By default, calamares renames the label of root partition
to "root" overriding the name specified in partiton.conf

Signed-off-by: Santosh Mahto <santosh.mahto@collabora.com>
2022-03-14 12:01:06 +05:30
dalto
b5faf1be9b [fstab] Fix empty UUID detection 2022-03-12 15:47:54 -06:00
Bob van der Linden
ea061ae239 destruct LogThread correctly 2022-03-10 20:33:22 +01:00
Bob van der Linden
9e522eddf8 replace text widget with log widget 2022-03-10 20:08:13 +01:00
Bob van der Linden
923379def6 use terminal icon for log toggle button 2022-03-10 20:07:16 +01:00
Bob van der Linden
53d3fcb2fd introduce widget that shows logs 2022-03-10 20:06:37 +01:00
Bob van der Linden
a6afb6be7c add log widget to ExecutionViewStep 2022-03-06 12:33:06 +01:00
Adriaan de Groot
0f84efed39 Changes: post-release housekeeping 2022-03-04 16:00:33 +01:00
Calamares CI
6596cd1208 i18n: [python] Automatic merge of Transifex translations 2022-03-04 14:42:13 +01:00
Calamares CI
207576c885 i18n: [calamares] Automatic merge of Transifex translations 2022-03-04 14:42:13 +01:00
Adriaan de Groot
667e88f2df Changes: pre-release housekeeping 2022-03-04 14:39:57 +01:00
Adriaan de Groot
569db7c018 [packages] Disable pacman progress-reporting, it is crashy 2022-03-04 14:28:07 +01:00
Huang Jia Wen
dca5d9b52b [bootloader] Add loongarch64 support for bootloader 2022-03-04 10:57:38 +01:00
Adriaan de Groot
7aafeec2cb [libcalamares] Fix entry-format, it was totally bogus 2022-03-01 16:14:45 +01:00
Adriaan de Groot
2f782f18c4 [libcalamares] Fix file reading
- atEnd() doesn't behave as expected
- drop the textstream, not needed
- rename variables to be more descriptive
2022-03-01 16:13:25 +01:00
Adriaan de Groot
53c4bbe4e0 [umount] Log briefly what is going to be unmounted 2022-03-01 16:03:28 +01:00
Adriaan de Groot
4fe55533d7 [partition] Log in more human-readable form 2022-03-01 14:37:52 +01:00
Adriaan de Groot
9b3bc3d25f CI: convenience for after-crash-cleanup 2022-03-01 14:28:13 +01:00
Adriaan de Groot
60630efa6a [partition] Log DBus calls and switch to blocking calls to ensure they happen 2022-03-01 14:03:04 +01:00
Adriaan de Groot
7e51731167 [partititon] Slightly better debug-logging for automount 2022-03-01 13:52:50 +01:00
Adriaan de Groot
c5fec83f64 [libcalamares] Fix typo 2022-02-28 11:30:36 +01:00
Adriaan de Groot
f2a6736883 [libcalamares] More chatty when DBus fails 2022-02-28 11:29:45 +01:00
Adriaan de Groot
5b40f17b9c [libcalamares] Prep-work for supporting non-Solid automounting 2022-02-28 11:26:57 +01:00
Adriaan de Groot
d4812bbb36 Changes: post-release housecleaning 2022-02-25 14:57:43 +01:00
Adriaan de Groot
e3515347ed Changes: pre-release housekeeping 2022-02-25 14:39:06 +01:00
Calamares CI
03b261dfc5 i18n: [python] Automatic merge of Transifex translations 2022-02-25 14:11:58 +01:00
Calamares CI
05991c9ee9 i18n: [dummypythonqt] Automatic merge of Transifex translations 2022-02-25 14:11:58 +01:00
Calamares CI
9779676fd8 i18n: [calamares] Automatic merge of Transifex translations 2022-02-25 14:11:58 +01:00
Adriaan de Groot
77190a0d42 Merge branch 'issue-1887' into calamares
FIXES #1887
2022-02-21 15:50:47 +01:00
Adriaan de Groot
c3224e60d6 [users] Add a switch to write different styles of sudo file 2022-02-21 15:49:10 +01:00
Adriaan de Groot
aecdb5fe6d Changes: document new things 2022-02-21 15:10:30 +01:00
Adriaan de Groot
c1f1934c27 Merge branch 'issue-1883' into calamares
FIXES #1883
2022-02-21 15:07:58 +01:00
Adriaan de Groot
23f501c071 [fstab] Recognize mmc and nvme disks correctly
- basename() returns the last path component, so never includes
  the leading '/dev/'
- the check for mmc and nvme looked for device names starting
  with '/dev/mmc' .. but '/dev/' has just been stripped away
  by the call to basename, so this never matched
- stripped the trailing digits rather than trailing 'p[0-9]',
  so 'nvme0n1p2' became 'nvme0n1p' which isn't a useful
  device name.

FIXES #1883
2022-02-21 15:03:51 +01:00
Adriaan de Groot
92f4ab30ea [partition] Add a note and an icon about unusually-configured partition module 2022-02-21 13:00:40 +01:00
Adriaan de Groot
682ae24b7d [partition] Introduce skipping-partitioning-jobs
Don't do the actual KPM work, but pretend that they were done.
This can be useful -- independently of the existing unsafe-
options and failing partitioning entirely -- for testing
partition layouts in modules following the *partition* one.
2022-02-21 12:39:56 +01:00
Adriaan de Groot
7129a2239c [partition] Tidy up description in prettyStatus
- the length parameter to diskDescription() is worse than
  useless, because it doesn't say anything about what will
  be done if there's more than one disk.
2022-02-21 12:30:34 +01:00
Adriaan de Groot
9dd2f275f1 CI: allow clang-format naming according to Debian 2022-02-21 12:27:59 +01:00
Adriaan de Groot
f04f0a7e1d [partition] Remove unused text 2022-02-21 12:13:11 +01:00
Adriaan de Groot
99d11f754f [partition] Tighten up determining job labels for description 2022-02-21 12:12:20 +01:00
Adriaan de Groot
62888f7984 [partition] Rename setting to BAIL_OUT
- unsafe partitioning will bail out (and end the installation)
  if BAIL_OUT is set (previously _LAME).
2022-02-21 11:56:41 +01:00
Adriaan de Groot
240c89c585 [luksbootkeyfile] Merge pull request #1888 from dalto8/trailingslash
Ensure that a trailing slash doesn't cause issues with an unencrypted /boot
2022-02-21 11:43:11 +01:00
Adriaan de Groot
b1742876fd [zfs] Correct user-visible spelling of ZFS
In Camel-cased source code, Zfs, but for user-visible strings,
ZFS (or zfs, but needs to be consistent).
2022-02-17 15:51:15 +01:00
dalto
f34008b518 [LuksBootKeyFile] Remove trailing slashes when matching mountpoint 2022-02-16 16:21:52 -06:00
Adriaan de Groot
9f6f82405b [libcalamaresui] Avoid crash if modules-list is empty
If there are no modules at all before an exec: section is
reached (e.g. right now due to a bug in module-loading)
then the last() call would crash. Instead, use a nullptr
for the last-module-loaded.

While here, apply code-formatting.
2022-02-07 19:05:55 +01:00
Adriaan de Groot
932ab17c9a [libcalamares] Avoid parameter name 'stdin' 2022-02-07 12:54:16 +01:00
Adriaan de Groot
ebdcb15703 [libcalamares] Don't use reserved identifiers 2022-02-07 12:51:22 +01:00
Adriaan de Groot
660b198da0 [libcalamares] Avoid more moc warnings with recent Clang 2022-02-07 12:51:06 +01:00
Adriaan de Groot
fa7394723c [users] Don't mess up cursor position when typing hostname
If the hostname changes while the field has focus, that means
that the user is typing in the field, and we shouldn't mess
with the cursor position.

FIXES #1884
2022-02-07 11:51:48 +01:00
Adriaan de Groot
3ea25a901e [libcalamares] Avoid compiler warnings when stdin is defined to something else 2022-02-07 11:32:22 +01:00
Adriaan de Groot
d5c6a70442 [libcalamares] Use signed sizes 2022-02-07 11:22:13 +01:00
Adriaan de Groot
0fff01e36e [partition] Use signed sizes
Unfortunate effect of having ints in some parts of the API
is that signedness trickles down everywhere; either cast
all over, or stick to signed ints.
2022-02-07 11:21:53 +01:00
Calamares CI
95240da872 i18n: [python] Automatic merge of Transifex translations 2022-02-07 10:59:24 +01:00
Calamares CI
93e7b12a5d i18n: [desktop] Automatic merge of Transifex translations 2022-02-07 10:59:23 +01:00
Calamares CI
4b3b44bdfb i18n: [calamares] Automatic merge of Transifex translations 2022-02-07 10:59:23 +01:00
Adriaan de Groot
baad8f7d2c i18n: update english sources 2022-02-01 17:32:00 +01:00
Adriaan de Groot
5d23a8f693 Changes: post-release housekeeping 2022-02-01 17:25:40 +01:00
Adriaan de Groot
9127b76e5f [bootloader] Fix typo's 2022-02-01 16:49:18 +01:00
Adriaan de Groot
aede7056f2 Changes: pre-release housekeeping 2022-02-01 16:38:08 +01:00
Adriaan de Groot
cf913b87ff [partition] Apply coding style
This applies the new(er) style to the whole module,
rather than just the files that recently changed.
2022-02-01 16:35:19 +01:00
Adriaan de Groot
c4eee7bb11 CI: demand clang-format 12 or 13
- use clang-format12 or 13 or unversioned executable, only
- check it's actually 12 or 13
- set language standard explicitly to C++17, "Cpp11" is now
  an alias for "latest" which is weird

This change does lead to some thrashing when applying styles,
so I'm not going to do that across the board right now. Changes include:
- extra spaces in lambda-captures
- nicer alignment of lambda-bodies
2022-02-01 16:23:39 +01:00
Adriaan de Groot
7f90b99388 [partition Simplify mountpoint-input
- if nothing is selected (index -1, which now shows the placeholder), the text is empty
- if something has been entered, return it (e.g. if the user is typing)
- if something is selected, the text gets set to that anyway
2022-02-01 16:01:04 +01:00
Adriaan de Groot
f4720ae02c [partition] <pre> formatting is block-oriented 2022-02-01 14:54:49 +01:00
Adriaan de Groot
45fff23499 [partition] Move message closer to input field
The warning about the mount point -- that it was in-use or
invalid -- had been separated from the drop-down by the
FSLabel field. Move it back, rename the variable for
clarity while we're at it.
2022-02-01 14:50:53 +01:00
Adriaan de Groot
82dcc1b57b [partition] Refactor common validate-the-mount-point logic 2022-02-01 14:42:18 +01:00
Adriaan de Groot
d8be9a9443 [partition] Mount points should start with a / 2022-02-01 14:07:38 +01:00
Adriaan de Groot
fbcd1ffbbe [partition] Make the "no mount point" a placeholder 2022-02-01 14:06:30 +01:00
Adriaan de Groot
d8c875f351 [partition] UI-tweak mount-point and fs-label boxes
- make the boxes expand, rather than stick to a minimum
  size that doesn't align with other boxes in the dialog,
  and which may be too small to contain the text they display.
2022-02-01 13:13:29 +01:00
Adriaan de Groot
6f738813a6 [fstab] GS configuration for a btrfs setup 2022-02-01 12:15:49 +01:00
Adriaan de Groot
4a30aae9bb [calamares] Tighten logging in 'loadmodule' test-executable 2022-02-01 12:15:49 +01:00
Adriaan de Groot
691951974d Changes: document partition-swap fix 2022-02-01 12:15:49 +01:00
Adriaan de Groot
e9899d0345 [packagechooser,netinstall] Apply coding style 2022-01-31 23:42:20 +01:00
Adriaan de Groot
ffeab32403 [libcalamares] Apply coding style 2022-01-31 23:41:37 +01:00
Adriaan de Groot
80300e412c [libcalamares] When logging extra lines to warning or error, suppress label
Avoid logs like

23:29:57 [2]: void Config::setConfigurationMap(const QVariantMap&)
    WARNING: Configuration for *initialSwapChoice* is not one of the *userSwapChoices*
WARNING:    .. Choice "small" added.

where the label is duplicated.
2022-01-31 23:27:35 +01:00
Adriaan de Groot
51f67f6c3e [partition] If initialSwapChoice can't be satisfied, add it
There is a mismatch between how the configuration interprets
*initialSwapChoice* when it is not a valid choice, and how
the UI interprets it. If you e.g. do not have a *userSwapChoices*
setting at all, whatever *initialSwapChoice* is set is interpreted
by the UI as "suspend".

Avoid that by putting the choice in the configuration and
warning the user (which ought to be a warning to the distro).

FIXES #1881
2022-01-31 23:15:04 +01:00
Adriaan de Groot
cf2899b1e6 [netinstall] Avoid negative row indexes 2022-01-31 12:59:03 +01:00
Adriaan de Groot
c0f4b80cbe [netinstall] Tighten up comments and code
- comment wandered away from the function it applies to
- use overloaded name for recursive helpers
- document this new feature
2022-01-31 12:55:54 +01:00
Adriaan de Groot
19afa46978 [netinstall] Match comment to code (casing of the identifier) 2022-01-31 12:51:56 +01:00
Adriaan de Groot
6a2e80a0b7 Merge pull request #1879 from dalto8/pkgchooser-netinstall
Allow the packagechooser module to modify the netinstall module
2022-01-31 12:44:02 +01:00
Adriaan de Groot
5b994f85c9 [grubcfg] Keep kernel_params as 'quiet' by default
- mark some TODO
- tighten up the YAML schema a little bit
- when unset, use 'quiet' rather than empty, to preserve compatibility
  with existing configuration files.

SEE #1882
2022-01-31 12:38:20 +01:00
Adriaan de Groot
f7d4f049a7 Changes: document new PRs 2022-01-31 12:22:48 +01:00
Adriaan de Groot
37e189992e Merge pull request #1882 from dalto8/grub-defaults
[grubcfg] Add configuration for default kernel_params
2022-01-31 12:12:06 +01:00
Adriaan de Groot
c1a01ca7a6 Merge pull request #1880 from dalto8/gsdoc
Document global storage keys
2022-01-31 12:08:20 +01:00
dalto
e597998021 [packagechooser,netinstall] Clean up duplication and pruning logic for netinstall-add 2022-01-27 19:31:34 -06:00
dalto
f65feedcce [grubcfg] Add configuration for default kernel_params 2022-01-27 15:53:34 -06:00
dalto
6be1208488 Document global storage keys 2022-01-25 17:52:45 -06:00
dalto
63ed2e5fb8 [packagechooser,netinstall] Change globalstorage keys to camel case 2022-01-25 17:43:19 -06:00
dalto
22c9d888b4 [packagechooser,netinstall] Proper implementation of source field 2022-01-24 17:01:16 -06:00
dalto
1db217931b [netinstall] Minor changes from code review 2022-01-24 15:39:14 -06:00
dalto
a657d7388c [packagechooser] Remove obsolete functionality from netinstall-add 2022-01-23 14:47:14 -06:00
dalto
f4c2db7f21 [packagechooser,netinstall] Fix issues where going back and forth between pkgchooser and netinstall produced unexpected behavior 2022-01-23 13:58:10 -06:00
Adriaan de Groot
95122fdcf5 [partition] Warn if the system won't support encryption in a useful way
This is the infrastructure bit; if someone can come up with a way
of **meaningfully** detecting support, the detection function can
be given a better implementation.

FIXES #1725
2022-01-22 22:52:50 +01:00
dalto
2aa8c2f0e0 [packagechooser] Ensure multiple instances don't override the GS values 2022-01-19 16:48:56 -06:00
Adriaan de Groot
88afcee37a Merge branch 'issue-1820' into calamares
FIXES #1820
2022-01-18 15:10:23 +01:00
Adriaan de Groot
929496552e [bootloader] Optionally generate unique suffix for bootloader 2022-01-18 15:09:44 +01:00
Adriaan de Groot
c9156d41b1 [bootloader] Extend tests and docs with a few more error cases 2022-01-18 14:31:13 +01:00
Adriaan de Groot
7a462f4522 [bootloader] Fix issues identified by tests
- expectation derp11 was wrong, there were only 10 calls to next()
- using whole name instead of the not-the-suffix-bit was wrong
- phrase generator wrong length
2022-01-18 13:32:24 +01:00
Adriaan de Groot
ed5c4c9c87 [bootloader] Add generators for various suffix-flavors 2022-01-18 13:32:24 +01:00
Adriaan de Groot
b4b7deac2d [bootloader] Document intentions
It may be easiest to modify the efiBootloaderId, since that does not
normally show up in the UI. I cannot quickly come up with a way to
do the same kind of suffixing on the user-visible name.

SEE #1820
2022-01-18 13:32:24 +01:00
Adriaan de Groot
d1866edfe5 Changes: log the changes to umount 2022-01-18 13:28:45 +01:00
Adriaan de Groot
79683dd83d Merge branch 'cpp-umount' into calamares 2022-01-18 13:27:34 +01:00
Adriaan de Groot
c587145bdd [umount] Drop all mention of removed configuration keys 2022-01-18 13:25:58 +01:00
dalto
4d5ae96db6 [umount] Add support for umount to be an emergency module 2022-01-18 13:25:00 +01:00
Adriaan de Groot
6034feb69d [umount] Complete C++ implementation
- as a design decision, the deprecated "save some files" functionality
  has been dropped from this implementation.
2022-01-18 13:22:45 +01:00
Adriaan de Groot
afa5e75d76 [umount] Start C++ port 2022-01-18 13:22:42 +01:00
Adriaan de Groot
5e4866c439 [partition] Simplify ClearTempMounts
- use the shared function for reading mtab entries
2022-01-18 13:22:20 +01:00
Adriaan de Groot
0070dd2c01 [libcalamares] Add a convenience for reading mtab
- used by umount and cleartempmounts (in future)
2022-01-18 13:22:20 +01:00
Adriaan de Groot
4c5ee3b53a Changes: post-release housekeeping
- update the automatically-selected GPG signing-key
2022-01-18 13:20:49 +01:00
Adriaan de Groot
5d6375dab7 Changes: pre-release housekeeping 2022-01-18 12:50:47 +01:00
Adriaan de Groot
546780d7a8 Merge branch 'issue-1864' into calamares
FIXES #1864
2022-01-18 12:39:46 +01:00
Calamares CI
ac083f787d i18n: [python] Automatic merge of Transifex translations 2022-01-18 12:38:45 +01:00
Calamares CI
bca4b73677 i18n: [calamares] Automatic merge of Transifex translations 2022-01-18 12:38:45 +01:00
Adriaan de Groot
da2612d2d9 [locale] Update language even if there is a current location
- the first time we arrive at locale, there isn't a current location
  and the setCurrentLocation(...) method ends up calling setLanguage(),
  usually. The second time, this call is skipped (not called from
  the overloaded setCurrentLocation() which is called from onActivate),
  so the language didn't update.
- now call setLanguage() unless there has been one set explicitly.
2022-01-18 12:28:57 +01:00
Adriaan de Groot
08cd79f0c2 Merge pull request #1876 from dalto8/pacman-changes
[packages] Make pacman output more verbose
2022-01-18 12:24:41 +01:00
dalto
4811c59e33 [packages] Make pacman output more verbose 2022-01-17 16:24:56 -06:00
Adriaan de Groot
11f3f938d8 Merge pull request #1875 from dalto8/pacman-logs
[packages] Ensure all pacman output is available in debug log
2022-01-17 15:20:55 +01:00
Adriaan de Groot
85a3d1dc84 Changes: document locale fix 2022-01-17 15:15:20 +01:00
Adriaan de Groot
6101dd9079 [locale] Code style 2022-01-17 14:51:42 +01:00
tjpark88
79a91b486a [locale] Update language always
onActivate of locale updates the language only when currentLocation changed
or when onActivate of locale is called for the first time.
However, It is irrelevant solution since the language is set by the welcome.
So language should be updated always.
The language is used by keyboard module to guessing a layout of keyboard.
Once you face the locale, you can't change language in the welcome
if you don't change the timezone.
2022-01-17 14:51:42 +01:00
Adriaan de Groot
2aaaabe152 [partition] Set bigtime on XFS filesystems
FIXES #1874
2022-01-17 14:50:43 +01:00
Adriaan de Groot
a93126a6d0 [libcalamares] More meaningful name for JobResult success 2022-01-17 14:19:28 +01:00
dalto
112d0b2e90 [packages] Ensure all pacman output is available in debug log 2022-01-17 07:07:09 -06:00
Calamares CI
98bbc222cb i18n: [python] Automatic merge of Transifex translations 2022-01-17 13:50:42 +01:00
Calamares CI
fad23c9ac6 i18n: [calamares] Automatic merge of Transifex translations 2022-01-17 13:50:41 +01:00
Adriaan de Groot
e6813949af [libcalamares] Hook up Python's error() to error, rather than warning 2022-01-17 13:47:47 +01:00
Adriaan de Groot
4be932ff9d [umount] Now mark deprecated use as an error 2022-01-17 13:42:36 +01:00
Adriaan de Groot
8eb7eb8b1f Changes: remind about *umount* replacement 2022-01-17 12:51:03 +01:00
dalto
b4ac6b73c8 [packagechooser,netinstall] Add documentation for packagechooser/netinstall integration 2022-01-15 11:13:17 -06:00
dalto
2eda55d3af [packagechooser,netinstall] Add support for packagechooser to drive netinstall 2022-01-15 09:41:23 -06:00
Adriaan de Groot
a8f6596d38 Merge branch 'issue-1870' into calamares
- Improve the error messages in general
- Warn specifically if there isn't an *unpack* key

FIXES #1870
2022-01-12 14:39:54 +01:00
Adriaan de Groot
b227419f01 Merge pull request #1871 from dalto8/zfsfix-initcpiocfg
[initcpiocfg] Only add zfs hook if zfs is enabled
2022-01-12 11:31:53 +01:00
Adriaan de Groot
da03e12b7b Merge pull request #1869 from dalto8/initramfs-fix
[initramfs] Fix condition when call to uname fails
2022-01-12 11:31:13 +01:00
Adriaan de Groot
f349a9c864 Changes: document new things 2022-01-12 11:28:34 +01:00
Adriaan de Groot
624bb13736 Merge pull request #1868 from dalto8/fix-initcpio
initcpio module fixes
2022-01-12 11:19:36 +01:00
Adriaan de Groot
94bca61491 Docs: be a little more explicit about emergency mode 2022-01-12 11:16:42 +01:00
Adriaan de Groot
ee2fea74df Merge pull request #1866 from dalto8/umount-emergency
[umount] Add support for umount to be an emergency module
2022-01-12 11:11:20 +01:00
dalto
1f9ae6cae6 [initcpiocfg] Only add zfshook if zfs is enabled 2022-01-07 14:49:26 -06:00
Adriaan de Groot
e14fa5de75 [unpackfs] Improve error messages
- the module is 'unpackfs', not 'unsquash'
- add a warning + specific error if there is no unpack key in the config
- the 'doing nothing' part isn't true: the module errors out instead
  of doing nothing.

SEE #1870
2022-01-06 23:51:18 +01:00
dalto
626ab98949 [initramfs] Fix condition when call to uname fails 2022-01-02 08:41:47 -06:00
dalto
3be6946d93 [initcpio] Minor documentation updates 2022-01-01 12:14:42 -06:00
dalto
475c0d21a1 [initcpio] Spell mkinitcpio properly 2022-01-01 10:48:48 -06:00
dalto
c2ae5fad96 [initcpio] Make implementation match config description and remove broken uname option 2022-01-01 10:05:00 -06:00
dalto
4fe5f1c06f [umount] Add support for umount to be an emergency module 2021-12-31 08:06:13 -06:00
Adriaan de Groot
4e61f24960 [partition] Tidy up iso9660 detection 2021-12-25 18:27:13 +01:00
Adriaan de Groot
1c853941dc Merge pull request #1863 from demmm/calamares
[luksopenswaphookcfg] set plugin name according to module name
2021-12-24 17:16:06 +01:00
demmm
7cfa654a68 [luksopenswaphookcfg] set plugin name according to module name
either this, or have all distros adjust settings.conf from luksopenswaphookcfg to luksopenswaphook
2021-12-22 22:17:13 +01:00
Adriaan de Groot
7864ab5cfa Docs: link to GPLv3+ 2021-12-21 01:02:13 +01:00
Adriaan de Groot
905f1241e3 Merge pull request #1861 from dalto8/readme-emergency
Update modules readme for Python emergency modules support
2021-12-19 23:53:35 +01:00
dalto
f0aba5db96 Update modules readme for Python emergency modules support 2021-12-19 15:29:42 -06:00
Adriaan de Groot
480fe56ae3 README, link to actual GPL 3.0 license
FIXES #1859
2021-12-19 14:03:21 +01:00
demmm
728315d3cc README, link to actual GPL 3.0 license
fixing https://github.com/calamares/calamares/issues/1859
2021-12-19 12:54:39 +01:00
Adriaan de Groot
da72e815dc [luksopenswaphookcfg] Fix build, missing include 2021-12-18 00:43:30 +01:00
Adriaan de Groot
0145f6fe7d CMake: language stats 2021-12-18 00:38:58 +01:00
Calamares CI
cfeba736d5 i18n: [python] Automatic merge of Transifex translations 2021-12-18 00:38:13 +01:00
Calamares CI
be18e51bc9 i18n: [calamares] Automatic merge of Transifex translations 2021-12-18 00:38:06 +01:00
Adriaan de Groot
7fc2859f23 [luksopenswaphookcfg] Port to C++
Merge pull request #1845 from calamares/issue-1659

FIXES #1659
FIXES #1644
2021-12-17 20:31:05 +01:00
Adriaan de Groot
587a18a6fa [partition] Use runCommand() for future-proofing 2021-12-14 12:50:27 +01:00
Adriaan de Groot
043619cd4b Merge branch 'improve-partition-reporting' into calamares
This strips out the === from KPMCore reports so that they are
more readable when presented in the error dialog. Introduces
some code-conveniences, too, but that is all under-the-hood.
2021-12-13 20:03:38 +01:00
Adriaan de Groot
f04394d014 [partition] Improve rendering of KPMCore errors 2021-12-13 20:02:52 +01:00
Adriaan de Groot
07354a26a9 [partition] Simplify debug calls to executables
- Use the Calamares support-functions for running lsblk and mount
  (these might need to have privilege support if Cala is not
  running as root, so this is future-proofing)
2021-12-13 20:02:52 +01:00
Adriaan de Groot
fdf0f208f0 [partition] Use lvalue-overload of execute() convenience
- These jobs may take a long time, and report progress; we need
  the operation around to be able to connect the signals and slots
2021-12-13 20:02:52 +01:00
Adriaan de Groot
6680584724 [partition] Use convenience function execute()
This job needs the lvalue-overload of execute() because it needs to
call a method on the operation after execute() finishes successfully.
2021-12-13 20:02:52 +01:00
Adriaan de Groot
c5573a1997 [partition] Add non-const lvalue overload for execute() 2021-12-13 20:02:52 +01:00
Adriaan de Groot
b8ce21d572 [partition] Use convenience function for running operations 2021-12-13 20:02:52 +01:00
Adriaan de Groot
1356012fb4 [partition] With rvalue, code becomes even more compact 2021-12-13 20:02:52 +01:00
Adriaan de Groot
8bb2c5fc6b [partition] Use convenience-method for running operation 2021-12-13 20:02:52 +01:00
Adriaan de Groot
dc7a1e43b7 [partition] Add helper for running a KPMCore operation
Most *partition* module jobs run an operation and turn that into
a JobResult -- ok if it succeeds, and with the report text otherwise.
Factor it out into a separate method that can be used as shorthand.
2021-12-13 20:02:52 +01:00
Adriaan de Groot
53c90516b2 Merge branch 'issue-1851' into calamares
FIXES #1851
2021-12-13 16:58:59 +01:00
Adriaan de Groot
d3ed5663d0 [preservefiles] Add a schema-file 2021-12-13 16:56:07 +01:00
Adriaan de Groot
778c2855f4 [preservefiles] Introduce the notion of optionally-preserved files 2021-12-13 16:34:38 +01:00
Adriaan de Groot
445ed870cc [preservefiles] Simplify code to help gcc warnings 2021-12-13 15:53:42 +01:00
Adriaan de Groot
3be52f8b37 [preservefiles] Expand tests with reading some existing config-items 2021-12-13 15:53:42 +01:00
Adriaan de Groot
a1b7ba0dc5 [preservefiles] Accessor for item-type (needed for tests) 2021-12-13 15:44:07 +01:00
Adriaan de Groot
8b5e49d980 [preservefiles] Add (stub) tests 2021-12-13 15:07:24 +01:00
Adriaan de Groot
90f6ea1fc8 [preservefiles] polish the documentation 2021-12-13 15:07:24 +01:00
Adriaan de Groot
238672ef78 [preservefiles] Split file-items into separate header
Put the Item class in a separate header; give it functionality
to create itself from Variants (e.g. from the configuration data)
and to run itself (do whatever the item is supposed to do).
This makes the polymorphic approach unnecessary: we just have
items that are sufficiently smart.

This moves do-a-thing to the Item, while the Job now has one
job: be a loop around creating Items and running items.
2021-12-13 15:05:05 +01:00
Adriaan de Groot
b1ecbb4151 [preservefiles] Start cleanup of structure, polymorphism 2021-12-13 15:05:05 +01:00
Adriaan de Groot
795b2c88e8 Merge pull request #1852 from killajoe/patch-1
[preservefiles] Fix typo in preservefiles.conf
2021-12-13 00:19:34 +01:00
Johannes Kamprad
becb1d5710 Update preservefiles.conf 2021-12-12 01:22:22 +01:00
arcolinuxz
5b225cf960 [preservefiles] Put the logs in /var/log 2021-12-11 23:58:23 +01:00
Adriaan de Groot
6261f8a5cb Changes: post-release housekeeping 2021-12-11 15:33:22 +01:00
Adriaan de Groot
132ebd2c2d [networkcfg] NetworkManager files are UTF-8 encoded
The filenames don't matter, but the contents of the file are also
UTF-8, and depending on the default encoding of the Python
interpreter, this can fail on non-ASCII characters in the
file. Set the encoding explicitly while reading and writing
the NetworkManager configuration files.

FIXES #1848
2021-12-11 15:12:51 +01:00
Adriaan de Groot
db86c24638 Changes: pre-hotfix-release housekeeping 2021-12-11 13:23:23 +01:00
Adriaan de Groot
03da766b39 [partition] Keep 64-bit integers for swap sizes
FIXES #1849
2021-12-11 13:19:08 +01:00
Adriaan de Groot
adaed52818 Changes: post-release housekeeping 2021-12-10 17:01:42 +01:00
Adriaan de Groot
7ac42b5f40 [umount] Tests don't like an empty config
- modules with no configuration should be marked 'noconfig',
  but umount is special: it has no **useful** configuration
  (maybe no **non-deprecated** configuration), but isn't
  marked 'noconfig' **yet**.
2021-12-10 16:44:01 +01:00
Calamares CI
3cdb019de7 i18n: [calamares] Automatic merge of Transifex translations 2021-12-10 15:55:58 +01:00
Adriaan de Groot
b4afedc79e Changes: pre-release housekeeping 2021-12-10 15:46:11 +01:00
Adriaan de Groot
3870851074 [luksopenswaphookcfg] Remove Python implementation 2021-12-08 14:35:52 +01:00
Adriaan de Groot
046a228d62 [luksopenswaphookcfg] Expand tests with lines more-closely tailored to the actual file-format 2021-12-08 14:25:03 +01:00
Adriaan de Groot
2c20a00cc3 [luksopenswaphookcfg] Read GS for finding LUKS config 2021-12-08 14:12:25 +01:00
Adriaan de Groot
45d6eb36fb [luksopenswaphookcfg] Extend info with btrfs subvol
This is a C++-ification of e8936392 from dalto8 . Add a line
for options to the empty-file-fallback.
2021-12-08 14:12:25 +01:00
Adriaan de Groot
7ea21663ca [luksopenswaphookcfg] Partial implementation in C++
- Futz a bit with the string replacements -- do not assume #
  will introduce a comment half-way through a line.
2021-12-08 14:12:20 +01:00
Adriaan de Groot
5ca029df25 [luksopenswaphookcfg] Start a C++ port
- this module needs work to handle BTRFS special-cases *anyway*
- limited in scope, few options: port it while doing the
  special-cases

So far, this is just a C++ stub.

SEE #1659 #1644
2021-12-08 14:12:20 +01:00
Adriaan de Groot
bc2713ccbb [libcalamares] Add string functions for lstrip() and rstrip()-like 2021-12-08 14:08:37 +01:00
Adriaan de Groot
bb948c47dc [fstab] Cut the example btrfs flags to 'defaults'
Testing shows that the flags can influence -- maybe cause -- data
corruption when noatime is set.

FIXES #1846
2021-12-08 13:06:53 +01:00
Adriaan de Groot
fa29ae2c5e Merge branch 'reduce-warnings' into calamares 2021-12-08 01:02:32 +01:00
Adriaan de Groot
043bdc36d6 Changes: document contributors 2021-12-08 01:02:27 +01:00
Adriaan de Groot
f0eb7ffbda [partition Untangle, Warnings--
The translations apply to labels and a tooltip, which depends on
the partition-table type. Move the strings together and make
the whole range of the switch explicitly.
2021-12-08 00:59:20 +01:00
Adriaan de Groot
e8ca298712 [partition] Reduce warnings 2021-12-08 00:15:01 +01:00
Adriaan de Groot
13700b18c8 [partition] Warnings--
- remove superfluous `break`
- massage types around partition sizes
2021-12-08 00:06:17 +01:00
Adriaan de Groot
1197d8c750 [interactiveterminal] Warnings-- with KF5 5.86-or-later 2021-12-07 18:19:32 +01:00
Adriaan de Groot
09f47b5762 [partition] Build tests with consistent flags (in particular, KPMCore4-API flags) 2021-12-07 15:51:45 +01:00
Adriaan de Groot
4611545f93 [libcalamares] Warnings-- on switch()
- some switch statements handle a bunch of items explicitly,
  then default the rest. Clang complains about that. Turn off
  the warning for these specific switches, since there's dozens
  of values that simply do not need to be handled.
2021-12-07 15:42:14 +01:00
Adriaan de Groot
6e715205d7 [partition] Warnings-- by calling formatting consistently 2021-12-07 15:36:11 +01:00
Adriaan de Groot
09a03fbbc0 [partition] Warnings--: we don't care about one-byte-in-10^12 2021-12-07 15:31:49 +01:00
Adriaan de Groot
bb3f4442f5 [partition] Warnings-reduction
- use consistent size-formatting
- needs an out-of-line virtual function
2021-12-07 15:30:21 +01:00
Adriaan de Groot
5b05110351 [partition] Add convenience function formatByteSize
We want to use the KPMCore function consistently, but Calamares
uses a qint64 most of the time. Centralize the cast to double
in one place in the code.
2021-12-07 15:29:02 +01:00
Adriaan de Groot
eda85c176a [tracking] Avoid unused-deprecated-methods warnings
- these are internal classes, with no real Qt machinery; remove
  the Q_OBJECT macros.
- replace the tr() calls with calls with an explicit context,
  so that translations do not change.
2021-12-07 15:07:07 +01:00
Adriaan de Groot
32da51b44c [libcalamares] Avoid warnings in Boost::Python macros 2021-12-07 14:48:19 +01:00
Adriaan de Groot
0b6239a996 [libcalamaresui] Warnings-- : we know TCP ports are 16 bit 2021-12-07 14:28:55 +01:00
Adriaan de Groot
79ae3cd00f Merge branch 'shuffle-error-dialog' into calamares 2021-12-07 14:27:13 +01:00
Adriaan de Groot
c2e63f4a6b [libcalamaresui] Don't bother tagging nonexistent 3rdparty sources 2021-12-07 14:20:31 +01:00
Adriaan de Groot
8b804c4ae0 [libcalamaresui] Improve icon+heading layout
- Icon was too wide, heading and message placed off to the side
2021-12-07 14:15:43 +01:00
Adriaan de Groot
3030a710cc [libcalamaresui] Simplify 2021-12-07 12:58:22 +01:00
Adriaan de Groot
b07c9bb4af [libcalamaresui] Use meaningful type for Upload info
- use a struct with named fields instead of a tuple
- offer an operator bool() for the logic of does-it-make-sense-to-upload
2021-12-07 12:53:43 +01:00
Adriaan de Groot
3234de5753 [libcalamaresui] Make web-paste decision more readable 2021-12-07 12:48:17 +01:00
Adriaan de Groot
2f9edb3e08 [libcalamaresui] Code style 2021-12-07 12:44:19 +01:00
Adriaan de Groot
ca7f288488 [libcalamaresui] APIDOX for ErrorDialog 2021-12-07 12:40:05 +01:00
Adriaan de Groot
49890acd04 [libcalamaresui] Fix build after move 2021-12-07 12:39:50 +01:00
Adriaan de Groot
dc11dd2203 [libcalamaresui] Move ErrorDialog to the widgets/ part 2021-12-07 12:24:41 +01:00
Adriaan de Groot
6e59177f54 Merge pull request #1843 from LordTermor/calamares
Rework of error dialog
2021-12-07 12:06:01 +01:00
Calamares CI
d2ac201b98 i18n: [desktop] Automatic merge of Transifex translations 2021-12-07 12:00:03 +01:00
Calamares CI
c8ea3bccf7 i18n: [desktop] Automatic merge of Transifex translations 2021-12-07 12:00:03 +01:00
Calamares CI
8e4c9b8bd6 i18n: [calamares] Automatic merge of Transifex translations 2021-12-07 12:00:03 +01:00
Adriaan de Groot
13196ed2e2 CI: sort .desktop entries for i18n
The ordering of entries jumps around sometimes when reading from
Transifex (this might be Python unordered dictionaries, or based
on translation statistics -- I can't tell). Force an order by
sorting on language code and key-name so they all end up grouped
by language code, sorted Name Icon GenericName Comment.

Although this shuffles some more entries now, longer-term it
will reduce churn in the .desktop file.
2021-12-07 11:59:36 +01:00
Adriaan de Groot
eb2cf60466 CI: support FreeBSD when pulling translations 2021-12-07 10:57:06 +01:00
Adriaan de Groot
149f3ff3fe [partition] Reduce warnings about shadowed variables 2021-12-06 14:52:33 +01:00
Adriaan de Groot
d89553a777 [partition] Avoid problems with MessageAndPath in containers (drop const) 2021-12-06 14:46:26 +01:00
Adriaan de Groot
890c17cd71 [libcalamares] Expand error-logging when creating files 2021-12-06 14:46:26 +01:00
Adriaan de Groot
6ef7acc108 [libcalamares] Add minor tests for new readTargetFile 2021-12-06 14:46:26 +01:00
Adriaan de Groot
baf8297cc4 [libcalamares] Reading a file from target system 2021-12-06 14:46:26 +01:00
Adriaan de Groot
47f2dd3c18 Merge pull request #1844 from dalto8/openswap
Add support for unlocking encrypted swap with root on a btrfs subvol
2021-12-06 10:42:44 +01:00
dalto
6e08da6c8d [bootloader] Fix error with systemd-boot when path exists in the ESP 2021-12-06 10:31:58 +01:00
Adriaan de Groot
b8c02587ae Changes: post-release housekeeping 2021-12-06 10:29:16 +01:00
Artem Grinev
aa332477fd [libcalamaresui] Run clang-format on TranslationFix.cpp 2021-12-06 03:11:16 +04:00
Artem Grinev
d9f7726f7d [libcalamaresui] Add SPDX-header for Error Dialog files 2021-12-06 02:41:17 +04:00
Artem Grinev
2f2a418cc4 [libcalamaresui] Run clang-format 2021-12-06 02:37:11 +04:00
Artem Grinev
2dd77ee828 [libcalamaresui] Initialize Error Dialog field 2021-12-06 02:31:05 +04:00
Artem Grinev
bfa7b9a792 [libcalamaresui] Use translation fix for Error Dialog 2021-12-06 02:27:18 +04:00
Artem Grinev
32c5e18db0 [libcalamaresui] Add QDialogButtonBox translation fix 2021-12-06 02:26:13 +04:00
Adriaan de Groot
003e7949e3 Merge pull request #1841 from dalto8/btrfs-nesting
[mount] Ensure path is available when creating nested btrfs subvolumes
2021-12-05 20:54:23 +01:00
dalto
e8936392e3 [luksopenswaphookcfg] Add support unlocking swap with root on a btrfs subvol 2021-12-05 13:17:23 -06:00
Adriaan de Groot
c834a5066d [umount] Make it much more clear that the logfiles-thing is going away. 2021-12-05 02:26:23 +01:00
Artem Grinev
6bf0da7230 [libcalamaresui] Initial rework of error dialog 2021-12-05 04:50:13 +04:00
Adriaan de Groot
1d96c5af46 [partition] Table type 'none' is a late addition. 2021-12-05 01:32:51 +01:00
dalto
6e8779cbce [mount] Ensure path is available when creating nested btrfs subvolumes 2021-12-04 08:53:15 -06:00
Adriaan de Groot
ceb9ec4115 [fstab] Avoid KeyError when no subvol is set (from dalto8) 2021-12-04 02:15:33 +01:00
Adriaan de Groot
c22bbea528 [packages] Fix tests; YAML interpretation of 'yes' is not a bool 2021-12-04 02:04:24 +01:00
Adriaan de Groot
5277892e4f Changes: pre-release housekeeping 2021-12-03 23:47:16 +01:00
Calamares CI
5b767e147d i18n: [python] Automatic merge of Transifex translations 2021-12-03 23:30:28 +01:00
Calamares CI
0178fe6782 i18n: [desktop] Automatic merge of Transifex translations 2021-12-03 23:30:27 +01:00
Calamares CI
209c48d67f i18n: [calamares] Automatic merge of Transifex translations 2021-12-03 23:30:27 +01:00
Adriaan de Groot
310d67cf27 Merge branch 'btrfs-no-subvolume' into calamares
FIXES #1837
2021-12-02 22:09:25 +01:00
Adriaan de Groot
f26c81700d [fstab] Suppress empty subvol= options in fstab 2021-12-02 22:08:17 +01:00
Adriaan de Groot
96ccf256b2 [mount] Add documentation to the config file 2021-12-02 22:02:14 +01:00
Adriaan de Groot
951ddfb72a [mount] Experimental: accept 'no' for subvolumes
If there is no subvolume set, skip creation of that subvolume.
This allows root to be on a bare FS, without a tag or subvolume
name. To achieve this, use
    subvolume: no
(no quotes there) in the YAML.
2021-12-01 23:06:02 +01:00
Adriaan de Groot
3845e05834 [locale] Correct timezone 5.0 / 5.5
Timezones 5.0 and 5.5 have considerable overlap; clear up most
of it. Since a pixel is about 55x55km on the ground, and the
translation of latitude and longitude is sketchy at best,
accuracy on this timezone map is not very good.

FIXES #1832
2021-11-29 22:04:31 +01:00
Adriaan de Groot
7cea1cb56e Changes: document fstab 2021-11-29 17:06:10 +01:00
Adriaan de Groot
cdc3a9aad2 Merge pull request #1834 from dalto8/btrfs-swap
[fstab] Use different options for the btrfs swap subvolume
2021-11-29 15:16:17 +01:00
Adriaan de Groot
86ec0a6bd2 Merge branch 'fixup-packages' into calamares
- Add a changelog entry for what has been done.
2021-11-29 15:13:31 +01:00
Adriaan de Groot
dfd13b4948 [packages] Remove bad config-lines
- rootMountPoint is a global thing, not a job-configuration item
2021-11-29 15:02:05 +01:00
Adriaan de Groot
28bd737062 [packages] Validate test-configs, too
- The config-files has a typo, so didn't validate, so
  the loaded data was wrong, leading to test-failures.
  See 61e0d538e9 .
2021-11-29 14:59:43 +01:00
Adriaan de Groot
ec1b73be2b CMake: don't cmake in the source-directory (during development) 2021-11-29 14:56:15 +01:00
Adriaan de Groot
864dcdb2c2 FreeBSD: Calamares is in the official ports-tree already 2021-11-29 14:45:30 +01:00
Adriaan de Groot
61e0d538e9 [packages] Be more explicit in test failures, fix test data 2021-11-29 14:44:12 +01:00
Adriaan de Groot
474aaf7603 [packages] Fix loading of the subkeys for pacman 2021-11-29 14:23:15 +01:00
Adriaan de Groot
65488ca174 [libcalamares] More verbose when loading YAML for Python 2021-11-29 14:19:06 +01:00
Adriaan de Groot
1260d3fcb9 [packages] Expand tests for PM-specifics more 2021-11-29 13:21:50 +01:00
Adriaan de Groot
3e0c9ba056 [packages] Expand tests with PM-specific bits 2021-11-29 13:04:44 +01:00
Adriaan de Groot
fcbe8d3a3e [libcalamares] API for YAML-loading from Python 2021-11-29 12:59:30 +01:00
Adriaan de Groot
7f643010b2 [libcalamares] Expose error() and warn() to Python 2021-11-29 12:26:07 +01:00
Adriaan de Groot
e9970474f5 [libcalamares] Allow Python to log an Error as well 2021-11-29 12:22:02 +01:00
Adriaan de Groot
8a1e5d35fa [packages] Move pacman-options into their own key with subkeys 2021-11-29 11:59:09 +01:00
Adriaan de Groot
90459e434f Merge pull request #1833 from dalto8/pacman
[packages] Additional pacman options
2021-11-29 11:39:01 +01:00
dalto
bd07db544f [packages] Update doumentation for run_pacman() to be more complete 2021-11-28 15:56:16 -06:00
dalto
6b838bbf3d [fstab] Add comment explaining logic 2021-11-26 13:00:30 -06:00
dalto
df3e049e1c [fstab] Use different options for the btrfs swap subvolume 2021-11-26 12:36:15 -06:00
dalto
bb24ee1b3b [packages] Fix location of call to reset_progress() 2021-11-26 10:56:32 -06:00
dalto
c80b4ff4c2 [packages] Make callback logic more sensible 2021-11-26 08:30:18 -06:00
Adriaan de Groot
596e471276 Merge pull request #1829 from dalto8/zfs-readme
Update zfs module documentation
2021-11-26 15:15:29 +01:00
dalto
e1e29780f2 [packages] Change callbacks 2021-11-25 15:55:22 -06:00
dalto
fa10bb8dd3 [packages] Add support for more pacman options 2021-11-25 11:52:41 -06:00
Adriaan de Groot
01d55254f2 i18n: update languages (Farsi at 100%) 2021-11-19 23:17:05 +01:00
Calamares CI
180b12fbaf i18n: [python] Automatic merge of Transifex translations 2021-11-19 23:13:59 +01:00
Calamares CI
dc8901113e i18n: [desktop] Automatic merge of Transifex translations 2021-11-19 23:13:58 +01:00
Calamares CI
f947c072e1 i18n: [calamares] Automatic merge of Transifex translations 2021-11-19 23:13:58 +01:00
dalto
ee032b43fe [zfs] Fix spelling error in readme 2021-11-19 14:24:36 -06:00
dalto
f37a775977 [zfs] Update module documentation 2021-11-19 10:46:23 -06:00
Adriaan de Groot
855391b31d Changes: post-release housekeeping 2021-11-19 14:55:29 +01:00
Adriaan de Groot
8ca6a7caef [displaymanager] Fix tests (don't overwrite developer host configuration) 2021-11-16 17:30:28 +01:00
Adriaan de Groot
b0d951d7e5 [grubcfg] Avoid UnboundLocal, always set zfs_root_path to something 2021-11-16 17:22:43 +01:00
Adriaan de Groot
8233be93cf CI: fix permissions on scripts 2021-11-16 17:15:37 +01:00
Adriaan de Groot
8652fc5f6d [zfs] Fix schema
- typo (canmount vs canMount)
- the canMount property is nominally a string, but YAML is 'special'
  and interprets 'on' and 'off' and 'yes' and 'no' and other strings
  as booleans unless quoted.
2021-11-16 17:14:12 +01:00
Adriaan de Groot
6792eb5191 Changes: pre-release housekeeping 2021-11-16 15:45:44 +01:00
Adriaan de Groot
b00177bd65 [zfs] SPDX tag the documentation 2021-11-19 12:55:23 +01:00
Adriaan de Groot
bcd8ebd614 [displaymanager] SPDX tags for tests 2021-11-19 12:53:42 +01:00
Adriaan de Groot
46c59be541 Changes: document new things 2021-11-19 11:34:35 +01:00
Adriaan de Groot
2f2271aad6 [mount][bootloader] Communicate btrfs root subvolume
Ensure root subvolume is set correctly for systemd-boot.

FIXES #1821
2021-11-19 11:20:09 +01:00
Adriaan de Groot
feba83acdd Merge pull request #1828 from dalto8/remove-setstate
Remove setState call to resolve compat issue with older kpmcore
2021-11-18 23:40:40 +01:00
dalto
f5b882a075 [partition] Remove setState call to resolve compat issue with older kpmcore 2021-11-18 13:36:23 -06:00
dalto
b0f6530a58 [mount][bootloader] Ensure root subvolume is set correctly for systemd-boot 2021-11-18 10:04:49 -06:00
Adriaan de Groot
ece1e338e0 Merge pull request #1822 from dalto8/zfs-wip
[zfs] Support for installing to root-on-ZFS
2021-11-17 12:20:34 +01:00
dalto8
e814920bca [zfs] Fix typo in README 2021-11-17 00:17:59 +00:00
dalto
c70e31a919 [zfs] Add README.md with some implementation notes 2021-11-16 18:16:32 -06:00
dalto
7e17106f34 [bootloader] Cleanup zfs support from testing 2021-11-16 17:48:49 -06:00
dalto
9603cbef14 [grubcfg] Add zfs entry to kernel_params 2021-11-16 17:48:02 -06:00
dalto
87cca4053f [zfs][mount] Refactor zfs dataset mounting logic 2021-11-16 13:59:24 -06:00
dalto
b65321d80b [bootloader] Add zfs support for grub-install 2021-11-16 13:48:34 -06:00
dalto
18307d9f57 Add zfs module to settings.conf 2021-11-16 09:34:50 -06:00
dalto
3ee388526d [zfs] Cleanup code based on review feedback 2021-11-16 09:06:42 -06:00
Adriaan de Groot
13cb84aa75 Merge branch 'issue-1593' into calamares
FIXES #1593
2021-11-16 15:37:41 +01:00
Adriaan de Groot
efe84bc6c0 [partition] Don't log private names
- log device node (/dev/sdb) instead of its name
- don't log job's prettyName() because that's translated, and also
  contains user-visible private names (introducing a non-translated,
  nicely redacted version of prettyName() seems like too much effort
  for something that can be reconstructed from bits earlier in the log)
2021-11-16 15:31:35 +01:00
Adriaan de Groot
5a4e2b73ab [libcalamares][partition] Give RedactedName a convert-to-QString
- use hex-trailer
- while here, convert DebugRow to use a copy rather than a reference,
  to avoid dangling references when applied to temporaries
- convert *partition* module to use the RedactedNames
2021-11-16 15:22:04 +01:00
Adriaan de Groot
152b3c333b [libcalamares] Introduce redaction-of-names class for logging
- redacted names are stable inside of one run of Calamares
- random, private displays of a given string for a context

SEE #1593
2021-11-16 14:47:13 +01:00
Adriaan de Groot
7b3c4db8f0 [libcalamares] Redacted -> RedactedCommand
- For logging (shell) commands where a password might become visible, use
  RedactedCommand. Rename it to allow for other kinds of redaction, too.
2021-11-16 14:21:46 +01:00
Adriaan de Groot
7cc84b89be [partition] Clarify the meaning of the various UUIDs in debug-output 2021-11-16 14:15:00 +01:00
Adriaan de Groot
4db4e983e3 [partition] Don't format tables of attributes in source 2021-11-16 14:04:00 +01:00
Adriaan de Groot
3aac4dea67 [partition] Remove logging-of-a-pointer during device detection 2021-11-16 13:52:10 +01:00
dalto
0a7262148e [umount] Convert zfs export call to use host_env_process_output 2021-11-15 19:03:20 -06:00
dalto
ec8bab4013 Merge branch 'zfs-wip' of github.com:dalto8/calamares into zfs-wip 2021-11-15 18:42:49 -06:00
dalto
4778d9b2dd [mount] zfs changes from review feedback 2021-11-15 18:41:35 -06:00
dalto
3a90382699 [partition] zfs changes from review feedback 2021-11-15 18:41:35 -06:00
dalto
3ebe695a23 [fstab] Exclude zfs partitions from fstab 2021-11-15 18:41:35 -06:00
dalto
ebae698a6e [mount] Move zfs code into a seperate function to improve readability 2021-11-15 18:41:35 -06:00
dalto
18ad188ef6 [zfs] Ensure overlapping datasets don't get created and code cleanup 2021-11-15 18:41:35 -06:00
dalto
6e440bf9bb [umount] Export zpools after unmounting 2021-11-15 18:41:35 -06:00
dalto
490ac8d086 [partition] Ensure format is selected for existing zfs partitions 2021-11-15 18:41:35 -06:00
dalto
c48c91a5bd [partition] Add support for zfs encryption when erase disk is selected 2021-11-15 18:41:35 -06:00
dalto
ee99ee48f6 Add support for multiple zpools 2021-11-15 18:41:35 -06:00
dalto
a5b21b2500 [zfs] Fix typo and add missing continue 2021-11-15 18:41:34 -06:00
dalto
75c947c5a3 [mount] Fix zfs code and add support for encryption 2021-11-15 18:41:34 -06:00
dalto
1ccabf1b13 [zfs] Export zpool so it can later be mounted at the correct location 2021-11-15 18:41:34 -06:00
dalto
6da9bad272 [partition][zfs] Add support for zfs encryption 2021-11-15 18:41:34 -06:00
dalto
074941e2bd [bootloader] Add initial support for zfs 2021-11-15 18:41:34 -06:00
dalto
5d71723aec [mount] Improve error handling for zfs 2021-11-15 18:41:34 -06:00
dalto
de0bbbe90a [mount] Add support for zfs datasets 2021-11-15 18:41:34 -06:00
dalto
7f05096611 [zfs] Add delay before creating the zpool 2021-11-15 18:41:34 -06:00
dalto
7635b76352 [zfs] Add datasets to global storage for other modules 2021-11-15 18:41:34 -06:00
dalto
b9559a9d82 [zfs] Update to Calamares coding standards 2021-11-15 18:41:34 -06:00
dalto
76892136cf [initcpiocfg] Add support for zfs 2021-11-15 18:41:34 -06:00
dalto
11bf84bac7 [zfs] Initial commit for zfs module 2021-11-15 18:41:34 -06:00
dalto
24a376493b [partition] Add support for manually creating a partition for zfs 2021-11-15 18:41:34 -06:00
dalto
ca3f0e2892 [partition] Add zfs to the filesystem list if the zfs modules is enabled 2021-11-15 18:41:34 -06:00
dalto
e861d8b319 [mount] zfs changes from review feedback 2021-11-15 18:00:04 -06:00
dalto
abb6f73725 [partition] zfs changes from review feedback 2021-11-15 17:59:33 -06:00
Adriaan de Groot
3dd02edc78 [libcalamares] Document how to interpret percents
- use 0..1 in floats for percentages (I suppose you could
  call that a perunage, but that would be weird).
2021-11-15 23:16:58 +01:00
Adriaan de Groot
d5bef9efb5 Python: document which exception is thrown on process failure 2021-11-15 21:48:17 +01:00
Adriaan de Groot
5f7b221e11 [displaymanager] Fix greetd commands
- since default_desktop_environment isn't a string, need
  to pick the string -- the command -- out of the object first.
2021-11-15 13:38:46 +01:00
Adriaan de Groot
16a029abd2 [displaymanager] Adjust tests to match real runtime
- the default_desktop_environment isn't a string, but an
  object; it is unusual for it to be used in set_autologin
2021-11-15 13:37:23 +01:00
Adriaan de Groot
f3e85efd41 [displaymanager] Add tests that run parts of the DM code
- load and set autologin for greetd (this was used to shake out
  code bugs in load/save)
- load and set autologin for sddm
2021-11-15 13:00:40 +01:00
Adriaan de Groot
2c186132cd [displaymanager] Add support for greetd
- Includes post-PR code-fixes

CLOSES #1814
2021-11-15 12:30:19 +01:00
Adriaan de Groot
ce6aec158a [displaymanager] Fix config loading-and-saving
- toml.dump() takes a file-like object
 - toml.loads() takes a whole string to parse, (e.g. the TOML data),
   not a pathname, so change to toml.load() which takes a file-like
   object.
2021-11-15 12:23:17 +01:00
Adriaan de Groot
54fd81a87e [displaymanager] Handle case where config file doesn't exist or has no key
- If the config file doesn't exist, the dictionary is empty
 - If it **does** exist, it might not have key 'default_session' in it

Either case should avoid a KeyError by using get() (or setdefault,
in this context). Subsequent use of os.path.exists() is strange,
since the value is a **group** (e.g. a dictionary) in the config
file. Just check if it exists, and then fill something in.
2021-11-15 12:21:27 +01:00
Adriaan de Groot
11424195ef [displaymanager] Missing method call
- Add `()` to call the config_path() method, because we need a path
  to pass to os.path.exists().
2021-11-15 12:20:54 +01:00
Adriaan de Groot
fad2f6ea88 [displaymanager] Add simple test 2021-11-15 11:52:24 +01:00
Adriaan de Groot
58cf9ffeeb [displaymanager] Import toml only for the DMs that actually need it 2021-11-15 11:43:47 +01:00
Adriaan de Groot
85f36c77b1 [displaymanager] Import configparser only for the DMs that actually need it 2021-11-15 11:42:25 +01:00
Adriaan de Groot
138db1c817 Merge branch 'feat/greetd-support' of git://github.com/boredland/calamares into boredland-feat/greetd-support 2021-11-15 11:40:18 +01:00
Adriaan de Groot
126838fe1d Changes: post-release housekeeping 2021-11-15 11:27:20 +01:00
Adriaan de Groot
f0958535df CI: Update release instructions 2021-11-15 11:14:31 +01:00
Adriaan de Groot
d7865a5bcd Merge pull request #1824 from dalto8/spacecache
[fstab] Remove space_cache from btrfs mount options
2021-11-15 11:09:05 +01:00
Adriaan de Groot
dd2e14853c i18n: Update language lists 2021-11-15 11:03:41 +01:00
Calamares CI
b0436bf050 i18n: [calamares] Automatic merge of Transifex translations 2021-11-15 10:58:51 +01:00
dalto
b6692341e7 [fstab] Exclude zfs partitions from fstab 2021-11-14 09:07:58 -06:00
dalto
af4b87a4cc [mount] Move zfs code into a seperate function to improve readability 2021-11-13 14:09:16 -06:00
dalto
c3524c07ad [zfs] Ensure overlapping datasets don't get created and code cleanup 2021-11-13 13:43:26 -06:00
dalto
cca38695ed [umount] Export zpools after unmounting 2021-11-13 11:13:39 -06:00
dalto
cf20d6495b [partition] Ensure format is selected for existing zfs partitions 2021-11-13 10:43:07 -06:00
dalto
8bdfcac0fb [partition] Add support for zfs encryption when erase disk is selected 2021-11-13 09:31:23 -06:00
dalto
4bed079ebf Add support for multiple zpools 2021-11-12 16:06:06 -06:00
dalto
daa5731acf [fstab] Improve comment about space_cache 2021-11-12 09:29:04 -06:00
dalto
9ef520f862 Add comment describing the situation with space_cache on btrfs 2021-11-12 08:58:43 -06:00
dalto
0bef2a91a1 [fstab] Remove space_cache from btrfs mount options 2021-11-10 17:16:09 -06:00
Adriaan de Groot
4fb8993a38 [finishedq] Add sample QML for mobile usage
This has a countdown-timer that automatically restarts;
the rest of the settings follow the finishedq.conf values.

FIXES #1601
2021-11-09 23:08:40 +01:00
dalto
91762e3df4 [zfs] Fix typo and add missing continue 2021-11-09 14:54:46 -06:00
dalto
90452147a3 [mount] Fix zfs code and add support for encryption 2021-11-09 14:53:44 -06:00
Adriaan de Groot
8639c9a79f [partition] Fix up tests 2021-11-09 16:37:25 +01:00
Adriaan de Groot
7291656f19 CI: add new Python API to the linter's library, too 2021-11-09 16:26:31 +01:00
Adriaan de Groot
cd0785164b [partition] Fix compatibility with Qt 5.12 2021-11-09 15:57:20 +01:00
dalto
06b6263c24 [zfs] Export zpool so it can later be mounted at the correct location 2021-11-09 07:42:39 -06:00
dalto
2f145fcf44 [partition][zfs] Add support for zfs encryption 2021-11-08 17:26:08 -06:00
Calamares CI
24306efddb i18n: [calamares] Automatic merge of Transifex translations 2021-11-07 23:23:25 +01:00
Adriaan de Groot
737ec690b6 Changes: pre-release housekeeping 2021-11-09 15:29:23 +01:00
Adriaan de Groot
fa1b47a357 Merge branch 'pacman-progress-reporting' into calamares
This gives at **least** a proof-of-concept for progress
during package-installation. It's up to the package-manager
or distro to write better progress reporting.

FIXES #1582
2021-11-09 15:25:28 +01:00
Adriaan de Groot
2a86e86817 [packages] Make package-installation messages slightly less scary.
From a test with XeroLinux, at some point it says 'reinstalling linux...'
which is a message from pacman about the package called 'linux'.
2021-11-09 15:25:06 +01:00
Adriaan de Groot
e4b44b5f85 [packages] Look for other progress indicators
- the (n/m) lines are output of specific steps, not actual package-
  installation. So look for "<action> <packagename> ..." lines instead.
  This means we keep some state around, and need extra machinery to
  report those lines rather than the generic progress reporting
  that reports on groups.
2021-11-09 14:42:12 +01:00
Adriaan de Groot
4821f450f3 [packages] Report progress by scanning pacman output
- during install and remove, check for (n/m) output lines which
  report progress of the pacman actions and turn those into progress
  reports for the *packages* module.
2021-11-09 13:07:29 +01:00
Adriaan de Groot
575654941f [partition] Move required partition table type to Config
- remove from GS
- remove duplication across Config and ChoicePage
- improve translations (presumably "msdos or gpt" is the most
  complicated it will get)

FIXES #1735
2021-11-09 12:25:47 +01:00
Adriaan de Groot
f62198e250 Changes: document who-what for this release 2021-11-09 11:32:06 +01:00
Adriaan de Groot
be217c6a47 Merge pull request #1823 from calamares/boot-partition
[partition] offer /boot also when other EFI partition was specified
2021-11-09 11:24:53 +01:00
Philip Müller
0486e48c4e [partition] offer /boot also when other EFI partition was specified
- it still makes sense to offer /boot in EFI
- example: /boot ext4, /boot/efi vfat
- this partly reverts 60f8a7c5fb
2021-11-09 01:51:49 +01:00
Adriaan de Groot
ead641c344 [summary] Prefer a step's widget over text
- the partition module makes a nice descriptive widget,
  which includes the text it **also** has for the summary;
  (the text is intended for the QML summary).
- In general, if a module has a widget for the summary, assume
  that that is the **whole** summary and use it instead of text.

This resolves duplicate summaries -- showing the text of the
partitioning-step, followed by its widget -- introduced in July.
2021-11-08 14:44:12 +01:00
dalto
0720d56803 [bootloader] Add initial support for zfs 2021-11-07 09:32:52 -06:00
dalto
85a2160098 [mount] Improve error handling for zfs 2021-11-07 08:01:32 -06:00
dalto
858e271c8a [mount] Add support for zfs datasets 2021-11-06 14:33:43 -05:00
dalto
e3af4f3e26 [zfs] Add delay before creating the zpool 2021-11-06 14:12:40 -05:00
dalto
51a5c4de0f [zfs] Add datasets to global storage for other modules 2021-11-06 13:27:03 -05:00
dalto
7108d4a509 [zfs] Update to Calamares coding standards 2021-11-06 10:30:49 -05:00
dalto
69ef13ef0c [initcpiocfg] Add support for zfs 2021-11-06 09:48:38 -05:00
dalto
e24d14c512 [zfs] Initial commit for zfs module 2021-11-06 09:44:27 -05:00
dalto
7faf4f30df [partition] Add support for manually creating a partition for zfs 2021-11-06 09:42:07 -05:00
dalto
ac44aab74a [partition] Add zfs to the filesystem list if the zfs modules is enabled 2021-11-06 09:16:09 -05:00
Adriaan de Groot
6130a9c51f [unpackfs] Re-jig process-return-value in Python
- make the installation work,
- special case because rsync can return error 23 (which throws, from
  inside the Python API) which still means "it was ok".
2021-11-05 16:52:18 +01:00
Adriaan de Groot
c79bb3cd10 [unpacks] PARTIAL conversion to newer API with callback 2021-11-05 16:33:10 +01:00
Adriaan de Groot
b9691c339e S also docs 2021-11-05 16:32:40 +01:00
Adriaan de Groot
5e6d292235 FIXUP 2021-11-05 16:31:47 +01:00
Adriaan de Groot
faf1d68d32 [libcalamares] Tidy up processing of process output
- force C locale on processes
- split trailing output if output per-line-processing is active
2021-11-05 16:26:45 +01:00
Calamares CI
e8c11003e3 i18n: [calamares] Automatic merge of Transifex translations 2021-11-04 12:03:17 +01:00
Adriaan de Groot
94039c19bb [unpackfs] Use callback instead of building giant string in memory
SEE #1740

By processing each line in turn (and just counting is) rather
than collecting all of the lines of output from the tools,
we end up with lower memory usage.
2021-11-03 16:09:11 +01:00
Adriaan de Groot
e8209089c6 Merge branch 'issue-1740' into calamares
FIXES #1740
2021-11-03 15:49:03 +01:00
Adriaan de Groot
fe582fb94d Docs: document the Python APIs for modules 2021-11-03 15:48:26 +01:00
Adriaan de Groot
74d65d8338 Docs: touch-ups and typos 2021-11-03 13:51:17 +01:00
Adriaan de Groot
2800128a8d [libcalamares] Expand the output-processing API
- support host and target runs
- add stdin and timeout values
- allow automatic output to list
2021-11-03 13:45:15 +01:00
Adriaan de Groot
3120abbce8 [libcalamares] Introduce host_env_process_output, too
- run commands consistently, with optional output-processing,
  in host or target;
- raises exception on error, like the check_* functions.
2021-11-03 12:23:39 +01:00
Adriaan de Groot
e5323ec487 [libcalamares] Expand Runner documentation
- document a bit more of the methods
- provide convenience method enableOutputProcessing() alongside
  an explicit setter; adjust tests to the changed API.
- add an executable() information method.
2021-11-03 12:20:36 +01:00
Adriaan de Groot
f2142bc4b3 [libcalamares] Move Python callback to utils submodule
- don't need the job to do the callback
- allow callable objects from Python
- doesn't actually run the process yet
2021-11-03 11:53:44 +01:00
Calamares CI
dd7767dbc5 i18n: [python] Automatic merge of Transifex translations 2021-11-03 11:16:33 +01:00
Calamares CI
f825d4fef2 i18n: [desktop] Automatic merge of Transifex translations 2021-11-03 11:16:33 +01:00
Calamares CI
aaee088fab i18n: [calamares] Automatic merge of Transifex translations 2021-11-03 11:16:33 +01:00
Adriaan de Groot
a0cb4b63a8 [partition] Fix build for old Qt 2021-11-03 11:14:22 +01:00
Adriaan de Groot
344948b5ab Modules: clean up QProcess (part 1) 2021-11-02 23:46:26 +01:00
Adriaan de Groot
2088502e57 [libcalamares] Don't use QProcess directly outside of Runner 2021-11-02 23:46:26 +01:00
Adriaan de Groot
57c174c37f [libcalamares] Clean up QProcess includes 2021-11-02 23:46:26 +01:00
Adriaan de Groot
5c82cb32ab [libcalamares] Expand tests to show last-output-line 2021-11-02 23:20:22 +01:00
Adriaan de Groot
aa315c0696 [libcalamares] Handle last-output-line without newline 2021-11-02 22:58:41 +01:00
Adriaan de Groot
0a339a5402 [libcalamares] Test Runner output-processing 2021-11-02 22:55:41 +01:00
Adriaan de Groot
953b899f75 [libcalamares] Allow Runner instances to collect output 2021-11-02 22:50:13 +01:00
Adriaan de Groot
870009e815 [libcalamares] Replace runCommand internals by Runner 2021-11-02 22:27:33 +01:00
Adriaan de Groot
89824a9e0d [libcalamares] Fix up Runner (as a replacement for current system code) 2021-11-02 22:27:33 +01:00
Adriaan de Groot
24ca64deac [libcalamares] Chase moved redacted-logging 2021-11-02 22:27:33 +01:00
Adriaan de Groot
85debfc69b [libcalamares] Add Redacted logging
- this was an internal class for logging commands, let's lift
  it up to the Logger framework where it might be more generally
  useful (or not .. everything needs special-casing for actual
  redaction).
2021-11-02 22:27:33 +01:00
Adriaan de Groot
f0104af1c3 [libcalamares] Expand tests on Runner internals 2021-11-02 22:27:33 +01:00
Adriaan de Groot
e5fa58b890 [libcalamares] Add tests for relativeCangeDirectory() 2021-11-02 22:27:32 +01:00
Adriaan de Groot
0b943e801c [libcalamares] Begin implementing Runner
This copies a bunch of code from the System methods for running,
and then #if 0's them to get it to compile. Add some basic
directory-management.
2021-11-02 22:27:32 +01:00
Adriaan de Groot
b9dac6eef8 [libcalamares] Small step in implementation 2021-11-02 22:27:32 +01:00
Adriaan de Groot
e0fdde06c9 [libcalamares] Python API for callbacks from processes
This is an experiment in Python API that will allow a callback
function in the Python module to be called for each output line.
It builds on the run-a-process extensions that are being built
simultaneously.
2021-11-02 22:27:32 +01:00
Adriaan de Groot
2de09d4001 [libcalamares] Start refactor of running-a-process support
The background idea is that, while CalamaresUtils::System::runCommand()
is a useful general API, it is
- still missing flexibility
- lacking a way to process output from the command "as it happens"

Waiting until the process ends, and then reading all stdout, is
inconvenient for processes that produce a **lot** of output,
and also makes it impossible to report progress. One module
in calamares-extensions has its own run-a-process implementation
for reading output, and this branch aims to introduce something
similar into Calamares core.
2021-11-02 22:27:32 +01:00
Adriaan de Groot
a9a287fa59 Merge branch 'issue-1564' into calamares
FIXES #1564
FIXES #1817

Tested by doing an LVM installation from KDE Neon, as described
in #1817. Installation was successful, and machine booted
successfully afterwards.
2021-11-02 15:37:24 +01:00
Adriaan de Groot
b5dba9108c [partition] Check for LVs that will be formatted, don't close them
- when (manually) using an existing LV, it shouldn't be closed
  prior to formatting, since that kills the volume and then the
  path (/dev/myvg/mylv) no longer exists. Then creating the
  filesysytem on that device path fails.
2021-11-02 15:33:34 +01:00
Adriaan de Groot
7b45793b60 [partition] Allow exceptions when closing /dev/mapper
- some names should not be closed, like "control"
- allow a list of names to be added which should not be closed
2021-11-02 15:26:25 +01:00
Adriaan de Groot
1410157356 [partition] Simplify and document ClearMounts
- note that the job indiscriminately closes all LUKS and LV
- don't hang on to lists we don't need
2021-11-02 11:55:13 +01:00
Adriaan de Groot
0253977778 [partition] Coding style 2021-11-02 11:50:51 +01:00
Adriaan de Groot
ca4a187d1a [partition] Extract the get-PV-groups code to its own function
- get the list (once)
- move the lambda to a named function for readability
2021-11-02 11:18:14 +01:00
Adriaan de Groot
7fa02fd41c [partition] Extract the get-LVM-volumes code to its own function 2021-11-02 11:10:09 +01:00
Adriaan de Groot
2a1ec84c87 [partition] Don't hang on to pointer longer than needed 2021-11-02 11:03:10 +01:00
Adriaan de Groot
04b119b051 [partition] Crypto device-list needn't be a member, either 2021-11-02 00:25:37 +01:00
Adriaan de Groot
f49389a408 [partition] Fix logic errors in stringification of MessageAndPath 2021-11-02 00:09:52 +01:00
Adriaan de Groot
c322eaa430 [partition] Fix translation issues
- Strings were being used as logical values, and then logged
  (which should be in English) and also used in the UI (which
  should be localized). Replace with a MessageAndPath class,
  used only locally, that defers the translation until called-
  upon explicitly.
- Replace some VG stuff with similar calls to apply().
2021-11-01 23:59:39 +01:00
Adriaan de Groot
e56158f5b4 [partition] Generate partition paths with /dev/
Returning partition full-paths instead of only the block-device-name
simplifies later code -- which would prepend /dev/ to the block-
device-name and umount that.
2021-11-01 20:54:48 +01:00
Adriaan de Groot
6c2b2b0daa [partition] Factor out loops, document return values
- the tryX() functions weirdly return a string that is used for
  debug-logging. Document that. The untranslated string is
  later used for user-facing messages. Mark that as FIXME.
- factor out the loop-over-names-and-append to news, because that
  makes the overall story of what is happening hard to read.
- all calls to tryCryptoClose() called tryUnmount() first, so
  put that call inside tryCryptoClose(), so the interface is simpler.
2021-11-01 20:54:18 +01:00
Adriaan de Groot
0c84a87c67 [partition] Make internal methods static 2021-11-01 20:28:47 +01:00
Adriaan de Groot
105517fed7 [partition] Coding style 2021-11-01 20:24:47 +01:00
Adriaan de Groot
ac34cfadea [partition] Factor out finding the swap-partitions 2021-11-01 20:23:49 +01:00
Adriaan de Groot
3e58639a68 [partition] Improve logging in ClearMountsJob
- mark internal bits as static
- explain what is being looked-for

SEE #1817
SEE #1564
2021-11-01 16:44:28 +01:00
Adriaan de Groot
3f8078ea0f Changes: post-release housekeeping 2021-11-01 14:54:31 +01:00
Adriaan de Groot
218c1d9344 [fstab] Weaken the prescription against / in crypttab
FIXES #1811
2021-11-01 14:52:04 +01:00
Adriaan de Groot
0df288f647 [welcome] Improve logging of unsatisfied requirements
- improve descriptive-strings in logging ("set?" is not very
  meaningful)
- log only the unsatisfied entries, since the preceding
  log-message suggests that that is what is happening.
2021-11-01 14:24:50 +01:00
dalto
d0100afe02 Merge branch 'calamares' of github.com:dalto8/calamares into calamares 2021-10-30 14:09:17 -05:00
Adriaan de Groot
2faa791de4 Changes: avoid constant merge-conflicts by separating 3.2 changelog 2021-10-30 15:02:31 +02:00
Adriaan de Groot
f3a7f6cdef Changes: pre-release housekeeping 2021-10-30 14:54:15 +02:00
Calamares CI
5e4028ec87 i18n: [calamares] Automatic merge of Transifex translations 2021-10-30 14:54:15 +02:00
Adriaan de Groot
cd56bab622 [partition] Merge pull request #1808 from dalto8/zfs-delete-fix
Fix for zfs partition deletion
2021-10-30 14:44:39 +02:00
dalto
13a2d25b24 Add separate functions for zfs 2021-10-29 16:54:09 -05:00
Adriaan de Groot
7f09cdca65 Changes: update description of this release 2021-10-29 16:55:17 +02:00
Adriaan de Groot
e9083ecabb [services-systemd] Add a schema file for the configuration 2021-10-29 16:41:03 +02:00
Adriaan de Groot
7aaefa42d1 Merge pull request #1815 from dalto8/timer
[services-systemd] Add support for timers
2021-10-29 14:29:50 +02:00
Adriaan de Groot
9e1b8622f2 [packagechooser] Replace smartClip() with just-do-it
QLabel allows scaling of the Pixmap by itself, and we have a
FixedAspectRatioLabel that scales a pixmap nicely. Use that.
(The new label type needed to be introduced to designer)

The screenshot should expand more agressively, so that it
does not get margins -- that just leave space around the
name and description -- when the window expands. Adjust some
of the stretching and layout in the UI file.
2021-10-29 13:15:07 +02:00
Calamares CI
65f5db29bb i18n: [python] Automatic merge of Transifex translations 2021-10-29 11:29:38 +02:00
Calamares CI
07e831a5bf i18n: [desktop] Automatic merge of Transifex translations 2021-10-29 11:29:38 +02:00
Calamares CI
5cea95d5eb i18n: [calamares] Automatic merge of Transifex translations 2021-10-29 11:29:38 +02:00
Adriaan de Groot
d3d4690a81 [libcalamares] Move const to a better spot 2021-10-29 11:25:13 +02:00
Adriaan de Groot
ebf8d63669 Merge pull request #1809 from dalto8/ismoduleenabled
[libcalamares] Add isModuleEnabled function
2021-10-29 11:20:07 +02:00
Jonas Strassel
5701937883 fix(greetd): deal with no existing config 2021-10-29 00:02:16 +02:00
dalto
f7d8384bff Use key().module() instead of key().first 2021-10-28 14:49:44 -05:00
dalto
be513813e6 Clean-up from initial review 2021-10-28 14:46:38 -05:00
dalto
24fbd3ab90 More doc changes for services-systemd module 2021-10-28 07:40:05 -05:00
dalto
96f3de12b3 Update documentation for services-systemd module 2021-10-28 07:33:32 -05:00
Jonas Strassel
fbdb9e6779 feat(greetd): add more greeter fallbacks 2021-10-28 08:14:04 +02:00
Jonas Strassel
e5f5ef0d17 feat(greetd): add greetd to displaymanagers 2021-10-28 08:12:45 +02:00
dalto
a1699e28a2 Add support for timers 2021-10-26 16:05:49 -05:00
Adriaan de Groot
c2c55f03c9 Merge branch 'issue-1807' into calamares
FIXES #1807
2021-10-26 17:07:40 +02:00
Adriaan de Groot
c90b9786c6 [packagechooser] Also resize the introductory image
- resize the intro image
- when an invalid index is selected, *still* update the
  images, so it shows the intro image (resized) at the
  right time.
2021-10-26 17:05:31 +02:00
Adriaan de Groot
b9a243028b [packagechooser] Make scaled screenshots nicer
- patch suggested by flyingcakes85
- patch tested by killajoe

FIXES #1807
2021-10-26 16:08:20 +02:00
Adriaan de Groot
748b16ba7f [packagechooser] Look for screenshots in more places.
It is easier to put screenshots somewhere where
they can be searched-for, rather than requiring either
absolute paths (inconvenient to try out someone's
settings) or relative paths (because who knows where
Calamares will be run during testing).
2021-10-26 16:08:20 +02:00
Adriaan de Groot
be398d7edb [packagechooser] Log loading of screenshots
- start of indirection in loading, so that we can do a little more
  work searching for the screenshot.
2021-10-26 15:23:14 +02:00
Adriaan de Groot
d10a952065 [keyboard] Make debug output more readable 2021-10-26 15:19:02 +02:00
Adriaan de Groot
97ebaad81e Changes: post-release housekeeping 2021-10-26 14:51:47 +02:00
Adriaan de Groot
68ad34e421 Merge pull request #1810 from dalto8/getlist
[libcalamares] Add getList function to Variant
2021-10-26 12:07:16 +02:00
dalto
5f55784137 Add getList function to Variant 2021-10-23 14:02:47 -05:00
dalto
e22efab1b3 Add isModuleEnabled function 2021-10-23 13:57:24 -05:00
dalto
be47b5e59c Fix for zfs partition deletion 2021-10-23 13:40:47 -05:00
Adriaan de Groot
d972dab9b7 CI: changed filename in release script 2021-10-18 15:51:05 +02:00
Calamares CI
132bca649e i18n: [python] Automatic merge of Transifex translations 2021-10-04 16:06:58 +02:00
Calamares CI
87d4491395 i18n: [calamares] Automatic merge of Transifex translations 2021-10-04 16:06:57 +02:00
Adriaan de Groot
763ec6152b Changes: pre-release housekeeping 2021-10-04 16:02:51 +02:00
Adriaan de Groot
f26f0389da Merge pull request #1802 from calamares/issue-1801
[summary] Use model shared with *summaryq*

FIXES #1801
2021-10-04 15:59:34 +02:00
Adriaan de Groot
6b38985a5f [summary] Start using the model 2021-10-04 14:52:23 +02:00
Adriaan de Groot
3bc90e6c06 [summary] Factor out widget creation 2021-10-04 14:29:54 +02:00
Adriaan de Groot
d951a9d317 [summary] Improve role names in SummaryModel 2021-10-04 12:59:50 +02:00
Adriaan de Groot
4731d79a4f [summary] Reduce code-duplication
The summary page can rely on the Config object to create
lists of relevant steps; this code was declared but not
defined / implemented for Config (but also not called, so
it was ok). This is basically shuffling bits around in
preparation for using the model directly, rather than
re-implementing the widget-creation code.

While here, split off the page-resizing into a free function
so that the code reads nicer.
2021-10-04 12:48:16 +02:00
Adriaan de Groot
763f29e2b8 [summary] Improve naming, shuffle parameters
- the page doesn't need to remember what step it belongs to,
  if the step tells it when creating widgets.
- detach naming from the viewstep API that calls it.
2021-10-04 12:23:17 +02:00
Adriaan de Groot
87af923638 [summary] Make widgets-use explicit 2021-10-04 12:15:15 +02:00
Adriaan de Groot
2fdb6fdf37 [summary] Clear model on leave 2021-10-04 12:10:17 +02:00
Adriaan de Groot
295f6f9737 Changes: intentions for this branch 2021-10-04 11:44:52 +02:00
Adriaan de Groot
8f4ba8c21f [summary] Tighten up scope of declarations, simplify 2021-10-04 11:27:10 +02:00
Adriaan de Groot
329f21093b [libcalamaresui] More careful in unmarginLayout 2021-10-04 00:27:03 +02:00
Adriaan de Groot
bcad698164 Changes: post-release housekeeping 2021-09-28 23:33:43 +02:00
Adriaan de Groot
d556dae415 [partition] Document how the configurable EFI size is coordinated 2021-09-28 21:31:12 +02:00
Adriaan de Groot
05f287ebbb [partition] Use the configured EFI size
The `partition.conf` file contains an EFI-size. The default is 300MiB,
but distributions might like to use a bigger (or smaller) value.
Apply the configuration consistently everywhere where we need
"the size of the EFI partition". Extend the internal method
to look at the configured size.
2021-09-28 18:23:19 +02:00
Adriaan de Groot
90eb0cd844 [partition] Fix build 2021-09-28 18:16:34 +02:00
Adriaan de Groot
a72fc06502 [partition] Fix message (use MiB instead of bytes)
Reported by cfinnberg.

FIXES: #1796
2021-09-28 16:55:35 +02:00
Adriaan de Groot
6b460ce440 [partition] Compare size with the canonical source of "right EFI size"
While here, note that the canonical source returns bytes (not MiB).
2021-09-28 16:55:35 +02:00
Adriaan de Groot
de63669cee CI: add missing API stub-implementation for pylint 2021-09-27 21:32:43 +02:00
Adriaan de Groot
51898ea32b [unpackfs] Fix typo
Apparently everyone shipping a squashfs image also has the tools
installed, because the error message reporting that the tools-are-
missing contained a reference to an undefined variable.
Fix that, and while here improve the error message so you
don't get a whole path as a title in the error message.

The slightly weird error-message construction is so that no
messages change and no translation work is needed.
2021-09-27 21:04:26 +02:00
Adriaan de Groot
16f8243fb3 [unpackfs] Move to conventional python-libcalamares use
All **other** modules fully specify libcalamares; only unpackfs
was importing shortcuts. Change to conventional usage (partly
because that's easier on the pylint implementation, partly because
it's then consistent with the rest).
2021-09-27 21:04:26 +02:00
Adriaan de Groot
96c89fc080 [displaymanager] Fix Python errors
Apparently nobody ever hit the else-branch here (because
each DM has exactly one implementation -- that's what the
check is there for!) because the logging of the error
itself would raise IndexError or ValueError.
2021-09-27 21:04:26 +02:00
Adriaan de Groot
719548213f CMake: if pylint is available, run it as part of the test-suite
This introduces a stub-implementation (fake) that mimics the
API offered by libcalamares (the library is actually exposed
to Python via Boost::Python, so it doesn't act like a C-extension).
Using that stub-implementation, we can check Python modules for
validity as part of the test-suite.

The stub-implementation is needed, because otherwise every
Python module already fails at `import libcalamares`.

- stub-implement the API that is actually used by the Python modules
- in globalstorage, be slightly smart about what keys are being
  requested (so that e.g. all the modules that handle partitions
  information get an empty list and can manipulate that, instead of
  erroring out when they get a string)
2021-09-27 21:02:18 +02:00
Adriaan de Groot
836ea55dbd Changes: credit to Corey for fixes 2021-09-27 17:50:47 +02:00
Adriaan de Groot
f197acf8e0 CI: add stubs for libcalamares bits, to help pylint 2021-09-27 17:27:42 +02:00
Adriaan de Groot
96aa5b4532 Merge branch 'improve-loadmodule' into calamares 2021-09-27 14:27:50 +02:00
Adriaan de Groot
815bb62ae5 [calamares] Fix test-application command-line-args
- use C++11 uniform-initialization
- while here, remove space from name of --global option
2021-09-27 14:26:43 +02:00
Adriaan de Groot
7cda1d2edd [calamares] Test-loader tries loading from install-dir, too 2021-09-27 13:39:27 +02:00
Adriaan de Groot
058e6cbcda [calamares] Log failed module-load in test-application 2021-09-27 13:34:08 +02:00
Adriaan de Groot
de9e6a7d70 [calamares] Log module-searching in the test-application 2021-09-27 13:27:36 +02:00
Adriaan de Groot
657a36310b [libcalamares] Log the Python pre-script a little better
- Make clear that the @ is a string-location, and how long the
  pre-script is (although in practice, it will be either null
  and 0, or the values set in the loadmodule executable).
2021-09-27 13:18:12 +02:00
Adriaan de Groot
8656636f01 Merge pull request #1794 from coreylang/networkcfg_replace_username_fix
[networkcfg] fix replace_username() undefined variables
2021-09-27 13:12:09 +02:00
Adriaan de Groot
c4034d944b Changes: pre-release housekeeping 2021-09-27 13:08:22 +02:00
corey lang
590f16370c [networkcfg] fix replace_username() undefined variables 2021-09-27 01:24:05 -05:00
demmm
65c1ef7cb5 [initcpiocfg] fix install failure due to extra s 2021-09-24 16:27:35 +02:00
Adriaan de Groot
723da94e75 i18n: source texts 2021-09-24 13:48:35 +02:00
Adriaan de Groot
0a0f3dd2b6 Changes: hot-fix release 2021-09-24 13:48:27 +02:00
Adriaan de Groot
0403749bf1 Changes: pre-release housekeeping 2021-09-24 12:40:38 +02:00
Adriaan de Groot
f25ff77ee2 Merge branch 'fix-nm-name' into calamares 2021-09-24 12:33:07 +02:00
Adriaan de Groot
ce5d42ce0f [networkcfg] Refactor getting source-and-target paths of a file 2021-09-24 12:33:00 +02:00
Adriaan de Groot
13d69cb813 [networkcfg] Don't mindlessly PEP8 2021-09-24 12:30:11 +02:00
Adriaan de Groot
bf60d0576b [networkcfg] Refactor username-replacement
Read, then write, the NM file. Add a note about how we might
handle this better. Rename live_user() function to give it
a verb (and avoid UnboundLocal when using a variable of the same name).
2021-09-24 12:25:33 +02:00
Adriaan de Groot
678e6f6d74 [networkcfg] Be more forgiving when getting the live username
- This function is intended to do whatever it takes to
  get the live username.
2021-09-24 12:15:20 +02:00
Adriaan de Groot
88669a4079 Merge pull request #1777 from librewish/btrfs_additions
[fstab] Improve btrfs mount options
2021-09-24 11:26:41 +02:00
Adriaan de Groot
3592fe06bb Merge pull request #1776 from librewish/consolefont
[initcpiocfg] add consolefont to hooks
2021-09-24 11:26:08 +02:00
librewish
e5e9e14a9f [initcpiocfg] add consolefont to hooks 2021-09-24 12:30:42 +05:30
librewish
3f890dfb8e [fstab] Improve btrfs mount options 2021-09-24 12:24:58 +05:30
Shrinivas Vishnu Kumbhar
528a815307 [locale] Default to English in India 2021-09-23 11:10:09 +02:00
Shrinivas Vishnu Kumbhar
9b57f402da [keyboard] Use US-English for India 2021-09-23 11:07:43 +02:00
Adriaan de Groot
8f65a644a9 [libcalamares] Rename cPointerSetter
This class doesn't really set a pointer -- it is a scoped assignment
through a pointer, which **can** set a value on destruction (when
it leaves scope). Rename it.

While here, extend the API so that it can do an assignment to the
underlying object **now**, while also doing a scoped assignment
later when it leaves scope. This makes some code a bit easier
to read ("in this scope, X is now <v> and then it becomes <v'>")
2021-09-22 11:29:52 +02:00
Adriaan de Groot
bba5b21873 [libcalamares] Remove cBoolSetter
This class was used only once, and is confusing because
the assignment happens always, but to the opposite value
as what was visible. It can be replaced with other
scoped assignment, instead.

Removes the tests for it, too.
2021-09-22 11:29:52 +02:00
Adriaan de Groot
b0149c2712 [libcalamares] Log the Python language-search process just once
- log the list of search paths once
- log the found-language as if from Python
- warn always if none are found
2021-09-22 11:29:52 +02:00
Calamares CI
7bdccd0ea7 i18n: [python] Automatic merge of Transifex translations 2021-09-21 15:25:51 +02:00
Calamares CI
cce8b73554 i18n: [calamares] Automatic merge of Transifex translations 2021-09-21 15:25:51 +02:00
Adriaan de Groot
744979a095 Merge branch 'issue-1603' into calamares
FIXES #1603
2021-09-22 01:45:36 +02:00
Adriaan de Groot
db26df311d [libcalamares] Reduce log-spam in emergencies
- when an emergency strikes, log the modules that are skipped
  with a Once, but if an emergency module runs, refresh that
  Once so that the function header is printed again -- to
  distinguish JobQueue debugging from the logging from the
  emergency module.
2021-09-22 01:44:00 +02:00
Adriaan de Groot
9be9431970 [libcalamares] Give Logger::Once more flexibility 2021-09-22 01:41:28 +02:00
Adriaan de Groot
049bccbdd8 [libcalamares] Cut down log-spam from KPMManager 2021-09-22 01:28:40 +02:00
Adriaan de Groot
cf1128b719 [partition] Cut down log-spam while checking for resize 2021-09-22 01:27:33 +02:00
Adriaan de Groot
857aaa6ca4 [partition] Cut down log spam about /etc/fstab 2021-09-22 01:15:37 +02:00
Adriaan de Groot
39915db988 [libcalamares] Reduce log spam when running commands 2021-09-22 00:58:31 +02:00
Adriaan de Groot
54385b7606 [libcalamares] Cut down config-file-loading log spam 2021-09-21 16:53:09 +02:00
Adriaan de Groot
87e7233292 Merge branch 'issue-1788' into calamares
This is in response to the issue, and cleans up a bunch of code,
but does not actually resolve the issue (because I can't quite
tell what the issue should be).

SEE #1788
2021-09-21 15:21:52 +02:00
Adriaan de Groot
cb92e49363 [initcpiocfg] Document this module 2021-09-21 15:16:08 +02:00
Adriaan de Groot
a4c714238f [initcpio] Refactor file-writing
- iterate over the lines of the source file, rather
  than over indexes, and make clear that the hooks, modules and files
  lines are replaced, rather than merged.
- this calls write() more often, but it's only a few lines
2021-09-21 13:39:29 +02:00
Adriaan de Groot
12cd9dd5b2 [initcpiocfg] Refactor
- Read the host /etc/mkinitcpio.cfg in one function rather
  than hiding it inside the writer
2021-09-21 13:18:01 +02:00
Adriaan de Groot
60e495bd8c [initcpiocfg] Refactor, improve testability
- don't chain directly from modify_mkinitcpio_conf() to the
  function that writes the file write_mkinitcpio_lines();
  split into "figure out what needs to be written" and calling
  that writing-function, so that we can test / check / log
  if needed between the two.
2021-09-21 13:13:21 +02:00
Adriaan de Groot
118e18ac60 [initcpiocfg] Code-shuffle
- put the system-information and -detection functions at top
  and the "do the actual work" things below
- don't mix the boolean do-we-use-this flags with the
  lists of files and modules which are the important
  parts of modify_mkinitcpio_conf
2021-09-21 13:03:13 +02:00
Adriaan de Groot
7c3c7c4ff7 [initcpiocfg] Use booleans for boolean values
(as previous) Use False/True rather than ""/"yes" for
keeping track of does-the-system-use-lvm2.
2021-09-21 12:54:18 +02:00
Adriaan de Groot
7f7dc04e8d [initcpiocfg] Use bools for boolean values
Having "" and "yes" as values is a bit shell-script-ish.
Use a regular boolean value instead; simplify code
while we're at it.
2021-09-21 12:52:16 +02:00
Adriaan de Groot
45daebd989 [initcpiocfg] Refactor CPU-characteristics determination
The code is still over-wrought, but the API for cpuinfo
now exposes the interesting thing (is it Intel?) in
a useful -- more readable -- way.
2021-09-21 12:42:58 +02:00
Adriaan de Groot
ee4da8fcc7 Merge branch 'issue-1786' into calamares
FIXES #1786
2021-09-21 12:20:12 +02:00
Adriaan de Groot
9f803905cb Changes: post-release housekeeping 2021-09-21 12:13:25 +02:00
Adriaan de Groot
1d812f88ce [luksbootkeyfile] Bump timeout for adding LUKS keyfile 2021-09-21 12:12:07 +02:00
Adriaan de Groot
ada13c19fd [libcalamares] Simplify filling the entropy buffer 2021-09-21 12:02:26 +02:00
Adriaan de Groot
a393ffe126 [luksbootkeyfile] Don't dd in the target to get entropy 2021-09-21 11:58:22 +02:00
demmm
9c1e635804 [keyboardq] fix xml files, xml id has to be first 2021-09-17 15:01:27 +02:00
Adriaan de Groot
593c1ca0e2 i18n: update languages list 2021-09-17 13:12:49 +02:00
Calamares CI
8ebd69f4cf i18n: [calamares] Automatic merge of Transifex translations 2021-09-17 12:58:10 +02:00
demmm
5a83b036b8 CHANGES: update the keyboardq improvements 2021-09-17 12:40:55 +02:00
Adriaan de Groot
8f1ec4e34a Changes: mention keyboardq improvements 2021-09-17 11:53:44 +02:00
Adriaan de Groot
4e63390e17 Changes: pre-release housekeeping 2021-09-17 11:52:16 +02:00
demmm
65b9bb0d6b [keyboardq] set proper SPDX headers
rename wrongly named shift.license
2021-09-16 15:01:37 +02:00
Calamares CI
252ec6bcf2 i18n: [python] Automatic merge of Transifex translations 2021-09-16 10:57:53 +02:00
Calamares CI
51f400d8bb i18n: [calamares] Automatic merge of Transifex translations 2021-09-16 10:57:53 +02:00
Adriaan de Groot
2988f9a651 Merge pull request #1782 from killajoe/patch-1
[shellprocess] fix typo in conf
2021-09-15 14:27:13 +02:00
Adriaan de Groot
d3bd4f49fa Changes: document fixes and contributors 2021-09-15 13:33:58 +02:00
Adriaan de Groot
f49627f417 [libcalamaresui] Improve sizeLimit handling in log upload
The log sizeLimit can be 0 (disable log upload) but that's
not so clear in the code. While here, tidy up and add
some comments to surprising bits.
2021-09-15 13:30:06 +02:00
Adriaan de Groot
b587358b11 Merge pull request #1785 from killajoe/patch-1
Branding: improve sizeLimit docs
2021-09-15 13:24:37 +02:00
Johannes Kamprad
e189faabe5 Update branding.desc
hint on sizeLimit must be set to have the log option work.
2021-09-14 16:54:29 +02:00
Calamares CI
34b4661268 i18n: [python] Automatic merge of Transifex translations 2021-09-13 12:53:36 +02:00
Calamares CI
9562100580 i18n: [calamares] Automatic merge of Transifex translations 2021-09-13 12:53:36 +02:00
Johannes Kamprad
e98bf0da72 Update shellprocess.conf
a minor typo
2021-09-12 13:47:38 +02:00
Adriaan de Groot
cefe3dd4ff [tracking] Add Q_OBJECT, sanitize API 2021-09-08 13:31:17 +02:00
Adriaan de Groot
8d71e67a75 Add Q_OBJECT macro where it's missing
- Transifex tools complain about missing Q_OBJECT (which makes
  some sense -- you end up with a different context for calls
  to tr(), of the base class).
2021-09-08 13:23:20 +02:00
Calamares CI
b933485394 i18n: [python] Automatic merge of Transifex translations 2021-09-08 13:09:16 +02:00
Calamares CI
11c79ee537 i18n: [calamares] Automatic merge of Transifex translations 2021-09-08 13:09:16 +02:00
Adriaan de Groot
3380da638e Merge pull request #1774 from demmm/calamares
[keyboardq] add interactive keyboard preview
2021-09-08 11:58:36 +02:00
Adriaan de Groot
87eb5300d2 Merge branch 'load-qtbase' into calamares
FIXES #1688
2021-09-08 11:29:15 +02:00
Adriaan de Groot
e47dc4aa78 [partition] Fix build with translated buttons 2021-09-08 11:28:38 +02:00
Adriaan de Groot
4a6753c867 [packagechooser] Restore (renamed) include that is needed after all 2021-09-08 11:26:21 +02:00
Adriaan de Groot
226419f794 [partition] Translate button texts in warning boxes 2021-09-08 11:15:12 +02:00
Adriaan de Groot
6e0a8d8ca1 [libcalamaresui] Translate button texts for paste-message 2021-09-08 11:15:12 +02:00
Adriaan de Groot
7516740bbf [interactiveterminal] Fix up standard buttons 2021-09-08 11:15:12 +02:00
Adriaan de Groot
dcfbb766dc [libcalamaresui] Use fixed standard-buttons labels
Move some of the texts to the new TranslationFix, from ViewManager,
and use them. Keep them in ViewManager, too, so that the translations
with context ViewManager are not removed just now.
2021-09-08 11:14:46 +02:00
Adriaan de Groot
8c84ae9ff6 [license] Remove unused header 2021-09-08 11:14:46 +02:00
Adriaan de Groot
683bad19fc i18n: introduce a "TranslationFix"
This is intended to apply translations to some common Qt UI components.

Example: a QMessageBox with standard buttons OK and Cancel; the text
for that is determined at startup using the system locale, and later
changes to the current locale or the current translation catalog,
do not affect OK and Cancel. It might be possible to load a catalog
with the right translation strings, except that there is no way to
know what the context or catalog **is** for the strings that are
used to label standard buttons: they can come from Qt base, or
the platform, or the theme. Merely loading the Qt Base translations
for the correct language does not help, because those translations
do not contain an "OK" string with the context used for standard
buttons.

Do the translation by hand; then we have all of the Calamares
languages covered, too, which is more than the Qt translations do.
2021-09-08 11:14:46 +02:00
Adriaan de Groot
438302fcf5 i18n: Shuffle the build so that all the bits are in lang/
Move the CMake code responsible for building the translations from
the src/calamares directory (yeah, yeah, the translations need to
link into the executable) into lang/ (which is where the source
and other infrastructure lives).
2021-09-08 11:14:46 +02:00
Adriaan de Groot
06d12fc924 [packagechooser] Remove unneeded include 2021-09-08 11:04:35 +02:00
Adriaan de Groot
24162cb162 i18n: repair language names for Chinese
Prompted by Linlinger, I've reconsidered the names of languages
in the drop-down in the welcome page. We already have the
infrastructure for assigning specific names / locales to
"Calamares locale names" (which match Transifex names, not
necessarily Qt names). Use that to put exactly two Chinese-
language translations in the drop-down:
- Simplified Chinese (code zh_CN)
- Traditional Chinese (code zh_TW)
Drop zh (which is a peculiar locale name anyway) and zh_HK
(which is Traditional Chinese, but using the geographic
boundary is a bit weird; we're going to ignore the
minor orthographic differences with Traditional Chinese
written elsewhere for now).

Note that this makes the drop-down show "Chinese"
in the English column, twice; the difference is visible
only in the native-language representation.

SEE #1741
2021-09-07 15:47:30 +02:00
Adriaan de Groot
e11b42ce50 Merge branch 'refactor-translation' into calamares 2021-09-07 15:35:43 +02:00
Adriaan de Groot
4e60f8af13 [libcalamares] Use strong types for locale Ids
Change the API to force strong type for more methods.
This cascades to a couple of consumers.
2021-09-07 12:51:57 +02:00
Adriaan de Groot
3ff5896dc6 [libcalamares] Remove unused method 2021-09-07 12:35:47 +02:00
Adriaan de Groot
5f4e65bc77 [libcalamares] Code-format Retranslator, hide internal symbols 2021-09-07 12:35:37 +02:00
Adriaan de Groot
ad1a4b6479 [libcalamares] APIdox on Translation 2021-09-07 11:42:32 +02:00
Adriaan de Groot
73bfc6ca32 [libcalamares] Use structured bindings to unpack a std::pair 2021-09-07 11:38:54 +02:00
demmm
79cc616de2 [keyboardq] add interactive keyboard preview
rewrite of keyboardq.qml, reduce stackview to 2, use a combobox for
keyboard models list
colors set to configurable
.xml files used for keyboard layouts, about a dozen added now
builds, runs, actions record as intended, GS filled correctly
2021-09-06 19:25:16 +02:00
Adriaan de Groot
5e7746668e Merge branch 'calamares' into refactor-translation 2021-09-06 15:38:42 +02:00
Adriaan de Groot
ada9a99804 Changes: post-release housekeeping 2021-09-06 15:16:40 +02:00
Adriaan de Groot
0aa2603a23 [libcalamares] Fix network-connectivity check on old Qt
With old Qt, Calamares could only run one check on a thread,
because the NAM would be switched to NotAccessible --
subsequent checks would fail because the NAM is already
hard-set to NotAccessible, so it could never be turned back
on by Calamares code.

Reset the accessible flag for the NAM while checking if
the internet is there.
2021-09-06 14:44:52 +02:00
Adriaan de Groot
0851a8a6a4 Merge branch 'issue-1769' into calamares
FIXES #1769
2021-09-06 13:23:59 +02:00
Adriaan de Groot
44e66c1318 [keyboard] Fix mapping for India + English
- India (when in English) should use the English variant, not Hindi
- While here, fix up minor items in code:
  - Typo in comment
  - Asturian doesn't need a special case (which didn't match, anyway)
  - Don't debug-log a country-name that might be entirely wrong
    (the layout is English, variant "in" but "in" interpreted as
    a country is Indonesia, and the actually-desired name is eng_in
    which isn't a QLocale name at all -- just like the Hausa and Igbo
    special cases)
2021-09-06 13:18:12 +02:00
Adriaan de Groot
b237c73a04 [shellprocess] Fix test
The test was loading the config file (for testing) either from the
build directory or possibly the source directory; if the config
in the build-dir was edited (for other testing purposes) then
the test would fail. Load only the source-dir version of the file.
2021-09-06 12:49:49 +02:00
Adriaan de Groot
563c149217 i18n: update english sources, too 2021-09-06 12:39:37 +02:00
Adriaan de Groot
6017420dde [welcome] Fix up and expand tests
- improve logging
- fix failing tests -- the observed and expected behavior is
  to fill in a fallback check-URL, not change to an empty list,
- **except** if there's no requirements key in the config
  at all; this is a bit weird, but let's make the tests
  document existing behavior so we can notice if it changes.
2021-09-06 12:35:24 +02:00
Adriaan de Groot
4948f634ed [keyboard] Code tidy
- complain just once (globally) if ckbcomp is not found, rather than
  at every update to the layout.
- tighten up QStringList constructor.
2021-09-06 12:06:11 +02:00
Adriaan de Groot
a1fce99a05 i18n: update language lists
Keep zh_HK in 'ok' even if technically it doesn't qualify.
2021-09-06 11:39:01 +02:00
Calamares CI
37bdfb9faa i18n: [python] Automatic merge of Transifex translations 2021-09-05 14:20:31 +02:00
Calamares CI
9c435e0173 i18n: [calamares] Automatic merge of Transifex translations 2021-09-05 14:20:30 +02:00
Adriaan de Groot
07572d36c0 Changes: pre-release housekeeping 2021-09-05 14:18:52 +02:00
Adriaan de Groot
42bc197f67 Merge branch 'fix-pckq' into calamares 2021-09-06 11:27:09 +02:00
Adriaan de Groot
ea32c12938 Changes: credits for recent work 2021-09-06 11:26:59 +02:00
Adriaan de Groot
c24b2b1a8b Merge branch 'issue-1773' into calamares
FIXES #1773
2021-09-06 10:51:38 +02:00
Adriaan de Groot
5a6e033e82 [bootloader] Flags for root-on-BTRFS
This is directly derived from Anke Boersma's KaOS code in module
*bootldr*, which adds the same kernel parameter via a slightly
different route.
2021-09-05 13:34:38 +02:00
Adriaan de Groot
e311d7a893 [packagechooser] Remove 'id' configuration setting
- Setting 'id' (which changes the Global Storage key that
  gets used) is a kludge when the existing module-instance
  name can be used instead -- and **was** already used, as
  a fallback when 'id' is not set. There's no point in having
  two places to set a particular name.
- Rip out the docs for 'id' as well.
- Add documentation on the difference between single-selection
  (the QML implementation) and model-selection (what the Widgets
  version does).
2021-09-03 23:59:11 +02:00
Adriaan de Groot
6def41fab4 [packagechooserq] Remove debug-output in QML 2021-09-03 22:57:17 +02:00
Adriaan de Groot
33e7e8da58 [packagechooser] Massage API
- use updateGlobalStorage() for both single-selection and
  model-based approaches, although the model-based one
  needs extra parameters.
- complain about inconsistent settings and API calls (e.g.
  setting a model and single-selection at the same time)
2021-09-03 22:41:13 +02:00
Adriaan de Groot
8a49fde016 [packagechooserq] Apply renaming also to distro-visible code
- The distro-visible key is renamed *pkgc* to *packageChoice*
- Read *packageChoice* only if there are no items to use
2021-09-03 21:21:44 +02:00
Adriaan de Groot
8b703ba6a3 [packagechooserq] More docs for the config file 2021-09-03 21:21:44 +02:00
Adriaan de Groot
c367731c42 [packagechooser] Rename internals
- pkgc -> packageChoice and similar for methods, variables
- document that this is the convenience value for one-selection
  QML modules, not a full model
- use std::optional to keep track of which one is being used.
2021-09-03 21:21:44 +02:00
Adriaan de Groot
47c504df5d [welcome] add SPDX-tags to test-data 2021-09-03 21:21:44 +02:00
Adriaan de Groot
1a1009a2a9 [summaryq] add SPDX-tags 2021-09-03 21:21:44 +02:00
Adriaan de Groot
61ee55db6a Merge pull request #1770 from dr460nf1r3/calamares
[fstab] Dont set fsck check for BTRFS in fstab
2021-09-03 21:00:00 +02:00
dr460nf1r3
35156574b8 Dont set fsck check for BTRFS in fstab 2021-09-03 20:49:08 +02:00
demmm
57f2a4c9eb update CHANGES with what was done for QML modules 2021-08-31 22:38:48 +02:00
Adriaan de Groot
638c9feeb6 Merge branch 'issue-1767' into calamares
FIXES #1767
2021-08-31 14:04:05 +02:00
Adriaan de Groot
2f88ba0d3f [partition] Coding style 2021-08-31 14:03:04 +02:00
Adriaan de Groot
09491e4cbb [partition] expect failures when kpm can't read the disk 2021-08-31 13:58:23 +02:00
Adriaan de Groot
1554c3a07c [partition] Create KPM backend at start of test 2021-08-31 13:54:23 +02:00
Adriaan de Groot
3d0709c779 [partition] Avoid crash when there is no KPM backend 2021-08-31 13:46:25 +02:00
Adriaan de Groot
ede19c8a61 [partition] Fix build of devices test 2021-08-31 13:45:15 +02:00
Adriaan de Groot
3519697d0e [libcalamares] Slightly more memory-safe
Use unique_ptr to ensure Private is always deleted.

SEE #1758
2021-08-31 12:54:51 +02:00
Adriaan de Groot
0899eefde7 [packagechooserq] Fix build on Debian, openSUSE with AppStream 2021-08-31 11:33:05 +02:00
Adriaan de Groot
d7767afe1b Merge branch 'extra_qml' into calamares 2021-08-30 23:17:36 +02:00
Adriaan de Groot
6831fac76b Changes: document newly-merged 2021-08-30 22:34:57 +02:00
Adriaan de Groot
6f16d3db83 Merge remote-tracking branch 'origin/issue-1761' into calamares
FIXES #1761
2021-08-30 22:33:03 +02:00
Adriaan de Groot
b9a1d090ec Merge pull request #1762 from demmm/calamares
[localeq] redo i18n.qml
2021-08-30 13:57:17 +02:00
Adriaan de Groot
bcfd9ec355 Merge pull request #1765 from waneon/pr
[partition] Fix invalid variable name
2021-08-29 02:11:15 +02:00
waneon
4bf3afac48 [partition] Fix invalid variable name 2021-08-27 19:18:09 -04:00
Adriaan de Groot
da49becac3 [partition] Tailor warning message about ESP
- tell the user all the things that are wrong with the
  (proposed) ESP; a missing one gets all the suggestions.
2021-08-27 17:28:07 +02:00
Adriaan de Groot
6324fa3eb9 [partition] Disentangle questions of suitability of ESP
- split into size, type, flags so the warning message can
  be tailored to what is wrong.
2021-08-27 17:27:26 +02:00
Adriaan de Groot
7d08770806 [partition] Apply code style 2021-08-27 17:26:50 +02:00
Adriaan de Groot
52a82ea1e6 [partition] Improve warning message in log 2021-08-26 17:39:06 +02:00
Adriaan de Groot
46ca4d93e7 [partition] Improve constness, naming 2021-08-26 17:30:55 +02:00
Adriaan de Groot
4e8d67052f Changes: describe partition changes 2021-08-26 17:24:19 +02:00
Adriaan de Groot
ad9306d7bb Merge pull request #1749 from LordTermor/calamares
[partition] Disable delete button for extended partition
2021-08-26 17:18:09 +02:00
Adriaan de Groot
51c18baedb Merge branch 'issue-1669' into calamares 2021-08-26 17:15:03 +02:00
Adriaan de Groot
f376b42c31 [welcome] Add a handful of tests for different URL configs 2021-08-26 16:58:46 +02:00
Adriaan de Groot
ad76a2cbe8 [welcome] [welcomeq] Move requirements to Config
The Config object can hold all of the configuration information,
including also the requirements-checking parts. Move requirements-
checking configuration there, so it is shared and consistent
across welcome and welcomeq, regardless.

This repairs the test that expects the Config object to handle
**all** of the configuration, too.
2021-08-26 16:39:55 +02:00
Adriaan de Groot
67d2b5568d [welcome] Fix test, check that the internet check URLs are loaded 2021-08-26 14:40:52 +02:00
Adriaan de Groot
0538881447 [libcalamares] Handle multiple invalid URLs at once
- expand tests with example where more than one URL is invalid
- fix the call to the wrong overload of QVector::erase()
2021-08-26 14:32:57 +02:00
Adriaan de Groot
653359d815 [libcalamares] Fix up multiple URLs for checkinternet
- was filtering out the wrong URLs
- was not actually removing the invalid URLs
- extend API to make it possible to count / confirm the settings
- extend tests to demonstrate that API and the issues
2021-08-26 12:57:40 +02:00
demmm
7bfb769288 [localeq] redo i18n.qml
set colors as vars, mostly kirigami colors, to make it work for boths dark & light themes
highlights now full width and on hover
currentindex still at -1, not implemented in cofig.cpp/h, possible to use js, or is
https://github.com/calamares/calamares/blob/calamares/src/modules/locale/LCLocaleDialog.cpp#L43 accessible to QML?
2021-08-26 12:05:38 +02:00
Adriaan de Groot
d5e6e1075d [welcome] Expand stub tests to check that crashes are gone 2021-08-24 13:37:02 +02:00
Adriaan de Groot
e0ee2d9514 [welcome] Handle nullptrs nicely in Config
- Branding, Settings, and ModuleManager may all be nullptr,
  in which case the corresponding code shouldn't call methods
  of those instances -- this is demonstrated by just creating
  a Config object
2021-08-24 12:50:03 +02:00
Adriaan de Groot
1e05e7996b [libcalamares] Avoid cError + SubEntry
The combination of Error and SubEntry loses the indentation.
2021-08-24 12:32:48 +02:00
Adriaan de Groot
14c26d01af [libcalamares] Warnings for nullptr Settings 2021-08-24 12:30:44 +02:00
Adriaan de Groot
e9a98f35ad [welcome] Avoid crash when no Branding available
- don't install translators twice -- do it in setLocaleIndex only
- avoid crash if the branding instance is nullptr
2021-08-24 11:58:24 +02:00
Adriaan de Groot
38c65e80f3 [libcalamaresui] Warn when asking for nonexistent Branding instance 2021-08-24 11:57:37 +02:00
Adriaan de Groot
f1a47a9f0a [welcome] Add (stub) test for the Config object
This crashes because there's no translations object yet,
but that is an internal issue.
2021-08-24 10:24:11 +02:00
Adriaan de Groot
c79fc2e6d9 [libcalamares] Add urls only if valid, add tests to check that 2021-08-24 10:00:42 +02:00
Adriaan de Groot
b9f22a7526 Changes: mention the networkcfg improvement 2021-08-23 17:37:08 +02:00
demmm
bf677df6ca Merge pull request #1755 from demmm/calamares
[networkcfg] add setting the correct target user in copied file
Fixes https://github.com/calamares/calamares/issues/1754
2021-08-16 20:33:08 +02:00
demmm
805fed559c [networkcfg] use os.getlogin()
cala running as root returns root for live_user otherwise
2021-08-16 20:17:07 +02:00
demmm
8913317a44 [networkcfg] add setting the correct target user in copied file
see https://github.com/calamares/calamares/issues/1753
2021-08-16 14:06:13 +02:00
Artem Grinev
74a3a2da78 [partition] Fix Delete button for extended
Extended partition can't be removed when contains children. This commit
adds missing check.
2021-08-12 02:13:16 +04:00
Adriaan de Groot
854eb845d2 [partition] Fix build of layoutstest
This test needs UI because the devicemodel uses GUI parts.
2021-08-05 15:49:29 +02:00
Adriaan de Groot
22ba21f937 [partition] Stub of a test of scandevice 2021-08-31 13:16:45 +02:00
Adriaan de Groot
e294221a2d [partition] Rename test executables
- all partition tests are now named partition<thing>test
2021-08-31 13:08:54 +02:00
Adriaan de Groot
8a2f60a03a Changes: post-release housekeeping 2021-08-05 15:29:23 +02:00
Adriaan de Groot
b7a3f58df4 [partition] Update waiting widget only if it (still) exists 2021-08-05 14:51:31 +02:00
Adriaan de Groot
a1690ac2d6 [partition] Set up swap-choice texts correctly 2021-08-04 01:47:55 +02:00
Adriaan de Groot
0be4c38a87 [partition] Remove useless parameter
- previously, updateSwapChoicesTr() wanted to be a static free function,
  but it needs QObject::tr() ; drop the unnecessary parameter (since it
  is a member function).
2021-08-04 01:45:22 +02:00
Adriaan de Groot
390acd41b2 [partition] Factor out manual partitioning translation
- needs to be called when the button is created, too
2021-08-04 01:42:00 +02:00
Adriaan de Groot
c5fa6383d7 [welcome] Remove annoying debug message 2021-08-05 14:25:20 +02:00
Adriaan de Groot
2820316d16 Partition: don't set text if button doesn't exist 2021-08-05 14:23:11 +02:00
Adriaan de Groot
670d8089bc Changes: pre-release housekeeping 2021-08-05 14:16:28 +02:00
Adriaan de Groot
1452b74740 [welcome] Load potentially a list of URLs to check 2021-08-01 23:52:27 +02:00
Adriaan de Groot
2f3062f4c2 [libcalamares] Fix typo in comment 2021-08-01 23:49:33 +02:00
Adriaan de Groot
81fe8b1488 [libcalamares] Expand API for setting URLs to check 2021-08-01 22:37:13 +02:00
Adriaan de Groot
b8583a1e59 [libcalamares] Expand the number of URLs to check for connectivity
- introduce a list of URLs instead of just one
- ping each of them, in turn, until one responds
2021-08-01 22:07:51 +02:00
Adriaan de Groot
12a361556b Changes: post-release housekeeping 2021-08-01 21:26:06 +02:00
Adriaan de Groot
07a9e3dd46 CHANGES: release date 2021-07-31 00:41:27 +02:00
Adriaan de Groot
1297845e31 i18n: update language lists
I'm specifically putting zh_HK in the 'ok' list so it is selectable,
because that's what we need to be able to improve it most quickly,
2021-07-31 00:39:37 +02:00
Adriaan de Groot
559c53b09c [libcalamares]: stronger type for translation name
QString -> Id for translations in the external API, to avoid
accidentally converting a QLocale name (e.g. ca_ES) into a
Calamares translation name. This preserves special-cases
like ca@valencia and sr@latin.
2021-07-28 14:22:28 +02:00
Adriaan de Groot
bc9d8fb13a [libcalamares] Rename files Label -> Translation 2021-07-28 14:22:28 +02:00
Adriaan de Groot
bf9f1c95bc [libcalamares] Rename classes describing Translations
- the name 'Label' was a relic of the class being UI-centered
2021-07-28 14:22:28 +02:00
Adriaan de Groot
d6825c4986 [libcalamares] Fix linking with renamed targets 2021-07-28 13:20:35 +02:00
Adriaan de Groot
3596b48c7a [libcalamares] Factor out common string in Python logging
- enforce consistent [PYTHON JOB]
- use CDebug() constructor, because the convenience macro's
  introduce the function name -- that's the C++ function, so
  it isn't useful for logging.
2021-07-28 13:13:39 +02:00
Adriaan de Groot
fc2286117d [packages] Move package-list-logic into PM base class 2021-07-28 13:13:39 +02:00
Calamares CI
e577cd4495 i18n: [python] Automatic merge of Transifex translations 2021-07-26 20:56:52 +02:00
Calamares CI
9bf7212458 i18n: [calamares] Automatic merge of Transifex translations 2021-07-26 20:56:52 +02:00
Adriaan de Groot
54d31c85e7 Merge branch 'issue-1744' into calamares
FIXES #1744
2021-07-31 00:27:49 +02:00
Adriaan de Groot
2b485a5e59 [keyboard] Only guess layouts until the user picks one
- when activating the page, the "guess" functions do their
  work and afterwards the config is left in a "guessable"
  state, but if the user makes a specific choice, then
  the config leaves the "guessable" state and the user's
  explicit choice is preserved.

FIXES #1744
2021-07-31 00:24:10 +02:00
Adriaan de Groot
a65723d4da [libcalamares] Extend cPointerSetter with initial-value
This is a convenience for "set <some variable> to <some value>
at end of scope".
2021-07-31 00:20:27 +02:00
Adriaan de Groot
12b23db286 [keyboard] Re-phrase API
- expose only intended API, guessLayout() becomes internal and static
- rename onActivate() since it was *called* for activation, but does
  something totally different.
2021-07-30 22:17:26 +02:00
Adriaan de Groot
f38b518e86 [keyboard] Factor out lambdas to regular slots
- Long and complicated, nested, lambdas are not convenient for reasoning.
- The debug messages from the innermost lambda have a totally useless
  function name, which makes debugging harder.
2021-07-30 13:22:40 +02:00
Adriaan de Groot
7e0e063c3f Changes: pre-release housekeeping 2021-07-30 12:54:47 +02:00
Adriaan de Groot
e8cb5c621a [partition] Fix build 2021-07-26 20:54:43 +02:00
Adriaan de Groot
616f3d4fd7 [partition] Simplify retranslation of swap choices and manual partitioning 2021-07-26 16:18:31 +02:00
Adriaan de Groot
e0b8942242 [partition] Introduce retranslate slot for ChoicePage, code style 2021-07-26 16:12:41 +02:00
Adriaan de Groot
954e8ee3f8 [libcalamares] warnings-- with a deduction guide 2021-07-26 15:18:21 +02:00
Adriaan de Groot
4114a2bbe8 CMake: chase renamed YAMLCPP 2021-07-26 15:08:29 +02:00
Adriaan de Groot
ce67712009 CMake: rename imported yamlcpp library
- call it yamlcpp::yamlcpp

This is source-incompatible if targets link explicitly to yamlcpp
2021-07-26 15:04:46 +02:00
Adriaan de Groot
03e621f4a2 Modules: clean up linking
- do not link (explicitly) to Calamares libraries, the CMake
  functions do that automatically.
- while here, tidy and remove commented-out-bits
- while here, remove unneeded includes
2021-07-26 15:04:43 +02:00
Adriaan de Groot
4d1630bf8b CMake: tidy up automatic linking of Calamares libraries
- Modules and plugins don't need to mention libcalamares themselves
  for linking -- we can do that automatically. Use the IMPORTED names
  so that it works in Calamares main repo and external repositories.
- Complain about unknown module types.
2021-07-26 14:27:52 +02:00
Adriaan de Groot
cbb1a5ef36 CMake: within Calamares repo, use the (eventual) imported names of libraries 2021-07-26 14:22:28 +02:00
Adriaan de Groot
a1fb83bdc4 i18n: fix typo and code-style 2021-07-26 11:16:26 +02:00
Adriaan de Groot
53fb16437f i18n: factor out special cases
- allow special Locale or special Name for a translation (or both)
2021-07-25 23:38:09 +02:00
Adriaan de Groot
0e977a7e42 i18n: introduce special case for ca@valencia 2021-07-25 23:18:05 +02:00
Adriaan de Groot
740f1e7fe5 i18n: simplify Label handling of sr@latin 2021-07-25 23:13:44 +02:00
Adriaan de Groot
85a1eb95ee [welcome] Some translation / label fixes
- the message had been arbitrarily changed; change it back
- update (warning) message when there is progress in checking the
  model, so it doesn't stay at "unchecked" until you change language
- minor clean-ups
2021-07-25 00:08:47 +02:00
Adriaan de Groot
243c4e6b02 Merge branch 'fix-retranslate' into calamares
Improve the Retranslator framework so it also affects Config objects.
2021-07-24 23:27:18 +02:00
Adriaan de Groot
59f11e9b67 i18n: make retranslator more consistent
- Improve naming.
- Both lambda and slot versions call the code immediately.
2021-07-24 23:26:02 +02:00
Adriaan de Groot
613d076a60 i18n: re-do the whole Retranslator infrastructure
Just have **one** Retranslator object, and install it as event-filter
(this needs to be done manually on a top-level widget) and use
signals / slots to do the actual work, rather than filtering
in multiple places and doing our own mediocre version of binding-
signal-to-lambda.
2021-07-24 23:18:03 +02:00
Adriaan de Groot
51c5c9ba26 [welcome] Switch to using the message from the Config object
- The Config object owns the requirements model, and has messages /
  strings describing the state of the model. Use that message,
  dropping the duplicate message from the requirements widget.
- Re-jig to pass the Config object around rather than the model
  that it owns.
- This does not work, because translation events do not arrive
  (and the slot isn't called automatically either).
2021-07-24 23:15:05 +02:00
Adriaan de Groot
b81bc17560 [welcome] Log when translation events arrive 2021-07-24 16:59:38 +02:00
Adriaan de Groot
f32671ebab libcalamares: remove declaration that was never implemented 2021-07-23 22:51:08 +02:00
Adriaan de Groot
604535f65a CMake: find YAMLCPP when asked to find Calamares 2021-07-23 17:37:12 +02:00
Adriaan de Groot
4b2b74bdbd [libcalamaresui] Do not link publicly to yamlcpp 2021-07-23 17:23:30 +02:00
Adriaan de Groot
949f9e466f [summary] createContentWidget is called exactly once, refactor 2021-07-20 16:24:29 +02:00
Adriaan de Groot
d6fe30dfdb [summary] No need for widget-creation to be a method of the Page 2021-07-20 16:21:59 +02:00
Adriaan de Groot
5de99d53d2 [summary] Move title to Config object
Rather than Config asking its (owning) ViewStep what the title
is -- all existing implementations have a prettyName() for that --
move the title into Config and re-do-the ViewSteps to use it.

Rename init() to something meaningful.
2021-07-20 16:00:53 +02:00
Adriaan de Groot
4e588584d7 [summary] Hook up Config message to page
- the Page displays a simple message describing what the
  summary is all about; Config has the same message,
  use that. Needed some re-jigging to get the signals
  and slots right.
2021-07-20 15:49:03 +02:00
Adriaan de Groot
9eee00c286 [summary] Create Config object
- Create Config object, even if it's not used just yet
- Introduce onLeave() for the Page, better name than
  (re-)creating the content (!?) when leaving
2021-07-20 15:17:35 +02:00
Adriaan de Groot
aba212d700 [summary*] Move Config to the non-QML module, so it can be shared 2021-07-20 14:57:09 +02:00
Adriaan de Groot
f8c3b76367 [summary] Stylistic fixes before moving Config objects around 2021-07-20 14:49:08 +02:00
Adriaan de Groot
6c7e7a6d55 [summaryq] a handful of code-style fixes 2021-07-20 14:45:55 +02:00
Adriaan de Groot
401a090cae Merge remote-tracking branch 'origin/fix-usersq' into calamares
Repair the colors, since the basic Kirigami theme does not
look nice at all. While at it, refactor to put the colors
of the usersq module all in one place, so easy to changes
consistently (e.g. to Kirigami colors if you know your theme
is a good one).
2021-07-17 15:52:04 +02:00
demmm
c98b5d7667 [usersq] replace one more (missed) kirigami color 2021-07-16 18:19:10 +02:00
demmm
6bdc655719 [usersq] complete using names for colors
add line breaks
add negative outline color
2021-07-15 19:30:43 +02:00
Adriaan de Groot
1bf73c29c4 [usersq] Use a name instead of a magic number 2021-07-15 17:05:49 +02:00
Adriaan de Groot
56f71501cc [usersq] Back out color-scheme merge 2021-07-15 16:54:02 +02:00
Adriaan de Groot
e361f52415 Merge pull request #1738 from Nitrux/calamares
[usersq]: use system colorscheme instead of hardcoded colors
2021-07-14 16:41:35 +02:00
Calamares CI
ec99079cdf i18n: [python] Automatic merge of Transifex translations 2021-07-14 13:03:42 +02:00
Calamares CI
8f13e7abb4 i18n: [calamares] Automatic merge of Transifex translations 2021-07-14 13:03:42 +02:00
Adriaan de Groot
3a5334071d [packages] Fix wording problem 2021-07-14 12:54:07 +02:00
Adriaan de Groot
bc77478b2a [calamares] Expand test-mocks for Python
- the rawfs module uses more parts of the subprocess Python module
  and so needs more things mocked for testing.
2021-07-14 09:29:20 +02:00
Adriaan de Groot
0d2763f68a Changes: pre-release housekeeping 2021-07-14 09:02:16 +02:00
Adriaan de Groot
9051faf062 CMake: update language list
The list suggests things are not-so-good because of recently-pushed
changes to the translations and teams haven't had time to react.
There are also some new duplicate languages.
2021-07-14 00:08:55 +02:00
Calamares CI
afedc8475d i18n: [python] Automatic merge of Transifex translations 2021-07-14 00:08:55 +02:00
Calamares CI
293844072d i18n: [calamares] Automatic merge of Transifex translations 2021-07-14 00:08:55 +02:00
Adriaan de Groot
235db9f961 [summaryq] No need to be a ParserStatus object
Config classes, which intend to be shared between widgets-
and QML-based view-steps, should not tie closely to internals.
None of the ParserStatus methods are used in a meaningful
way (init() can be called by the view step).
2021-07-13 22:07:06 +02:00
Adriaan de Groot
768760793a [summaryq] Hide internals of building the summary model 2021-07-13 22:04:01 +02:00
Adriaan de Groot
792ba8c0af [summaryq] Nothing uses the derived type of the model
(This assertion may be dialed back if the Config object is used
in the summary ViewStep, which will want to get at the widget
pointers, but that's for later)
2021-07-13 21:29:17 +02:00
Adriaan de Groot
a658e88575 [summaryq] Nothing in the Config is specific to this QML view-step 2021-07-13 21:25:57 +02:00
Adriaan de Groot
a316f1b40d [summaryq] Repair translatable properties
- doesn't make sense to have NOTIFY and CONSTANT
- connect to translation signals
- document the properties
2021-07-13 20:42:19 +02:00
demmm
1570105ddb [usersq] correct plural form as reported in IRC 2021-07-13 12:46:04 +02:00
Adriaan de Groot
3b7c2b2221 [summaryq] Remove memory leak
Don't use a vector of pointers, it is too easy (like when calling clear())
to leak memory.
2021-07-13 11:02:24 +02:00
Adriaan de Groot
d2e11dd5d1 [summaryq] Apply coding style 2021-07-13 10:36:05 +02:00
Adriaan de Groot
c2d0a247a3 [partition] Simplify code for overloads 2021-07-12 16:52:24 +02:00
Adriaan de Groot
b43759c6a5 [partition] Apply coding style 2021-07-12 15:42:54 +02:00
Adriaan de Groot
e8b17b9878 [partition] Factor out the descriptions per-disk 2021-07-12 15:39:45 +02:00
Adriaan de Groot
400a5751f9 [partition] Factor out description of action in status and widget 2021-07-12 15:17:34 +02:00
Adriaan de Groot
535f81ba8a [partition] Factor out gather job-descriptions
Since prettyStatus() and the summaryWidget share a lot of
strings and code, start factoring that out.
2021-07-12 15:02:24 +02:00
Adriaan de Groot
7094c7bf39 [partition] Minor stylistic bits 2021-07-12 14:56:04 +02:00
Adriaan de Groot
fedfed5619 i18n: update english originals 2021-07-12 14:31:04 +02:00
Calamares CI
c2585749ac i18n: [python] Automatic merge of Transifex translations 2021-07-12 14:13:49 +02:00
Adriaan de Groot
a624d91433 Merge branch 'fix-btrfs-default-layout' into calamares
FIXES #1682
2021-07-07 13:12:59 +02:00
Adriaan de Groot
6b9a1530f8 [mount] Add test exercising partial-filtering 2021-07-07 13:08:11 +02:00
Adriaan de Groot
eb4ffe737e [mount] Fix logic
- filter() returns the items for which the predicate is True;
  we want to keep the subvolumes that do not have an explicit
  partition already associated.
- need list() to hammer it back into a list for appending swap subvol.
2021-07-07 12:57:08 +02:00
Adriaan de Groot
995646936f [mount] Add test exercising refactored btrfs code 2021-07-07 12:38:41 +02:00
Camilo Higuita
6ea73a8ca2 usersq: use system colorscheme instead of hardcoded colors 2021-07-06 18:56:45 -05:00
demmm
373b94b968 [packagechooser] Config files adjusted for new QML modules
function added to store selections from packagechooserq
line 103 in Config.cpp needs adjusting to restore working regular widget based packagechooser

prettyStatus added, made visible in packagechooserq only, ViewStep not altered in packagechooser for this yet
2021-07-06 19:37:28 +02:00
demmm
6ccdf79f77 [packagechooserq] adding packagechooserq
QML is not using a model as is now, pkgc option is used for setting the default state
2021-07-06 19:30:50 +02:00
demmm
6bb7df918d [summaryq] adding summaryq
initial work done by Nitrux/Camilo Higuita in 2020, reflected in license headers
C++ adjusted to make it build & work
as noted in the inline comments e80618ef1c
there are quite a few errors in the C++, but it builds, runs and shows the correct output
2021-07-06 19:09:20 +02:00
demmm
6388b41e6c [partition] adding prettyStatus
will be used in summaryq, reading from widgets not an option
section probably better suited for Config.cpp/h, since quite a bit of duplicated code from
createSummaryWidget
2021-07-06 18:59:58 +02:00
Adriaan de Groot
e800b2da2d [mount] Factor out swap-subvolume setting 2021-07-06 16:48:46 +02:00
Adriaan de Groot
cc357140e5 [mount] Factor out the subvolume-filtering for partitions 2021-07-06 16:43:56 +02:00
Adriaan de Groot
6b2088c94e [mount] Restore @home subvolume
In 942221c764 the fixed-setup
(with /@ and /@home) was replaced by the configurable btrfs
layout, but the default went away. Restore the two-subvolume
layout if nothing is configured.
2021-07-06 15:34:13 +02:00
Adriaan de Groot
3531896892 [mount] Factor out the default btrfs configuration 2021-07-06 15:31:00 +02:00
Adriaan de Groot
96c2c62470 [partition] Fix build on older KPMCore 2021-07-06 12:59:01 +02:00
Adriaan de Groot
a4fadcd9be [partition] Introduce check for EFI partition type-and-size
Re-use the existing message about partition type and size,
since I don't want to introduce another message with all the
specifics; give a works-always message instead.

The check itself is also straightforward, avoiding all of the
nuances and technically-this-might-work cases: FAT32, 300MiB+.

FIXES #607
2021-07-06 12:54:25 +02:00
Adriaan de Groot
b5c56fd579 [partition] Clarify comments on boot-flags 2021-07-05 13:33:09 +02:00
Adriaan de Groot
1a542d3afe [partition] Write out type rather than aliasing to T 2021-07-05 13:11:00 +02:00
Adriaan de Groot
7ea6768852 [partition] Pick slightly more sensible defaults for FS selection 2021-07-05 12:39:56 +02:00
Adriaan de Groot
56ecf01dea Merge branch 'pr-1667' into calamares
Allow user-selection of FS type

FIXES #1667
2021-07-05 12:31:58 +02:00
Adriaan de Groot
6a7a486b8c [partition] Document interactions between defaultFS and layout 2021-07-05 12:28:17 +02:00
Adriaan de Groot
f1c46d01e9 Merge pull request #1737 from demmm/calamares
[usersq] use validator for login & hostname
2021-07-05 11:28:48 +02:00
demmm
8b561a29f5 [usersq] add close button to all password message fields 2021-07-03 14:23:01 +02:00
demmm
fce798dadf [users] add an OK message to password message fields
empty text box on all good status in usersq is confusing
2021-07-03 14:21:07 +02:00
demmm
a156d2e63f [usersq] working password validity check
kirigami inlinemessages adjusted for password fields
coding style, break lines in variables
add closing button for root password inline message, needed bc of
re-use root password option does not remove all messages
2021-07-03 00:10:31 +02:00
demmm
ce699d8e3d [usersq] add warnings for forbidden names
root & localhost set as forbidden in loginname & hostname
2021-06-30 22:29:32 +02:00
demmm
00b6694073 [usersq] use validator for login & hostname
pallette for colors
inline warning messages now work, password fields checks included
left to implement are password validation inline messages
2021-06-30 18:29:32 +02:00
Adriaan de Groot
453d533d2c [partition] Use default FS for layout items with type Unknown 2021-06-29 23:47:33 +02:00
demmm
70df0b0bc8 [localeq] prevent MouseArea from stealing all map interaction
bug introduced with Qt 5.15 KDE patches makes near impossible to set location
adding - 5 seems to fix, otherwise the coordinates label will have to be removed
2021-06-29 17:41:07 +02:00
Adriaan de Groot
c3528e4e40 [partition] Document that the default FS is used, also when erasing 2021-06-29 14:52:16 +02:00
Adriaan de Groot
67fafa04ac [partition] Move fs-type handling into Config
- the defaultFileSystemType interacts with availableFileSystemTypes
  so set them together.
2021-06-29 14:47:09 +02:00
Adriaan de Groot
f494440895 [partition] Don't run bool allowManualPartitioning through GS
It's a bit over-wrought to store a bool in a QVariant in GS for
consumption **only** by ChoicePage, so drop that GS key and store
it locally.
2021-06-29 13:21:46 +02:00
Adriaan de Groot
5e3a0eda73 [partition] Reduce confused naming 2021-06-29 13:01:21 +02:00
Adriaan de Groot
ebecfb9f8b [partition] Simplify config-reading (now the variant-docs are better) 2021-06-29 12:21:14 +02:00
Adriaan de Groot
88be947f6c [libcalamares] Expand tests for Variant access
- document that getStringList() also handles strings as 1-element lists
2021-06-29 12:13:37 +02:00
Adriaan de Groot
46f2d72b4c [partition] requiredPartitionTableType: improve docs 2021-06-29 11:48:53 +02:00
Adriaan de Groot
5f7cfefed7 [partition] Migrate EFI settings-setting to Config object 2021-06-29 11:43:20 +02:00
Adriaan de Groot
c3bc305bb6 [partition] Shuffle Config and ViewStep to top
Modules nearly always have a Config and either a Job or ViewStep
as their "top level" components. Everything else is implementation-
detail. The *partition* module was unusual in that those two
"top level" components were tucked away in subdirectories.

Shuffle them to the top: this makes it more clear that these
two files are there to coordinate the module.
2021-06-29 11:22:47 +02:00
Adriaan de Groot
cba5b9e4fb [partition]: restore defaultFileSystemType in config
Add the old key back, document the new key, expand schema.
2021-06-28 22:25:54 +02:00
Adriaan de Groot
e5f93d3563 Changes: credits for recent PRs 2021-06-28 21:59:13 +02:00
Adriaan de Groot
015f644acf [calamares] More attributes in injected Python script
Fake a little more of the subprocess module.
2021-06-28 21:56:49 +02:00
Adriaan de Groot
5d54a08581 [calamares] Allow disabling the Python pre-script
The test-application injects a script into Python code
to render harmless functions in the subprocess module
(eg to avoid Python code from running the package manager
for real). There are cases, though, where that injection
should be skipped (eg because the whole point of test-
loading some Python is to check commands that are run).

Add a -P option to the test-application to do that.
2021-06-28 17:17:19 +02:00
Adriaan de Groot
a86ffd105a [bootloader] factor out GRUB EFI determinations 2021-06-28 17:16:53 +02:00
Adriaan de Groot
d068371e62 Merge pull request #1733 from CC2130/aarch64-support
[bootloader] add support for aarch64
2021-06-28 15:50:18 +02:00
Adriaan de Groot
2f25173ac3 Merge pull request #1734 from demmm/calamares
[usersq] add inline messages, adjust layout
2021-06-28 15:47:57 +02:00
demmm
2f7d251000 [usersq] empty length is starting color 2021-06-27 12:05:44 +02:00
demmm
1554646a38 Changes: add QML modules changes 2021-06-26 18:29:22 +02:00
demmm
989d08c70a [usersq] add inline messages, adjust layout
warning messages implemented for user & host names
move root password option box inline with password section
adjust background color according to text.length
hardcode color instead of kirigami colors
usersq is now usable, sets user, hostname & password correctly on install
warning messages & color changes not fully done yet
2021-06-26 18:14:19 +02:00
Adriaan de Groot
e5aa90d3a8 Changes: credit for patch 2021-06-25 23:57:59 +02:00
Adriaan de Groot
d102750b13 Merge pull request #1731 from omeritzics/patch-1
[keyboard] Add Hebrew and Arabic to the non-ASCII layouts list
2021-06-25 17:07:30 +02:00
Jia Chao
3dce393dcc bootloader: add-support_for_aarch64 2021-06-25 17:42:36 +08:00
Omer I.S
e1bf7ae96f Add Hebrew and Arabic 2021-06-24 14:13:30 +03:00
Adriaan de Groot
b54b486ee8 Merge branch 'issue-1724' into calamares
FIXES #1724
2021-06-22 01:03:16 +02:00
Calamares CI
2b37c41b08 i18n: [python] Automatic merge of Transifex translations 2021-06-22 00:31:58 +02:00
Adriaan de Groot
131352ca03 [partition] Apply coding style 2021-06-22 00:21:01 +02:00
Adriaan de Groot
e2bf717ea0 [partition] Rewrite new-partition API
The existing API required calling the one constructor with
specific pointers (nullptr for a partition-from-free-space)
followed by calling one of the initFrom*() functions. This
is fragile design.

Use tag-classes to distinguish create-from-free-space and
edit-another-freshly-created-partition cases, refactor
to merge the initFrom*() methods into the constructors
and factor out the shared UI creation.

Callers can now use the tag-class to distinguish. While
here, adjust both callers to use QPointer, avoiding some
very specific dialog-on-the-stack crash possibilities.
2021-06-22 00:17:46 +02:00
Adriaan de Groot
dbfd8bea03 [partition] Newly-created (fresh) partitions don't have flags yet
When a partition is set as "freshly created", the dialog was
passing in newFlags() as the **already-active** flags on the
partition; then the caller was setting those same flags as
"set these in the future", so that afterwards, no flags would
actually be set (because they're already active -- see the
first sentence).

Now, fresh partitions have no flags.
2021-06-22 00:11:46 +02:00
Adriaan de Groot
f06766085a [partition] Rename function, to track down consumers 2021-06-22 00:11:46 +02:00
Adriaan de Groot
acb731d823 [libcalamaresui] Provide the logFile path
This is intended for consumption by QML; the ViewManager object
acts as a proxy for a handful of global Settings values already,
so throw in global Logger values as well. A QML module that would
like to read the log file (e.g. for tailing it as part of a
slide-show) can get the path via this property.
2021-06-21 22:21:06 +02:00
Adriaan de Groot
54e66ff1c0 [calamares] Python pre-script only if Python is enabled
If Python support isn't enabled, you can include the PythonJob header,
but the symbols aren't in libcalamares so fails at link time.

FIXES #1729
2021-06-21 10:09:44 +02:00
Adriaan de Groot
60f8a7c5fb [partition] Don't offer /boot if EFI wants something else
- Don't leave /boot in the list always; EFI might be configured
  for /boot/efi on this system
- While here, apply coding style.
2021-06-18 22:20:11 +02:00
Adriaan de Groot
6936915dd6 [partition] Fix logging (type of debug stream changed) 2021-06-18 17:41:22 +02:00
Adriaan de Groot
7deb6c0e9e [partition] Improve logging in clearmounts job 2021-06-18 16:18:06 +02:00
Adriaan de Groot
432154e50a [libcalamares] Improve Once-logging
Sending a Once to a logger that isn't enabled should not "consume"
that Once; it's still available for a subsequent logger that **is**
enabled (useful if you're using more than one log-level in a function).
2021-06-18 16:10:13 +02:00
Adriaan de Groot
66f96e339c [libcalamares] Introduce cVerbose() convenience macro (like cDebug()) 2021-06-18 16:01:04 +02:00
Adriaan de Groot
17cc0470da [partition] Log names of partition flags, not just a number 2021-06-18 15:54:51 +02:00
Adriaan de Groot
bf7eed9342 [partition] Tidy debug output when creating table 2021-06-18 15:50:13 +02:00
Adriaan de Groot
fb7e6101ff [partition] Hook erase-fs-type changes to the config-object 2021-06-18 13:53:47 +02:00
Adriaan de Groot
7ce2a87644 [partition] Fix build
- fsName was a QString (a copy) so it could be modified;
- the modification isn't really necessary.
- While here, pick up new PointerSetter convenience class.
2021-06-18 13:49:39 +02:00
Adriaan de Groot
ef436ac4d7 [libcalamares] add a convenience optional-setter for use with pointers 2021-06-18 13:49:08 +02:00
Adriaan de Groot
2a0d4e5a23 [partition] Initialize pointers in declaration 2021-06-18 12:35:15 +02:00
Adriaan de Groot
26cabbb3e4 [partition] refactor config-reading from availableFileSystemTypes 2021-06-18 12:18:04 +02:00
Adriaan de Groot
cd804470b5 [partition] Canonicalize the FS choice for erase 2021-06-18 11:51:33 +02:00
Adriaan de Groot
d8a862ec82 [partition] Use Q_EMIT 2021-06-18 11:31:53 +02:00
Adriaan de Groot
4fa61249a8 [partition] Make the fs type used for erase, a config property 2021-06-18 11:29:36 +02:00
Adriaan de Groot
9fa5ab04e5 [partition] Apply coding style to core/ 2021-06-18 11:23:27 +02:00
Adriaan de Groot
f9659989b1 [partition] rename findFS
Rename findFS -> canonicalFilesystemName because that's what it actually
does. While here, apply coding style to the files that are affected.
2021-06-18 11:09:11 +02:00
Adriaan de Groot
546253d750 [partition] Apply coding style 2021-06-18 11:00:15 +02:00
Adriaan de Groot
b29f3e919b Merge branch 'improve-btrfs-default-layout' into calamares
Avoids a broken btrfs installation in the face of missing
configurations, and makes testing a little more safe by
neutering parts of the subprocess module in Python job-tests.
2021-06-15 23:59:02 +02:00
Adriaan de Groot
cc0e39db56 [calamares] Inject a pre-script when testing Python modules
Co-opt the subprocess module and replace call and check_call
functions with something that logs the call and does nothing.
2021-06-15 23:56:58 +02:00
Adriaan de Groot
629fc83f21 [libcalamares] Add a pre-script for PythonJobs
This allows injecting arbitrary Python code before
the script of a module is even run. For testing
purposes, that gives us a chance to modify existing
(internal) modules before the script (e.g. to test
subprocess calls).
2021-06-15 21:50:59 +02:00
Adriaan de Groot
69cad09a00 [calamares] Tighten debug-output from module-loader test executable 2021-06-15 21:23:57 +02:00
Adriaan de Groot
7b297a0e16 [mount] Rename test file, re-jig tests for mount 2021-06-15 21:11:07 +02:00
Adriaan de Groot
846936357b [mount] If no btrfs layout at all, use something reasonable
This is related to https://invent.kde.org/neon/neon/calamares-settings/-/merge_requests/1
which adds .. the default things from the example configuration to the
configuration file KDE neon ships. The default layout doesn't add
any subvolumes at all, which seems to be non-functional.

If nothing is configured, complain and use /@ as the lone subvolume.
2021-06-15 20:43:44 +02:00
Adriaan de Groot
9ef22f4168 Merge branch 'calamares' of https://github.com/LordTermor/calamares into pr-1667 2021-06-15 11:48:33 +02:00
Adriaan de Groot
6ee0da41c8 [libcalamares] Avoid deprecation warning in network attributes 2021-06-15 11:45:29 +02:00
Adriaan de Groot
f0a25bd397 [libcalamares] Avoid warnings from deprecated country codes.
The Qt documentation does not mention @since for these values,
so we're going to let CI catch them.
2021-06-15 11:41:17 +02:00
Adriaan de Groot
fa1c848faf Docs: do not use freenode 2021-06-15 11:29:49 +02:00
Adriaan de Groot
dba346be7a [partition] Fix build in non-debug settings 2021-06-08 19:51:25 +02:00
Calamares CI
d71e0a009c i18n: [python] Automatic merge of Transifex translations 2021-06-08 17:50:10 +02:00
Calamares CI
619a6a3f97 i18n: [calamares] Automatic merge of Transifex translations 2021-06-08 17:50:10 +02:00
Adriaan de Groot
4e1b6f89c7 Merge branch 'improve-partition' into calamares
FIXES #1700
2021-06-08 17:46:33 +02:00
Adriaan de Groot
983e32c9d9 CI: fine, encode the whole label name 2021-06-08 16:49:06 +02:00
Adriaan de Groot
185c5d8b51 Docs: add link and badge for 'current issue' 2021-06-08 16:37:01 +02:00
Adriaan de Groot
8d9c3c428d Docs: there is no Coverity or Travis status to speak of 2021-06-08 16:26:29 +02:00
Adriaan de Groot
242572f57d CI: don't encode label name in URL beforehand; let curl do it 2021-06-08 16:20:03 +02:00
Adriaan de Groot
d75439e711 CI: bump all to @v3 actions from Calamares
- prep for the nightlies (only openSUSE affected)
- notifications (slightly more secure)
- fix unlabeling issues on close
2021-06-08 15:58:29 +02:00
Adriaan de Groot
7019b6d663 CI: remove in-progress label when closing an issue 2021-06-08 15:37:23 +02:00
Adriaan de Groot
4f70568c65 [partition] Remove unneeded includes 2021-06-08 15:05:44 +02:00
Adriaan de Groot
63c6a8bac8 [partition] Remove unneeded includes 2021-06-08 14:18:28 +02:00
Adriaan de Groot
f67c7f900c [partition] Make the expanded (pop-up) icon sizes for devices a bit smaller 2021-06-08 14:14:11 +02:00
Adriaan de Groot
df634573bf [partition] Resize combo box to show whole pop-up
The (collapsed) combo box should be wide enough to show the
entire pop-up (expanded) box data.

FIXES #1700
2021-06-08 14:09:31 +02:00
Adriaan de Groot
eb627bc055 [partition] Avoid crash when PARTITION_UNSAFE is on
PARTITION_UNSAFE is a debug mode. It is not used in
production, because it allows you to pick an install
device that would be dangerous (e.g. the current / device).

Existing code kept two copies of a list of pointers,
and deleted pointers from one of the lists and returned
the other -- which now contains dangling pointers.

Refactor by applying suitable lambdas to a single
copy of the list; this avoids copying the list so
there is no danger of dangling pointers.
2021-06-08 13:22:56 +02:00
Adriaan de Groot
8f81fd7188 CI: bump openSUSE
- needs newer dependency installation
- try out the slightly-hardened notifications
2021-06-08 11:50:09 +02:00
Adriaan de Groot
154396f80a CI: drop support for clang-format10 and later
The only acceptable versions of clang-format are 8 and 9 for now
(until another round of big-churn-from-formatting, at which point
we'll update the required version).

clang-format-9 says:

    SpacesInSquareBrackets (bool)
      If true, spaces will be inserted after [ and before ]. Lambdas
      or unspecified size array declarations will not be affected.

clang-format-10 changes part of that to:

      Lambdas without arguments or unspecified size array
      declarations will not be affected.

This means that 9 will only allow `[name]` for captures, and 10
will only allow `[ name ]` for captures, so they ping-pong all
the lambda's in the codebase back and forth. Just don't.
2021-06-04 14:55:11 +02:00
Adriaan de Groot
f3c57723df CI: make clang-format wrangling more flexible
Various clang-format versions have different defaults and
don't understand the same options, so adjust to having
files per-formatting-version to patch things up.
2021-06-04 14:47:26 +02:00
Adriaan de Groot
236bd0eb96 CI: adjust clang-formatting
- duplicate the file to .base
- drop 10-and-later setting that was commented out
- specific setting for lambda-formatting (this seems to be the default)
2021-06-04 14:46:00 +02:00
Adriaan de Groot
a57a1fdbd8 [partition] Improve logging while collecting devices 2021-06-04 13:32:22 +02:00
Adriaan de Groot
78af510535 Merge pull request #1708 from demmm/calamares
[localeq], working Offline.qml
2021-05-31 11:48:10 +02:00
Adriaan de Groot
b68e535131 [libcalamares] Log to file and stdout consistently
- The log **file** got every QDebug object, while stdout only
  got the ones of sufficient logging level. A CDebug object checks the
  logging level before writing anything -- so those already were
  consistent, but any qDebug() in the program (not cDebug()!) would
  reach the writing-function anyway, and so log to the file.
  Fix this weird inconsistency by checking log-level just once,
  for both writes.
2021-05-31 11:39:13 +02:00
Adriaan de Groot
716328cafb [libcalamares] Un-clog Logging
- Map QtMsgType -- used by qDebug() and qWarning() -- to levels used
  by Calamares in a consistent fashion.
- Drop unused log levels (INFO, EXTRA unused in any Calamares code).
2021-05-31 11:26:49 +02:00
Adriaan de Groot
ddcfd861cc Changes: note communications 2021-05-31 11:03:24 +02:00
Adriaan de Groot
1825ae1de4 Docs: IRC links to Libera.Chat 2021-05-31 10:41:49 +02:00
Adriaan de Groot
a72d59d23b [partition] Don't mention IRC support for weird configs 2021-05-31 10:38:37 +02:00
Adriaan de Groot
516c8bf7b6 CI: fix artifact-building
The generic-build step runs an install to the host system; for artifact-
generation, we need it all centralized in a stage/ directory. Do that
separately for the KDE neon builds that produce the artifact.
2021-05-30 14:46:13 +02:00
Adriaan de Groot
241c1840aa CI: chase new actions 2021-05-28 17:38:30 +02:00
Adriaan de Groot
fe78ec494f CI: use shared prepare and build steps 2021-05-28 17:06:12 +02:00
Adriaan de Groot
1021db053d CI: switch to shared Calamares actions entirely 2021-05-28 12:55:52 +02:00
Adriaan de Groot
2d8cf6aabf [partition] Fix build against KPMCore3 2021-05-26 16:36:28 +02:00
Adriaan de Groot
03b2c8054b CI: opensuse doesn't have curl installed by default 2021-05-26 16:12:17 +02:00
Adriaan de Groot
2107efdd75 CI: remove Matrix script (it's now a regular action) 2021-05-26 16:11:58 +02:00
demmm
72f97ac163 [localeq] Offline.qml visual improvements 2021-05-26 12:38:08 +02:00
Philip Müller
2c99a8c6f8 [displaymanager] add cutefish
- more info at https://cutefishos.com/
2021-05-26 09:36:02 +02:00
demmm
ffe3209121 [localeq], working Offline.qml 2021-05-25 22:52:10 +02:00
Adriaan de Groot
cf341c53fa Merge branch 'calamares' into improve-partition 2021-05-25 17:37:15 +02:00
Adriaan de Groot
74c8f34b79 CI: move nightlies reporting to Matrix 2021-05-25 16:27:12 +02:00
Adriaan de Groot
e15db9a68c CI: move issues notification to Matrix 2021-05-25 16:25:30 +02:00
Adriaan de Groot
b419f5a3c3 CI: fix up quotes in command 2021-05-25 16:23:59 +02:00
Adriaan de Groot
93221da5ea CI: fix up notifications to Matrix 2021-05-25 15:47:44 +02:00
Adriaan de Groot
e2d6e63fe6 Merge remote-tracking branch 'origin/issue-1701' into calamares
FIXES #1701

There's now a check in place that suppresses the GPT-for-BIOS
message if the user is going to follow its advice already.
2021-05-25 15:45:07 +02:00
Adriaan de Groot
d8b8d17e86 CI: try simpler action 2021-05-25 15:01:18 +02:00
Adriaan de Groot
5bf118409a CI: try to use actions-metadata rather than local script 2021-05-25 14:39:09 +02:00
Adriaan de Groot
c333b9bb0a CI: want jq for actions in the nightlies, too 2021-05-25 14:38:40 +02:00
Adriaan de Groot
01911beccc [partition] Expand debugging output
The partition path isn't set yet, so is probably 'empty'. Try logging the device, too.
2021-05-25 14:16:28 +02:00
Adriaan de Groot
252a88cb7f [partition] Check for suitable bios_grub partition. 2021-05-25 14:07:58 +02:00
Adriaan de Groot
43c172f54d [partition] Tighten up types
Don't return the generic Abstract model for bootloader, but
the subclass pointer, so that consumers can use the convenience
API on the subclass.
2021-05-25 13:23:28 +02:00
Adriaan de Groot
d0276fd25f [partition] Look up bootloader by name, method
The bootloader model knows about both rows and
devices, so we can look up both at once. The
existing implementation as a non-member was rather
sketchy and wasn't used except as support for
restoreSelectedBootLoader().
2021-05-25 13:05:45 +02:00
Adriaan de Groot
dabd895755 [partition] Use type alias consistently 2021-05-25 12:33:12 +02:00
Adriaan de Groot
d630c2aadf [partition] Introduce a check if the GPT-on-BIOS popup should be shown
The check is bogus right now, and it still always warns; but if
the `shouldWarnForGPTOnBIOS()` function is implemented, this will
fix issue 1701.
2021-05-25 12:00:35 +02:00
Adriaan de Groot
e773fb65a8 CI: migrate push notification to helper script 2021-05-25 11:21:41 +02:00
Adriaan de Groot
a73ad23b9f CI: need jq for JSON-formatting of matrix message data 2021-05-25 10:40:20 +02:00
Adriaan de Groot
ded7991dd6 CI: different tactic for notifications 2021-05-25 09:55:45 +02:00
Adriaan de Groot
dd670f7c44 Merge branch 'issue-1702' into calamares
FIXES #1702
2021-05-24 23:08:14 +02:00
Adriaan de Groot
aa4569b55b [packages] Convert command-failures into readable error messages
If the pakcage manager fails in some way, convert to a readable
error message instead of leaking the exception to the caller
(which produces a traceback, which is harder to read and less
informative)
2021-05-24 23:07:11 +02:00
Adriaan de Groot
bb1df38caa [bootloader] Convert command-failures into readable error messages
Avoid leaking errors to the caller, because that gets us a
traceback and generic Python Error message, which is less-than-helpful.
2021-05-24 23:05:46 +02:00
Adriaan de Groot
e186e54434 [fstab] Don't fail with a KeyError in misconfigured installations
Use get() instead of [] to avoid KeyError when the host system
confuguration is entirely missing a setting for *mountOptions*.

FIXES #1702
2021-05-24 22:16:54 +02:00
Adriaan de Groot
98ebb6f8d1 CI: send push-related CI notifications to Matrix 2021-05-21 16:24:56 +02:00
Adriaan de Groot
7830461ac5 Docs: one more round of badging 2021-05-19 15:21:05 +02:00
Adriaan de Groot
caea146840 Docs: styling, badge for matrix 2021-05-19 14:57:33 +02:00
Adriaan de Groot
b48de5b908 Docs: mention Matrix consistently 2021-05-19 14:28:24 +02:00
Adriaan de Groot
e4c97cac2b Docs: link to the website user-guide, not the wiki version 2021-05-19 14:25:10 +02:00
Adriaan de Groot
efe41da24d Docs: mention Matrix channel, too 2021-05-19 14:25:10 +02:00
Adriaan de Groot
d731e12456 [libcalamares] Add an extra job-failure enum value 2021-05-15 07:46:03 +02:00
Adriaan de Groot
ea8f5afc3c CI: clang-format 7 is no longer supported 2021-05-15 06:24:32 +02:00
Adriaan de Groot
ce5b5c6734 Merge pull request #1692 from edupals/copy_link_resolvconf
[networkcfg] copy resolvconf as link
2021-05-17 12:14:24 +02:00
Calamares CI
38293b0f09 i18n: [python] Automatic merge of Transifex translations 2021-05-14 17:49:46 +02:00
Calamares CI
a4ad440403 i18n: [calamares] Automatic merge of Transifex translations 2021-05-14 17:49:45 +02:00
Raul Rodrigo Segura
a888156deb copy resolvconf as link 2021-05-12 16:20:13 +02:00
Adriaan de Groot
27f965deb6 [summary] Name widgets for styling 2021-05-10 21:55:52 +02:00
Adriaan de Groot
5d577371e7 [welcome] Name widgets for styling
Widgets are easier to style if they have a name, and easier to spot
in the widget tree as well. Give the requirements-checker
parts meaningful names.

SEE #1685
2021-05-10 21:55:52 +02:00
Adriaan de Groot
da2fff1256 Changes: credits 2021-05-10 21:55:52 +02:00
Philip Müller
4543feccca [displaymanager] add ukui 2021-05-07 15:44:25 +02:00
Adriaan de Groot
439d537ca2 Merge pull request #1684 from eamanu/patch-1
Docs: Fix minor Typo on README
2021-05-02 18:37:11 +02:00
Emmanuel Arias
97184dc498 Fix md link 2021-05-02 12:43:11 -03:00
Emmanuel Arias
1a3dc7d386 Fix minor Typo on README
a `)` is missing.
2021-05-01 20:58:30 -03:00
Adriaan de Groot
e6568667c4 [packagechooser] Sanitize includes
- build was broken due to AppStream moving around
- unnecessary includes
- change name HAVE_XML -> HAVE_APPDATA for meaning
2021-04-24 17:41:51 +02:00
Adriaan de Groot
eee536046b [packagechooser] Sanitize includes
- build was broken due to AppStream moving around
- unnecessary includes
- change name HAVE_XML -> HAVE_APPDATA for meaning
2021-04-24 17:40:37 +02:00
Adriaan de Groot
df20aa9ddb Merge branch 'calamares' into improve-partition 2021-04-23 23:33:49 +02:00
Adriaan de Groot
fb6e65613b Changes: document contributors 2021-04-23 23:11:06 +02:00
Adriaan de Groot
cd7d109114 [packages] Fix trivial indent problem 2021-04-23 23:04:51 +02:00
Adriaan de Groot
a3b84fa674 Merge pull request #1680 from jcfrosty/patch-1
[packages] Add Luet PackageManager support
2021-04-23 23:02:21 +02:00
Adriaan de Groot
f024cb7370 [packages] Document and add new key to schema
FIXES #1676
2021-04-23 23:01:28 +02:00
Adriaan de Groot
42888cece6 Changes: document contributions and features 2021-04-23 22:49:26 +02:00
Adriaan de Groot
bac1108781 Merge branch 'issue-1550' into calamares
FIXES #1550
2021-04-23 22:37:12 +02:00
Adriaan de Groot
f4fe0881b9 [packagechooser] Be more clear on the resulting GS keys
- in legacy mode, *id* can have an effect and leads to
  "packagechooser_<id>"; if unset, uses the the module
  instance id instead, still as "packagechooser_<instanceid>".
- in packages mode, *id* is not used and only the whole
  module Id (generally, "packagechooser@<instanceid>")
  is used, but in packages mode there's no need for other
  packages to mess with GS settings for this packagechooser.
2021-04-23 22:36:25 +02:00
Adriaan de Groot
aa3633e43a [packagechooser] Delay initialization of default Id
When the module is loaded and the viewstep created, it doesn't have a
module Id **yet**. That is set after reading more of the configuration
file. It **is** set by the time setConfigurationMap() is called,
so pass it on to the Config object then. This means that packagechooser
modules can skip the *id* config key and use the module Id.
2021-04-23 22:04:15 +02:00
Adriaan de Groot
6ce1a49f1c [packagechooser] Store *method* configuration in Config object 2021-04-23 21:46:46 +02:00
Adriaan de Groot
7521be3c5f [libcalamares] Add find() to namedenumtable that takes a default value 2021-04-23 18:03:24 +02:00
Adriaan de Groot
64eafe35d4 Merge pull request #1666 from deprov447/Limit_log_upload_size
[logUpload] Limit upload size
2021-04-23 17:33:40 +02:00
Adriaan de Groot
108ba28c43 Merge branch 'extend-packages-service' into calamares 2021-04-23 12:48:45 +02:00
Adriaan de Groot
192d307d39 [netinstall] Warnings-- for unused variable 2021-04-23 12:48:25 +02:00
Adriaan de Groot
61557cf805 [packagechooser] Connect UI to model
The model needs to be attached to the widget; because of changes
in the order that widget() and setConfigurationMap() are called,
the model is created earlier, but needs to be connected later.
2021-04-23 12:41:50 +02:00
Adriaan de Groot
049b9f9c74 [libcalamares] Test the packages service API
- check that the variant and the string-list version of
  the API do the same thing, check independence of
  settings for different instance keys.
2021-04-23 11:49:06 +02:00
Adriaan de Groot
e400f79673 [libcalamares] Extend packages service API
- convenience method to install a (string) list of packages
  (doesn't do the installation, but adds to GS the list, so
  that the packages module can handle it).
2021-04-23 10:25:29 +02:00
Jerrod Frost
4299ea1d4f Add Luet PackageManager support
Sabayon is being rebuilt into MocaccinoOS with a new packagemanager.
2021-04-22 11:18:41 -05:00
Adriaan de Groot
231fa815c1 [partition] Forgotten ) 2021-04-19 16:10:29 +02:00
Adriaan de Groot
117418fe60 [partition] Fix partitioning summary
- the %4 is left-over from the feature-summary string,
- replace it with ""; don't change the source string
  because that will break translations right now.
2021-04-19 15:47:55 +02:00
Adriaan de Groot
788c84dc41 [netinstall] SPDX-tag the syntax-error file 2021-04-18 13:37:58 +02:00
Adriaan de Groot
e4e041df7e Merge branch 'extend-translation-strings' into calamares 2021-04-18 13:37:03 +02:00
Adriaan de Groot
1af8796b2b [libcalamares] Refactor translations-for-a-test CMake code
- turn the translations-QRC phase into a function, just in
  case other tests need translations as well.
- This CMake code might work as the base of translation-wrangling for
  plugins (externally).
2021-04-18 13:35:18 +02:00
Adriaan de Groot
cfbe722350 [libcalamares] Test the translated string with real translations
- introduce a bogus translation context, load translations,
  and check that the context-enabled translator does its job.
2021-04-18 13:19:55 +02:00
Adriaan de Groot
0143aa5515 [libcalamares] Make the branding-loading messages follow same format as the others 2021-04-17 22:13:16 +02:00
Adriaan de Groot
d72e42f7ba [libcalamares] Extend (configuration) translated string with context
Make it possible to pass in a context for strings not-from-config
maps, to allow programmatically set, but translatable, strings.
2021-04-17 14:41:08 +02:00
Adriaan de Groot
65e78e5915 [packagechooser] Use packages list instead of ids
- don't pass the item IDs to packages module, use the
  packages lists for each item
- document the item list in more detail (including the packages member
  and new install-method item)
2021-04-17 14:39:24 +02:00
Adriaan de Groot
91a29c5885 [packagechooser] Add getters for the *packages* members to the model 2021-04-17 14:36:33 +02:00
Adriaan de Groot
5e77d65424 [packagechooser] Add install-method to pick *packages* module 2021-04-16 14:53:13 +02:00
Adriaan de Groot
ed14c49a03 [libcalamares] Extend (configuration) translated string with context
Make it possible to pass in a context for strings not-from-config
maps, to allow programmatically set, but translatable, strings.
2021-04-16 14:38:39 +02:00
Adriaan de Groot
35f4a81768 [libcalamares] Extend packages service API
- convenience method to install a (string) list of packages
  (doesn't do the installation, but adds to GS the list, so
  that the packages module can handle it).
2021-04-16 14:29:39 +02:00
Adriaan de Groot
a7f983db5f [packagechooser] Add *packageNames* to package items
This is prep-work for connecting to the *packages* module by
simply installing packages straight from packagechooser, rather
than using a workaround.
2021-04-16 13:46:19 +02:00
Adriaan de Groot
dd52e10839 [packagechooser] Introduce a Config object
Rip out most of the ViewStep that deals with configuration,
move it to a Config object (not one that supports QML yet,
though), and massage the model a little.
2021-04-16 13:24:51 +02:00
Adriaan de Groot
59ea88f1ad [packagechoose] Remove the *package* member
The single-values *package* member in a PackageItem was not used,
so remove it -- to show that it really isn't used. This is prep-
work for putting the package name *back*, as multi-valued,
and using the *packages* module.
2021-04-16 13:24:51 +02:00
Adriaan de Groot
2a9205ebd9 Merge branch 'issue-1673' into calamares
FIXES #1673
2021-04-16 11:55:57 +02:00
Adriaan de Groot
165e559866 [netinstall] Extend tests with mixed fallbacks
- insert bad or empty URLs in between successful loads,
  check tail end of loading process.
2021-04-16 11:54:18 +02:00
Adriaan de Groot
21d24eeb8d [netinstall] Add tests for fallback loading
- first success that has data is kept
2021-04-16 11:47:37 +02:00
Adriaan de Groot
4dd6ecd54e [netinstall] Edge cases of zero, or unset, groups urls
- consumers may wait for loadingDone(), so always emit that
  even if no URL list is set.
2021-04-16 11:41:04 +02:00
Adriaan de Groot
9569105575 [netinstall] Extend tests with YAML syntax error and no-files-at-all 2021-04-16 11:35:10 +02:00
Adriaan de Groot
850825f70f [netinstall] Leave the last status on the queue
- Reaching the end means there's no data, but leave the last load result
  (presumably bad-something) around rather than overwriting.
2021-04-16 11:32:04 +02:00
Adriaan de Groot
bd2fb552b5 [netinstall] let queue finish properly
- if the queue is emptied, there was no usable data; set
  failure to NoData rather than BadData.
- FetchNextUnless::done() is done only if the parameter is true (that
  is, it's done!); otherwise should continue.
2021-04-16 11:20:04 +02:00
Adriaan de Groot
3e26ae5ad6 Merge branch 'release-3.2.39.x' into calamares 2021-04-16 10:25:38 +02:00
Adriaan de Groot
cf0119ed4a [initcpiocfg][plymouthcfg] Consistent find-plymouth code
- drop the debugging line because that has already been
  logged by the call to `runCommand()` that backs
  `target_env_call()`.
- use the same (top-level) function rather than having a
  function and elsewhere a very-similar method.
2021-04-16 10:23:29 +02:00
Adriaan de Groot
039370d410 Merge pull request #1675 from erikdubois/calamares
Display manager module adding fvwm3 to main.py
2021-04-14 13:17:56 +02:00
Adriaan de Groot
af12583122 Merge branch 'calamares' into calamares 2021-04-14 13:17:34 +02:00
Adriaan de Groot
fea9886683 Merge pull request #1674 from killajoe/patch-1
[displaymanager] Add sway
2021-04-14 13:16:45 +02:00
Adriaan de Groot
5241e25ae8 Changes: pre-release housekeeping 2021-04-14 13:05:11 +02:00
Adriaan de Groot
67effe4214 [netinstall] check in test that loading did not time out 2021-04-14 13:05:11 +02:00
Adriaan de Groot
bd118bb457 [netinstall] Massage test data
- hidden groups aren't counted at all
- count() at top-level of the model counts groups
2021-04-14 13:05:11 +02:00
Adriaan de Groot
dfedc0fb21 [netinstall] Extend tests
- add an "empty" groups file
- run an event loop to give the loader the opportunity to load
2021-04-14 13:05:11 +02:00
Adriaan de Groot
a21665011f [netinstall] The status is ready (done) when the queue is done
- Don't signal ready every time data is sent to the model, since
  if the model ends up empty, loading will continue with the next
  fallback entry.
2021-04-14 13:05:11 +02:00
Adriaan de Groot
294d07db7b [netinstall] When starting to load YAML data, set appropriate status
- if a list is required, then we don't have data yet and should complain;
  otherwise we're OK even if no data is ever added.
2021-04-14 13:05:11 +02:00
Adriaan de Groot
5af37b0be3 [netinstall] Stub of tests for fallback-loading 2021-04-14 13:05:11 +02:00
Adriaan de Groot
3c398bd15e [netinstall] Only wrap-up if the packages list is OK
Avoid situation where the YAML is ok but doesn't contain
a list of netinstall packages, so the packages list (the model)
is still empty.

FIXES #1673
2021-04-14 13:05:11 +02:00
Erik Dubois
9651cc0cd7 Update main.py 2021-04-13 17:47:02 +02:00
Erik Dubois
0cbbbf811a Merge pull request #1 from calamares/calamares
updating
2021-04-13 17:45:27 +02:00
Johannes Kamprad
44ec9d14a6 Update main.py
adding sway to desktop_environments
2021-04-13 17:27:23 +02:00
Adriaan de Groot
3f1d12ccd8 [users] One more capitalization fix for autologin
FIXES #1672
2021-04-13 16:12:22 +02:00
Adriaan de Groot
2b8309eb04 [users] Add tests for autologin settings
- four possibilities for old and new keys
- 6e is the check for not-actually-set, to track defaults
2021-04-13 16:11:57 +02:00
Adriaan de Groot
adb9f37cca [locale] Set *locale* GS key when needed
The code path for setting the locale / language automatically
emits currentLanguageStatusChanged(), but the code that updates
GS connects to currentLanguageCodeChaged(). This was altered in
the 3.2.28 release cycle. Since then, automcatic locale selection
wasn't setting *locale* in GS, so that a click-through kind of
locale selection would not set it; then the packages module
has no *locale* setting for localization packages.

The combination of status and code signals (machine- and human-
readable) is ok. Introduce a setter to the language that does
the necessary signalling, so that setting the language automatically
also DTRT.

FIXES #1671
2021-04-13 14:03:31 +02:00
Adriaan de Groot
ea61ac4386 [locale] Set *locale* GS key when needed
The code path for setting the locale / language automatically
emits currentLanguageStatusChanged(), but the code that updates
GS connects to currentLanguageCodeChaged(). This was altered in
the 3.2.28 release cycle. Since then, automcatic locale selection
wasn't setting *locale* in GS, so that a click-through kind of
locale selection would not set it; then the packages module
has no *locale* setting for localization packages.

The combination of status and code signals (machine- and human-
readable) is ok. Introduce a setter to the language that does
the necessary signalling, so that setting the language automatically
also DTRT.

FIXES #1671
2021-04-12 17:21:33 +02:00
Adriaan de Groot
4912de5893 [partition] reduce warnings with unsafe-option
- Move variables closer to where they are needed
- Do the winnowing / selection always, but in unsafe mode return
  the un-winnowed list of devices
- Massage build documentation a little
2021-04-09 13:32:48 +02:00
Adriaan de Groot
a6406ac41b Merge branch 'release-3.2.39.2' into calamares 2021-04-06 11:49:48 +02:00
Anubhav Choudhary
5691f95833 [logUpload] Added one more test 2021-04-02 23:50:41 -06:00
Calamares CI
3444546159 i18n: [python] Automatic merge of Transifex translations 2021-04-02 16:32:15 +02:00
Calamares CI
9230bd1842 i18n: [desktop] Automatic merge of Transifex translations 2021-04-02 16:32:15 +02:00
Calamares CI
6bcf4995c9 i18n: [calamares] Automatic merge of Transifex translations 2021-04-02 16:32:14 +02:00
Adriaan de Groot
5c5c7f28dc Changes: cut down changelog to just this release 2021-04-02 16:30:15 +02:00
Adriaan de Groot
db51e813fb Merge branch 'release-3.2.39.2' into calamares 2021-04-02 16:25:31 +02:00
Adriaan de Groot
8a413866a1 [calamares] Make --version print extended versioning information 2021-04-02 16:05:26 +02:00
Adriaan de Groot
21f52f9dc1 [calamares] Remove overly-spaced debug (SubEntry does the right thing) 2021-04-02 15:56:42 +02:00
Adriaan de Groot
18b805d43f [keyboard] Set initial values for model, layout, variant
When loading the lists, no initial string-value was being
set for the model, layout and variant; the configuration
could pass right through and pick up empty strings instead.
If the user does not change the model, the UI would show
"pc105" but the internal setting would still be empty.

FIXES #1668
2021-04-02 15:51:24 +02:00
Anubhav Choudhary
b897619558 [logUpload] Added some basic tests 2021-04-02 07:40:03 -06:00
Adriaan de Groot
b191f39bdf [keyboard] Simplify config-loading
The machinery in `setConfigurationMap()` was just duplicating
checks already in place in the `getString()` and `getBool()`
methods, and there's no special need for efficiency here,
so prefer the more readable and short code.

("efficiency" here means "we're saving one method call in
case the configuration is not set")
2021-04-02 15:38:41 +02:00
Adriaan de Groot
e7b39303e4 Changes: pre-release housekeeping 2021-04-02 13:13:36 +02:00
Adriaan de Groot
8949b079e1 [users] Fix autologin-setting from config file
SEE #1668
2021-04-02 13:11:16 +02:00
Anubhav Choudhary
c73e9ec89f [logUpload] Ran styleScript 2021-04-01 01:05:55 -06:00
Anubhav Choudhary
c1aa0b581e [logUpload] suggestionsAndFixes-part3
- Resolved the problem of incomplete log upload
- sizeLimit = 0 fixed (turns off paste functionality)
- Documentation update
- sizeLimit < 0 now needs no hardcoded upper limit
- Calamares::Branding::uploadServerFromMap() serves sizeLimit in bytes
2021-04-01 00:25:37 -06:00
Artem Grinev
9302ad1468 [partition] Erase disk FS choice 2021-03-31 20:15:02 +04:00
Anubhav Choudhary
b42f86f20f [logUpload] suggestionsAndFixes-part2 2021-03-30 08:28:30 -06:00
Anubhav Choudhary
d109fc5856 [logUpload] suggestionsAndFixes 2021-03-30 08:13:29 -06:00
Adriaan de Groot
13abe2a5de Merge branch 'release-3.2.39.1' into calamares 2021-03-30 12:07:46 +02:00
Adriaan de Groot
c013036f31 CI: automate signing the tag and tarball
- Get a signature on CHANGES at the start, so that the key
  is cached by gpg; that way the tag-signing has the key, and
  will not time-out (which breaks tarball generation, and
  means that I need to **watch** the release script, rather
  than fire-and-forget).
2021-03-30 11:52:05 +02:00
Adriaan de Groot
1184229c4a Changes: pre-release housekeeping 2021-03-30 11:29:38 +02:00
Adriaan de Groot
9d4c2bf1c7 [displaymanager] Fix mismatch in spelling of "autologinUser"
In 4ffa79d4cf, the spelling
was changed to consistently be "autoLoginUser" in the *users*
module, but that changed the Global Storage key as well,
and the *displaymanager* module wasn't changed to follow.
2021-03-30 11:27:51 +02:00
Erik Dubois
d19c3b5458 Update main.py
Typo
2021-03-30 11:27:51 +02:00
Erik Dubois
f8494f27d5 displaymanager from arcolinux 2021-03-30 11:27:51 +02:00
Anubhav Choudhary
6a6557e320 [logUpload] fixes 2021-03-29 13:22:56 -06:00
Anubhav Choudhary
6726a926a4 [logUpload] Configurable upload size limit
A key 'sizeLimit' added to uploadServer field in branding.desc to limit the size of logFile to upload.
2021-03-29 12:44:34 -06:00
Adriaan de Groot
7a26143fbc [partition] All action-changes should update next 2021-03-29 15:52:55 +02:00
Adriaan de Groot
bf7b41f548 [libcalamares] Document the Once class for logging 2021-03-29 15:31:41 +02:00
Adriaan de Groot
1fe337d6ed [partition] Improve logging of device-checking
- Avoid lots of function headers between the checks applied to
  each individual device.
2021-03-29 15:25:57 +02:00
Adriaan de Groot
d4f28e863f [libcalamares] Allow rvalue Once to be used in logging 2021-03-29 15:23:55 +02:00
Adriaan de Groot
785042ccf3 [partition] Improve formatting of logging while loading configuration 2021-03-29 14:41:56 +02:00
Adriaan de Groot
0446f03613 [partition] Remove overly-chatty debugging from fs-name-lookup 2021-03-29 14:38:39 +02:00
Adriaan de Groot
7b09344a8b [partition] Update next-button
You'll need a VM with 2 disks to demonstrate:

- Configure Calamares to pick "none" as initial action on
  the partition page (this is a safe choice),
- Enter partition page,
- No action is selected, and the next> button is greyed out.
- Click erase; notice next> is now available.
- Change devices, notice no action is selected, but next>
  is still available. Clicking on it, though, does nothing.

When changing to "no action", update the next-button's
availability.
2021-03-29 14:24:56 +02:00
Adriaan de Groot
70bf033dc0 [partition] Improve logging readability
- The entire queue is one long output, so print them with SubEntry
2021-03-29 14:17:40 +02:00
Adriaan de Groot
1155b6fc3d [partition] Improve debug-output a little 2021-03-29 14:14:05 +02:00
Calamares CI
4d0cae4a9b i18n: [python] Automatic merge of Transifex translations 2021-03-29 14:06:43 +02:00
Calamares CI
74ce0ba84d i18n: [desktop] Automatic merge of Transifex translations 2021-03-29 14:06:43 +02:00
Calamares CI
777b582e5b i18n: [calamares] Automatic merge of Transifex translations 2021-03-29 14:06:42 +02:00
Adriaan de Groot
0ec77f5d85 [partition] Warnings-- (uninitialized value) 2021-03-29 11:06:16 +02:00
Adriaan de Groot
df1d7dea61 [partition] Warnings--
Avoid the extra indirection through the otherwise-unused
prettyGptType(const QString&), construct table of names
only on first call to avoid static-initialization order
(though that's not important here).
2021-03-29 11:03:37 +02:00
Adriaan de Groot
0ccd55e33f [libcalamares] Warn (python only) about unknown GS keys
This makes it easier to spot problems where key-names are mis-spelled
in Python (or other modules change a name and it's not applied
to consumers)
2021-03-29 10:50:32 +02:00
Adriaan de Groot
b04d59ba2e [libcalamares] More variant->python translations
- There's still 49 enumeration values not handled, leading to
  an annoying Clang warning, but there's just no **point**
  in listing them all: that's what 'default' is for.
2021-03-29 10:46:28 +02:00
Adriaan de Groot
42d00ffe38 [displaymanager] Fix mismatch in spelling of "autologinUser"
In 4ffa79d4cf, the spelling
was changed to consistently be "autoLoginUser" in the *users*
module, but that changed the Global Storage key as well,
and the *displaymanager* module wasn't changed to follow.
2021-03-29 10:30:56 +02:00
Adriaan de Groot
af282e092d Changes: document partition fslabel 2021-03-29 10:24:39 +02:00
Adriaan de Groot
53beea6061 CMake: partial revert of updated versioning
- Keep the project() version as literal, drop the script-mode changes,
  to keep existing (weird?) build-and-packaging hacks working.
- Do switch to unified versioning-git-annotations CMake module,
  do drop the "rc" from version numbers.
2021-03-29 10:08:20 +02:00
Adriaan de Groot
94bd17ecf5 Merge pull request #1664 from erikdubois/patch-1
[displaymanager] Update main.py
2021-03-28 21:30:58 +02:00
Adriaan de Groot
b95b3dbc78 Merge branch 'ff-fslabel' into calamares
Fix build with newer KPMCore (still builds on Netrunner 19).
2021-03-28 18:28:28 +02:00
Adriaan de Groot
22dbe60bb9 [partition] Use operations-API (available in all supported KPMCore versions) 2021-03-28 18:07:32 +02:00
Adriaan de Groot
47c167c043 [partition] KPMCore removed some headers 2021-03-28 17:56:54 +02:00
Adriaan de Groot
e2113eda38 [partition] trust in AutoMoc 2021-03-28 17:52:44 +02:00
Erik Dubois
51d414d6ef Update main.py
Typo
2021-03-28 17:07:09 +02:00
Adriaan de Groot
71dc9349ad Merge branch 'improve-versioning' into calamares 2021-03-27 15:49:31 +01:00
Adriaan de Groot
fac0c90de1 Merge branch 'ff-fslabel' into calamares
This was a PR from Lisa Vitolo a long time ago, to expose
FS labels in the UI, and it got lost in transition.
Five-years-too late thanks.
2021-03-27 15:44:56 +01:00
Adriaan de Groot
3c7d97403e [plasmalnf] Apply coding style 2021-03-27 15:44:26 +01:00
Adriaan de Groot
1eba562d07 [partition] Apply coding style 2021-03-27 15:43:32 +01:00
Adriaan de Groot
9c2a26bed5 [libcalamares] Apply coding style 2021-03-27 15:41:58 +01:00
shainer
1007680931 Fix error handling in ChangeFilesystemLabelJob 2021-03-27 15:40:07 +01:00
shainer
c035029f38 Make sure we always set the filesystem label.
In particular, we need a separate Job class to set the label; this
is invoked after we formatted a partition, and when no other changes
to the partition have been requested in the Edit dialog.
2021-03-27 15:38:46 +01:00
Adriaan de Groot
3d49379bec [partition] Chase API change in createNewPartition()
The partition- and filesystem-label setting code was already there,
but not in the call to createNewPartition(); now we set the
FS label twice (once in the call, once afterwards)
2021-03-27 14:45:34 +01:00
shainer
b602d423c7 Allow users to set/edit filesystem labels.
When creating or editing a new formatted partition, allow
to set a filesystem label (16 chars maximum). Modify
the KPMHelpers to accept it as a new parameter. Partitions
created by default may get a meaningful label too.
2021-03-27 14:31:06 +01:00
Adriaan de Groot
ac8f99a206 [libcalamares] Don't double-include FileSystem
The partitioning header 'FileSystem.h' is for KPMCore support;
it is already included by Global.h and guarded by ifdefs for
KPMCore. Do not unconditionally include it from the implementation.
2021-03-27 02:38:45 +01:00
Adriaan de Groot
38ec357bd5 CMake: simplify development-version string
- merge the (not-installed) date-stamp and git-version
  files into ExtendedVersion, turn things into functions
- drop support for CVS (wut?)
- don't mention the branch, in git-versioning, because the
  hash is enough to find whatever
- don't need external program to find date, use `string(TIMESTAMP...)`
2021-03-26 18:25:51 +01:00
Adriaan de Groot
2be9aece3f CMake: tweak version-handling
- separate out the version into a variable (again -- this was moved **into**
  project() long ago, but now there's a desire to have the value before
  reaching the project() command)
- rename CALAMARES_VERSION_RC to something more sensible.
2021-03-26 18:25:51 +01:00
Adriaan de Groot
61f579b591 CMake: drop rc from version number
In current development, RC is effectively 0 (for a release)
or 1 (during development). It doesn't add anything to suffix
'rc1' to the version number. While here, remove the BUILD_RELEASE
check (because nothing ever sets it) and instead rely on
the RC setting instead to decide for long-calamares-version
2021-03-26 14:44:28 +01:00
Adriaan de Groot
c2d759f11e CMake: make show-version available in all builds 2021-03-26 14:33:44 +01:00
Adriaan de Groot
2ebf9124d1 CMake: move check for skipped-modules to all subdirs
The check for skipping a subdirectory was applied to Python subdirs,
not to C++ subdirs. This meant that a skipped module would notice
only in calamares_add_plugin() that it should be skipped. The **rest**
of the CMakeLists.txt in the to-be-skipped modules' subdirectory
was not skipped, and so a test might be added for a module that
was skipped. Depending on how the test consumes the code/module
under test, that might fail to link.

Example module is *initramfs*. Reported by yonggan.
2021-03-26 13:37:02 +01:00
shainer
1cfdc8044c Display current filesystem label as a column in the main partition view. 2021-03-23 16:30:31 +01:00
Adriaan de Groot
405fc3dfc2 Changes: document new merges 2021-03-23 12:28:00 +01:00
Adriaan de Groot
7e8ef85dc9 Merge branch 'issue-1635' into calamares
FIXES #1635
2021-03-23 12:10:49 +01:00
Adriaan de Groot
559b79f920 [partition] Use (better documented) filesystem-use API 2021-03-23 12:09:06 +01:00
Adriaan de Groot
10bec1d970 [libcalamares] Expand API to allow clearing out the filesystem use 2021-03-23 12:09:01 +01:00
Adriaan de Groot
9665af0e5a [libcalamares] Make keys case-insensitive (as documented) 2021-03-23 12:09:01 +01:00
Adriaan de Groot
48541629f9 [libcalamares] Extend tests to handle case-insensitive 2021-03-23 12:09:01 +01:00
Adriaan de Groot
f3681a533e [libcalamares] Rearrange filesystem-use API
- make the functies that take a GS* first-class
- use the convenience functions from JobQueue for the others
- inline so only the explicit-GS* functions are in the library
2021-03-23 12:09:01 +01:00
Adriaan de Groot
488631824d [libcalamares] Make the KPMCore global storage filesystem handlers inline 2021-03-23 12:09:01 +01:00
Adriaan de Groot
75eb2c3cd4 [libcalamares] Add tests for filesystem_use service 2021-03-23 12:08:52 +01:00
Adriaan de Groot
afdf431b77 [libcalamares] Add partition service for managing global storage
- the global storage key filesystem_use has a structured meaning,
  so give it a (trivial-ish) API for reading and writing.
2021-03-23 12:08:52 +01:00
Adriaan de Groot
1e1b7b7ece [libcalamares] Introduce a convenience getter for GlobalStorage 2021-03-23 12:07:11 +01:00
Adriaan de Groot
cc6a598c61 Merge pull request #1658 from erikdubois/calamares
displaymanager from arcolinux
2021-03-23 12:04:06 +01:00
Adriaan de Groot
88aa1755ce CMake: split out skip-module-checking to its own cmake module
The skip-checking is now in the functions for adding plugins and
subdirectories, so that third-party building should get it
as well, for free. Since AddModuleSubdirectory and AddPlugin
use the newly split-out module, handling SKIP_MODULES and USE_*
consistently across module repositories is now easier.

While here, make accumulating-the-skipped-modules explicit.
2021-03-23 01:47:10 +01:00
Adriaan de Groot
a64a54ff04 CMake: split out global skip-modules checking
There are two ways to skip building a module:
 - SKIP_MODULES (individually listed)
 - USE_* (pick one from a collection)

Move the handling for those ways to a separate function, so that it
can be re-used in the calamares-extensions module too, or other
external module repositories.
2021-03-23 01:45:03 +01:00
Adriaan de Groot
0bf1df72cd CMake: report Python module name without subdirectory
FIXES ##1641
2021-03-22 13:49:04 +01:00
Adriaan de Groot
dc0164d508 [libcalamares] Also install the version header 2021-03-22 13:36:52 +01:00
Adriaan de Groot
b5788d4b17 CMake: be more verbose on developer machines
This change is relevant only if you build Calamares and some out-of-tree
modules (e.g. calamares-extensions) on the same machine where CMake
caches files in the developer's ~/.cmake/packages . If the user
packages registry kicks in the include files won't be found, and
the targets are not defined.
2021-03-22 13:26:40 +01:00
Adriaan de Groot
3600c67485 CMake: remove mention of the os-modules
The modules (and the need for a specific USE_os) have moved to
calamares-extensions.
2021-03-22 12:09:05 +01:00
Adriaan de Groot
6d4a0a1ba3 i18n: update the English source files 2021-03-19 14:38:13 +01:00
Adriaan de Groot
ba89f03d8e Changes: post-release housekeeping
- mention the *packages* service in CHANGES for the previous release
2021-03-19 14:37:38 +01:00
Calamares CI
4243d5f41a i18n: [python] Automatic merge of Transifex translations 2021-03-19 14:23:08 +01:00
Calamares CI
64f9a2df26 i18n: [calamares] Automatic merge of Transifex translations 2021-03-19 14:23:07 +01:00
Adriaan de Groot
779e5ecf8f [libcalamaresui] Factor out the pastebin UI
- offer a convenience method for showing a popup and
  URL information and copying the URL to the clipboard
- use that from ViewManager (on failure) and DebugWindow (on demand)
2021-03-19 14:17:34 +01:00
Adriaan de Groot
981e96ea7f [calamares] Redo debug window tools
- make the tools tab buttons along the bottom row
- show the global storage tab by default

This costs little screen real-estate, makes the tools much more
visible and useful.
2021-03-19 13:51:30 +01:00
Adriaan de Groot
c54e417ff3 [calamares] Add a 'send log' button to the debug window
FIXES #1660
2021-03-19 13:38:06 +01:00
Adriaan de Groot
668921543a [libcalamaresui] Convenience method to check if paste would do anything 2021-03-19 13:36:40 +01:00
Adriaan de Groot
63e61e9924 Changes: pre-release housekeeping 2021-03-19 13:25:45 +01:00
Adriaan de Groot
5ed1dff655 Merge branch 'issue-1579' into calamares
FIXES #1579
2021-03-19 13:13:27 +01:00
Adriaan de Groot
3588f06767 [netinstall] Document groupsUrl with multiple entries 2021-03-19 12:49:37 +01:00
Adriaan de Groot
fdfe52efe2 [netinstall] Improve loader queue API a bit
- use load() to start loading
- the FetchNextUnless class is useful in more spots in
  the loading process
- set status explicitly on success (otherwise, a failure in a
  previous URL would leave a failure message lying around even
  when the module shows something useful)
2021-03-19 12:30:09 +01:00
Adriaan de Groot
03d086a233 [netinstall] Missing initialisations, split out slot
- m_queue was not initialized to nullptr, crashes
- split queue-is-done to a separate slot rather than a lambda
- prefer queueing calls to fetchNext(), for responsiveness
2021-03-19 11:46:46 +01:00
Erik Dubois
0379fa9b7d displaymanager from arcolinux 2021-03-17 14:58:50 +01:00
Adriaan de Groot
404a9ef98a [netinstall] Split off requesting netinstall data into a queue-manager
This is the actual "meat" of the branch, which makes the
netinstall module request one URL at a time until one succeeds.
2021-03-17 00:09:15 +01:00
Adriaan de Groot
186d32ebee [partition] More missing ; 2021-03-16 16:11:02 +01:00
Adriaan de Groot
2b4bc7adf4 [partition] Apply newer formatting tool 2021-03-16 16:08:13 +01:00
Adriaan de Groot
3b9c0bdf91 CI: don't allow clang-format 7 any more 2021-03-16 16:06:46 +01:00
Adriaan de Groot
bb426ebac4 [partition] Add missing ; (and apply coding style) 2021-03-16 16:01:25 +01:00
Adriaan de Groot
9341a84820 [libcalamares] Make the RETRANSLATE macros more statement-line
Require a ; after RETRANSLATE macros. They are statement-like;
this makes it easier for some of them to be recognized by
clang-format and resolves some existing weird formatting.
2021-03-16 14:55:26 +01:00
Adriaan de Groot
603a7106b3 [netinstall] Move package-listing wrangling to the Config object
Now all the business logic is in Config, the door is open to
building a QML-ified netinstall module. I'm not sure that
would be worth it: packagechooser offers more space for a
nice UI and should be QML'ed first.
2021-03-16 14:51:01 +01:00
Adriaan de Groot
9acd2fe458 [netinstall] Use the packages service 2021-03-16 14:38:52 +01:00
Adriaan de Groot
f1446736f8 [libcalamares] Expand tests a little
- do some additions and check they work
- drop the ";add" annotation on the source, this is not
  needed in the current situation with only adds available.
2021-03-16 14:37:13 +01:00
Adriaan de Groot
5b609565e2 [libcalamares] Make Packages API more flexible
- pass in the GS object; this makes mostly **testing** much easier
2021-03-16 14:14:02 +01:00
Adriaan de Groot
b868894371 [libcalamares] Start a packages service for netinstall and others 2021-03-16 13:50:15 +01:00
Adriaan de Groot
6662cb5f2d [netinstall] Swap parameters to makeSourceItem and document it 2021-03-16 13:17:33 +01:00
Adriaan de Groot
79b4f918fc [netinstall] Apply coding style 2021-03-16 13:10:35 +01:00
Adriaan de Groot
8e8525a941 [netinstall] Simplify slots in the UI page 2021-03-16 13:10:09 +01:00
Adriaan de Groot
a90f510b85 [libcalamares] Convenience for logging subentries
For methods that log a bunch of things, and which want to
consistently use SubEntry, but don't know when the **first**
log entry is within the method, Logger::Once can be used
to log one regular message (with function info) and the
rest are subentries.
2021-03-15 22:45:29 +01:00
Adriaan de Groot
72f67286a4 [libcalamares] Preserve type CDebug() if possible. 2021-03-15 21:41:27 +01:00
Adriaan de Groot
8fe2e1f68a [finished] Make the debug-log less cryptic 2021-03-15 21:22:20 +01:00
Adriaan de Groot
a3a1350dc7 [libcalamares] Don't complain if there isn't a preset
- If the module knows about a preset, then it should be registered
  even if there is not a value set for it specifically; this avoids
  complaints from isEditable() for fields that are known, but
  do not have a preset. (Reported by Anke)
2021-03-15 21:18:10 +01:00
Adriaan de Groot
a4c1f07521 [libcalamares] Reduce indentation-depth in apply() through early-return 2021-03-15 21:11:01 +01:00
Adriaan de Groot
33fec86ef6 [welcome] Improve logging of requirements-checking
- less chatty when 0-results come in
- compress the welcome debug to one output chunk
2021-03-15 20:53:59 +01:00
Adriaan de Groot
f8afb15c4c [libcalamaresui] Improve logging for QML modules
- mention which instance produces warnings
- tag additional debugging from the same method with Logger::SubEntry
2021-03-15 20:47:27 +01:00
Adriaan de Groot
6556f96442 Merge branch 'calamares' into issue-1579
Bring the branch up-to-date with the past few releases,
so it can be merged more easily once complete.
2021-03-15 13:10:21 +01:00
Adriaan de Groot
416c2c9689 [usersq] Reflect editable in the QML
- if presets prevent a field from being editable, don't allow
  the user to edit the field
- while here, mention the changes in usersq
2021-03-15 12:51:42 +01:00
Adriaan de Groot
44ac33845d Merge branch 'fix-usersq' into calamares 2021-03-15 12:41:01 +01:00
Adriaan de Groot
46f7e6c131 Merge branch 'hotfix-38' into calamares 2021-03-15 12:39:41 +01:00
Adriaan de Groot
8348bd2bb7 [usersq] Call setters for checkboxes 2021-03-15 12:36:54 +01:00
Adriaan de Groot
202fe46182 Changes: describe other fixes as well 2021-03-15 12:02:45 +01:00
Adriaan de Groot
d2c0c8d638 [users] Grab hostname from config on creation 2021-03-15 11:53:14 +01:00
Adriaan de Groot
b17e01edff [usersq] Call setters to move values back from QML to the C++ side 2021-03-15 11:45:57 +01:00
Calamares CI
df67f2bb59 i18n: [desktop] Automatic merge of Transifex translations 2021-03-15 10:34:25 +01:00
Calamares CI
f02cb1a8ea i18n: [calamares] Automatic merge of Transifex translations 2021-03-15 10:34:25 +01:00
Adriaan de Groot
1c8a72dcac Changes: pre-release housekeeping 2021-03-15 10:28:57 +01:00
Adriaan de Groot
b9ad701a5c [calamares] Change .desktop invocation
FIXES #1653
2021-03-15 10:25:25 +01:00
Adriaan de Groot
b96ad4b166 [usersq] Hook up QML fields and the Config object
For properties, we can bind directly to the Config properties
for loginName, fullName, and also to checkbox-style (bool)
properties and passwords.
2021-03-15 00:24:10 +01:00
Adriaan de Groot
e60f8bcd06 [usersq] Tidy job creation and unnecessary code 2021-03-15 00:24:10 +01:00
Adriaan de Groot
4ffa79d4cf [users] In code, consistently [aA]utoLogin as name
There was a mix of autologin and autoLogin, leading to confusion
in the code. QML is sensitive to this, so go to one consistent name.
(Although the names of the settings in the `.conf` file are
different again)
2021-03-15 00:24:10 +01:00
Adriaan de Groot
287047fe1a [users] Tidy up job creation -- leave it to Config 2021-03-14 23:52:12 +01:00
Adriaan de Groot
e9908c84c2 Changes: document mount/fstab changes 2021-03-14 23:46:11 +01:00
Adriaan de Groot
98d42719e1 Merge pull request #1622 from Chrysostomus/btrfs-subvol
[fstab][mount] Create and mount btrfs subvolumes in generalized manner
2021-03-14 23:38:30 +01:00
Adriaan de Groot
413e160368 Changes: post-release housekeeping 2021-03-14 23:36:31 +01:00
Adriaan de Groot
a5091c8c3b Docs: massage the release-howto notes 2021-03-14 21:49:15 +01:00
Adriaan de Groot
1998405dbb [libcalamaresui] Fix up test for logfile
- this test would fail if the logfile already exists for
  any reason (including "I just ran the test")
- remove the file before expecting an empty logfile
- improve messages; a missing logfile is not a "things cannot
  work" situation, it's a warning
2021-03-14 21:37:31 +01:00
Adriaan de Groot
cdbc5a7b4b Merge pull request #1652 from Conan-Kudo/rm-urpmi
[packages] Drop urpmi support
2021-03-14 17:41:10 +01:00
Adriaan de Groot
f62bb70b28 CI: add -m <module> shortcut to test individual modules 2021-03-14 16:36:00 +01:00
Adriaan de Groot
cc310a04b8 [users] Fix schema to match actual field names 2021-03-14 16:32:02 +01:00
Calamares CI
d9ab35f4cc i18n: [python] Automatic merge of Transifex translations 2021-03-14 16:17:09 +01:00
Calamares CI
3fafeaf09a i18n: [dummypythonqt] Automatic merge of Transifex translations 2021-03-14 16:17:09 +01:00
Calamares CI
8625847866 i18n: [desktop] Automatic merge of Transifex translations 2021-03-14 16:17:09 +01:00
Calamares CI
d3f84980b3 i18n: [calamares] Automatic merge of Transifex translations 2021-03-14 16:17:09 +01:00
Adriaan de Groot
0716f92f62 CMake: update translations lists
- ne_NP, id_ID and zh seem to duplicate existing languages, and
  I'm not sure why they were requested in the first place.
2021-03-14 16:12:55 +01:00
Adriaan de Groot
8c7e214376 [users] Make the example config usable
Although the example configurations shouldn't really be used
as a sample of how to configure **your** Calamares for your
distro, many distro's do just copy the examples. So leave
traces of the OEM-configuration settings in the example,
and give the standard configuration a 'nothing changed'
set of presets.
2021-03-14 16:07:04 +01:00
Adriaan de Groot
b4485f4dc9 Changes: mention the .desktop file 2021-03-14 16:05:04 +01:00
Adriaan de Groot
9ae87b7fb7 [calamares] Change .desktop invocation
FIXES #1653
2021-03-14 15:56:22 +01:00
Calamares CI
d3a27f3c3c i18n: [python] Automatic merge of Transifex translations 2021-03-14 15:51:01 +01:00
Calamares CI
b30eaaddec i18n: [calamares] Automatic merge of Transifex translations 2021-03-14 15:51:01 +01:00
Adriaan de Groot
c767311062 Changes: pre-release housekeeping 2021-03-14 14:37:52 +01:00
Adriaan de Groot
9295c91128 Merge branch 'issue-942' into calamares
FIXES #942
2021-03-14 14:29:26 +01:00
Adriaan de Groot
caf18321df [users] Adjust UI to is-field-editable based on presets 2021-03-14 14:20:10 +01:00
Adriaan de Groot
7bae625f46 [users] Pick up UI changes based on the values from Config 2021-03-14 14:14:29 +01:00
Adriaan de Groot
b4a21d7aca [libcalamares] Add macro CONFIG_PREVENT_EDITING to handle uneditable fields
Boilerplate code for avoiding accidental setting of an internal
field when the UI is editable and the underlying data isn't.
2021-03-14 13:30:26 +01:00
Adriaan de Groot
3ea796d009 [users] 'undo' changes to values if the UI is wonky
- you can still call set*(), eg. from the UI, when the field is
  not editable. Although the code previously ignored the change,
  this would lead to a mismatch between what the UI is showing
  (the changed value) and what the Config has (old value).
  Emit a changed-signal (notify) with the old value so that the
  UI is changed *back* as soon as possible.
2021-03-14 12:27:59 +01:00
Adriaan de Groot
9fcf9b5fa8 [users] Pick up values from Config object on startup
- Previously, we 'knew' that the values in Config were empty,
  so didn't have to set them from the Config when building
  the (widget) page
2021-03-14 12:14:33 +01:00
Adriaan de Groot
941cc9c48b [users] Match presets to the actual name of fields 2021-03-14 12:14:33 +01:00
Adriaan de Groot
2e90a8d829 [libcalamares] Report preset mis-configurations
- warn about fields applied twice (program error)
- warn about fields not used (configuration error)
- add operator<< for "clean" looking preset application
2021-03-14 12:14:33 +01:00
Adriaan de Groot
d8dff3dc65 [libcalamares] Replace loadPresets() with an applicative style
Build up the list of known presets by what the Config-object
expects, not by what the Config file provides. This allows
early detection of mis-matched configurations.

Presets can only apply to Q_PROPERTY properties, and the
preset must match the property name.
2021-03-14 12:14:33 +01:00
Adriaan de Groot
8b10a9cfc2 [libcalamares] Add isEditable() check
This adds support for checking whether a field is editable;
Config objects should reject changes if the field is not
editable. There is an "unlock" setting to override the
check, although this is currently always locked.
2021-03-14 12:14:33 +01:00
Adriaan de Groot
448e478b6d [users] Use base Config and its Preset-handling 2021-03-12 13:54:06 +01:00
Adriaan de Groot
0be5e04c2e [libcalamares] Add a base class for Config-objects
This is an optional (until 3.3) base class, which can handle
Presets consistently for configurations.
2021-03-12 13:49:37 +01:00
Adriaan de Groot
381a4f9b53 [users] Add preset to users module Config 2021-03-12 13:25:16 +01:00
Adriaan de Groot
d9f2f5e988 [libcalamares] Start a 'presets' configuration datastructure 2021-03-12 13:16:36 +01:00
Adriaan de Groot
63fc1ecca3 Changes: document intention of this branch 2021-03-12 13:10:48 +01:00
Neal Gompa
d39f2b8c3e [packages] Drop urpmi support
This code is essentially untested and unused, as OpenMandriva has been
using DNF for three years now.

Reference: https://www.openmandriva.org/en/news/article/switching-to-rpmv4
2021-03-11 06:32:49 -05:00
Adriaan de Groot
cb67c79203 Merge pull request #1651 from demmm/calamares
[finishedq] add license for svg file
2021-03-09 20:35:22 +01:00
demmm
a7b46a02eb [finishedq] add license for svg file 2021-03-09 19:45:32 +01:00
Adriaan de Groot
98524708cc [partition] Chase namespace change for Units 2021-03-09 19:45:12 +01:00
Adriaan de Groot
9f17d3fd12 [libcalamaresui] Paste the last 16KiB of the log file
- If Calamares is run more than once, reading the log file
  can get you older / not relevant log messages. Get the tail
  end instead.
2021-03-09 18:25:10 +01:00
Adriaan de Groot
980e5e13f8 Merge branch 'fixup-log-upload' into calamares 2021-03-09 18:22:51 +01:00
Adriaan de Groot
ea63f48c31 [libcalamares] Put the units in a nested namespace
- this makes it much easier to use the literal suffixes
  by using the namespace rather than individual operators.
2021-03-09 18:21:58 +01:00
Adriaan de Groot
a1ed303820 [libcalamaresui] Add test for Paste
This tests only the termbin ("fiche") paste by sending it
a derpy fixed string. Prints the resulting URL, doesn't
verify in particular.

It'd be rude to run this test too often.
2021-03-09 17:55:10 +01:00
Adriaan de Groot
44ec8a7c0b [libcalamaresui] Improve testability
- mark functions with STATICTEST so they can be compiled into a test
- move logfile-reading so we can call the pastebin-upload functions
  with an arbitrary payload.
2021-03-09 17:22:48 +01:00
Adriaan de Groot
846d6abaa8 [libcalamaresui] Move message- and clipboard handling
- The Paste API promises just a (string) URL back, not
  a whole message, so return just the URL from the
  abstract API and the concrete (fiche) implementation.
- Set clipboard contents from the UI
- Build (translated) message in the UI code
2021-03-09 15:51:24 +01:00
Adriaan de Groot
81badc36f4 [libcalamaresui] Implement abstract doLogUpload() API
This is a "do the right thing" function, which then calls
the implementation-specific code for each type.
2021-03-09 15:42:21 +01:00
Adriaan de Groot
1ff854f05d [libcalamaresui] Push upload to a more abstract API
- have a namespace Paste with just one entry point, which will handle
  untangling type &c.

This doesn't compile, but indicates the direction to take the API
2021-03-09 15:32:46 +01:00
Adriaan de Groot
efec12d001 [libcalamares] Read structured upload-server info
- Use just type and url, since port can be specified in
  a URL. Note that we only use host and port, not the
  scheme (or the path, for that matter).
- Factor out understanding the *uploadServer* key to a function.
2021-03-09 15:24:02 +01:00
Adriaan de Groot
bce6f3f1b7 [libcalamaresui] Adjust paste code to desired API
Still doesn't compile because consumers are not ready.
2021-03-09 14:56:37 +01:00
Adriaan de Groot
3c6683bd98 [libcalamaresui] Rip out untyped data about upload server
This doesn't compile, but indicates the **type** information
desired about the (a) upload server.
2021-03-09 14:51:59 +01:00
Adriaan de Groot
f72436aa0a [libcalamaresui] Drop RE-wrangling, compare hosts instead to detect valid paste URL 2021-03-09 14:41:58 +01:00
Adriaan de Groot
8af5fb5da5 [libcalamaresui] Simplify getting URL response
- get a QByteArray rather than going through a char[] buffer
- bytes-read is not important since the RE can only match if
  there **are** that many characters.
2021-03-09 14:38:43 +01:00
Adriaan de Groot
1bf95eacb0 [libcalamaresui] Tidy the logging some more 2021-03-09 14:33:47 +01:00
Adriaan de Groot
260862fabc [libcalamaresui] Move the format-string closer to where it is used 2021-03-09 14:31:46 +01:00
Adriaan de Groot
844831751d [libcalamaresui] Factor out the reading of the log file
- this will be needed for other pastebins, too
2021-03-09 14:30:20 +01:00
Adriaan de Groot
92e36558fa [libcalamaresui] Remove unnecessary shadowing in lambda 2021-03-09 14:25:40 +01:00
Adriaan de Groot
bc2435eb7d [libcalamaresui] Apply coding style 2021-03-09 14:23:52 +01:00
Adriaan de Groot
fc8830ae4a [libcalamaresui] Tidy logging 2021-03-09 14:23:27 +01:00
Adriaan de Groot
9154228421 Changes: adjust description of pastebin 2021-03-09 14:22:13 +01:00
Adriaan de Groot
1ebb807624 [calamares] Drop #warning about KDSAG
- it might not be very current, and it's *probably* better to
  use dbus-activation / kf5dbus, but let's not call it
  deprecated until very sure that the dbus version does the
  right thing.
2021-03-09 13:57:21 +01:00
Adriaan de Groot
430b3b0722 REUSE: tag the schema file (badly, missing an email address) 2021-03-09 13:55:20 +01:00
Adriaan de Groot
5349e03ea9 REUSE: the CI actions are uninteresting 2021-03-09 13:52:13 +01:00
Adriaan de Groot
0b8ef49e7e [calamares] Make debug-window available to QML
- Add a toggle() to the debug-window manager, for convenience
- Make the manager available to QML
- Use the debug-window manager (code imported from KaOS)
2021-03-06 23:11:41 +01:00
Adriaan de Groot
c00a382aea [calamares] Refactor debug-window handling
Move the management of the (a?) DebugWindow to a separate
class, and hang on to that manager in CalamaresWindow.
This is prep-work towards making it available from QML as well.
2021-03-06 22:55:48 +01:00
Adriaan de Groot
992c673951 [calamares] Document how to hide the Quit button
The Quit button can have its own logic at a QML level for
show/hide. It **ought** to follow the *quitVisible* property,
but can do additional work. Here, document how a distro might
choose to hide the Quit button on the last page (generally,
that's the "finished" page).
2021-03-06 22:08:35 +01:00
Adriaan de Groot
44602d0237 [finishedq] CMake: missing keyword 2021-03-06 15:33:15 +01:00
Adriaan de Groot
83e6476be8 [finishedq] Tighten up requirements 2021-03-06 15:23:23 +01:00
Adriaan de Groot
e9384deb5d [finishedq] Document the meaningful settings of the config file 2021-03-06 15:20:24 +01:00
Adriaan de Groot
bd775a16e2 [finished] Add a restart-anyway API to Config
It's possible to ignore the "user setting" for restart-now
and call doRestart(true) directly. This is intended for
use with specific UIs that make that choice clear for the user.

Hook up both [finished] and [finishedq] to the "traditional"
restart-if-the-box-is-ticked logic although the example
QML doesn't expose that box.
2021-03-06 13:51:45 +01:00
Adriaan de Groot
aa004503c5 [finished] Expand Config object's repertoire of notification-API 2021-03-06 13:38:02 +01:00
Adriaan de Groot
f8258f671b [calamares] Navigation getting the wrong side 2021-03-06 13:14:40 +01:00
Adriaan de Groot
6f15b69917 Merge branch 'qml-resizing' into calamares
Make panel sizes consistent, so the QML-navigation can be used better.
2021-03-05 23:20:47 +01:00
Adriaan de Groot
08df3183dc Merge branch 'qml-finished' into calamares
Improves the [finishedq] module &c to better support restart.
2021-03-05 23:20:23 +01:00
Adriaan de Groot
19874ebc3a [finished] Document doRestart() better
- move all the 'really want restart' logic to restartNowWanted()
2021-03-05 23:19:56 +01:00
Adriaan de Groot
f94853eb28 [finishedq] Always restart if possible 2021-03-05 23:17:57 +01:00
Adriaan de Groot
075a28a06d [finished] Log the doRestart() attempt 2021-03-05 22:59:53 +01:00
Adriaan de Groot
0d7c1ec130 [finishedq] Port QML back to using Config object 2021-03-05 22:59:04 +01:00
Adriaan de Groot
5b376b41bf [finishedq] Chase business logic in Config object 2021-03-05 22:40:38 +01:00
Adriaan de Groot
3ad3a9adfc [finished] Move the business logic to the Configt object 2021-03-05 22:27:24 +01:00
Adriaan de Groot
04145f49f8 [calamares] Factor out size-setting for QML panels
- Either orientation needs to have the same generic size-setting
  code, for both navigation and progress panels.
2021-03-05 16:59:54 +01:00
Adriaan de Groot
82223431fa [calamares] Pass orientation into panel-creation
- Add function for mapping panel sides to an orientation (H/V)
- Pass that into the creation functions

This is prep-work for handling vertical navigation and horizontal
progress reporting cleanly.
2021-03-05 14:21:19 +01:00
Adriaan de Groot
0f50085bb9 [calamares] Refactor sidebar creation
- None of these need to be methods of the main window,
  and it can all be put tidy away as static free functions.
2021-03-05 14:01:28 +01:00
Adriaan de Groot
a8463a8763 [calamares] Prefer to expand main panel
- Don't let the navigation items grow if they are QML
  (the Widget ones don't either) so the main panel takes
  most of the space.
2021-03-05 13:35:00 +01:00
Adriaan de Groot
ab7f6abf02 [calamares] Decouple debug-window button
- Provide slots and signals for managing the debug-window,
  so it can be used from QML as well.
2021-03-05 13:20:47 +01:00
Adriaan de Groot
473576991d Changes: document contributors this round 2021-03-05 12:28:19 +01:00
Adriaan de Groot
1739d8f15f Merge pull request #1647 from demmm/calamares
[finishedq] adding QML finished module
2021-03-05 12:24:16 +01:00
Adriaan de Groot
6a1e46d7f6 [libcalamaresui] Add properties to ViewManager to expose Settings 2021-03-03 16:06:53 +01:00
Adriaan de Groot
849da3f322 [libcalamaresui] The ViewManager is a UI component for QML, not core 2021-03-03 15:54:11 +01:00
Adriaan de Groot
c3860849c1 [libcalamaresui] Notify step number when modules are all loaded
- using the QML sidebar would not highlight the first step on startup,
  only after next / prev would the highlight show up. Now, notify
  when all the modules are loaded (and number 0 is active).
2021-03-03 15:43:11 +01:00
Adriaan de Groot
1496173b2c CI: Add -Og for debug builds, for better ABI checking 2021-03-02 00:34:04 +01:00
Adriaan de Groot
3d58127234 CI: enable CPack 2021-03-02 00:34:04 +01:00
demmm
7acc8bcec3 [finishedq] adding QML finished module
module builds & runs, config connections are not registering
no errors
finishedq.qml is offering a different option though, running commands directly in qml
plasma-framework executer is used for that
2021-02-27 22:04:30 +01:00
Adriaan de Groot
cc3017be53 Merge pull request #1619 from deprov447/Upload_Install_Log
[libcalamaresui] Implementing LogUpload functionality from branding
2021-02-26 13:13:16 +01:00
Adriaan de Groot
0f87a4a91a Changes: post-release housekeeping 2021-02-23 21:32:59 +01:00
Calamares CI
46ab3ac277 i18n: [python] Automatic merge of Transifex translations 2021-02-23 16:36:31 +01:00
Calamares CI
f9a8a9f588 i18n: [calamares] Automatic merge of Transifex translations 2021-02-23 16:36:31 +01:00
Adriaan de Groot
108e227eec Changes: pre-release housekeeping 2021-02-23 16:33:47 +01:00
Adriaan de Groot
b30bb7ae0b CI: note Linuxisms in the script 2021-02-23 16:33:38 +01:00
Adriaan de Groot
24e129a413 Merge branch 'issue-1634' into calamares
FIXES #1634
2021-02-23 16:17:57 +01:00
Adriaan de Groot
d3acc39d2d Merge branch 'qml-finished' into calamares 2021-02-23 16:17:14 +01:00
Adriaan de Groot
a4682db987 [finished] Tidy up notification-at-end (and allow failed notifications) 2021-02-23 16:05:48 +01:00
Adriaan de Groot
5af614daf7 [finished] Allow positive and negative notifications at end. 2021-02-23 15:59:40 +01:00
Adriaan de Groot
ec4b6752d6 [finished] Move notification to Config 2021-02-23 15:54:19 +01:00
Adriaan de Groot
76a2791b12 [finished] Clean up includes 2021-02-23 15:42:14 +01:00
Adriaan de Groot
7d024cf72b [finished] Move restart handling to Config 2021-02-23 15:36:44 +01:00
Adriaan de Groot
9d6d8ecaea [finished] Heavy refactor
- move most of the business logic to Config
- make retranslate of the page more robust (e.g. changing language
  after failure would restore the un-failed message)

There's still some bits left.
2021-02-23 15:03:16 +01:00
Adriaan de Groot
288fe5b274 [finished] Rename and document following coding style 2021-02-23 12:50:52 +01:00
Adriaan de Groot
40961f21a7 Merge pull request #1624 from benne-dee/schema-netinstall
[netinstall] Schema for groups in netinstall.schema.yaml
2021-02-23 12:31:47 +01:00
benne-dee
f0aa515c8b [netinstall] Schema validates also groups file 2021-02-22 22:17:06 +05:30
Adriaan de Groot
9c8194402b [keyboard] Add ASCII mapping for Greek
FIXES #1642
2021-02-19 14:33:38 +01:00
Adriaan de Groot
cdbf45b5d3 [libcalamaresui] Remove unused include 2021-02-19 14:29:46 +01:00
Adriaan de Groot
3a4dcb6913 [libcalamaresui] Give slideshow (ExecutionViewStep) widgets names 2021-02-17 14:34:33 +01:00
Adriaan de Groot
7e6c3a2309 [libcalamaresui] Give the slideshow-widgets a name
- this is the *working* part of the slideshow, not its background
2021-02-17 14:25:06 +01:00
Adriaan de Groot
49f4e7b8e1 [calamares] Make the widget-tree more informative, mention class name 2021-02-17 14:19:45 +01:00
Adriaan de Groot
ce6fae900f CI: massage message a bit and adjust naming scheme 2021-02-17 10:41:55 +01:00
Adriaan de Groot
6bf82e9c65 [welcome] Update .conf documentation
- fix typo
- don't suggest google as internetCheckUrl
- mark TODOs for #1384
2021-02-16 16:32:34 +01:00
Adriaan de Groot
d0a65641e2 CI: rename the scheduled, nightly builds again 2021-02-16 14:25:10 +01:00
Adriaan de Groot
112b51756b CI: keep a tarball of the scheduled neon build 2021-02-16 13:03:22 +01:00
Adriaan de Groot
f15a599bbd CI: shuffle workflow naming, add a nightly neon build as well 2021-02-16 12:45:34 +01:00
Anubhav Choudhary
9738851261 YAML list for uploadServer key 2021-02-15 20:51:41 +05:30
Anubhav Choudhary
7057081bdf QUrl for serverURL + renames 2021-02-10 14:38:26 +05:30
Adriaan de Groot
e49f0cf3ba [libcalamares] Document NamedEnum in much more detail 2021-02-09 17:03:19 +01:00
Adriaan de Groot
04f4441182 [netinstall] Build up a list of urls, rather than just one
- the list is unused, and doesn't drive the loading of groups either;
  the existing one-string entry is used.
2021-02-09 15:06:53 +01:00
Adriaan de Groot
ca1ae6fd1d [netinstall] Support retranslation in the Config object 2021-02-09 11:06:59 +01:00
Adriaan de Groot
335ccbc149 [netinstall] Move other translation parts to Config 2021-02-09 10:58:11 +01:00
Adriaan de Groot
cf7391696e [netinstall] Continue moving settings to the Config object 2021-02-08 22:57:38 +01:00
Adriaan de Groot
dd8b893ee8 Changes: mention what this branch is for 2021-02-08 15:36:27 +01:00
Adriaan de Groot
f045e4f00e [libcalamares] Switch default language in Belarus
*If* the distro has GeoIP enabled and auto-selects the language for
Calamares, then Belarus now selects Russian, rather the Belarusian.
This is based on some personal input, mostly, and Wikipedia census data.

FIXES #1634
2021-02-07 22:35:32 +01:00
Chrysostomus
16eff98a06 Don't use f-strings yet. 2021-02-07 15:39:38 +02:00
Chrysostomus
0c92a36a53 Remove unnecessary comment 2021-02-07 15:29:30 +02:00
Chrysostomus
6d55005da0 Mount subvolumes to correct mountpoints 2021-02-07 00:16:26 +02:00
Chrysostomus
b16bd6bb23 Fix name error 2021-02-06 20:03:30 +02:00
Chrysostomus
67aedd5582 Move comments closer to where they are used 2021-02-06 19:54:29 +02:00
Chrysostomus
16bf7925a2 Adjust comments 2021-02-06 19:48:09 +02:00
Chrysostomus
1896a38ccc Fix a typo 2021-02-06 01:38:03 +02:00
Adriaan de Groot
fc034828c7 Changes: post-release housekeeping 2021-02-05 13:10:12 +01:00
Chrysostomus
1e0295dc65 Fix name error 2021-02-03 22:55:11 +02:00
Adriaan de Groot
84240683f5 [finished] Apply coding style 2021-02-03 17:16:22 +01:00
Adriaan de Groot
cb4248e56d [finished] Move config from viewstep to config object
- the configuration is still duplicated in the widget, and
  functionality still needs to move to the Config object
- the ViewStep is cut down to almost nothing
2021-02-03 17:14:49 +01:00
Adriaan de Groot
c82b802f4e [libcalamares] Typo in documentation 2021-02-03 17:12:33 +01:00
Adriaan de Groot
4ae3a7af61 [finished] Start Config-ification
- Introduce a Config class with suitable properties for use in QML,
  read configuration; this is unused right now.
2021-02-03 16:54:18 +01:00
Adriaan de Groot
b8a9c4c3b7 [users] Be more forgiving in tests
- the host system's /etc/group is being read, and that varies between
  host OS versions; since I was doing today's release on KaOS, the
  test was failing because of arbitrary differences between the
  default groups on each Linux flavor.
2021-02-03 13:48:01 +01:00
Calamares CI
2f7790d691 i18n: [python] Automatic merge of Transifex translations 2021-02-03 12:05:46 +01:00
Calamares CI
0d1355d457 i18n: [calamares] Automatic merge of Transifex translations 2021-02-03 12:05:46 +01:00
Adriaan de Groot
39cae1f0fb CI: change notification usernames and messages a little 2021-02-03 11:57:24 +01:00
Adriaan de Groot
3fbca3ab4c Changes: pre-release housekeeping 2021-02-03 11:51:19 +01:00
Adriaan de Groot
144b51f00e [partition] Use automount control
FIXES #1604

(Admittedly, this fixes the problem only when there's Plasma Solid automount
present, and not any of the other kinds; but none of those have been reported
yet, and adding them into AutoMount.cpp is opaque to the rest of the
system)
2021-02-03 01:31:37 +01:00
Adriaan de Groot
17f73b1294 [partition] Test automount job in a queue 2021-02-03 01:26:49 +01:00
Adriaan de Groot
38fa1d9567 [libcalamares] Distinguish logging raw, shared and unique pointers
- It shouldn't be necessary to explicitly .get() pointers for
  logging, and it's convenient to know when a pointer is smart.
  * no annotation means raw (e.g. @0x0)
  * S means shared
  * U means unique
2021-02-03 01:06:25 +01:00
Adriaan de Groot
c43a6ab866 [partition] Improve logging in automount test
- switch logging in job to VERBOSE because we don't want to be printing
  pointers to the regular session log
- switch logging in test to VERBOSE to actually see the messages from the Job
- hook the test into the build
2021-02-03 00:46:34 +01:00
Adriaan de Groot
c98a330bf9 [libcalamares] Store DBus reply value, drop debug-logging 2021-02-03 00:46:00 +01:00
Adriaan de Groot
aae815cf3b [partition] Add trivial test for automount management job 2021-02-02 23:01:59 +01:00
Chrysostomus
fcf6e2fb25 fix typos 2021-02-02 23:07:35 +02:00
Adriaan de Groot
1704ad5977 [partition] Add a job to handle automount behavior
- while here, nudge CalamaresUtils automount API a little,
  since it doesn't really need an rvalue-ref.
2021-02-02 19:18:19 +01:00
Adriaan de Groot
f3752e200a [libcalamaresui] Display first 6, last 2 lines of long error messages, preserve newlines 2021-02-02 16:40:01 +01:00
Adriaan de Groot
c3d27be103 Changes: patch up the credits 2021-02-02 16:36:56 +01:00
Adriaan de Groot
b9210721e6 Merge branch 'issue-1613' into calamares
The popup now cuts down messages to a manageable length.
Hopefully the part that is preserved, will still show
something meaningful for the user (8 lines of text should
be sufficient for the kind of things we do).

FIXES #1613
2021-02-02 16:35:10 +01:00
Adriaan de Groot
eafb8149b3 [libcalamares] Test some degenerate truncation cases 2021-02-02 15:35:53 +01:00
Adriaan de Groot
a383aa974a [users] Need <memory> for unique_ptr
- Although unique_ptr is only used when ICU is enabled, include it
  always because it is likely that we'll use more unique_ptr
  in the implementation at some point.
2021-02-02 13:38:52 +01:00
Adriaan de Groot
e99c60728b CI: the 'DIFF' line does not make sense for scheduled builds 2021-02-02 13:36:05 +01:00
Adriaan de Groot
18cc4b5c6f CI: add a scheduled openSUSE build, too 2021-02-02 12:56:04 +01:00
Adriaan de Groot
d4a5640446 CI: Debian 9 is too old, stick with 10, update dependencies 2021-02-02 12:34:23 +01:00
Adriaan de Groot
4acf0d4d34 CI: show slightly more information on neon CI runs 2021-02-02 12:04:45 +01:00
Adriaan de Groot
45fb77fbf3 CI: split Debian package installation 2021-02-02 00:49:58 +01:00
Adriaan de Groot
3d72fb1bbe CI: notify about issues consistently with CI-builds 2021-02-02 00:49:38 +01:00
Adriaan de Groot
a215871da8 CI: Debian doesn't come with sudo pre-installed 2021-02-02 00:39:45 +01:00
Adriaan de Groot
74eada048b CI: allow manually starting Debian builds, too 2021-02-02 00:33:01 +01:00
Adriaan de Groot
81e5bf4e6e CI: update Debian-build notifications, too 2021-02-02 00:13:07 +01:00
Adriaan de Groot
455cc29bc3 CI: restore build steps 2021-02-02 00:11:50 +01:00
Adriaan de Groot
fa258e3100 CI: try again to avoid trailing blank lines 2021-02-02 00:04:33 +01:00
Adriaan de Groot
6743de076f CI: frustrated by weird Python failures now 2021-02-01 23:56:42 +01:00
Adriaan de Groot
73ab41c572 CI: partial back-out to chase IRC message failure 2021-02-01 23:42:10 +01:00
Adriaan de Groot
343f4cefc8 CI: build on older Debian on a schedule 2021-02-01 23:15:15 +01:00
Adriaan de Groot
a34ca69d52 CI: run CI everywhere, but notify us only when building the upstream version 2021-02-01 23:14:06 +01:00
Adriaan de Groot
7a0e91f076 CI: shorten the notification stanzas 2021-02-01 23:12:14 +01:00
Adriaan de Groot
14dcbb94a3 CI: fix typo, tighten up messages 2021-02-01 17:18:44 +01:00
Adriaan de Groot
2f18921db9 CI: compress steps
- don't need multiple prepare steps
- try to use git output for SHA and log message
2021-02-01 17:09:50 +01:00
Adriaan de Groot
3692988b17 CI: cut down expression context 2021-02-01 16:57:05 +01:00
Adriaan de Groot
f2bd956b89 CI: try a different form of if() 2021-02-01 16:28:20 +01:00
Adriaan de Groot
1742c10f7d CI: remove if entirely
- expression context is not enough
2021-02-01 15:05:33 +01:00
Adriaan de Groot
eee5674f6d CI: remove if-expression, it triggers a syntax error
- unclear why this wasn't evaluated in expression context before
2021-02-01 15:04:13 +01:00
Adriaan de Groot
1da84ca09b CI: restore full build, restrict to 'our' repo
- this should prevent forks from duplicate-reporting builds
2021-02-01 14:41:07 +01:00
Adriaan de Groot
9af44a3c8d CI: one more with shorter notifications 2021-02-01 14:25:02 +01:00
Adriaan de Groot
5643c5cdc7 CI: another try at notification on build 2021-02-01 14:09:52 +01:00
Adriaan de Groot
c5729b861f CI: fix YAML typo 2021-02-01 13:57:28 +01:00
Adriaan de Groot
bd6aa58322 CI: another try at notification on build 2021-02-01 13:52:55 +01:00
Adriaan de Groot
3ca770aa63 CI: another round of CI-wrangling 2021-02-01 13:27:33 +01:00
Adriaan de Groot
413614e14b CI: massage the issues-messages a little more, fix logic 2021-01-31 23:07:48 +01:00
Adriaan de Groot
a289518a8a CI: munge the issues-notifications 2021-01-31 22:01:41 +01:00
Adriaan de Groot
0592d40bc2 CI: rename neon build (to make it obvious there are other possibilities) 2021-01-31 21:50:33 +01:00
Adriaan de Groot
caff0176b1 [libcalamares] Need <memory> for unique_ptr
FIXES #1631
2021-01-31 21:40:41 +01:00
Kevin Kofler
0d44d2838f Changes: document Neal Gompa's fix from #1628 2021-01-31 00:55:20 +01:00
Kevin Kofler
2ebfae134b Merge pull request #1628 from Conan-Kudo/fix-efi-install
modules/bootloader: Use the correct names for the shim binaries
2021-01-31 00:52:18 +01:00
Neal Gompa
e56bdd019f modules/bootloader: Use the correct names for the shim binaries
Ever since signed shim binaries for multiple architectures became
available, the shim binaries installed in Linux distributions have
been renamed to include the EFI architecture in the binary names.

This started in Fedora, but is now used in openSUSE and Ubuntu too.

Reference for shim binary names comes from shim spec in Fedora:

d8c3c8e392/f/shim.spec (_23-32)
2021-01-30 05:37:41 -05:00
Adriaan de Groot
7ab9c63903 [libcalamares] Extend test with some degenerate cases 2021-01-29 11:53:36 +01:00
Adriaan de Groot
5c402ffd66 [libcalamares] Truncate to a character count as well 2021-01-28 22:13:44 +01:00
Adriaan de Groot
1542bad224 [libcalamares] Truncate strings without trailing newline properly 2021-01-28 15:30:00 +01:00
Adriaan de Groot
9b15df595e CI: update IRC notifications 2021-01-28 15:29:44 +01:00
Adriaan de Groot
8e3ed3c933 [libcalamares] Remove redundant variable, use NEWLINE instead of character-literal 2021-01-28 15:24:05 +01:00
Adriaan de Groot
721748bed3 CI: extend the jobs, also notify for issues 2021-01-28 15:00:45 +01:00
Adriaan de Groot
3623e9aefc [libcalamares] Extend tests of string-truncation 2021-01-28 14:47:03 +01:00
Adriaan de Groot
67e96d2ce6 CI: show badge of recent build 2021-01-28 14:21:57 +01:00
Adriaan de Groot
88128e91fe CI: try IRC notifications 2021-01-28 14:11:21 +01:00
Adriaan de Groot
b85e5b52c2 [libcalamaresui] Apply coding style
- Some minor bits snuck in with the string-truncation code
- While here, make UPDATE_BUTTON_PROPERTY more statement-like
  so it doesn't confuse code-formatters.
2021-01-28 13:52:48 +01:00
Adriaan de Groot
db5f3bc309 Merge branch 'issue-1613' into calamares 2021-01-28 01:07:03 +01:00
Adriaan de Groot
319a720d1b [libcalamares Expand tests 2021-01-28 01:06:09 +01:00
Adriaan de Groot
b144d81979 [libcalamares] Fix up smart-string-truncation
- off-by-one when source ends with a newline
- lastNewLine was being calculated as a left-index into the string,
  then used as a count-from-right
2021-01-28 01:02:46 +01:00
Adriaan de Groot
3be360e433 [libcalamares] Add tests to string truncation
- check that basic manipulations succeed
- trailing-lines selection fails, though
2021-01-28 00:23:13 +01:00
Adriaan de Groot
8cc114bf2c [libcalamares] Move smart-string-truncation to library
Expand the API a little to support first-lines, last-lines,
and something of both. Use strong types to make the names
clear for each.
2021-01-27 23:51:03 +01:00
benne-dee
f8385d2cb8 Fix https in URL 2021-01-27 23:12:29 +05:30
benne-dee
13181a52ee Define schema for groups in netinstall.schema.yaml 2021-01-27 22:38:40 +05:30
Chrysostomus
8c0c84f162 Create all fstab entries one way instead of having special handling 2021-01-27 15:41:01 +02:00
Adriaan de Groot
cd1a4adaf8 Merge pull request #1623 from benne-dee/schema-shellprocess
Create shellprocess.schema.yaml
2021-01-27 12:36:35 +01:00
Adriaan de Groot
d267d4ab7b Merge pull request #1620 from boredland/calamares
ci: move from travisci to github actions
2021-01-27 12:33:11 +01:00
benne-dee
938edf5bd6 Create shellprocess.schema.yaml 2021-01-27 11:41:53 +05:30
Chrysostomus
14fbbd92dc Get configured subvolumes from the global storage 2021-01-26 22:56:31 +02:00
Chrysostomus
092374d08c Add modified list to global storage 2021-01-26 22:48:02 +02:00
Chrysostomus
f53f43ad03 Remove some unnecessary bits 2021-01-26 22:42:35 +02:00
Chrysostomus
4b6718b354 Further generalize subvolume handling 2021-01-26 22:35:42 +02:00
Chrysostomus
942221c764 Generalize subvolume handling 2021-01-26 22:24:50 +02:00
Chrysostomus
945effb048 Amend subvolumes to include path 2021-01-26 22:13:29 +02:00
Chrysostomus
b5cfa5109e Add schema definition 2021-01-26 21:34:11 +02:00
Chrysostomus
4ab30569c2 Add default configuration 2021-01-26 21:31:33 +02:00
Adriaan de Groot
4f78afe67e [libcalamaresui] Display a reduced amount of details
Cut the error message from down to a maximum of 8 lines
so that the messagebox does not hopelessly overflow.
2021-01-26 00:37:08 +01:00
Adriaan de Groot
f0fd47eeb3 [libcalamares] Simplify logging-manipulators
Writing `Logger::NoQuote{}`` has annoyed me for a while, so
switch it to a constant, like SubEntry, so it looks more
like a regular manipulator object.
2021-01-26 00:13:10 +01:00
Jonas Strassel
dbd8f361d1 chore: remove unused DESTDIR and superfluous test cmd 2021-01-25 16:13:28 +01:00
Adriaan de Groot
c1064c5e08 Merge pull request #1597 from Chrysostomus/btrfs-swap
[fstab][mount] Btrfs swapfile handling
2021-01-25 15:19:45 +01:00
Jonas Strassel
3cc50d8ac4 chore: remove disfunct coverity checks 2021-01-25 12:25:35 +01:00
Jonas Strassel
58afa92298 refactor: move coverage and script steps into gh ci 2021-01-25 02:07:01 +01:00
Jonas Strassel
9dd58b9a22 refactor: move ci-config into workflow 2021-01-25 00:51:09 +01:00
Jonas Strassel
7c175f5005 ci(gh): add basic workflow installing dependencies 2021-01-25 00:29:58 +01:00
Anubhav Choudhary
b4078f3634 Changed branding keynames + minor fixes 2021-01-25 01:09:20 +05:30
Anubhav Choudhary
186c065b4c PasteURL sent to clipboard 2021-01-23 22:49:23 +05:30
Anubhav Choudhary
a2c930a714 Code-formatted and Copyright-text added 2021-01-23 21:16:32 +05:30
Anubhav Choudhary
ff66e4b3d5 Redirecting logUpload vars to pasteUtility 2021-01-23 20:47:33 +05:30
Anubhav Choudhary
f6cb879929 branding.desc updated 2021-01-23 20:43:55 +05:30
Adriaan de Groot
9a4c599e22 [libcalamares] Tidy logging a little for Python errors 2021-01-22 14:49:20 +01:00
Adriaan de Groot
2a3e616b0e Changes: correct description of automount (thanks Kevin) 2021-01-20 15:08:06 +01:00
Adriaan de Groot
6978ce3cb4 [partition] Collect more kpmcore 4.2 code 2021-01-20 14:56:34 +01:00
Adriaan de Groot
520f08bbba [partition] Fix build with legacy kpmcore 2021-01-20 14:54:12 +01:00
Adriaan de Groot
31bf38977e [partition] Refactor partition-labeling 2021-01-20 14:48:44 +01:00
Adriaan de Groot
1ec886e8cb Changes: document newly-merged 2021-01-18 16:44:23 +01:00
Adriaan de Groot
3ade1fd84a Merge branch 'add-automount-control' into calamares 2021-01-18 16:28:12 +01:00
Adriaan de Groot
b709ba7a5b Merge pull request #1590 from deprov447/Back/Next_buttons_at_installation
Navigation buttons hideability during installation
2021-01-18 16:24:10 +01:00
Adriaan de Groot
9482935034 Merge pull request #1572 from gportay/partition-output-more-things-in-overiew
[partition] output more things in overiew
2021-01-18 15:08:19 +01:00
Adriaan de Groot
478af25cec Merge pull request #1571 from gportay/unpackfs-skip-overlay-extended-attributes
[unpackfs] Skip overlay extended attributes
2021-01-18 15:00:12 +01:00
Anubhav Choudhary
0ff32784d1 hooked backAndNextVisible signal to nonQML navigation 2021-01-13 22:41:25 +05:30
Anubhav Choudhary
a9539018e9 [fixed] backAndNextVisbility logic 2021-01-13 22:15:22 +05:30
Calamares CI
d15aa2bfc3 i18n: [python] Automatic merge of Transifex translations 2021-01-13 01:03:42 +01:00
Calamares CI
dd7a5c45ed i18n: [calamares] Automatic merge of Transifex translations 2021-01-13 01:03:41 +01:00
Gaël PORTAY
af5c57a713 [partition] Output filesystem features in overview 2021-01-08 08:57:03 -05:00
Gaël PORTAY
c045af1975 [partition] Output GPT entries in overview 2021-01-08 08:57:03 -05:00
Gaël PORTAY
bf9c9a64f1 [libcalamares] Introduce new function getPartitionTable 2021-01-08 08:54:02 -05:00
Adriaan de Groot
132ff59d9c [libcalamares] Make running commands less chatty
If there's no output, don't mention it; don't mention failure modes
if the command was successful.
2021-01-06 00:07:35 +01:00
Adriaan de Groot
a3eae323f1 [libcalamares] Rename test-executable: avoid clashes with 'cala<tab>' 2020-12-22 22:08:23 +01:00
Adriaan de Groot
d74bdbcfd0 [libcalamares] coding-style, logging in calautomount 2020-12-22 22:07:17 +01:00
Adriaan de Groot
3150785ff1 [libcalamares] Use shared_ptr instead of unique_ptr
The value inside a unique_ptr can't be opaque, it needs to be known
at any site where the pointer may be deleted. shared_ptr does not
have that (deletion is part of the shared_ptr object, which is larger
than the unique_ptr) and so can be used for opaque deletions.
2020-12-22 21:29:49 +01:00
Adriaan de Groot
1c4bf58fb4 [libcalamares] automount-manipulation test-program 2020-12-22 21:25:00 +01:00
Adriaan de Groot
f0a33a235c [libcalamares] Make automountDisable() more flexible 2020-12-22 21:24:30 +01:00
Adriaan de Groot
9e6bddf31a [partition] Add new AutoMount-manipulating helpers 2020-12-22 16:05:20 +01:00
Adriaan de Groot
1c285f011b [libcalamares] Export partition-syncer symbols 2020-12-22 16:03:51 +01:00
Adriaan de Groot
c963d8905f [netinstall] Merge the two descriptions of *immutable* 2020-12-21 17:24:06 +01:00
Chrysostomus
271122865f define global storage 2020-12-20 01:27:45 +02:00
Adriaan de Groot
2ccd5a2043 Docs: explain about loadmodule
The Python-specific `testmodule.py` was replaced by the more
general `loadmodule`.

FIXES #1596
2020-12-14 16:18:50 +01:00
Adriaan de Groot
b7a27b3f9f Changes: post-release housekeeping 2020-12-09 11:35:42 +01:00
Anubhav Choudhary
e3a41571f0 Spacing added 2020-12-08 18:19:14 +05:30
Chrysostomus
727f7859b7 Mount @swap to /swap when needed 2020-12-07 22:59:29 +02:00
Chrysostomus
b180cbd47d Generate a subvolume for swap if swapfile is used 2020-12-07 22:52:39 +02:00
Chrysostomus
97eb32bf5c Correct the path of swapfile on btrfs 2020-12-07 22:47:32 +02:00
Chrysostomus
80a538665e Generate entry for subvolume @swap 2020-12-07 22:39:21 +02:00
Chrysostomus
3f0612b4ad Use different location for swapfile on btrfs root 2020-12-07 22:31:20 +02:00
Anubhav Choudhary
0f2320bd47 Initializing bools in settings.h 2020-12-07 21:40:59 +05:30
Calamares CI
b98886cdc2 i18n: [python] Automatic merge of Transifex translations 2020-12-07 17:09:14 +01:00
Calamares CI
a299b9dd3a i18n: [calamares] Automatic merge of Transifex translations 2020-12-07 17:09:14 +01:00
Adriaan de Groot
205fc4f948 Changes: pre-release housekeeping 2020-12-07 14:24:45 +01:00
Anubhav Choudhary
03d1fe434c Navigation button hideability added 2020-12-06 04:32:18 +05:30
Adriaan de Groot
b949967529 Merge pull request #1594 from Chrysostomus/calamares
Don't use plymouth-encrypt if there is keyfile in use, because it is buggy and asks for password even when it is not needed
2020-12-05 23:04:37 +01:00
Chrysostomus
59cfdcccdf Use variable instead of a function 2020-12-05 22:57:51 +02:00
Chrysostomus
0ed0d37693 Don't use plymouth-encrypt if there is keyfile in use, because it is buggy and asks for password even when it is not needed 2020-12-05 22:55:35 +02:00
Matti Hyttinen
afc6e719b4 Merge pull request #1 from calamares/calamares
Merge upstream
2020-12-05 22:46:30 +02:00
Anubhav Choudhary
ba514506bb setting.conf template updated 2020-12-06 00:25:56 +05:30
Adriaan de Groot
901ff0e4cf i18n: remove one more stray {1 2020-12-05 00:22:11 +01:00
Calamares CI
e7610132ce i18n: [python] Automatic merge of Transifex translations 2020-12-05 00:21:03 +01:00
Calamares CI
09b71819c2 i18n: [calamares] Automatic merge of Transifex translations 2020-12-05 00:21:03 +01:00
Adriaan de Groot
6ef01d83dd CMake: PREPEND is newer-than-CMake-3.13 2020-12-04 22:32:43 +01:00
Adriaan de Groot
06c6ea04c0 [users] Make status message consistent (no .) 2020-12-04 22:26:27 +01:00
Calamares CI
409a3719cf i18n: [python] Automatic merge of Transifex translations 2020-12-04 22:11:59 +01:00
Calamares CI
3c14d7092a i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-12-04 22:11:59 +01:00
Calamares CI
2ae86fa6e6 i18n: [calamares] Automatic merge of Transifex translations 2020-12-04 22:11:59 +01:00
Adriaan de Groot
e86f67cad8 Changes: post-release housekeeping
The .35 release was really on 2020-12-04, but I'm not going to
go back and update that date.
2020-12-04 20:57:41 +01:00
Adriaan de Groot
a93e96da7c [branding] Restore dropped https 2020-12-04 20:56:46 +01:00
Anubhav Choudhary
e8238ca713 Name added in copyright section 2020-12-04 23:01:06 +05:30
Adriaan de Groot
b3876b15f7 Merge pull request #1589 from deprov447/WelcomePage_links_fix
[branding] Welcome Page links
2020-12-04 14:51:48 +01:00
Anubhav Choudhary
a4c759355b [Fix] WelcomePage links
"Generic support" and "Known Issues" links fixed
2020-12-04 10:39:07 +05:30
Adriaan de Groot
f4133a97db [libcalamares] Make test a bit more verbose (before failing) 2020-11-30 15:38:17 +01:00
Adriaan de Groot
fa7d2bda16 [libcalamares] Misplaced space in a test-filename 2020-11-30 15:28:08 +01:00
Adriaan de Groot
1f21b9ad73 [dracutlukscfg] Const data
The QLatin1String() might be replaced by char[], that trades one
initialization for two but with a simpler data section; this
probably is not worth profiling.
2020-11-30 14:41:02 +01:00
Adriaan de Groot
1f0aec5f87 [dracutlukscfg] Job-internal constant data doesn't need to be a member 2020-11-30 14:35:21 +01:00
Adriaan de Groot
d2c7c42aec [dracutlukscfg] More static methods -> free functions 2020-11-30 14:32:36 +01:00
Adriaan de Groot
6d02bab098 [dracutlukscfg] static methods -> free functions
These methods don't touch anything in the class, and are more safely
tucked away as static (TU-local) free functions.
2020-11-30 14:23:06 +01:00
Adriaan de Groot
6df3c023c8 [luksbootkeyfile] Free functions that really are static (TU-local) 2020-11-30 14:16:35 +01:00
Adriaan de Groot
b82da569d5 [plasmalnf] Remove unused (widget) files 2020-11-30 14:16:35 +01:00
Calamares CI
d290862163 i18n: [calamares] Automatic merge of Transifex translations 2020-11-30 13:22:17 +01:00
Adriaan de Groot
f2e5f2f8e5 Changes: pre-release housekeeping 2020-11-30 13:19:55 +01:00
Adriaan de Groot
06e2db946f [plasmalnf] Older Qt doesn't have -> for iterator
With Qt 5.15.2 (and clang), `k->first` works, but this breaks
with Qt 5.11 (and gcc), this is not available and the dereference
  must be written differently, `(*k).first`.
2020-11-30 13:12:42 +01:00
Adriaan de Groot
ff66eacd0d Merge branch 'issue-1573' into calamares 2020-11-30 12:31:26 +01:00
Adriaan de Groot
fb9fa347a0 [plasmalnf] Fix iteration
`for k : images` iterates over the values in the map, while we need
both the key (the theme-id) and the value (the image to hand to
that theme).
2020-11-30 12:30:01 +01:00
Adriaan de Groot
bcff0454a3 [plasmalnf] Give the themes a selected-state
- This kind of runs around the selection model on the view,
  but we're drawing radio buttons ourselves **anyway**
  and the list of themes knows which is selected / current
  independent of the view.
2020-11-30 12:11:11 +01:00
Adriaan de Groot
da4f8fffcf [plasmalnf] Give the theme list plenty of space 2020-11-30 11:31:44 +01:00
Adriaan de Groot
cf538fb837 [plasmalnf] Implement a delegate for drawing the list of themes 2020-11-30 11:19:00 +01:00
Adriaan de Groot
cc6611bac4 [plasmalnf] Make 'the size of screenshots' available outside ThemeInfo 2020-11-30 10:46:46 +01:00
Adriaan de Groot
dac590a094 [plasmalnf] Rip out the intermediate model again, in prep for a delegate 2020-11-28 16:53:35 +01:00
Calamares CI
2fa272ea2f i18n: [python] Automatic merge of Transifex translations 2020-11-28 16:06:25 +01:00
Calamares CI
b869f716e7 i18n: [calamares] Automatic merge of Transifex translations 2020-11-28 16:06:25 +01:00
Adriaan de Groot
61a2335909 [users] Stray space in message (reported by Transifex user Moo) 2020-11-24 23:47:13 +01:00
Adriaan de Groot
ccfbd6b972 Merge pull request #1566 from Chrysostomus/calamares
Don't use a keyfile for encrypted partitions if /boot in unecrypted
2020-11-24 16:13:32 +01:00
Adriaan de Groot
35f8d90591 Merge pull request #1581 from clarissalimab/clarissa/usability-testing-issue-template
Docs: Add an issue template for usability tests
2020-11-24 11:00:22 +01:00
Adriaan de Groot
2a30ae1e25 [unpackfs] Log failure during unpackfs more clearly 2020-11-22 23:14:02 +01:00
Clarissa Borges
e5215c7091 Docs: Add an issue template for usability tests 2020-11-19 20:35:09 -03:00
Adriaan de Groot
66da5f2fa4 [netinstall] Removing the last package should clear it out.
FIXES #1577
2020-11-18 17:27:50 +01:00
Adriaan de Groot
ff2d2d0d45 Docs: update the CONTRIBUTING guide 2020-11-18 13:22:48 +01:00
Adriaan de Groot
06cbabd189 [plasmalnf] Simplify (warnings--, debug--) 2020-11-17 14:40:21 +01:00
Adriaan de Groot
faa1cb6b65 [plasmalnf] Demand-load image for a theme 2020-11-17 14:32:50 +01:00
Adriaan de Groot
58ea40c14d [plasmalnf] Add a description
- add a role for description
- change view to a table view
2020-11-17 12:41:50 +01:00
Adriaan de Groot
258a14bea2 [plasmalnf] Expose only the themes model
- make ThemeInfo and ThemeInfoList internal, expose only
  ThemesModel to the rest of the PlasmaLnF module
- don't build the widget anymore (needs to be replaced by
  a delegate)
2020-11-17 11:56:09 +01:00
Adriaan de Groot
04a6fbc4c4 [plasmalnf] Fix debug-logging
- ProcessResult isn't loggable, so operator bool() is called, so
  it logged 'false' on failure which isn't helpful.
2020-11-17 11:42:27 +01:00
Adriaan de Groot
0a88273e0d [plasmalnf] Replace combobox with a view 2020-11-17 11:38:33 +01:00
Adriaan de Groot
3909459563 [plasmalnf] Signal more changes to the model
- also individual changes need to be signalled
- use QSignalBlocker to avoid spamming changes when calling
  aggregate change methods
- refactor findById() so that also a row number can be
  obtained, which is needed for the change signals.
2020-11-17 11:17:47 +01:00
Adriaan de Groot
f93cec031b [plasmalnf] Introduce an index-lookup function
- for signalling model changes, also need to know indexes / row
2020-11-17 00:25:48 +01:00
Adriaan de Groot
f9e99da468 [plasmalnf] Improve lnf model
- remove useless widget pointer from themeinfo
- notify when data changes in the model
2020-11-17 00:12:47 +01:00
Adriaan de Groot
1f57a0ddda [plasmalnf] Very basic combo-box based UI 2020-11-17 00:02:59 +01:00
Adriaan de Groot
aaa56b6903 [plasmalnf] Rip out most of the widget
- put a filter model in place, so only the themes with "show" set
  are displayed
- rip out the messing about with widgets, soon to introduce a model-
  based UI
2020-11-16 23:36:32 +01:00
Adriaan de Groot
d4887426e2 [plasmalnf] Set screenshots on themes, filtering
- while here reorder the config so the effect of *showAll* is clearer
2020-11-16 21:57:06 +01:00
Adriaan de Groot
254933a488 [plasmalnf] Prep-work for loading the themes into the model 2020-11-16 21:28:37 +01:00
Adriaan de Groot
57907ca992 [plasmalnf] Move model to ThemeInfo files 2020-11-16 18:14:23 +01:00
Adriaan de Groot
c781343fdd Changes: post-release housekeeping 2020-11-16 12:52:19 +01:00
Adriaan de Groot
04e21b7e46 Changes: pre-release housekeeping 2020-11-16 12:28:28 +01:00
Calamares CI
0bbe03b214 i18n: [python] Automatic merge of Transifex translations 2020-11-16 12:15:52 +01:00
Calamares CI
9bf0a3414f i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-11-16 12:15:52 +01:00
Calamares CI
1f7af88100 i18n: [calamares] Automatic merge of Transifex translations 2020-11-16 12:15:52 +01:00
Chrysostomus
ff9f47ec83 Fix syntax errors 2020-11-15 01:42:16 +02:00
Adriaan de Groot
04c14419c8 Merge pull request #1575 from gportay/partition-remove-unused-attribute
[partition] Remove unused attribute m_defaultFsType
2020-11-14 22:13:34 +01:00
Chrysostomus
567b01eab0 call function at different scope to avoid name collision 2020-11-13 23:39:25 +02:00
Chrysostomus
09798a2a12 Use free functions (I wish I had known I can do this) 2020-11-13 00:02:12 +02:00
Chrysostomus
8676ce9a20 Simplify the generators 2020-11-12 23:57:02 +02:00
Gaël PORTAY
feab8bebba [partition] Remove unused attribute m_defaultFsType
This attribute is used since the commit fcd0e8d36 [partition] Apply
partition layout when replacing free space
2020-11-12 15:15:51 -05:00
Adriaan de Groot
dda2e1f29f Merge commit 'a8359696caf07b81b85db8acad2d3f44720d07fa' into calamares
This is the bugfix part (rather than the "clean up this widgets mess")
of issue-1573, ensuring that the LookAndFeelPackage setting is
saved to the target system config file.
2020-11-12 15:59:56 +01:00
Adriaan de Groot
27f1e82a8f [plasmalnf] Remove unused path-setting from the widget
- Only Config needs to know the path, since it is responsible for
  doing the actual lnf changes.
2020-11-12 15:59:03 +01:00
Adriaan de Groot
a19109ed0b [plasmalnf] Prepare a new model
- start a model for available themes, to replace the list held
  by the widget which just duplicates information.
- move preselected theme to Config.
2020-11-12 15:36:29 +01:00
Adriaan de Groot
03e09cb7e6 [keyboard] When changing layouts, reset variant
- Need to update the variant that is in use, **and**
  explicitly update it in the widget, in order to re-load
  the keyboard image for the newly-selected layout+variant.
2020-11-12 15:29:15 +01:00
Adriaan de Groot
fdfe3937e9 [keyboard] Tell the keyboard preview to update on config changes
These calls to setLayout() and setVariant() got lost in
the transition to Config object, in 5afe5413.

Reported by Harald Sitter.
2020-11-12 14:50:21 +01:00
Adriaan de Groot
b1b801e5f6 Merge pull request #1574 from gportay/partition-fix-typo
[partition] Fix typo
2020-11-11 23:50:33 +01:00
Gaël PORTAY
2e6d632c7c [partition] Fix typo 2020-11-11 12:49:44 -05:00
Adriaan de Groot
cba2733471 [plasmalnf] Move job creation to config 2020-11-11 14:45:31 +01:00
Adriaan de Groot
0af12546ef [plasmalnf] Migrate more settings to Config 2020-11-11 14:41:45 +01:00
Adriaan de Groot
b4aca7e188 [libcalamares] Tidy up documentation for System::runCommand
- Make explicit which one runs in the host, which one is selectable.
- Document *location* parameter in the selectable version.
- Tidy up alignment of apidox.
2020-11-11 14:03:23 +01:00
Adriaan de Groot
00293d1111 [plasmalnf] Move the lookandfeeltool path setting to Config 2020-11-11 13:21:16 +01:00
Adriaan de Groot
0f07550006 [plasmalnf] Introduce (empty) Config object 2020-11-11 13:08:42 +01:00
Adriaan de Groot
a8359696ca [plasmalnf] Remove unnecessary includes 2020-11-11 13:06:09 +01:00
Adriaan de Groot
76b0981918 [plasmalnf] Apply workaround for lookandfeeltool
The lookandfeeltool does not (always?) write the LookAndFeelPackage
key that the KCM does -- and which this module reads on startup
to find the default LnF. This seems to be a regression in recent
lookandfeeltool versions (or in the KCM code that backs it).

Workaround supplied by jghodd.

Fixes #1573
2020-11-11 12:57:40 +01:00
Adriaan de Groot
8f590848bd [plasmalnf] Simplify code
- Look-and-Feel job has no status to speak of
- Coding style
2020-11-11 12:45:19 +01:00
Chrysostomus
543a9e1afc Remove extra static keyword 2020-11-10 22:11:49 +02:00
Adriaan de Groot
3069f4133f Changes: post-release housekeeping 2020-11-10 12:08:49 +01:00
Adriaan de Groot
b503aa645b Merge pull request #1563 from LordTermor/calamares
[users] Full name transliteration support for user creation
2020-11-10 01:19:44 +01:00
Artem Grinev
16eca3c1be [users] Apply code format 2020-11-10 01:54:21 +03:00
Artem Grinev
ca033583a4 Simplified logic a bit, made punctuation handling more correct 2020-11-10 01:47:07 +03:00
Artem Grinev
da5fb2d3e1 Improved comment 2020-11-10 01:40:08 +03:00
Artem Grinev
d5e678157d Changed TRANSLITERATOR_ID type to array 2020-11-10 01:23:10 +03:00
Gaël PORTAY
7859d98a32 [unpackfs] Skip overlay extended attributes
The module preserves the extended attributes at rsync and the overlay
filesystem stores extended attributes by inodes.

The overlay filesystem keeps traces of the lower directory by encoding
and storing its UUID to the attribute trusted.overlay.origin. If the
index feature is on, that attribute is compared to the UUID of the lower
directory at every subsequent mounts and causes mount to fail with
ESTATE if it does not match.

This filters the namespace trusted.overlay.* by using the rsync option
--filter='-x trusted.overlay.*' to make sure the overlays extended
attributes are not preserved.

Fixes:
        # mount -t overlay -o lowerdir=...,upperdir,...,workdir= overlay /mnt/etc
        mount: /var/mnt/etc: mount(2) system call failed: Stale file handle.

        # dmesg
        (...)
        overlayfs: "xino" feature enabled using 32 upper inode bits.
        overlayfs: failed to verify origin (/etc, ino=524292, err=-116)
        overlayfs: failed to verify upper root origin
2020-11-09 17:13:12 -05:00
Chrysostomus
e3ee3c623d Add some relevant looking stuff to header file 2020-11-09 23:24:09 +02:00
Adriaan de Groot
8a7e9c4034 Merge branch 'issue-1569' into calamares
FIXES #1569
2020-11-09 16:19:03 +01:00
Adriaan de Groot
b4c3236e4a [users] Consume error information from libpwquality
Previously, the auxerror information was never stored, and
the messages were all un-numbered or un-explained.
Now, consume that information and store it when check()
is called, ready to be used when (possibly much later,
or after a translation change) explanation() is called.
2020-11-09 16:08:19 +01:00
Adriaan de Groot
43565027f5 [users] m_auxerror never set, always nullptr 2020-11-09 15:42:22 +01:00
Adriaan de Groot
f3e37f3cee [users] Remove unused PWQuality method 2020-11-09 15:40:23 +01:00
Adriaan de Groot
a5dfe7cd68 i18n: update english translations 2020-11-09 15:14:54 +01:00
Adriaan de Groot
4e9c18a565 [users] Translate PWQuality error messages with numbers 2020-11-09 15:14:41 +01:00
Adriaan de Groot
a843f34177 CI: require a sufficiently-recent JSON-Schema 2020-11-09 13:41:56 +01:00
Adriaan de Groot
d336d0167f i18n: translation stats
(This does not change the overall list of available languages)
2020-11-09 13:08:07 +01:00
Calamares CI
e888f7b90e i18n: [python] Automatic merge of Transifex translations 2020-11-09 12:27:05 +01:00
Calamares CI
d93090de44 i18n: [calamares] Automatic merge of Transifex translations 2020-11-09 12:27:04 +01:00
Adriaan de Groot
225a5d31c2 Changes: pre-release housekeeping 2020-11-09 11:39:38 +01:00
Adriaan de Groot
2a9bbf1dd5 [users] Add test for jobs-creation
- This tries to avoid the now-fixed situation where a sudoersGroup job
  is not created at all (because of a logic error).
- While here, coding style
2020-11-09 11:39:11 +01:00
Chrysostomus
adc8d7e624 Fix typo 2020-11-07 12:55:54 +02:00
Adriaan de Groot
3b152ba455 Merge branch 'fix-sudo-settings' into calamares 2020-11-06 22:28:37 +01:00
Adriaan de Groot
43e271dfec [users] Missing negation 2020-11-06 22:27:46 +01:00
Adriaan de Groot
8e53b83f9f [users] Test for setting / resetting sudo settings 2020-11-06 22:27:34 +01:00
Adriaan de Groot
009b3b460b Merge pull request #1570 from gportay/mount-skip-if-filesystem-is-unformatted
[mount] Ignore unformatted filesystems only
2020-11-06 22:25:40 +01:00
Chrysostomus
b7cc4860e0 Put the condition on a single line for prettiness sake 2020-11-06 21:45:01 +02:00
Chrysostomus
3731dfb146 Try not to create the keyfile if not necessary 2020-11-06 21:32:10 +02:00
Adriaan de Groot
6f41949bba [users] Log when sudo is skipped 2020-11-06 14:38:12 +01:00
Gaël PORTAY
6e9ce7194f [mount] Ignore unformatted filesystems only
Mount guesses the filesystem if it is unset or if it is set to auto,
thanks to blkid. That is the case for the bind mountpoints like /dev or
/run/udev in mount.conf. See `mount(8)` for more details.
2020-11-06 07:38:48 -05:00
Matti Hyttinen
73b5c62ab8 Update main.py
typo in a comment
2020-11-06 08:49:22 +02:00
Calamares CI
822e30c894 i18n: [calamares] Automatic merge of Transifex translations 2020-11-06 01:14:28 +01:00
Adriaan de Groot
afb4e00f92 [keyboard] Pre-select pc105 2020-11-06 01:10:27 +01:00
Adriaan de Groot
e5b7e66ee9 [locale] Filter zones combo always
The drop-down of zones was initially unfiltered, so you could start
in Europe/Amsterdam and the zones drop-down would also show Australian
zones; picking Perth would have weird effects, since Europe/Perth
doesn't exist and so you'd end up in New York instead.

- set the filtering region immediately, rather than only when the
  region changes.
2020-11-05 00:33:45 +01:00
Adriaan de Groot
83b2b95381 [libcalamares] Reduce object churn
- we don't need to allocate a new translator each time the language changes
2020-11-05 00:09:23 +01:00
Chrysostomus
741c1c5d1e Use constructor instead of a loop 2020-11-05 01:01:26 +02:00
Adriaan de Groot
59255c7a57 Changes: apply coding style 2020-11-05 00:00:29 +01:00
Adriaan de Groot
be7b63051e Enable keyboard-model and layout-name translations.
SEE #1515
2020-11-04 23:36:33 +01:00
Adriaan de Groot
e023da3f35 i18n: update Tajik keyboard translations
- real ones this time, not my made-up nonsense
2020-11-04 18:30:48 +01:00
Chrysostomus
26b1c349d3 Set default value inside the relevant function 2020-11-04 19:27:59 +02:00
Adriaan de Groot
c4de62cb9a Merge branch 'fix-keyboardq' into calamares
Various file writes were not being checked, and the code
was a bit tangled; specifically keyboardq did **not**
configure properly on KaOS and now seems ok.
2020-11-04 17:09:56 +01:00
Adriaan de Groot
83d2c06f68 [keyboard] Apply coding style 2020-11-04 16:36:52 +01:00
Adriaan de Groot
705e6dd8d6 [keyboard] Improve debug-logging for writing etc/default 2020-11-04 16:32:22 +01:00
Adriaan de Groot
cbc376a206 [keyboard] Improve debug-logging for writing X11 config 2020-11-04 16:32:22 +01:00
Philip Müller
5191df2bde Merge pull request #1568 from gportay/partition-fix-typo
[partition] Fix typo
2020-11-04 16:18:00 +01:00
Adriaan de Groot
57da222c72 [keyboard] Improve debug-logging for vconsole-config 2020-11-04 16:16:28 +01:00
Adriaan de Groot
f18f425682 Merge pull request #1567 from gportay/umount-fix-list-of-mount-points-to-unmount
[umount] Fix list of mount-points to unmount
2020-11-04 16:09:02 +01:00
Gaël PORTAY
e2b00bc517 [partition] Fix typo 2020-11-04 09:58:07 -05:00
Gaël PORTAY
e9e4be1c60 [umount] Fix list of mount-points to unmount
The root mount-point can end with a / while the mount-point read from
the file /etc/mtab does not end with a /.

This leads to skip the unmounting of the root mount-point and causes the
removal of the root mountpoint directory to fail with EBUSY because it
is still mounted.

This uses the python functions os.path.normpath() to normalize the root
mount-point (i.e. to drop the trailing /) and os.path.commonprefix() to
determine the longest common prefix between the two mount-points. If the
returned prefix is identical to the normalized root mount-point then the
mount-point must be added to the list of the mount-points to unmount.

More generally, the python modules should rely on the os.path functions
to compare for paths instead of using strings. It covers this way lots
of corner cases (path with "//", "/../", "/./", ...).
2020-11-04 08:37:22 -05:00
Adriaan de Groot
845fb3f6da [keyboard] Refactor writing-various-files
- put the writing of each kind of file in its own block -- this should
  become separate functions -- so that variables become more local
  and debugging can be improved.
- while here, fix the error message for /etc/default/keyboard:
  it would complain and name the vconsole file path if it ever failed.
2020-11-04 14:03:14 +01:00
Adriaan de Groot
3e51d77782 [keyboard] Check for successful file-write 2020-11-04 13:39:23 +01:00
Adriaan de Groot
2535d8ccbd Merge branch 'issue-1327' into calamares
FIXES #1327
FIXES #1267

Generally, flags-manipulation was a mess and restoring the
value-on-disk impossible.
2020-11-04 13:20:14 +01:00
Adriaan de Groot
2c297a068f [partition] Log when an EFI problem has been solved 2020-11-04 12:32:51 +01:00
Adriaan de Groot
0f38ee624e [partition] static-assert that our shortcut makes sense 2020-11-04 09:59:35 +01:00
Artem Grinev
94f7efb89f [users] Remove ' from transliterated string 2020-11-04 03:37:25 +03:00
Artem Grinev
f20d0a7593 [users] Name cleanup after transliteration 2020-11-04 03:24:58 +03:00
Artem Grinev
aa5ef7a6b8 [users] New transliterator ID 2020-11-04 03:21:31 +03:00
Adriaan de Groot
15ace5202d [partition] Simplify EFI-flags checking with KPMCore 4 2020-11-04 01:16:36 +01:00
Adriaan de Groot
85bb8c27b3 [partition] Simplify flags calculations
- factor out the flags-we-want from the flags-we-already-have
 - the use of ->activeFlags() meant that the state on *disk* was
   being compared with the flags-we-want; if a partition was re-edited,
   then you couldn't change the flags back to the state-on-disk
   (eg. enable a flag, then change your mind and disable it).
 - set the flags before refreshing the partition, because the
   refresh checks for EFI bootability and that needs the new flags,
   not the old ones.
2020-11-04 00:58:11 +01:00
Adriaan de Groot
949e33f1e8 [partition] Massage logging while checking for EFI boot 2020-11-04 00:43:32 +01:00
Adriaan de Groot
63964de4bd [partition] Explain underlying type for flags variant 2020-11-04 00:32:21 +01:00
Adriaan de Groot
87c77d9807 [partition] When flags are explicitly invalid, return early 2020-11-04 00:14:05 +01:00
Adriaan de Groot
356e13ae93 [partition] Improve logging readability 2020-11-03 23:46:07 +01:00
Chrysostomus
fe291bc51a Write the crypttab entry still 2020-11-03 23:33:24 +02:00
Chrysostomus
9f52282e4c Don't use keyfile if there /boot is unencrypted 2020-11-03 23:23:56 +02:00
Chrysostomus
3eae98eac3 Don't enable grub password query if /boot is on unencrypted partition 2020-11-03 23:15:35 +02:00
Calamares CI
1ce126c01e i18n: [python] Automatic merge of Transifex translations 2020-11-03 15:07:22 +01:00
Calamares CI
c7eb8e1d2c i18n: [calamares] Automatic merge of Transifex translations 2020-11-03 15:07:22 +01:00
Adriaan de Groot
b6534c3ebf Changes: credits adjustment 2020-11-03 15:01:13 +01:00
Adriaan de Groot
72c9df67d2 Merge pull request #1565 from Chrysostomus/calamares
[initcpiocfg] Use graphical decryption prompt with plymouth
2020-11-03 14:29:22 +01:00
Adriaan de Groot
455de6f948 Merge branch 'document-1523' into calamares
FIXES #1523
2020-11-03 13:03:01 +01:00
Adriaan de Groot
f898840e16 [users] Expand schema to cover new possibilities 2020-11-03 13:02:49 +01:00
Chrysostomus
84558333bf Regular plymouth hook is also still needed 2020-11-03 13:57:19 +02:00
Chrysostomus
3bf57c7785 Use graphical decryption prompt with plymouth as adviced here: https://wiki.archlinux.org/index.php/plymouth#The_plymouth_hook 2020-11-03 13:55:24 +02:00
Adriaan de Groot
36f9fd56a3 [users] Expand the example config with new possibilities 2020-11-03 12:54:19 +01:00
Adriaan de Groot
7c268b2e4d [users] Correct terminology in configuration documentation 2020-11-03 12:48:12 +01:00
Adriaan de Groot
ed95c4a541 CMake: pre-release housekeeping 2020-11-03 11:52:23 +01:00
Adriaan de Groot
8ab5b562ad i18n: timezone translations for Vietnamese 2020-11-03 11:16:45 +01:00
Adriaan de Groot
2516f18d1b Merge pull request #1560 from gportay/partition-mount-make-mountPoint-and-filesystem-optionals
[partition,mount] Make mountPoint and filesystem optionals
2020-11-02 23:25:53 +01:00
Adriaan de Groot
f00a095acb Merge branch 'fix-partition-layout' into calamares 2020-11-02 23:25:10 +01:00
Adriaan de Groot
ffce79e30e [partition] Initialize the filesystem type, not the partition type
- Passing FileSystem::Type to the QString constructor for
  partition type is not what I intended.
2020-11-02 22:32:44 +01:00
Adriaan de Groot
73b5a0898d [partition] Migrate the defaultFS type
- remove the m_defaultFSType from PartitionLayout, because it is
  set on construction -- which is too early, before the configuration
  has been read.
- make the default FS explicit in the init() calls which pass in
  a configuration; this needs support in the intermediate
  PartitionCoreModule.
2020-11-02 21:35:43 +01:00
Adriaan de Groot
42014a8201 Docs: typo (thanks jdfthetech) 2020-11-02 16:21:12 +01:00
Adriaan de Groot
23eabd74c6 [partition] Set FS type explicitly if no layout is given
- the "simple" constructor for PartitionEntry left the FS type
  set as the constructor left it -- which is Unknown by default.
  This leads to install failures in systems that don't set a
  special layout but just want a single / -- because the FS is
  set to Unknown.
- massage the constructor and consumer of the code, push
  Ext4 FS in the tests and use the configured default in production.
2020-11-02 16:01:10 +01:00
Artem Grinev
c85d1ae1fe Explanation why ICU is needed for usersq module 2020-11-02 17:53:05 +03:00
Adriaan de Groot
f78752303b [partition] Improve constructors for layout
- initialize flags by default
- the copy constructor was just doing the default thing,
  so make that explicit
2020-11-02 15:40:32 +01:00
Gaël PORTAY
6013ed52f8 [partition] Ignore unformatted filesystem 2020-11-02 09:01:23 -05:00
Gaël PORTAY
db08d2db8b [partition] Make filesystem optional and default to unformatted 2020-11-02 08:36:41 -05:00
Gaël PORTAY
163351a803 [mount] Ignore empty or unformatted filesystems 2020-11-02 08:36:41 -05:00
Gaël PORTAY
c6feedf923 [mount] Ignore empty mountpoints 2020-11-02 08:36:41 -05:00
Gaël PORTAY
54fd1f4b26 [mount] Print a warning if mount failure
The return of the call to libcalamares.utils.mount is never tested and
it may fail silently; this causes some mounpoints to be missing.

This adds a warning if mountpoint cannot be mounted.

	chcon: failed to get security context of '/tmp/verity': Operation not supported
	06:44:23 [6]: static CalamaresUtils::ProcessResult CalamaresUtils::System::runCommand(CalamaresUtils::System::RunLocation, const QStringList&, const QString&, const QString&, std::chrono::seconds)
	    Running "env" ("mount", "-t", "unformatted", "/dev/sdb2", "/tmp/calamares-root-kv8dqgb5/tmp/verity")
	    ..  Finished. Exit code: 32
	    ..  Target cmd: ("mount", "-t", "unformatted", "/dev/sdb7", "/tmp/calamares-root-kv8dqgb5/tmp/verity") output:
	 mount: /tmp/calamares-root-kv8dqgb5/tmp/verity: unknown filesystem type 'unformatted'.
2020-11-02 08:36:41 -05:00
Gaël PORTAY
1f9f506a16 [partition] Make mountPoint optional
Some devices cannot be mounted (as DM_verity_hash), therefore, it is
nosense to set a mountPoint for them.
2020-11-02 08:36:41 -05:00
Adriaan de Groot
486cdaeeb6 [users] Shuffle library order to satisfy CI build 2020-11-02 14:10:35 +01:00
Adriaan de Groot
2bd3f1d8c1 Merge branch 'issue-1523' into calamares 2020-11-02 13:08:30 +01:00
Adriaan de Groot
b61b5f8650 [users] Run an expected-to-fail test in creating groups 2020-11-02 12:27:50 +01:00
Adriaan de Groot
8127ae704c [users] Expand tests for groups a little 2020-11-02 12:13:59 +01:00
Adriaan de Groot
e66f81f6ee CMake: comment on BUILD_AS_TEST 2020-11-02 12:01:02 +01:00
Adriaan de Groot
10991346b7 Merge pull request #1561 from gportay/partition-set-swap-partition-name
[partition] Allow a configurable swap Partition name
2020-11-02 11:43:07 +01:00
Adriaan de Groot
7578768c46 Merge pull request #1562 from gportay/partition-group-efi-things-together
[partition] Group EFI things together
2020-11-02 11:39:44 +01:00
Artem Grinev
4e54a2aefe [users] Cleaned error handling a bit 2020-11-02 04:01:01 +03:00
Artem Grinev
8e07bb00f9 [users] Construct icu::UnicodeString from QString's utf16 chars directly 2020-11-02 03:52:37 +03:00
Artem Grinev
48eae463cc [users] Full name transliteration support for user creation 2020-11-01 19:45:12 -05:00
Adriaan de Groot
0bad5469fc [libcalamares] Fix tests failures from JobQueue asserts
Some compile flags changed recently, triggering assert()
in the jobqueue when there is more than one. There's no
real reason for JobQueue to be a singleton, but it wants
to be. So clean up pointers a little more enthusiastically.
2020-11-01 17:59:41 +01:00
Adriaan de Groot
4746754344 [keyboard] Translate layouts as well 2020-11-01 14:28:12 +01:00
Adriaan de Groot
6863db0dc1 [keyboard] Use the translations if they were loaded 2020-11-01 14:19:06 +01:00
Adriaan de Groot
f088efdf84 [keyboard] Re-jig translation extraction
- Use classes to prompt lupdate to extract with a better
  context (e.g. the class name, rather than plain "QObject")
  so that the translation-lookup can use the named context.
- Add hard-coded "default" variant
- Add totally bogus Tajik translations, for testing purposes
2020-11-01 13:50:12 +01:00
Adriaan de Groot
1a5fa36fb6 i18n: build keyboard translations
This is the Wrong Thing To Do, but we'll do it for now: build the
keyboard translations into the executable. In the medium term
they should move to the modules that use them, with the re-vamp
of how translation changes are signalled.
2020-11-01 12:42:58 +01:00
Adriaan de Groot
b15a76804c i18n: bogus Tajik keyboard translations 2020-11-01 12:41:21 +01:00
Adriaan de Groot
621ac9b8db Merge branch 'partition-warnings' into calamares 2020-11-01 00:33:59 +01:00
Adriaan de Groot
4a08fdbb92 [partition] Reduce warnings from KPMCore
- make KPMHelper.h an "everything include" and suppress warnings
  from it, then use it in the tests.
2020-11-01 00:20:17 +01:00
Adriaan de Groot
d26fde6647 [partition] Reduce warnings
- Add a helper header that munges the warnings-settings so that
  KPMcore headers can be included.
2020-11-01 00:05:05 +01:00
Adriaan de Groot
c41ff94f8a [locale] Reduce warnings (C++17)
Now that Calamares is compiled as C++17, we get this:

src/modules/locale/timezonewidget/TimeZoneImage.cpp:28:55: warning: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated]
/* static constexpr */ const QSize TimeZoneImageList::imageSize;
2020-10-31 23:48:20 +01:00
Adriaan de Groot
4d444cbfbb [partition] Reduce warnings (Clang, FreeBSD)
The code doesn't match the comment: there are no by-ref captures
in the code, and the shadowing of parameters and local variables
is confusing. Remove one variable that is passed in as an argument
(and just pass the value as argument) and copy-capture the other
rather than doing weird argument passing.
2020-10-31 23:37:06 +01:00
Adriaan de Groot
0a44ce381e [partition] Reduce warnings (Clang, FreeBSD)
- remove unused this captures from lambda
- rename variables that are short, cryptic, and shadowed
- remove documentation for parameters that don't exist
2020-10-31 23:16:48 +01:00
Gaël PORTAY
3967cfe0eb [partition] Group EFI things together 2020-10-31 18:09:44 -04:00
Adriaan de Groot
9d930ad9cc Docs: fix the table 2020-10-31 23:04:47 +01:00
Gaël PORTAY
a1d45122eb [partition] Update partition.conf 2020-10-31 17:59:08 -04:00
Adriaan de Groot
8bfc4dfcd2 Docs: try to get the table of links right 2020-10-31 22:53:47 +01:00
Gaël PORTAY
dad9587c3e [partition] Allow a configurable swap Partition name
This commit adds the new configuration `swapPartitionName` to the file
partition.conf.

This option sets the partition name to the swap partition that is
created. If this option is unset, the partition is left unnamed.
2020-10-31 17:39:50 -04:00
Adriaan de Groot
4387b8061e [keyboard] Move responsibility for retranslation to Config
- only widgets get language change events, so we need to
  hook that up to the ViewSteps and inform the Config
  object so that it can (re)load translations for the
  keyboard data.
2020-10-31 20:02:21 +01:00
Adriaan de Groot
71e0081fce [keyboard] SPDX-tagging 2020-10-30 22:31:42 +01:00
Adriaan de Groot
7db398cfdf Merge pull request #1558 from gportay/partition-cleanups
[partition] cleanups
2020-10-30 22:30:38 +01:00
Adriaan de Groot
89a04e0fa3 Merge pull request #1559 from gportay/libcalamres-cleanups
[libcalamres] cleanups
2020-10-30 22:28:16 +01:00
Adriaan de Groot
89a180ee58 [keyboard] Initial support for translated keyboard names 2020-10-30 16:24:56 +01:00
Adriaan de Groot
b72eba8157 [libcalamares] Extend the Deleter-helper with "preserve"
Sometimes you want to keep the thing around after all.
2020-10-30 15:58:38 +01:00
Adriaan de Groot
7659dfdb9d [libcalamares] Expose a translations-loading function 2020-10-30 15:58:38 +01:00
Gaël PORTAY
f03ae06deb [partition] Rename execute to createPartitions 2020-10-30 10:20:18 -04:00
Gaël PORTAY
f2bfe2bd6a [partition] Fix coding style 2020-10-30 10:14:40 -04:00
Gaël PORTAY
cd725fbb4b Fix missing SPDX-FileCopyrightText in header 2020-10-30 10:12:28 -04:00
Gaël PORTAY
2007335865 [partition] Rename the KPMCore Partition local to part 2020-10-30 10:12:28 -04:00
Gaël PORTAY
32c1f81fbf [partition] Rename iterator in for loop to entry 2020-10-30 10:12:28 -04:00
Gaël PORTAY
3016b93c8f [partition] Simplify the method execute
- Rename the "size" locals using "sectors" in their name. Size may be
  confusing or not enough specific as it can be interpreted a size in
  Byte.
    partSizeMap -> partSectorsMap,
    totalSize -> totalSectors,
    availablesize -> availableSectors,
    size -> sectors,
    minSize -> minSectors
    maxSize -> maxSectors
- Create a the new local currentSector to iterate over the sectors;
  instead of using the parameter firstSector.
- Remove the variable end that does not help much; too many variable
  already. Expand its expression instead.
2020-10-30 10:12:28 -04:00
Gaël PORTAY
81bec68b3d [partition] Introduce new constructors for PartitionEntry
- Introduces new constructors for PartitionEntry: copy constructory and
  constructor with all attributes.
- Use the new constructor in method addEntry().
2020-10-30 10:12:27 -04:00
Gaël PORTAY
3f2dd516d3 [partition] Simplify the retrieval of the size attributes
- The variant helper toString() takes a default value since commit
  c9f942ad6 ([libcalamares] Add default value to variant helpers).
- Set the default value to 0 and simplify the retreival of size values
  by calling the helper toString() and removing the temporary variables.
2020-10-30 10:11:56 -04:00
Gaël PORTAY
03df5f6891 [libcalamares] Fix constness of functions 2020-10-30 09:42:59 -04:00
Gaël PORTAY
aec066359a [libcalamares] Fix coding style 2020-10-30 09:42:59 -04:00
Gaël PORTAY
db7cf74034 [partition] Remove the call the method contains
- The variant helper getString() calls contains() already.
2020-10-30 09:17:12 -04:00
Gaël PORTAY
d6ea30b23e [partition] Move initLayout logic to object PartitionLayout
- The logic of the method initLayout belongs to the object
  PartitionLayout. Move logic to that object.
- Use a single method initLayout in object PartitionCoreModule.
- Member m_partLayout in object PartitionCoreModule is no longer
  allocated.
2020-10-30 09:17:12 -04:00
Gaël PORTAY
eae1e90dce [partition] Remove unused PartitionLayout constructor
- The constructor PartitionLayout with PartitionEntry appears to be
  unused since its always. Drop it!
2020-10-30 09:17:12 -04:00
Gaël PORTAY
f2960366c8 [partition] Remove unused addEntry method
- The method addEntry with PartitionEntry appears to be unused since its
  always. Drop it!
2020-10-30 09:17:12 -04:00
Adriaan de Groot
ac6c9fae4a [libcalamares] Do not use moved-from object 2020-10-30 13:51:53 +01:00
Adriaan de Groot
063fb24f3a i18n: add translations source for keyboards 2020-10-30 12:43:03 +01:00
Adriaan de Groot
2e9a44269c [keyboard] Extracted strings from keyboard list 2020-10-30 12:39:47 +01:00
Adriaan de Groot
5a378090c2 [keyboard] Do not munge keyboard model name
The translation happens whenever this code is run, which may
not match the language the user subsequently selects.
It also causes general problems with the translation,
since we end up with a possibly-partly-translated name.
2020-10-30 12:16:14 +01:00
Adriaan de Groot
7ec8c454bd [keyboard] Ukranian needs a switcher, too 2020-10-30 11:21:57 +01:00
Adriaan de Groot
8457a00ad0 [keyboard] Fix group-switcher multiplying
FIXES #1556
2020-10-30 11:05:15 +01:00
Adriaan de Groot
daaf16d331 Merge branch 'calamares' into issue-1523 2020-10-29 16:33:27 +01:00
Adriaan de Groot
c36aa43f86 CI: use a larger tmpfs for the build (my local build/ is 112M) 2020-10-29 15:57:53 +01:00
Calamares CI
f822856441 i18n: [python] Automatic merge of Transifex translations 2020-10-29 14:28:48 +01:00
Calamares CI
3e57979e73 i18n: [desktop] Automatic merge of Transifex translations 2020-10-29 14:28:48 +01:00
Calamares CI
e4a8b8358f i18n: [calamares] Automatic merge of Transifex translations 2020-10-29 14:28:48 +01:00
Adriaan de Groot
aeeb4332b0 Changes: add Vietnamese translation 2020-10-29 14:26:17 +01:00
Adriaan de Groot
018788ddc0 Changes: document Artem's work 2020-10-28 17:11:11 +01:00
Adriaan de Groot
8fd66933ee Merge branch 'fix-keyboardq' into calamares
This lands Artem's work on supporting non-ASCII layouts better,
which currently only applies to Russian layouts -- it works with
a table, so it is easy to extend for other layouts.

The QML and Widget steps now completely share the Config backend,
which is why there's so many commits here: the Widget page needed
to have most of its code ripped out, and the models for
keyboard data were broken in various ways and needed fixing.

FIXES #1211
2020-10-28 17:03:57 +01:00
Adriaan de Groot
cd9c0ea781 [keyboard] Reduce debugging output 2020-10-28 17:00:12 +01:00
Adriaan de Groot
2e5301c5c9 [keyboard] Simplify back down to lambdas
- With debugging and untangling done, the lambdas are simple
  and short, so return to using them. One point of improvement
  might be to give the models suitable slots themselves,
  to avoid even this indirection.
2020-10-28 16:54:08 +01:00
Adriaan de Groot
0bf28b0b94 [keyboard] Sanity in setCurrentIndex() parameters 2020-10-28 16:47:52 +01:00
Adriaan de Groot
9e141636c5 [keyboard] Tidy up the debugging output, add docs 2020-10-28 16:40:43 +01:00
Adriaan de Groot
14a76a386a [keyboard] Replace broken-ish variants model with k-v list
- Use the just-refactored XKBListModel to store the xkb key-value
  pairs for variants, drop most of the complicated implementation,
  store just a single list of values.
2020-10-28 16:29:52 +01:00
Adriaan de Groot
d536173d66 [keyboard] Factor out a 2-column k-v list 2020-10-28 16:29:52 +01:00
Adriaan de Groot
5afe54132b [keyboard] Use the models from Config
- Remove code that is duplicated in Config.
- Hook up UI for physical keyboard model, and back.
- For now, introduce some named slots with debugging output.
  This makes debugging a lot easier since we have function names
  to work with rather than anonymous lambdas
2020-10-28 16:01:38 +01:00
Adriaan de Groot
168be02c96 [keyboard] Hook up the model-selection again 2020-10-28 14:03:46 +01:00
Adriaan de Groot
87aafb2442 [keyboard] Tear up connections between widgets and model 2020-10-28 13:57:57 +01:00
Adriaan de Groot
193efe1710 [keyboard] Restore the notion of PC105 default index 2020-10-28 13:57:57 +01:00
Adriaan de Groot
6aedf4401f [keyboard] Apply coding style 2020-10-28 13:41:34 +01:00
Adriaan de Groot
365a2ad6fd [keyboard] Re-do the keyboard physical models model from scratch 2020-10-28 13:41:21 +01:00
Adriaan de Groot
a1c70b46a1 [keyboard] Typo in comment 2020-10-28 13:06:43 +01:00
Adriaan de Groot
5f1d7b2e8d [keyboard] Rename UI widgets to make code clearer 2020-10-28 10:38:51 +01:00
Adriaan de Groot
d464e98e89 [keyboard] Move remaining variables to Config
- Config already *has* everythind, but drop the useless copies
  and duplicated code from the Page
- Plug the models model into the Page
- While here, document the model / layout / variant distinctions

The code doesn't fill the UI properly, and the drop-down
for the models combobox is not right, but at least the data
is shared.
2020-10-28 01:25:42 +01:00
Adriaan de Groot
fe5757c7d1 [keyboard] Matching of layouts is very suspect 2020-10-28 01:07:49 +01:00
Adriaan de Groot
4f0d6a8f25 Merge branch 'calamares' into fix-keyboardq 2020-10-28 00:04:40 +01:00
Adriaan de Groot
dca9ae0c93 Merge pull request #1553 from LordTermor/calamares
Initial additional layout support for non-ASCII layouts
2020-10-27 22:11:23 +01:00
Artem Grinev
4434e85d4d [keyboard] Simplified variable name 2020-10-27 20:53:20 +03:00
Artem Grinev
3552233bf1 [keyboard] Minor logic rework 2020-10-27 20:48:18 +03:00
Artem Grinev
6667ea834f [keyboard] Adjusted indents 2020-10-27 20:42:49 +03:00
Artem Grinev
996c82160e [keyboard] fixed typo 2020-10-27 20:38:04 +03:00
Adriaan de Groot
4a3273d634 [keyboard] Remove superfluous variable (set to true, never changed) 2020-10-27 16:59:22 +01:00
Artem Grinev
bfc60ad2cf [keyboard] Implemented X11 config writing for additional layout 2020-10-27 18:59:10 +03:00
Artem Grinev
0dd027af90 [keyboard] Fixed condition bug 2020-10-27 18:59:10 +03:00
Artem Grinev
19b1fb3358 [keyboard] Added explanatory comment for xkbmap_query_grp_option 2020-10-27 18:59:10 +03:00
Artem Grinev
384b1ba8c6 [keyboard] Swapped primary and additional layouts in selection 2020-10-27 18:59:10 +03:00
Artem Grinev
354dc1613a [keyboard] Removed unnecessary repacking in xkbmap_layout_args 2020-10-27 18:59:10 +03:00
Artem Grinev
09b5e42734 [keyboard] Minor additional layout info rework 2020-10-27 18:59:10 +03:00
Artem Grinev
17b9647016 [keyboard] Support for additional layout if current layout is not ASCII-
capable in live system
2020-10-27 18:59:10 +03:00
Adriaan de Groot
8cf3bd23b9 [keyboardq] Remove superfluous variable (set to true, never changed) 2020-10-27 16:55:02 +01:00
Adriaan de Groot
734dbece8a [keyboardq] Fix include style, remove unnecessary declarations 2020-10-27 16:47:47 +01:00
Adriaan de Groot
0947cd8354 [keyboard] Migrate to Config::onActivate() which is badly-named 2020-10-27 16:12:36 +01:00
Adriaan de Groot
0ffa500432 [keyboard] Remove unused code
- this has already migrated to Config but had not been removed locally
2020-10-27 15:56:50 +01:00
Adriaan de Groot
35a2bd3f0f [keyboard] Use Config's own finalize() 2020-10-27 15:55:29 +01:00
Adriaan de Groot
14c079d1d6 [keyboard] Replace own copy of status by the one from Config 2020-10-27 15:53:59 +01:00
Adriaan de Groot
acb5190217 [keyboard] Use Config methods rather than own copy
- this continues the port of the keyboard module to use the Config
  object, which was horribly botched earlier.
2020-10-27 15:51:48 +01:00
Adriaan de Groot
679f613955 [keyboard] Rename mysterious Config::init() to descriptive name 2020-10-27 15:48:51 +01:00
Adriaan de Groot
a940be2bb4 [keyboardq] Load configuration into Config object 2020-10-27 15:46:18 +01:00
Adriaan de Groot
8142d6f86c [keyboardq] Drop unnecessary variable -- just use the Config status 2020-10-27 15:42:27 +01:00
Adriaan de Groot
83b06fe3cb Changes: credits for this round 2020-10-27 15:38:38 +01:00
Adriaan de Groot
98c7cec732 CMake: restore NOTREACHED, without the macro-mess
- gcc (up to at least version 10) is worse at recognizing that all
  cases have been handled, so it complains about all the switches
  that cover enum values.
2020-10-25 18:52:38 +01:00
demmm
f6e6774f92 [keyboardq] fix build 2020-10-25 18:35:03 +01:00
Adriaan de Groot
fea403186f [libcalamares] Search for balance between warnings and annotations
- CI's gcc is too old to analyse a switch() for completeness,
  so the CI build fails.
2020-10-25 17:49:26 +01:00
Adriaan de Groot
478c394d99 [partition] Don't needlessly expose a test symbol 2020-10-25 17:49:26 +01:00
Andrius Štikonas
f629826d40 README: switch to C++17. 2020-10-25 11:54:27 +00:00
Adriaan de Groot
2b9fa0f982 CMake: drop the NOTREACHED macro
- both clang and g++ support __builtin_unreachable(); (as Kevin
   Kofler pointed out) so we don't need the macro to do different things;
 - the compilers have gotten better at detecting unreachable code,
   so instead of inserting macros or fiddly bits, just drop them
   and the unreachable code they comment.
2020-10-25 12:49:49 +01:00
Adriaan de Groot
9a2fca7f5b CMake: prefer normal C++17 [[fallthrough]] annotation 2020-10-25 12:49:49 +01:00
Adriaan de Groot
364d50679f CMake: don't put linker flags in compile-flags variables 2020-10-25 12:49:49 +01:00
Adriaan de Groot
7fa1c1b787 [libcalamares] Avoid object-slice
g++ warns that error_already_set is polymorphic, and we're catching
by-value (although we don't use that value). Avoid that.
2020-10-25 12:49:49 +01:00
Adriaan de Groot
84936a95fc [libcalamaresui] Warnings-- for Qt 5.15 deprecations
Introduce a GUI-oriented compatibility header that introduces aliases
for some enum values that are deprecated in Qt 5.15
2020-10-24 13:00:48 +02:00
Adriaan de Groot
b28a50de6f [libcalamares] Remove useless variable
- describe() is for debugging purposes, doesn't need to calculate
  whether the requirements are accepted.
2020-10-24 12:35:19 +02:00
Adriaan de Groot
6c7d295712 CMake: simplify C and C++ flags
- reduce the difference between clang and g++ builds, factor
  common flags out of the CMake-if
- drop special boost-warning-suppression, we do that differently
  most of the time in the affected source files
2020-10-24 12:32:07 +02:00
Adriaan de Groot
00fa911f72 CMake: switch to C++17 2020-10-24 02:31:38 +02:00
Adriaan de Groot
27f6eaaf75 [partition] Remove unused variables 2020-10-24 02:24:37 +02:00
Adriaan de Groot
89b1f8d96b [partition] Warnings-- in tests related to virtual destructors 2020-10-24 02:21:32 +02:00
Adriaan de Groot
01b75ef4b5 [partition] Use C++-style cast 2020-10-24 02:19:05 +02:00
Adriaan de Groot
6605e11394 [partition] Warnings-- in test: don't expose internal variable 2020-10-24 02:05:14 +02:00
Adriaan de Groot
cb2b53ebf3 Merge remote-tracking branch 'origin/issue-1515' into calamares 2020-10-23 23:51:25 +02:00
Adriaan de Groot
d7e64de24a [partition] Adjust docs to function
- @params referring to things that don't exist
- @brief that is 3 lines long
2020-10-23 23:14:00 +02:00
Adriaan de Groot
eb8e95bb87 [partition] Warnings--, explain why we're using a void* 2020-10-23 22:39:05 +02:00
Adriaan de Groot
9910b23152 [partition] Avoid uninitialized variable
- if the partition size is invalid, then warn about it but do
  not print the (uninitialized) size of the partition.
- shuffle code to continue earlier, allowing the "good path"
  code to be out-dented.
2020-10-23 22:34:53 +02:00
Adriaan de Groot
687a795b71 [partition] Warnings-- by initialization order 2020-10-23 22:31:22 +02:00
Adriaan de Groot
44a11bd93b [partition] Initialize in the initializer list, if possible 2020-10-23 22:27:30 +02:00
Adriaan de Groot
51b47862cd [partition] Mark destructors override
This reduces compiler warnings related to virtual-overriding
functions: all the destructors are virtual.
2020-10-23 22:23:10 +02:00
Adriaan de Groot
697ee6f65f CI: accept clang-format90 (FreeBSD naming style) 2020-10-23 17:16:37 +02:00
Adriaan de Groot
aa6109d470 [machineid] Improve config-documentation 2020-10-23 17:16:24 +02:00
Adriaan de Groot
daeee09fdb [machineid] Simplify loading of the list of entropy-files 2020-10-23 17:15:55 +02:00
Adriaan de Groot
275e6b9342 Merge pull request #1542 from gportay/fix-message-if-no-option-available
[partition] Fix message user if no option available
2020-10-23 12:45:06 +02:00
Adriaan de Groot
9e624c7bd5 [unpackfs] Fix schema validation
- the *weight* key was introduced without a corresponding schema
  change, so the examples didn't validate anymore.
2020-10-23 12:40:03 +02:00
Adriaan de Groot
0d4d3e3c4d [users] Set up GS rootMountPoint for test 2020-10-23 12:27:44 +02:00
Adriaan de Groot
63196ab58f [users] Avoid crashes in tests due to nullptr GS 2020-10-23 12:19:28 +02:00
Adriaan de Groot
c412e285c2 [libcalamares] Link publicly to yaml-cpp
Needed on FreeBSD, where you otherwise might not get the
include paths for yaml-cpp added -- and utils/Yaml.h
expects them to be there.
2020-10-23 12:01:29 +02:00
Adriaan de Groot
cd8c3089cb [users] Fix build: renamed moc file 2020-10-23 11:14:59 +02:00
Gaël PORTAY
d91683eec6 [partition] Fix message user if no option available
The button m_eraseButton is not tested while the button
m_somethingElseButton is tested twice.
2020-10-22 13:23:36 -04:00
Adriaan de Groot
89d495d5fb [users] Rename file to match its purpose 2020-10-22 14:22:11 +02:00
Adriaan de Groot
5b4f9d0b98 [users] Adjust tests for changed API 2020-10-22 14:21:14 +02:00
Adriaan de Groot
f1772a7eae [users] Create groups in a separate job 2020-10-22 14:11:01 +02:00
Adriaan de Groot
03541470d5 [users] Handle system-group creating specially 2020-10-22 14:08:33 +02:00
Adriaan de Groot
fa1d314b13 [users] Refactor group-creation into separate Job 2020-10-22 13:49:45 +02:00
Adriaan de Groot
3d289f345a [users] Refactor users functionality to a static lib
- this makes it less fragile to share all the functionality
  with usersq, since it ends up in the library which is shared
  between the modules.
2020-10-21 15:02:33 +02:00
Adriaan de Groot
6560ef00a1 [usersq] Fix build of usersq after refactor elsewhere 2020-10-21 14:46:07 +02:00
Adriaan de Groot
29e6934672 [users] Factor out Sudo creation into separate job 2020-10-21 14:43:45 +02:00
Adriaan de Groot
0cb6c89876 [netinstall] Don't update selection state for items with no children
The special setup for nicely-named groups which have a single
hidden subgroup containing the actual packages, has the problem
that there is a non-empty subgroups item, but this results
in zero actual children: then the number of selected and partly
selected children is also zero in updateSelected() and therefore
the item ends up unselected.

Special-case this to avoid unnecessarily unselecting the item.
Reported by Vitor L.
2020-10-20 23:15:32 +02:00
Adriaan de Groot
328a5bbbfb [users] Don't allow continuing with an empty login name
The status for an empty login name is '' (empty), for ok -- this is
so that there is no complaint about it. But it's not ok to
continue with an empty name.
2020-10-19 11:46:08 +02:00
Adriaan de Groot
bf50f8724d Changes: post-release housekeeping 2020-10-18 21:58:54 +02:00
Adriaan de Groot
27dc81f8b9 [partition] Fix typo in debug message, reported by Kevin Kofler 2020-10-17 16:41:08 +02:00
Adriaan de Groot
4d3f20f4a7 [users] Don't allow continuing with an empty login name
The status for an empty login name is '' (empty), for ok -- this is
so that there is no complaint about it. But it's not ok to
continue with an empty name.
2020-10-17 15:48:12 +02:00
Calamares CI
ba1013e5a7 i18n: [python] Automatic merge of Transifex translations 2020-10-17 15:22:35 +02:00
Calamares CI
5a7bcb07d0 i18n: [calamares] Automatic merge of Transifex translations 2020-10-17 15:22:34 +02:00
Adriaan de Groot
ac5c9e3a90 Changes: pre-release housekeeping 2020-10-17 15:21:03 +02:00
Adriaan de Groot
3313a5341d [partitions] Adapt to KPMcore 4.2 changes 2020-10-17 14:59:01 +02:00
Adriaan de Groot
36396d0cfd [partition] Adjust message and fix debug message 2020-10-16 22:32:32 +02:00
Adriaan de Groot
9a5099cd48 Changes: post-release housekeeping 2020-10-16 21:43:22 +02:00
Adriaan de Groot
ee302debdf Merge pull request #1539 from yurchor/patch-3
[partition] Add missing space
2020-10-16 19:06:46 +02:00
Andrius Štikonas
72187f0ff7 Changes: update recommended KPMCore version. 2020-10-16 16:52:14 +01:00
Adriaan de Groot
8f4bc9e58c Changes: pre-release housekeeping 2020-10-16 16:39:58 +02:00
Adriaan de Groot
545e761666 i18n: update language list 2020-10-16 15:07:13 +02:00
Calamares CI
51a87071ae i18n: [python] Automatic merge of Transifex translations 2020-10-16 15:03:48 +02:00
Calamares CI
2be2e1808a i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-10-16 15:03:48 +02:00
Calamares CI
eead42b773 i18n: [desktop] Automatic merge of Transifex translations 2020-10-16 15:03:48 +02:00
Calamares CI
ea220e4f7a i18n: [calamares] Automatic merge of Transifex translations 2020-10-16 15:03:48 +02:00
Adriaan de Groot
f44dd73993 i18n: Friulian exceeds expectations 2020-10-16 15:01:30 +02:00
Adriaan de Groot
d63e23b289 Merge branch 'issue-1540' into calamares
FIXES #1540
2020-10-16 13:56:52 +02:00
Adriaan de Groot
81f12cb230 [libcalamares] Do GeoIP lookups with a fake User-Agent 2020-10-16 13:55:31 +02:00
Adriaan de Groot
3b14e354b0 [libcalamares] Log more HTTP errors during requests 2020-10-16 13:07:57 +02:00
Adriaan de Groot
436e1de820 [libcalamares] Be more chatty in GeoIP test application 2020-10-16 12:36:03 +02:00
Yuri Chornoivan
1448a9b9a1 Add missing space 2020-10-15 20:55:37 +03:00
Adriaan de Groot
032ed49cc4 i18n: for this release only, ignore Friulian, since they only just showed up today 2020-10-15 12:52:40 +02:00
Adriaan de Groot
7734d84925 [shellprocess] Bump the default timeout to 30, emphasise tuning the timeout
FIXES #1536
2020-10-15 00:15:37 +02:00
Adriaan de Groot
0b61a02c31 [fstab] Avoid dd in creating a zeroed-file for swap
- Create a 16kiB buffer of zeroes
- write that out in a loop
2020-10-14 16:55:14 +02:00
Adriaan de Groot
c7c7e6a6c1 [keyboard] Move configuration to the Config object
- information from the configuration file -> Config object
- job creation -> Config object

Ignore keyboardq for now.
2020-10-14 15:50:21 +02:00
Adriaan de Groot
0f6602cad7 [keyboard] Improve xkb parsing 2020-10-14 15:50:21 +02:00
Adriaan de Groot
ec42e3294f [keyboard] Refactor argument-lists for setxkbmap
- separate functions for model, and layout+variant settings
2020-10-14 15:50:21 +02:00
Adriaan de Groot
b54273f904 [keyboard] Move all the keyboard (AbstractList)Models to the models file 2020-10-14 15:50:21 +02:00
Adriaan de Groot
2911c789f9 [users] Fix up tests for login status
- an empty login name is "ok" even if it isn't -- there's no
  warning message in that case
2020-10-14 15:21:41 +02:00
Adriaan de Groot
89e279c96a [users] Set auto- and sudo-groups correctly
- Was updating GS only, not internals
- restructure all to update internals, then GS, then emit change signals
2020-10-14 15:21:41 +02:00
Adriaan de Groot
f726634c2f [users] Fix tests for setting shell
- The EXPECT_FAIL value "Abort" stops the test (I wanted 'if this
  unexpectedly passes, raise an error' -- should have read the
  documentation more closely).
- Set the shell in the config object, not just in GS.
2020-10-14 15:21:41 +02:00
Adriaan de Groot
6b2d7f6a42 [users] Protect against JobQueue or GS being NULL
- Avoid SIGSEGV in tests, make sure JobQueue exists, GS optional
2020-10-14 15:21:19 +02:00
Adriaan de Groot
788a233319 [users] Introduce a test for Config getters and setters 2020-10-14 15:21:15 +02:00
Adriaan de Groot
58f10739e1 [users] Show progress during the module
- add a status member so the different steps can show progress
  as the user is created and configured. The progress values
  are hard-coded guesses as to how much work is done for each step.
- while here, reduce the scope of the global storage variable
2020-10-14 15:21:10 +02:00
Adriaan de Groot
ef70b2c32e [users] Run CreateUserJob off of the Config object
- don't pass in copies or bits of the Config, hand over the whole Config
- don't pluck some parts of the Config from Global Storage
2020-10-14 15:21:10 +02:00
Adriaan de Groot
02e9872a99 [users] Handle detailed groups list
Groups can be specified with must_exist and/or system set,
so they fill in the groups list more carefully.
2020-10-14 15:21:10 +02:00
Adriaan de Groot
a86374386b [users] Add test for new notation for groups-with-details 2020-10-14 15:21:10 +02:00
Adriaan de Groot
07027c2430 [users] Test distinguishes system groups from user groups 2020-10-14 15:21:10 +02:00
Adriaan de Groot
ff9abdfc08 [users] The fallback groups are all **system** groups 2020-10-14 15:21:10 +02:00
Adriaan de Groot
b20c80a28c [users] Introduce class-scoped aliases for true and false for the bools
This is somewhat experimental and weird; the idea is that bool
arguments are a lot easier to understand if there are proper
names attached, rather than "true" and "false".
2020-10-14 15:20:26 +02:00
Adriaan de Groot
1d696253c3 [displaymanager] Missing space in user-visible string due to line-breaks 2020-10-14 15:18:51 +02:00
Adriaan de Groot
8271b8399c Merge branch 'issue-1535' into calamares
FIXES #1535
2020-10-14 01:52:06 +02:00
Adriaan de Groot
61100f1a73 [netinstall] Massage the documentation a little 2020-10-14 01:51:44 +02:00
Adriaan de Groot
958fb7e7b0 [netinstall] Complain about nonsensical hidden groups 2020-10-14 01:49:00 +02:00
Adriaan de Groot
f093789deb [netinstall] Complain about bad config
- it's easy to miss a  in hidden subgroups and other complex
  groups configurations, so complain loudly.
2020-10-14 01:41:16 +02:00
Adriaan de Groot
ceeab7087c [users] Fix implementation so existing tests pass 2020-10-13 22:12:26 +02:00
Adriaan de Groot
e46d9f735d [users] Adjust tests to changed groups-list 2020-10-13 17:36:24 +02:00
Adriaan de Groot
d3135898fd [users] More fine-grained group descriptions
Describe groups with more detail:
 - groups can be system groups (low GID) or not
 - groups may be pre-configured (e.g. come from the unpackfs stage)
2020-10-13 17:35:07 +02:00
Adriaan de Groot
5895f3fb71 Merge branch 'issue-1528' into calamares
- don't blank out the text in the progress bar if the job provides no
  message -- just leave the last message shown. FIXES #1527
  (There's no point in having more than one copy of those initcpio*
  modules, so just use the prettyName()).
- when a job starts, look for status, then description, then name so
  that **something** is shown as text in the progress bar.
- give *shellprocess* the possibility to change its own labels
  through translations in the config file. #FIXES #1528
2020-10-13 01:49:43 +02:00
Adriaan de Groot
6221c6497a [shellprocess] Allow customizing the name of the job 2020-10-13 00:59:47 +02:00
Adriaan de Groot
21598ef4b3 [libcalamaresui] Update progress message only if it is non-empty
This improves the situation for jobs that do not provide
a status: their blank status does not overwrite the status
bar, and since (previous commit) the description or name
is used to start the job if the status is empty, at least
**something** is displayed.

SEE #1528
2020-10-13 00:23:57 +02:00
Adriaan de Groot
86fd014bbd [libcalamares] Fallback from status -> description -> name for progress 2020-10-13 00:00:37 +02:00
Adriaan de Groot
2f83d85e29 [libcalamares] Explain process failure in debug log a bit better 2020-10-12 23:19:15 +02:00
Adriaan de Groot
9c457f9449 [shellprocess] Improve documentation and examples 2020-10-12 23:11:00 +02:00
Adriaan de Groot
a955791766 Apply coding style globally again 2020-10-12 14:27:01 +02:00
Adriaan de Groot
cff24bdd79 Changes: mention partiton PRs from GP 2020-10-12 14:16:11 +02:00
Adriaan de Groot
1df4239c02 Merge pull request #1436 from gportay/osprober-strip-extra-file-after-at-sign
[partition] Strip extra file after the at sign
2020-10-12 13:33:10 +02:00
Adriaan de Groot
6aa8ba119e Merge pull request #1415 from gportay/partition-table-type-settings
[partition] Partition table type settings
2020-10-12 13:32:56 +02:00
Gaël PORTAY
2b1e516ec1 [partition] Strip extra file after the at sign
- os-proper may return an extra file after the device:
  /dev/sda1:Ubuntu 19.10 (19.10):Ubuntu:linux
  /dev/sdb1@/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi
2020-10-07 09:57:18 -04:00
Gaël PORTAY
2bbbb68838 [partition] Add setting for requiredPartitionTableType 2020-10-07 08:10:24 -04:00
Gaël PORTAY
70f8beb931 [partition] Add setting for defaultPartitionTableType 2020-10-06 20:46:17 -04:00
Adriaan de Groot
9486ee6fbf Merge pull request #1524 from gportay/partition-message-user-if-no-option-available
[partition] Message user if no option available
2020-10-07 01:32:13 +02:00
Adriaan de Groot
464da39f60 Changes: post-release housekeeping 2020-10-07 01:31:38 +02:00
Adriaan de Groot
9ce08beead [libcalamares] Fix build
- The API definitions are just the symbols to define; these
  are variously added through add_definitions() (needs -D)
  or target_add_definitions() (doesn't).
2020-10-07 01:15:12 +02:00
Adriaan de Groot
40aa0fcaba CMake: add a helper module for finding KPMcore
I think we had this (kind of) module a long time ago and it was
removed for over-complicating things; re-introduce one now that
KPMcore is used in 3 different places and all would benefit
from consistent API handling / defines.
2020-10-07 00:11:18 +02:00
Adriaan de Groot
db537535ee [partition] Support KPMCore 3.3 in tests 2020-10-06 23:51:30 +02:00
Adriaan de Groot
f28d28a455 [partition] Ignore KPMCore 4 beta versions 2020-10-06 23:49:11 +02:00
Adriaan de Groot
58d0e4b491 Changes: mention 1-cpu problem 2020-10-06 23:17:42 +02:00
Adriaan de Groot
f8e375cc9d Changes: pre-release housekeeping 2020-10-06 22:32:49 +02:00
Adriaan de Groot
ffece5ffb9 Changes: Credits and documentation for changes this cycle 2020-10-06 22:31:41 +02:00
Adriaan de Groot
88b1d36009 Merge branch 'issues-1166' into calamares
FIXES #1166
2020-10-06 22:25:33 +02:00
Adriaan de Groot
26e8a6bcb5 Changes: explain the swapfile settings (and how limited they are) 2020-10-06 22:25:14 +02:00
Adriaan de Groot
faa496be4a Merge pull request #1522 from kadler15/issue-1521
[preservefiles] Fix global storage JSON dump
2020-10-06 21:53:32 +02:00
Adriaan de Groot
3e94570849 Merge pull request #1525 from tintou/calamares
[partition] Add tests for Layout-constrained partionning
2020-10-06 21:46:21 +02:00
Corentin Noël
a7bd1040c5 [partition] Add tests for Layout-constrained partionning 2020-10-06 17:48:12 +02:00
Adriaan de Groot
77e2701365 [partition] Coding style
- various clang-format versions battle for supremacy
2020-10-06 17:21:54 +02:00
Adriaan de Groot
b4cbf73e2d Merge branch 'calamares' into issues-1166 2020-10-06 17:19:14 +02:00
Adriaan de Groot
0b3a6baeea [fstab] If swap is "file" then create it here
- handle swapfiles when writing /etc/fstab in the target system
  - special-case mountpoint
  - since swapfiles are not a partition, take the setting out
    of partitionChoices
- create the physical swapfile as well (there's no other place
  where it would make sense)
2020-10-06 17:05:22 +02:00
Adriaan de Groot
029c3f1c74 [partition] Write the install choices to Global Storage 2020-10-06 15:54:26 +02:00
Adriaan de Groot
92a874dae7 [partition] move the swap-choice to Config 2020-10-06 15:44:14 +02:00
Corentin Noël
08138f5a41 [partition] Reduce direct dependency of PartUtils on PartitionCoreModule 2020-10-06 14:28:20 +02:00
Adriaan de Groot
063482339f Merge branch 'unpack-progress' into calamares 2020-10-06 13:42:29 +02:00
Adriaan de Groot
7125012a35 Changes: document unpackfs 2020-10-06 13:42:17 +02:00
Adriaan de Groot
672e27564e [unpackfs] Also report progress every half-second, if possible
This still won't help if there's one really huge file that takes
several seconds to write, but if there's a bunch of files together
that is less than a file_chunk_count but take more than a half-
second to write, update anyway
2020-10-06 13:39:22 +02:00
Adriaan de Groot
57fa51ecd9 [unpackfs] Simplify progress reporting more
If there's thousands of files in a squashfs (e.g. 400000 like on
some ArcoLinux ISOs) then progress would be reported every
4000 files, which can take quite some time to write. Reduce
file_chunk_count to at most 500, so that progress is reported
more often even if that wouldn't lead to a visible change
in the percentage progress: instead we **do** get a change
in files-transferred numbers.

- The total weight is only needed by the UnpackOperation,
  not by each entry.
- Use a chunk size of 107 so that the number-complete seems busy:
  the whole larger-or-smaller chunk size doesn't really matter.
- The progress-report was missing the weight of the current
  module, so would report way too low if weight > 1. This affects
  ArcoLinux configurations where one entry is huge and one is a
  single file, so weights 50 and 1 are appropriate.
2020-10-06 13:38:28 +02:00
Adriaan de Groot
bc591f9bc1 [unpackfs] Re-vamp progress reporting
- simplify calculation of progress
2020-10-06 13:36:35 +02:00
Adriaan de Groot
8173b68a71 [unpackfs] Debug-log the weights of the modules 2020-10-06 11:54:39 +02:00
Adriaan de Groot
632445a431 [unpackfs] Give entries a weight
When there are multiple entries, the overall weight of the
module is divided between the entries: currently each entry
takes an equal amount of space in the overall progress.

When there are multiple entries which take wildly different
amounts of time (e.g. a squash-fs and a single file) then
the progress overall looks weird: the squash-fs gets half
of this module's weight, and the single file does too.
With the new *weight* key for entries, that division can
be tweaked so that progress looks more "even".
2020-10-06 11:44:00 +02:00
Adriaan de Groot
44f8a7ae47 [libcalamares] Reduce chattiness again of job progress 2020-10-06 11:03:55 +02:00
Calamares CI
2a795843e2 i18n: [python] Automatic merge of Transifex translations 2020-10-06 11:03:08 +02:00
Calamares CI
540a1c05b7 i18n: [calamares] Automatic merge of Transifex translations 2020-10-06 11:03:08 +02:00
Gaël PORTAY
79740c77a3 [partition] Message user if no option available 2020-10-06 04:10:27 -04:00
Kris Adler
e92927cff9 [preservefiles] Fix global storage JSON dump
fixes calamares/calamares#1521
2020-10-03 17:38:20 -05:00
Adriaan de Groot
ddf3b2d399 Merge branch 'debug-job-progress' into calamares
This makes things fairly chatty, especially again during
rsync, so will be dialed back before release.
2020-10-03 12:27:10 +02:00
Adriaan de Groot
ae09537bea Merge pull request #1519 from tintou/calamares
[partition] Fix regression in partition size assignment
2020-10-02 22:49:29 +02:00
Adriaan de Groot
6e30a7b8f6 [partition] Move is-manual-partitioning-allowed to the Config object 2020-10-02 13:04:12 +02:00
Adriaan de Groot
f79fbd4105 [partition] Add swap choice to config object 2020-10-02 12:40:13 +02:00
Adriaan de Groot
0f4fe6294c [partition] Migrate type for SwapChoice to Config object 2020-10-02 12:22:53 +02:00
Adriaan de Groot
881661e94b [partition] Migrate InstallChoice to the Config object 2020-10-02 12:08:42 +02:00
Corentin Noël
0293015b09 [partition] Fix regression in partition size assignment
In some cases, the partition size was set to zero as the maxSize isn't always defined.
2020-10-01 15:38:18 +02:00
Adriaan de Groot
8e4ec921c6 Docs: links layout 2020-09-30 11:06:08 +02:00
Adriaan de Groot
6167c81654 Docs: fix up IRC links 2020-09-30 10:59:59 +02:00
Adriaan de Groot
613966d3ff Docs: add a CONTRIBUTING.md 2020-09-30 10:53:04 +02:00
Adriaan de Groot
9104853ed9 Changes: update Calamares manpage
- fix broken URL
 - add a little description
 - add newer command-line flags

FIXES #1516
2020-09-29 16:41:57 +02:00
Adriaan de Groot
010526ee2a [partition] Coding style 2020-09-29 14:04:12 +02:00
Adriaan de Groot
b41e4624c9 [partition] Move 'selected installation option' to Config 2020-09-29 14:00:49 +02:00
Adriaan de Groot
10d194d693 [partition] Simplify button-selection 2020-09-29 12:22:50 +02:00
Adriaan de Groot
584dec23d4 i18n: city names in Ukraine follow Ukranian transliteration (en) 2020-09-29 12:05:01 +02:00
Adriaan de Groot
a92cb32cef [partition] set the right buttons if an action is pre-selected 2020-09-28 17:46:42 +02:00
Adriaan de Groot
b518ef7dfe [partition] Select initial swap choice 2020-09-28 15:37:12 +02:00
Adriaan de Groot
9f0f600aa4 [partition] Remove the 'swapfile-unsupported' message 2020-09-28 14:53:38 +02:00
Adriaan de Groot
3bb5adcfca [partition] Simplify *efiSystemPartition* settings 2020-09-28 14:52:18 +02:00
Adriaan de Groot
f155c8351b [partition] Only one setting for partitionLayout is supported 2020-09-28 14:48:55 +02:00
Adriaan de Groot
b6dd23a384 Merge branch 'calamares' into issues-1166 2020-09-28 14:34:39 +02:00
Adriaan de Groot
ace6323987 [libcalamares] Be even more chatty in job progress
This is for debugging-job-progress reports.
2020-09-28 11:35:41 +02:00
Adriaan de Groot
75b01cfc0a [libcalamares] Some debugging output for job progress, so you can double-check that the settings are being picked up 2020-09-23 16:14:09 +02:00
Adriaan de Groot
ffed7b6d71 [partition] Warnings-- over QButtonGroup
- this was deprecated in 5.15 and an alternative introduced also
  in 5.15, so it's a pain in the butt for backwards-compatibility.
2020-09-23 11:16:23 +02:00
Adriaan de Groot
6b07bdf6ed [keyboard] Do not use deprecated Qt4-era indexChanged for text 2020-09-22 23:51:35 +02:00
Adriaan de Groot
02423c823d [libcalamaresui] Nothing uses the opacity for pixmaps, drop that too 2020-09-22 23:03:38 +02:00
Adriaan de Groot
268cf203a8 [libcalamaresui] Remove unused parameter/functionality
- nothing in Calamares uses the tinting, and it triggers some
  deprecation warnings, so just remove it.
2020-09-22 23:01:22 +02:00
Adriaan de Groot
2878c474c5 Warnings-- (~T() override)
Change all the places that had
	virtual ~T() override
to the less redundant form without override.
2020-09-22 22:49:30 +02:00
Adriaan de Groot
2126be6d6d Warnings-- (~T() override)
Consistently use
	~T() override;
in class declarations (so no virtual in front, and avoid
warnings due to the missing override in back).
2020-09-22 22:40:52 +02:00
Adriaan de Groot
7d5a209dd0 [modules] Warnings-- in tests (~Test() override) 2020-09-22 22:37:55 +02:00
Adriaan de Groot
8b66009d59 [libcalamares] Warnings-- in tests (~T() override) 2020-09-22 22:37:29 +02:00
Adriaan de Groot
0cffac10c6 [libcalamares] Ignore more warnings for system header YAML 2020-09-22 22:37:29 +02:00
Adriaan de Groot
5a75d68534 [3rdparty] Warnings-- (override) in KDSAG 2020-09-22 22:37:19 +02:00
Adriaan de Groot
fc2a5d145a [3rdparty] Warnings-- (override) in waitingspinnerwidget 2020-09-22 22:37:04 +02:00
Adriaan de Groot
fbab554dfa [libcalamares] Remove unused parameter for PythonJob
- parameter instanceKey was left over from previous work that
  special-cased the weight of Python modules.
- while here, consistently do `~T() override`
2020-09-22 22:35:55 +02:00
Adriaan de Groot
8e9bf1c2a9 [libcalamaresui] Another allow-to-fall-back-to-eventloop
With 1 CPU, Calamares still spawns 9 threads or so: eventloop,
dbus loop, QML loop, ... many of those are invisible to the
application. Contention occurs on startup when the UI is constructed,
and we end up with the module manager creating widgets alongside,
or ahead of, the main window UI. This can result in deadlock:

 - in CalamaresApplication::initViewSteps
 - in QML imports

This is partly because the signal-slots connections get "deep":
from loadModules() we emit *modulesLoaded* which ends up showing
the main window in initViewSteps(). Avoid this with a QTimer:
drop back to the event loop and release whatever locks are held,
so the QML thread can get on with it already. Then the timer
goes off and the view steps are created.
2020-09-22 16:27:34 +02:00
Adriaan de Groot
705756b9bb [libcalamaresui] Give UI chance to catch up before modules are done 2020-09-22 14:41:12 +02:00
Adriaan de Groot
53cb27ebc8 [calamares] Provide i18n context for "Key" 2020-09-21 22:32:16 +02:00
Adriaan de Groot
7c6783948a i18n: update Tajik translation 2020-09-21 17:49:18 +02:00
Adriaan de Groot
ac0b2092f2 [partition] Remove superfluous logging 2020-09-21 17:47:25 +02:00
Calamares CI
73d0afca43 i18n: [python] Automatic merge of Transifex translations 2020-09-21 17:06:56 +02:00
Calamares CI
16b99940ce i18n: [calamares] Automatic merge of Transifex translations 2020-09-21 17:06:55 +02:00
Adriaan de Groot
cadd9765db [usersq] Remove trailing . 2020-09-21 17:01:50 +02:00
Adriaan de Groot
4778687f14 Changes: credit for partition-size bugfixing 2020-09-21 16:56:59 +02:00
Adriaan de Groot
e37c7da60d [partition] Introduce dummy argument to LVM jobs
- Give LVM jobs a dummy argument Device* so that they
  fit the functionality of makeJob for partitioning.
  For those jobs that already take an LVMDevice*, this should
  be the self-same device, but that isn't checked.
2020-09-21 16:46:24 +02:00
Adriaan de Groot
1f77441333 [partition] add job-removal to the support classes 2020-09-21 16:36:43 +02:00
Adriaan de Groot
17914b9cf9 CI: adjust to clang-format-10 automatically
- leave clang-format file alone, but dynamically
  modify it when clang-format 10 or later is present
- ignore the resulting .bak file
2020-09-21 16:15:51 +02:00
Adriaan de Groot
0aa215af65 Merge pull request #1513 from tintou/calamares
[partition] Correctly handle percentage-define partitions
2020-09-21 11:55:02 +02:00
Corentin Noël
75fd1dd114 [partition] Correctly handle percentage-define partitions
* Use the minSize when the target storage is smaller than the sum of sizes
 * Percentage-defined partitions should be computed after setting hard-defined ones

This fixes issues when 0 byte partitions were created when the disk is too small.
Also fixes an issue with percent-defined partitions being forced to be defined at the end of the disk.
2020-09-21 11:35:09 +02:00
Adriaan de Groot
e94c17e331 Merge branch 'calamares' into issues-1166 2020-09-21 11:15:27 +02:00
Adriaan de Groot
e84f446c5f Merge branch 'entropy' into calamares
Support more than one entropy file; generate them as needed
(or copy a fixed value to all, depending). Deprecate
*entropy* as too inflexible.

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=941301

FIXES #1512
2020-09-15 16:58:27 +02:00
Adriaan de Groot
c159ffe491 [machineid] Polish up the tests
- create dirs as needed (this will normally be done by
  unsquash, but for tests with paths it needs to be done
  by hand)
- log what file is being checked
- filePath() doesn't like the absolute paths we have
  (they're absolute in the chroot, and existing code
  just sticks rootMountPoint in front)
2020-09-15 16:49:45 +02:00
Adriaan de Groot
5f7c9a00a0 [machineid] Test that random-files are created 2020-09-15 13:36:10 +02:00
Adriaan de Groot
a5887e6dda [machineid] Test config-settings for entropy files 2020-09-15 13:11:39 +02:00
Adriaan de Groot
8be5c2ed10 [machineid] Support multiple entropy files 2020-09-15 12:57:09 +02:00
Adriaan de Groot
8b22786bd2 Merge branch 'issue-1397' into calamares
Document keyboard change for Turkish F layout, and document
the keyboard configuration value better, with alternate
path used in e.g. openSUSE

FIXES #1397
2020-09-09 12:21:48 +02:00
Adriaan de Groot
633186778b [keyboard] Add test for Turkish F variant
- test keyboard lookup for "tr" - "f" variations
- add data mapping "tr" - "f" to legacy keymap "trf"

FIXES #1397
2020-09-09 12:11:50 +02:00
Adriaan de Groot
aeffbac9cd CMake: add resources to tests
Some tests -- notably the keyboard module -- need to have the
QRC for the module loaded as well (e.g. because of data in the
QRC). Add a RESOURCES parameter to calamares_add_test()
like calamares_add_plugin() already has, to build the
resources into the test.

Keyboard test now passes, since it was missing the data for
lookups before.
2020-09-09 11:58:56 +02:00
Adriaan de Groot
2aece7ff1b [keyboard] Warn if QRC is not available 2020-09-09 11:47:50 +02:00
Adriaan de Groot
0d8e0d9b96 [keyboard] Add a stub for unit tests 2020-09-08 17:27:21 +02:00
Adriaan de Groot
af3261b16f [keyboard] Refactor findLegacyKeymap into something testable 2020-09-08 17:27:21 +02:00
Adriaan de Groot
2e1dd8e7b1 i18n: Update tg timezones 2020-09-08 16:12:28 +02:00
Calamares CI
ca9281f690 i18n: [python] Automatic merge of Transifex translations 2020-09-08 16:07:40 +02:00
Calamares CI
56e46a31a9 i18n: [calamares] Automatic merge of Transifex translations 2020-09-08 16:07:39 +02:00
Adriaan de Groot
1365b3dad4 Changes: post-release housekeeping 2020-09-03 23:57:32 +02:00
Adriaan de Groot
67efa8b4bb Changes: pre-release housekeeping 2020-09-03 20:45:04 +02:00
Adriaan de Groot
466e08a8ba [welcome] Set some localeConf values from the welcome page 2020-09-03 20:44:23 +02:00
Adriaan de Groot
634a53d27a [locale] Use new convenience function for updating localeConf 2020-09-03 20:21:37 +02:00
Adriaan de Groot
e0ba5a6ba2 [libcalamares] Convenience functions for localeConf GS entry 2020-09-03 20:21:37 +02:00
Adriaan de Groot
d94b9caba5 [libcalamaresui] Less mutex shenanigans 2020-09-03 16:11:35 +02:00
Adriaan de Groot
32649f78ea [libcalamares] Restore finish() slot to job queue
FIXES #1507
2020-09-03 15:39:04 +02:00
Adriaan de Groot
5ed57331d6 i18n: Update timezone translations
SEE #1506
2020-09-03 15:03:22 +02:00
Adriaan de Groot
d5eaacf67a i18n: used wrong list of languages
FIXES #1505
2020-09-02 11:56:51 +02:00
Adriaan de Groot
df0180fc12 i18n: Tajik timezone translations
FIXES #1504
2020-09-01 17:14:51 +02:00
Adriaan de Groot
4726f04b16 Merge branch 'issue-1498' into calamares
FIXES #1498
2020-08-28 23:53:30 +02:00
Adriaan de Groot
ec0b68084f [users] Refactor setting GS
- both changing the autologin and changing the user (login) name
  affect global storage, and both may need to change the autologin
  username; split it into a free function.
- the fullname change was bypassing the login in changing the
  login name, **but** then it needs a back-workaround to keep
  the "custom" setting off (when custom is off, auto-fill username
  and hostname is active).
- after loading the config, fill GS already.
- when finalizing GS, get the autologin settings again.
2020-08-28 23:48:47 +02:00
Adriaan de Groot
d7dc48d201 [users] Add now-obvious missed initialization
- start the checkbox off in the state from config
2020-08-28 23:48:47 +02:00
Adriaan de Groot
15b5ef467e [users] Hook up strong- and reuse- password checkboxes
- setup the visibility and initial checked-state of the reuse-user-
  password-for-root near where it gets connected; do similar
  for the require-strong-password
- squash the lambda slot into the regular slot: no sense in
  connecting twice to the same signal with the same receiver.
- only connect config->ui once
- only connect at all if the setting is visible (e.g. when weak
  passwords are allowed for the require-strong checkbox, or
  when root's password will be written for the reuse-password)
2020-08-28 23:47:11 +02:00
Adriaan de Groot
d584a96335 [users] Improve naming of widget 2020-08-28 23:47:11 +02:00
Adriaan de Groot
3ae545c8b1 REUSE: qmldir file format doesn't leave space for license information 2020-08-28 18:18:22 +02:00
Adriaan de Groot
ba2b52ed1d Merge branch 'fix-debugwindow-queue' into calamares
3.2.29 dropped the Job Queue information from the debug
window, this restores the list of names.
2020-08-28 15:54:13 +02:00
Adriaan de Groot
b37a675657 [libcalamares] Reimplement JobQueue::queueChanged
- switch to QStringList as parameter, since consumers (that is,
  the debug dialog, which is what this is for) are interested
  just in the **names** of the jobs.
- to allow mutex locking in const methods, mark them mutable.
2020-08-28 14:39:32 +02:00
Adriaan de Groot
9afe7a3711 [libcalamares] Document JobQueue signals 2020-08-28 14:24:06 +02:00
Adriaan de Groot
e87ce5a433 Changes: mention Urdu revival 2020-08-28 13:12:12 +02:00
Adriaan de Groot
8352be8bf5 Merge branch 'issue-1495' into calamares
Drop the pre-compiled .mo translations from the sources;
these can be built during the build.

FIXES #1495
2020-08-28 01:10:53 +02:00
Adriaan de Groot
6b6267e3a4 i18n: check for gettext rather than just calling msgfmt
- *secretly* this is already done in the KF5 i18n modules,
  so the resizefs was already requiring FindGettext.
- we don't actually use the gettext modules' CMake macros,
  so explain why in the module.
2020-08-28 01:10:21 +02:00
Adriaan de Groot
392b4d33a0 i18n: create the lang/<lang>/ directories in the build as-needed 2020-08-27 16:39:44 +02:00
Adriaan de Groot
85d9038317 REUSE: remove special case for .mo files 2020-08-27 16:34:31 +02:00
Adriaan de Groot
49e925ef47 i18n: untangle translations in the executable
- there's no need for a macro that is going to be used once,
  especially if there's only one place it can be called.
- expand it in place and remove it from the installed CMake
  module
2020-08-27 15:34:17 +02:00
Adriaan de Groot
3529659629 i18n: compile the gettext translations at build time
- need gettext to build translations (TODO: find_program)
- compile the .mo files from .po as part of the build, writing
  to the build-directory only
2020-08-27 15:21:23 +02:00
Adriaan de Groot
242d5c6499 i18n: install Python translations from a sensible place
- put the installation code in lang/ rather than among the modules
- remove useless indirection through CMake macro
2020-08-27 13:59:23 +02:00
Adriaan de Groot
23bfcb755e i18n: pick up the translations CMake module just once 2020-08-27 13:54:08 +02:00
Adriaan de Groot
8b4ae1d687 i18n: Don't compile the Python translations as part of fetching TX 2020-08-27 13:38:45 +02:00
Adriaan de Groot
e02c21285a i18n: remove the compiled .mo files from 'sources' 2020-08-27 13:37:45 +02:00
Adriaan de Groot
e1ad08f9b6 Changes: credits for bugfixes and translations 2020-08-27 13:33:34 +02:00
Adriaan de Groot
c3903b6e88 Merge pull request #1502 from asif-mahmud/calamares
[libcalamares] Internet accessibility checking done by synchronous ping method
2020-08-27 13:24:50 +02:00
Adriaan de Groot
c7f2ee28fc Merge pull request #1501 from demmm/calamares
[localeq] rewrite Offline.qml
2020-08-27 12:51:41 +02:00
Asif Mahmud Shimon
c6a3e9b816 Internet accessibility checking done by ping method 2020-08-27 11:36:55 +06:00
demmm
9bdb05d4ea [localeq] rewrite Offline.qml
once completed, this can be a fully functional (offline) locale selection option
worldmap.png no longer needed/in use
working is the stackview of the region & zones models
Timezone text bar shows correct timezone
currentIndex see comments on lines 65 & 139, not working
update of timezone text bar can't be tested if working as long no index is connected (see lines 93 & 168)
Still, already committing, since it does more then old Offline.qml, which had no function for timezone
2020-08-26 18:19:42 +02:00
Adriaan de Groot
ae14059e8b [webview] Config header was still misplaced
- use #error to produce slightly more comprehensible build failers
2020-08-26 14:48:46 +02:00
Adriaan de Groot
fd384f334d CMake: update translation lists
- Add Telugu already, even though it's formally not ready yet
2020-08-26 14:48:46 +02:00
Adriaan de Groot
51431e0042 Merge pull request #1500 from demmm/calamares
[keyboardq] rewrite keyboard.qml
2020-08-26 14:05:44 +02:00
Calamares CI
55dca08c8c i18n: [python] Automatic merge of Transifex translations 2020-08-26 13:54:12 +02:00
Calamares CI
0572e9cafc i18n: [calamares] Automatic merge of Transifex translations 2020-08-26 13:54:11 +02:00
demmm
7c08f9a033 [keyboardq] rewrite keyboard.qml
no longer use extra qml files
better highlighting, updated text, fewer buttons
2020-08-26 13:32:56 +02:00
Adriaan de Groot
c40a5d62ca Merge branch 'spdx' into calamares
Apply REUSE.software licensing tool across the codebase,
add complete(*) licensing information. Since we're touching
every file in the repo **anyway**, apply coding style too.

(* there are four files not licensed, but they will be
   removed soon)
2020-08-26 02:32:53 +02:00
Adriaan de Groot
a2180936ef CI: apply coding style across the entire codebase again 2020-08-26 02:28:43 +02:00
Adriaan de Groot
1cd9b93a22 REUSE: Giant boilerplate cleanup
- point to main Calamares site in the 'part of' headers instead
  of to github (this is the "this file is part of Calamares"
  opening line for most files).
- remove boilerplate from all source files, CMake modules and completions,
  this is the 3-paragraph summary of the GPL-3.0-or-later, which has
  a meaning entirely covered by the SPDX tag.
2020-08-26 02:28:38 +02:00
Adriaan de Groot
7a78f2600e REUSE: dep5-style licensing
For some dozens of files, adding license information in or
next to the file is unwanted:

- the translations are variable, and licensing information
  embedded in them is removed on update; since the translations
  are derived from the sources, blanket-license them as GPL-3.0-or-later
- FreeBSD packaging (ports) directories have a specific structure

.. and more cases like that. See the dep5 file for details.
2020-08-26 02:26:10 +02:00
Adriaan de Groot
5a3fb613d9 REUSE: Default branding assets and explanation 2020-08-26 02:22:49 +02:00
Adriaan de Groot
30a85668b7 REUSE: (GPL-3.0-or-later) C++ modules 2020-08-26 02:22:49 +02:00
Adriaan de Groot
863a4cc2a4 REUSE: (GPL-3.0-or-later) Python modules 2020-08-26 02:22:49 +02:00
Adriaan de Groot
5523bffbf2 REUSE: administrative and repo-meta files
- Mostly CC0 because they're not interesting
  - formatting, git, travis, transifex
- Some BSD-2-Clause because of habit
  - CMake and shell-script-like files
2020-08-26 02:22:49 +02:00
Adriaan de Groot
1b23520f20 REUSE: (CC0-1.0) module descriptors and configuration files
In spite of there being considerable documentation sometimes in the
config file, we go with CC0 because we don't want the notion of
'derived work' of a config file.

The example `settings.conf` is also CC0. Add some docs to
it while we're at it.
2020-08-26 02:22:49 +02:00
Adriaan de Groot
92a6cbc773 REUSE: (CC0-1.0) generated files & PD files
- the translations generated from public-domain files are CC0-1.0
- the files derived from Unicode tables are close to CC0-1.0,
  possibly except that there is a FileCopyrightText line
2020-08-26 02:22:49 +02:00
Adriaan de Groot
1a557804ab REUSE: Remainder of data/
- *AppImage example config*: this is old AppImage configuration,
  basically unmaintained, but copied from the **other** example
  config files which are CC0-1.0 as well.
- *Sample Linux distro*: The example Linux distro has a handful
  of trivial files, a bogus `/etc/issue`, that kind of thing.
- The bash completions are GPL-3.0-or-later
- FreeBSD packaging information is BSD-2-Clause
2020-08-26 02:21:43 +02:00
Adriaan de Groot
4e75ea8bd0 REUSE: Add best-effort .license for data/images/
- the commit messages don't mention getting the images
  from elsewhere, so use the commit date.
2020-08-26 02:05:46 +02:00
Adriaan de Groot
3480988f53 REUSE: SPDX tagging of application library and main
- CC0-1.0 for the uninteresting version-headers
- GPL-3.0-or-later for the services

- add SPDX identifiers to Calamares C++ libraries and application sources
- add SPDX identifiers to Calamares QML (panels and slideshow)
- the `qmldir` is a list of names of things in the directory,
  so CC0-1.0 it as "uninteresting"
- QRC files are lists of names of things in the directory,
  so CC0-1.0 them as well
2020-08-26 02:05:46 +02:00
Adriaan de Groot
7e9576d3d1 REUSE: fix credits for 3rd party sources
Some Calamares source files incorporate material from
3rd parties (unlike the 3rdparty/ dir, which is basically-
unchanged 3rd party source). Tidy up the FileCopyrightText
lines for those sources.

This is not an exhaustive effort.
2020-08-26 02:05:46 +02:00
Adriaan de Groot
2eecd431fe REUSE: (CC0-1.0) test data
There's lots of (YAML) test data that is just trivial configurations
for modules. Since the configurations themselves are **also** CC0-1.0,
and the tests are less interesting, license them equally liberally.
2020-08-26 02:05:46 +02:00
Adriaan de Groot
95ceb1e8c7 REUSE: (BSD-2-Clause) all CMakeLists
The build instructions are not that interesting, it's a toss-up
between CC0 and BSD-2, but because other CMake bits are BSD-2-Clause,
apply that to more CMakeLists. The copyright date isn't all that
accurate, but these are just inconsequential files.

While here, tidy up and get rid of some useless intermediates.
2020-08-26 02:05:46 +02:00
Adriaan de Groot
965bc3b0b4 REUSE: use <author> tag in .ui for license info
The .ui files are all GPL-3.0-or-later style, but it's
slightly difficult to keep licensing information in them:
it's XML, so an XML comment might work, but there's no
guarantee that safe/load will preserve them.

Put the SPDX tags in the <author> tag, so that it's visible
in Qt Designer.
2020-08-26 02:05:46 +02:00
Adriaan de Groot
0ee0f40816 REUSE: license tags for the scripts and tools in ci/
- remove empty useless HACKING
- remove unused cppcheck.sh
- migrate the AppImage docs to the wiki (which doesn't moan about licensing)
- try a HTML-style comment in the RELEASE docs
2020-08-26 02:05:46 +02:00
Adriaan de Groot
86f66e8f16 REUSE: (GPL-3.0-or-later) all the schema files
- these are vaguely derived from the schema's written by
  artoo@manjaro.org, but totally re-done for JSON-Schema
2020-08-26 02:01:58 +02:00
Adriaan de Groot
31d0b5b194 REUSE: (BSD-2-Clause) CMakeModules/
The intended license for the CMake modules is BSD-2-Clause;
there's no desire to restrict what can be done with these,
and CMake modules are generally 2-clause licensed.
2020-08-26 02:01:48 +02:00
Adriaan de Groot
6851f25d69 REUSE: 3rdparty license fix-up
- waitingspinnerwidget is MIT with suitable FileCopyrightText lines
- KDSAG is LGPL-2.0-only
2020-08-26 01:06:55 +02:00
Adriaan de Groot
0b3298fa44 REUSE: LICENSES/ files
For proper REUSE compliance, untangle the lists of licenses
and place a single copy of each license in LICENSES/ .
The License-Identifier in each source file refers to
these licenses, and FileCopyrightText provides the context,
"above notices" and similar attribution data.
2020-08-26 01:06:55 +02:00
Adriaan de Groot
d6d3b41484 [webview] Missing Config include
This was causing CI builds to fail, since WEBVIEW_WITH_WEBKIT
is defined only in the Config file, not on the command-line.
This crept in accidentally while trying to get rid of that
config file entirely.
2020-08-26 01:06:55 +02:00
Adriaan de Groot
b65b5228e1 [welcome] Don't apply code-style to other C-code 2020-08-26 00:31:16 +02:00
Adriaan de Groot
31aa8be620 [locale] Remove unused original images
- These haven't been used in the module, and just take up space and
  now add licensing annoyance as well
2020-08-26 00:31:16 +02:00
Adriaan de Groot
2609e05898 CMake: remove unused module 2020-08-26 00:31:16 +02:00
Adriaan de Groot
4a45eb847d CI: fix edge cases for calamaresstyle
- no format-10
- skip empty directories (otherwise astyle gets no file-paramaters
  and then hangs on stdin)
2020-08-26 00:31:16 +02:00
Adriaan de Groot
42417ed3b2 [libcalamares] Rip out the broken jobqueue information signals (break build) 2020-08-20 22:30:12 +02:00
Adriaan de Groot
2b86d2481c [libcalamares] finish() is a private implementation detail for the job queue 2020-08-20 22:28:52 +02:00
Adriaan de Groot
3ae4ccf402 Changes: post-release housekeeping 2020-08-20 18:03:16 +02:00
Adriaan de Groot
559bb6f27a Changes: pre-release housekeeping 2020-08-20 17:24:23 +02:00
Adriaan de Groot
41769c8794 [packages] Alphabetize package manager implementations 2020-08-19 21:12:40 +02:00
Adriaan de Groot
4a9f409422 Docs: explain that instances may also exist for weight-setting 2020-08-19 17:03:06 +02:00
Adriaan de Groot
cf1ee2cffe Docs: explain how module weights work 2020-08-19 16:50:40 +02:00
Adriaan de Groot
65f71524e0 Changes: mention module-weights 2020-08-19 16:32:06 +02:00
Adriaan de Groot
ade7a22314 Merge branch 'module-weight' into calamares
Re-jig the module-weight calculations.

- modules can have a weight
- module instances can have a weight
- jobs, from the module, can have a weight

This is now configurable on a case-by-case basis, rather than having
C++ only as an option and a weird hack for unpackfs.
2020-08-19 16:20:28 +02:00
Adriaan de Groot
9d395e82f0 [libcalamares] Try to avoid progress going backwards
This is more a test-inspired hack than anything else: since signals
are delivered asynchronously, we can end up delivering progress
signals out-of-order, and then the signal spy lists them wrong:
progress goes backwards.

Insert a tiny delay between jobs to allow signals to be delivered
in-order.
2020-08-19 15:32:19 +02:00
Adriaan de Groot
053321d4d2 [libcalamares] Test for progress reporting
- add a dummy job class for tests
- run a queue with 3 jobs from 2 modules to check progress reporting
2020-08-19 15:07:47 +02:00
Adriaan de Groot
521015b1b4 [libcalamares] Match types to existing qreal usage, signal progress 2020-08-19 13:06:50 +02:00
Adriaan de Groot
941b5af3a2 [libcalamares] Rip out the guts of job-queue-running
- compute weights and accumulations beforehand
- mutex-lock structures so you can enqueue while running jobs
- simplify progress reporting calculations
- doesn't actually run any jobs
2020-08-19 12:54:40 +02:00
Adriaan de Groot
08ea51a344 [partition] Fix tests after removal of single-job-enqueue 2020-08-19 11:28:53 +02:00
demmm
8ad7184024 [usersq] users.qml update some config vars
reflect changes from users/Config.cpp
corrected id missing capital
mirror UsersQmlViewStep.cpp/h with the users versions
connections are still not made
2020-08-18 20:06:30 +02:00
Adriaan de Groot
38862660c7 Changes: credit for stringlist fixes 2020-08-18 17:20:53 +02:00
Adriaan de Groot
ecaf97aa60 [users] Tests of config-loading of groups lists 2020-08-18 17:20:37 +02:00
Adriaan de Groot
ab3e393d45 [users] Protect against a nullptr deref
- there is typically no GS during tests
2020-08-18 17:20:08 +02:00
Adriaan de Groot
4b4d7f3b10 [libcalamares] Print a big fat warning before a typical now-crash situation 2020-08-18 17:17:29 +02:00
Adriaan de Groot
2ac518d8b9 [libcalamares] Change in stringlist extraction also changes single-string 2020-08-18 16:44:56 +02:00
Adriaan de Groot
41e2de85b1 [libcalamares] Fix up test -- 'lam' isn't supposed to be in the loaded data 2020-08-18 16:43:18 +02:00
Adriaan de Groot
a5555c3f94 Merge pull request #1491 from asif-mahmud/calamares
[libcalamares] retrieving string list fix
2020-08-18 16:41:56 +02:00
Adriaan de Groot
e55def87e9 [libcalamares] Test for Variant methods
In advance of PR #1491, test loading and stringlist extraction.

- from code, extraction works "normally"
- for YAML data, the stringlist isn't actually a stringlist
2020-08-18 16:40:33 +02:00
Adriaan de Groot
117859082e [libcalamares] Merge Tests.h into Tests.cpp
- no real need for separate file in the utils/ tests
2020-08-18 16:40:33 +02:00
Adriaan de Groot
626ac572d9 Merge branch 'hotfix-3.2.28.2' into calamares 2020-08-18 15:19:06 +02:00
Adriaan de Groot
871b56255b Changes: correct the release day
FIXES #1489 (that's the hotfix for this release)
FIXES #1480 (needed to fix the above)
2020-08-18 15:13:43 +02:00
Adriaan de Groot
5d016baee9 [hostinfo] Fix up ARM "detection"
As explained by Kevin Kofler and abucodonosor, the
implementer line can carry a bunch of different values,
but none of them are actually interesting. Simplify
the code.
2020-08-18 12:33:42 +02:00
Adriaan de Groot
24efce0c1d [locale] Make sanity checks in tests more explicit
SEE #1490
2020-08-17 15:09:20 +02:00
Asif Mahmud Shimon
3245d602db retrieving string list fix 2020-08-14 20:52:53 +06:00
Adriaan de Groot
c296bcffa3 [libcalamares] When enqueueing jobs, pass a weight
- The weight is the module (instance) weight, which can be
  - the default weight of 1
  - the weight specified for the module (in module.desc / the module
    descriptor; this defaults to 1, above)
  - the weight specified for the instance (in settings.conf)
  The last of these "wins"; weights are constrained to 1..100

The weight isn't actually used in progress computation yet.
2020-08-12 16:45:27 +02:00
Adriaan de Groot
a91ef65a37 [libcalamares] Make job weights integers 2020-08-12 16:08:37 +02:00
Adriaan de Groot
73b8ecd622 [unpackfs] Drop special-case for unpackfs
- make the module weight 12, rather than special-casing internals
2020-08-12 16:03:25 +02:00
Adriaan de Groot
c19866f887 [libcalamares] Add a module-weight to the module descriptor 2020-08-12 16:00:27 +02:00
Adriaan de Groot
14875259c7 [users] Create all the groups needed for the user
- 26b8c82630 added the list of all-the-groups-for-the-user,
  but didn't change the list passed to the method that
  creates groups.

FIXES #1488
2020-08-12 11:20:24 +02:00
Adriaan de Groot
575bc03a5c Merge pull request #1487 from PureTryOut/alpine-initramfs
[mkinitfs] New module
2020-08-12 10:50:44 +02:00
Adriaan de Groot
e18cc81757 Merge pull request #1486 from demmm/calamares
[usersq] adding QML module usersq
2020-08-12 10:35:41 +02:00
Adriaan de Groot
0f0bae0235 Merge branch 'schema' into calamares
All of the schemata are now valid JSON-schema files, and all of
the example config files validate against those schema files.
2020-08-12 10:29:48 +02:00
Adriaan de Groot
050d74b4be Fix YAML schemas for all the remaining config files 2020-08-12 10:29:24 +02:00
Adriaan de Groot
14afce538b [netinstall] Fix schema -- the groups file still needs attention 2020-08-12 10:29:24 +02:00
Adriaan de Groot
fcbd6e38c5 [keyboard] Fix schema -- forgotten field *writeEtcDefaultKeyboard* 2020-08-12 10:29:19 +02:00
Adriaan de Groot
efab699479 [umount] Fix schema -- prefer *preservefiles* for keeping the log 2020-08-12 10:29:13 +02:00
Adriaan de Groot
2061024a03 [unpackfs] Fix schema -- new fields *exclude* and *excludeFile* 2020-08-12 10:28:27 +02:00
Adriaan de Groot
57f02464d9 [hostinfo] The hackish ARM-detection is only for Linux 2020-08-12 09:58:48 +02:00
Adriaan de Groot
665c2d53ab [libcalamares] Fix Doxygen comment for TZ locations 2020-08-12 09:58:48 +02:00
Adriaan de Groot
c22e0a3451 [netinstall][users][tracking] Warnings--, extra ; 2020-08-12 09:58:39 +02:00
Adriaan de Groot
e2f6817536 Merge branch 'issue-1176' into calamares
This doesn't actually implement the job-weight work, but lays important
groundwork in module instances and descriptors.

SEE #1176
FIXES #1473
FIXES #1474
2020-08-12 09:43:35 +02:00
Adriaan de Groot
f73f94da27 Repait module.desc
- a handful of modules had an unused *requires* key in module.desc;
  this is probably from previous intentions around
  prerequisites-testing. Since the settings were empty anyway,
  they have been removed.
- [unpackfs] Compacted the way *requiredModules* list is written
2020-08-12 09:36:30 +02:00
Adriaan de Groot
efd7145f76 [libcalamares] Implement the interface-specific fields for descriptor 2020-08-12 09:06:47 +02:00
Adriaan de Groot
c8b96c278b [libcalamares] Complete the generic module descriptor
- loads emergency, noconfig, requiredModules keys
- warns (and marks descriptor invalid) if there are unused / unknown
  keys left over in the descriptor data.
2020-08-12 08:42:52 +02:00
Adriaan de Groot
e406ae1967 [libcalamares] Add name to module descriptor
- introduce basic tests of the data structure
- interpret name when passed in as descriptor data
2020-08-12 00:52:54 +02:00
Adriaan de Groot
e1e81bb133 [libcalamaresui] Warnings--, don't shadow a parameter 2020-08-12 00:39:01 +02:00
Adriaan de Groot
f1bb70269f [libcalamares] Improve warning/error logging
- the lack of a space after the : was inconsistent with most of the
  rest of the logging.
2020-08-12 00:34:22 +02:00
Adriaan de Groot
65273a262b [libcalamares] Start putting data into the module Descriptor 2020-08-12 00:33:08 +02:00
Adriaan de Groot
60fbf04594 [calamares] Adjust module test-loader for changed API
- the test-loader needs to create modules (and does so hackishly,
  outside of the ModuleManager) so it needs to chase the API as well.
2020-08-11 22:26:12 +02:00
Adriaan de Groot
3c6e53ecb9 [libcalamaresui] Chase the change in Module descriptor
- most of the code becomes **simpler** because the requirement
  to handle unstructured data is now in the descriptor itself,
  rather than in consumers.
2020-08-11 22:26:12 +02:00
Adriaan de Groot
ee834a7abb [libcalamares] Define interface for Module descriptor
- add fields -- all const, all bogus -- to the descriptor,
  introduce a stub method to load the descriptor from
  YAML data (e.g. read from module.desc)
- lighten the type-naming in Module a little, with usings
2020-08-11 22:26:12 +02:00
Adriaan de Groot
f0c4164515 [libcalamares] Add a more convenient find() to NamedEnum
- In most cases, you **know** the table covers all the enum
  values, and the extra parameter *ok* is just annoying.
  Provide a convenience that doesn't distinguish empty
  from empty-but-valid.
2020-08-11 22:26:12 +02:00
Adriaan de Groot
197cb9982c [libcalamares] Sort the tests by subdir 2020-08-11 22:26:12 +02:00
Adriaan de Groot
bdd6bdc3b2 [libcalamares] Migrate module type and interface to descriptor
- move the enums
- expose the named-enum functions for them
- **start** replacing Descriptor with something stronger; this fails
  zero tests so it obviously wasn't tested at all
2020-08-11 22:26:12 +02:00
Adriaan de Groot
215cd0d1c3 [users] Repair test on openSUSE 2020-08-11 22:16:03 +02:00
Bart Ribbers
b144f1dfc0 [mkinitfs] New module
This module allows the generation of the initramfs in Alpine Linux based
systems (excluding postmarketOS). Very bare bones, but then again it
doesn't need much. It uses the Alpine Linux tool "mkinitfs" to do the
job.
2020-08-11 18:18:52 +02:00
Adriaan de Groot
7cef99605f [libcalamares] Distinguish instances with an explicit weight
- setting the weight in *instances* should be different from letting
  the default weight (of 1) stand; explicitly saying 1 should
  carry some weight (ha!)
2020-08-11 16:45:51 +02:00
Adriaan de Groot
c8964717c7 [calamares] Bail out on invalid settings 2020-08-11 16:32:44 +02:00
Adriaan de Groot
d81d585c32 [libcalamares] Add isValid() to Settings
- settings can be invalid (missing data, whatever) and that
  can be used to shut things down early. Validity must be
  checked explicitly, though.
2020-08-11 16:32:44 +02:00
Adriaan de Groot
4cd2a4ae91 [libcalamares] Produce warnings while reading settings
- any invalid instance key will cause a complaint
- "new" custom instances in sequence get a complaint, but
  the instance description added to the list is valid
2020-08-11 16:32:44 +02:00
Adriaan de Groot
a8075fba5f [libcalamares] Chase API change in settings 2020-08-11 16:32:44 +02:00
Adriaan de Groot
253e5610af [libcalamares] Better type for the list of InstanceKeys
- *sequence* lists module instance keys; make the stored type of
  those keys InstanceKey instead of QString
2020-08-11 16:32:44 +02:00
Adriaan de Groot
b23dbd47c7 [libcalamaresui] Chase changes in instanceDescriptor
- this is mostly about deleting code, since the special-cases
  now live in libcalamares where `settings.conf` is interpreted.
2020-08-11 16:32:44 +02:00
Adriaan de Groot
57f5a92d96 [libcalamares] Build complete instanceDescriptor list
- there's no reason to ignore custom instances that are **not**
  mentioned in the *instances* section: it may be useful to
  name more that one even without distinct config files.
2020-08-11 16:32:44 +02:00
Adriaan de Groot
4968efdaa7 [libcalamares] Simplify constructors of InstanceDescription
- no more weights in constructors; do that in fromSettings() only.
- simplify test to drop those constructors
- set config file also for "normal" descriptors; fix test
2020-08-11 16:32:44 +02:00
demmm
355a4f9b8d [usersq] adding QML module usersq
module builds, installs and runs, connections are not working yet.

UserQmlViewstep.cpp/h are from PR https://github.com/calamares/calamares/pull/1356
sections are commented out to make the module build, but help is needed to get those 2 files corrected.

config names used in usersq.qml are guessed from users/Config.cpp
debug window shows correct entries in GS, and under the module tab, usersq.conf is read
as should too. Running shows most config used in users.qml are not registered/wrong,
many entries like: qrc:/usersq.qml:228:13: Unable to assign [undefined] to bool

It is understood not all needed from the users module has moved to Config.cpp yet,
but doing the PR now, since it runs, doesn't crash cala and help is needed to further implement.
2020-08-11 13:46:05 +02:00
Adriaan de Groot
e507338f4c [libcalamares] Test config filenames as well (custom vs standard) 2020-08-11 13:27:15 +02:00
Adriaan de Groot
1f57a99ff2 [libcalamares] Rename moduleInstances() and fix tests
- "custom" is a misnomer, so drop that from the name
- tests adjusted: all instances are returned, not just the "custom"
  ones.
2020-08-11 12:54:29 +02:00
Adriaan de Groot
6f7234e4ac [libcalamares] Add all mentioned instances to the instanceList
- "custom" instances is now a misnomer, since all the instances
  go into it; they are distinguished by `isCustom()` on the descriptor
2020-08-11 12:43:59 +02:00
Adriaan de Groot
f157d9c459 [libcalamares] Refactor data-loading in Settings
- expose, for testing purposes, the load-from-YAML-data part
  alongside the public constructor that reads a YAML file
- add test for building the list of instances
2020-08-11 11:53:50 +02:00
Adriaan de Groot
34e31d4331 [libcalamares] Revert PRIVATETEST
- looks funny
- is hard to get clang-format to respect this; it's intended as an
  access-modifier, but those are baked into the code rather than
  being configurable.
- is probably rare enough that #ifdef is acceptable
2020-08-11 11:09:07 +02:00
Adriaan de Groot
53eb6c614a [libcalamares] Make InstanceDescription a class
- switch from dumb struct to a class; use a structured InstanceKey
- expand testing of InstanceKey and InstanceDescription
2020-08-11 10:31:12 +02:00
Adriaan de Groot
9c382e3555 [libcalamares] Support switching public/private during tests 2020-08-11 10:16:00 +02:00
Adriaan de Groot
e96198e61c Merge branch 'calamares' into issue-1176 2020-08-10 23:22:14 +02:00
Adriaan de Groot
8518a5037d Changes: post-release housekeeping 2020-08-10 23:18:02 +02:00
Adriaan de Groot
3227658475 [calamares] Fix up multiple-moc of KDSAG
- was getting multiple definitions of moc-related code due to automoc
  combined with KDSAG having its own #include moc, comment-out the include.
- while here, simplify the CMake bits for building KDSAG
2020-08-10 16:10:16 +02:00
Adriaan de Groot
483c0a84f8 [libcalamares] Update SPDX in modulesystem/ 2020-08-10 09:53:05 +02:00
Adriaan de Groot
21b4a36a91 [libcalamares] Remove empty .cpp file
- Requirement.cpp was there "just in case" the header grew
  functions that need an implementation, but that seems
  unlikely (the header is just a struct of POD).
2020-08-10 09:50:27 +02:00
Adriaan de Groot
d83543d904 Merge branch 'calamares' into issue-1176 2020-08-10 09:45:05 +02:00
Adriaan de Groot
23b507ae8e [partition] Chase constness, makeJob() 2020-08-04 16:53:29 +02:00
Adriaan de Groot
20b477d063 [partition] Distinguish jobs with updatePreview() 2020-08-04 16:20:04 +02:00
Adriaan de Groot
62579e0f42 Merge branch 'calamares' into issues-1166 2020-08-04 16:08:01 +02:00
Adriaan de Groot
320779ccbe [libcalamares] Document Job::prettyDescription
The TODO said it was unused: it **is** used, but only in
a very limited scope. Drop it from jobs where it wasn't
useful (e.g. those that just return prettyName(), outside
of the partition module).
2020-08-04 11:19:17 +02:00
Adriaan de Groot
88e5e98d29 [libcalamares] Use consistent type alias (Descriptor) 2020-08-04 10:19:40 +02:00
Adriaan de Groot
ea709aab59 [libcalamaresui] Swap out unstructured string for structured data 2020-08-04 01:31:22 +02:00
Adriaan de Groot
6e31d9de4b [partition] Name deviceInfo consistently, auto*
- use auto* for pointer type where we already say "device info" twice
2020-08-03 13:41:34 +02:00
Adriaan de Groot
22ba3cc62d [partition] Make private struct type private
- no need for the definition to be in public header, move to implementation
- while here, sort the members and private methods
- add a makeJob() to add jobs to the queue
2020-08-03 13:38:12 +02:00
Adriaan de Groot
c2929e93b3 [partition] Start sanitizing the Jobs on a Device
- having a struct with an obtuse API for adding jobs-that-need-to-happen-
  to-this-device is just not good for maintainability.
- break the build by making things private.
2020-08-03 13:13:56 +02:00
Adriaan de Groot
c63d4ad2cc [partition] Enable 'file' swap choice
SEE #1166
2020-08-03 12:31:38 +02:00
1420 changed files with 218274 additions and 106657 deletions

View File

@@ -1,3 +1,5 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
---
BasedOnStyle: WebKit
@@ -6,6 +8,7 @@ AlignEscapedNewlines: DontAlign
AllowAllParametersOfDeclarationOnNextLine: "false"
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: "false"
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: "false"
AlwaysBreakAfterReturnType: TopLevelDefinitions
AlwaysBreakTemplateDeclarations: Yes
@@ -25,9 +28,9 @@ PointerAlignment: Left
ReflowComments: "false"
SortIncludes: "true"
SpaceAfterCStyleCast: "false"
SpaceInEmptyBlock: "false"
SpacesBeforeTrailingComments: "2"
# SpaceInEmptyBlock: "true"
SpacesInAngles: "true"
SpacesInParentheses: "true"
SpacesInSquareBrackets: "true"
Standard: Cpp11
Standard: c++17

View File

@@ -1,4 +1,5 @@
# http://EditorConfig.org
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
root = true

3
.gitattributes vendored
View File

@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
.editorconfig export-ignore
.gitattributes export-ignore
.github export-ignore

View File

@@ -0,0 +1,63 @@
---
name: Usability testing
about: Propose a usability test to help us
---
# Objective
The test goals. e.g.: Evaluate the language selection and the partitioning configurations.
# Requirements
## Environment
What is the environment that should be tested and how it should be prepared. e.g.: The test needs to run in the release 3.32.34 installing Manjaro.
## User profile
Describe the target users you are looking for the test. e.g.: A user that has already used a system-installer.
## Facilitator
What the facilitator should be familiar with to run the tests. e.g.: The facilitator needs to know how to build Calamares to be able to run the tests.
# Test design
## Tasks
A list of tasks that the user has to perform. e.g.:
* Use another language.
* Change partitioning configurations.
## Scenarios
A list of scenarios for the user to perform the tasks. They should put the user in a context and not give specific hints about what you want the user to do. e.g.:
1. You want to change the installer language to English. Please, look for this option in the application.
2. You are a big fan of a lot of distributions and want to have some space left to install other distributions in your disk after this installation. Please, resize your disk to have 35GB of space left.
<!--
## Results
Uncomment this session once you have your results.
### Summary
| - | User 1 | User 2 | User 3 | User 4 | User 5 |
|:------:|:------:|:--------:|:------------------:|:------:|:------:|
| Task 1 | :x: | :question: | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Task 2 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Task 3 | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: |
| Task 4 | :heavy_check_mark: | :question: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
### Task 1
#### What went well?
Describe what happened as expected. e.g.: Most users intuitively found the language selector for changing the installer language.
#### What were the challenges?
Describe where the users had issues and why. Try to write the details to ensure a good understanding of what happened. You can also attach videos, GIFs, or screenshots to illustrate. e.g.: Two of the users had issues searching for English on the language selector because they didn't realize they could scroll down to find it.
### Task 2
#### What went well?
Describe what happened as expected. e.g.: Most users intuitively found the language selector for changing the installer language.
#### What were the challenges?
Describe where the users had issues and why. Try to write the details to ensure a good understanding of what happened. You can also attach videos, GIFs, or screenshots to illustrate. e.g.: Two of the users had issues searching for English on the language selector because they didn't realize they could scroll down to find it.
-->

32
.github/workflows/issues.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: issues
on:
issues:
types: [opened, reopened, closed]
jobs:
notify:
runs-on: ubuntu-latest
steps:
- name: "notify: new"
if: github.event.issue.state == 'open'
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: "OPENED ${{ github.event.issue.html_url }} by ${{ github.actor }} ${{ github.event.issue.title }}"
- name: "notify: closed"
if: github.event.issue.state != 'open'
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: "CLOSED ${{ github.event.issue.html_url }} by ${{ github.actor }} ${{ github.event.issue.title }}"
- name: "remove in-progress label"
if: github.event.issue.state != 'open'
run: |
curl -X DELETE \
-H 'Accept: application/vnd.github.v3+json' \
-H 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
"https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/labels/hacking%3A%20in-progress"

44
.github/workflows/nightly-debian.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: nightly-debian-10
on:
schedule:
- cron: "12 23 * * *"
workflow_dispatch:
env:
BUILDDIR: /build
SRCDIR: ${{ github.workspace }}
CMAKE_ARGS: |
-DWEBVIEW_FORCE_WEBKIT=1
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON
-DWITH_PYTHONQT=OFF"
-DCMAKE_BUILD_TYPE=Debug
jobs:
build:
runs-on: ubuntu-latest
container:
image: docker://debian:10
options: --tmpfs /build:rw --user 0:0
steps:
- name: "prepare env"
uses: calamares/actions/prepare-debian@v4
- name: "prepare source"
uses: calamares/actions/generic-checkout@v4
- name: "build"
id: build
uses: calamares/actions/generic-build@v4
- name: "notify: ok"
if: ${{ success() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: "OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}"
- name: "notify: fail"
if: ${{ failure() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: "FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}"

56
.github/workflows/nightly-neon.yml vendored Normal file
View File

@@ -0,0 +1,56 @@
name: nightly-neon
on:
schedule:
- cron: "52 23 * * *"
workflow_dispatch:
env:
BUILDDIR: /build
SRCDIR: ${{ github.workspace }}
CMAKE_ARGS: |
-DWEBVIEW_FORCE_WEBKIT=1
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON
-DWITH_PYTHONQT=OFF"
-DCMAKE_BUILD_TYPE=Debug
jobs:
build:
runs-on: ubuntu-latest
container:
image: docker://kdeneon/plasma:user
options: --tmpfs /build:rw --user 0:0
steps:
- name: "prepare env"
uses: calamares/actions/prepare-neon@v4
- name: "prepare source"
uses: calamares/actions/generic-checkout@v4
- name: "build"
id: build
uses: calamares/actions/generic-build@v4
- name: "Calamares: archive"
working-directory: ${{ env.BUILDDIR }}
run: |
make install DESTDIR=${{ env.BUILDDIR }}/stage
tar czf calamares.tar.gz stage
- name: "Calamares: upload"
uses: actions/upload-artifact@v2
with:
name: calamares-tarball
path: ${{ env.BUILDDIR }}/calamares.tar.gz
if-no-files-found: error
retention-days: 3
- name: "notify: ok"
if: ${{ success() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: "OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}"
- name: "notify: fail"
if: ${{ failure() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: "FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}"

45
.github/workflows/nightly-opensuse.yml vendored Normal file
View File

@@ -0,0 +1,45 @@
name: nightly-opensuse
on:
schedule:
- cron: "32 23 * * *"
workflow_dispatch:
env:
BUILDDIR: /build
SRCDIR: ${{ github.workspace }}
CMAKE_ARGS: |
-DWEBVIEW_FORCE_WEBKIT=1
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON
-DWITH_PYTHONQT=OFF"
-DCMAKE_BUILD_TYPE=Debug
jobs:
build:
runs-on: ubuntu-latest
container:
image: docker://opensuse/leap
options: --tmpfs /build:rw --user 0:0
steps:
- name: "prepare env"
uses: calamares/actions/prepare-opensuse@v4
- name: "prepare source"
uses: calamares/actions/generic-checkout@v4
- name: "build"
id: build
uses: calamares/actions/generic-build@v4
- name: "notify: ok"
if: ${{ success() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: |
OK ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}"
- name: "notify: fail"
if: ${{ failure() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: "FAIL ${{ github.workflow }} in ${{ github.repository }} ${{ steps.build.outputs.git-summary }}"

56
.github/workflows/push.yml vendored Normal file
View File

@@ -0,0 +1,56 @@
name: ci-push
on:
push:
branches:
- calamares
- work-3.3
pull_request:
types:
- opened
- reopened
- synchronize
workflow_dispatch:
env:
BUILDDIR: /build
SRCDIR: ${{ github.workspace }}
CMAKE_ARGS: |
-DWEBVIEW_FORCE_WEBKIT=1
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON
-DWITH_PYTHONQT=OFF"
-DCMAKE_BUILD_TYPE=Debug
jobs:
build:
runs-on: ubuntu-latest
container:
image: docker://kdeneon/plasma:user
options: --tmpfs /build:rw --user 0:0
steps:
- name: "prepare env"
uses: calamares/actions/prepare-neon@v4
- name: "prepare source"
uses: calamares/actions/generic-checkout@v4
- name: "build"
id: build
uses: calamares/actions/generic-build@v4
- name: "notify: ok"
if: ${{ success() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: |
OK ${{ github.workflow }} in ${{ github.repository }} by ${{ github.actor }} on ${{ github.event.ref }}
.. ${{ steps.build.outputs.git-summary }}
- name: "notify: fail"
if: ${{ failure() && github.repository == 'calamares/calamares' }}
uses: calamares/actions/matrix-notify@v4
with:
token: ${{ secrets.MATRIX_TOKEN }}
room: ${{ secrets.MATRIX_ROOM }}
message: |
FAIL ${{ github.workflow }} in ${{ github.repository }} by ${{ github.actor }} on ${{ github.event.ref }}
.. ${{ steps.build.outputs.git-summary }}
.. ${{ github.event.compare }}

4
.gitignore vendored
View File

@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# C++ objects and libs
*.slo
@@ -47,6 +50,7 @@ CMakeLists.txt.user
# Backup files
*~
*.bak
# Kate
*.kate-swp

90
.reuse/dep5 Normal file
View File

@@ -0,0 +1,90 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Calamares
Source: https://github.com/calamares/calamares.git
### ACTUAL LICENSES
#
# Images in the locale module are a bit unclear; they were added
# by Teo in 2014 but I suspect they came from somewhere else.
#
Files: src/modules/locale/images/timezone*.png
License: GPL-3.0-or-later
Copyright: 2014 Teo Mrnjavac <teo@kde.org>
Files: man/calamares.8
License: GPL-3.0-or-later
Copyright: 2017 Jonathan Carter <jcarter@linux.com>
### BUILD ARTIFACTS / NOT SOURCE
#
# QRC Files are basically build artifacts
#
FILES: src/modules/*/*.qrc
License: CC0-1.0
Copyright: no
# GitHub issue templates are not part of the source
#
Files: .github/ISSUE_TEMPLATE/*
License: CC0-1.0
Copyright: no
# GitHub actions are not part of the source
Files: .github/workflows/*.yml
License: CC0-1.0
Copyright: no
# Packaging information
#
Files: data/FreeBSD/distinfo data/FreeBSD/pkg-descr data/FreeBSD/pkg-plist
License: CC0-1.0
Copyright: no
# Example data for timezones, which is copied out of zoneinfo,
# which has this notice:
#
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
Files: data/example-root/usr/share/zoneinfo/Zulu data/example-root/usr/share/zoneinfo/UTC data/example-root/usr/share/zoneinfo/America/New_York
License: CC0-1.0
Copyright: no
### TRANSLATIONS
#
# .desktop files and template change only with translation
#
FILES: calamares.desktop*
License: CC0-1.0
Copyright: no
# Transifex translations derive from the source, and have no
# embedded copyright information.
#
Files: lang/*.ts
License: GPL-3.0-or-later
Copyright: 2020 Calamares authors and translators
# Translations of branding slideshow are the same
Files: src/branding/default/lang/*.ts
License: GPL-3.0-or-later
Copyright: 2020 Calamares authors and translators
# Python translation files have some copyright information, but
# it's generally very sketchy.
#
Files: lang/python.pot
License: GPL-3.0-or-later
Copyright: 2020 Calamares authors and translators
Files: lang/python/*/LC_MESSAGES/python.po
License: GPL-3.0-or-later
Copyright: 2020 Calamares authors and translators
Files: src/modules/dummypythonqt/lang/dummypythonqt.pot
License: GPL-3.0-or-later
Copyright: 2020 Calamares authors and translators
Files: src/modules/dummypythonqt/lang/*/LC_MESSAGES/dummypythonqt.po
License: GPL-3.0-or-later
Copyright: 2020 Calamares authors and translators

View File

@@ -1,20 +0,0 @@
language: cpp
python:
- 3.5
sudo: required
services:
- docker
notifications:
irc:
- "chat.freenode.net#calamares"
install:
- docker build -t calamares .
script:
- docker run -v $PWD:/src --tmpfs /build:rw,size=81920k -e SRCDIR=/src -e BUILDDIR=/build calamares "/src/ci/travis.sh"

View File

@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
[main]
host = https://www.transifex.com

View File

@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2001-2010 Klaralvdalens Datakonsult AB.
* SPDX-License-Identifier: LGPL-2.0-only
* License-Filename: LICENSES/LGPLv2-KDAB
*
* The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB.
*/

View File

@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2001-2010 Klaralvdalens Datakonsult AB.
* SPDX-License-Identifier: LGPL-2.0-only
* License-Filename: LICENSES/LGPLv2-KDAB
*
* The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB.
*/

View File

@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2001-2010 Klaralvdalens Datakonsult AB.
* SPDX-License-Identifier: LGPL-2.0-only
* License-Filename: LICENSES/LGPLv2-KDAB
*
* The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB.
*/

View File

@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2001-2010 Klaralvdalens Datakonsult AB.
* SPDX-License-Identifier: LGPL-2.0-only
* License-Filename: LICENSES/LGPLv2-KDAB
*
* The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB.
*/

View File

@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2001-2010 Klaralvdalens Datakonsult AB.
* SPDX-License-Identifier: LGPL-2.0-only
* License-Filename: LICENSES/LGPLv2-KDAB
*
* The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB.
*/

View File

@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2001-2010 Klaralvdalens Datakonsult AB.
* SPDX-License-Identifier: LGPL-2.0-only
* License-Filename: LICENSES/LGPLv2-KDAB
*
* The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB.
*/
@@ -41,7 +41,7 @@ public:
explicit KDSingleApplicationGuard( Policy policy, QObject * parent=nullptr );
explicit KDSingleApplicationGuard( const QStringList & arguments, QObject * parent=nullptr );
explicit KDSingleApplicationGuard( const QStringList & arguments, Policy policy, QObject * parent=nullptr );
~KDSingleApplicationGuard();
~KDSingleApplicationGuard() override;
bool isOperational() const;
@@ -70,7 +70,7 @@ public Q_SLOTS:
void killOtherInstances();
protected:
/*! \reimp */ bool event( QEvent * event );
/*! \reimp */ bool event( QEvent * event ) override;
private:
#ifndef Q_WS_WIN

View File

@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2001-2010 Klaralvdalens Datakonsult AB.
* SPDX-License-Identifier: LGPL-2.0-only
* License-Filename: LICENSES/LGPLv2-KDAB
*
* The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB.
*/

View File

@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2001-2010 Klaralvdalens Datakonsult AB.
* SPDX-License-Identifier: LGPL-2.0-only
* License-Filename: LICENSES/LGPLv2-KDAB
*
* The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB.
*/

View File

@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2001-2010 Klaralvdalens Datakonsult AB.
* SPDX-License-Identifier: LGPL-2.0-only
* License-Filename: LICENSES/LGPLv2-KDAB
*
* The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB.
*/

View File

@@ -1,6 +1,6 @@
/*
* SPDX-FileCopyrightText: 2001-2010 Klaralvdalens Datakonsult AB.
* SPDX-License-Identifier: LGPL-2.0-only
* License-Filename: LICENSES/LGPLv2-KDAB
*
* The KD Tools Library is Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB.
*/

View File

@@ -1,6 +1,8 @@
/*
* SPDX-FileCopyrightText: 2012-2014 Alexander Turkin
* SPDX-FileCopyrightText: 2014 William Hallatt
* SPDX-FileCopyrightText: 2015 Jacob Dawid
* SPDX-License-Identifier: MIT
* License-Filename: LICENSES/MIT-QtWaitingSpinner
*/
/* Original Work Copyright (c) 2012-2014 Alexander Turkin

View File

@@ -1,11 +1,14 @@
/*
* SPDX-FileCopyrightText: 2012-2014 Alexander Turkin
* SPDX-FileCopyrightText: 2014 William Hallatt
* SPDX-FileCopyrightText: 2015 Jacob Dawid
* 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
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
@@ -82,7 +85,7 @@ private slots:
void rotate();
protected:
void paintEvent(QPaintEvent *paintEvent);
void paintEvent(QPaintEvent *paintEvent) override;
private:
static int lineCountDistanceFromPrimary(int current, int primary,

View File

@@ -1,3 +1,7 @@
<!-- SPDX-FileCopyrightText: no
SPDX-License-Identifier: CC0-1.0
-->
# MAINTAINER
Calamares development is sponsored by Blue Systems GmbH - Liberating Software.
@@ -34,6 +38,7 @@ and moral support from (alphabetically by first name or nickname):
- Kevin Kofler
- Kyle Robertze
- Lisa Vitolo
- Neal Gompa
- n3rdopolis
- Philip Müller
- Ramon Buldó

View File

@@ -1,9 +1,906 @@
<!-- SPDX-FileCopyrightText: no
SPDX-License-Identifier: CC0-1.0
-->
This is the changelog for Calamares. For each release, the major changes and
contributors are listed. Note that Calamares does not have a historical
changelog -- this log starts with version 3.2.0. The release notes on the
website will have to do for older versions.
# 3.2.28.3 (2020-08-17) #
# 3.2.56 (2022-04-22) #
As of this release, Calamares 3.2 development is winding down. The
reason is simple: systems where the backwards-compatibility of Calamares
3.2 is important are becoming increasingly difficult to work with
for **other** reasons. Foremost among these are deprecated versions
of dependencies and tools. Calamares 3.2 branch remains open for
bugfixes and will see a few more releases, but development is now
shifting wholesale to the newer generation.
This release contains contributions from (alphabetically by first name):
- Victor Fuentes (new contributor! Welcome!)
## Core ##
- Changes in git forced some changes on the CI tooling.
## Modules ##
- *locale* showed the wrong timezone for Dhaka, although it configured
the correct one. #1929
- *users* module sets global storage key *fullname* to the full name
of the user (e.g. what is entered in the "your full name" box on the
users page). #1923 (Thanks Victor)
# 3.2.55 (2022-04-11) #
This release contains contributions from (alphabetically by first name):
- vtriolet (new contributor! Welcome!)
## Core ##
- `readTargetFile()` did not properly return all the lines of the target
file. #1918 (thanks vtriolet)
## Modules ##
- *users* module has rearranged configuration for setting the hostname.
Legacy settings are preserved, but produce a warning. Please see
`users.conf` for details.
- *users* module has a new hostname.location setting, *Transient*, which
will force the installed system to transient-hostname-setting by removing
the file `/etc/hostname`.
- *users* module has a new hostname.template setting, which allows some
tweaking of how the hostname suggestion is constructed. In particular,
it can be configured to use the current hostname (whatever that may be).
See the example `users.conf` for details on available keys.
# 3.2.54 (2022-03-21) #
This release contains contributions from (alphabetically):
- Bob van der Linden (new contributor! Welcome!)
- El-Wumbus (new contributor! Welcome!)
- Evan James
- Santosh Mahto (new contributor! Welcome!)
## Core ##
- During the installation ("exec") step, while the slideshow is displayed,
there is also a button to show the scrolling installation log as it
is written. (Thanks Bob)
## Modules ##
- *fstab* module correctly handles empty UUID strings. (Thanks Evan)
- *partition* module no longer forgets configured partition-layouts.
It also respects configured partition labels better. (Thanks Santosh)
# 3.2.53 (2022-03-04) #
This release contains contributions from (alphabetically by first name):
- Huang Jia Wen (new contributor! Welcome!)
## Core ##
- Automount-manipulation (to switch off KDE Plasma automounting new devices)
now logs slightly more as it works. Defaults have changed in KDE Plasma
5.24 and it turns out the automount-manipulation does not work well.
Distro's are encouraged to turn off automount in the live ISO (see #1885).
## Modules ##
- *bootloader* now knows about loongarch64 and can install suitable EFI
files for this CPU type. (Thanks Huang Jia Wen)
- Progress reporting for `pacman` from the *packages* module has been switched
off. The progress reporting works under low load, but there are many reports
of it crashing (from XeroLinux and from Evan James, who has been debugging
the issue) during a regular installation with thousands of updates. This
will be revisited in the next release.
- The *umount* module was buggy and did not actually unmount anything.
# 3.2.52 (2022-02-25) #
This release contains contributions from (alphabetically by first name):
- Evan James
## Core ##
- No core changes yet
## Modules ##
- *fstab* recognizes nvme and mmc devices correctly as SSDs now. #1883
- *luksbootkeyfile* handles trailing slashes in mount point
- *partition* can be built with a new `SKIP` option, which skips
the actual formatting steps but does not fail. The old `LAME`
option is renamed `BAIL_OUT`.
- *users* has a new key *sudoersConfigureWithGroup* to allow for
different styles of sudo configuration. #1887
# 3.2.51 (2022-02-01) #
This release contains contributions from (alphabetically by first name):
- Evan James
**WARNING** The *umount* module has been rewritten in C++. Check your
configuration if you previously used the copy-a-log functionality.
## Core ##
- Evan has made a start on documenting which Global Storage keys there
are and how they tie modules together. This can be found in the
`src/modules/README.md` documentation.
## Modules ##
- *bootloader* can now be configured to try to generate a unique
suffix for the bootloader-id. #1820
- *grubcfg* now has a configurable default for kernel parameters,
which allows distributions to change the value from `quiet`.
The default, if nothing is set, remains `quiet`. Use an explicitly-
empty list to specify no-arguments-at-all.
- *packagechooser* can now export its choices for use by the *netinstall*
module. This makes it possible to use *packagechooser* for large-scale
choices, followed by *netinstall* for fine-grained control. (Thanks Evan)
- When the *partition* module has a conflicting configuration for the
swap choices, it prints a warning and uses the configured choice, rather
than always using "suspend". #1881
- The *umount* module has been re-written in C++. The copy-a-log-file
functionality has been removed. Use the *preservefiles* module for that.
# 3.2.50 (2022-01-18) #
This release contains contributions from (alphabetically by first name):
- Anke Boersma
- Erik Dubois
- Evan James
- Johannes Kamprad
- Taejun Park (new contributor, welcome!)
**Replacement notice:** The *umount* module will be replaced by a C++
implementation in the next release. The "preserve log file" feature
will be removed in that release. Use the *preservefiles* module instead.
## Core ##
- No core changes yet
## Modules ##
- *initcpiocfg* mentioned a special kernel-name "all", which did not work,
and a special kernel-name "$uname" which cannot work. Fixed the former
and removed the "$uname" special key. (Thanks Evan)
- *luksswaphookcfg* has been converted to a C++ module.
- *networkcfg* could fail to update the NetworkManager configuration
if the SSID or username contained non-ASCII characters **and** the
default Python text-file encoding was set to ASCII. The files are
now read and written in UTF-8, explicitly. #1848
- *partition* always sets *bigtime* option on XFS filesystems, if possible.
Requires sufficiently-recent xfsprogs. #1874
- *preservefiles* was missing some necessary features, needed for it
to replace the deprecated log-file-saving functionality in the *umount*
module. (Thanks Erik and Joe for testing) #1851
- *umount* is now marked as an emergency module in the example configuration,
since it should **probably** be run as a cleanup. (Thanks Evan)
- *welcome* and *locale* could be confusing, together, and configure
the target system with a language that does not match the installer
language, even though the user did not make any explicit choice.
(Thanks Taejun) #1864
# 3.2.49.1 (2021-12-11) #
This is a hot-fix release, to fix a regression in the calculation of
swap-size. Reported by EndeavourOS (Joe Kamprad) and Xero Linux.
# 3.2.49 (2021-12-10) #
This release contains contributions from (alphabetically by first name):
- Artem Grinev
- Evan James
Distributions are **specifically** reminded to update the *umount* module
configuration (and to use *preservefiles* if needed).
## Core ##
- Errors (e.g. when an installation fails for whatever reason) are displayed
in a dialog with a scrollable details panel, rather than growing up
to the size of the screen. (Thanks Artem)
## Modules ##
- *bootloader* better supports multiple installations of the same OS.
- *mount* supports btrfs subvolumes on subdirectories of / now.
- *partition* now supports "deep" btrfs subvolume names, e.g. a
separate subvolume for `/usr/local`. (Thanks Evan)
- The *umount* module now warns if the "preserve log file" feature is used.
This has been deprecated for a long time: use the *preservefiles* module
instead. A future release will turn this into an error.
# 3.2.48 (2021-12-03) #
This release contains contributions from (alphabetically by first name):
- Evan James
## Core ##
- Python modules now have `warn()` and `error()` methods they can call,
alongside the existing `debug()` and `warning()` (all live in the
*libcalamares.utils* module).
- Python modules can load YAML files via `libcalamares.utils.load_yaml()`.
This may be the most useful for test-scripts.
## Modules ##
- *fstab* now has a separate, special, flags-setting for swap subvolumes
on btrfs. A swap subvolume is created if a swap **file** (not a separate
partition) is selected in the auto-partitioning page. (Thanks Evan)
- When using btrfs, the *mount* module creates subvolumes. It was not
possible to **avoid** having a subvolume name created for the root.
This is now possible. #1837
- The *packages* module now has some special settings for the `pacman`
package manager (generally used on Arch-derivatives). This allows
tweaking of the installation process, if downloads are slow or
packages may fail to install. See the `packages.conf` file for
details. (Thanks Evan)
# 3.2.47 (2021-11-19) #
This release contains contributions from (alphabetically by first name):
- Evan James
- Jonas Strassel
## Core ##
- The translation for Sinhala (`si`) has reached 100%. Thank you to
හෙළබස and Sandaruwan, translators for Sinhala, for special effort
in completing that translation.
- Logging now supports Redacted names. This reduces the scope for
leaking names or other private information through the logs
(if they are posted to a pastebin). A name is redacted consistently
within one run of Calamares, but differently each time.
## Modules ##
- *bootloader* with systemd-boot now handles root subvolumes better
(Thanks Evan)
- *displaymanager* supports the *greetd* display manager, which is a
kind of meta-DM itself, supporting multiple greeters. (Thanks Jonas)
- *finishedq* now has an extra example QML file that builds the UI in
a different fashion, demonstrating how a mobile-OS customization of
Calamares would present the "all done" message.
- *fstab* has an example configuration file that mentioned `space_cache`
as an option. Since 2014 there was only one possible value, so this
option matched the default-and-only value. Newer kernels with newer
btrfs versions have a `v2` option value as well. Remove the example
option, since the kernel automatically picks the right value, while
setting it to the wrong one may prevent the system from booting.
(Thanks Evan)
- The *partition* module no longer logs recognizable disk names or
UUIDs. These are redacted in the logs. #1593
- The *partition* module, together with the new *zfs* module and changes
in *mount* and *bootloader* can install to ZFS **if** the distribution
kernel supports it. ZFS tools are required, as well as the relevant
kernel modules. See the `README.md` in the *zfs* module. (Thanks Evan)
# 3.2.46 (2021-11-09) #
This release contains contributions from (alphabetically by first name):
- Philip Müller
## Core ##
- A new core class `Runner` is now responsible for running commands
either in the host or in the target system. This is invisible for
end-users, but **does** expand the API available to consumers inside
Calamares modules. In particular, Python modules can now easily read
and respond to command output. #1740
## Modules ##
- *fstab* writes a slightly different message in `/etc/crypttab`
about the root filesystem. Since Calamares itself ignores the
(previous wording of) message, it was confusing. #1811
- *packages* module has some support for reporting progress while
the packages are installed. This depends on the package-manager itself
reporting useful progress information **and** the *packages* module having
support-code to interpret that progress. A proof-of-concept for `pacman`
has been implemented. #1582
- *partition* has a number of edge-cases for LVM and LUKS resolved. #1564 #1817
- *partition* module once again always offers `/boot` as a mount-point, even
when EFI would want `/boot/efi`. (Thanks Phil)
- *summary* had a regression and showed some descriptive texts twice.
# 3.2.45 (2021-10-31) #
This release contains contributions from (alphabetically by first name):
- Evan James (new contributor, welcome!)
## Core ##
- New internal convenience functions from Evan
## Modules ##
- *packagechooser* now displays screenshots nicely-scaled
rather than jagged. (#1807)
- *partition* module removes ZFS partitions directly. At install-time,
we think that the partitions should be handled separately from a
zpool that potentially includes those partitions. (Thanks Evan)
- *services-systemd* supports timers, e.g. for weekly trim on SSDs.
(Thanks Evan)
# 3.2.44.3 (2021-10-04) #
This is not a hotfix release, but a tiny-tiny incremental improvement
that fixes one hugely annoying -- user-facing message presenting
bytes as mebibytes -- bug in the partition module.
## Modules ##
- The *partition* module now consistently uses the configured EFI
partition size (defaults to 300MiB).
- Internal changes in the *summary* module to increase consistency
between *summary* and *summaryq*.
# 3.2.44.2 (2021-09-27) #
This release contains contributions from (alphabetically by first name):
- Corey Lang (new contributor, welcome!)
This is a hotfix for a typo -- not a syntax error -- that affects the
*networkcfg* module. Reported and fixed by Corey.
# 3.2.44.1 (2021-09-24) #
This release contains contributions from (alphabetically by first name):
- Anke Boersma
This is a hotfix for a typo -- not a syntax error -- that affects the
*initcpiocfg* module. Reported and fixed by Anke.
# 3.2.44 (2021-09-24) #
This release contains contributions from (alphabetically by first name):
- Anke Boersma
- Shrinivas Vishnu Kumbhar (new contributor, welcome!)
- whorfin (new contributor, welcome!)
## Core ##
- "Log spam" has been reduced a little in the partitioning module.
## Modules ##
- *initcpiocfg* has had a number of internal code-fixes, and now adds
the `consolefont` hook by default as well. (Thanks Shrinivas)
- Both *locale* and *keyboard* have received some tweaks for configurations
in India; unless the user selects otherwise, English is preferred.
- The *luksbootkeyfile* module was reported to be too quick to declare
a timeout when applying the keyfile. The timeout has been increased
to one minute. (Thanks whorfin)
- *networkcfg* tries harder to find the live-user login for re-working
networking settings. This fixes a regression on FerenOS, where the
installer was crashing because it could not find the live-user login.
# 3.2.43 (2021-09-17) #
This release contains contributions from (alphabetically by first name):
- Anke Boersma
- Joe Kamprad
## Core ##
- Translations have been made more consistent. In particular, some *OK*,
*Yes*, *No* and *Cancel* buttons that were previously untranslated
or "stuck" in the language that Calamares started in, are now
changed to the current language as selected in the welcome page.
- Documentation improvements from Joe Kamprad. A *sizeLimit* of zero
(which is the default if nothing is set in the branding configuration)
disables log uploads.
## Modules ##
- The *keyboardq* module (QML-based UI for keyboard-layout-selection)
now features an interactive keyboard preview and has the
layout adjusted. (Thanks Anke)
# 3.2.42 (2021-09-06) #
This release contains contributions from (alphabetically by first name):
- Anke Boersma
- Artem Grinev
- Nico 'dr460nf1r3' (new contributor, welcome!)
- Waneon Kim (new contributor, welcome!)
## Core ##
- No core changes yet
## Modules ##
- BTRFS partitions are no longer listed as "check in phase 2" in
the *fstab* module. (Thanks Nico)
- The *keyboard* module (and *keyboardq*) now pick an English layout
(with Rupee) for keyboards when the language is English and locale is India,
rather than Hindi layout.
- The *localeq* module had the i18n.qml rewritten to make it easier
to customize. A bug in the layout has been fixed, and the overall
look has been updated.
- *networkcfg* now translates the "live user" on an ISO to the regular
user on the installed system, so that network configuration changes
made in the live system are automatically used after installation. #1755
- *partition* no longer allows you to delete an extended partition with
children (which led to crashes). #1749 (Thanks Artem)
- *partition* complains in more detail about the state of the UEFI
boot partition (under manual partitioning schemes). #1761
- *welcome* can now check multiple URLs to determine if internet connectivity
is available. It is still recommended to check the distro home-page or
some special "ping" page of the distro, although that has some privacy
implications; using example.com or google.com may work as well. Listing
multiple URLs will ping each of them in turn until one succeeds. #1669
- The work to make a QML version available for all view modules is almost
completed. Two new QML modules have been added *packagechooserq* and *summaryq*.
Summaryq brings the option to present the summary page in a customizable
way, with a bit more of a contemporary look. Packagechooserq adds the option
to preselect an item and displays all options in one overview.
(Thanks Anke)
# 3.2.41.1 (2021-08-05) #
This is a hotfix release for a crash in the *partition* module, reported on
KDE neon. #1746
# 3.2.41 (2021-07-31) #
This release contains contributions from (alphabetically by first name):
- Anke Boersma
- Camilo Higuita
## Core ##
- The (re)translation framework has been internally re-vamped to be
less resource-intensive and to work with all QObjects, not just
widgets. Consumers of the translations framework are expected to
set up the event filter on the top-level widget(s) manually. Since
Calamares and the Calamares-test-applications have been adjusted already,
no further action is needed.
## Modules ##
- When the *keyboard* module is activated, it no longer replaces
an explicit user choice (e.g. for a Belgian layout) by a guessed-for-
this-language layout (e.g. Danish if you're installing in Danish).
- Logic for handling installation lists has been moved around in the
*packages* module so that package managers can, in principle,
adjust how to handle critical and non-critical package lists.
- In the *partition* module, translation code has been simplified.
- The *usersq* module has had a fair bit of QML rewritten to make it easier
to customize the colors used by the module in a consistent way.
(Thanks Anke)
- *Welcome* now uses a translated message from the Config object,
increasing the sharing between widgets- and QML-modules.
# 3.2.40 (2021-07-14) #
This release contains contributions from (alphabetically by first name):
- Anke Boersma
- Anubhav Choudhary (SoK success!)
- Emmanuel Arias (new contributor! welcome!)
- Erik Dubois
- Jerrod Frost (new contributor! welcome!)
- Jia Chao (new contributor! welcome!)
- Joe Kamprad
- Lisa Vitolo (blast from the past!)
- Omer I.S. (new contributor! welcome!)
In project news, chat (instant-messaging) communications has largely
moved to Matrix and Libera.Chat. CI notifications -- issues and build
results -- are sent to Matrix only.
## Core ##
- The CMake modules for consumption by external modules (e.g. the
calamares-extensions repository, but also any other modules built
by distro's for internal use) now support consistent skip-module
behavior and reporting. #1641 (one tiny part of this change)
- In global storage, the *filesystem_use* key now has an API in
libcalamares to systematically mark filesystem (types) as "in use"
or not. This, in turn, means that modules can depend on that information
for other work (e.g. removing drivers for unused filesystems). #1635
- The "upload log file" now has a configurable log-file-size. (Thanks Anubhav)
## Modules ##
- *bootloader* can now install an aarch64 (ARM) compatible EFI GRUB. (Thanks Jia)
- *displaymanager* example configuration has been shuffled around a bit,
for better results when the live image is running XFCE. Also lists
more potential display managers. #1205 (Thanks Erik)
- *keyboard* now switches on an alternate `en_US` keyboard layout when
Arabic or Hebrew is selected as primary layout. (Thanks Omer)
- *localeq* now has a fully functional offline option (alongside the default
interactive map option, which requires internet).
- The *netinstall* module can now fall back to alternative URLs when
loading groups data. The first URL to yield a non-empty groups
collection is accepted. No changes are needed in the configuration. #1673
- *packagechooser* can now integrate with the *packages* module; that
means you can specify package names to install for a given selection,
and the regular package-installation mechanism will take care of it.
Legacy configurations that use *contextualprocess* are still supported.
See the `packagechooser.conf` file for details. #1550
- A long-neglected pull request from Lisa Vitolo for the *partition*
module -- allowing to set filesystem labels during manual partitioning --
has been revived and merged.
- The *partition* manager has had a long-standing bug with partition-flags
and manual partitioning resolved. This may help resolve some installation
issues on UEFI systems. #1724
- *usersq* is further implemented and can now be used for a successful install.
Not all warning messages available in the regular users module are implemented.
# 3.2.39.3 (2021-04-14) #
A minor bugfix tweak release. Since this contains yet **another**
autologin-related fix, and there is nothing large enough to justify
a 3.2.40 release yet, add it to the growing tail of 3.2.39. (Reported
by Joe Kamprad, #1672). Also fixes a regression from 3.2.28 in
localized packages (e.g. *package-LOCALE* did not work).
# 3.2.39.2 (2021-04-02) #
This is **another** hotfix release for issues around autologin ..
autoLogin, really, since the whole problem is that internal capitalization
changed. An unrelated bug in writing /etc/default/keyboard was
also fixed. (Reported by pcrepix, #1668)
# 3.2.39.1 (2021-03-30) #
This hotfix release corrects a regression in the *displaymanager*
module caused by changes in the *users* module; autologin was
internally renamed and no longer recognized by the *displaymanager*
module. (Reported by Erik Dubois, #1665)
# 3.2.39 (2021-03-19) #
This release contains contributions from (alphabetically by first name):
- Matti Hyttinen
## Core ##
- A *packages* service has been added to the core, for use by
*netinstall* module and any others that need to set up
package information for the *packages* module.
## Modules ##
- The *mount* module has gained a configurable setup for btrfs volumes.
If your distro has a default-to-btrfs setup, it can skip the hard-
coded setup (which Calamares has had for a long time with @home
and similar) and introduce a custom btrfs configuration through the
`mount.conf` file. See issues #1659 and #1661 for warnings about
using this in production.
- *netinstall* now supports fallbacks for the groups data.
Instead of a single URL, multiple URLs may be specified in
a list and Calamares goes through them until one is successfully
retrieved. Older configurations with a single string are
treated like a one-item list. #1579
- The *usersq* module now connects to the internal configuration
object and may be usable for regular installations.
# 3.2.38.1 (2021-03-15) #
This hotfix release is for this item in the release notes of 3.2.38:
- The .desktop file for Calamares now makes a longer trip, calling
`sh -c "pkexec calamares"`; distributions may still need to adjust.
The change had been lost while updating other files. It has been restored
in `calamares.desktop` and `calamares.desktop.in`. (Reported by Erik)
Other minor changes and fixes:
- presets in the *users* module show the hostname, too,
- translations update for Korean, Ukranian and Chinese (zh_TW).
# 3.2.38 (2021-03-14) #
This release contains contributions from (alphabetically by first name):
- Anke Boersma
- Anubhav Choudhary
- Neal Gompa
## Core ##
- Uploading your log files (in case of installation failure) has been
expanded and is now more configurable. Users should still take care
when uploading logs, and distro's should configure a URL with
no public viewing of those logs. (Thanks Anubhav)
- The .desktop file for Calamares now makes a longer trip, calling
`sh -c "pkexec calamares"`; distributions may still need to adjust.
## Modules ##
- A new QML-based *finishedq* module has been added. (Thanks Anke)
- The *packages* module no longer supports *urpmi*; no Calamares-
consumers with that package manager seem to exist. (Thanks Neal)
- The *users* module now can set a fixed username and prevent editing.
The *presets* configuration entry in `users.conf` can set a *loginName*
and a *fullName* and (independently) enable or disable editing of
that value. You can, for instance, set *loginName* to "manjaro" if
you like; the user can change it afterwards. You could set the
*loginName* to "oem" and prevent editing it as well. #942
# 3.2.37 (2021-02-23) #
This release contains contributions from (alphabetically by first name):
- benne-dee
## Core ##
- Calamares has a table of 'best guess' languages for each country
and when GeoIP is enabled, it will automatically select that
country's language as default -- the user can of course pick
a different one. The 'best guess' is based on Unicode / ISO
data, which is sometimes dubious. Based on some personal notes,
the 'best guess' language for Belarus has been changed to Russian.
- Calamares has a table of 'best guess' keyboard mappings,
allowing native language input. However, usernames and
passwords should be in US-ASCII (this is a limitation of
the login system -- **some** parts of the system will support
non-ASCII input, but it's better safe than sorry).
Add Greek to the list of languages that needs US-ASCII
in addition to native input.
- The CI infrastructure now builds Calamares and Calamares-extensions
on a nightly basis.
## Modules ##
- The *netinstall* module has a YAML schema, allowing packagers
to validate and verify their netinstall configurations before
shipping an ISO (or writing bug reports). Thanks benne-dee.
- The *finished* module has been heavily refactored, opening
the way to a QML-based version of the same module. This is
also preparatory work for allowing packagers (e.g. PostmarketOS)
to customize the messages on the finished page.
# 3.2.36 (2021-02-03) #
This release contains contributions from (alphabetically by first name):
- Anubhav Choudhary
- benne-dee
- Gaël PORTAY
- Jonas Strassel
- Kevin Kofler
- Matti Hyttinen
- Neal Gompa
## Core ##
- It is now possible to hide the *next* and *back* buttons during
the "exec" phase of installation. Thanks Anubhav.
- The Calamares CI has migrated to GitHub actions. Thanks Jonas.
## Modules ##
- *bootloader* now uses the current file names for the UEFI Secure Boot
shim instead of obsolete ones.
- The *mount* module creates swap in its own subvolume, if btrfs is used.
Thanks Matti.
- *partition* includes more information about what it will do, including
GPT partition types (in human-readable format, if possible). Thanks Gaël.
- Some edge-cases with overlay filesystems have been resolved in the
*partition* module. Thanks Gaël.
- During the creation of filesystems and partitions, automounting is
turned off (if DBus is available, and the host system supports
KDE Solid automount control). This should reduce the number of
failed installations if automount grabs partitions while they are
being created. The code is prepared to handle other ways to control
automount-behavior as well.
# 3.2.35.1 (2020-12-07) #
This release contains contributions from (alphabetically by first name):
- Anubhav Choudhary
- Matti Hyttinen
Some strange string artifacts appeared, leading to `{1?}` being
displayed in various user-facing messages. These have been removed
and the translations updated.
## Modules ##
- The *initcpiocfg* module would sometimes configure the system to ask
for a passphrase, when none is needed.
# 3.2.35 (2020-11-30) #
This release contains contributions from (alphabetically by first name):
- Clarissa Borges
- Matti Hyttinen
A new kind of issue template has been added for Calamares,
for reporting (and adding tests for) usability issues. Thanks
to Clarissa for leading that effort.
## Core ##
- No core changes yet
## Modules ##
- The *partition* module now supports a not-full-disk-encryption setup,
where `/boot` is not encrypted, but the rest of the system is.
- The *plasmalnf* module has been substantially rewritten, so that it
can support a QML version of the module in future. The UI has changed
a little, and now displays more themes than before.
# 3.2.34 (2020-11-16) #
This release contains contributions from (alphabetically by first name):
- Artem Grinev
- Gaël PORTAY
## Core ##
- No core changes yet
## Modules ##
- The *keyboard* module had a regression in which it no-longer painted
the keycaps in the keyboard preview. (reported by Vinnie)
- The *plasmalnf* module did not set all of the look-and-feel values
in the target system. (reported by Bluestar Linux)
- In the *users* module, warnings about the strength of the password
are now correctly pluralized when possible.
- In the *users* module, if ICU is installed, the user's full name is
automatically transliterated to US-ASCII (for some locales; this will
need tweaking) so that the login name is acceptable. (Thanks Artem)
# 3.2.33 (2020-11-09) #
This release contains contributions from (alphabetically by first name):
- Anke Boersma
- Andrius Štikonas
- Artem Grinev
- Gaël PORTAY
- Matti Hyttinen
- TTran Me
## Core ##
- Calamares now sets the C++ standard for compilation to C++17; this
is for better compatibility and fewer warnings when building with
modern KDE Frameworks and KPMcore 4.2.0.
- Vietnamese translations have been added. Welcome! (Thanks TTran)
## Modules ##
- The *initcpiocfg* module should support plymouth with encryption
now. (Thanks Matti)
- The *keyboard* and *keyboardq* modules now share backend code
and handle non-ASCII layouts better (for setting passwords
and usernames). (Thanks Artem)
- Various cleanups and documentation improvements in the *partition*
module, and configurable GPT name for swap. (Thanks Gaël)
- A long-standing bug related to GPT partition flags in the
*partition* module has been resolved. #1327 #1267
- The *users* module now has a more detailed way to specify
user groups -- which may be system groups rather than user-GIDs.
A new option in each group can require that the group already
exists in the target system, allowing for better consistency checks
with the squashfs. #1523
# 3.2.32.1 (2020-10-17) #
This is a release to address source-incompatible changes in KPMcore 4.2.0,
which was released just before Calamares 3.2.32 and had not yet been
compile-tested. There is also one changed message in the translations,
reported by Yuri Chornoivan.
# 3.2.32 (2020-10-16) #
This release contains contributions from (alphabetically by first name):
- Fabian Tomat
- Gaël PORTAY
## Core ##
- When doing GeoIP lookups, Calamares pretends to be Firefox.
This resolves an issue where the GeoIP provider was refusing
QNAM connections with the default User-Agent.
- New translation available, Friulian. Welcome!
## Modules ##
- The *netinstall* module has some tricky configuration files;
it now complains about more cases of bad syntax or poor structure.
- The *partition* module can now be constrained to work only with
a particular kind of partition table. (thanks Gaël)
- The *partition* module is a little more resilient to variations
in btrfs notation from os-prober.
- The *shellprocess* module now supports having a different progress
message (other than "Shell Processes Job") through the config file.
# 3.2.31 (2020-10-06) #
This release contains contributions from (alphabetically by first name):
- Corentin Noël
- kadler15 (new contributor! hi!)
## Core ##
- At the start of the *exec* phase, an overview is given of the
various job weights, which allows you to tweak the overall
progress reporting during the installation.
- Problems with running Calamares on a 1-core single CPU have been resolved.
## Modules ##
- The *keyboard* module now recognizes Turkish "F" layout and
will set the vconsole keyboard layout correctly even if xkb
keymaps are not found.
- The *machineid* module, which generates UUIDs for systemd and dbus
and can generate entropy files (filled from `/dev/urandom` in the host
system) now supports more than one entropy file; generate them as needed
(or copy a fixed value to all, depending on *entropy-copy*). Deprecate
*entropy* (which generates a specific output file) as too inflexible.
- In the *partition* module, swap can now be chosen as *file*, which is
**not** create a swap partition, but write a `/swapfile` in the root
directory, 512MiB large, and set that as swap. There is as yet no
"smarts" about the size of the swap file.
- Multiple problems in the *partition* module around partition
sizing have been resolved by Corentin Noël.
- The *preservefiles* module documentation did not match the functionality,
and when used, didn't work right. #1521 (thanks kadler15)
- Progress reporting from the *unpackfs* module has been revamped:
it reports more often now, so that it is more obvious that files
are being transferred even when the percentage progress does not
change.
- The *unpackfs* module now supports a *weight* setting for each
of the unpack entries. For a single entry this does not matter,
but if there are multiple entries it allows tweaking the relative
progress between each entry.
# 3.2.30 (2020-09-03) #
This release contains contributions from (alphabetically by first name):
- Anke Boersma
- Asif Mahmud Shimon
- Manzoor Ahmed Munawar
- Sai Kamal
- Victor Ibragimov
This release has two giant source-code changes that have no effect
on functionality, but do touch each and every source file:
- SPDX headers for licensing information, following the standard
set by REUSE.software ; all source files and resources have
SPDX-License-Identifier information and copyright notices. All
of the boilerplate texts have been removed.
- Calamares coding style has been mechanically applied to the entire
codebase. This was already done to most of it, but there were
some hold-outs.
## Core ##
- Network access status is deprecated in Qt 5.15's QNetworkAccessManager,
and was not useful already in some previous versions. Replace its
use in the Calamares network service by testing-it-ourself directly
via a synchronous ping. (Thanks to Asif)
- New Telugu translation. (Thanks to Sai)
- Urdu translation started. (Thanks to Manzoor)
- Timezones translated in Tajik and Russian. (Thanks to Victor)
## Modules ##
- *keyboardq* and *localeq* improvements. (Thanks to Anke)
- *users* module did not set up autologin properly. This is yet another
regression left over from 3.2.28. (Reported by Phil and pcrepix, #1498)
- *welcome* module now sets the *LANG* key in the locale configuration
(which is shared with the *locale* module and consumed by the
*localecfg* module). This makes it feasible to drop the *locale*
module and still set the installed system's language to the language
selected in Calamares. (Reported by FerenOS)
# 3.2.29 (2020-08-20) #
This release contains contributions from (alphabetically by first name):
- Asif Mahmud Shimon (new contributor! hi!)
## Core ##
- Edge case in extracting string-lists from YAML, reported and fixed
by Asif (#1491).
- Progress reporting is now more flexible. Modules can have a weight
assigned to them in the descriptor; module instances can have a weight
assigned which overrides the module descriptor. When jobs are run
for a module instance, the jobs report progress pro-rated by the
module's weight. Or in other words, it is now possible to tweak
the amount of the overall progress bar that different modules fill.
The default settings give unpackfs a weight of 12. (#1176)
## Modules ##
- The *users* module did not read the *defaultGroups* correctly.
Fixed by the string-lists change mentioned above.
# 3.2.28.3 (2020-08-18) #
Another hotfix, for more issues reported by Marco Obaid. Users
were not having a password set (#1489)

View File

@@ -1,20 +1,15 @@
# === This file is part of Calamares - <https://github.com/calamares> ===
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-License-Identifier: BSD-2-Clause
#
# 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.
# Calamares is Free Software: see the License-Identifier above.
#
# You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>.
# Individual files may have different licenses (like the CMake
# infrastructure, which is BSD-2-Clause licensed). Check the SPDX
# identifiers in each file.
#
###
#
@@ -46,10 +41,14 @@
# TODO:3.3: Require CMake 3.12
cmake_minimum_required( VERSION 3.3 FATAL_ERROR )
project( CALAMARES
VERSION 3.2.28.3
LANGUAGES C CXX )
VERSION 3.2.56
LANGUAGES C CXX
)
set( CALAMARES_VERSION_RC 0 ) # Set to 0 during release cycle, 1 during development
if( CALAMARES_VERSION_RC EQUAL 1 AND CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR )
message( FATAL_ERROR "Do not build development versions in the source-directory." )
endif()
### OPTIONS
#
@@ -76,7 +75,7 @@ option( BUILD_SCHEMA_TESTING "Enable schema-validation-tests" ON )
# - DEBUG_FILESYSTEMS does extra logging and checking when looking at
# partition configuration. Lists known KPMCore FS types.
# - DEBUG_PARTITION_UNSAFE (see partition/CMakeLists.txt)
# - DEBUG_PARTITION_LAME (see partition/CMakeLists.txt)
# - DEBUG_PARTITION_BAIL_OUT (see partition/CMakeLists.txt)
### USE_*
@@ -96,22 +95,13 @@ option( BUILD_SCHEMA_TESTING "Enable schema-validation-tests" ON )
#
# To explicitly disable a set of modules, set USE_<foo>=none
# (e.g. the literal string none), which won't match any of the
# modules but is handled specially. This is the default for
# USE_os, which are modules for specialty non-Linux distributions.
# modules but is handled specially.
#
# The following USE_* functionalities are available:
# - *services* picks one of the two service-configuration modules,
# for either systemd or openrc. This defaults to empty so that
# **both** modules are available.
# - *os* picks an OS-specific module for things-that-are-not-Linux.
# It is generally discouraged to use this unless your distro is
# completely unable to use standard Linux tools for configuration.
# This defaults to *none* so that nothing gets picked up and nothing
# is packaged -- you must explicitly set it to empty to get all of
# the modules, but that hardly makes sense. Note, too that there
# are currently no os-* modules shipped with Calamares.
set( USE_services "" CACHE STRING "Select the services module to use" )
set( USE_os "none" CACHE STRING "Select the OS-specific module to include" )
### Calamares application info
#
@@ -137,22 +127,21 @@ set( CALAMARES_DESCRIPTION_SUMMARY
# by the translation framework. Languages with alternate scripts
# (sr@latin in particular) may need special handling in CalamaresUtils.cpp.
#
# TODO: drop the es_ES translation from Transifex
#
# NOTE: move eo (Esperanto) to _ok once Qt can actually create a
# locale for it. (Qt 5.12.2 can, see Translation Status section).
# NOTE: move ie (Interlingue) to _ok once Qt supports it.
# NOTE: update these lines by running `txstats.py`, or for full automation
# `txstats.py -e`. See also
#
# Total 68 languages
set( _tx_complete ca fi_FI he hr nl pt_BR sq tg tr_TR uk zh_TW )
set( _tx_good as ast az az_AZ be cs_CZ da de es fr hi hu it_IT ja
ko lt ml pt_PT ru sk sv zh_CN )
set( _tx_ok ar bg el en_GB es_MX es_PR et eu fa gl id is mr nb
# Total 74 languages
set( _tx_complete az az_AZ ca es fi_FI he hi hr ja lt pt_BR pt_PT
sq sv uk zh_TW )
set( _tx_good as be ca@valencia cs_CZ da de fa fr fur it_IT ko ml
nl ru si sk tg tr_TR vi zh_CN )
set( _tx_ok ar ast bg bn el en_GB es_MX et eu gl hu id is mr nb oc
pl ro sl sr sr@latin th )
set( _tx_incomplete bn ca@valencia eo fr_CH gu ie kk kn lo lv mk ne_NP
ur uz )
set( _tx_incomplete eo es_PR gu ie ja-Hira kk kn lo lv mk ne_NP
ta_IN te ur zh zh_HK )
### Required versions
#
@@ -195,23 +184,30 @@ include( CMakeColors )
### C++ SETUP
#
set( CMAKE_CXX_STANDARD 14 )
set( CMAKE_CXX_STANDARD 17 )
set( CMAKE_CXX_STANDARD_REQUIRED ON )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror=return-type" )
set( CMAKE_CXX_FLAGS_DEBUG "-Og -g ${CMAKE_CXX_FLAGS_DEBUG}" )
set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
set( CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" )
set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g" )
set( CMAKE_C_STANDARD 99 )
set( CMAKE_C_STANDARD_REQUIRED ON )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" )
set( CMAKE_C_FLAGS_DEBUG "-Og -g" )
set( CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
set( CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG" )
set( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g" )
set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined -Wl,--fatal-warnings" )
if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
message( STATUS "Found Clang ${CMAKE_CXX_COMPILER_VERSION}, setting up Clang-specific compiler flags." )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" )
set( CMAKE_C_FLAGS_DEBUG "-g" )
set( CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
set( CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG" )
set( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g" )
# Clang warnings: doing *everything* is counter-productive, since it warns
# about things which we can't fix (e.g. C++98 incompatibilities, but
# Calamares is C++14).
# Calamares is C++17).
foreach( CLANG_WARNINGS
-Weverything
-Wno-c++98-compat
@@ -223,40 +219,30 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
-Wno-missing-prototypes
-Wno-documentation-unknown-command
-Wno-unknown-warning-option
-Werror=return-type
)
string( APPEND CMAKE_CXX_FLAGS " ${CLANG_WARNINGS}" )
endforeach()
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNOTREACHED='//' -DFALLTHRU='[[clang::fallthrough]]'")
# The dwarf-debugging flags are slightly different, too
string( APPEND CMAKE_CXX_FLAGS_DEBUG " -gdwarf" )
string( APPEND CMAKE_C_FLAGS_DEBUG " -gdwarf" )
# Third-party code where we don't care so much about compiler warnings
# (because it's uncomfortable to patch) get different flags; use
# mark_thirdparty_code( <file> [<file>...] )
# 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 ${CMAKE_CXX_FLAGS_DEBUG}" )
set( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
set( CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" )
set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g" )
set( CMAKE_TOOLCHAIN_PREFIX "llvm-" )
set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" )
# The path prefix is only relevant for CMake 3.16 and later, fixes #1286
set( CMAKE_AUTOMOC_PATH_PREFIX OFF )
set( CALAMARES_AUTOMOC_OPTIONS "-butils/moc-warnings.h" )
set( CALAMARES_AUTOUIC_OPTIONS --include utils/moc-warnings.h )
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( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Woverloaded-virtual" )
set( SUPPRESS_3RDPARTY_WARNINGS "" )
set( SUPPRESS_BOOST_WARNINGS "" )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNOTREACHED='__builtin_unreachable();' -DFALLTHRU='/* */'" )
endif()
# Use mark_thirdparty_code() to reduce warnings from the compiler
@@ -419,7 +405,10 @@ set(Calamares_WITH_QML ${WITH_QML})
### Transifex Translation status
#
# Construct language lists for use.
# Construct language lists for use. This massages the language lists
# for use with older Qt (which does not support Esperanto) and checks
# for some obvious error. The actual work of compiling translations
# is done in the lang/ directory.
#
if( Qt5_VERSION VERSION_GREATER 5.12.1 )
# At least Qt 5.12.2 seems to support Esperanto in QLocale
@@ -515,9 +504,6 @@ if( CALAMARES_VERSION_TWEAK )
set( CALAMARES_VERSION "${CALAMARES_VERSION}.${CALAMARES_VERSION_TWEAK}" )
endif()
set( CALAMARES_VERSION_SHORT "${CALAMARES_VERSION}" )
if( CALAMARES_VERSION_RC )
set( CALAMARES_VERSION ${CALAMARES_VERSION}rc${CALAMARES_VERSION_RC} )
endif()
# Additional info for non-release builds. The "extended" version information
# with date and git information (commit, dirty status) is used only
@@ -525,16 +511,8 @@ endif()
# version number with all that information; normal consumers can include
# CalamaresVersion.h with more stable numbers.
if( NOT BUILD_RELEASE AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git/" )
include( CMakeDateStamp )
set( CALAMARES_VERSION_DATE "${CMAKE_DATESTAMP_YEAR}${CMAKE_DATESTAMP_MONTH}${CMAKE_DATESTAMP_DAY}" )
if( CALAMARES_VERSION_DATE GREATER 0 )
set( CALAMARES_VERSION ${CALAMARES_VERSION}.${CALAMARES_VERSION_DATE} )
endif()
include( CMakeVersionSource )
if( CMAKE_VERSION_SOURCE )
set( CALAMARES_VERSION ${CALAMARES_VERSION}-${CMAKE_VERSION_SOURCE} )
endif()
include( ExtendedVersion )
extend_version( "${CALAMARES_VERSION}" OFF CALAMARES_VERSION_SHORT CALAMARES_VERSION )
endif()
# Special target for not-RC (e.g. might-be-release) builds.
@@ -621,6 +599,7 @@ install(
"CMakeModules/CalamaresAddTest.cmake"
"CMakeModules/CalamaresAddTranslations.cmake"
"CMakeModules/CalamaresAutomoc.cmake"
"CMakeModules/CalamaresCheckModuleSelection.cmake"
"CMakeModules/CMakeColors.cmake"
"CMakeModules/FindYAMLCPP.cmake"
DESTINATION
@@ -697,3 +676,16 @@ feature_summary(
DESCRIPTION "The following REQUIRED packages were not found:"
QUIET_ON_EMPTY
)
### PACKAGING
#
# Note: most distro's will do distro-specific packaging rather than
# using CPack, and this duplicates information in the AppStream, too.
# TODO:3.3 With newer CMake, move HOMEPAGE_URL to the project()call
set(CPACK_PACKAGE_VENDOR calamares)
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A Linux system installer")
set(CPACK_PACKAGE_DESCRIPTION "Calamares is a Linux system installer, intended for Linux distributions to use on their ISOs and other bootable media to install the distribution to the end-user's computer. Calamares can also be used as an OEM configuration tool. It is modular, extensible and highly-configurable for Linux distributions from all five major Linux families.")
set(CPACK_PACKAGE_HOMEPAGE_URL "https://calamares.io")
set(CPACK_PACKAGE_ICON "data/images/squid.png")
include(CPack)

View File

@@ -1,3 +1,17 @@
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2014 Aurélien Gâteau <agateau@kde.org>
# SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
# SPDX-FileCopyrightText: 2019 Kevin Kofler <kevin.kofler@chello.at>
# SPDX-License-Identifier: BSD-2-Clause
#
###
#
# Handles the mess that Boost::Python is before CMake 3.16 and
# Boost 1.70 or so.
#
###
#
# On Ubuntu 14.04, the libboost-python1.54-dev package comes with one library
# for each Python version:
# libboost_python-py27.so
@@ -68,7 +82,7 @@ macro( find_boost_python3 boost_version python_version found_var )
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} )

View File

@@ -1,3 +1,14 @@
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2014 Kevin Kofler <kevin.kofler@chello.at>
# SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
###
#
# Defines a handful of strings that, with normal xterm handling,
# will change colors in the output, so it's nicer to read.
if(NOT WIN32)
set(_use_color ON)
if("0" STREQUAL "$ENV{CLICOLOR}")

View File

@@ -1,23 +0,0 @@
find_program(DATE_EXECUTABLE NAMES date)
mark_as_advanced(DATE_EXECUTABLE)
if(DATE_EXECUTABLE)
execute_process(
COMMAND ${DATE_EXECUTABLE} +%Y
OUTPUT_VARIABLE CMAKE_DATESTAMP_YEAR
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
execute_process(
COMMAND ${DATE_EXECUTABLE} +%m
OUTPUT_VARIABLE CMAKE_DATESTAMP_MONTH
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
execute_process(
COMMAND ${DATE_EXECUTABLE} +%d
OUTPUT_VARIABLE CMAKE_DATESTAMP_DAY
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
endif()

View File

@@ -1,45 +0,0 @@
# Try to identify the current development source version.
set(CMAKE_VERSION_SOURCE "")
if(EXISTS ${CMAKE_SOURCE_DIR}/.git/HEAD)
find_program(GIT_EXECUTABLE NAMES git git.cmd)
mark_as_advanced(GIT_EXECUTABLE)
if(GIT_EXECUTABLE)
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --verify -q --short=7 HEAD
OUTPUT_VARIABLE head
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
if(head)
set(branch "")
execute_process(
COMMAND ${GIT_EXECUTABLE} name-rev HEAD
OUTPUT_VARIABLE branch
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
string(REGEX REPLACE "HEAD " "" branch "${branch}")
set(CMAKE_VERSION_SOURCE "git-${branch}-${head}")
execute_process(
COMMAND ${GIT_EXECUTABLE} update-index -q --refresh
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
execute_process(
COMMAND ${GIT_EXECUTABLE} diff-index --name-only HEAD --
OUTPUT_VARIABLE dirty
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
if(dirty)
set(CMAKE_VERSION_SOURCE "${CMAKE_VERSION_SOURCE}-dirty")
endif()
endif()
endif()
elseif(EXISTS ${CMAKE_SOURCE_DIR}/CVS/Repository)
file(READ ${CMAKE_SOURCE_DIR}/CVS/Repository repo)
set(branch "")
if("${repo}" MATCHES "\\.git/")
string(REGEX REPLACE ".*\\.git/([^\r\n]*).*" "-\\1" branch "${repo}")
endif()
set(CMAKE_VERSION_SOURCE "cvs${branch}")
endif()

View File

@@ -1,20 +1,11 @@
# === This file is part of Calamares - <https://github.com/calamares> ===
# === This file is part of Calamares - <https://calamares.io> ===
#
# 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.
# SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# 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.
# Calamares is Free Software: see the License-Identifier above.
#
# You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE
#
###
#

View File

@@ -1,20 +1,11 @@
# === This file is part of Calamares - <https://github.com/calamares> ===
# === This file is part of Calamares - <https://calamares.io> ===
#
# 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.
# SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# 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.
# Calamares is Free Software: see the License-Identifier above.
#
# You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE
#
###
#

View File

@@ -1,53 +1,94 @@
# === This file is part of Calamares - <https://github.com/calamares> ===
# === This file is part of Calamares - <https://calamares.io> ===
#
# 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.
# SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# 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.
# Calamares is Free Software: see the License-Identifier above.
#
# You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE
#
###
#
# Function and support code for adding a Calamares module (either a Qt / C++ plugin,
# or a Python module, or whatever) to the build.
#
# # Usage
#
# The public API is one single function:
#
# - calamares_add_module_subdirectory(subdirectory [skiplistvar])
# Adds a given *subdirectory* to the modules list, building the
# module that is there. The *subdirectory* must contain a `module.desc`
# (generally non-C++ modules) or a `CMakeLists.txt` (for C++ modules,
# or special cases). The module is assumed to be named after the
# (last component of) the subdirectory.
#
# If the module would be skipped (by the global SKIP_MODULES setting
# or a USE_* setting) or the module itself sets a reason to skip
# via the calamares_skip_module() function, the module is added to
# the list of skipped-modules in *skiplistvar*. If no variable is
# given, the reason is set in the parent scope variable
# SKIPPED_MODULES . Do **not** use SKIPPED_MODULES as the name of
# *skiplistvar*, things will get weird.
#
# Do note that the name of a module must be the same as the name of
# the directory containing it (as documented in src/modules/README.md).
# This applies to both C++ and Python modules, and allows the use of
# the subdirectory as a proxy for the module name inside.
#
include( CalamaresAddTranslations )
include( CalamaresCheckModuleSelection )
set( MODULE_DATA_DESTINATION share/calamares/modules )
# Convenience function to indicate that a module has been skipped
# (optionally also why). Call this in the module's CMakeLists.txt
macro( calamares_skip_module )
set( SKIPPED_MODULES ${SKIPPED_MODULES} ${ARGV} PARENT_SCOPE )
endmacro()
# We look for Pylint (just once) so that unittests can be added that
# check the syntax / variables of Python modules. This should help
# avoid more typo's-in-releases.
if(BUILD_TESTING AND NOT PYLINT_COMMAND_SEARCHED)
set(PYLINT_COMMAND_SEARCHED TRUE)
find_program(
PYLINT_COMMAND
NAMES pylint3 pylint
PATHS $ENV{HOME}/.local/bin
)
endif()
function( calamares_explain_skipped_modules )
if ( ARGN )
message( "${ColorReset}-- Skipped modules:" )
foreach( SUBDIRECTORY ${ARGN} )
message( "${ColorReset}-- Skipped ${BoldRed}${SUBDIRECTORY}${ColorReset}." )
endforeach()
message( "" )
endif()
endfunction()
function( calamares_add_module_subdirectory )
function( _calamares_add_module_subdirectory_impl )
set( SUBDIRECTORY ${ARGV0} )
set( SKIPPED_MODULES )
# Set SKIPPED_MODULES here, so CMake-based modules have a
# parent scope to set it in; this function, in turn sets it
# in **its** parent scope.
set( SKIPPED_MODULES "" )
set( MODULE_CONFIG_FILES "" )
# The module subdirectory may be given as a/b/c, but the module
# needs to be installed as "c", so we split off any intermediate
# directories.
#
# Compute _modulename (the last directory name) and _mod_dir
# (the full path to the module sources).
get_filename_component(_dirname "${SUBDIRECTORY}" DIRECTORY)
if( _dirname )
# Remove the dirname and any leftover leading /s
string( REGEX REPLACE "^${_dirname}/*" "" _modulename "${SUBDIRECTORY}" )
else()
set( _modulename ${SUBDIRECTORY} )
endif()
# Strip any remaining /
string( REGEX REPLACE "/" "" _modulename "${_modulename}" )
set( _mod_dir "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIRECTORY}" )
# Skip list check applies to all kinds of modules
calamares_check_skip( ${_modulename} SKIPPED_MODULES )
if ( SKIPPED_MODULES )
# If it's skipped by infrastucture, the message already includes the module
# name. We don't need to do any further checking.
set( SKIPPED_MODULES "${SKIPPED_MODULES}" PARENT_SCOPE )
return()
endif()
# If this subdirectory has a CMakeLists.txt, we add_subdirectory it...
if( EXISTS "${_mod_dir}/CMakeLists.txt" )
add_subdirectory( ${SUBDIRECTORY} )
@@ -57,21 +98,21 @@ function( calamares_add_module_subdirectory )
if ( SKIPPED_MODULES )
set( SKIPPED_MODULES ${SKIPPED_MODULES} PARENT_SCOPE )
set( MODULE_CONFIG_FILES "" )
else()
# The SKIPPED_MODULES may be set in the directory itself
get_directory_property( _skip DIRECTORY ${SUBDIRECTORY} DEFINITION SKIPPED_MODULES )
if ( _skip )
set( SKIPPED_MODULES ${_skip} PARENT_SCOPE )
set( MODULE_CONFIG_FILES "" )
endif()
endif()
if ( SKIPPED_MODULES )
return()
endif()
# ...otherwise, we look for a module.desc.
elseif( EXISTS "${_mod_dir}/module.desc" )
set( MODULES_DIR ${CMAKE_INSTALL_LIBDIR}/calamares/modules )
# The module subdirectory may be given as a/b/c, but the module
# needs to be installed as "c", so we split off any intermediate
# directories.
get_filename_component(_dirname "${SUBDIRECTORY}" DIRECTORY)
if( _dirname )
# Remove the dirname and any leftover leading /s
string( REGEX REPLACE "^${_dirname}/*" "" _modulename "${SUBDIRECTORY}" )
set( MODULE_DESTINATION ${MODULES_DIR}/${_modulename} )
else()
set( MODULE_DESTINATION ${MODULES_DIR}/${SUBDIRECTORY} )
endif()
set( MODULE_DESTINATION ${MODULES_DIR}/${_modulename} )
# Read module.desc, check that the interface type is supported.
#
@@ -123,7 +164,7 @@ function( calamares_add_module_subdirectory )
endif()
endforeach()
message( "-- ${BoldYellow}Found ${CALAMARES_APPLICATION_NAME} module: ${BoldRed}${SUBDIRECTORY}${ColorReset}" )
message( "-- ${BoldYellow}Found ${CALAMARES_APPLICATION_NAME} module: ${BoldRed}${_modulename}${ColorReset}" )
message( " ${Green}TYPE:${ColorReset} jobmodule" )
message( " ${Green}MODULE_DESTINATION:${ColorReset} ${MODULE_DESTINATION}" )
if( MODULE_CONFIG_FILES )
@@ -168,7 +209,9 @@ function( calamares_add_module_subdirectory )
endforeach()
endif()
# Check that the module can be loaded. Since this calls exec(), the module
# Adding general tests
#
# Add a check that the module can be loaded. Since this calls exec(), the module
# may try to do things to the running system. Needs work to make that a
# safe thing to do.
#
@@ -210,5 +253,34 @@ function( calamares_add_module_subdirectory )
if ( EXISTS ${_testdir}/CMakeTests.txt AND NOT EXISTS ${_mod_dir}/CMakeLists.txt )
include( ${_testdir}/CMakeTests.txt )
endif()
if ( PYLINT_COMMAND AND MODULE_INTERFACE MATCHES "python" )
# Python modules get an additional test via pylint; this
# needs to run at top-level because the ci/libcalamares directory
# contains API stubs.
#
# TODO: the entry point is assumed to be `main.py`, but that is
# configurable through module.desc
add_test(
NAME lint-${SUBDIRECTORY}
COMMAND env PYTHONPATH=ci: ${PYLINT_COMMAND} -E ${_mod_dir}/main.py
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
endif()
endif()
endfunction()
function( calamares_add_module_subdirectory )
set( SUBDIRECTORY ${ARGV0} )
set( _ams_SKIP_LIST ${ARGV1} )
set( SKIPPED_MODULES "" )
_calamares_add_module_subdirectory_impl( ${SUBDIRECTORY} )
if ( SKIPPED_MODULES )
if ( _ams_SKIP_LIST )
list( APPEND ${_ams_SKIP_LIST} "${SKIPPED_MODULES}" )
set( ${_ams_SKIP_LIST} "${${_ams_SKIP_LIST}}" PARENT_SCOPE )
else()
set( SKIPPED_MODULES "${SKIPPED_MODULES}" PARENT_SCOPE )
endif()
endif()
endfunction()

View File

@@ -1,20 +1,11 @@
# === This file is part of Calamares - <https://github.com/calamares> ===
# === This file is part of Calamares - <https://calamares.io> ===
#
# 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.
# SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# 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.
# Calamares is Free Software: see the License-Identifier above.
#
# You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE
#
###
#
@@ -41,6 +32,7 @@
# [NO_CONFIG]
# [SHARED_LIB]
# [EMERGENCY]
# [WEIGHT w]
# )
#
# Function parameters:
@@ -63,17 +55,28 @@
# - EMERGENCY
# If this is set, the module is marked as an *emergency* module in the
# descriptor. See *Emergency Modules* in the module documentation.
# - WEIGHT
# If this is set, writes an explicit weight into the module.desc;
# module weights are used in progress reporting.
#
#
# This function follows the global SKIP_MODULES and USE_* settings, so
# a plugin may be skipped -- then nothing will be built. In that case,
# SKIPPED_MODULES is set in the parent (i.e. caller's) scope with the
# reason why. This should rarely be a concern as AddModuleSubdirectory
# already handles skip-reasons and collects them for reporting.
include( CMakeParseArguments )
include( CalamaresAddLibrary )
include( CalamaresCheckModuleSelection )
include( CMakeColors )
function( calamares_add_plugin )
# parse arguments ( name needs to be saved before passing ARGN into the macro )
set( NAME ${ARGV0} )
set( options NO_CONFIG NO_INSTALL SHARED_LIB EMERGENCY )
set( oneValueArgs NAME TYPE EXPORT_MACRO RESOURCES )
set( oneValueArgs NAME TYPE EXPORT_MACRO RESOURCES WEIGHT )
set( multiValueArgs SOURCES UI LINK_LIBRARIES LINK_PRIVATE_LIBRARIES COMPILE_DEFINITIONS REQUIRES )
cmake_parse_arguments( PLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
set( PLUGIN_NAME ${NAME} )
@@ -85,6 +88,12 @@ function( calamares_add_plugin )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" )
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" )
calamares_check_skip( ${NAME} _skip)
if ( _skip )
set( SKIPPED_MODULES "${_skip}" PARENT_SCOPE )
return()
endif()
message( "-- ${BoldYellow}Found ${CALAMARES_APPLICATION_NAME} module: ${BoldRed}${PLUGIN_NAME}${ColorReset}" )
message( " ${Green}TYPE:${ColorReset} ${PLUGIN_TYPE}" )
message( " ${Green}LINK_LIBRARIES:${ColorReset} ${PLUGIN_LINK_LIBRARIES}" )
@@ -117,6 +126,15 @@ function( calamares_add_plugin )
# create target name once for convenience
set( target "calamares_${PLUGIN_TYPE}_${PLUGIN_NAME}" )
# automatic library linkage
if(PLUGIN_TYPE STREQUAL "view" OR PLUGIN_TYPE STREQUAL "viewmodule")
list(APPEND PLUGIN_LINK_PRIVATE_LIBRARIES Calamares::calamaresui)
elseif(PLUGIN_TYPE STREQUAL "job")
list(APPEND PLUGIN_LINK_PRIVATE_LIBRARIES Calamares::calamares)
else()
message(FATAL_ERROR "Unknown plugin type ${PLUGIN_TYPE}")
endif()
# determine target type
if( NOT ${PLUGIN_SHARED_LIB} )
set( target_type "MODULE" )
@@ -181,6 +199,9 @@ function( calamares_add_plugin )
if ( PLUGIN_NO_CONFIG )
file( APPEND ${_file} "noconfig: true\n" )
endif()
if ( PLUGIN_WEIGHT )
file( APPEND ${_file} "weight: ${PLUGIN_WEIGHT}\n" )
endif()
endif()
if ( NOT PLUGIN_NO_INSTALL )

View File

@@ -1,20 +1,10 @@
# === This file is part of Calamares - <https://github.com/calamares> ===
# === This file is part of Calamares - <https://calamares.io> ===
#
# 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.
# SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# 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.
# Calamares is Free Software: see the License-Identifier above.
#
# You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE
#
###
#
@@ -24,6 +14,7 @@
# calamares_add_test(
# <NAME>
# [GUI]
# [RESOURCES FILE]
# SOURCES <FILE..>
# )
@@ -34,25 +25,31 @@ function( calamares_add_test )
# parse arguments (name needs to be saved before passing ARGN into the macro)
set( NAME ${ARGV0} )
set( options GUI )
set( oneValueArgs NAME RESOURCES )
set( multiValueArgs SOURCES LIBRARIES DEFINITIONS )
cmake_parse_arguments( TEST "${options}" "" "${multiValueArgs}" ${ARGN} )
cmake_parse_arguments( TEST "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
set( TEST_NAME ${NAME} )
if( ECM_FOUND AND BUILD_TESTING )
ecm_add_test(
${TEST_SOURCES}
${TEST_SOURCES} ${TEST_RESOURCES}
TEST_NAME
${TEST_NAME}
LINK_LIBRARIES
calamares
Calamares::calamares
${TEST_LIBRARIES}
Qt5::Core
Qt5::Test
)
calamares_automoc( ${TEST_NAME} )
# We specifically pass in the source directory of the test-being-
# compiled, so that it can find test-files in that source dir.
target_compile_definitions( ${TEST_NAME} PRIVATE -DBUILD_AS_TEST="${CMAKE_CURRENT_SOURCE_DIR}" ${TEST_DEFINITIONS} )
if( TEST_GUI )
target_link_libraries( ${TEST_NAME} calamaresui Qt5::Gui )
target_link_libraries( ${TEST_NAME} Calamares::calamaresui Qt5::Gui )
endif()
if( TEST_RESOURCES )
calamares_autorcc( ${TEST_NAME} ${TEST_RESOURCES} )
endif()
endif()
endfunction()

View File

@@ -1,20 +1,10 @@
# === This file is part of Calamares - <https://github.com/calamares> ===
# === This file is part of Calamares - <https://calamares.io> ===
#
# 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.
# SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# 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.
# Calamares is Free Software: see the License-Identifier above.
#
# You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE
#
###
#
@@ -22,57 +12,14 @@
include( CMakeParseArguments )
# Internal macro for adding the C++ / Qt translations to the
# build and install tree. Should be called only once, from
# src/calamares/CMakeLists.txt.
macro(add_calamares_translations language)
list( APPEND CALAMARES_LANGUAGES ${ARGV} )
set( calamares_i18n_qrc_content "" )
# calamares and qt language files
foreach( lang ${CALAMARES_LANGUAGES} )
foreach( tlsource "calamares_${lang}" "tz_${lang}" )
if( EXISTS "${CMAKE_SOURCE_DIR}/lang/${tlsource}.ts" )
set( calamares_i18n_qrc_content "${calamares_i18n_qrc_content}<file>${tlsource}.qm</file>\n" )
list( APPEND TS_FILES "${CMAKE_SOURCE_DIR}/lang/${tlsource}.ts" )
endif()
endforeach()
endforeach()
set( trans_file calamares_i18n )
set( trans_infile ${CMAKE_CURRENT_BINARY_DIR}/${trans_file}.qrc )
set( trans_outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${trans_file}.cxx )
configure_file( ${CMAKE_SOURCE_DIR}/lang/calamares_i18n.qrc.in ${trans_infile} @ONLY )
qt5_add_translation(QM_FILES ${TS_FILES})
# Run the resource compiler (rcc_options should already be set)
add_custom_command(
OUTPUT ${trans_outfile}
COMMAND "${Qt5Core_RCC_EXECUTABLE}"
ARGS ${rcc_options} --format-version 1 -name ${trans_file} -o ${trans_outfile} ${trans_infile}
MAIN_DEPENDENCY ${trans_infile}
DEPENDS ${QM_FILES}
)
endmacro()
# Internal macro for Python translations
#
# Translations of the Python modules that don't have their own
# lang/ subdirectories -- these are collected in top-level
# lang/python/<lang>/LC_MESSAGES/python.mo
macro(add_calamares_python_translations language)
set( CALAMARES_LANGUAGES "" )
list( APPEND CALAMARES_LANGUAGES ${ARGV} )
install_calamares_gettext_translations( python
SOURCE_DIR ${CMAKE_SOURCE_DIR}/lang/python
FILENAME python.mo
RENAME calamares-python.mo
)
endmacro()
# The Gettext module is still old-fashioned, ALLCAPS variables
find_package( Gettext )
set_package_properties( GETTEXT PROPERTIES
DESCRIPTION "GNU gettext (translation) tools."
URL "https://www.gnu.org/software/gettext/"
PURPOSE "Gettext is used in the translation of Python modules."
TYPE REQUIRED
)
# Installs a directory containing language-code-labeled subdirectories with
# gettext data into the appropriate system directory. Allows renaming the
@@ -104,31 +51,52 @@ function( install_calamares_gettext_translations )
if( NOT TRANSLATION_RENAME )
set( TRANSLATION_RENAME "${TRANSLATION_FILENAME}" )
endif()
string( REGEX REPLACE ".mo$" ".po" TRANSLATION_SOURCE_FILENAME "${TRANSLATION_FILENAME}" )
message(STATUS "Installing gettext translations for ${TRANSLATION_NAME}")
message(STATUS " Installing ${TRANSLATION_FILENAME} from ${TRANSLATION_SOURCE_DIR}")
if ( GETTEXT_FOUND AND GETTEXT_MSGFMT_EXECUTABLE )
message( STATUS "Installing gettext translations for ${TRANSLATION_NAME}")
message( STATUS " Installing ${TRANSLATION_FILENAME} from ${TRANSLATION_SOURCE_DIR}")
else()
message( WARNING "Gettext translations requested for ${TRANSLATION_NAME}, but gettext was not found." )
return()
endif()
set( TARGET_NAME calamares-gettext-translations-${NAME} )
if( NOT TARGET "${TARGET_NAME}" )
add_custom_target( "${TARGET_NAME}" ALL )
endif()
set( TRANSLATION_NAME "${NAME}" )
set( INSTALLED_TRANSLATIONS "" )
foreach( lang ${CALAMARES_TRANSLATION_LANGUAGES} ) # Global
set( lang_mo "${TRANSLATION_SOURCE_DIR}/${lang}/LC_MESSAGES/${TRANSLATION_FILENAME}" )
string( MAKE_C_IDENTIFIER "${TARGET_NAME}-${lang}" TARGET_SUBNAME )
set( lang_po "${TRANSLATION_SOURCE_DIR}/${lang}/LC_MESSAGES/${TRANSLATION_SOURCE_FILENAME}" )
set( lang_mo_dir "${CMAKE_BINARY_DIR}/lang/${lang}/LC_MESSAGES" )
set( lang_mo "${lang_mo_dir}/${TRANSLATION_RENAME}" )
if( lang STREQUAL "en" )
message( STATUS " Skipping ${TRANSLATION_NAME} translations for en_US" )
else( EXISTS ${lang_mo} )
list( APPEND INSTALLED_LANGUAGES "${lang}" )
else()
# We **don't** use the gettext macro's here because the source
# structure doesn't match: we are calling this once per language
# for all of Calamares's languages, while the gettext module
# expects it to be called once, for a given language source-dir.
#
# Using any of the gettext macros just gets us multiple rules
# for python.gmo, and it wants to use msgmerge, besides, which
# doesn't fit our Transifex workflow.
make_directory( ${lang_mo_dir} )
add_custom_command(
OUTPUT ${lang_mo}
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE}
ARGS -o ${lang_mo} ${lang_po}
MAIN_DEPENDENCY ${lang_po}
)
add_custom_target( "${TARGET_SUBNAME}" DEPENDS ${lang_mo} )
add_dependencies( "${TARGET_NAME}" "${TARGET_SUBNAME}" )
install(
FILES ${lang_mo}
DESTINATION ${CMAKE_INSTALL_LOCALEDIR}/${lang}/LC_MESSAGES/
RENAME ${TRANSLATION_RENAME}
)
# TODO: make translations available in build dir too, for
# translation when running calamares -d from builddir.
set(_build_lc ${CMAKE_BINARY_DIR}/lang/${lang}/LC_MESSAGES/)
file(COPY ${lang_mo} DESTINATION ${_build_lc})
if (NOT TRANSLATION_FILENAME STREQUAL TRANSLATION_RENAME)
file(RENAME ${_build_lc}${TRANSLATION_FILENAME} ${_build_lc}${TRANSLATION_RENAME})
endif()
endif()
endforeach()
endfunction()

View File

@@ -1,20 +1,10 @@
# === This file is part of Calamares - <https://github.com/calamares> ===
# === This file is part of Calamares - <https://calamares.io> ===
#
# 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.
# SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# 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.
# Calamares is Free Software: see the License-Identifier above.
#
# You should have received a copy of the GNU General Public License
# along with Calamares. If not, see <http://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-3.0-or-later
# License-Filename: LICENSE
#
###
#

View File

@@ -0,0 +1,116 @@
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# Calamares is Free Software: see the License-Identifier above.
#
###
#
# This module implements the "skip modules" part of configuring
# the Calamares repository or an external-modules repository.
#
# It should not be necessary to include() this module explicitly,
# since both AddPlugin and AddModuleSubdirectory do so implicitly.
#
#
# # Usage
#
# The public API is two functions:
#
# - calamares_skip_module(reason)
# A C++ module (or any that uses CMake) can call this macro to
# add *reason* to the list of skipped modules. Typically a module
# will pass in "modulename (why)" so that it is clear **which**
# module is skipped. This macro should be called at the top-level
# of a module's CMakeLists.txt and the module should then **not**
# call calamares_add_plugin().
# - calamares_explain_skipped_modules(list...)
# This will print out all the module reasons (see above) that have
# been added to the given *listvar*. When AddModuleSubdirectory is
# used as the mechanism to add all the subdirectories in the repository
# that contain modules, with a consistent *listvar* setting,
# this will show all the modules that have been skipped.
#
# The internal API is one function:
#
# - calamares_check_skip(modulename outvar)
# Checks if the *modulename* has been listed in the global SKIP_MODULES
# variable (to skip specifically-named modules) or if there is a USE_*
# setting applicable to the module. If the module is skipped for this
# reason, a suitable entry is added to *outvar* as if
# calamares_skip_module() had been called.
#
# Best practice is to pick a variable to collect all of the skipped
# modules, and to pass the name of that variable to AddModuleSubdirectory
# in each call. After all subdirectories have been added, call
# calamares_explain_skipped_modules() with the value of that variable.
# Convenience function to indicate that a module has been skipped
# (optionally also why). Call this in the module's CMakeLists.txt
macro( calamares_skip_module )
set( SKIPPED_MODULES ${SKIPPED_MODULES} ${ARGV} PARENT_SCOPE )
endmacro()
function( calamares_explain_skipped_modules )
if ( ARGN )
message( "${ColorReset}-- Skipped modules:" )
foreach( SUBDIRECTORY ${ARGN} )
message( "${ColorReset}-- Skipped ${BoldRed}${SUBDIRECTORY}${ColorReset}." )
endforeach()
message( "" )
endif()
endfunction()
# Globally, SKIP_MODULES and USE_* affect what modules are built.
# Check if *modulename* should be skipped, and if so, set *outvar* to
# a human-readable reason for skipping it.
function( _calamares_check_skip_impl modulename outvar )
# Globally-defined SKIP_MODULES may be space- or semicolon- separated
# so convert it to a list-variable.
string( REPLACE " " ";" SKIP_LIST "${SKIP_MODULES}" )
list( FIND SKIP_LIST "${modulename}" DO_SKIP )
if( NOT DO_SKIP EQUAL -1 )
set( ${outvar} "user request" PARENT_SCOPE )
return()
endif()
# Not skipped by the global check, see if it has an applicable USE_*
if( "${modulename}" MATCHES "^[a-zA-Z0-9_]+-" )
# Split the name into <category>-<implementation>
string( REGEX REPLACE "-.*" "" _category "${modulename}" )
string( REGEX REPLACE "^[^-]+-" "" _implementation "${modulename}" )
else()
# Not a module to which USE_* applies
return()
endif()
if( "${USE_${_category}}" STREQUAL "none" )
set( ${outvar} "category ${_category} disabled" PARENT_SCOPE )
return()
elseif( "${USE_${_category}}" STREQUAL "" )
# Category not set at all or nonexistent
return()
endif()
if ( "${USE_${_category}}" STREQUAL "${_implementation}" )
# Matches, so accept this module
else()
set( ${outvar} "category ${_category} selects ${USE_${_category}}" PARENT_SCOPE )
endif()
endfunction()
# This is the public API;it calls the _impl version so that there
# is an extra intermediate scope for the subdirectory to write results into.
function( calamares_check_skip modulename outvar )
set( _skip "" )
_calamares_check_skip_impl( "${modulename}" _skip )
if ( _skip )
message( "${ColorReset}-- Skipping module ${BoldRed}${modulename} (${_skip})${ColorReset}." )
message( "" )
set( ${outvar} "${modulename} (${_skip})" PARENT_SCOPE )
endif()
endfunction()

View File

@@ -0,0 +1,75 @@
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2021 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
###
#
# This file defines one function for extending a VERSION-like value
# with date and git information (if desired).
#
# - extend_version( version-string short_only short_var long_var )
# Calling this function will copy *version-string* (which would typically
# be a semver-style string, like "3.2.40") into the variable *short_var*.
# If *short_only* is true, then:
# - the short version is also copied into the variable *long_var*,
# If *short_only* is false, then:
# - the *version-string* plus date and git information, is copied
# into the varialbe *long_var*, in the format {version}-{date}-{hash}
#
#
function( get_git_version_info out_var )
set(CMAKE_VERSION_SOURCE "")
if(EXISTS ${CMAKE_SOURCE_DIR}/.git/HEAD)
find_program(GIT_EXECUTABLE NAMES git git.cmd)
mark_as_advanced(GIT_EXECUTABLE)
if(GIT_EXECUTABLE)
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --verify -q --short=8 HEAD
OUTPUT_VARIABLE head
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
if(head)
set(CMAKE_VERSION_SOURCE "${head}")
execute_process(
COMMAND ${GIT_EXECUTABLE} update-index -q --refresh
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
execute_process(
COMMAND ${GIT_EXECUTABLE} diff-index --name-only HEAD --
OUTPUT_VARIABLE dirty
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)
if(dirty)
set(CMAKE_VERSION_SOURCE "${CMAKE_VERSION_SOURCE}-dirty")
endif()
endif()
endif()
endif()
set( ${out_var} "${CMAKE_VERSION_SOURCE}" PARENT_SCOPE )
endfunction()
function( extend_version version short_only short_var long_var )
set( ${short_var} "${version}" PARENT_SCOPE )
set( _v "${version}" )
if ( NOT short_only )
# Additional info for non-release builds which want "long" version info
# with date and git information (commit, dirty status). That is used only
# by CalamaresVersionX.h, which is included by consumers that need a full
# version number with all that information; normal consumers can include
# CalamaresVersion.h with more stable numbers.
string( TIMESTAMP CALAMARES_VERSION_DATE "%Y%m%d" )
if( CALAMARES_VERSION_DATE GREATER 0 )
set( _v ${_v}.${CALAMARES_VERSION_DATE} )
endif()
get_git_version_info( _gitv )
if( _gitv )
set( _v "${_v}-${_gitv}" )
endif()
endif()
set( ${long_var} "${_v}" PARENT_SCOPE )
endfunction()

View File

@@ -1,3 +1,11 @@
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
###
#
# - Find libcrypt
# Find the libcrypt includes and the libcrypt libraries
# This module defines

View File

@@ -1,4 +1,5 @@
# Copyright (C) 2008,2010,2011 by Volker Lanz <vl@fidra.de>
# SPDX-FileCopyrightText: 2008,2010,2011 by Volker Lanz <vl@fidra.de>
# SPDX-License-Identifier: BSD-2-Clause
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -44,7 +45,7 @@ else (LIBPARTED_FS_RESIZE_LIBRARY)
set(LIBPARTED_LIBS ${LIBPARTED_LIBRARY})
endif (LIBPARTED_FS_RESIZE_LIBRARY)
# KDE adds -ansi to the C make flags, parted headers use GNU extensions, so
# KDE adds -ansi to the C make flags, parted headers use GNU extensions, so
# undo that
unset(CMAKE_C_FLAGS)

View File

@@ -1,3 +1,10 @@
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
###
#
# Locate libpwquality
# https://github.com/libpwquality/libpwquality
#

View File

@@ -1,3 +1,11 @@
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2016 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
###
#
# Find PythonQt
#
# Sets PYTHONQT_FOUND, PYTHONQT_INCLUDE_DIR, PYTHONQT_LIBRARY, PYTHONQT_LIBRARIES

View File

@@ -1,3 +1,11 @@
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
###
#
# Locate yaml-cpp
#
# This module defines
@@ -5,7 +13,7 @@
# YAMLCPP_LIBRARY, where to find yaml-cpp
# YAMLCPP_INCLUDE_DIR, where to find yaml.h
# There is also one IMPORTED library target,
# yamlcpp
# yamlcpp::yamlcpp
#
# By default, the dynamic libraries of yaml-cpp will be found. To find the static ones instead,
# you must set the YAMLCPP_STATIC_LIBRARY variable to TRUE before calling find_package(YamlCpp ...).
@@ -13,6 +21,10 @@
# If yaml-cpp is not installed in a standard path, you can use the YAMLCPP_DIR CMake variable
# to tell CMake where yaml-cpp is.
if(TARGET yamlcpp::yamlcpp)
return()
endif()
# attempt to find static library first if this is set
if(YAMLCPP_STATIC_LIBRARY)
set(YAMLCPP_STATIC libyaml-cpp.a)
@@ -53,9 +65,9 @@ mark_as_advanced(YAMLCPP_INCLUDE_DIR YAMLCPP_LIBRARY)
# Add an imported target
if( YAMLCPP_LIBRARY )
add_library( yamlcpp UNKNOWN IMPORTED )
set_property( TARGET yamlcpp PROPERTY IMPORTED_LOCATION ${YAMLCPP_LIBRARY} )
add_library( yamlcpp::yamlcpp UNKNOWN IMPORTED )
set_property( TARGET yamlcpp::yamlcpp PROPERTY IMPORTED_LOCATION ${YAMLCPP_LIBRARY} )
if ( YAMLCPP_INCLUDE_DIR )
set_property( TARGET yamlcpp PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${YAMLCPP_INCLUDE_DIR} )
set_property( TARGET yamlcpp::yamlcpp PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${YAMLCPP_INCLUDE_DIR} )
endif()
endif()

View File

@@ -1,17 +0,0 @@
# Shared CMake core for finding KPMCore
#
# This is wrapped into a CMake include file because there's a bunch of
# pre-requisites that need searching for before looking for KPMCore.
# If you just do find_package( KPMCore ) without finding the things
# it links against first, you get CMake errors.
#
#
find_package(ECM 5.10.0 REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH})
include(KDEInstallDirs)
include(GenerateExportHeader)
find_package( KF5 REQUIRED CoreAddons )
find_package( KF5 REQUIRED Config I18n Service WidgetsAddons )
find_package( KPMcore 3.2 REQUIRED )

View File

@@ -0,0 +1,39 @@
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
###
#
# Finds KPMcore and consistently sets API flags based on the version.
#
if ( NOT KPMcore_searched_for )
set( KPMcore_searched_for TRUE )
find_package( KPMcore 3.3 )
set_package_properties(
KPMcore PROPERTIES
URL "https://invent.kde.org/kde/kpmcore"
DESCRIPTION "KDE Partitioning library"
TYPE RECOMMENDED
PURPOSE "For disk partitioning support"
)
if( KPMcore_FOUND )
set( KPMcore_API_DEFINITIONS "" )
if( KPMcore_VERSION VERSION_GREATER "3.3.70" AND KPMcore_VERSION VERSION_LESS "4.0" )
message( FATAL_ERROR "KPMCore beta versions ${KPMcore_VERSION} not supported" )
endif()
if ( KPMcore_VERSION VERSION_GREATER "3.3.0")
list( APPEND KPMcore_API_DEFINITIONS WITH_KPMCORE331API) # kpmcore > 3.3.0 with deprecations
endif()
if ( KPMcore_VERSION VERSION_GREATER_EQUAL "4.0")
list( APPEND KPMcore_API_DEFINITIONS WITH_KPMCORE4API) # kpmcore 4 with new API
endif()
if( KPMcore_VERSION VERSION_GREATER_EQUAL "4.2" )
list( APPEND KPMcore_API_DEFINITIONS WITH_KPMCORE42API) # kpmcore 4.2 with new API
endif()
else()
set( KPMcore_API_DEFINITIONS WITHOUT_KPMcore )
endif()
endif()

121
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,121 @@
<!-- SPDX-FileCopyrightText: no
SPDX-License-Identifier: CC0-1.0
-->
# Contributing to Calamares
Welcome to Calamares! We're happy that you would like to add
something to Calamares. This contribution guide should help you
get started. The guide is not exhaustive: most of it points
to other documents that you will need.
## Code of Conduct
The Calamares community -- of developers, translators, and downstream (distro) users --
aims to be courteous, professional, and inclusive. Harrassment, discriminatory
statements and abuse are not tolerated. In general, we apply the
[KDE Code of Conduct](https://www.kde.org/code-of-conduct/) and the
[GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct) (the
rules of decent behavior in both communities are pretty much the same).
> See the [CoC section on the wiki](https://github.com/calamares/calamares/wiki#code-of-conduct)
> for a longer text. To report a problem, please contact the maintainer,
> Adriaan de Groot, or the KDE Community Working Group.
## Join the Conversation
GitHub Issues are **one** place for discussing Calamares if there are concrete
problems or a new feature to discuss.
Regular Calamares development chit-chat happens in a [Matrix](https://matrix.org/)
room, `#calamares:kde.org`. The conversation is bridged with IRC
on [Libera.Chat](https://libera.chat/).
Responsiveness is best during the day
in Europe, but feel free to idle. If you use IRC, **DO NOT** ask-and-leave. Keep
that chat window open because it can easily take a few hours for
someone to notice a message.
Matrix is persistent, and we'll see your message eventually.
* [![Join us on Matrix](https://img.shields.io/badge/Matrix-%23calamares:kde.org-blue)](https://webchat.kde.org/#/room/%23calamares:kde.org)
* [![Chat on IRC](https://img.shields.io/badge/IRC-Libera.Chat%20%23calamares-green)](https://kiwiirc.com/client/irc.libera.chat/#calamares)
## General Guidelines
Pull Requests are welcome!
It is often a good idea to start a Pull Request early, with just work-in-progress,
so that the overall approach can be discussed before you put a lot of work
into something. Or file an issue describing what you would like to do.
If you are writing code, stick to the existing coding style and apply
the coding-style tool before you commit. It's not my favorite style,
but at least all of Calamares is consistent and the tool helps it
stay that way.
If you are writing documentation, use *en_US* spelling.
If you are doing cool stuff, let us know (on IRC or through issues).
**Do** fork Calamares to try new things, **don't** keep your fork to
yourself, **do** upstream things as much as you can. When you make cool
new things, it's best for the whole Calamares-using-community
to build new things that are configurable and applicable to other
distributions than your own. So keep other folk in mind. There is
also the [extensions](https://github.com/calamares/calamares-extensions)
repository for somewhat-more-specialized modules and examples.
## Building Calamares
Up to date
[building-Calamares](https://github.com/calamares/calamares/wiki/Develop-Guide)
instructions are on the wiki.
### Dependencies
Main:
* Compiler with C++17 support: GCC >= 7 or Clang >= 5
* CMake >= 3.3
* Qt >= 5.9
* yaml-cpp >= 0.5.1
* Python >= 3.3 (required for some modules)
* Boost.Python >= 1.55.0 (required for some modules)
* KDE extra-cmake-modules >= 5.18 (recommended; required for some modules;
required for some tests)
* KDE Frameworks KCoreAddons (>= 5.58 recommended)
* PythonQt (optional, deprecated)
Individual modules may have their own requirements;
these are listed in CMake output.
Particular requirements (not complete):
* *fsresizer* KPMCore >= 3.3 (>= 4.2 recommended)
* *partition* KPMCore >= 3.3 (>= 4.2 recommended)
* *users* LibPWQuality (optional)
## Configuring and Deploying Calamares
[Deployment](https://github.com/calamares/calamares/wiki/Deploy-Guide)
instructions are on the wiki.
## Translating Calamares
Calamares translations are done on Transifex.
The [translator's guide](https://github.com/calamares/calamares/wiki/Translate-Guide)
on the wiki explains how to get involved there.
## Testing Calamares
There is a [testing guide](https://github.com/calamares/calamares/wiki/Test-Guide)
on the wiki. It is possible to test most parts of Calamares in isolation,
but the real proof of the pudding comes with an actual installation
of *some* distro using Calamares.
The UI components should get some specific usability testing instructions soon.

View File

@@ -1,3 +1,10 @@
# SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# Note that Calamares itself is GPL-3.0-or-later: the above license
# applies to **this** CMake file.
#
# Config file for the Calamares package
#
# The following IMPORTED targets are defined:
@@ -16,6 +23,12 @@
#
include(${CMAKE_CURRENT_LIST_DIR}/CalamaresConfigVersion.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/CalamaresTargets.cmake)
if (NOT TARGET Calamares::calamares OR NOT TARGET Calamares::calamaresui)
message(FATAL_ERROR "Calamares found with missing CMake targets")
endif()
# Need various CMake files that are installed alongside this one.
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
### Dependencies
#
@@ -45,11 +58,13 @@ accumulate_deps(kf5_required Calamares::calamaresui KF5::)
if(kf5_required)
find_package(ECM ${ECM_VERSION} NO_MODULE)
if( ECM_FOUND )
list(PREPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
list(INSERT CMAKE_MODULE_PATH 0 ${ECM_MODULE_PATH})
find_package(KF5 REQUIRED COMPONENTS ${kf5_required})
endif()
endif()
find_package(YAMLCPP REQUIRED)
### Legacy support
#
#
@@ -60,8 +75,6 @@ set(Calamares_LIBRARIES Calamares::calamares)
### CMake support
#
#
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
include(CalamaresAddBrandingSubdirectory)
include(CalamaresAddLibrary)
include(CalamaresAddModuleSubdirectory)

View File

@@ -1,2 +0,0 @@
FROM kdeneon/all:user
RUN sudo apt-get update && sudo apt-get -y install build-essential cmake extra-cmake-modules gettext kio-dev libatasmart-dev libboost-python-dev libkf5config-dev libkf5coreaddons-dev libkf5i18n-dev libkf5iconthemes-dev libkf5parts-dev libkf5service-dev libkf5solid-dev libkpmcore-dev libparted-dev libpolkit-qt5-1-dev libqt5svg5-dev libqt5webkit5-dev libyaml-cpp-dev os-prober pkg-config python3-dev qtbase5-dev qtdeclarative5-dev qttools5-dev qttools5-dev-tools

View File

@@ -1,49 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** 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 The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/

324
LICENSES/CC-BY-4.0.txt Normal file
View File

@@ -0,0 +1,324 @@
Creative Commons Attribution 4.0 International Creative Commons Corporation
("Creative Commons") is not a law firm and does not provide legal services
or legal advice. Distribution of Creative Commons public licenses does not
create a lawyer-client or other relationship. Creative Commons makes its licenses
and related information available on an "as-is" basis. Creative Commons gives
no warranties regarding its licenses, any material licensed under their terms
and conditions, or any related information. Creative Commons disclaims all
liability for damages resulting from their use to the fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and conditions
that creators and other rights holders may use to share original works of
authorship and other material subject to copyright and certain other rights
specified in the public license below. The following considerations are for
informational purposes only, are not exhaustive, and do not form part of our
licenses.
Considerations for licensors: Our public licenses are intended for use by
those authorized to give the public permission to use material in ways otherwise
restricted by copyright and certain other rights. Our licenses are irrevocable.
Licensors should read and understand the terms and conditions of the license
they choose before applying it. Licensors should also secure all rights necessary
before applying our licenses so that the public can reuse the material as
expected. Licensors should clearly mark any material not subject to the license.
This includes other CC-licensed material, or material used under an exception
or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public licenses, a licensor
grants the public permission to use the licensed material under specified
terms and conditions. If the licensor's permission is not necessary for any
reasonfor example, because of any applicable exception or limitation to copyrightthen
that use is not regulated by the license. Our licenses grant only permissions
under copyright and certain other rights that a licensor has authority to
grant. Use of the licensed material may still be restricted for other reasons,
including because others have copyright or other rights in the material. A
licensor may make special requests, such as asking that all changes be marked
or described. Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More considerations for the public
: wiki.creativecommons.org/Considerations_for_licensees Creative Commons Attribution
4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree to
be bound by the terms and conditions of this Creative Commons Attribution
4.0 International Public License ("Public License"). To the extent this Public
License may be interpreted as a contract, You are granted the Licensed Rights
in consideration of Your acceptance of these terms and conditions, and the
Licensor grants You such rights in consideration of benefits the Licensor
receives from making the Licensed Material available under these terms and
conditions.
Section 1 Definitions.
a. Adapted Material means material subject to Copyright and Similar Rights
that is derived from or based upon the Licensed Material and in which the
Licensed Material is translated, altered, arranged, transformed, or otherwise
modified in a manner requiring permission under the Copyright and Similar
Rights held by the Licensor. For purposes of this Public License, where the
Licensed Material is a musical work, performance, or sound recording, Adapted
Material is always produced where the Licensed Material is synched in timed
relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright and Similar
Rights in Your contributions to Adapted Material in accordance with the terms
and conditions of this Public License.
c. Copyright and Similar Rights means copyright and/or similar rights closely
related to copyright including, without limitation, performance, broadcast,
sound recording, and Sui Generis Database Rights, without regard to how the
rights are labeled or categorized. For purposes of this Public License, the
rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
d. Effective Technological Measures means those measures that, in the absence
of proper authority, may not be circumvented under laws fulfilling obligations
under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996,
and/or similar international agreements.
e. Exceptions and Limitations means fair use, fair dealing, and/or any other
exception or limitation to Copyright and Similar Rights that applies to Your
use of the Licensed Material.
f. Licensed Material means the artistic or literary work, database, or other
material to which the Licensor applied this Public License.
g. Licensed Rights means the rights granted to You subject to the terms and
conditions of this Public License, which are limited to all Copyright and
Similar Rights that apply to Your use of the Licensed Material and that the
Licensor has authority to license.
h. Licensor means the individual(s) or entity(ies) granting rights under this
Public License.
i. Share means to provide material to the public by any means or process that
requires permission under the Licensed Rights, such as reproduction, public
display, public performance, distribution, dissemination, communication, or
importation, and to make material available to the public including in ways
that members of the public may access the material from a place and at a time
individually chosen by them.
j. Sui Generis Database Rights means rights other than copyright resulting
from Directive 96/9/EC of the European Parliament and of the Council of 11
March 1996 on the legal protection of databases, as amended and/or succeeded,
as well as other essentially equivalent rights anywhere in the world.
k. You means the individual or entity exercising the Licensed Rights under
this Public License. Your has a corresponding meaning.
Section 2 Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License, the Licensor
hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive,
irrevocable license to exercise the Licensed Rights in the Licensed Material
to:
A. reproduce and Share the Licensed Material, in whole or in part; and
B. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions
and Limitations apply to Your use, this Public License does not apply, and
You do not need to comply with its terms and conditions.
3. Term. The term of this Public License is specified in Section 6(a).
4. Media and formats; technical modifications allowed. The Licensor authorizes
You to exercise the Licensed Rights in all media and formats whether now known
or hereafter created, and to make technical modifications necessary to do
so. The Licensor waives and/or agrees not to assert any right or authority
to forbid You from making technical modifications necessary to exercise the
Licensed Rights, including technical modifications necessary to circumvent
Effective Technological Measures. For purposes of this Public License, simply
making modifications authorized by this Section 2(a)(4) never produces Adapted
Material.
5. Downstream recipients.
A. Offer from the Licensor Licensed Material. Every recipient of the Licensed
Material automatically receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this Public License.
B. No downstream restrictions. You may not offer or impose any additional
or different terms or conditions on, or apply any Effective Technological
Measures to, the Licensed Material if doing so restricts exercise of the Licensed
Rights by any recipient of the Licensed Material.
6. No endorsement. Nothing in this Public License constitutes or may be construed
as permission to assert or imply that You are, or that Your use of the Licensed
Material is, connected with, or sponsored, endorsed, or granted official status
by, the Licensor or others designated to receive attribution as provided in
Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not licensed under this
Public License, nor are publicity, privacy, and/or other similar personality
rights; however, to the extent possible, the Licensor waives and/or agrees
not to assert any such rights held by the Licensor to the limited extent necessary
to allow You to exercise the Licensed Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this Public License.
3. To the extent possible, the Licensor waives any right to collect royalties
from You for the exercise of the Licensed Rights, whether directly or through
a collecting society under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly reserves any right
to collect such royalties.
Section 3 License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the following
conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified form), You must:
A. retain the following if it is supplied by the Licensor with the Licensed
Material:
i. identification of the creator(s) of the Licensed Material and any others
designated to receive attribution, in any reasonable manner requested by the
Licensor (including by pseudonym if designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of warranties;
v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
B. indicate if You modified the Licensed Material and retain an indication
of any previous modifications; and
C. indicate the Licensed Material is licensed under this Public License, and
include the text of, or the URI or hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner
based on the medium, means, and context in which You Share the Licensed Material.
For example, it may be reasonable to satisfy the conditions by providing a
URI or hyperlink to a resource that includes the required information.
3. If requested by the Licensor, You must remove any of the information required
by Section 3(a)(1)(A) to the extent reasonably practicable.
4. If You Share Adapted Material You produce, the Adapter's License You apply
must not prevent recipients of the Adapted Material from complying with this
Public License.
Section 4 Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that apply to
Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract,
reuse, reproduce, and Share all or a substantial portion of the contents of
the database;
b. if You include all or a substantial portion of the database contents in
a database in which You have Sui Generis Database Rights, then the database
in which You have Sui Generis Database Rights (but not its individual contents)
is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share all or
a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not replace
Your obligations under this Public License where the Licensed Rights include
other Copyright and Similar Rights.
Section 5 Disclaimer of Warranties and Limitation of Liability.
a. Unless otherwise separately undertaken by the Licensor, to the extent possible,
the Licensor offers the Licensed Material as-is and as-available, and makes
no representations or warranties of any kind concerning the Licensed Material,
whether express, implied, statutory, or other. This includes, without limitation,
warranties of title, merchantability, fitness for a particular purpose, non-infringement,
absence of latent or other defects, accuracy, or the presence or absence of
errors, whether or not known or discoverable. Where disclaimers of warranties
are not allowed in full or in part, this disclaimer may not apply to You.
b. To the extent possible, in no event will the Licensor be liable to You
on any legal theory (including, without limitation, negligence) or otherwise
for any direct, special, indirect, incidental, consequential, punitive, exemplary,
or other losses, costs, expenses, or damages arising out of this Public License
or use of the Licensed Material, even if the Licensor has been advised of
the possibility of such losses, costs, expenses, or damages. Where a limitation
of liability is not allowed in full or in part, this limitation may not apply
to You.
c. The disclaimer of warranties and limitation of liability provided above
shall be interpreted in a manner that, to the extent possible, most closely
approximates an absolute disclaimer and waiver of all liability.
Section 6 Term and Termination.
a. This Public License applies for the term of the Copyright and Similar Rights
licensed here. However, if You fail to comply with this Public License, then
Your rights under this Public License terminate automatically.
b. Where Your right to use the Licensed Material has terminated under Section
6(a), it reinstates:
1. automatically as of the date the violation is cured, provided it is cured
within 30 days of Your discovery of the violation; or
2. upon express reinstatement by the Licensor.
c. For the avoidance of doubt, this Section 6(b) does not affect any right
the Licensor may have to seek remedies for Your violations of this Public
License.
d. For the avoidance of doubt, the Licensor may also offer the Licensed Material
under separate terms or conditions or stop distributing the Licensed Material
at any time; however, doing so will not terminate this Public License.
e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
Section 7 Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different terms or
conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the Licensed
Material not stated herein are separate from and independent of the terms
and conditions of this Public License.
Section 8 Interpretation.
a. For the avoidance of doubt, this Public License does not, and shall not
be interpreted to, reduce, limit, restrict, or impose conditions on any use
of the Licensed Material that could lawfully be made without permission under
this Public License.
b. To the extent possible, if any provision of this Public License is deemed
unenforceable, it shall be automatically reformed to the minimum extent necessary
to make it enforceable. If the provision cannot be reformed, it shall be severed
from this Public License without affecting the enforceability of the remaining
terms and conditions.
c. No term or condition of this Public License will be waived and no failure
to comply consented to unless expressly agreed to by the Licensor.
d. Nothing in this Public License constitutes or may be interpreted as a limitation
upon, or waiver of, any privileges and immunities that apply to the Licensor
or You, including from the legal processes of any jurisdiction or authority.
Creative Commons is not a party to its public licenses. Notwithstanding, Creative
Commons may elect to apply one of its public licenses to material it publishes
and in those instances will be considered the "Licensor." The text of the
Creative Commons public licenses is dedicated to the public domain under the
CC0 Public Domain Dedication. Except for the limited purpose of indicating
that material is shared under a Creative Commons public license or as otherwise
permitted by the Creative Commons policies published at creativecommons.org/policies,
Creative Commons does not authorize the use of the trademark "Creative Commons"
or any other trademark or logo of Creative Commons without its prior written
consent including, without limitation, in connection with any unauthorized
modifications to any of its public licenses or any other arrangements, understandings,
or agreements concerning use of licensed material. For the avoidance of doubt,
this paragraph does not form part of the public licenses.
Creative Commons may be contacted at creativecommons.org.

119
LICENSES/CC0-1.0.txt Normal file
View File

@@ -0,0 +1,119 @@
Creative Commons Legal Code
CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES
NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE
AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION
ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE
OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS
LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION
OR WORKS PROVIDED HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer exclusive
Copyright and Related Rights (defined below) upon the creator and subsequent
owner(s) (each and all, an "owner") of an original work of authorship and/or
a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for the
purpose of contributing to a commons of creative, cultural and scientific
works ("Commons") that the public can reliably and without fear of later claims
of infringement build upon, modify, incorporate in other works, reuse and
redistribute as freely as possible in any form whatsoever and for any purposes,
including without limitation commercial purposes. These owners may contribute
to the Commons to promote the ideal of a free culture and the further production
of creative, cultural and scientific works, or to gain reputation or greater
distribution for their Work in part through the use and efforts of others.
For these and/or other purposes and motivations, and without any expectation
of additional consideration or compensation, the person associating CC0 with
a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
and publicly distribute the Work under its terms, with knowledge of his or
her Copyright and Related Rights in the Work and the meaning and intended
legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be protected
by copyright and related or neighboring rights ("Copyright and Related Rights").
Copyright and Related Rights include, but are not limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display, communicate,
and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or likeness
depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work, subject
to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal protection
of databases, and under any national implementation thereof, including any
amended or successor version of such directive); and
vii. other similar, equivalent or corresponding rights throughout the world
based on applicable law or treaty, and any national implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention of,
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
and Related Rights and associated claims and causes of action, whether now
known or unknown (including existing as well as future claims and causes of
action), in the Work (i) in all territories worldwide, (ii) for the maximum
duration provided by applicable law or treaty (including future time extensions),
(iii) in any current or future medium and for any number of copies, and (iv)
for any purpose whatsoever, including without limitation commercial, advertising
or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the
benefit of each member of the public at large and to the detriment of Affirmer's
heirs and successors, fully intending that such Waiver shall not be subject
to revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason be
judged legally invalid or ineffective under applicable law, then the Waiver
shall be preserved to the maximum extent permitted taking into account Affirmer's
express Statement of Purpose. In addition, to the extent the Waiver is so
judged Affirmer hereby grants to each affected person a royalty-free, non
transferable, non sublicensable, non exclusive, irrevocable and unconditional
license to exercise Affirmer's Copyright and Related Rights in the Work (i)
in all territories worldwide, (ii) for the maximum duration provided by applicable
law or treaty (including future time extensions), (iii) in any current or
future medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional purposes
(the "License"). The License shall be deemed effective as of the date CC0
was applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder of
the License, and in such case Affirmer hereby affirms that he or she will
not (i) exercise any of his or her remaining Copyright and Related Rights
in the Work or (ii) assert any associated claims and causes of action with
respect to the Work, in either case contrary to Affirmer's express Statement
of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered,
licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or warranties
of any kind concerning the Work, express, implied, statutory or otherwise,
including without limitation warranties of title, merchantability, fitness
for a particular purpose, non infringement, or the absence of latent or other
defects, accuracy, or the present or absence of errors, whether or not discoverable,
all to the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without limitation
any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims
responsibility for obtaining any necessary consents, permissions or other
rights required for any use of the Work.
d. Affirmer understands and acknowledges that Creative Commons is not a party
to this document and has no duty or obligation with respect to this CC0 or
use of the Work.

View File

@@ -1,383 +0,0 @@
Unless otherwise *explicitly* stated the following text describes the
licensed conditions under which the contents of this libpwquality release
may be distributed:
-------------------------------------------------------------------------
Redistribution and use in source and binary forms of libpwquality, with
or without modification, are permitted provided that the following
conditions are met:
1. Redistributions of source code must retain any existing copyright
notice, and this entire permission notice in its entirety,
including the disclaimer of warranties.
2. Redistributions in binary form must reproduce all prior and current
copyright notices, this list of conditions, and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
3. The name of any author may not be used to endorse or promote
products derived from this software without their specific prior
written permission.
ALTERNATIVELY, this product may be distributed under the terms of the
GNU General Public License version 2 or later, in which case the provisions
of the GNU GPL are required INSTEAD OF the above restrictions.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
The full text of the GNU GENERAL PUBLIC LICENSE Version 2 is included
below.
-------------------------------------------------------------------------
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
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 2 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, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@@ -1,16 +0,0 @@
/*
* Copyright 2012, Christian Muehlhaeuser <muesli@tomahawk-player.org>
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 <http://www.gnu.org/licenses/>.
*/

467
LICENSES/LGPL-2.1-only.txt Normal file
View File

@@ -0,0 +1,467 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies of this license
document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts as the
successor of the GNU Library Public License, version 2, hence the version
number 2.1.]
Preamble
The licenses for most software are designed to take away your freedom to share
and change it. By contrast, the GNU General Public Licenses are intended to
guarantee your freedom to share and change free software--to make sure the
software is free for all its users.
This license, the Lesser General Public License, applies to some specially
designated software packages--typically libraries--of the Free Software Foundation
and other authors who decide to use it. You can use it too, but we suggest
you first think carefully about whether this license or the ordinary General
Public License is the better strategy to use in any particular case, based
on the explanations below.
When we speak of free software, we are referring to freedom of use, not price.
Our General Public Licenses are designed to make sure that you have the freedom
to distribute copies of free software (and charge for this service if you
wish); that you receive source code or can get it if you want it; that you
can change the software and use pieces of it in new free programs; and that
you are informed that you can do these things.
To protect your rights, we need to make restrictions that forbid distributors
to deny you these rights or to ask you to surrender these rights. These restrictions
translate to certain responsibilities for you if you distribute copies of
the library or if you modify it.
For example, if you distribute copies of the library, whether gratis or for
a fee, you must give the recipients all the rights that we gave you. You must
make sure that they, too, receive or can get the source code. If you link
other code with the library, you must provide complete object files to the
recipients, so that they can relink them with the library after making changes
to the library and recompiling it. And you must show them these terms so they
know their rights.
We protect your rights with a two-step method: (1) we copyright the library,
and (2) we offer you this license, which gives you legal permission to copy,
distribute and/or modify the library.
To protect each distributor, we want to make it very clear that there is no
warranty for the free library. Also, if the library is modified by someone
else and passed on, the recipients should know that what they have is not
the original version, so that the original author's reputation will not be
affected by problems that might be introduced by others.
Finally, software patents pose a constant threat to the existence of any free
program. We wish to make sure that a company cannot effectively restrict the
users of a free program by obtaining a restrictive license from a patent holder.
Therefore, we insist that any patent license obtained for a version of the
library must be consistent with the full freedom of use specified in this
license.
Most GNU software, including some libraries, is covered by the ordinary GNU
General Public License. This license, the GNU Lesser General Public License,
applies to certain designated libraries, and is quite different from the ordinary
General Public License. We use this license for certain libraries in order
to permit linking those libraries into non-free programs.
When a program is linked with a library, whether statically or using a shared
library, the combination of the two is legally speaking a combined work, a
derivative of the original library. The ordinary General Public License therefore
permits such linking only if the entire combination fits its criteria of freedom.
The Lesser General Public License permits more lax criteria for linking other
code with the library.
We call this license the "Lesser" General Public License because it does Less
to protect the user's freedom than the ordinary General Public License. It
also provides other free software developers Less of an advantage over competing
non-free programs. These disadvantages are the reason we use the ordinary
General Public License for many libraries. However, the Lesser license provides
advantages in certain special circumstances.
For example, on rare occasions, there may be a special need to encourage the
widest possible use of a certain library, so that it becomes a de-facto standard.
To achieve this, non-free programs must be allowed to use the library. A more
frequent case is that a free library does the same job as widely used non-free
libraries. In this case, there is little to gain by limiting the free library
to free software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free programs
enables a greater number of people to use a large body of free software. For
example, permission to use the GNU C Library in non-free programs enables
many more people to use the whole GNU operating system, as well as its variant,
the GNU/Linux operating system.
Although the Lesser General Public License is Less protective of the users'
freedom, it does ensure that the user of a program that is linked with the
Library has the freedom and the wherewithal to run that program using a modified
version of the Library.
The precise terms and conditions for copying, distribution and modification
follow. Pay close attention to the difference between a "work based on the
library" and a "work that uses the library". The former contains code derived
from the library, whereas the latter must be combined with the library in
order to run.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other program
which contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Lesser General
Public License (also called "this License"). Each licensee is addressed as
"you".
A "library" means a collection of software functions and/or data prepared
so as to be conveniently linked with application programs (which use some
of those functions and data) to form executables.
The "Library", below, refers to any such software library or work which has
been distributed under these terms. A "work based on the Library" means either
the Library or any derivative work under copyright law: that is to say, a
work containing the Library or a portion of it, either verbatim or with modifications
and/or translated straightforwardly into another language. (Hereinafter, translation
is included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for making modifications
to it. For a library, complete source code means all the source code for all
modules it contains, plus any associated interface definition files, plus
the scripts used to control compilation and installation of the library.
Activities other than copying, distribution and modification are not covered
by this License; they are outside its scope. The act of running a program
using the Library is not restricted, and output from such a program is covered
only if its contents constitute a work based on the Library (independent of
the use of the Library in a tool for writing it). Whether that is true depends
on what the Library does and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's complete source
code as you receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice and disclaimer
of warranty; keep intact all the notices that refer to this License and to
the absence of any warranty; and distribute a copy of this License along with
the Library.
You may charge a fee for the physical act of transferring a copy, and you
may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Library or any portion of it,
thus forming a work based on the Library, and copy and distribute such modifications
or work under the terms of Section 1 above, provided that you also meet all
of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices stating that
you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no charge to all
third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a table of
data to be supplied by an application program that uses the facility, other
than as an argument passed when the facility is invoked, then you must make
a good faith effort to ensure that, in the event an application does not supply
such function or table, the facility still operates, and performs whatever
part of its purpose remains meaningful.
(For example, a function in a library to compute square roots has a purpose
that is entirely well-defined independent of the application. Therefore, Subsection
2d requires that any application-supplied function or table used by this function
must be optional: if the application does not supply it, the square root function
must still compute square roots.)
These requirements apply to the modified work as a whole. If identifiable
sections of that work are not derived from the Library, and can be reasonably
considered independent and separate works in themselves, then this License,
and its terms, do not apply to those sections when you distribute them as
separate works. But when you distribute the same sections as part of a whole
which is a work based on the Library, the distribution of the whole must be
on the terms of this License, whose permissions for other licensees extend
to the entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest your
rights to work written entirely by you; rather, the intent is to exercise
the right to control the distribution of derivative or collective works based
on the Library.
In addition, mere aggregation of another work not based on the Library with
the Library (or with a work based on the Library) on a volume of a storage
or distribution medium does not bring the other work under the scope of this
License.
3. You may opt to apply the terms of the ordinary GNU General Public License
instead of this License to a given copy of the Library. To do this, you must
alter all the notices that refer to this License, so that they refer to the
ordinary GNU General Public License, version 2, instead of to this License.
(If a newer version than version 2 of the ordinary GNU General Public License
has appeared, then you can specify that version instead if you wish.) Do not
make any other change in these notices.
Once this change is made in a given copy, it is irreversible for that copy,
so the ordinary GNU General Public License applies to all subsequent copies
and derivative works made from that copy.
This option is useful when you wish to copy part of the code of the Library
into a program that is not a library.
4. You may copy and distribute the Library (or a portion or derivative of
it, under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you accompany it with the complete corresponding
machine-readable source code, which must be distributed under the terms of
Sections 1 and 2 above on a medium customarily used for software interchange.
If distribution of object code is made by offering access to copy from a designated
place, then offering equivalent access to copy the source code from the same
place satisfies the requirement to distribute the source code, even though
third parties are not compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the Library, but
is designed to work with the Library by being compiled or linked with it,
is called a "work that uses the Library". Such a work, in isolation, is not
a derivative work of the Library, and therefore falls outside the scope of
this License.
However, linking a "work that uses the Library" with the Library creates an
executable that is a derivative of the Library (because it contains portions
of the Library), rather than a "work that uses the library". The executable
is therefore covered by this License. Section 6 states terms for distribution
of such executables.
When a "work that uses the Library" uses material from a header file that
is part of the Library, the object code for the work may be a derivative work
of the Library even though the source code is not. Whether this is true is
especially significant if the work can be linked without the Library, or if
the work is itself a library. The threshold for this to be true is not precisely
defined by law.
If such an object file uses only numerical parameters, data structure layouts
and accessors, and small macros and small inline functions (ten lines or less
in length), then the use of the object file is unrestricted, regardless of
whether it is legally a derivative work. (Executables containing this object
code plus portions of the Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may distribute
the object code for the work under the terms of Section 6. Any executables
containing that work also fall under Section 6, whether or not they are linked
directly with the Library itself.
6. As an exception to the Sections above, you may also combine or link a "work
that uses the Library" with the Library to produce a work containing portions
of the Library, and distribute that work under terms of your choice, provided
that the terms permit modification of the work for the customer's own use
and reverse engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the Library
is used in it and that the Library and its use are covered by this License.
You must supply a copy of this License. If the work during execution displays
copyright notices, you must include the copyright notice for the Library among
them, as well as a reference directing the user to the copy of this License.
Also, you must do one of these things:
a) Accompany the work with the complete corresponding machine-readable source
code for the Library including whatever changes were used in the work (which
must be distributed under Sections 1 and 2 above); and, if the work is an
executable linked with the Library, with the complete machine-readable "work
that uses the Library", as object code and/or source code, so that the user
can modify the Library and then relink to produce a modified executable containing
the modified Library. (It is understood that the user who changes the contents
of definitions files in the Library will not necessarily be able to recompile
the application to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the Library. A
suitable mechanism is one that (1) uses at run time a copy of the library
already present on the user's computer system, rather than copying library
functions into the executable, and (2) will operate properly with a modified
version of the library, if the user installs one, as long as the modified
version is interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at least three years,
to give the same user the materials specified in Subsection 6a, above, for
a charge no more than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy from a designated
place, offer equivalent access to copy the above specified materials from
the same place.
e) Verify that the user has already received a copy of these materials or
that you have already sent this user a copy.
For an executable, the required form of the "work that uses the Library" must
include any data and utility programs needed for reproducing the executable
from it. However, as a special exception, the materials to be distributed
need not include anything that is normally distributed (in either source or
binary form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component itself
accompanies the executable.
It may happen that this requirement contradicts the license restrictions of
other proprietary libraries that do not normally accompany the operating system.
Such a contradiction means you cannot use both them and the Library together
in an executable that you distribute.
7. You may place library facilities that are a work based on the Library side-by-side
in a single library together with other library facilities not covered by
this License, and distribute such a combined library, provided that the separate
distribution of the work based on the Library and of the other library facilities
is otherwise permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work based on the
Library, uncombined with any other library facilities. This must be distributed
under the terms of the Sections above.
b) Give prominent notice with the combined library of the fact that part of
it is a work based on the Library, and explaining where to find the accompanying
uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute the Library
except as expressly provided under this License. Any attempt otherwise to
copy, modify, sublicense, link with, or distribute the Library is void, and
will automatically terminate your rights under this License. However, parties
who have received copies, or rights, from you under this License will not
have their licenses terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not signed
it. However, nothing else grants you permission to modify or distribute the
Library or its derivative works. These actions are prohibited by law if you
do not accept this License. Therefore, by modifying or distributing the Library
(or any work based on the Library), you indicate your acceptance of this License
to do so, and all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the Library),
the recipient automatically receives a license from the original licensor
to copy, distribute, link with or modify the Library subject to these terms
and conditions. You may not impose any further restrictions on the recipients'
exercise of the rights granted herein. You are not responsible for enforcing
compliance by third parties with this License.
11. If, as a consequence of a court judgment or allegation of patent infringement
or for any other reason (not limited to patent issues), conditions are imposed
on you (whether by court order, agreement or otherwise) that contradict the
conditions of this License, they do not excuse you from the conditions of
this License. If you cannot distribute so as to satisfy simultaneously your
obligations under this License and any other pertinent obligations, then as
a consequence you may not distribute the Library at all. For example, if a
patent license would not permit royalty-free redistribution of the Library
by all those who receive copies directly or indirectly through you, then the
only way you could satisfy both it and this License would be to refrain entirely
from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents
or other property right claims or to contest validity of any such claims;
this section has the sole purpose of protecting the integrity of the free
software distribution system which is implemented by public license practices.
Many people have made generous contributions to the wide range of software
distributed through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing to
distribute software through any other system and a licensee cannot impose
that choice.
This section is intended to make thoroughly clear what is believed to be a
consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in certain
countries either by patents or by copyrighted interfaces, the original copyright
holder who places the Library under this License may add an explicit geographical
distribution limitation excluding those countries, so that distribution is
permitted only in or among countries not thus excluded. In such case, this
License incorporates the limitation as if written in the body of this License.
13. The Free Software Foundation may publish revised and/or new versions of
the Lesser General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to address
new problems or concerns.
Each version is given a distinguishing version number. If the Library specifies
a version number of this License which applies to it and "any later version",
you have the option of following the terms and conditions either of that version
or of any later version published by the Free Software Foundation. If the
Library does not specify a license version number, you may choose any version
ever published by the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free programs
whose distribution conditions are incompatible with these, write to the author
to ask for permission. For software which is copyrighted by the Free Software
Foundation, write to the Free Software Foundation; we sometimes make exceptions
for this. Our decision will be guided by the two goals of preserving the free
status of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY
"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest possible
use to the public, we recommend making it free software that everyone can
redistribute and change. You can do so by permitting redistribution under
these terms (or, alternatively, under the terms of the ordinary General Public
License).
To apply these terms, attach the following notices to the library. It is safest
to attach them to the start of each source file to most effectively convey
the exclusion of warranty; and each file should have at least the "copyright"
line and a pointer to where the full notice is found.
< one line to give the library's name and an idea of what it does. >
Copyright (C) < year > < name of author >
This library is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free
Software Foundation; either version 2.1 of the License, or (at your option)
any later version.
This library 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 Lesser General Public License for more
details.
You should have received a copy of the GNU Lesser General Public License along
with this library; if not, write to the Free Software Foundation, Inc., 51
Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information
on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your school,
if any, to sign a "copyright disclaimer" for the library, if necessary. Here
is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in
the library `Frob' (a library for tweaking knobs) written
by James Random Hacker.
< signature of Ty Coon > , 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@@ -0,0 +1,163 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license
document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates the terms
and conditions of version 3 of the GNU General Public License, supplemented
by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser General
Public License, and the "GNU GPL" refers to version 3 of the GNU General Public
License.
"The Library" refers to a covered work governed by this License, other than
an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided by the
Library, but which is not otherwise based on the Library. Defining a subclass
of a class defined by the Library is deemed a mode of using an interface provided
by the Library.
A "Combined Work" is a work produced by combining or linking an Application
with the Library. The particular version of the Library with which the Combined
Work was made is also called the "Linked Version".
The "Minimal Corresponding Source" for a Combined Work means the Corresponding
Source for the Combined Work, excluding any source code for portions of the
Combined Work that, considered in isolation, are based on the Application,
and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the object
code and/or source code for the Application, including any data and utility
programs needed for reproducing the Combined Work from the Application, but
excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License without
being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a facility
refers to a function or data to be supplied by an Application that uses the
facility (other than as an argument passed when the facility is invoked),
then you may convey a copy of the modified version:
a) under this License, provided that you make a good faith effort to ensure
that, in the event an Application does not supply the function or data, the
facility still operates, and performs whatever part of its purpose remains
meaningful, or
b) under the GNU GPL, with none of the additional permissions of this License
applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from a header
file that is part of the Library. You may convey such object code under terms
of your choice, provided that, if the incorporated material is not limited
to numerical parameters, data structure layouts and accessors, or small macros,
inline functions and templates (ten or fewer lines in length), you do both
of the following:
a) Give prominent notice with each copy of the object code that the Library
is used in it and that the Library and its use are covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that, taken together,
effectively do not restrict modification of the portions of the Library contained
in the Combined Work and reverse engineering for debugging such modifications,
if you also do each of the following:
a) Give prominent notice with each copy of the Combined Work that the Library
is used in it and that the Library and its use are covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during execution, include
the copyright notice for the Library among these notices, as well as a reference
directing the user to the copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this License,
and the Corresponding Application Code in a form suitable for, and under terms
that permit, the user to recombine or relink the Application with a modified
version of the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying Corresponding Source.
1) Use a suitable shared library mechanism for linking with the Library. A
suitable mechanism is one that (a) uses at run time a copy of the Library
already present on the user's computer system, and (b) will operate properly
with a modified version of the Library that is interface-compatible with the
Linked Version.
e) Provide Installation Information, but only if you would otherwise be required
to provide such information under section 6 of the GNU GPL, and only to the
extent that such information is necessary to install and execute a modified
version of the Combined Work produced by recombining or relinking the Application
with a modified version of the Linked Version. (If you use option 4d0, the
Installation Information must accompany the Minimal Corresponding Source and
Corresponding Application Code. If you use option 4d1, you must provide the
Installation Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the Library side
by side in a single library together with other library facilities that are
not Applications and are not covered by this License, and convey such a combined
library under terms of your choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based on the
Library, uncombined with any other library facilities, conveyed under the
terms of this License.
b) Give prominent notice with the combined library that part of it is a work
based on the Library, and explaining where to find the accompanying uncombined
form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions of the
GNU Lesser General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to address
new problems or concerns.
Each version is given a distinguishing version number. If the Library as you
received it specifies that a certain numbered version of the GNU Lesser General
Public License "or any later version" applies to it, you have the option of
following the terms and conditions either of that published version or of
any later version published by the Free Software Foundation. If the Library
as you received it does not specify a version number of the GNU Lesser General
Public License, you may choose any version of the GNU Lesser General Public
License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide whether
future versions of the GNU Lesser General Public License shall apply, that
proxy's public statement of acceptance of any version is permanent authorization
for you to choose that version for the Library.

View File

@@ -1,83 +0,0 @@
/****************************************************************************
**
** 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$
**
****************************************************************************/

View File

@@ -1,22 +0,0 @@
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.

View File

@@ -1,209 +0,0 @@
The Breeze Icon Theme in icons/
Copyright (C) 2014 Uri Herrera <uri_herrera@nitrux.in> and others
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
Clarification:
The GNU Lesser General Public License or LGPL is written for
software libraries in the first place. We expressly want the LGPL to
be valid for this artwork library too.
KDE Breeze theme icons is a special kind of software library, it is an
artwork library, it's elements can be used in a Graphical User Interface, or
GUI.
Source code, for this library means:
- where they exist, SVG;
- otherwise, if applicable, the multi-layered formats xcf or psd, or
otherwise png.
The LGPL in some sections obliges you to make the files carry
notices. With images this is in some cases impossible or hardly useful.
With this library a notice is placed at a prominent place in the directory
containing the elements. You may follow this practice.
The exception in section 5 of the GNU Lesser General Public License covers
the use of elements of this art library in a GUI.
https://vdesign.kde.org/
-----
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

View File

@@ -1,21 +0,0 @@
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.

19
LICENSES/MIT.txt Normal file
View File

@@ -0,0 +1,19 @@
MIT License Copyright (c) <year> <copyright holders>
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 (including the next
paragraph) 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.

View File

@@ -1,39 +1,69 @@
### Calamares: Distribution-Independent Installer Framework
<!-- SPDX-FileCopyrightText: no
SPDX-License-Identifier: CC0-1.0
-->
# Calamares: Distribution-Independent Installer Framework
---------
[![Current issue](https://img.shields.io/badge/issue-in_progress-FE9B48)](https://github.com/calamares/calamares/labels/hacking%3A%20in-progress)
[![GitHub release](https://img.shields.io/github/release/calamares/calamares.svg)](https://github.com/calamares/calamares/releases)
[![Travis Build Status](https://travis-ci.org/calamares/calamares.svg?branch=calamares)](https://travis-ci.org/calamares/calamares)
[![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/calamares/LICENSE)
[![GitHub Build Status](https://img.shields.io/github/workflow/status/calamares/calamares/ci?label=GH%20build)](https://github.com/calamares/calamares/actions?query=workflow%3Aci)
[![GitHub license](https://img.shields.io/github/license/calamares/calamares.svg)](https://github.com/calamares/calamares/blob/calamares/LICENSES/GPL-3.0-or-later.txt)
| [Report a Bug](https://github.com/calamares/calamares/issues/new) | [Translate](https://www.transifex.com/projects/p/calamares/) | [Contribute](https://github.com/calamares/calamares/wiki/Develop-Guide) | Freenode (IRC): #calamares | [Wiki](https://github.com/calamares/calamares/wiki) |
|:-----------------------------------------:|:----------------------:|:-----------------------:|:--------------------------:|:--------------------------:|
### Dependencies
| [Report a Bug](https://github.com/calamares/calamares/issues/new) | [Translate](https://www.transifex.com/projects/p/calamares/) | [Contribute](CONTRIBUTING.md) | [Matrix: #calamares:kde.org](https://webchat.kde.org/#/room/%23calamares:kde.org) | [IRC: Libera.Chat #calamares](https://kiwiirc.com/client/irc.libera.chat/#calamares) | [Wiki](https://github.com/calamares/calamares/wiki) |
|:--:|:--:|:--:|:--:|:--:|:--:|
Main:
* Compiler with C++14 support: GCC >= 5 or Clang >= 3.5.1
* CMake >= 3.3
* Qt >= 5.9
* yaml-cpp >= 0.5.1
* Python >= 3.3 (required for some modules)
* Boost.Python >= 1.55.0 (required for some modules)
* KDE extra-cmake-modules >= 5.18 (recommended; required for some modules;
required for some tests)
* KDE Frameworks KCoreAddons (>= 5.58 recommended)
* PythonQt (optional, deprecated)
Individual modules may have their own requirements;
these are listed in CMake output.
Particular requirements (not complete):
> Calamares is a distribution-independent system installer, with an advanced partitioning
> feature for both manual and automated partitioning operations. Calamares is designed to
> be customizable by distribution maintainers without need for cumbersome patching,
> thanks to third party branding and external modules support.
* *fsresizer* KPMCore >= 3.3 (>= 4.1 recommended)
* *partition* KPMCore >= 3.3 (>= 4.1 recommended)
* *users* LibPWQuality (optional)
## Target Audience
### Building
Calamares is a Linux installer; users who install Linux on a computer will hopefully
use it just **once**, to install their Linux distribution. Calamares is not
a "ready to use" application: distributions apply a huge amount of customisation
and configuration to Calamares, and the target audience for this repository
is those distributions, and the people who make those Linux distro's.
See [wiki](https://github.com/calamares/calamares/wiki) for up to date
[building](https://github.com/calamares/calamares/wiki/Develop-Guide)
and [deployment](https://github.com/calamares/calamares/wiki/Deploy-Guide)
instructions.
Calamares has some [generic user documentation](https://calamares.io/docs/users-guide/)
for end-users, but most of what we have is for distro developers.
## Getting Calamares
Clone Calamares from GitHub. The default branch is called *calamares*.
```
git clone https://github.com/calamares/calamares.git
```
Calamares is a KDE-Frameworks and Qt-based, C++17, CMake-built application.
The dependencies are explained in [CONTRIBUTING.md](CONTRIBUTING.md).
## Contributing to Calamares
Calamares welcomes PRs. New issues are welcome, too.
There are both the Calamares **core** repository (this one),
and an **extensions** repository ([Calamares extensions](https://github.com/calamares/calamares-extensions)).
Contributions to code, modules, documentation, the wiki and the website are all welcome.
There is more information in the [CONTRIBUTING.md](CONTRIBUTING.md) file.
## Join the Conversation
GitHub Issues are **one** place for discussing Calamares if there are concrete
problems or a new feature to discuss.
Regular Calamares development chit-chat happens in a [Matrix](https://matrix.org/)
room, `#calamares:kde.org`. The conversation is bridged with IRC
on [Libera.Chat](https://libera.chat/).
Responsiveness is best during the day
in Europe, but feel free to idle. If you use IRC, **DO NOT** ask-and-leave. Keep
that chat window open because it can easily take a few hours for
someone to notice a message.
Matrix is persistent, and we'll see your message eventually.
* [![Join us on Matrix](https://img.shields.io/badge/Matrix-%23calamares:kde.org-blue)](https://webchat.kde.org/#/room/%23calamares:kde.org)
* [![Chat on IRC](https://img.shields.io/badge/IRC-Libera.Chat%20%23calamares-green)](https://kiwiirc.com/client/irc.libera.chat/#calamares)

View File

@@ -5,7 +5,7 @@ Name=Install System
GenericName=System Installer
Keywords=calamares;system;installer;
TryExec=calamares
Exec=pkexec /usr/bin/calamares
Exec=sh -c "pkexec calamares"
Comment=Calamares — System Installer
Icon=calamares
Terminal=false
@@ -21,18 +21,26 @@ Name[as]=চিছটেম ইনস্তল কৰক
Icon[as]=কেলামাৰেচ
GenericName[as]=চিছটেম ইনস্তলাৰ
Comment[as]=কেলামাৰেচ — চিছটেম​ ইনস্তলাৰ
Name[ast]=Instalar el sistema
Icon[ast]=calamares
GenericName[ast]=Instalador del sistema
Comment[ast]=Calamares — Instalador del sistema
Name[az]=Sistemi Quraşdırmaq
Icon[az]=calamares
GenericName[az]=Sistem Quraşdırıcısı
Comment[az]=Calamares Sistem Quraşdırıcısı
Name[az_AZ]=Sistemi quraşdırmaq
Icon[az_AZ]=calamares
GenericName[az_AZ]=Sistem quraşdırcısı
Comment[az_AZ]=Calamares — Sistem Quraşdırıcısı
Name[be]=Усталяваць сістэму
Icon[be]=calamares
GenericName[be]=Усталёўшчык сістэмы
Comment[be]=Calamares — усталёўшчык сістэмы
Name[bg]=Инсталирай системата
Icon[bg]=calamares
GenericName[bg]=Системен Инсталатор
Comment[bg]=Calamares Системен Инсталатор
GenericName[bg]=Системен инсталатор
Comment[bg]=Calamares Системен инсталатор
Name[bn]=সিস্টেম ইনস্টল করুন
Icon[bn]=ক্যালামারেস
GenericName[bn]=সিস্টেম ইনস্টলার
@@ -41,6 +49,10 @@ Name[ca]=Instal·la el sistema
Icon[ca]=calamares
GenericName[ca]=Instal·lador de sistema
Comment[ca]=Calamares — Instal·lador de sistema
Name[cs_CZ]=Nainstalovat systém
Icon[cs_CZ]=calamares
GenericName[cs_CZ]=Instalátor systému
Comment[cs_CZ]=Calamares instalátor operačních systémů
Name[da]=Installér system
Icon[da]=calamares
GenericName[da]=Systeminstallationsprogram
@@ -57,10 +69,19 @@ Name[en_GB]=Install System
Icon[en_GB]=calamares
GenericName[en_GB]=System Installer
Comment[en_GB]=Calamares — System Installer
Name[es]=Instalar Sistema
Name[eo]=Instali Sistemo
Icon[eo]=calamares
GenericName[eo]=Sistema Instalilo
Comment[eo]=Calamares — Sistema Instalilo
Name[es]=Instalar el sistema
Icon[es]=calamares
GenericName[es]=Instalador del Sistema
Comment[es]=Calamares — Instalador del Sistema
GenericName[es]=Instalador del sistema
Comment[es]=Calamares — Instalador del sistema
Name[es_MX]=Instalar el Sistema
Icon[es_MX]=calamares
GenericName[es_MX]=Instalador del sistema
Comment[es_MX]=Calamares - Instalador del sistema
Name[es_PR]=Instalar el sistema
Name[et]=Paigalda süsteem
Icon[et]=calamares
GenericName[et]=Süsteemipaigaldaja
@@ -71,13 +92,20 @@ GenericName[eu]=Sistema instalatzailea
Comment[eu]=Calamares - sistema instalatzailea
Name[fa]=نصب سامانه
Icon[fa]=کالامارس
GenericName[fa]=نصب‌کنندهٔ سامانه
Comment[fa]=کالامارس — نصب‌کنندهٔ سامانه
Name[es_PR]=Instalar el sistema
GenericName[fa]=نصب‌کننده سامانه
Comment[fa]=کالامارس — نصب‌کننده سامانه
Name[fi_FI]=Asenna järjestelmä
Icon[fi_FI]=calamares
GenericName[fi_FI]=Järjestelmän asennusohjelma
Comment[fi_FI]=Calamares — Järjestelmän asentaja
Name[fr]=Installer le système
Icon[fr]=calamares
GenericName[fr]=Installateur système
Comment[fr]=Calamares - Installateur système
Name[fur]=Instale il sisteme
Icon[fur]=calamares
GenericName[fur]=Program di instalazion dal sisteme
Comment[fur]=Calamares — Program di instalazion dal sisteme
Name[gl]=Instalación do Sistema
Icon[gl]=calamares
GenericName[gl]=Instalador de sistemas
@@ -94,10 +122,6 @@ Name[hr]=Instaliraj sustav
Icon[hr]=calamares
GenericName[hr]=Instalacija sustava
Comment[hr]=Calamares — Instalacija sustava
Name[ie]=Installar li sistema
Icon[ie]=calamares
GenericName[ie]=Installator del sistema
Comment[ie]=Calamares — Installator del sistema
Name[hu]=Rendszer telepítése
Icon[hu]=calamares
GenericName[hu]=Rendszertelepítő
@@ -106,14 +130,18 @@ Name[id]=Instal Sistem
Icon[id]=calamares
GenericName[id]=Pemasang
Comment[id]=Calamares — Pemasang Sistem
Name[ie]=Installar li sistema
Icon[ie]=calamares
GenericName[ie]=Installator del sistema
Comment[ie]=Calamares — Installator del sistema
Name[is]=Setja upp kerfið
Icon[is]=calamares
GenericName[is]=Kerfis uppsetning
Comment[is]=Calamares — Kerfis uppsetning
Name[cs_CZ]=Nainstalovat systém
Icon[cs_CZ]=calamares
GenericName[cs_CZ]=Instalátor systému
Comment[cs_CZ]=Calamares instalátor operačních systémů
Name[it_IT]=Installa il sistema
Icon[it_IT]=calamares
GenericName[it_IT]=Programma d'installazione del sistema
Comment[it_IT]=Calamares — Programma d'installazione del sistema
Name[ja]=システムをインストール
Icon[ja]=calamares
GenericName[ja]=システムインストーラー
@@ -126,10 +154,6 @@ Name[lt]=Įdiegti Sistemą
Icon[lt]=calamares
GenericName[lt]=Sistemos diegimas į kompiuterį
Comment[lt]=Calamares — Sistemos diegimo programa
Name[it_IT]=Installa il sistema
Icon[it_IT]=calamares
GenericName[it_IT]=Programma d'installazione del sistema
Comment[it_IT]=Calamares — Programma d'installazione del sistema
Name[mk]=Инсталирај го системот
Icon[mk]=calamares
GenericName[mk]=Системен Инсталер
@@ -142,14 +166,14 @@ Name[nb]=Installer System
Icon[nb]=calamares
GenericName[nb]=Systeminstallatør
Comment[nb]=Calamares-systeminstallatør
Name[ne_NP]= सिस्टम इन्स्टल गर्नुहोस्
Icon[ne_NP]=Calamares
GenericName[ne_NP]=सिस्टम इन्स्टलर
Comment[ne_NP]=Calamares - सिस्टम इन्स्टलर
Name[nl]=Installeer systeem
Icon[nl]=calamares
GenericName[nl]=Installatieprogramma
Comment[nl]=Calamares — Installatieprogramma
Name[az_AZ]=Sistemi quraşdırmaq
Icon[az_AZ]=calamares
GenericName[az_AZ]=Sistem quraşdırcısı
Comment[az_AZ]=Calamares — Sistem Quraşdırıcısı
Name[pl]=Zainstaluj system
Icon[pl]=calamares
GenericName[pl]=Instalator systemu
@@ -158,6 +182,10 @@ Name[pt_BR]=Sistema de Instalação
Icon[pt_BR]=calamares
GenericName[pt_BR]=Instalador de Sistema
Comment[pt_BR]=Calamares — Instalador de Sistema
Name[pt_PT]=Instalar Sistema
Icon[pt_PT]=calamares
GenericName[pt_PT]=Instalador de Sistema
Comment[pt_PT]=Instalador de Sistema - Calamares
Name[ro]=Instalează sistemul
Icon[ro]=calamares
GenericName[ro]=Instalator de sistem
@@ -166,6 +194,10 @@ Name[ru]=Установить систему
Icon[ru]=calamares
GenericName[ru]=Установщик системы
Comment[ru]=Calamares - Установщик системы
Name[si]=පද්ධතිය ස්ථාපනය කරන්න
Icon[si]=කැලමරේස්
GenericName[si]=පද්ධති ස්ථාපකය
Comment[si]=Calamares - පද්ධති ස්ථාපකය
Name[sk]=Inštalovať systém
Icon[sk]=calamares
GenericName[sk]=Inštalátor systému
@@ -175,15 +207,11 @@ Name[sq]=Instalo Sistemin
Icon[sq]=calamares
GenericName[sq]=Instalues Sistemi
Comment[sq]=Calamares — Instalues Sistemi
Name[fi_FI]=Asenna Järjestelmä
Icon[fi_FI]=calamares
GenericName[fi_FI]=Järjestelmän Asennusohjelma
Comment[fi_FI]=Calamares — Järjestelmän Asentaja
Name[sr@latin]=Instaliraj sistem
Name[sr]=Инсталирај систем
Icon[sr]=calamares
GenericName[sr]=Инсталатер система
Comment[sr]=Каламарес — инсталатер система
Name[sr@latin]=Instaliraj sistem
Name[sv]=Installera system
Icon[sv]=calamares
GenericName[sv]=Systeminstallerare
@@ -193,10 +221,18 @@ Icon[tg]=calamares
GenericName[tg]=Насбкунандаи низомӣ
Comment[tg]=Calamares — Насбкунандаи низомӣ
Name[th]=ติดตั้งระบบ
Name[tr_TR]=Sistemi Yükle
Icon[tr_TR]=calamares
GenericName[tr_TR]=Sistem Yükleyici
Comment[tr_TR]=Calamares — Sistem Yükleyici
Name[uk]=Встановити Систему
Icon[uk]=calamares
GenericName[uk]=Встановлювач системи
Comment[uk]=Calamares - Встановлювач системи
Name[vi]=Cài đặt hệ thống
Icon[vi]=calamares
GenericName[vi]=Bộ cài đặt hệ thống
Comment[vi]=Calamares — Bộ cài đặt hệ thống
Name[zh_CN]=安装系统
Icon[zh_CN]=calamares
GenericName[zh_CN]=系统安装程序
@@ -205,27 +241,3 @@ Name[zh_TW]=安裝系統
Icon[zh_TW]=calamares
GenericName[zh_TW]=系統安裝程式
Comment[zh_TW]=Calamares ── 系統安裝程式
Name[ast]=Instalar el sistema
Icon[ast]=calamares
GenericName[ast]=Instalador del sistema
Comment[ast]=Calamares — Instalador del sistema
Name[eo]=Instali Sistemo
Icon[eo]=calamares
GenericName[eo]=Sistema Instalilo
Comment[eo]=Calamares — Sistema Instalilo
Name[ne_NP]= सिस्टम इन्स्टल गर्नुहोस्
Icon[ne_NP]=Calamares
GenericName[ne_NP]=सिस्टम इन्स्टलर
Comment[ne_NP]=Calamares - सिस्टम इन्स्टलर
Name[es_MX]=Instalar el Sistema
Icon[es_MX]=calamares
GenericName[es_MX]=Instalador del sistema
Comment[es_MX]=Calamares - Instalador del sistema
Name[pt_PT]=Instalar Sistema
Icon[pt_PT]=calamares
GenericName[pt_PT]=Instalador de Sistema
Comment[pt_PT]=Calamares - Instalador de Sistema
Name[tr_TR]=Sistemi Yükle
Icon[tr_TR]=calamares
GenericName[tr_TR]=Sistem Yükleyici
Comment[tr_TR]=Calamares — Sistem Yükleyici

View File

@@ -5,7 +5,7 @@ Name=Install System
GenericName=System Installer
Keywords=calamares;system;installer;
TryExec=calamares
Exec=pkexec /usr/bin/calamares
Exec=sh -c "pkexec calamares"
Comment=Calamares — System Installer
Icon=calamares
Terminal=false

View File

@@ -1,45 +0,0 @@
# AppImage building for Calamares
> It is possible to build Calamares as an AppImage (perhaps other
> containerized formats as well). This might make sense for
> OEM phase-1 deployments in environments where Calamares is
> not using the native toolkit.
## AppImage tools
You will need
- [`linuxdeploy-x86_64.AppImage`](https://github.com/linuxdeploy/linuxdeploy/releases)
- [`linuxdeploy-plugin-qt-x86_64.AppImage`](https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases)
- [`linuxdeploy-plugin-conda.sh`](https://github.com/linuxdeploy/linuxdeploy-plugin-conda)
These tools should run -- they are bundled as AppImages after all -- on
any modern Linux system. The [AppImage packaging documentation](https://docs.appimage.org/packaging-guide/)
explains how the whole tooling works.
If the tools are not present, the build script (see below) will download them,
but you should save them for later.
## AppImage build
From the **source** directory, run `ci/AppImage.sh`:
- Use `--tools-dir` to copy the tools from a local cache rather than
downloading them again.
- Run it with `--cmake-args` for special CMake handling.
- Use `--skip-build` to avoid rebuilding Calamares all the time.
- Use `--config-dir` to copy in Calamares configuration files (e.g.
*settings.conf* and the module configuration files) from a given
directory.
The build process will:
- copy (or download) the AppImage tools into a fresh build directory
- configure and build Calamares with suitable settings
- modifies the standard `.desktop` file to be AppImage-compatible
- builds the image with the AppImage tools
## AppImage caveats
The resulting AppImage, `Calamares-x86_64.AppImage`, can be run as if it is
a regular Calamares executable. For internal reasons it always passes the
`-X` flag; any other command-line flags are passed in unchanged. Internally,
`XDG_*_DIRS` are used to get Calamares to find the resources inside the AppImage
rather than in the host system.

View File

@@ -1,9 +1,8 @@
#! /bin/sh
#
# SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# Copyright 2019 Adriaan de Groot <groot@kde.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:

View File

@@ -1 +0,0 @@
This has moved [to the wiki](https://github.com/calamares/calamares/wiki/Develop-Code).

View File

@@ -1,13 +1,41 @@
# Calamares Release Process
<!-- SPDX-FileCopyrightText: 2015 Teo Mrnjavac <teo@kde.org>
SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
SPDX-License-Identifier: GPL-3.0-or-later
-->
> Calamares releases are now rolling when-they-are-ready releases.
> Releases are made from *calamares* and tagged there. When, in future,
> LTS releases resume, these steps may be edited again.
>
> Most things are automated through the release script [RELEASE.sh](RELEASE.sh)
## (0) During a release cycle
* Fetch latest translations from Transifex. We only push / pull translations
from *calamares* branch, so longer-lived branches (e.g. 3.1.x) don't get
translation updates. This is to keep the translation workflow simple.
The script automatically commits changes to the translations. It's ok
to do this during a release cycle. Run `sh ci/txpull.sh`
to fetch translations and commit the changes in one go.
* Push the strings to Transifex. From a checkout, run `ci/txpush.sh`
* Update the list of enabled translation languages in `CMakeLists.txt`.
Check the [translation site][transifex] for the list of languages with
fairly complete translations, or use `ci/txstats.py --edit` for an automated
suggestion. If there are changes, commit them.
## (1) Preparation
* Double-check the *CALAMARES_VERSION* value at the top of `CMakeLists.txt`.
* Set *CALAMARES_RELEASE_MODE* to `ON` in `CMakeLists.txt`.
* Edit `CHANGES-*` and set the date of the release. Pick the right
file for the release-stream.
* Commit both. This is usually done with commit-message
*Changes: pre-release housekeeping*.
## (2) Release Preparation
* Make sure all tests pass.
```
make
@@ -17,27 +45,16 @@
an additional environment variable to be set for some tests, which will
destroy an attached disk. This is not always desirable. There are some
sample config-files that are empty and which fail the config-tests.
* Pull latest translations from Transifex. We only push / pull translations
from master, so longer-lived branches (e.g. 3.1.x) don't get translation
updates. This is to keep the translation workflow simple. The script
automatically commits changes to the translations.
```
sh ci/txpull.sh
```
* Update the list of enabled translation languages in `CMakeLists.txt`.
Check the [translation site][transifex] for the list of languages with
fairly complete translations, or use `ci/txstats.py` for an automated
suggestion. If there are changes, commit them.
* Push the changes.
* Check defaults in `settings.conf` and other configuration files.
* Drop the RC variable to 0 in `CMakeLists.txt`, *CALAMARES_VERSION_RC*.
* Edit `CHANGES` and set the date of the release.
* Commit both. This is usually done with commit-message
*Changes: pre-release housekeeping*.
## (2) Release Day
Note that the release script (see below) also runs the tests and
will bail out if any fail.
* Make sure the translations are up-to-date. There is logic to check
for changes in translations: a movable tag *translations* indicates
when translations were last pushed, and the logic tries to enforce a
week of latency between push-translations and a release, to allow
translators to catch up. Run `ci/txcheck.sh` to confirm this.
Run `ci/txcheck.sh --cleanup` to tidy up afterwards, and possibly pass
`-T` to the release script to skip the translation-age check if you
feel it is warranted.
* Run the helper script `ci/RELEASE.sh` or follow steps below.
The script checks:
- for uncommitted local changes,
@@ -63,26 +80,14 @@ Follow the instructions printed by the release script.
## (4) Post-Release
* Bump the version number in `CMakeLists.txt` in the `project()` command.
* Set *CALAMARES_VERSION_RC* back to 1.
* Add a placeholder entry for the next release in `CHANGES` with date
text *not released yet*.
* Bump the version number in `CMakeLists.txt` in *CALAMARES_VERSION*.
* Set *CALAMARES_RELEASE_MODE* back to `OFF`.
* Add a placeholder entry for the next release in `CHANGES-*` with date
text *not released yet*. See the text below, "Placeholder Release".
Add the placeholder to the right file for the release-stream.
* Commit and push that, usually with the message
*Changes: post-release housekeeping*.
```
# 3.2.XX (unreleased) #
This release contains contributions from (alphabetically by first name):
- No external contributors yet
## Core ##
- No core changes yet
## Modules ##
- No module changes yet
```
# Related Material
> This section isn't directly related to any specific release,
@@ -114,7 +119,7 @@ ssb rsa3072/0xCFDDC96F12B1915C
the Calmares site or as part of a release announcement).
- Send the updated key to keyservers with `gpg --send-keys <keyid>`
- Optional: sanitize the keyring for use in development machines.
Export the current subkeys of the master key and keep **only** those
Export the current subkeys of the primary key and keep **only** those
secret keys around. There is documentation
[here](https://blog.tinned-software.net/create-gnupg-key-with-sub-keys-to-sign-encrypt-authenticate/)
but be careful.
@@ -123,3 +128,18 @@ ssb rsa3072/0xCFDDC96F12B1915C
- Upload that public key to the relevant GitHub profile.
- Upload that public key to the Calamares site.
## Placeholder Release Notes
```
# 3.2.XX (unreleased) #
This release contains contributions from (alphabetically by first name):
- No external contributors yet
## Core ##
- No core changes yet
## Modules ##
- No module changes yet
```

View File

@@ -1,9 +1,14 @@
#! /bin/sh
#
# SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
### USAGE
#
# Release script for Calamares
#
# NOTE: this script contains Linuxisms (in particular, expects GNU mktemp(1))
#
# This attempts to perform the different steps of the RELEASE.md
# document automatically. It's not tested on other machines or
# setups other than [ade]'s development VM.
@@ -70,6 +75,12 @@ fi
#
#
BUILDDIR=$(mktemp -d --suffix=-build --tmpdir=.)
KEY_ID="328D742D8807A435"
# Try to make gpg cache the signing key, so we can leave the process
# to run and sign.
rm -f CMakeLists.txt.gpg
gpg -s -u $KEY_ID CMakeLists.txt
### Build with default compiler
#
@@ -119,7 +130,6 @@ test -n "$V" || { echo "Could not obtain version in $BUILDDIR ." ; exit 1 ; }
#
# This is the signing key ID associated with the GitHub account adriaandegroot,
# which is used to create all "verified" tags in the Calamares repo.
KEY_ID="CFDDC96F12B1915C"
git tag -u "$KEY_ID" -m "Release v$V" "v$V" || { echo "Could not sign tag v$V." ; exit 1 ; }
### Create the tarball
@@ -140,6 +150,7 @@ test -d "$TMPDIR" || { echo "Could not create tarball-build directory." ; exit 1
tar xzf "$TAR_FILE" -C "$TMPDIR" || { echo "Could not unpack tarball." ; exit 1 ; }
test -d "$TMPDIR/$TAR_V" || { echo "Tarball did not contain source directory." ; exit 1 ; }
( cd "$TMPDIR/$TAR_V" && cmake . && make -j4 && make test ) || { echo "Tarball build failed in $TMPDIR ." ; exit 1 ; }
gpg -s -u $KEY_ID --detach --armor $TAR_FILE # Sign the tarball
### Cleanup
#
@@ -152,7 +163,6 @@ rm -rf "$TMPDIR" # From tarball
cat <<EOF
# Next steps for this release:
git push origin v$V
gpg -s -u $KEY_ID --detach --armor $TAR_FILE # Sign the tarball
# Upload tarball $TAR_FILE and the signature $TAR_FILE.asc
# Announce via https://github.com/calamares/calamares/releases/new
# SHA256: $SHA256

View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2014 Aurélien Gâteau <agateau@kde.org>
# SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
# Do not create a backup file
suffix=none

View File

@@ -1,7 +1,11 @@
#!/bin/sh
#
# SPDX-FileCopyrightText: 2014 Aurélien Gâteau <agateau@kde.org>
# SPDX-FileCopyrightText: 2019 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# Calls astyle with settings matching Calamares coding style
# Requires astyle >= 2.04 and clang-format-7
# Requires astyle >= 2.04 and clang-format-8 or later
#
# You can pass in directory names, in which case the files
# in that directory (NOT below it) are processed.
@@ -11,9 +15,16 @@ LC_ALL=C
LC_NUMERIC=C
export LANG LC_ALL LC_NUMERIC
BASEDIR=$(dirname $0)
TOPDIR=$( cd $BASEDIR/.. && pwd -P )
test -d "$BASEDIR" || { echo "! Could not determine base for $0" ; exit 1 ; }
test -d "$TOPDIR" || { echo "! Cound not determine top-level source dir" ; exit 1 ; }
test -f "$TOPDIR/.clang-format" || { echo "! No .clang-format support files in $TOPDIR" ; exit 1 ; }
AS=$( which astyle )
CF_VERSIONS="clang-format-7 clang-format-8 clang-format70 clang-format80 clang-format-9.0.1 clang-format"
# Allow specifying CF_VERSIONS outside already
CF_VERSIONS="$CF_VERSIONS clang-format13 clang-format-13 clang-format12 clang-format-12 clang-format"
for _cf in $CF_VERSIONS
do
# Not an error if this particular clang-format isn't found
@@ -26,8 +37,27 @@ test -n "$CF" || { echo "! No clang-format ($CF_VERSIONS) found in PATH"; exit 1
test -x "$AS" || { echo "! $AS is not executable."; exit 1 ; }
test -x "$CF" || { echo "! $CF is not executable."; exit 1 ; }
expr `"$CF" --version | tr -dc '[^.0-9]' | cut -d . -f 1` '<' 10 > /dev/null || { echo "! $CF is version 10 or later, needs different .clang-format" ; exit 1 ; }
### CLANG-FORMAT-WRANGLING
#
# Version 7 and earlier doesn't understand all the options we would like
# Version 12 handles lambdas nicely, so use that.
# Version 13 is also ok.
format_version=`"$CF" --version | tr -dc '[^.0-9]' | cut -d . -f 1`
case "$format_version" in
12|13 )
:
;;
* )
echo "! Clang-format version '$format_version' unsupported, version 12 required."
exit 1
;;
esac
### FILE PROCESSING
#
#
set -e
any_dirs=no
@@ -38,8 +68,10 @@ done
style_some()
{
$AS --options=$(dirname $0)/astylerc --quiet "$@"
$CF -i -style=file "$@"
if test -n "$*" ; then
$AS --options=$BASEDIR/astylerc --quiet "$@"
$CF -i -style=file "$@"
fi
}
if test "x$any_dirs" = "xyes" ; then

14
ci/configvalidator.py Normal file → Executable file
View File

@@ -2,7 +2,6 @@
#
# SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
# License-Filename: LICENSES/BSD2
#
usage = """
Validates a Calamares config file -- YAML syntax -- against a schema.
@@ -14,6 +13,7 @@ JSON-representable, anyway.
Usage:
configvalidator.py <schema> <file> ...
configvalidator.py -m <module>
configvalidator.py -x
Exits with value 0 on success, otherwise:
@@ -23,6 +23,8 @@ Exits with value 0 on success, otherwise:
4 if files have invalid syntax
5 if files fail to validate
Use -x as only command-line argument to check the imports only.
Use -m <module> as shorthand for standard paths in src/modules/<module>/
"""
# The schemata originally lived outside the Calamares repository,
@@ -46,6 +48,7 @@ ERR_IMPORT, ERR_USAGE, ERR_FILE_NOT_FOUND, ERR_SYNTAX, ERR_INVALID = range(1,6)
#
try:
from jsonschema import validate, SchemaError, ValidationError
from jsonschema import draft7_format_checker
from yaml import safe_load, YAMLError
except ImportError as e:
print(e)
@@ -65,8 +68,13 @@ if len(sys.argv) < 3:
print(usage)
exit(ERR_USAGE)
schema_file_name = sys.argv[1]
config_file_names = sys.argv[2:]
if len(sys.argv) == 3 and sys.argv[1] == "-m":
module = sys.argv[2]
schema_file_name = f"src/modules/{module}/{module}.schema.yaml"
config_file_names = [ f"src/modules/{module}/{module}.conf" ]
else:
schema_file_name = sys.argv[1]
config_file_names = sys.argv[2:]
if not exists(schema_file_name):
print(usage)

View File

@@ -3,4 +3,7 @@
Calamares doesn't seem to geenerate any false positives,
so the model-file is empty.
SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
SPDX-License-Identifier: BSD-2-Clause
*/

View File

@@ -1,4 +0,0 @@
#!/bin/bash
cd "$WORKSPACE"
cppcheck --enable=all --inconclusive --xml --xml-version=2 src 2> cppcheck.xml

View File

@@ -0,0 +1,9 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Stubs for part of the Python API from libcalamares
# (although the **actual** API is presented through
# Boost::Python, not as a bare C-extension) so that
# pylint doesn't complain about libcalamares internals.
VERSION_SHORT="1.0"

View File

@@ -0,0 +1,24 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Stubs for part of the Python API from libcalamares
# (although the **actual** API is presented through
# Boost::Python, not as a bare C-extension) so that
# pylint doesn't complain about libcalamares internals.
def count(): return 1
def keys(): return []
def contains(_): return True
def value(key):
if key in ("branding",):
return dict()
if key in ("partitions",):
return list()
return ""
def insert(key, value): pass
def remove(_): pass

15
ci/libcalamares/job.py Normal file
View File

@@ -0,0 +1,15 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Stubs for part of the Python API from libcalamares
# (although the **actual** API is presented through
# Boost::Python, not as a bare C-extension) so that
# pylint doesn't complain about libcalamares internals.
configuration = dict()
def setprogress(_): pass
def pretty_name(): return ""
def working_path(): return ""

27
ci/libcalamares/utils.py Normal file
View File

@@ -0,0 +1,27 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Stubs for part of the Python API from libcalamares
# (although the **actual** API is presented through
# Boost::Python, not as a bare C-extension) so that
# pylint doesn't complain about libcalamares internals.
def debug(_): pass
def warning(_): pass
def error(_): pass
def gettext_path(): pass
def gettext_languages(): pass
def target_env_call(_): return 0
def check_target_env_call(_): pass
def target_env_process_output(cmd, *args): return 0
def host_env_process_output(cmd, *args): return 0
def mount(device, mountpoint, fstype, options): return 0

View File

@@ -1,13 +0,0 @@
# Build configuration on Travis.
#
# Defines a CMAKE_ARGS variable for use with cmake
#
# This file is sourced by travis.sh, and exports the variables
# to the environment.
CMAKE_ARGS="\
-DCMAKE_BUILD_TYPE=Release \
-DWEBVIEW_FORCE_WEBKIT=1 \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DWITH_PYTHONQT=OFF"
export CMAKE_ARGS

View File

@@ -1,55 +0,0 @@
#! /bin/sh
#
# Travis CI script for use on every-commit:
# - build and install Calamares
#
test -n "$BUILDDIR" || { echo "! \$BUILDDIR not set" ; exit 1 ; }
test -n "$SRCDIR" || { echo "! \$SRCDIR not set" ; exit 1 ; }
test -d $BUILDDIR || { echo "! $BUILDDIR not a directory" ; exit 1 ; }
test -d $SRCDIR || { echo "! $SRCDIR not a directory" ; exit 1 ; }
test -f $SRCDIR/CMakeLists.txt || { echo "! Missing $SRCDIR/CMakeLists.txt" ; exit 1 ; }
cd $BUILDDIR || exit 1
section() {
echo "###"
echo "### $1"
echo "###"
pwd -P
df -h
}
section "cmake $CMAKE_ARGS $SRCDIR"
cmake $CMAKE_ARGS $SRCDIR || { echo "! CMake failed" ; exit 1 ; }
section "make"
make -j2 VERBOSE=1 || { echo "! Make recheck" ; pwd -P ; df -h ; make -j1 VERBOSE=1 ; echo "! Make failed" ; exit 1 ; }
section "make install"
install_debugging() {
ls -la $( find "$1" -type f -name '*.so' )
}
echo "# Build results"
install_debugging "$BUILDDIR"
echo "# Install"
DESTDIR=/build/INSTALL_ROOT
mkdir -p "$DESTDIR"
if make install VERBOSE=1 DESTDIR="$DESTDIR" ;
then
echo "# .. install OK"
result=true
else
echo "# .. install failed"
result=false
fi
section "Install results"
install_debugging "$DESTDIR"
$result || { echo "! Install failed" ; exit 1 ; } # Result of make install, above

View File

@@ -1,34 +0,0 @@
#! /bin/sh
#
# Travis CI script for weekly (cron) use:
# - use the coverity tool to build and and upload results
#
test -n "$COVERITY_SCAN_TOKEN" || { echo "! Missing Coverity token" ; exit 1 ; }
test -n "$BUILDDIR" || { echo "! \$BUILDDIR not set" ; exit 1 ; }
test -n "$SRCDIR" || { echo "! \$SRCDIR not set" ; exit 1 ; }
test -d $BUILDDIR || { echo "! $BUILDDIR not a directory" ; exit 1 ; }
test -d $SRCDIR || { echo "! $SRCDIR not a directory" ; exit 1 ; }
test -f $SRCDIR/CMakeLists.txt || { echo "! Missing $SRCDIR/CMakeLists.txt" ; exit 1 ; }
cd $BUILDDIR || exit 1
curl -k -o coverity_tool.tar.gz \
-d "token=$COVERITY_SCAN_TOKEN&project=calamares%2Fcalamares" \
https://scan.coverity.com/download/cxx/linux64 || exit 1
mkdir "$BUILDDIR/coveritytool"
tar xvf coverity_tool.tar.gz -C "$BUILDDIR/coveritytool" --strip-components 2
export PATH="$BUILDDIR/coveritytool/bin:$PATH"
echo "# cmake -DCMAKE_BUILD_TYPE=Debug $CMAKE_ARGS $SRCDIR"
cmake -DCMAKE_BUILD_TYPE=Debug $CMAKE_ARGS $SRCDIR || exit 1
cov-build --dir cov-int make -j2
tar caf calamares-ci.tar.xz cov-int
curl -k --form token=$COVERITY_SCAN_TOKEN \
--form email=groot@kde.org \
--form file=@calamares-ci.tar.xz \
--form version="calamares-`date -u +%Y%m%d`" \
--form description="calamares on `date -u`" \
https://scan.coverity.com/builds?project=calamares%2Fcalamares

View File

@@ -1,21 +0,0 @@
#! /bin/sh
#
# Travis build driver script:
# - the regular CI runs, triggered by commits, run a script that builds
# and installs calamares, and then runs the tests.
# - the cronjob CI runs, triggered weekly, run a script that uses the
# coverity tools to submit a build. This is slightly more resource-
# intensive than the coverity add-on, but works on master.
#
D=`dirname "$0"`
test -d "$D" || { echo "! No directory $D" ; exit 1 ; }
test -x "$D/travis-continuous.sh" || { echo "! Missing -continuous" ; exit 1 ; }
test -x "$D/travis-coverity.sh" || { echo "! Missing -coverity" ; exit 1 ; }
test -f "$D/travis-config.sh" && . "$D/travis-config.sh"
if test "$TRAVIS_EVENT_TYPE" = "cron" ; then
exec "$D/travis-coverity.sh"
else
exec "$D/travis-continuous.sh"
fi

4
ci/txcheck.sh Normal file → Executable file
View File

@@ -1,10 +1,10 @@
#! /bin/sh
### LICENSE
# === This file is part of Calamares - <https://github.com/calamares> ===
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-License-Identifier: BSD-2-Clause
# SPDX-FileCopyrightText: 2019-2020 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# This file is Free Software: you can redistribute it and/or modify
# it under the terms of the 2-clause BSD License.

View File

@@ -1,11 +1,11 @@
#!/bin/sh
### LICENSE
# === This file is part of Calamares - <https://github.com/calamares> ===
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-License-Identifier: BSD-2-Clause
# SPDX-FileCopyrightText: 2017-2020 Adriaan de Groot <groot@kde.org>
# SPDX-FileCopyrightText: 2015-2016 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2017-2020 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# This file is Free Software: you can redistribute it and/or modify
# it under the terms of the 2-clause BSD License.
@@ -69,9 +69,6 @@ drop_language() {
mv calamares.desktop.new calamares.desktop
}
drop_language es_ES
drop_language pl_PL
# Also fix the .desktop file, which has some fields removed by Transifex.
#
{ cat calamares.desktop.in ; grep "\\[[a-zA-Z_@]*]=" calamares.desktop ; } > calamares.desktop.new
@@ -108,6 +105,21 @@ awk '
skip=0; print $0;
}}' < calamares.desktop > calamares.desktop.new
mv calamares.desktop.new calamares.desktop
# Now group translated key-names (Name, Icon, Description, ..) by sorted
# language key rather than random-ish language-key order (which shuffles
# entries around).
#
# First, the non-translated lines
grep -v '\[.*\]=' calamares.desktop > calamares.desktop.new
# The translated lines:
# - replace (the first) [] by | so we have a consistent field separator
# - sort based on field 2, then 1 (language code, then reversed key-name)
# - replace the first | by [, the first (remaining) | by ]
# Effectively this puts the fields in this order: Name, Icon, Generic Name,
# Comment -- within each language key. This keeps churn down since the
# language codes and key-names are constant.
grep '\[.*\]=' calamares.desktop | sed -e 's/\[/|/' -e 's/\]/|/' | sort -t '|' -k 2,2 -k 1,1r | sed -e 's/|/\[/' | sed -e 's/|/\]/' >> calamares.desktop.new
mv calamares.desktop.new calamares.desktop
git add --verbose calamares.desktop
git commit "$AUTHOR" --message="i18n: [desktop] $BOILERPLATE" | true
@@ -116,6 +128,19 @@ git commit "$AUTHOR" --message="i18n: [desktop] $BOILERPLATE" | true
# PO-Created line). This applies only to modules which use po-files.
git diff --numstat src/modules | awk '($1==1 && $2==1){print $3}' | xargs git checkout --
# sed either wants -i'' (GNU sed) or -i '' (BSD sed) to
# replace in a file, with no backup extension. Define
# a `reinplace` command to deal with the difference.
if test FreeBSD = `uname` ; then
reinplace() {
sed -i '' "$@"
}
else
reinplace() {
sed -i'' "$@"
}
fi
# Go through the Python modules; those with a lang/ subdir have their
# own complete gettext-based setup.
for MODULE_DIR in $(find src/modules -maxdepth 1 -mindepth 1 -type d) ; do
@@ -125,8 +150,8 @@ 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
reinplace '/^"Content-Type/s/CHARSET/UTF-8/' $POFILE
# msgfmt -o ${POFILE%.po}.mo $POFILE
done
git add --verbose ${MODULE_DIR}/lang/*
git commit "$AUTHOR" --message="i18n: [${MODULE_NAME}] $BOILERPLATE" | true
@@ -135,8 +160,8 @@ 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
reinplace '/^"Content-Type/s/CHARSET/UTF-8/' $POFILE
# msgfmt -o ${POFILE%.po}.mo $POFILE
done
git add --verbose lang/python*
git commit "$AUTHOR" --message="i18n: [python] $BOILERPLATE" | true

View File

@@ -1,11 +1,11 @@
#!/bin/sh
### LICENSE
# === This file is part of Calamares - <https://github.com/calamares> ===
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-License-Identifier: BSD-2-Clause
# SPDX-FileCopyrightText: 2017-2020 Adriaan de Groot <groot@kde.org>
# SPDX-FileCopyrightText: 2015-2016 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2017-2020 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# This file is Free Software: you can redistribute it and/or modify
# it under the terms of the 2-clause BSD License.
@@ -92,9 +92,16 @@ done
# those are done separately.
_srcdirs="src/calamares src/libcalamares src/libcalamaresui src/modules src/qml"
$LUPDATE -no-obsolete $_srcdirs -ts lang/calamares_en.ts
# Updating the TZ only needs to happen when the TZ themselves are updated,
# very-very-rarely.
# Non-Transifex special-cases
#
# - timezone names can be translated, but that's 700+ strings I don't want
# to inflict on translators normally
# - keyboard layouts can be translated, but that's 767 strings
#
# For both of these, the language / translation only needs to be updated
# when the source data is updated, which is very very rarely.
# $LUPDATE -no-obsolete -extensions cxxtr src/libcalamares/locale -ts lang/tz_en.ts
# $LUPDATE -no-obsolete -extensions cxxtr src/modules/keyboard -ts lang/kb_en.ts
if test -n "$XMLLINT" ; then
TS_FILE="lang/calamares_en.ts"

3
ci/txreduce.py Normal file → Executable file
View File

@@ -1,5 +1,8 @@
#! /usr/bin/env python3
#
# SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# Reduce a translation file -- generally, a Timezone translation -- by
# dropping untranslated strings. An untranslated string is one that
# has an empty translation **and** is marked unfinished.

View File

@@ -1,5 +1,8 @@
#! /usr/bin/env python3
#
# SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# Uses the Transifex API to get a list of enabled languages,
# and outputs CMake settings for inclusion into CMakeLists.txt.
#
@@ -8,6 +11,7 @@
# Run it with a -v command-line option to get extra output on
# actual translation percentages.
import sys
import os
import argparse
class TXError(Exception):
@@ -169,7 +173,6 @@ def get_tx_stats(languages, outputter, verbose):
If @p verbose is True, prints out language stats as well.
"""
suppressed_languages = ( "es_ES", ) # In Transifex, but not used
# Some languages go into the "incomplete" list by definition,
# regardless of their completion status: this can have various reasons.
#
@@ -184,8 +187,6 @@ def get_tx_stats(languages, outputter, verbose):
all_langs = []
outputter.print("# Total %d languages" % len(languages))
for lang_name in languages:
if lang_name in suppressed_languages:
continue
stats = languages[lang_name]["translated"]["percentage"]
# Make the by-definition-incomplete languages have a percentage
# lower than zero; this way they end up sorted (in -v output)
@@ -202,6 +203,38 @@ def get_tx_stats(languages, outputter, verbose):
output_langs(all_langs, outputter, "ok", lambda s : 0.75 > s >= 0.05)
output_langs(all_langs, outputter, "incomplete", lambda s : 0.05 > s)
# Audit the languages that are in TX, mapped to git
for lang_name in languages:
if not os.path.exists("lang/calamares_{}.ts".format(lang_name)):
print("# !! Missing translation file for {}".format(lang_name))
if not os.path.isdir("lang/python/{}/LC_MESSAGES".format(lang_name)):
print("# !! Missing Python translation file for {}".format(lang_name))
# Audit the files that are in git, mapped to TX
special_cases = ("python.pot", "python", "CMakeLists.txt", "txload.cpp", "calamares_i18n.qrc.in")
for file_name in os.listdir("lang"):
if file_name in special_cases:
continue
elif file_name.startswith("calamares_") and file_name.endswith(".ts"):
key = file_name[10:-3]
if not key in languages and not key == "en":
print("# !! Translation file for {} not in TX".format(key))
elif file_name.startswith("tz_") and file_name.endswith(".ts"):
key = file_name[3:-3]
if not key in languages and not key == "en":
print("# !! Translation file for TZ {} not in TX".format(key))
elif file_name.startswith("kb_") and file_name.endswith(".ts"):
key = file_name[3:-3]
if not key in languages and not key == "en":
print("# !! Translation file for KB {} not in TX".format(key))
else:
print("# !! Weird translation file {} not in TX".format(file_name))
# Audit the python translation files that are in git, mapped to TX
for file_name in os.listdir("lang/python"):
if file_name not in languages:
print("# !! Translation file for Python {} not in TX".format(file_name))
return 0

29
ci/umount.sh Executable file
View File

@@ -0,0 +1,29 @@
#! /bin/sh
### LICENSE
# === This file is part of Calamares - <https://calamares.io> ===
#
# SPDX-FileCopyrightText: 2022 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
#
# This file is Free Software: you can redistribute it and/or modify
# it under the terms of the 2-clause BSD License.
#
### END LICENSE
#
# This is an "unmount" script that tries to unmount whatever
# filesystems Calamares might have left mounted (e.g. because of
# a crash, or ^C'ing the installer, or ..).
#
# Swap may have become enabled on the disks just used; assume
# we're in a live session where we don't want any.
sudo swapoff -a
# In Arch-based systems, there may be a gpg-agent started by
# pacman during installation, which lives in the chroot. Kill
# them all; again assume we're in a live session where it doesn't matter.
sudo pkill gpg-agent
# Unmount the filesystems in *reverse* order, since we need to ditch
# e.g. /run/udev before /run before the root filesystem.
sudo umount $( LC_ALL=C mount | awk '/calamares-root/{print $3}' | LC_ALL=C sort -r )

View File

@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")

View File

@@ -1,4 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- SPDX-FileCopyrightText: no
SPDX-License-Identifier: CC0-1.0
-->
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
@@ -19,4 +22,4 @@
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/calamares</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>
</policyconfig>

View File

@@ -1,34 +0,0 @@
# $FreeBSD$
PORTNAME= calamares
DISTVERSION= 3.2.25
CATEGORIES= sysutils
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/v${DISTVERSION}/
MAINTAINER= adridg@FreeBSD.org
COMMENT= GUI System installer and OEM configurator
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libyaml-cpp.so:devel/yaml-cpp \
libpwquality.so:security/libpwquality \
libboost_python${PYTHON_SUFFIX}.so:devel/boost-python-libs
USES= cmake compiler:c++17-lang gettext kde:5 pkgconfig \
python:3.3+ qt:5
USE_QT= concurrent core dbus declarative gui \
network quickcontrols2 svg widgets xml \
buildtools_build linguist_build qmake_build
USE_KDE= coreaddons dbusaddons parts service \
ecm_build
USE_LDCONFIG= yes
CMAKE_OFF= WITH_KF5Crash \
INSTALL_CONFIG \
INSTALL_COMPLETION \
INSTALL_POLKIT
CMAKE_ON= CMAKE_DISABLE_FIND_PACKAGE_KPMcore
CMAKE_ARGS= -DSKIP_MODULES="webview"
.include <bsd.port.mk>

View File

@@ -1,3 +0,0 @@
TIMESTAMP = 1592339404
SHA256 (calamares-3.2.25.tar.gz) = 797ce33db7d4e4c06bbccef95f6c4023f7628e91bd142896695565fed4ae8c4b
SIZE (calamares-3.2.25.tar.gz) = 3580197

View File

@@ -1,14 +0,0 @@
Calamares is an installer framework. By design it is very customizable,
in order to satisfy a wide variety of needs and use cases.
Calamares aims to be easy, usable, beautiful, pragmatic, inclusive and
distribution-agnostic.
Got a Linux distribution but no system installer? Grab Calamares, mix
and match any number of Calamares modules (or write your own in Python
or C++), throw together some branding, package it up and you are ready
to ship!
(The above applies to FreeBSD as well)
WWW: https://calamares.io/

View File

@@ -1,224 +0,0 @@
bin/calamares
include/libcalamares/CalamaresConfig.h
include/libcalamares/CppJob.h
include/libcalamares/DllMacro.h
include/libcalamares/GlobalStorage.h
include/libcalamares/Job.h
include/libcalamares/JobExample.h
include/libcalamares/JobQueue.h
include/libcalamares/ProcessJob.h
include/libcalamares/PythonHelper.h
include/libcalamares/PythonJob.h
include/libcalamares/PythonJobApi.h
include/libcalamares/Settings.h
include/libcalamares/utils/BoostPython.h
include/libcalamares/utils/CalamaresUtilsSystem.h
include/libcalamares/utils/CommandList.h
include/libcalamares/utils/Dirs.h
include/libcalamares/utils/Entropy.h
include/libcalamares/utils/Logger.h
include/libcalamares/utils/NamedEnum.h
include/libcalamares/utils/NamedSuffix.h
include/libcalamares/utils/PluginFactory.h
include/libcalamares/utils/RAII.h
include/libcalamares/utils/Retranslator.h
include/libcalamares/utils/String.h
include/libcalamares/utils/Tests.h
include/libcalamares/utils/UMask.h
include/libcalamares/utils/Units.h
include/libcalamares/utils/Variant.h
include/libcalamares/utils/Yaml.h
include/libcalamares/utils/moc-warnings.h
lib/calamares/libcalamares.so
lib/calamares/modules/bootloader/main.py
lib/calamares/modules/bootloader/module.desc
lib/calamares/modules/bootloader/test.yaml
lib/calamares/modules/contextualprocess/libcalamares_job_contextualprocess.so
lib/calamares/modules/contextualprocess/module.desc
lib/calamares/modules/displaymanager/main.py
lib/calamares/modules/displaymanager/module.desc
lib/calamares/modules/dracut/main.py
lib/calamares/modules/dracut/module.desc
lib/calamares/modules/dracutlukscfg/libcalamares_job_dracutlukscfg.so
lib/calamares/modules/dracutlukscfg/module.desc
lib/calamares/modules/dummycpp/libcalamares_job_dummycpp.so
lib/calamares/modules/dummycpp/module.desc
lib/calamares/modules/dummyprocess/module.desc
lib/calamares/modules/dummypython/main.py
lib/calamares/modules/dummypython/module.desc
lib/calamares/modules/finished/libcalamares_viewmodule_finished.so
lib/calamares/modules/finished/module.desc
lib/calamares/modules/fstab/main.py
lib/calamares/modules/fstab/module.desc
lib/calamares/modules/fstab/test.yaml
lib/calamares/modules/grubcfg/main.py
lib/calamares/modules/grubcfg/module.desc
lib/calamares/modules/hostinfo/libcalamares_job_hostinfo.so
lib/calamares/modules/hostinfo/module.desc
lib/calamares/modules/hwclock/main.py
lib/calamares/modules/hwclock/module.desc
lib/calamares/modules/initcpio/libcalamares_job_initcpio.so
lib/calamares/modules/initcpio/module.desc
lib/calamares/modules/initcpiocfg/main.py
lib/calamares/modules/initcpiocfg/module.desc
lib/calamares/modules/initramfs/libcalamares_job_initramfs.so
lib/calamares/modules/initramfs/module.desc
lib/calamares/modules/initramfscfg/encrypt_hook
lib/calamares/modules/initramfscfg/encrypt_hook_nokey
lib/calamares/modules/initramfscfg/main.py
lib/calamares/modules/initramfscfg/module.desc
lib/calamares/modules/interactiveterminal/libcalamares_viewmodule_interactiveterminal.so
lib/calamares/modules/interactiveterminal/module.desc
lib/calamares/modules/keyboard/libcalamares_viewmodule_keyboard.so
lib/calamares/modules/keyboard/module.desc
lib/calamares/modules/keyboardq/libcalamares_viewmodule_keyboardq.so
lib/calamares/modules/keyboardq/module.desc
lib/calamares/modules/license/libcalamares_viewmodule_license.so
lib/calamares/modules/license/module.desc
lib/calamares/modules/locale/libcalamares_viewmodule_locale.so
lib/calamares/modules/locale/module.desc
lib/calamares/modules/localecfg/main.py
lib/calamares/modules/localecfg/module.desc
lib/calamares/modules/localeq/libcalamares_viewmodule_localeq.so
lib/calamares/modules/localeq/module.desc
lib/calamares/modules/luksbootkeyfile/libcalamares_job_luksbootkeyfile.so
lib/calamares/modules/luksbootkeyfile/module.desc
lib/calamares/modules/luksopenswaphookcfg/main.py
lib/calamares/modules/luksopenswaphookcfg/module.desc
lib/calamares/modules/machineid/libcalamares_job_machineid.so
lib/calamares/modules/machineid/module.desc
lib/calamares/modules/mount/main.py
lib/calamares/modules/mount/module.desc
lib/calamares/modules/mount/test.yaml
lib/calamares/modules/netinstall/libcalamares_viewmodule_netinstall.so
lib/calamares/modules/netinstall/module.desc
lib/calamares/modules/networkcfg/main.py
lib/calamares/modules/networkcfg/module.desc
lib/calamares/modules/notesqml/libcalamares_viewmodule_notesqml.so
lib/calamares/modules/notesqml/module.desc
lib/calamares/modules/oemid/libcalamares_viewmodule_oemid.so
lib/calamares/modules/oemid/module.desc
lib/calamares/modules/openrcdmcryptcfg/main.py
lib/calamares/modules/openrcdmcryptcfg/module.desc
lib/calamares/modules/packagechooser/libcalamares_viewmodule_packagechooser.so
lib/calamares/modules/packagechooser/module.desc
lib/calamares/modules/packages/main.py
lib/calamares/modules/packages/module.desc
lib/calamares/modules/packages/test.yaml
lib/calamares/modules/plymouthcfg/main.py
lib/calamares/modules/plymouthcfg/module.desc
lib/calamares/modules/preservefiles/libcalamares_job_preservefiles.so
lib/calamares/modules/preservefiles/module.desc
lib/calamares/modules/rawfs/main.py
lib/calamares/modules/rawfs/module.desc
lib/calamares/modules/removeuser/libcalamares_job_removeuser.so
lib/calamares/modules/removeuser/module.desc
lib/calamares/modules/services-openrc/main.py
lib/calamares/modules/services-openrc/module.desc
lib/calamares/modules/services-systemd/main.py
lib/calamares/modules/services-systemd/module.desc
lib/calamares/modules/shellprocess/libcalamares_job_shellprocess.so
lib/calamares/modules/shellprocess/module.desc
lib/calamares/modules/summary/libcalamares_viewmodule_summary.so
lib/calamares/modules/summary/module.desc
lib/calamares/modules/tracking/libcalamares_viewmodule_tracking.so
lib/calamares/modules/tracking/module.desc
lib/calamares/modules/umount/main.py
lib/calamares/modules/umount/module.desc
lib/calamares/modules/unpackfs/main.py
lib/calamares/modules/unpackfs/module.desc
lib/calamares/modules/unpackfs/runtests.sh
lib/calamares/modules/users/libcalamares_viewmodule_users.so
lib/calamares/modules/users/module.desc
lib/calamares/modules/welcome/libcalamares_viewmodule_welcome.so
lib/calamares/modules/welcome/module.desc
lib/calamares/modules/welcomeq/libcalamares_viewmodule_welcomeq.so
lib/calamares/modules/welcomeq/module.desc
lib/cmake/Calamares/CMakeColors.cmake
lib/cmake/Calamares/CalamaresAddBrandingSubdirectory.cmake
lib/cmake/Calamares/CalamaresAddLibrary.cmake
lib/cmake/Calamares/CalamaresAddModuleSubdirectory.cmake
lib/cmake/Calamares/CalamaresAddPlugin.cmake
lib/cmake/Calamares/CalamaresAddTest.cmake
lib/cmake/Calamares/CalamaresAddTranslations.cmake
lib/cmake/Calamares/CalamaresAutomoc.cmake
lib/cmake/Calamares/CalamaresConfig.cmake
lib/cmake/Calamares/CalamaresConfigVersion.cmake
lib/cmake/Calamares/CalamaresLibraryDepends-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Calamares/CalamaresLibraryDepends.cmake
lib/cmake/Calamares/CalamaresUse.cmake
lib/libcalamares.so
lib/libcalamares.so.3.2.25
lib/libcalamaresui.so
lib/libcalamaresui.so.3.2.25
man/man8/calamares.8.gz
share/applications/calamares.desktop
%%DATADIR%%/branding/default/banner.png
%%DATADIR%%/branding/default/branding.desc
%%DATADIR%%/branding/default/lang/calamares-default_ar.qm
%%DATADIR%%/branding/default/lang/calamares-default_en.qm
%%DATADIR%%/branding/default/lang/calamares-default_eo.qm
%%DATADIR%%/branding/default/lang/calamares-default_fr.qm
%%DATADIR%%/branding/default/lang/calamares-default_nl.qm
%%DATADIR%%/branding/default/languages.png
%%DATADIR%%/branding/default/show.qml
%%DATADIR%%/branding/default/squid.png
%%DATADIR%%/branding/default/stylesheet.qss
%%DATADIR%%/qml/calamares/slideshow/BackButton.qml
%%DATADIR%%/qml/calamares/slideshow/ForwardButton.qml
%%DATADIR%%/qml/calamares/slideshow/NavButton.qml
%%DATADIR%%/qml/calamares/slideshow/Presentation.qml
%%DATADIR%%/qml/calamares/slideshow/Slide.qml
%%DATADIR%%/qml/calamares/slideshow/SlideCounter.qml
%%DATADIR%%/qml/calamares/slideshow/qmldir
share/icons/hicolor/scalable/apps/calamares.svg
share/locale/ar/LC_MESSAGES/calamares-python.mo
share/locale/as/LC_MESSAGES/calamares-python.mo
share/locale/ast/LC_MESSAGES/calamares-python.mo
share/locale/be/LC_MESSAGES/calamares-python.mo
share/locale/bg/LC_MESSAGES/calamares-python.mo
share/locale/ca/LC_MESSAGES/calamares-python.mo
share/locale/cs_CZ/LC_MESSAGES/calamares-python.mo
share/locale/da/LC_MESSAGES/calamares-python.mo
share/locale/de/LC_MESSAGES/calamares-python.mo
share/locale/el/LC_MESSAGES/calamares-python.mo
share/locale/en_GB/LC_MESSAGES/calamares-python.mo
share/locale/eo/LC_MESSAGES/calamares-python.mo
share/locale/es/LC_MESSAGES/calamares-python.mo
share/locale/es_MX/LC_MESSAGES/calamares-python.mo
share/locale/es_PR/LC_MESSAGES/calamares-python.mo
share/locale/et/LC_MESSAGES/calamares-python.mo
share/locale/eu/LC_MESSAGES/calamares-python.mo
share/locale/fi_FI/LC_MESSAGES/calamares-python.mo
share/locale/fr/LC_MESSAGES/calamares-python.mo
share/locale/gl/LC_MESSAGES/calamares-python.mo
share/locale/he/LC_MESSAGES/calamares-python.mo
share/locale/hi/LC_MESSAGES/calamares-python.mo
share/locale/hr/LC_MESSAGES/calamares-python.mo
share/locale/hu/LC_MESSAGES/calamares-python.mo
share/locale/id/LC_MESSAGES/calamares-python.mo
share/locale/is/LC_MESSAGES/calamares-python.mo
share/locale/it_IT/LC_MESSAGES/calamares-python.mo
share/locale/ja/LC_MESSAGES/calamares-python.mo
share/locale/ko/LC_MESSAGES/calamares-python.mo
share/locale/lt/LC_MESSAGES/calamares-python.mo
share/locale/ml/LC_MESSAGES/calamares-python.mo
share/locale/mr/LC_MESSAGES/calamares-python.mo
share/locale/nb/LC_MESSAGES/calamares-python.mo
share/locale/nl/LC_MESSAGES/calamares-python.mo
share/locale/pl/LC_MESSAGES/calamares-python.mo
share/locale/pt_BR/LC_MESSAGES/calamares-python.mo
share/locale/pt_PT/LC_MESSAGES/calamares-python.mo
share/locale/ro/LC_MESSAGES/calamares-python.mo
share/locale/ru/LC_MESSAGES/calamares-python.mo
share/locale/sk/LC_MESSAGES/calamares-python.mo
share/locale/sl/LC_MESSAGES/calamares-python.mo
share/locale/sq/LC_MESSAGES/calamares-python.mo
share/locale/sr/LC_MESSAGES/calamares-python.mo
share/locale/sr@latin/LC_MESSAGES/calamares-python.mo
share/locale/sv/LC_MESSAGES/calamares-python.mo
share/locale/th/LC_MESSAGES/calamares-python.mo
share/locale/tr_TR/LC_MESSAGES/calamares-python.mo
share/locale/uk/LC_MESSAGES/calamares-python.mo
share/locale/zh_CN/LC_MESSAGES/calamares-python.mo
share/locale/zh_TW/LC_MESSAGES/calamares-python.mo

View File

@@ -1,19 +1,10 @@
# === This file is part of Calamares - <https://github.com/calamares> ===
# === This file is part of Calamares - <https://calamares.io> ===
#
# Copyright 2020, Gaël PORTAY <gael.portay@gmail.com>
# SPDX-FileCopyrightText: 2020 Gaël PORTAY <gael.portay@gmail.com>
# SPDX-License-Identifier: GPL-3.0-or-later
#
# 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 Free Software: see the License-Identifier above.
#
# 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 <http://www.gnu.org/licenses/>.
_calamares()
{

Some files were not shown because too many files have changed in this diff Show More