5748 Commits (eacaa9960974ae4c62a688f72a4edb60bb55f5b6)

Author SHA1 Message Date
Adriaan de Groot 42889b5d7f [users] Perhaps triggers the build failure
- This is the only use of STATICTEST together with , and is the only
  one failing to link.
5 years ago
Adriaan de Groot 33fd5a1fad [partition] Report a valid choice if a partition is selected 5 years ago
Adriaan de Groot ef4c2666e1 [partition] Update icons on all state changes
The encryption widget (passphrase for disk encryption) should show
ok / warning / error whenever the state changes; this avoids
it showing up first with **no** icon (it should show a warning
when both passphrases are empty).
5 years ago
Adriaan de Groot 0eb1f002db [partition] defuse is-next-enabled
Both the KPMCore and the ChoicePage -- asynchronously -- were connected
to the nextStatusChanged() signal. So if the core said next was true,
that could end up communicated to the ViewManager, enabling the *next*
button in the UI.

Changing to the *erase* page generally triggers a KPMCore reload,
which later emits a `hasRootMountPointChanged()` signal, once the
layout is applied and the disk gets a root mount point. So we'd
get a `true` from KPMCore, which -- because it was connected directly
to the signal to the VM -- would override any other considerations.

Hook up both signals to an intermediate slot that just recalculates
whether the next button should be enabled, based on the state
both of the Choice page and whatever else.
5 years ago
Adriaan de Groot f1c4caba48 [partition] Refactor checking next-enabled
- move the calculations to an own method (so it can use
  early-return and log things to explain why next is disabled)
5 years ago
Adriaan de Groot 43cd415d9a [partition] Switch to 'modern' Error/ok icons 5 years ago
Adriaan de Groot 892e9798f4 [users] Sanitize tests
- move the testing of config-object methods to its own tests
- simplify file structure for the password job tests
5 years ago
Adriaan de Groot cc1136fb0e [users] Untangle tests
- name sources for tests consistently Test<something>
- chase some required source changes with the renaming
- name test targets consistently too
5 years ago
Adriaan de Groot f75839340a [users] Drop QRegExpValidator
- QREValidator is a GUI part, so to avoid a dependency on GUI for the
  (non-GUI) Config object, port to the simpler QRE (which we had
  available anyway)
5 years ago
Adriaan de Groot b9372ba432 [users] Move default groups setting to Config
- drop groups from the viewstep
- note that the Config object should also be in charge of creating
  Jobs (but then the de-tangling needs to be completed)
- add tests of default groups loading

Doesn't compile because QRegExpValidator is a gui thing.
5 years ago
Adriaan de Groot bfa1f618c7 CMake: Improve RCC version-checking
Previously, we check for RCC support every single time CMake runs.
This is slightly wasteful, and it wasn't being done right anyway.
But it's moot because:

- Calamares supports back to Qt 5.9
- Qt 5.9's version of rcc (at least, 5.9.7) **does** support the
  command-line argument `--format-version 1`
- Everything newer does too.

Simplify translations a little, too: just use autorcc rather than
building things by hand.
5 years ago
Adriaan de Groot 38b347f8f2 [libcalamares] Take ownership of the versioning headers
- The sources were in src/calamares but processed and generated
  in libcalamares, which is weird at best.
- Generate an "extended" version header.
- Use the extended version in the logger and nowhere else.
- While here, minor coding style cleanups

The overall change here means that after running CMake, only
Logger.cpp needs to be rebuilt (if the extended version has
changed) and not a handful of other files that don't need the
full version number, but do happen to include CalamaresVersion.h
5 years ago
Adriaan de Groot 9568fc082f [calamares] Try to reduce compile-churn with version header
- Very rarely do we need the full-git-version of Calamares,
  so split that into a separate header with a little trickery.
- In the "normal" version header, drop the full-git-version values.
5 years ago
Adriaan de Groot b06498194e [machineid] Fix up schema
- schema didn't allow recent (2019) configuration entries
- remove mention of deprecated key from example config
5 years ago
Adriaan de Groot cc2e3f79ff [users] Move job creation from widget to viewstep
- This is a half-step: the ViewStep shouldn't do job creation either,
  eventually it needs to be the Config object, but this is better
  than asking the widget (UI) to create some jobs.
- When updating login- or host-name, or the autologin setting,
  set it in GS as well. This is a minor improvement over doing
  it only when leaving the page.
- Since the Config object isn't complete, there are leftovers in
  the widget, which has a fillGlobalStorage() for the not-jobs-related
  bits previously in createJobs().
5 years ago
Adriaan de Groot 6a03bcb25e [users] Move setRootPassword to Config
- this really controls whether a root password is written during installtion,
  so rename to writeRootPassword in the code.
5 years ago
Adriaan de Groot 45b71c24e7 [users] Move autologin setting to Config 5 years ago
Adriaan de Groot 6c930af5cb [users] Use convenience method for labeling Full Name 5 years ago
Adriaan de Groot 0813ec3327 [users] Misc cleanups
- unused includes
- avoid "my--pc" .. the dash is inserted by makeHostnameSuggestion()
5 years ago
Adriaan de Groot 9018913af5 [users] Move hostname validation to Config 5 years ago
Adriaan de Groot 40d7d1baac [users] Move login validation to Config object
- add a loginNameStatus which is a QString (empty if things are ok)
  stating what's wrong with the loginName, if anything.
5 years ago
Adriaan de Groot a564d7a753 [users] Fix build on Linux 5 years ago
Adriaan de Groot d4a784f521 [users] Hook up full name to Config 5 years ago
Adriaan de Groot 630a508049 [users] Hack - create the widget anyway
- since the configuration is in the UI parts, we need the widget still
  to load the whole configuration (until the config object is complete).
  Create the widget before doing configuration; this is wrong. But now
  we don't hit nullptr derefs all over.
5 years ago
Adriaan de Groot 8a14cc7ffc [users] Move some configuration from Page to Config object
- make the HostName textbox just a view on the Config's HostName
- make the username and login textboxes view onto Config
- query the Config rather than the UI for job data
5 years ago
Adriaan de Groot 5ffa09000a [users] Add hostname guessing to Config 5 years ago
Adriaan de Groot 411a202ba5 [users] Do some login-name guessing 5 years ago
Adriaan de Groot 66ae1823a5 [users] Give Config object a user and login name
- This is incomplete, because the business logic of guessing
  a login from the username is not here.
5 years ago
Adriaan de Groot 35916eb20f [users] Move autologin and sudoers groups to Config 5 years ago
Adriaan de Groot 2f786079f3 [users] Move shell settings to the Config object
- this is a set-only property (as far as the current ViewStep is
  concerned) and is passed around in GS for non-obvious reasons.
5 years ago
Adriaan de Groot 8497aad7a1 [users] Apply coding style 5 years ago
Adriaan de Groot f9b114a67a [users] Pass the Config object to the Page
- delay construction of the Page (widget) until it's needed
- hand the Config object to the Page on construction

This is prep-work for putting the configuration information into the
Config object, rather than in the UI elements.
5 years ago
Adriaan de Groot dab831b2ff [users] Introduce a (stub) Config object 5 years ago
Adriaan de Groot 1e08ee084f [users] Actually add the test file 5 years ago
Adriaan de Groot 92938f63f8 Merge branch 'move-permissions' into calamares 5 years ago
Adriaan de Groot 8ce7457023 [users] Add test for create-users code
- just one test for groups-file loading
- while here fix bug that blank and comment lines were being
  kept as valid group names
5 years ago
Adriaan de Groot 8a6e4af511 [users] FreeBSD support creating user
- call pw useradd and pw usermod as needed; the code paths are basically
  the same in invoking a program in the target system to do the work.
5 years ago
Adriaan de Groot 26b8c82630 [users] Refactor user-creation and user-group-setting into methods
- This is prep-work for handling other tools for user- and group-
  creation as well.
5 years ago
Adriaan de Groot 1fddf723fe [users] FreeBSD support creating groups 5 years ago
Adriaan de Groot b99b87f787 [users] Explain some weird internals 5 years ago
Adriaan de Groot 90a0605f38 [preservefiles] [users] Use the Permissions methods
- don't call out to tools (executables) when we have an API for it
  (which might call out to those tools, but that's abstracted)
5 years ago
Adriaan de Groot 59dff815fc [libcalamares] Additional apply() methods for Permissions 5 years ago
Adriaan de Groot 1babcd2aa4 [libcalamares] Put Permissions in CalamaresUtils namespace
- most of the things in utils/ are in the CalamaresUtils namespace,
  let Permissions follow suit. Chase the name change in the
  *preservefiles* module.
- add an `apply()` function for doing the most basic of chmod.
  Note that we don't use `QFile::setPermissions()` because the
  **values** used are different (0755 for chmod is 0x755 in the
  enum value passed to `setPermissions()`).
5 years ago
Adriaan de Groot d6910b47b5
Merge pull request #1464 from apt-ghetto/fixManualPartitionMsg
Revert Manual Partition instructions
5 years ago
Adriaan de Groot a01c428270
Merge pull request #1465 from apt-ghetto/fixRootUsername
[users] Do not allow 'root' as username
5 years ago
demmm 3a3507f2b2 [keyboardq] remove background image use
make the module more in line with the look of the rest of Calamares
5 years ago
apt-ghetto 01b22d27a8 Do not allow 'root' as username
On the "Users" tab, the user can choose a username. It was possible to
use 'root' as username, which led to an installation error, because
'root' exists already.

Added a new check to the username validation.

Fixes #1462.
5 years ago
apt-ghetto 2b3cc17782 Revert Manual Partition instructions
With PR calamares/calamares#1357 the label of the "Manual partitioning" option
was changed, which introduced several downsides:
  * The label is shown for UEFI and for BIOS installations.
  * The mountpoint of the ESP is and should be distro specific.
  * The label always mentioned GPT, which is irrelevant.
  * The label should explain, what the option does, and not, what
    problems can occur under certain circumstances.
5 years ago
demmm d114c383fa [localeq] remove obsolete vars & comments
set index in i18n.qml to -1, old settings were just for reading from the bogus model
current model uses strings, so index fails to read from it.  This fixes cala crashing on loading i18n.qml
5 years ago
Adriaan de Groot 409ab6ee86 [users] Refactor writing sudoers file
- use existing convenience methods
5 years ago