6247 Commits (8988e05f886568f918b3e23de80c00a3facab37a)
 

Author SHA1 Message Date
Adriaan de Groot 82622373bc [libcalamares] Remove superfluous ; (warnings--) 5 years ago
Adriaan de Groot 8d3530154f [libcalamares] Expand network service test
- Do an actual ping (also to check for memory leaks)
5 years ago
Adriaan de Groot b8d56bb4a6 [libcalamares] Add tests for network service 5 years ago
Adriaan de Groot d7602df51e [libcalamares] Introduce networking service
- The networking service is intended to wrap up use of
   QNetworkAccessManager and others for consumption within
   Calamares, and to provide some convenience functions
   for internet access.
 - Medium term, it may also monitor network access, so that
   we can respond to changes in network availability during
   installation.

Currently very minimal and undocumented.
5 years ago
Adriaan de Groot 4b35d193b7 Changes: mention #1212, AppStream data loading 5 years ago
Adriaan de Groot 052afd4b42 Merge branch 'issue-1212'
FIXES #1212
5 years ago
Adriaan de Groot 8c5caf9fd0 [packagechooser] Add CMake knobs to enable/disable item choices
- AppData and AppStream can be disabled independently of finding
   their requirements (possibly useful if you want to ignore
   AppStream even when it's installed in your build environment).
 - Add a little top-level documentation about WITH_
5 years ago
Adriaan de Groot ffa899b497 [packagechooser] Assemble the translated name and description 5 years ago
Adriaan de Groot 7b699bfc76 [libcalamares] Access list of locale Ids
- Make it easier to obtain locale-ids (from CALAMARES_TRANSLATION_LANGUAGES)
   so avoid splitting that string multiple times.
5 years ago
Adriaan de Groot d8af11adee [packagechooser] Build AppStream Pool first
- Don't build a Pool for each PackageItem loaded
 - Do make it load all languages instead of only the current one
5 years ago
Adriaan de Groot 0a92ef7655 [packagechooser] Refactor fromApp*()
- These don't have to be static methods of PackageItem, a free
   function is more convenient.
 - Since it's not API of PackageItem anymore, need to
   - update tests not to use API
   - do API-not-available warnings in consumers
5 years ago
Adriaan de Groot 17abbeda96 [packagechooser] Try to load a screenshot
- The smallest size image of the default (or, if there is no
   default, the first) screenshot is used.
 - Remote URLs are not supported by QPixmap, so most will not
   load anyway.
5 years ago
Adriaan de Groot fa2f5763c6 [packagechooser] Load AppStream data
- Get the id, name, and description from AppStream data

Missing:
 - No translations
 - No screenshots
5 years ago
Adriaan de Groot eaa0c02f8d [packagechooser] Initial support for appstream items
- Use *appstream* as key in one of the items for the package-
   chooser to load data from the AppStream cache in the system.
 - Usable for some applications; for DE-selection not so much.
 - Currently unimplemented.
5 years ago
Adriaan de Groot 2f20ad30bf [packagechooser] Refactor AppData XML support into separate file
- Put the implementation entirely in a separate file, keep the
   not-supported one in PackageModel.cpp (but only in an #ifdef).
 - Makes the various optional-data-sources more similar.
5 years ago
Adriaan de Groot 5b4152133d [packagechooser] Look for AppStream libs 5 years ago
Adriaan de Groot 52af9dbaad [mount] Add docstrings to methods 5 years ago
Adriaan de Groot 395c375c60 [mount] Winnow partition list
- Simplify the iteration by first determining which partitions
   are mountable (at all).
 - This guards against the very rare case that a partition
   does not have a mountPoint at all (the if guarded against that)
   where the lambda passed to sort() would get a KeyError.
5 years ago
Adriaan de Groot 8aedd8b175
Merge pull request #1219 from a-wai/extra-mounts-after-root
mount: Make sure extra mounts are mounted right after /
5 years ago
Adriaan de Groot 2e8a106f2c Changes: document new stuff 5 years ago
Arnaud Ferraris 257f5da1af mount: Use a single partitions list sorted by mount point
Instead of having a special case for extra mounts to be processed right
after the rootfs, a better approach is to add them to the partitions
list, and then sort the list by mount point.

This way, we make sure every partition is mounted right when it is
needed: `/` is obviously mounted first, `/run` is mounted before
`/run/udev`, and so on.

The overall process is therefore more generic and should suit all
use-cases.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
5 years ago
Adriaan de Groot cd5277913a Merge branch 'issue-1197'
- Improves the settings in welcome.conf, allows setting URLs directly
 - Adds a *showDonateUrl* setting to add a donations-button
5 years ago
Adriaan de Groot 0b7dcf7c50 [welcome] Fix up tooltips
- the "Select language" tooltip was applied to the form, so it would
   show up inappropriately all over the place
 - the buttons didn't have useful tooltips.
5 years ago
Adriaan de Groot c36f963954 [welcome] Adjust names of URLs to be consistent
- having show*Url and donateUrl seems inconsistent, although
   the show*Url settings were originally boolean-only.
 - add "show" to the Donate button setting, to make them
   all consistent (putting a boolean there will generate a
   warning and hide the button, that's all).
5 years ago
Adriaan de Groot 706cc73925 [branding] [welcome] Adjust documentation for welcome-overrides 5 years ago
Adriaan de Groot 341965c2b1 [welcome] Use setupButton for all four buttons
- the show* settings in welcome.conf are "upgraded" to allow
   setting the URL directly in the module configuration.
5 years ago
Adriaan de Groot 119f84d6c1 [welcome] Remove setupLinks() method, use generic
- the generic (enum-based) setupButton() can handle all four
   of the buttons, so setupLinks() can go away. Only the
   (re)translation of the text on the button needs to be
   done, so move that to the main RETRANSLATE.
5 years ago
Adriaan de Groot 64d4b0a46c [welcome] Switch API for buttons to an enum + string
- Handle buttons and their URL-opening in a more
   general way with an enum; drop existing three-boot
   method and special setupDonateButton()
 - Doesn't compile because consumers haven't changed.
5 years ago
Adriaan de Groot 03e506a826 [welcome] Add a donate button
FIXES #1197
5 years ago
Adriaan de Groot b60ec123a0 [branding] [welcome] Document interrelationship of settings 5 years ago
Adriaan de Groot 6b8c0129fd [libcalamaresui] Add one more icon (donate) from Breeze
- LGPLv3 like the others
5 years ago
Adriaan de Groot e7dedbbfe0 [libcalamaresui] Apply coding style to remainder 5 years ago
Adriaan de Groot d44e8f6115 [libcalamaresui] Apply coding style to viewpages/ 5 years ago
Adriaan de Groot 6f74463a80 [libcalamaresui] Apply coding style to utils/ 5 years ago
Adriaan de Groot 1b6aed8c40 [libcalamaresui] Apply coding style to modulesystem/ 5 years ago
Adriaan de Groot 6224d6605b [libcalamaresui] Apply coding style to widgets/ 5 years ago
Adriaan de Groot 27c3a5a11d [calamares] Apply coding style 5 years ago
Adriaan de Groot f31ff8b9ea [libcalamares] Apply coding style to PluginFactory 5 years ago
Adriaan de Groot ccd707b23a [libcalamares] Apply coding style
- .. or, rather, avoid re-formatting tables in future.
5 years ago
Adriaan de Groot 09a36cd669
Merge pull request #1221 from a-wai/add-base-10-sizes
Add 'base 10' partition size multiples
5 years ago
Adriaan de Groot c57a30c73f Changes: credit where due for recent PRs 5 years ago
Adriaan de Groot 54767812fe
Merge pull request #1218 from a-wai/fix-unpackfs
Fix error in unpackfs
5 years ago
Arnaud Ferraris a51d612afa Revert "libcalamares: Align partition sizes on actual sectors"
This reverts commit 40202705ff.
5 years ago
Adriaan de Groot 1d047839c7
Merge pull request #1220 from a-wai/prevent-int-overflow
Prevent integer overflow when parsing configuration
5 years ago
Adriaan de Groot c53b59c504 Merge branch 'require-kcoreaddons'
Require KCoreAddons. This is one of the KDE Frameworks, small
and lightweight libraries adding functionality on top of Qt.

Since lots of **other** parts of Calamares require KDE Frameworks,
including the partitioning module, requiring a tier-1 for
basic functionality seems reasonable.

This brings:
 - using KPluginLoader instead of an ancient fork
 - availability of KMacroExpander everywhere
 - kaboutdata (needed for KCrash anyway)
 - kjobs (need to look into using those as a base for Calamares jobs)
5 years ago
Arnaud Ferraris 40202705ff libcalamares: Align partition sizes on actual sectors
Currently, the `bytesToSectors()` function rounds a partition size to the
nearest MiB unit, which may lead to inconsistencies when a partition
is expected to only be a few KiB's.

This patch changes the behaviour of `bytesToSectors()` so that it aligns
on sector size, without rounding the partition size to a multiple of
1MiB.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
5 years ago
Arnaud Ferraris 209e8331b7 libcalamares: Add support for KB/MB/GB size units
Currently, all size units are expressed as KiB, MiB or GiB (resp. 2^10,
2^20 or 2^30).

In order to maximize compatibility and consistent results with other
partitioning tools, this commit adds support for sizes expressed as KB,
MB or GB (resp. 10^3, 10^6 or 10^9).

This change won't affect existing users, it simply adds a new option
that wasn't previously handled.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
5 years ago
Adriaan de Groot 0716a46eb2 [libcalamares] Switch to using KPluginFactory
- this is not entirely straightfoward, since  we need
   different constructor arguments for the objects
   Calamares creates (no QVariantList& args, in particular).
   Implement our own registerPlugin() and createInstance()
   for that.
 - work around a bug in K_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY
5 years ago
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>
5 years ago
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>
5 years ago