Commit Graph

748 Commits

Author SHA1 Message Date
Adriaan de Groot
abe558f127 [libcalamares] Be more verbose when the requirements check is done 2020-06-08 08:33:48 -04:00
Adriaan de Groot
881187de8d
Merge pull request #1423 from Cal8031/t1
Update and add SPDX identifiers
2020-06-03 15:32:07 +02:00
Adriaan de Groot
ac2a9c569e [libcalamares] Allow "fixed" as a GeoIP lookup type 2020-06-03 15:03:19 +02:00
Adriaan de Groot
672f506e72 [libcalamares] Add unittests for GeoIPFixed
- Ignores the data, just returns selector
2020-06-03 14:55:01 +02:00
Adriaan de Groot
d9effb4ba7 [libcalamares] Add GeoIPFixed to the test-tool for GeoIP lookup
- Allow format "fixed"
- Allow specifying the selector in the test-tool
2020-06-03 14:34:45 +02:00
Adriaan de Groot
d37ec35592 [libcalamares] GeoIP that always returns a fixed value
- Value is configurable (through the "selector" which is passed
  to GeoIP lookups). This is convenient for tests so you can "fix"
  the value that the lookup will return.
2020-06-03 14:26:14 +02:00
Callum Farmer
0c4dc71d5c [libcalamares] Update SPDX identifiers.
Update CppJob.h

Update CalamaresConfig.h.in

Update DllMacro.h

Update GlobalStorage.cpp

Update GlobalStorage.h

Update Job.cpp

Update Job.h

Update JobExample.cpp

Update JobExample.h

Update JobQueue.cpp

Update CalamaresConfig.h.in

Update CppJob.cpp

Update CppJob.h

Update DllMacro.h

Update GlobalStorage.cpp

Update GlobalStorage.h

Update Job.cpp

Update Job.h

Update JobExample.cpp

Update JobExample.h

Update JobQueue.h

Update ProcessJob.cpp

Update ProcessJob.h

Update PythonHelper.cpp

Update PythonJob.cpp

Update PythonJob.h

Update PythonHelper.h

Update PythonJobApi.cpp

Update PythonJobApi.h

Update Settings.cpp

Update Settings.h

Update GeoIPJSON.cpp

Update GeoIPJSON.h

Update GeoIPTests.cpp

Update GeoIPTests.h

Update GeoIPXML.cpp

Update GeoIPXML.h

Update Handler.cpp

Update Handler.h

Update Interface.cpp

Update Interface.h

Update test_geoip.cpp

Update CountryData_p.cpp

Update Label.cpp

Update Label.h

Update LabelModel.cpp

Update LabelModel.h

Update CountryData_p.cpp

Update CountryData_p.cpp

Update Lookup.cpp

Update Lookup.h

Update Tests.cpp

Update Tests.h

Update TimeZone.cpp

Update TimeZone.h

Update TranslatableConfiguration.cpp

Update TranslatableConfiguration.h

Update ZoneData_p.cxxtr

Update cldr-extractor.py

Update zone-extractor.py

Update Actions.h

Update Actions.h

Update Descriptor.h

Update InstanceKey.cpp

Update Module.cpp

Update Module.h

Update Requirement.cpp

Update RequirementsChecker.h

Update RequirementsModel.cpp

Update RequirementsModel.h

Update Tests.cpp

Update Manager.cpp

Update Manager.h

Update Tests.cpp

Update FileSystem.cpp

Update FileSystem.h

Update KPMManager.cpp

Update KPMManager.h

Update KPMTests.cpp

Update FileSystem.cpp

Update FileSystem.cpp

Update FileSystem.h

Update KPMManager.cpp

Update KPMManager.h

Update Mount.cpp

Update Mount.h

Update PartitionIterator.cpp

Update PartitionIterator.h

Update PartitionIterator.h

Update PartitionQuery.cpp

Update PartitionQuery.h

Update PartitionSize.cpp

Update PartitionSize.h

Update Sync.cpp

Update Sync.h

Update Tests.cpp

Update Tests.h

Update BoostPython.h

Update CalamaresUtilsSystem.cpp

Update CalamaresUtilsSystem.h

Update CommandList.cpp

Update CommandList.h

Update Dirs.cpp

Update Dirs.h

Update Entropy.cpp

Update Entropy.h

Update Entropy.cpp

Update Logger.cpp

Update Logger.h

Update NamedEnum.h

Update NamedSuffix.h

Update PluginFactory.cpp

Update PluginFactory.h

Update RAII.h

Update RAII.h

Update Retranslator.cpp

Update Retranslator.h

Update String.cpp

Update String.h

Update TestPaths.cpp

Update Tests.cpp

Update Tests.h

Update UMask.cpp

Update UMask.h

Update Units.h

Update Variant.cpp

Update Variant.h

Update Yaml.cpp

Update Yaml.h

Update moc-warnings.h
2020-06-03 12:52:53 +01:00
Adriaan de Groot
6dffec2730 [libcalamaresui] Move QML-related directory functions to Qml.cpp 2020-05-19 21:02:06 +02:00
Adriaan de Groot
47979555fe CMake: optionally disable QML
This makes it possible to remove QML from Calamares, possibly yielding
a smaller, lighter installer; it takes with it the nice slideshow,
modern configurable navigation and the QML UIs built for various modules.

By default, WITH_QML is on and the "normal" feature set is retained.

- look for Qml modules only when WITH_QML is on (the default)
- look for Network, since that's pulled in only implicitly
- disable the QML Calamares models (modules/*q) if no QML is
  enabled; longer-term plan is to merge the **pages** back to
  the "upstream" modules, and have things be run-time switchable,
  but that's not here yet. Also disable the notesqml module when
  QML is off.
2020-05-14 16:31:39 +02:00
Adriaan de Groot
0235245631 [libcalamares] #include-styling 2020-05-14 16:27:46 +02:00
Adriaan de Groot
cdb99ad887 CMake: shuffle WITH_* settings for calamares executable
- reminder to make all the ABI-relevant WITH_* settings available as #defines
- move the compilation of KDSAG to the calamares executable, not the library
- when DBus activation is on, drop all of kdsingleapplicationguard
2020-05-14 12:21:33 +02:00
Adriaan de Groot
13ded5f005 [libcalamares] #include-styling 2020-05-14 12:21:33 +02:00
Adriaan de Groot
c90ebb5d82 [libcalamares] Apply Qt defines consistently
- Move some definitions that influence Qt compilation
  up to the top-level.
2020-05-14 01:05:37 +02:00
Adriaan de Groot
5c8a99c77b [libcalamares] After running the checker, re-compute satisfaction
- If nothing is added to the model (e.g. it is empty) then the satisfaction
  still needs to be re-calculated (to true).
2020-05-12 17:06:16 +02:00
Adriaan de Groot
f856c07b04 [libcalamares] Move progress signal to RequirementsModel
- It is the requirements model (checking) that reports progress, and now
  the model is accessible (ask for it with requirementsModel(), make the
  messages come from there.
2020-05-12 16:09:13 +02:00
Adriaan de Groot
09b73dce06 [libcalamares] Implement the HasDetails role 2020-05-11 17:10:03 +02:00
Adriaan de Groot
153757933a [libcalamares] Stop emitting signals with RequirementsList
- The architecture of letting someone build up a list of requirements
  from data emitted by the ModuleManager is broken: if it gets loaded
  later, it will miss data; passing around complicated objects is
  no fun anyway. Get rid of it, on the way to "ModuleManager has
  its own model of requirements".
2020-05-11 16:30:26 +02:00
Adriaan de Groot
9b0ea3f63d [libcalamares] Remove runaround through free function
- Call into a method directly to do the work of adding
  results from a single module.
2020-05-11 16:30:26 +02:00
Adriaan de Groot
b7c60cec66 [libcalamares] Re-vamp RequirementsChecker
- Give the ModuleManager a RequirementsModel -- that is the source
  of truth about the module-requirements of the modules managed
  by that particular ModuleManager.
- Let the RequirementsChecker operate on a given RequirementsModel.
2020-05-11 16:30:26 +02:00
Adriaan de Groot
039065ee4a [libcalamares] Minor debugging support in RequirementsModel 2020-05-11 16:30:26 +02:00
Adriaan de Groot
d87d714b8d [libcalamares] Make the requirements model more adaptable
- Either replace the list of results, or add to them
- Lock model while adding rows
2020-05-11 16:30:26 +02:00
Adriaan de Groot
0f5db0ba5e [libcalamares] Remove direct access to model internals
- This was just for the ResultsListWidget, which can also use
  normal role-based model access.
2020-05-11 16:30:26 +02:00
Adriaan de Groot
616fbb08f3 [libcalamares] Improve docs of RequirementsModel 2020-05-11 11:19:08 +02:00
Adriaan de Groot
401a34fcbd [libcalamares] Fix tests on FreeBSD
- https requests can fail if ca_nss isn't installed; ping something
  else then.
2020-05-06 18:06:17 +02:00
Adriaan de Groot
7277d52828 [libcalamares] Expand range of errors for network requests
- All failures were being reported as Timeout, which is confusing
  when they are not. Introduce HttpError for the not-timeout
  other kinds of errors.
- Add operator<< for RequestStatus for nicer error logging.
2020-05-06 17:50:34 +02:00
Adriaan de Groot
8af17fafe1 [libcalamaresui] Register Global Storage (as 'Global') for QML 2020-05-01 14:37:25 +02:00
Adriaan de Groot
79e8c447b9 [libcalamares] Test some specific KPM partition flags 2020-04-23 13:46:09 +02:00
Adriaan de Groot
3f4e167aca [libcalamares] Expand kpm test with API 3/4 differences
- fix build
- KPMCore 3 distinguishes esp and boot
- KPMCore 4 does not
2020-04-23 12:16:30 +02:00
Adriaan de Groot
43c5e1fc96 [libcalamares] Fix build of tests
- Typed in on FreeBSD, where it doesn't get built
2020-04-23 11:45:12 +02:00
Adriaan de Groot
cca067a34d [libcalamares] Add a bogus test showing flag names 2020-04-22 15:38:42 +02:00
Adriaan de Groot
86ffab1873 [libcalamares] Use convenience Logger::NoQuote 2020-04-21 16:46:48 +02:00
Adriaan de Groot
6de82e6857 [libcalamares] Add convenience for QDebug.noquote()
- Use << Logger::NoQuote{} to turn off quoting **and** the space
- In practice, in Calamares we use this only around other processes'
  output, where we want neither quotes nor spaces.
2020-04-21 16:46:13 +02:00
Adriaan de Groot
d348977d07 [libcalamares] Fix tests
- the test checks that the default locale is C or en_US .. let's just
  make it so instead of relying on the environment. This fixes tests
  on my dev-laptop, which happens to be set to en_NL (with volapuk
  date format).
2020-04-21 13:41:04 +02:00
Adriaan de Groot
16a5ca2a55 [libcalamares] Format floats with trailing digits
- When writing YAML, given a float **always** write
   some decimal digits (e.g. "1.0" rather than "1")
   so that the type of the written-out thing stays
   float.
 - Avoids test failure with the sample `welcome.conf`
   file which reads 1.0 and would write out 1, which then
   led to type differences.
2020-04-08 17:10:32 +02:00
Adriaan de Groot
3b354b8b20 [libcalamares] Handle qlonglong when writing YAML
- Handle qlonglong explicitly
- Add a fallbackfor things that convert to qulonglong, to
  avoid these remaining integer types from hitting the
  very end of the if-chain, and being written out as
  the **string** "<typename>"
2020-04-08 17:01:24 +02:00
Adriaan de Groot
c6463a30ea [libcalamares] Be far more detailed in comparing maps
- just comparing a==b (both QVariantMap) gives a
  not-so-informative message, so go through the keys looking
  for differences.
2020-04-08 16:47:03 +02:00
Adriaan de Groot
f33c737e99 [libcalamares] Pretty debug formatting
- toggle nospace() and noquote() part-way through the line,
  so that they only affect the output obtained from the external
  command.
2020-04-06 11:56:39 +02:00
Adriaan de Groot
4abb87ccca [libcalamares] Improve reporting on process failures
- In production, cDebug() might not show up, so the log will not
  contain the lines saying what program is being run;
- Errors should at least mention the program name, but "env" or
  "chroot" is not useful, so pull that from *args*, which is
  the command we actually want to run.
2020-04-06 11:17:47 +02:00
Adriaan de Groot
752399ca6b [libcalamares] Error out on empty command
- an empty command isn't going to work (although it might successfully
  run chroot or env in the target system, that's not useful)
- while here, move variable declarations closer to their use.
2020-04-06 11:15:10 +02:00
Adriaan de Groot
88c75fb5dc [libcalamares] Simplify program-arguments creation 2020-04-06 11:08:16 +02:00
Adriaan de Groot
e756cc8720 [libcalamares] Tidy RequirementsModel some more
- put signals in conventional place
- remove const int& parameter, that can just be int
- drop oddly-guarded code (that leaks memory); if the index (row)
  being passed in, it's probably best to just crash
- remove unused signal warningMessageChanged
2020-04-02 22:14:27 +02:00
Adriaan de Groot
4e7020d030 [libcalamares] Polish model
- make signals consistent in carrying a parameter
- explain why there's no Q_ENUM
2020-04-02 22:04:34 +02:00
Adriaan de Groot
e5562a5069 [libcalamares] Move RequirementsModel to libcalamares (1/2)
- Add the model and support code to libcalamares. The model still
  has some cruft that should be in the Welcome config.
2020-04-02 21:33:07 +02:00
Adriaan de Groot
d8ecd302e1 [libcalamares] Apply coding style
- minor space issues
 - drop a blank line after moc-warnings.h to avoid if being sorted
   downwards, after the MOC file it's protecting
2020-03-31 23:19:51 +02:00
Adriaan de Groot
1765412b61 [libcalamaresui] Move RequirementsChecker to libcalamares
- the checker only collects and calls requirements; it has no
  UI component, and only manages data (and a thread to do the
  checking). Move it out of the UI library.
2020-03-31 23:13:13 +02:00
Adriaan de Groot
7655584022 [libcalamaresui] Move Module to libcalamares
- The Module class has no UI-specific code in it; it's all about
  loading and data-management. Move it out of the UI library.
2020-03-31 22:56:42 +02:00
Adriaan de Groot
4ddd1ecceb [libcalamares] Move Requirement to libcalamares
- This isn't a UI component: a requirement can be checked and
  reported-on without a UI entirely.
2020-03-31 22:13:30 +02:00
Adriaan de Groot
83f5f9e1a7 [libcalamares] Introduce generic delete-later class
Don't bother with QScopeGuard just right now, since I can't
find a use-case in the Calamares codebase.

FIXES #1358
2020-03-28 11:49:23 +01:00
Adriaan de Groot
875f79b49f [libcalamares] Drop unused parameter
- the `parent` when installing a translator was not used, so drop it
  from the API. Chase some uses of the API, but leave welcome-modules
   broken: there's a merge of those coming.
2020-03-25 12:08:27 +01:00
Adriaan de Groot
e3b4689cab [libcalamares] Warnings--
- It's the perennial struggle between Qt index types and STL ones
2020-03-25 00:42:42 +01:00