Commit Graph

5143 Commits

Author SHA1 Message Date
Adriaan de Groot
4ab5b4a5e6 [calamares] Progress"tree" is a list
- No need for a TreeView when it's just a one-dimensional
  list of items.
2020-03-11 05:02:06 +01:00
Adriaan de Groot
99c03f7fbb [libcalamaresui] Behave better as a model 2020-03-11 05:01:39 +01:00
Adriaan de Groot
8f0a6d3065 [calamares] The ViewManager is its own model
- Having a ProgressTreeModel that does nothing but
  proxy to ViewManager methods is kind of useless.
- Move the relevant code from ProgressTreeModel to
  ViewManager.
- Remove now-unused ProgressTreeModel.
2020-03-11 04:49:38 +01:00
Adriaan de Groot
b209668d33 [calamares] Fix singleton-ness of the progress view
- Create the ViewManager earlier,
- Create a ProgressTreeModel here for the view,
- Do not weirdly set the model much later.
2020-03-11 04:37:10 +01:00
Adriaan de Groot
290a708e56 [calamares] No need for progresstreeview to be singleton 2020-03-10 21:26:05 -05:00
Adriaan de Groot
e9965d37e3 [calamares] Don't create sidebar if we don't want it 2020-03-10 18:05:24 -05:00
Adriaan de Groot
80f49bed1d [libcalamaresui] Add a sidebar flavor setting 2020-03-10 17:59:06 -05:00
Adriaan de Groot
9a63d63d5b [calamares] Factor out the creation of the sidebar 2020-03-10 17:13:19 -05:00
Adriaan de Groot
04cb5f14f7 [calamares] Role names for progress model 2020-03-10 16:56:22 -05:00
Adriaan de Groot
ba4b42b4ee [calamares] Introduce a "completed" role
- This is for future support of a QML progress view
2020-03-10 16:52:34 -05:00
Adriaan de Groot
d3f55af51e [calamares] Clean up progress tree model
- It's still not a real tree
- Remove unused classes / files
- Apply coding style
2020-03-10 14:13:18 -05:00
Adriaan de Groot
76144fb3dc [calamares] Remove superfluous ViewStepItem
- The model is a simple list, not a tree (it may have been in the
  distant past).
- All the information needed comes from the ViewSteps held by the
  ViewManager.
- The delegate and fake-step handling was never used.
2020-03-10 14:06:35 -05:00
Adriaan de Groot
5a59eb1963 [calamares] Remove unused method from progresstreemodel 2020-03-10 13:43:04 -05:00
Adriaan de Groot
7ec6dff352 [calamares] Apply coding style to progresstree 2020-03-10 13:30:43 -05:00
Adriaan de Groot
e2d9ce737c [netinstall] Implement pre-expanded groups
- Return relevant data
- Document code
- Add to README.md documentation about new key
2020-03-10 12:59:41 -05:00
Adriaan de Groot
b9b48cfbb1 [netinstall] Apply coding style
- Some missing {} were not noticed by astyle
2020-03-10 12:49:12 -05:00
Adriaan de Groot
4f216b0394 [netinstall] Refactor model-data setting
- Introduce convenience methods getString(), getBool() to pick
  out an entry from item definitions in YAML format.
- Apply coding style.
- Pick up the "expanded" property as well.
2020-03-10 12:46:49 -05:00
Adriaan de Groot
0f7f5216ee [netinstall] isHidden is const after construction 2020-03-10 12:39:35 -05:00
Adriaan de Groot
b074696ac1 [netinstall] isCritical is const after construction 2020-03-10 12:38:11 -05:00
Adriaan de Groot
09006a936d [netinstall] Expand groups if requested 2020-03-10 12:37:57 -05:00
Adriaan de Groot
4f22a70b08 [netinstall] Restructure model-method data() 2020-03-10 12:30:33 -05:00
Adriaan de Groot
df86972ea7 [netinstall] Introduce constexpr names for columns and roles 2020-03-10 12:22:56 -05:00
Adriaan de Groot
3d68c74a19 [netinstall] Sanitize PackageTreeItem::data()
- Use of != nullptr for QString just a bad idea
- Massage code so structure for packages resembles that of groups
2020-03-09 22:46:59 -05:00
Adriaan de Groot
201c5ddfe1 [netinstall] Add some debug-logging
- Also, prepare for a start-expanded setting
2020-03-09 22:44:16 -05:00
Adriaan de Groot
4cf3ec8663 [netinstall] Resolve TODO (changes translations) 2020-03-09 22:01:39 -05:00
Adriaan de Groot
3302fe319b [netinstall] Fix typo's in README 2020-03-09 21:58:30 -05:00
Adriaan de Groot
220fd31226 [partition] Improve EncryptionWidget
- Use normal translation framework. The EncryptWidget was the one place
  not using the "usual" translation framework, but rolled its own.
- Emphasize that the checkbox-state (checked-ness) is the parameter,
  not a state of the EncryptWidget.
- All other instances of UI classes from Designer use a pointer-to-UI,
  not multiple inheritance.
- Convenience method for setting the pixmap in response to
  changes in the passphrase
- Tighten up types: enum -> enum class
- Reduce the scope for int-confusion by using an enum-class for
  the encryption state of the widget
- Include UI implementation header only in .cpp
- Apply coding style
- Update copyright
2020-03-09 21:43:14 -05:00
Adriaan de Groot
1299c64415 [interactiveterminal] Tidy up includes
- The KF5/ part of the path isn't necessary, and some of the KF5
  includes can be found with a shorter name (with modern ECM and
  imported targets)
2020-03-09 21:13:19 -05:00
Adriaan de Groot
350627172d [partition] Tidy up includes 2020-03-09 21:09:24 -05:00
Adriaan de Groot
c5b038587e [welcome] Tidy up includes 2020-03-09 21:07:12 -05:00
Adriaan de Groot
ebb3f319cc [modules] Be more consistent in include punctuation
- Use <> for Qt, system, externals
 - Use double-quotes for Calamares headers
2020-03-09 21:05:15 -05:00
Adriaan de Groot
841ea9ff48 [libcalamares] Tidy up includes
- Remove commented-out includes
- Consistent punctuation
2020-03-09 21:05:15 -05:00
Adriaan de Groot
c4bfad9399 [packages] Provide status feedback
- The status message should be updated; the name is constant.

FIXES #1330
2020-03-09 15:41:17 -05:00
Adriaan de Groot
ef249043f9 [libcalamares] call Python method only from Python thread 2020-03-09 15:39:35 -05:00
Adriaan de Groot
b4aaf85ccf [libcalamares] Call Python function if available for status 2020-03-09 15:13:40 -05:00
Adriaan de Groot
252089e372 [libcalamares] Refactor pretty_name() call
- Split out a general method-that-returns-string caller.
2020-03-09 15:01:07 -05:00
Adriaan de Groot
ed4cdbeacc [dummypython] Provide status 2020-03-09 14:53:22 -05:00
Adriaan de Groot
aa62ca639b [libcalamares] Start getting prettyDescription from Python 2020-03-09 10:34:57 -05:00
Adriaan de Groot
9b5a391c86 [libcalamares] Factor out Python helper
- the strange construction of Helper and treating it as a singleton
  can be factored out into a separate singleton-handling instance()
  function. The Helper should never be destroyed.
2020-03-09 10:05:01 -05:00
Adriaan de Groot
3025c5383b [libcalamares] Document the pretty*() functions for Jobs 2020-03-05 08:54:42 -05:00
Adriaan de Groot
6d29c19e3e [libcalamares] Progress is float 2020-03-04 21:40:40 -05:00
Adriaan de Groot
d3828a82fc [packages] Make dummy backend slower
- insert sleeps to make it slower (easier when testing)
- improve debug logging clarity by noting where the messages
  are coming from
2020-03-04 21:31:47 -05:00
Adriaan de Groot
0abde6f1a7 [libcalamares] Don't print funcinfo in continuations
- when a single function does more logging, it generally marks
  those as subsequent debug-messages (with Continuation, or SubEntry)
  and we don't need to print funcinfo for those, since it was already
  printed the first time.
2020-03-03 17:00:57 +01:00
Adriaan de Groot
5248a37eb3 [libcalamares] Add FUNC_INFO into all debug messages
- This is needlessly verbose
- Chase CreatePartitionTableJob which needs to bind to a temporary
2020-03-03 17:00:57 +01:00
Adriaan de Groot
3ddee8090c [libcalamares] Drop intermediate CLog class
- All the real work is done in CDebug, so remove the base class.
2020-03-03 17:00:57 +01:00
Adriaan de Groot
ae633c7e7b [removeuser] Remove superfluous formatting around logging 2020-03-03 14:35:15 +01:00
Adriaan de Groot
623a8c2d43 [removeuser] Port to C++
No changes in functionality; add a little description in the .conf file.
2020-03-03 14:28:28 +01:00
Adriaan de Groot
bfe45aea18 [netinstall] Warnings--, unused parameter 2020-02-27 23:19:55 +01:00
Adriaan de Groot
3df0878e43 [initramfs] Warnings--
Initializing the JobQuene (and hence Global Storage) and
the System instance is a bit odd, avoid unused-variable
warning with an ugly cast instead.
2020-02-27 23:18:28 +01:00
Adriaan de Groot
0793971d01 [libcalamares] Warnings--, unused variable 2020-02-27 23:18:13 +01:00
Adriaan de Groot
72dcf886bf [contextualprocess] Improve tests, fix off-by-one
- there's no string representation for a QVariantMap, so it
  won't be converted; in *debug* output it looks like there's a
  string there.
- off-by-one when diving into compound selectors, spotted by
  test, now fixed.
2020-02-27 22:44:49 +01:00
Adriaan de Groot
28bf4082b3 [contextualprocess] Tests for new lookup behavior 2020-02-27 22:34:46 +01:00
Adriaan de Groot
bdb208c079 [contextualprocess] Split API
In order to test some of the internals, split them into Binding.h.
This makes the interface visible for tests. The implementation
still lives in the same place.

While here, adjust the test to the changed **example** which
now lists an additional variable.
2020-02-27 18:40:17 +01:00
Adriaan de Groot
4a5b3e7bc8 [contextualprocess] Document new behavior for compound keys 2020-02-27 18:22:07 +01:00
Adriaan de Groot
d114a3dc21 [contextualprocess] Allow selection from GS with "var1.var2.var3" 2020-02-27 17:14:41 +01:00
Adriaan de Groot
f5522425f6
Merge pull request #1331 from PureTryOut/apk-support
[packages] Add apk (Alpine Linux package manager) support
2020-02-27 16:22:36 +01:00
Adriaan de Groot
54a4644893 [partition] Store filesystem types
- Write a new GS key filesystems_use, which is a map of filesystems
  in use on the target system.
2020-02-27 14:29:54 +01:00
Adriaan de Groot
d4b26bbaf0 [partition] Tighten up the types of internal methods 2020-02-27 13:49:02 +01:00
Calamares CI
29ba5c961d i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-02-27 13:36:21 +01:00
Adriaan de Groot
b0abb99ee1 [libcalamares] Don't log useless FUNC_INFO for Python
- When a Python module calls utils.debug(), there's no point
  in logging the C++ funcinfo that passes the parameters on;
  don't use cDebug() with its attendant magic.
2020-02-27 13:24:23 +01:00
Adriaan de Groot
f818d4b446 [libcalamares] Log Q_FUNC_INFO as part of debug
- Warnings, errors, don't get funcinfo, but regular cDebug()
  calls do. Other special-cases, like calling Logger::CDebug()
  constructor explicitly, don't get funcinfo either.

FIXES #1328
2020-02-27 13:20:19 +01:00
Bart Ribbers
136d22188e
[packages] Add apk (Alpine Linux package manager) support 2020-02-27 12:58:53 +01:00
Adriaan de Groot
3456aabfce [libcalamares] Expand utility of list-logging
- Allow logging any QList type (needs explicit call in usage).
- Add a DebugList inheriting from DebugListT to keep existing
  code that logs QStringLists.
- For Calamares 3.3, consider using C++17 and class template deduction.
2020-02-27 11:59:24 +01:00
Adriaan de Groot
8f060a741f [calamares] Default to log-level 1 (not 8)
- This bug has been here since f233cac7a1,
  where a check for isSet() (of the -D option) was dropped. So since then,
  Calamares has always been running with full logging (-D8) on.
- The recently-added "easter egg" of showing the debug-button when
  log-level is 8 (to allow debugging-in-production) trips over the
  default-log-level of 8, so the debug-button is always visible.

So, minor bugs in the debugging-setup, combine to show a debug-button
when there shouldn't be one.

FIXES #1329
2020-02-27 11:38:50 +01:00
Adriaan de Groot
2db3b413f4 [libcalamares] Unmount with mount point, not device
- The manpage for umount says that -R can only be used with
  a mount point (e.g. /usr/local) and not a device name;
  this makes sense because a device might be mounted in multiple
  locations, but the mountpoint (and things mounted under it) lives
  in the filesystem tree.
- Existing code tried to unmount -R the device, not the mount point,
  and so always failed; leaving things mounted that shouldn't.
2020-02-24 20:58:02 +01:00
Philip Müller
0c8257df3d [initcpio] Don't claim other swap
From downstream ee99e34e25
2020-02-24 18:23:32 +01:00
Matti Hyttinen
717b8947d5
Update main.py
Unset GRUB_SAVEDEFAULT if / or /boot is in btrfs or f2fs partition. This avoids the error "sparse file not allowed" at boot time. Btrfs and f2fs do not support saving default entry in grub.
2020-02-24 17:49:56 +02:00
Adriaan de Groot
c20ac0836e [users] Take setRootPassword into account when hiding fields 2020-02-24 16:11:14 +01:00
Adriaan de Groot
7752cf31b3 [users] Improve documentation of setRootPassword 2020-02-24 15:59:52 +01:00
Adriaan de Groot
14979b1630 [libcalamares] TemporaryMount with backwards logic
- because mount() returns an exit code, and 0 is "success",
  the if (!code) was backwards: when mounting succeeded, the
  TemporaryMount object thought it failed.
- This leads to temp-mounts being left *all over* the place
  from os-prober and fstab-handling.
2020-02-24 15:21:31 +01:00
Adriaan de Groot
a865620f90 [calamares] Easter egg: running -D8 will show the Debug Information button 2020-02-24 14:47:10 +01:00
Adriaan de Groot
ee52e37b36 [libcalamares] Don't hard-code full paths
- See editorial in the code-comment. Still need to test that
   chroot(8) doesn't need a full path, otherwise this will
   go to /usr/bin/env udevadm to force lookup (redundantly
   if not in a chroot)
2020-02-24 13:15:13 +01:00
Adriaan de Groot
8c527ab592 [users] Overwrite host(s|name) files in target 2020-02-24 12:48:01 +01:00
Adriaan de Groot
4621937477 [users] Use right check on writing hostname
- !failed() also means "didn't write the file because it already
  exists", which is sometimes acceptable -- but not here.
  Use the more-strict bool() conversion, which is only when
  the file was actually written.
2020-02-24 12:44:50 +01:00
Adriaan de Groot
862b7e34df [libcalamares] Add tests for file-overwrite 2020-02-24 12:38:08 +01:00
Adriaan de Groot
f89951716e [libcalamares] Add mode to createTargetFile()
- Unconditionally **not** overwriting the target file isn't an option:
  writing hostname, for instance, expects that to be done even
  if `/etc/hostname` already exists on the target filesystem.
2020-02-24 12:14:50 +01:00
Adriaan de Groot
6a02f2cfec [machineid] Fix tests
- Make tests more resilient: do them in a temp-dir, and clean it
  up after successful tests. This was prompted by tests failing
  because of things hanging around in /tmp.
2020-02-21 19:21:58 +01:00
Adriaan de Groot
adf81c0ab5 [locale][packagechooser] Fix tests, QCOMPARE again 2020-02-21 18:24:39 +01:00
Adriaan de Groot
6352b50ed0 [initramfs] Fix more tests 2020-02-21 18:13:51 +01:00
Adriaan de Groot
e49fb74847 [libcalamares] Fix more tests 2020-02-21 17:58:55 +01:00
Adriaan de Groot
39cc43f26b [libcalamares] Fix tests
- QCOMPARE() is sensitive to differing types in actual and expected,
  and uchar and int (and mode_t and int) are different.
2020-02-21 17:53:43 +01:00
Adriaan de Groot
a78556b56a [unpackfs] Revert text mode
- Follow original patch from Gabriel Craciunescu: just drop
  the *bufsize* parameter and stick to binary reads.

Text mode was associated in my testing with multiple hangs,
which didn't show up during binary-reads.
2020-02-21 16:37:58 +01:00
Adriaan de Groot
248776144e [unpackfs] Now it's text, it's not encoded anymore 2020-02-21 12:39:26 +01:00
Calamares CI
aec6058dc5 i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-02-20 22:59:17 +01:00
Adriaan de Groot
61ca6384cc [partition] Fix tests
- One of the files listed in the test has moved (to libcalamares),
- Don't bother with an extra intermediate SRCS variable.
2020-02-20 22:51:24 +01:00
Adriaan de Groot
6d0f5e4111 Merge branch 'kpmcore-manager' 2020-02-20 22:03:45 +01:00
Adriaan de Groot
a2d245ef92 Merge branch 'issue-swaps' 2020-02-20 22:00:52 +01:00
Adriaan de Groot
327c1c0e7b [unpackfs] Reading from the pipe is line-oriented
- Using bufsize=1 causes warnings, since we never bothered
  to explicitly set text mode.
2020-02-20 21:40:33 +01:00
Adriaan de Groot
7c7af28a0d [unpackfs] Make clear that the FS is unsupported by *this* kernel
Patch from Gabriel Craciunescu. FS support is determined be
the kernel, not by Calamares, so make that clearer in the message.
2020-02-20 21:17:33 +01:00
Adriaan de Groot
50161cdab9 [grubcfg] Use own swap
- In situations where there are more swap partitions, only use
  partitions this install "owns".
2020-02-20 16:59:05 +01:00
Adriaan de Groot
5247c13f98 [partition] Follow 'claimed' settings for claiming swap
- By the time the GS is actually written, new (for partition state)
  is always false. So "new" is the wrong thing to track. It should
  have had a better name anyway,
- We store custom properties on the partition objects to indicate
  what happens to them; use those properties (instead of state,
  as done originally), call it "claimed" to indicate that the partition
  is part of this installation.

For now, only new (as in, formatted, created-by-us) partitions are
claimed.

- The effect here is that only "new" swap will be added to the system,
  so in erase-disk installations, or manual partitioning.
- Install-alongside and replace will now **not** claim the swap already
  on the disk; I think we'll need another UI knob for that one.

FIXES #1316
2020-02-20 16:38:40 +01:00
Adriaan de Groot
35a2db064b [partition] Make debug-logging match the functionality
- `createPartitionList()` is called for the summary widget (via
  `prettyDescription()`), and from `exec()`. Only the latter
  actually *writes* to Global Storage, so it's misleading to
  think that the pretty-printed version ends up in GS.
- This makes the "new" key useless, since by the time `exec()` is called
  the partitoons are no longer new.
2020-02-20 11:59:48 +01:00
Adriaan de Groot
f9d9cd2df4 [fstab] Document the remapping of fs names
- Shuffle the code a little so it's clear where the remapping
  happens, and explain why we look for "swap" in fstab and
  "linuxswap" elsewhere.
2020-02-20 11:33:02 +01:00
Adriaan de Groot
8ecb364f8c [initramfs] Fix up tests
- These tests don't actually test anything in this specific module,
  they do test CalamaresUtils::System.
- Wrangling System and JobQueue and GlobalStorage instances is fraught
2020-02-19 22:42:46 +01:00
Adriaan de Groot
fba1bf7072 CMake: add DEFINITIONS option to calamares_add_test
- There's a handful of tests that need this, it's possible
  there will be more, so just add it to the infrastructure.
2020-02-19 22:26:55 +01:00
Adriaan de Groot
1bb43e06e2 Merge branch 'master' into kpmcore-manager 2020-02-19 18:34:44 +01:00
Adriaan de Groot
7cbc43616e [netinstall] Some more "standard" alternative labels
- Hide the labels from the compiler to avoid warnings
- Add some more labels proposed by ArcoLinux
2020-02-19 17:21:12 +01:00
Adriaan de Groot
5dac67b710 [notesqml] Cut down the example text to be translated. 2020-02-19 17:16:51 +01:00
Adriaan de Groot
2d754dac6d [notesqml] Rename example file to save translators 2020-02-19 17:15:40 +01:00
Adriaan de Groot
51ad7df31c [netinstall] Don't give the translators a bogus string 2020-02-19 17:13:01 +01:00