summaryrefslogtreecommitdiffstats
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* Allow overwriting undo in some operationsKatja Marttila2024-04-051-0/+23
| | | | | | | | | | | | | | Added possibility to overwrite undo in copy, move, delete, mkdir, rmdir, appendfile and prependfile operations. Undo is performed when component is uninstalled or updated, by adding UNDOOPERATION to the end of argument list will skip the undo operation. Also added unit tests for rmdir and prependfile operations Task-number: QTIFW-3333 Task-number: QTIFW-393 Change-Id: I88dbb16d2ebabe42b4ff810e6196da0be8b4cc65 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Fix QDesktopServices propertiesKatja Marttila2024-04-021-2/+6
| | | | | | | | | | QStandardPaths has changed in Qt 6.6, changing the script properties for script usage accordingly. Task-number: QTIFW-3334 Change-Id: Ib0bf1f0370d8f8691436df0df28a445e39bdb39f Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Fix productType function return value in macosKatja Marttila2024-03-281-1/+1
| | | | | | | | In Qt6, productType is macos, whereas in Qt5 it was osx. Task-number: QTIFW-3309 Change-Id: I403c8a2734eac7a511f742bdd1be130090f7af07 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Fix QFileDialog documentationKatja Marttila2024-03-221-2/+7
| | | | | | Task-number: QTIFW-3320 Change-Id: I3cd4e19f4bfb192ef929b2f724ee77c0b770f06d Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Add possibility to change button textKatja Marttila2024-02-221-1/+23
| | | | | | | | | | Sometimes the button texts in installer are not something that is suitable. Added possibility to change button texts from script to a specific installer page. Task-number: QTIFW-711 Change-Id: I2883cda6d770843c3617fda4e6b07d102a357730 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Merge remote-tracking branch 'origin/4.7' into masterKatja Marttila2024-01-223-20/+25
|\ | | | | | | Change-Id: Id9fe7a127a72b58732f5dffd11c4c9c7c1c56060
| * Doc: Update getting started documentationKatja Marttila2024-01-181-17/+14
| | | | | | | | | | | | Change-Id: Ia2e5a7c2039270e7b33d5f7b449a3c9c3b38cd59 Reviewed-by: Inkamari Harjula <inkamari.harjula@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| * Doc: Fix wrong link in documentationKatja Marttila2024-01-181-1/+1
| | | | | | | | | | | | | | Task-number: QTIFW-3248 Change-Id: I093097d899bb7784965ce34af9fa6de396186d78 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> Reviewed-by: Inkamari Harjula <inkamari.harjula@qt.io>
| * Doc: Link to external dependenciesInkamari Harjula2024-01-121-2/+5
| | | | | | | | | | | | | | | | In Supported Platforms section, link to Linux dependecies added. Task-number: QTIFW-3170 Change-Id: I0d22791113b3d1d6ff0bebb421d6f56143199b0b Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Allow disabling usage of configured repositories for offline installersArttu Tarkiainen2023-12-291-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, offline installers did not consider configured repositories for metadata fetch, but this was changed in a fix for bug report QTIFW-3078. Some users were relying on the previous behavior, so make it configurable in the installer's config file, and default to the new behavior. Task-number: QTIFW-3160 Change-Id: I26c0ab825f080f81ce2320e0be5f75334207c33e Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Doc: Update texts and images on IFW landing page and overview pageInkamari Harjula2024-01-153-25/+62
| | | | | | | | | | | | | | | | | | Texts modified on landing and overview pages. New screenshots to be added later. Image in Choosing Installer Type section was updated. Task-number: QTBUG-117600 Change-Id: I0fa76d25519d2488d6ff68a93bd6b7761f592b3c Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Doc: Fix documentation build configurationTopi Reinio2023-12-084-138/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The custom qmake documentation build target did not correctly locate private include paths for Qt modules. Fix this by replacing dashes with underscores (e.g. qtcore-private -> qtcore_private) before querying the paths. Remove duplicate entry for qtcore-private (it's already added at top level). In ifw.qdocconf, fix relative additional include paths. Remove all non-existent paths from the configuration. Use the correct URL for the online documentation. Remove the now-obsolete custom module header, and let QDoc build an artificial one based on 'headerdirs'. In passing, fix minor issues in the documentation sources. Change-Id: I5cdbd64307448014fa8b73a70378627fdb89b942 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | DOC: Remove unused signalKatja Marttila2023-12-071-18/+0
| | | | | | | | | | | | | | | | | | rootComponentsAdded -signal is not used anywhere, in case the components are added connect to componentAdded -signal instead Task-number: QTIFW-807 Change-Id: I148e74bd9f1650ae09f0020269fb7ed2349b5d3b Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Improve Settings -operation documentationKatja Marttila2023-12-071-0/+1
|/ | | | | | | Task-number: QTIFW-893 Change-Id: I7b995d021963329c438198c3f4fb02832b014090 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Add buildCpuArchitecture() to systemInfoKatja Marttila2023-11-221-1/+20
| | | | | | | | To access buildCpuArchitecture from script Task-number: QTIFW-3224 Change-Id: I02086f7d3e064fe53d6fa9322b8832110c40c6b1 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Update INSTALL fileKatja Marttila2023-11-151-1/+1
| | | | | | | | IFW builds only with visual studio compilers in Windows, updating the INSTALL file accordingly Change-Id: Ia93c3af8e4798e5cd862acd56a3750a0d7b39ed7 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Unify maintenance tool nameKatja Marttila2023-10-137-60/+61
| | | | | | | | | | Maintenance tool was written with both capital letters and non-capital letters, unifying the naming and writing with non-capital letters. Also wrote the name behind a macro, in case we some day want to change it. Task-number: QTIFW-3169 Change-Id: Ic4da06a14edd1d9675704befb5599d2c54747446 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* CLI: adjust 'search' command behavior with --type optionArttu Tarkiainen2023-10-051-5/+17
| | | | | | | | | | | | | | In case the "--type=aliases|packages" option is omitted, search first for aliases, and if not found, search for components. If the option is specified, search only given type. This changes the behavior from previous one, where only aliases were considered for the search by default, if the type option was omitted. Change-Id: Ie01ea85e1b88376f8df3edbf864d1e78788c3464 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix tiny documentation flawKatja Marttila2023-10-021-1/+1
| | | | | | Task-number: QTIFW-1217 Change-Id: I94de47861a4751a7807ae5482b2feaad5faa60fb Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Update terminology for dependency properties for aliasesArttu Tarkiainen2023-09-292-9/+9
| | | | | | | | | Change "Requires" to "Required" and use plural form for the dependency properties, to be more uniform with the dependency properties for components. Change-Id: Iccb36701bc32ebafd27914272225ad1615c5f9fa Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add support for optional alias dependenciesArttu Tarkiainen2023-09-292-2/+15
| | | | | | | | | | | | In addition to RequiresComponent and RequiresAlias, introduce new OptionalComponent and OptionalAlias properties for component aliases. The new properties are used to declare optional requirements for aliases, which do not cause the declaring alias to become unstable in case the referred component or alias is missing from the installer. Task-number: QTIFW-3166 Change-Id: I43c8cd08099e879180ec7e028b55836750c727bd Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix documentation warningsKatja Marttila2023-09-251-0/+2
| | | | | Change-Id: I68ee86163c3b4d825633efce6dba9f1c0d23ed39 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Add support for component aliasesArttu Tarkiainen2023-09-146-7/+131
| | | | | | | | | | | | | | | | | | Introduce concept of component aliases, which act as an alternative way for referring a set of related components. Component aliases are declared in an alias definition file, which is included to the created installer's binary layout as a resource. The file lists the available aliases, including metadata - such as name, version, and description - and the list of components and other aliases the alias requires. Aliases can be referred only from the CLI for the time being, with the supported commands 'install' and 'search'. Task-number: QTIFW-2978 Change-Id: I281f171cc7d932ce496051d7090ae169a4709eec Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Reintroduce custom documentation build targetsTopi Reinio2023-08-173-12/+129
| | | | | | | | | | | Documentation build targets have been removed from Qt 6 when building with qmake. Reintroduce custom targets to call qdoc, qhelpgenerator, and qtattributionsscanner via 'html_docs' and 'docs' targets. These are adapted from similar targets once used by Qt Creator. Change-Id: If572b709c56860a9949c1f4a5ae66a660e2a621e Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Add documentation about separators in operationsKatja Marttila2023-06-091-0/+4
| | | | | | | | | | Some operations in Windows might need native separatos. Adding documentation how the separators can be easily converted to native style. Task-number: QTIFW-2578 Change-Id: I20c44fdaef98095add32421a6303570c6372a056 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Fix admin rights handling during installer/updater/uninstaller runsArttu Tarkiainen2023-05-221-1/+13
| | | | | | | | | | | | | | | | | | The installer.gainAdminRights() and installer.dropAdminRights() methods are invokable from the scripting API. During installing, updating or uninstalling components, installer does it's own decision making to request and drop admin rights on-demand, but this could be overridden with the aforementioned methods. This was not taken into account, instead it was only checked if admin rights were gained in the context of the calling method. Fix by checking if the admin rights were present at the start of the installer, or if they were requested by anyone during installation. Task-number: QTIFW-2929 Change-Id: Ie4f6fc0ac746183b00f460a2e60c57c2eae9808c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix documentation about network shareKatja Marttila2023-05-091-1/+2
| | | | | | | | | | Creating a shortcut to network share in installer is not possible in Windows. Task-number: QTIFW-2933 Change-Id: Ic6594e7baedf581dece6692882443afe47b2040e Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Unify handling of processes to close for 'updating' componentsArttu Tarkiainen2023-04-211-0/+8
| | | | | | | | | | | | | | | | | | | There was behavioral mismatch of handling processes to stop for updates between GUI and CLI modes. For CLI, each command that would make changes to components would recursively check the installation directory for running processes early on, and block continuing if such processes were found. In addition to this, the component scripts may have requested to stop processes before performing component 'updates' (add/remove/update). For GUI, only the latter functionality was utilized, so remove the early checks from the CLI side to make the behavior uniform. Task-number: QTIFW-2927 Task-number: QTIFW-3009 Change-Id: I028e699c43ef4352593b49ccc8a927644916c41a Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Allow shortcuts for https links in WindowsKatja Marttila2023-03-291-1/+1
| | | | | | | Task-number: QTIFW-964 Change-Id: If666d7d651f8240e3e7d4c25d9e9d7d81cbe1b39 Reviewed-by: Katarina Behrens <katarina.behrens@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Merge remote-tracking branch 'origin/4.5' into masterKatja Marttila2023-03-241-1/+5
|\ | | | | | | Change-Id: I9946bf8ff3ea4e132a0490b59c1d4d557198ef62
| * Fix showSettingsButton functionality4.5Katja Marttila2023-03-231-1/+5
| | | | | | | | | | | | | | | | | | | | | | showSettingsButton() called from control script had no effect. Fixed it so that if showSettingsButton will overwrite the IFW decision to show the settings button. Change-Id: Ia08c03cc13db58168fd371f230517bcc83ee0e12 Task-number: QTIFW-810 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Fix vale suggestions on Installer UI Example pageSafiyyah Moosa2023-03-233-17/+17
| | | | | | | | | | | | | | | | Task-number: QTIFW-2988 Change-Id: I7cedcc0516960c0d10cb304181da117dc98781af Reviewed-by: Katja Marttila <katja.marttila@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Fix vale suggestions in ifw docsSafiyyah Moosa2023-03-204-106/+98
| | | | | | | | | | | | | | Fixes: QTIFW-2988 Change-Id: I0e64f56b560fe7183232f5262190a46346a1fc36 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Merge remote-tracking branch 'origin/4.5' into masterKatja Marttila2023-03-141-1/+1
|\| | | | | | | Change-Id: I486d6f3f6fbdbfe1b92ccff918aaf0fe72aa2fc8
| * Doc: Fix typo in documentationKatja Marttila2023-03-131-1/+1
| | | | | | | | | | | | Change-Id: I907882c46ef3d549594531118628c8929ee9742c Reviewed-by: Tero Pelkonen <tero.pelkonen@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Merge remote-tracking branch 'origin/4.5'Arttu Tarkiainen2023-01-272-4/+18
|\| | | | | | | Change-Id: I07baba6a0e64b6022e6a933708e199551be7dd2f
| * Support detecting invalid dependency resolutions on component selectionArttu Tarkiainen2023-01-261-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IFW could already previously detect circular and missing dependencies by running a precheck calculation when building the component tree. However, there can be also cases of where the user selection results in unsolvable changes to components. One such case was the erroneous possibility to uninstall a component marked with ForcedInstallation, if any of its dependencies was checkable and the user unselected it for uninstallation. Add support for reacting to such errors in the component tree view, displaying a message box about the invalid dependency resolvation error, and blocking further navigation until the component selection passes the dependency calculations. Also attempt some refactoring the related code to simplify the different call sequences resulting in recalculation of the components. Change-Id: I9dc78f858bd4be7932f89f8e14bbfd97fbd3a0f6 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Show check box for AutoDependOn components in updater viewArttu Tarkiainen2023-01-261-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In addition to the automatic selection, allow end user to select components declaring the AutoDependOn property when updating components. This does not change the previous rules for automatic selection for update, meaning the component 'A' declaring AutoDependOn relation to component 'B' will still be updated when 'B' is selected for update, regardless of the user selected check state for 'A'. This fixes some cases not handled by the automatic selection, where the component declaring AutoDependOn relation could not be updated. An example scenario: - 'A' (1.0.0) declaring an auto dependency to 'B' does not follow the release schedule and versioning of the component 'B' (2.1.0). - 'A' has a new release (1.0.1) that is pushed to remote repository - The end user cannot update the component 'A' unless 'B' is also updated to the repository, which would trigger the automatic selection Task-number: QTIFW-2855 Change-Id: Iea06c366f7f14f391cbc0b4a6526c8aee349ae59 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Doc: Add information about postLoad usage in scriptsKatja Marttila2022-12-302-5/+28
| | | | | | | | | | | | | | Task-number: QTIFW-2860 Change-Id: Icadb39c13279d3614179f8e16d33be696198a74c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Doc: add -no-feature-gssapi to recommended Qt configure optionsArttu Tarkiainen2022-12-301-1/+1
| | | | | | | | | | | | | | | | This reflects the official IFW builds on Linux. Task-number: QTIFW-2919 Change-Id: I838fd0e544e1fc8d9a2c4b7d344fb7aad2082b20 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Fix documentation warningsKatja Marttila2022-12-201-0/+7
| | | | | | | | | | Change-Id: Ia8717933439359e23b65d9465dec8c70fbe59ee2 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Merge remote-tracking branch 'origin/4.5' into masterKatja Marttila2022-12-131-2/+5
|\| | | | | | | Change-Id: Id8121e6b4cdda23c8c44cf779e35dce8d9a28090
| * Fix updater view behavior for non-checkable componentsArttu Tarkiainen2022-11-241-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the components can still be selected with the selection buttons above the view, it makes little sense to artificially limit selecting individual items for update and hiding their check state. Also the documented use case for the property - making a parent component non-checkable so only some of its children should be checked - does not apply for the updater view. Apply similar fix to forced installation components, which should be also toggleable for updates. Task-number: QTIFW-836 Change-Id: I18f34c4e8ee1e24e761e50edd3066ec4aea3432e Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Fix typos in documentationKatja Marttila2022-11-041-1/+1
| | | | | | | | | | Change-Id: I958043ec15b0ae8a31b3aa7a33166861bb0a3d41 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Add possibility to post load install scriptsKatja Marttila2022-11-041-0/+9
| | | | | | | | | | | | | | | | | | | | | | This change adds attribute, postLoad, to existing <Script> -element. Using <Script postLoad="True"> will call the script loading and evaluation only to those components which are selected for install or update right before the components installation start. Task-number: QTIFW-2820 Change-Id: Ic1967d329cbb5de6a0216ff3f76cc2ede178db80 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Doc: add overview of using QObjects with the scripting APIArttu Tarkiainen2022-10-311-0/+15
|/ | | | | | | | | | | This adds general description of using QObjects that are not part of the documented global JS objects exposed to the scripting API by IFW, as it is possible and often needed to achieve wanted functionality in the controller and component scripts. Change-Id: I3529f59d75d9e5d097e993602a5942d9bae9214f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Doc: Update 'Specifying Settings' topic to describe local cache settingsArttu Tarkiainen2022-10-214-3/+11
| | | | | | | Also refresh the existing images on page for uniform look. Change-Id: Id258202289116023aa18c634378e3cad71925418 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* CLI: Add new '--cache-path' optionArttu Tarkiainen2022-10-212-6/+3
| | | | | | | | | | | | | | | The option can be used to select the path for metadata cache without opening the installer's settings dialog. Add public PackageManagerCore::resetLocalCache() function and remove automatic initialization of the local cache in the private core class constructor, so we can control the timeline better. Also make PackageManagerCore::clearLocalCache() a regular member function as it does not need to be a Qt slot. Task-number: QTIFW-2810 Change-Id: Ia4a903026a10b90da16ba1b93fd3098a709f7ed7 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* CLI: Add new 'clear-cache' commandArttu Tarkiainen2022-10-212-0/+16
| | | | | | | | | The command can be used to clear the contents of local metadata cache without opening the installer GUI. Task-number: QTIFW-2810 Change-Id: I18cec027b9945f83d25fa1716858756ececae6d4 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Allow generation and signing of MT in macosKatja Marttila2022-10-201-8/+35
| | | | | | | | | | | | | | | | | | | | | | | | Previously maintenance tool could be updated from online repository placing installerbase to repository and setting setInstallerBaseBinary() in install script. The maintenancetool app bundle was written in the code and installerbase placed under .app/Contents/MacOS/. This prevented the maintenancetool app bundle to be signed and notarized. Fixed so that the whole app bundle can be placed to repository. This does not break the signing nor notarization as the whole bundle is copied as it is. The setInstallerBaseBinary() is still needed in the install script so that the installer knows which bundle is the maintenance tool. Old way of updating maintenancetool still exists, if the installerbaseBinary does not contain the ending 'app' installer assumes that the maintenance tool is the executable itself instead of whole app bundle. This change also adds a new binarycreator switch --create-maintenancetool, which can be used in macos to create the app bundle for maintenance tool. Task-number: QTIFW-2750 Change-Id: I3483ddb815d035644e826559947f6f9de4af9361 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>