summaryrefslogtreecommitdiffstats
path: root/src/libs/installer
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix wizard page addition before ComponentSelectionPageKatja Marttila2021-01-201-3/+0
| | | | | | | | | | | | Wizard page was not able to be added in front of ComponentSelectionPage from script as ComponentSelectionPage was forced to be shown after IntroductionPage in maintenancetool. Removed the forced value so that installer can decide the next page according to nextId. Task-number: QTIFW-1168 Change-Id: I8c13b7f49f0364f777b1fcabf35796bb71fd7016 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Remove double calculation of uninstall componentsKatja Marttila2021-01-202-0/+6
| | | | | | | | | | This speeds up selecting/unselecting items in updater view around 25 procent. Task-number: QTIFW-1021 Change-Id: Ia50f7f1d47da0f03fbd6d66b6e78482225545230 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Replace usage of derived LazyPlainTextEdit class with QTextEditKatja Marttila2021-01-156-173/+3
| | | | | | | | | | | | | | | | | | Remove LazyPlainTextEdit class and replace usage in PerformInstallationForm details browser to QTextEdit. This adds support for RTL text alignment as the base class of the removed class, QPlainTextEdit does not fully support RTL and automatic alignment. Text will now be automatically aligned based on the direction of the characters. This also improves the usability of the details browser, as it does not force scrolling to bottom if the user has scrolled the widget contents to inspect previous lines. Task-number: QTIFW-1994 Change-Id: If01eaea121000edc0b5039edfede88ffb7bacd6f Reviewed-by: Katja Marttila <katja.marttila@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix InstallIcons and CreateDesktopEntry operations usage as rootArttu Tarkiainen2021-01-152-2/+12
| | | | | | | | | | | | | | | | | | | | The operations write the output files to a valid, writable directory value of XDG_DATA_HOME variable if set, otherwise defaulting to "$HOME/.local/share". This follows the XDG Base Directory Specification but misses the use case of system-wide installation: the XDG_DATA_HOME should only contain base directory relative to which user specific data files should be stored. Prefer a predefined value "/usr/local/share" when launced as root or the internal elevated admin rights handling is active. This should be a sane and well known value for applications installed system-wide, and should not conflict with files extracted by distribution's package management system. Task-number: QTIFW-2093 Change-Id: I96fab3367122e7df783697e07baeb71dfd9b3f0e Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add support for generating offline installer from onlineArttu Tarkiainen2021-01-1511-33/+516
| | | | | | Task-number: QTIFW-1945 Change-Id: Ic8a076a28385e99ad09cfbccd07c7012d6570639 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Provide tooltip texts for buttonsArttu Tarkiainen2021-01-152-0/+13
| | | | | | | | | | | The standard buttons in WizardButton enum (Back, Next, Cancel...) were omitted as they are quite self explanatory. Task-number: QTIFW-2073 Change-Id: I4a6257d2f772c781f4bbc505c03ed289cbf4f36c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Tino Pyssysalo <tino.pyssysalo@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Allow disabling undo in CreateLocalRepository operation during uninstallKatja Marttila2021-01-141-1/+5
| | | | | | | Task-number: QTIFW-2094 Change-Id: I1c5d86e084eac9760ac734ae62d6d7706e57dff2 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Change 'license agreement' -radiobutton to checkboxKatja Marttila2021-01-142-8/+8
| | | | | | Change-Id: I0884b9351030e3b50a6fb2bdd6234101002e5ca6 Reviewed-by: Niels Weber <niels.weber@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Add highdpi support for watermark, banner, background and pagelistpixmapsKatja Marttila2021-01-145-52/+37
| | | | | | Task-number: QTIFW-2084 Change-Id: I4047457aae9709819f1a19ec9c74c5a88e9b7e7c Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Fix translating from component scriptKatja Marttila2021-01-142-27/+1
| | | | | | | | | Translate using QCoreApplication::translate instead of QObject::tr. Removed the use of obsolete installTranslatorFunctions() function. Task-number: QTIFW-392 Change-Id: Icdd67efb6889acd26d63297fb89945c3431c881c Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Allow disabling undo in RegisterFileType operation during uninstallKatja Marttila2020-12-301-2/+4
| | | | | | Task-number: QTIFW-2089 Change-Id: I8cccd471718eaaa6dc167a852b8854dc424f994e Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Allow disabling undo in SimpleMoveFile operation during uninstallKatja Marttila2020-12-301-0/+2
| | | | | | Task-number: QTIFW-2090 Change-Id: If0c2d4901ee1fb634e1e436ab14a507d06dd99ab Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Allow disabling undo in CopyDirectory during uninstallKatja Marttila2020-12-301-2/+6
| | | | | | Task-number: QTIFW-2088 Change-Id: Ic5e781b89b1c74fc8f65575bd46c073610545523 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Allow disabling undo of GlobalSettings during uninstallKatja Marttila2020-12-301-2/+7
| | | | | | Task-number: QTIFW-1973 Change-Id: I89f15c8ed7d56c3e1bc72d3c740e9054363f9390 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Introduce ForcedUpdate element for componentKatja Marttila2020-12-226-12/+41
| | | | | | | | | | | Setting ForcedUpdate for component will cause a mandatory update for component if it is installed. Component must be updated before any other component can be updated/installed/removed. Essential components are updated at the same time with ForcedUpdate. Task-number: QTIFW-1565 Change-Id: I6af07fba222371e8cd161d1fec65301450077d86 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Add high dpi image support for Logo and ProductImagesKatja Marttila2020-12-215-5/+30
| | | | | | | Task-number: QTIFW-2061 Task-number: QTIFW-2060 Change-Id: Idaabb6a08f5e52aa7808de4b3ad541ae47dc4dd8 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Merge remote-tracking branch 'origin/4.0' into masterKatja Marttila2020-12-072-2/+2
|\ | | | | | | Change-Id: I3d61fa9873ef3f2258fd03091dea94e9e4961c0a
| * Fix wrong color in sidewidget text4.0.1Arttu Tarkiainen2020-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | Do not remove Qt::ItemIsEnabled flag from all unvisited pages as we may have skipped some. Instead do this for all pages which's id is greater than the current one. Task-number: QTIFW-2059 Change-Id: Ia66de5e1a376d33179cfee3eb7395248407aa4f1 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Shorten display name of 'Select package categories'Katja Marttila2020-12-011-1/+1
| | | | | | | | | | | | Task-number: QTIFW-2056 Change-Id: I119d2e7f8f943c3df19f4c0df58123f7bb0d0b6c Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Add option to define operations in component.xmlKatja Marttila2020-12-073-7/+61
| | | | | | | | | | | | | | | | | | | | | | Operations can from now on be declared also in component.xml. The operations are performed, backuped and rollbacked the same way as they would be when defined from scripting api. Task-number: QTIFW-507 Change-Id: Ia509219b94737136c3de25db0cb0c72076b48380 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Remove 'Reject Licenses' radio buttonKatja Marttila2020-12-022-23/+0
| | | | | | | | | | | | | | | | | | One radio button is enough, by selecting 'Accept Licenses' the 'Next' button is enabled. Task-number: QTIFW-2057 Change-Id: I0db0fb2e85644528b4a2b4304903549d0a91ecbf Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Tools: refactor to move general purpose functionality to installer libArttu Tarkiainen2020-12-021-0/+1
| | | | | | | | | | | | | | | | | | This makes it possible to utilize parts of our existing tooling in the offline installer from online installer generation process. Task-number: QTIFW-2048 Change-Id: I7ee605be75541cc83a3b6909089bda45f0835bcf Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Print package information in xml formatKatja Marttila2020-11-259-269/+193
| | | | | | | | | | | | | | | | | | Also removed logging categories for package information, the full package information can be printed by increasing the verbosity level. Task-number: QTIFW-1950 Change-Id: I4bce019a63ba1fbf48e3bb0ca45511e42d4974c9 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Merge remote-tracking branch 'origin/4.0' into masterKatja Marttila2020-11-247-15/+35
|\| | | | | | | Change-Id: If5205ff6ef2c8989520e24d41595c04d5920d207
| * Fix permissions in 'Licenses' and 'installerResources' directoriesArttu Tarkiainen2020-11-182-3/+9
| | | | | | | | | | | | | | | | | | Both directories are created by IFW so they should follow the same file permissions practice we use whenever possible. This fix also applies to subdirectories inside 'installerResources'. Change-Id: I747a7638028fb0b9ff406143a97b5100eacc2566 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
| * CLI: Tidy up progress message printArttu Tarkiainen2020-11-051-1/+1
| | | | | | | | | | | | | | | | The debug print does not look very nice when the string contains escape characters for quotes or extra spaces. Change-Id: I9428d3aef4e3ebd693f66083447430e4e2600098 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Fix loading controller script with comment on last lineMartin Kampas2020-11-041-1/+1
| | | | | | | | | | | | | | Task-number: QTIFW-1062 Change-Id: I3deb46cae74d1e5851d4ddd4b58c0ba19375ddbd Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * CLI: Minor cleanup for commands help textArttu Tarkiainen2020-11-031-7/+8
| | | | | | | | | | | | | | | | | | | | Instead of using tabs for indentation, use the same two whitespaces as with options. Use the same format for package list arguments as in documentation. Change-Id: Id5a7d1e6bdbea6a49c560cdadb2fe3ef5793d04a Reviewed-by: Katja Marttila <katja.marttila@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
| * Add missing members to PackageManagerCorePrivate member initializer listArttu Tarkiainen2020-11-031-0/+8
| | | | | | | | | | | | | | | | | | | | The lesser called class constructor function was missing initialization for some of the fundamental data type member variables. This could cause weird behavior in autotests, where a PackageManagerCore object for "fake" installers is instantiated on multiple occasions. Change-Id: I4e65453e3125cb5b4b662314a593bb0232907478 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * CLI: Fix wrong warning text in command 'purge' for running processesArttu Tarkiainen2020-11-032-3/+8
| | | | | | | | | | | | Task-number: QTIFW-1996 Change-Id: Iaf9aa6bfd39d266ed052838e969881c168b4b2ed Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Arrange licenses and filter duplicatesJarkko Lehtoranta2020-11-069-23/+91
| | | | | | | | | | | | | | | | | | | | | | - Add a "priority" attribute to the "License" element used in "package.xml" for arranging licenses by priority in the LicenseAgreementPage and in CLI. Priority >0 shows the license on top of others. - Arrange the licenses with the same priority alphabetically - Filter duplicate licenses from the LicenseAgreementPage and from CLI Change-Id: I1dcacdd417d2383b8dc18149e4de329fbf11cfe8 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | CLI: Print extra archive information with higher verbosity levelArttu Tarkiainen2020-11-055-10/+64
| | | | | | | | | | | | | | | | | | | | Also rework verbosity level handling to use predefined and range constrained enumeration list values. Task-number: QTIFW-1998 Change-Id: Iaf15ca638411e6842d3d502c4d7ff11d28d06658 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Allow to set ForcedInstallation from component scriptMartin Kampas2020-11-041-8/+6
| | | | | | | | | | | | Change-Id: I7bba68f5159737971de9801012daef8aaff09216 Task-number: QTIFW-675 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Automatically uninstall unneeded virtual componentsMartin Kampas2020-11-041-0/+26
| | | | | | | | | | | | Change-Id: Ifbbfec4449a9f5b0a79269fc7ddfcc1780e762e5 Task-number: QTBUG-76210 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | CLI: Add possibility to filter installed packages with regexpArttu Tarkiainen2020-11-043-5/+12
| | | | | | | | | | | | Task-number: QTIFW-1953 Change-Id: Ie291e8ae96d46082e342e9bcb152258862813afd Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Replace obsolete qrand() with QRandomGeneratorKatja Marttila2020-11-043-4/+6
| | | | | | | | | | Change-Id: Ie61b192bcf047cc70f728ea15370ff50e7a41769 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Remove unused code blocks and functionsKatja Marttila2020-11-0412-74/+12
|/ | | | | | | | Results analyzed using cppcheck tools. Also add Q_DECL_OVERRIDE to overwrited functions. Change-Id: Iab5eb43206af0050c1dd84efb7ed860ab9594496 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Allow replacing variants in 'Title'Katja Marttila2020-10-211-1/+1
| | | | | Change-Id: If3c675f0cd76744eee63170f629633b31f7a046a Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Don't warn if maintenance tool cannot be deletedKatja Marttila2020-10-151-0/+2
| | | | | | | | | We have a deferred delete for maintenance tool as in Windows the running program cannot be deleted. Task-number: QTIFW-1979 Change-Id: I3bfd98dd1d476450b9b770c9b2f1c70810e67492 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Fix essential updateKatja Marttila2020-10-091-3/+6
| | | | | | | | | When updating essential, no other components should be installed nor updated unless there is autodepend on the essential component. Task-number: QTIFW-1970 Change-Id: If9edd6515e3e5ec51611ac07ac52b13f05983b9d Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* CLI: Add retry count limit for checking running processesArttu Tarkiainen2020-10-091-0/+7
| | | | | | Task-number: QTIFW-1974 Change-Id: I5f2c815a5fe64a2fc2d15e26ff8687b3929292d7 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add short version for option --accept-licensesKatja Marttila2020-10-062-2/+4
| | | | | | Task-number: QTIFW-1984 Change-Id: I9e2c9302d4a21f169266b147bac618758f004fa5 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Add short version for --no-default-installationsKatja Marttila2020-10-062-1/+2
| | | | | | Task-number: QTIFW-1981 Change-Id: Ibb531dcd6e95c6dc6a17d92659736f3cab57af29 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Add missing const parameter referencesKatja Marttila2020-10-058-9/+9
| | | | | | | Results from cppcheck analyzer tool Change-Id: Ib76a53728d2774f5e7ec884e1b98d6bf98d20b21 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Add short version for --confirm-commandKatja Marttila2020-10-052-4/+6
| | | | | | Task-id: QTIFW-1980 Change-Id: Id4641406d67f377597575d1e7f9d2e6d312091a3 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* CLI: Add short versions for message query optionsKatja Marttila2020-10-052-9/+17
| | | | | | Task-id: QTIFW-1982 Change-Id: I97f51c0931f4baef5e19f0e819bd6beee186301e Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Expand the sanity check for mutually exclusive optionsArttu Tarkiainen2020-10-012-4/+22
| | | | | | Task-number: QTIFW-1744 Change-Id: I4a4fdcd2517028e05f9282c15a91a4fb83c24901 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* CLI: Add informative print when calling "remove" with no argumentsArttu Tarkiainen2020-10-011-0/+5
| | | | | | | Task-number: QTIFW-1744 Change-Id: Id44df3b5edbea5582e8ddee230c915d403271d3f Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* CLI: Give more meaningfull return value for installsKatja Marttila2020-09-253-44/+45
| | | | | | | | | | | | | | Instead of returning just true or false when running installer or maintenancetool, utilize the PackagemanagerCore status message. Added also a new status enum, EssentialUpdated, which is returned when calling command 'update' and only essential components are updated. Also fixed a bug when components could be installed even when there were an essential update available. Task-number: QTIFW-1969 Change-Id: I43826301656573b34e1338b49566d199bdcd7468 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* CLI: Prevent MT restart after MT is updatedKatja Marttila2020-09-232-4/+6
| | | | | | | | | | Command line instance does not launch properly without user interaction. In Windows, the maintenancetool was launched to the background without GUI and CLI, in Linux the CLI does not take user inputs. Task-number: QTIFW-1967 Change-Id: I5e6ebb40f7db37a70f8d0063cbe279f5cd26080b Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>