summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Offline-generator: Fix duplicate package entries in internal Updates.xmlArttu Tarkiainen2021-04-1224-35/+206
| | | | | | | | | | | | | | | | | | | | In a somewhat rare case, it is possible that a same package exist in multiple repositories. The latest available package from remotes is used - however if we select that package for inclusion and also implicitly get some other package from the another repository it exists in with an older version (autodependency, etc.), that repository is then also used to parse package information, and we store a duplicate entry of the package to the Updates.xml to-be-written to the offline installer binary. Fix by appending only the package with the latest version to the PackageInfoVector object used to temporarily hold the package information. Task-number: QTIFW-2190 Change-Id: Icdb3dc979153dfada37fdb0aabb3c718bc8aedff Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* CLI: Add support for additional filtering of search resultsArttu Tarkiainen2021-04-0910-12/+91
| | | | | | | | | | | | | | | | | | 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>
* Use pkexec to start the headless process used for privileged operationsArttu Tarkiainen2021-04-091-219/+15
| | | | | | Task-number: QTIFW-1794 Change-Id: I3225da785d52f0631b84341a4fe3d3db0fc0a171 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Merge "commit 29ed7cb3ca2e1caeb56eabba327442ce0ccadbf6 1616145450 -t--sp"Katja Marttila2021-03-2211-38/+2949
|\
| * Merge remote-tracking branch 'origin/4.1' into masterKatja Marttila2021-03-1911-38/+2949
| |\ | | | | | | | | | Change-Id: I2b2ec3606eb50d390da6e59391c0e17a31e08c54
| | * Update ChangelogKatja Marttila2021-03-161-0/+41
| | | | | | | | | | | | | | | Change-Id: Ief73309a0fafb2b4a88bfa633edba19e684459f4 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| | * Add installer generation to make_instructions.yamlKatja Marttila2021-03-125-2/+103
| | | | | | | | | | | | | | | Change-Id: Ief0885c94e7497de834e6f6de14bd485244e8ab0 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| | * Emit signal when components are recalculatedKatja Marttila2021-03-122-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | This signal is needed in QtInstaller when we want to track components which are unstable. Task-number: QTIFW-2172 Change-Id: I464d7ad9373089d5001f442ad69a076579ee3228 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| | * Doc: include example of --confirm-command option usageArttu Tarkiainen2021-03-051-2/+7
| | | | | | | | | | | | | | | Change-Id: I980a03da17dc766d2ad070332bc5a8f2328fb000 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| | * Update translations for GermanAndy Shaw2021-03-051-34/+49
| | | | | | | | | | | | | | | | | | Change-Id: Ia5e003d4b6db40d1a58bac1af48566cab2126abe Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| | * Fix test runningSimo Fält2021-03-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently it is not enough to unset the MAKEFLAGS for jom. It still was running test in parallel and trying to write results to same file. Change-Id: Id0c968dde4c2d005e71a1895e3d2190e8685f3ec Reviewed-by: Katja Marttila <katja.marttila@qt.io> (cherry picked from commit 4687686a64057618e58931912b8a12997fa0f1a3) Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
| | * Add Arabic translationKatja Marttila2021-02-261-0/+2740
| | | | | | | | | | | | | | | | | | Task-number: QTIFW-1425 Change-Id: I474eba5c9b46fed94408dd255ee2ebcc58b894b0 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | | CLI: improvements to 'search' and 'install' command outputArttu Tarkiainen2021-03-1110-19/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously subcomponents of a virtual component were shown on search results, and trying to install these would print a bit vague message: 'Component not found'. As the sub-branches of virtual component nodes are hidden on GUI, we should also hide them when using CLI search, and give a more appropriate error message why the component cannot be explicitly selected for installation, if the user still tries to do so. Also some minor refactoring to the handling of supplemental information about binary type of the running installer/mt. This change does not fix the possible case of an install script changing the 'virtual'-state of a component, as it would require downloading and evaluating the full metadata for repositories (or components), which would impose a performance penalty to search. Task-number: QTIFW-2168 Change-Id: Ibacaca23c38f5ea98967955d91849cefc1f11f61 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | | tst_CLIInterface: remove unused repository contentArttu Tarkiainen2021-03-1117-5/+0
| | | | | | | | | | | | | | | Change-Id: I787b6ae58a01af1d8be5f3504e561982cf8acc0c Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | | Fix styling of QMessageBoxesArttu Tarkiainen2021-03-102-19/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MessageBoxHandler will decide an appropriate parent widget for new QMessageBox objects just before they are shown. This is not quaranteed to be a PackageManagerGui instance, for example when the installer wizard does not have focus, which means the style properties do not get inherited. Rather set the used style sheet for the whole application using QApplication::setStyleSheet(). Task-number: QTIFW-2121 Change-Id: I6f2131279d6f6d3dd41b9eacab8404770aad09a3 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | | Cppcheck: Fix local variable shadowing outer variableKatja Marttila2021-03-098-41/+41
| | | | | | | | | | | | | | | Change-Id: Idff9a40c5089b4de7b8afd1c280603601317beda Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | | Cppcheck: Add explicit and override keywordsKatja Marttila2021-03-095-12/+12
| | | | | | | | | | | | | | | Change-Id: Ia8305652afdf29cbc88328b76f5156187aa54dba Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | | Cppcheck: Move member initialization from constructor body to initialization ↵Katja Marttila2021-03-093-20/+21
| | | | | | | | | | | | | | | | | | | | | list Change-Id: I5bb8c8f81a391abc5cdfdf5a0c7a68bb5edcec89 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | | Cppcheck: Remove unused variablesKatja Marttila2021-03-095-15/+3
| | | | | | | | | | | | | | | Change-Id: Ibf92b3e93ca11428f92e60031a5c8c3c5f60b402 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | | Cppcheck: Misc fixesKatja Marttila2021-03-096-7/+11
| | | | | | | | | | | | | | | Change-Id: I77acdecaf5660f2d7aa723c56d53a97e5687a8b8 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | | Update IFW version numberKatja Marttila2021-03-094-8/+8
|/ / | | | | | | | | Change-Id: I1a85fb972ed3d112ee8373320229a3015991d6c7 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Cppcheck: Initialize uninitialized member variablesKatja Marttila2021-03-035-1/+5
| | | | | | | | | | Change-Id: I38c52e2412f50e0aba41876112a66956b9de2920 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Add alternative way to update components from repositoryKatja Marttila2021-03-0327-27/+344
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Refactor repogen for easier testingKatja Marttila2021-03-024-160/+128
| | | | | | | | | | | | | | | | Functionality is only moved from repogen.cpp to repositorygen.cpp. This makes the repository testing much easier. Change-Id: I2078e2880955c71b9ffa0ac46501eafbd499c3ba Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Fix test runningSimo Fält2021-03-021-1/+1
|/ | | | | | | | | Apparently it is not enough to unset the MAKEFLAGS for jom. It still was running test in parallel and trying to write results to same file. Change-Id: Id0c968dde4c2d005e71a1895e3d2190e8685f3ec Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update side widget with the binary marker changes in introduction pageArttu Tarkiainen2021-02-191-0/+6
| | | | | | Task-number: QTIFW-2150 Change-Id: I8a216ed99aaa68347558cb90a712d2afd1147268 Reviewed-by: Katja Marttila <katja.marttila@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>
* Fix App Error when trying to launch a running installerKatja Marttila2021-02-191-2/+4
| | | | | | | | Fixed by not deleting the uninitialized pointer. Task-number: QTIFW-2149 Change-Id: I4ed768828f6e662c63bf83550c127987205e92d5 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Documentation fixesKatja Marttila2021-02-194-1/+24
| | | | | | Change-Id: Ibb8da857319eff6119b0296375b6c38578729559 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Add unit tests for offline generationArttu Tarkiainen2021-02-1629-18/+330
| | | | | | | | | | | | This also changes some of the return values in our CLI-related functions in PackageManagerCore class to better catch cases where we exit without failing but also without doing anything. Also adapt existing tests. Task-number: QTIFW-2028 Change-Id: I73c4ca1b20d439773d0e290195f137d0d7369d17 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix value overwrite from command lineKatja Marttila2021-02-163-43/+56
| | | | | | | | | Key-value pairs given from command line should overwrite all common variables and custom variables saved to maintenancetool.ini Task-number: QTIFW-2021 Change-Id: I1abd8b67e6ae76051a2887965099e00344bc5cc0 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Reduce windows frame size from maximum sizeKatja Marttila2021-02-161-1/+6
| | | | | | | | | Windows frame is calculated to availableGeometry(). If wizard default height is set higher than that, the buttons remains partly unvisible under the taskbar. Change-Id: Ia0610e72fc84356e6c18d6f332a84947179d714a Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Fix DesktopDir value for AllUsersKatja Marttila2021-02-161-1/+1
| | | | | | | | | Correct value is 'Common Desktop' for AllUsers instead of 'Desktop'. Change-Id: Ice375f56401600e50d126694bbb0a7cc1bb61ad9 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* CLI: Add warning when cli-only options are used without command keywordArttu Tarkiainen2021-02-155-55/+96
| | | | | | Task-number: QTIFW-2046 Change-Id: Id1c3d24e8c385bdfbe0a7837be774f885a192aa4 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Translations: Update existing TS filesArttu Tarkiainen2021-02-1112-1445/+4202
| | | | | | | | | Some source strings have been added, changed, moved, removed, etc. over a period of time. Task-number: QTIFW-2126 Change-Id: Id84b2001f3229c02d6ebbf1e79301573c9701eb2 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Emit signal after loading default translationsArttu Tarkiainen2021-02-112-0/+2
| | | | | | | | | This makes it easier to get the load order correct, if there are translations to be loaded for additional pages from vendor extensions to the internal C++ API. Change-Id: I9e10cfa7e1cbf25f87d998157436c44425403cac Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add possibility to move component in component treeKatja Marttila2021-02-1149-52/+472
| | | | | | | | | | | | 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>
* Try rerunning execute operationKatja Marttila2021-02-0514-52/+202
| | | | | | | | | | | | | Execute operation can have hard coded paths to program which is executed. In case the program is relocated, UNDO operation will fail as it will not find the program. Implemented new XXXX_OLD value which can be used for overwriting the hardcoded value. In case the program execution fails, program is tried to launch again with the replaced value. Task-number: QTIFW-2125 Change-Id: I446a4c423e53cc4ffc6e5e25617d2400945ac3d9 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* CLI: Exit when expecting user input and the output device is not a TTYArttu Tarkiainen2021-02-044-3/+21
| | | | | | | | | | - For arbitrary text input queries, fail and exit. - For file/directory queries, fail and exit. - For message boxes, default to negative option and exit if necessary. Task-number: QTIFW-1949 Change-Id: Iaf8a07247a0e358d4544a856788e48447c6720d9 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Provide missing documentation for functionsKatja Marttila2021-02-045-0/+38
| | | | | | Change-Id: I2fe4f6bfc6a31291900d0005550c419cf6582fac Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Restructure logging utilitiesArttu Tarkiainen2021-02-0420-559/+684
| | | | | | | | | | | | | | Create a singleton-pattern class as an encapsulation unit for holding and altering the state of debug printing attributes. Move related code from various places under a single umbrella header file for logging utilities, with some minor stylistic changes & cleanup. This acts as a preparatory change for providing non-blocking headless CLI runs when there is no TTY attached - that will be fixed in a follow-up change. Change-Id: Ib7f72cf75362c3ea6713058e92eda997d6df55c3 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Doc: Misc fixes for Lib7z namespace documentationArttu Tarkiainen2021-02-041-5/+71
| | | | | | | | | | We are still missing quite a bit documentation for this namespace. Add documentation for symbols that could be easily documented and mark the rest as internal, at least for the time being. Otherwise the generated html docs contain stub sections for these symbols. Change-Id: I471873c8da5050f9fb3a4f033da71dcb0aff7b3c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Doc: Remove obsolete \contentspage commandLeena Miettinen2021-02-0411-27/+0
| | | | | Change-Id: Ief8fe530fcca22ea7dbe4baf66b2a2bc837ce1af Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Doc: Show documentation for Lib7z namespace and PercentPrinter classLeena Miettinen2021-02-042-0/+13
| | | | | | | The docs were already there, just not displayed in the Manual Change-Id: I3bbc0718150ff792a0657140d1d8999f47667450 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add support for setting minimum wizard dimensions in config.xmlArttu Tarkiainen2021-02-0410-2/+48
| | | | | | | Task-number: QTIFW-1903 Change-Id: I4d8eaf71a1a63dfbfa75ea61af728fa1f5e3e9f3 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Doc: Update copyright year in online docs footerArttu Tarkiainen2021-02-041-1/+1
| | | | | Change-Id: Ie699b632fe8b783b7bc9f823fad189b6ceaced31 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Save Execute operation with predefined variableKatja Marttila2021-02-035-6/+47
| | | | | | | | | | | When operations are saved to dat file, the variables are resolved making it impossible to change it afterwards. This change allows saving the Execute -operation variables unresolved. Variables are resolved runtime so those can be changed using e.g. script. Task-number: QTIFW-2124 Change-Id: I22a0502a5760234fc331aa931b8c66864e855e34 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* CI: Enable html_doc build for each platformSimo Fält2021-01-271-0/+20
| | | | | | Task-number: QTIFW-1027 Change-Id: Ifd20adcef892cea9af8ee746517ece0e19bcbb6d Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Make LicenseAgreementPage license list & details browser user-resizableArttu Tarkiainen2021-01-261-7/+10
| | | | | | Task-number: QTIFW-1987 Change-Id: Ide5a8b6912f96981de2fa79e02013d13bb17b43f Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Set "FrameworkVersion" in a place consistent with other variablesArttu Tarkiainen2021-01-213-5/+5
| | | | | | | | Also document the predefined variable. Change-Id: I733bd4dfd245d300994e85c9ebb4b34a7c51de45 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>