summaryrefslogtreecommitdiffstats
path: root/doc/installerfw.qdoc
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/4.7' into masterKatja Marttila2024-01-221-0/+5
|\ | | | | | | Change-Id: Id9fe7a127a72b58732f5dffd11c4c9c7c1c56060
| * 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-151-3/+8
|/ | | | | | | | | 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>
* Unify maintenance tool nameKatja Marttila2023-10-131-27/+27
| | | | | | | | | | 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>
* 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-291-4/+4
| | | | | | | | | 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-291-0/+12
| | | | | | | | | | | | 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>
* Add support for component aliasesArttu Tarkiainen2023-09-141-6/+84
| | | | | | | | | | | | | | | | | | 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>
* Fix vale suggestions in ifw docsSafiyyah Moosa2023-03-201-5/+5
| | | | | | | 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-271-2/+6
|\| | | | | | | Change-Id: I07baba6a0e64b6022e6a933708e199551be7dd2f
| * 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-301-5/+4
| | | | | | | | | | | | | | Task-number: QTIFW-2860 Change-Id: Icadb39c13279d3614179f8e16d33be696198a74c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@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>
* CLI: Add new '--cache-path' optionArttu Tarkiainen2022-10-211-0/+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-211-0/+3
| | | | | | | | | 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>
* Add persistent metadata file cacheArttu Tarkiainen2022-10-141-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | Introduce GenericDataCache and Metadata classes for storing the fetched metadata files (Updates.xml and uncompressed files from the meta.7z archives) on local filesystem. The cache uses a checksum based dictionary to keep track of the cached metadata items, with the SHA1 sums of downloaded Updates.xml files being the keys to refer single metadata item. We still need to download all the Updates.xml files on each fetch to check if the cached metadata items are applicable for the current repositories. Update the Updates.xml files in auto-test data to have unique contents, otherwise there could be conflicts with identical test repositories, as the tests will also utilize the cache now. Also omit registering Repository type to the meta-object system in the class contructors, this is expensive as we construct objects from the class frequently, in the worst case hundreds of thousands times. PackageManagerCore already does the registering. Task-number: QTIFW-2621 Change-Id: Iee10ead68befd722ffe7f18ca48483d5a3666658 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Doc: update reference for 'Virtual' elementArttu Tarkiainen2022-06-151-2/+3
| | | | | | | | | Note that marking the component virtual also affects the visibility of its child components. Task-number: QTIFW-2702 Change-Id: I70ad68adefb7753c556db1b2892c579ff160d7e9 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Doc: add reference for including custom translations to new languagesArttu Tarkiainen2022-06-151-0/+20
| | | | | | Task-number: QTIFW-2658 Change-Id: Id65b3530ccb33e09a466b575d0d009e73afdbdda Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* macOS: make creating maintenance tool alias optionalArttu Tarkiainen2022-06-031-1/+1
| | | | | | | | | | | | | | | | Currently the installer will create an alias file for maintenance tool with the name defaulting to the file name of maintenance tool, if the name is not explicitly declared in the installer's configuration file. This can cause issues with installers that use the same maintenance tool filename, as the alias would be overwritten on each install, and the default name does not tell which installation the alias is associated with. Make it so that the alias is only created if installer config specifies a name for the alias. Task-number: QTIFW-2665 Change-Id: I790ee376ec56cff16730189e513a194b8c610066 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix updating autodependency componentsKatja Marttila2022-05-131-2/+3
| | | | | | | | | | | Autodependency components were always forcely updated, even if 'Deselect All' was selected in component selection page. Fixed so that the autodependency component update is updated only when one of its dependants is updated. Task-number: QTIFW-2595 Change-Id: I05ececc45ef32ff80d53b008f839b358158a3316 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* macOS: Create alias of maintenance tool to Applications directoryArttu Tarkiainen2022-05-051-0/+4
| | | | | | | | | | | | This makes maintenance tool startable from Launchpad and Spotlight search. Add "MaintenanceToolAlias" configuration variable for setting the name of the alias, which may differ from the actual file name in installation directory. Task-number: QTIFW-2535 Task-number: QTIFW-2478 Change-Id: I73ae5bbf5d0196b2512b5517cb02c391b2ab278c Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add option for specifying maximum concurrent unpack operationsArttu Tarkiainen2022-04-211-0/+6
| | | | | | | | | | For tracing issues with the multithreaded extraction and limiting the processor load from the installer. Task-number: QTIFW-2586 Change-Id: I5df0bf6be30b4ee5ef8470c407281e2a4318ed0c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Doc: add reference of metadata formats supported by repogenArttu Tarkiainen2022-03-311-0/+12
| | | | | | Change-Id: Ie36c8fdad257b08e8a6238f5460fd2de15682253 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Doc: Add instructions for promoting maintenance tool updatesArttu Tarkiainen2022-03-311-0/+101
| | | | | | | Task-number: QTIFW-2440 Change-Id: Ia34524072d7e1e7ca321d4e0ba4013ce4fc012a0 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add click option for product imageKatja Marttila2022-03-211-1/+6
| | | | | | | | | | Product image can now be clicked. It opens either url in Web browser or if file reference is given, then it will be opened with the suitable application. Task-number: QTIFW-2361 Change-Id: I59ed1355e90c23c8d0a5124779725825ca1ee2c8 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Update license headerKatja Marttila2022-01-241-2/+2
| | | | | | | Use https instead of http in www.qt.io/licensing Change-Id: I0a2e97afcda03d50fd823be8e11426c2399a3b8f Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Doc: note the expected image file format for customization elementsArttu Tarkiainen2022-01-171-6/+6
| | | | | | | Task-number: QTIFW-2426 Change-Id: I56ff521c928110977dc6a094d066bcee5145607d Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Merge remote-tracking branch 'origin/4.0'Arttu Tarkiainen2022-01-131-7/+6
|\ | | | | | | Change-Id: Ifb02b022312859c2c946ec0debcd77dc90a0ced2
| * Doc: Note the unique name requirement for files referred in config.xmlArttu Tarkiainen2020-12-211-0/+4
| | | | | | | | | | | | | | Task-number: QTIFW-2077 Change-Id: Ie5a21cb73dc41135e20e5059644d22c31275b49d Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Doc: Mark <InstallerWindowIcon> as Linux and Windows only elementArttu Tarkiainen2020-12-101-0/+1
| | | | | | | | | | | | Task-number: QTIFW-2077 Change-Id: I0298f2a3ec2eeb74536d27c172b9e84527bddf80 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Remove references to <Icon> elementArttu Tarkiainen2020-12-101-7/+1
| | | | | | | | | | | | | | | | | | | | The element is marked as deprecated and does not work correctly anymore so mentions should be removed from documentation and code accordingly. Replaced with <InstallerApplicationIcon> and <InstallerWindowIcon>. Task-number: QTIFW-2076 Change-Id: I33c60321e468852b6ae20b44ed72a3e7a2119b75 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Add support for moving child components with <TreeName>Arttu Tarkiainen2022-01-061-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new optional "moveChildren" attribute to <TreeName> element. Children of components declaring "moveChildren=true" attribute are calculated a value for an automatic tree name element. Multiple components in a single tree branch can declare a tree name, the order which the relocation happens is from leaf components to root components. Components may be moved under another tree name target. Components may be moved to an existing identifier part that does not have a component, for example in the following repository structure: rootA.childA rootB rootB.childB the "rootB" component can legally declare a "rootA" tree name. The tree names of components become static after installed. If a repository declares a new tree name for a component that is installed, it is only applied after updating in maintenance tool. Child components, which have an automatic tree name, are moved if the parent component is updated with a new tree name, however. Task-number: QTIFW-2380 Change-Id: I9c44a114d3c1248b7e2dd4f0b5cda0739af102f3 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Libarchive: enable support for uncompressed tar archivesArttu Tarkiainen2021-12-091-2/+3
| | | | | | | | | | | | | | Task-number: QTIFW-2404 Change-Id: I4c62d283d54a1f180f9c3525da0728a1c75ef50e Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Doc: Note the expected translation name format in package dir referenceArttu Tarkiainen2021-09-161-2/+4
| | | | | | | | | | | | Change-Id: I66c5c83a3df29b7c5926277270979d7cf933be6c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | binarycreator: support selecting compression level and archive formatArttu Tarkiainen2021-09-141-0/+19
| | | | | | | | | | | | Task-number: QTIFW-1587 Change-Id: I8855b1ce4bb8abf072ff235846428fc63729f0fb Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | repogen: add support for setting compression level for data archivesArttu Tarkiainen2021-09-141-0/+13
| | | | | | | | | | | | Task-number: QTIFW-1587 Change-Id: I86c4b08eb43e3cafbab83e04961c51d6bdbc98ba Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Add support for handling archive files with libarchiveArttu Tarkiainen2021-09-141-7/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libarchive is a multi-format archive and compression library written in C and licensed under the new BSD license. Usage of libarchive brings in support for additional archive formats (in addition to 7z) with the installer framework, like zip and tar, with several available compression methods like gzip, bzip2 and xz. libarchive will coexist as a supported archive format handler with the LZMA SDK currently used in the framework, which will continue to be used for handling the 7-Zip file format. This change introduces classes for handling archive operations using both libraries, removes most calls to the old Lib7z facade and migrates the code base to use the new handling methods. Task-number: QTIFW-2255 Change-Id: I8d77110ded503060495a3d6fdfdbc26281df9453 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Merge remote-tracking branch 'origin/4.1'Arttu Tarkiainen2021-06-021-3/+23
|\ \ | | | | | | | | | Change-Id: I86049138466399411ba36791330f4a94faad8c52
| * | Add documentation for translation usageKatja Marttila2021-05-071-3/+23
| | | | | | | | | | | | | | | | | | | | | Task-number: QTIFW-2217 Change-Id: I15af0ac81842db386bb8d86b4a76bdd45722b4a9 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | | CLI: Add support for additional filtering of search resultsArttu Tarkiainen2021-04-091-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Search command results can now be optionally filtered with the '--filter-packages'-option, which takes an unspecified count of key-value pairs that contain the desired package information element and a regular expression used to find matches in the element. Example usage: 'installer --fp "Version=1.0, Description=Some text" search *' Only the packages which match all given filter rules are included in the output print. Task-number: QTIFW-2168 Change-Id: I788b065d95952b988489c36db80b3c859b970f05 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | | Add alternative way to update components from repositoryKatja Marttila2021-03-031-0/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | Components can be updated from online repository using version number. Sometimes there is a need to update to an older version which is now possible by using content sha. Content sha can be added to repository with repogen --sha-update <component_id>. If there is a new content sha available in the repository, component is updated although it version number might be smaller. After the content sha is removed from online repository, the normal update with version number is performed. Task-number: QTIFW-1798 Change-Id: Id9e32b0345af5101cccaf6e30c81bd39691d9590 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix documentation for package directory nameKatja Marttila2021-02-191-1/+3
| | | | | | | | | | | | | | | | | | | | Package directory name cannot contain characters ':' or '-' as those are used as a separator for version number. This information was not found clear enough in the documentation. Task-number: QTIFW-2146 Change-Id: Id291cf821f35b7ef5b6d720c94b46f2e83c9d6d9 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Documentation fixesKatja Marttila2021-02-191-1/+1
| | | | | | | | | | | | Change-Id: Ibb8da857319eff6119b0296375b6c38578729559 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | Add possibility to move component in component treeKatja Marttila2021-02-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Setting <TreeName> -tag to component.xml will overwrite the default location of component in installer's tree view. This way we can define the component location without a complete repo build. Updates.xml can be directly modified by adding <TreeName> -tag for easy relocation of components. TreeName must be an unique name - it cannot conflict with existing tree name or name. Task-number: QTIFW-594 Change-Id: Ie69f90f1303d932369d566d0d7b4bc0e354505c6 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>