Commit Graph

6149 Commits (c4b0511f8d04c9f28fc729a043007e8d9fb0afab)
 

Author SHA1 Message Date
Arnaud Ferraris 3929557a5a welcome: Fix requirements parsing
As the config files integer are now of type `QVariant::LongLong` instead
of `QVariant::Int`, requirements relying on this type were not parsed
correctly.

This patch fixes this, and adds an option to the python conversion to
take into account `QVariant::LongLong` types.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
Arnaud Ferraris 0d06e047ae libcalamares: Prevent integer overflows when parsing configuration
Currently, a number of configuration parsing-related functions and
classes use only `int` type for dealing with integers. Should the user
need a bigger integer value, this would result in an erroneous value
being used (`0`), as the correct value would overflow the 32-bits type.

In order to prevent these overflow, this patch replaces `int` with
`qint64` in the following functions & classes :

  * CalamaresUtils::yamlScalarToVariant()
  * CalamaresUtils::getInteger
  * NamedSuffix
  * PartitionSize

This way, sizes or other integer values greater than 2^31 (for signed
types) can be used.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
Arnaud Ferraris bf47e761b0 mount: Make sure extra mounts are mounted right after /
When the rootfs partition is read-only, mount points for the other
partitions cannot be created, therefore they need to be created in a
tmpfs, already mounted somewhere in `/`.

However, the extra mounts are only mounted at the end, which causes an
error as no tmpfs is currently mounted.

This patch makes sure all extra mounts are mounted right after the `/`
partition, allowing the use of a read-only rootfs.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
Arnaud Rebillout 2ab45cf4f0 Make sure that variable num_files_total_local is declared
This variable is declared in `if m:`. Of course if this codepath doesn't
run, the variable is not declared an Python doesn't like this kind of
surprise...

Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
Adriaan de Groot 9098f8d741 Changes: document KCoreAddons dependency
Adriaan de Groot 1711071c58 [libcalamares] Swap out own PluginLoader for KCoreAddons
Adriaan de Groot 44991e700b [libcalamaresui] Check KCoreAddons version directly
Adriaan de Groot bcb7f17584 [calamares] Make KCoreAddons a requirement
- Require KCoreAddons for KAboutData (also, optionally, for KOSRelease)
Adriaan de Groot a6db224fcb [fsresizer] [partition] Gracefully fail on missing dependencies
- If KPMcore is found -- it requires some other KDE Frameworks but
   at least in pre-4.0 versions doesn't check very well for them --
   then missing its dependencies is no cause for CMake failure.
   Instead, log it nicely and suppress the module.
Adriaan de Groot 8c78a6cdfa Documentation: match stated requirements with CMakeLists.txt
Adriaan de Groot 08a08f9b54 [calamares] Minor optimizations and documentation
- document the data structure; for the vector V (called m_rows)
   the values are V_i < i, so that enables microscopic optimizations.
Adriaan de Groot 96ef488f1b [calamares] Clean up VariantModel
- stop compiler warnings with some judicious casting;
   that's what you get when a container indexed by int
   stored those indexes as quintptr.
 - apply coding style
Adriaan de Groot 8a7f32d3aa [libcalamaresui] Polish ImageRegistry
- do static initialization more carefully
 - float -> qreal (double) because that's what the Qt API expects,
   to reduce type-conversion warnings
 - apply current coding style
Adriaan de Groot ec08a293b2 [libcalamaresui] Reduce compile warnings
- "this" isn't used in the lambda; in future it might be if the
   lambda needs to get the configuration from settings.
Adriaan de Groot 91d327b224 [libcalamaresui] Paste TCP port is quint16
- no sense in feeding in an int (and getting a compiler warning
   for narrowing) into something that by spec is a 16-bit value.
Adriaan de Groot 41173360a7 [libcalamares] We're just testing file modes, not whole int range
Adriaan de Groot 76041a2184 [dummycpp] Reduce warnings and apply coding style
- tired of the (IMO, bogus) clang warnings from the
   switch() statement with a default:, so swap it out for
   some cascaded ifs.
Adriaan de Groot e81bd52fb5 [initcpio] [initramfs] Set compilation options on tests
- calamares_automoc() sets AUTOMOC, but also adds some flags
   to avoid compilation warnings from the generated MOC code.
 - drop weird hard-coded include paths
Adriaan de Groot 739363cecd [libcalamaresui] Fix initialization order (reduce warnings)
Adriaan de Groot 6f73151786 [libcalamares] Reduce warnings
- Although milliseconds::count() is long long, we pass it to
   a Qt interface that only takes int; let's assume we have
   only a 32-bit count, since a timeout of 4 billion milliseconds
   is roughly 46 days, which we'll just call "no timeout".
Adriaan de Groot dc09c5700b [calamares] Remove unreachable return
Adriaan de Groot f5af4818fb [calamares] Apply current coding style
Adriaan de Groot ea0acf1606 [calamares] Apply current coding style
Adriaan de Groot 3ac7a7323c Merge branch 'replace-debug-models'
Adriaan de Groot ab7a559e03 [calamares] Add headerData to model (Key, Value columns)
Adriaan de Groot eba4dc8df1 [calamares] Use VariantModel instead of QJsonModel
- Drop the round-trip of forming a JSON document from a QVariant,
   then parsing the document into JSON objects and building a
   model out of that. View the Variant directly.
Adriaan de Groot 2bd03ad3c0 [calamares] Add reload() to update model after underlying data
Adriaan de Groot 2a3ab4dbe7 [calamares] Add a model for viewing QVariants directly
Adriaan de Groot e31a498c9b [calamares] Move DebugWindow
- This is a fairly specialized class, for use only in the
   whole-application where it ties in with the module system.
   Move it to the application directory and slim down the UI library.
 - Include it from the new location.
 - Add UIC to Calamares (the application) because there's now
   a designer-based widget in it.
Adriaan de Groot 85d28af1e2 [libcalamaresui] Don't include QJsonModel
Adriaan de Groot 419329ee49 [libcalamares] Remove friend, add accessor, make includes explicit
Adriaan de Groot 695e16bb87 [libcalamaresui] Drop QJsonModel from the library
Adriaan de Groot 17dfe02d28 [3rdparty] Remove QJsonModel and support
Adriaan de Groot 8bd1e93968 Merge branch 'move-3rdparty'
Adriaan de Groot 48a25858f0 [partition] Chase 3rdparty move
Adriaan de Groot b31c6c3a22 [calamares] Chase 3rdparty move
Adriaan de Groot c83e95e66a [libcalamaresui] Chase 3rdparty move
- Widgets need to #include from different path
Adriaan de Groot 2166eb4511 [libcalamares] [libcalamaresui] Adjust for moved sources
Adriaan de Groot 8050b5d1da [3rdparty] Add License information for kdsingleapplicationguard
Adriaan de Groot 315c0aca15 [3rdparty] Not actually part of Calamares
Adriaan de Groot 937ff608eb [libcalamaresui] Move spinner widget to 3rd party
Adriaan de Groot e7c66de4df [libcalamares] Move kdsingleapplicationguard to 3rdparty
Adriaan de Groot 47dbf9ab0c [libcalamares] Move 3rd party code to separate dir
Adriaan de Groot 05bcf4e853 Changes: document Coding Style application
Adriaan de Groot 115f5bfd82 [libcalamares] Apply coding style to remainder of geoip/
Adriaan de Groot 839e496fcb CI: when I said 'left' I meant 'dont'
Adriaan de Groot ec073ee188 [libcalamares] Apply coding style to geoip/
Adriaan de Groot a2ab91474f CI: massage the .clang-format file, it's just ASCII
Adriaan de Groot 6e9f1be9e9 [libcalamares] Don't reformat string tables in GeoIP
Adriaan de Groot 81fa1735b1 [libcalamares] Apply current coding style