summaryrefslogtreecommitdiffstats
path: root/src/sdk
Commit message (Collapse)AuthorAgeFilesLines
* Handle api removed in Qt6Christian Stenger2022-12-291-1/+3
| | | | | | | Task-number: QTIFW-1829 Change-Id: Ibb492ada102dd74f4defde084fca48106837add6 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Replace foreach which does less magic in Qt6Christian Stenger2022-12-161-1/+2
| | | | | | Task-number: QTIFW-1829 Change-Id: I1669e810e4332d899ce21aa6d9ea751514a1f7f1 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Fix wrong bracesChristian Stenger2022-12-161-1/+1
| | | | | | Task-number: QTIFW-1829 Change-Id: Ice8a649ba21682302246879c788469fac09ba05e Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Merge remote-tracking branch 'origin/4.5' into masterKatja Marttila2022-12-131-1/+1
|\ | | | | | | Change-Id: Id8121e6b4cdda23c8c44cf779e35dce8d9a28090
| * Fix user set binary marker not having any effect on maintenance toolArttu Tarkiainen2022-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TabController would invoke IntroductionPage::onCoreNetworkSettings- Changed() slot, which would disable the UI controls for selecting the package manager or updater mode in case the maintenance tool is configured to use only temporary repositories that are set only later on. This would also update the internal magic marker indicating the binary type, overwriting the user selected one that was passed with one of the --start-* options. Fix by splitting the resetting of the "metadata fetched" state of the page to its own public method from IntroductionPage::onCoreNetwork- SettingsChanged(), and call that from the TabController initialization instead. Task-number: QTIFW-2884 Change-Id: I952b8fd1d14e6292bae1556a5f33dec537c8b1d6 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Fix building with Squish version 7.0.xKatja Marttila2022-11-171-1/+1
| | | | | | | | | | | | | | | | | | Squish SOURCES were overwrited in the pro file which caused a fatal error when including squish into build Task-number: SQUISH-15697 Change-Id: Ifd9feed64a2a72897e877cdb6b59959509ecf628 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Print to log if squish port attaching succeededKatja Marttila2022-11-171-2/+2
| | | | | | | | | | | | | | | | Squich::allowAttaching returns true if the attach succeeded, printing the return value to log. Change-Id: Ib960d9c948857824a777d2852eb70dfb30286de7 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Workaround possible stalls on single core systemsArttu Tarkiainen2022-11-161-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Try to mitigate risk of running into situations where the application would hang due to "nested" blocking usage of the global QThreadPool that has only one thread available. When the ideal thread count for the machine is 1, which is also the max thread count for the global thread pool, add another one to the pool. An example of such hang situation is that the main thread invokes QtConcurrent::run(&myFilterFunction) and myFilterFunction() calls QtConcurrent::blockingFiltered() for a container. Change-Id: Ibe1ee56cb55d7f4fc81c488a381756e09e1c0729 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Metadata cache: clear cache in a separate threadArttu Tarkiainen2022-11-144-2/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the visible blocked UI while clearing cache items, which takes some time. Disable controls on the dialog and show a basic progress bar while the clearing is in progress. Also add basic access serialization to GenericDataCache<T> class public methods. It is still possible that the user closes the settings dialog with other means before the clearing in a separate thread was completed, and we want to avoid crashing to race conditions in such case. If the user manages to navigate forward in installer pages, to fetch metadata again, it wouldn't still work correctly though. Task-number: QTIFW-2815 Change-Id: Ic2c0feac44aff69c458105cf0f559e8693fc0d69 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Use QFileInfo::exists() as that is documented to be fasterKatja Marttila2022-11-041-1/+1
|/ | | | | Change-Id: I413669860334d96de684c1c32962a33166ac6c7c Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Merge remote-tracking branch 'origin/4.4' into 4.5Arttu Tarkiainen2022-11-031-11/+9
|\ | | | | | | Change-Id: If99e84c5f6e6914f0d90770053ce6850e70ed403
| * Attach to squish only when the port is separately givenKatja Marttila2022-09-081-11/+9
| | | | | | | | | | | | | | | | | | | | Attaching to squish will trigger firewall questions in the installer. Changing the attach behavior so that by default no attach is done, and user can run the installer with --squish-port <number> if the attach is needed. Task-number: QTIFW-2746 Change-Id: I89f06a52b1ef95493e99084cb6080266b4eaf1dc Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* | Update translation filesArttu Tarkiainen2022-11-0216-132/+2200
| | | | | | | | | | | | Task-number: QTIFW-2814 Change-Id: I548346cf3e00f90b8d34be098183a79e8e4f1a47 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | CLI: Add new '--cache-path' optionArttu Tarkiainen2022-10-211-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-213-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-12/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Fix missing message of QInstaller::Error exception on SDKApp::notify()Arttu Tarkiainen2022-10-181-1/+3
| | | | | | | | | | | | | | | | The class was reparented from std::exception to QException some time ago. Change-Id: I15f319d9b770d9983ec75d683a13d016f4758c5d Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Show information dialog after clearing metadata cacheArttu Tarkiainen2022-10-182-1/+25
| | | | | | | | | | | | | | | | | | | | Show dialog indicating success or failure, including the error message, to add some feedback for the action. Adjust related to code to handle return value of GenericDataCache<T>::clear() function, and fix the wrong return value when an error occurs while deleting cache subdirectories. Change-Id: Ib35f2db3711d85f567f7918c903aebf4236d7041 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Add persistent metadata file cacheArttu Tarkiainen2022-10-144-2/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Adjust the 'ready to install' message to avoid repeating the app nameAndreas Pakulat2022-09-2716-48/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | The text was using just the word 'Setup' which is inconsistent with other places which usually refer to the application as '<product> Setup'. Adding the product name would've been possible, but it seemed unnecessary to repeat the installer name again right at the last step. So instead replace that with a general message explaining that all needed information has been collected. Task-Name: SQUISH-9672 Change-Id: Ia253f4f921431f272bc1d69352a5fa7179e84d0c Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | CLI: add support for hiding values of printed optionsArttu Tarkiainen2022-09-221-1/+1
| | | | | | | | | | | | | | | | | | Some options may require values that contain information that should not be echoed. Task-number: QTIFW-2756 Change-Id: I84ee7fd0f27ef68a2b3e886bd639c836835a52b6 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Replace .vbs hack to update maintenance tool binary on WindowsArttu Tarkiainen2022-09-071-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do the replacing of the executable instead by: - The original MT renames itself to a temporary name - The new MT is renamed to the destination file name - The new MT is started as a detached process, it polls to delete the temporary MT (requires that the parent process exited) Introduce hidden options, cleanup-update and cleanup-update-only to start the maintenance tool in a mode for deleting the old binary. Also fix missing verbose messages on hard restart of maintenance tool after update. Due to QProcessWrapper::startDetached using a modified implementation of the wrapped class (QProcess) method, the detached process was started with a new console instead of inheriting the console of the parent process. Fix by adding a second variant of the QProcessWrapper::startDetached functions using the QProcess implementation. Task-number: QTIFW-2625 Change-Id: Iebc5b04befa1e79765217f93723f977556e03d90 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Replace 'Setup Wizard' and 'Wizard' with just 'Setup'Andreas Pakulat2022-08-3016-65/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In many other places the UI refers to the program as just '<Product> Setup' and the 'Wizard' suffix also seems to be somewhat out of date/'retro'. So get rid of the suffix to make the naming more consistent. I think this change also fixes a problem with translation. The ts-files contain just 'Completing the %1 Setup' for the Restart Page, while the actual text is 'Completing the %1 Setup Wizard'. So the translation here might not have worked properly - it certainly looked odd. Task-Name: SQUISH-9672 Change-Id: I65a56c6e927f01307868ad8319e301b84ab330be Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Print developer warning message when loading translation file failsArttu Tarkiainen2022-06-131-1/+8
|/ | | | | | | | | | | | | | This is non-visible when running with lower than maximum verbosity or custom logging rules. But when enabled it provides at least some information for the packager about the point of failure - was it with loading of the Qt or the IFW translation for a certain language. Unfortunately didn't find a way to get details about the reason of the failure. Task-number: QTIFW-2658 Change-Id: I7ac3991810ab9dbb14cb941a1d95783141486928 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Translations: fix duplicate source stringArttu Tarkiainen2022-06-0316-64/+0
| | | | | Change-Id: I73e07ac8d4099df0c0a3bade4bc40cb1467fbbe2 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Translations: replace apostrophe quotes with character entity referencesArttu Tarkiainen2022-06-035-20/+20
| | | | | | | | As lupdate wants to do this anyway on updating the source strings, better to make a separate commit to not clutter when doing real changes. Change-Id: I8ea644f4aef8f95adaac8dd6257e86441a266264 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Translations: exclude leading and trailing newlines from source stringsArttu Tarkiainen2022-06-0316-788/+394
| | | | | | | | | | | A follow-up for the translation update round for 4.4.0 release, fix the noted issue of some strings having strange formatting in the .ts files. This makes it less likely that the translated strings miss the newlines in cases where it matters to the text presentation. Change-Id: I0fc9c2c8014a6ffa30dc510701b7bfad72e8eb82 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Catalan translation fileArttu Tarkiainen2022-05-311-29/+224
| | | | | | Task-number: QTIFW-2622 Change-Id: I5dffd7567451f349a49ccc0695e66c8145d4bb55 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Danish translation fileArttu Tarkiainen2022-05-311-37/+232
| | | | | | Task-number: QTIFW-2622 Change-Id: I8b27055b43e8866bf739907ad3a5b2198cac0117 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Hungarian translation fileArttu Tarkiainen2022-05-301-23/+154
| | | | | | Task-number: QTIFW-2622 Change-Id: I128910335ca926229389f245265870947c25870f Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Italian translation fileArttu Tarkiainen2022-05-301-37/+232
| | | | | | Task-number: QTIFW-2622 Change-Id: I4a52f8655e363de05a3e04d5b4eda6d05342c290 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Japanese translation fileArttu Tarkiainen2022-05-301-22/+137
| | | | | | Task-number: QTIFW-2622 Change-Id: If895876d4b8fbb3793ffe9260954a3c39d9e5a2a Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Croatian translation fileArttu Tarkiainen2022-05-301-29/+228
| | | | | | Task-number: QTIFW-2622 Change-Id: I0d20e5ad3dcbc22e18176469250796e3e6137d81 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update French translation fileArttu Tarkiainen2022-05-271-23/+138
| | | | | | Task-number: QTIFW-2622 Change-Id: I10246ab16a02cb54502b72bd6e240506bf8fd594 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Russian translation fileArttu Tarkiainen2022-05-271-22/+137
| | | | | | Task-number: QTIFW-2622 Change-Id: I6ca680884313c2ea5e835272f9010bcae80c19d3 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Arabic translation fileArttu Tarkiainen2022-05-271-23/+138
| | | | | | Task-number: QTIFW-2622 Change-Id: I50e7ce3bae04494c0ff73bc214db2e0d39f0c7c1 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Portuguese translation fileArttu Tarkiainen2022-05-271-24/+139
| | | | | | Task-number: QTIFW-2622 Change-Id: If4025d249320a8fbf903c04b0f9a6ea88c6b2797 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Brazilian Portuguese translation fileArttu Tarkiainen2022-05-271-53/+183
| | | | | | Task-number: QTIFW-2622 Change-Id: I18f535351fbe12c569bb989ba9eac9958671c246 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Chinese translation fileLiang Qi2022-05-271-19/+130
| | | | | | Task-number: QTIFW-2622 Change-Id: If4c576bcd46a529e5a1bbf616483fecda58c5d20 Reviewed-by: Liang Qi <liang.qi@qt.io>
* Update Korean translation fileArttu Tarkiainen2022-05-121-22/+139
| | | | | | Task-number: QTIFW-2622 Change-Id: I8451b4c7a4b6533efcfef09ec1c44d3aa7183066 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Polish translation fileArttu Tarkiainen2022-05-121-19/+127
| | | | | | | Task-number: QTIFW-2622 Change-Id: I780802300c380c3e84af58d3e79ad199f679e74e Reviewed-by: Krzysztof Guć <krzysiek@gemsnet.pl> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Spanish translation fileArttu Tarkiainen2022-05-121-22/+137
| | | | | | Task-number: QTIFW-2622 Change-Id: I3b2e7fa2be859df300917da67392b57a067a284a Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update German translation fileArttu Tarkiainen2022-05-101-22/+140
| | | | | | Task-number: QTIFW-2622 Change-Id: I4862ac23acc4a1e5417a3432902a879b8028d9a3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add option for specifying maximum concurrent unpack operationsArttu Tarkiainen2022-04-211-0/+10
| | | | | | | | | | 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>
* Add support for parallel extraction of component archivesArttu Tarkiainen2022-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce ConcurrentOperationRunner class used for running installer operations concurrently in the global thread pool. Add execution groups for operations; Unpack operations are run concurrently for all components requesting installation, operations belonging to Install group are run sequentially for sorted components one at a time as before. From the default registered operations the Extract op is moved to Unpack group. Move the previously on-the-fly backup steps of Extract operation to the ExtractArchiveOperation::backup(), so that backups are done before any archives are extracted, and that we know if any of the archives requires administrator privileges to unpack. Reparent QInstaller::Error to QException to support throwing and catching exceptions across thread boundaries. Use RAII for the server-side objects of the classes supporting the remote client-server protocol of installer framework. The concurrent extraction revealed that it was still possible that the local socket was disconnected and thus the RemoteServer- Connection thread finished before receiving and processing the final "Destroy" command packet, leaking the dynamically allocated objects. Task-number: QTIFW-2566 Change-Id: Ib8c2928b9405b7b3465c731018df73acb51e949f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add missing mnemonic for the "Settings" buttonArttu Tarkiainen2022-04-2116-16/+16
| | | | | | | | | | The "Cancel" button on bottom of the wizard is also missing a shortcut. But this behavior is inherited from QWizard, where it appears to be intentional. Task-number: QTIFW-2206 Change-Id: I53e595591679f5d22b2b381f86974dfc963d2bd4 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Print archive and compression library versions with --version optionArttu Tarkiainen2022-04-131-1/+14
| | | | | | Task-number: QTIFW-2507 Change-Id: I566dc4984df305fb0b5e7b9a1fe7ea9628ac02d4 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix minor Japanese translationsKatja Marttila2022-02-211-2/+2
| | | | | Change-Id: Id7396eec7cc21e8011c716564adf9c9019eddb84 Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
* Update Japanese translation fileKatja Marttila2022-02-161-0/+16
| | | | | | Task-number: QTIFW-2436 Change-Id: I9b89eb86c33fbc39b77b96af963f1aaa02051374 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Update Chinese translation fileLiang Qi2022-02-101-10/+17
| | | | | | Task-number: QTIFW-2436 Change-Id: I9f3d81a5eb7c3ae1c5f596a1ba4a992bb99a1b8f Reviewed-by: Liang Qi <liang.qi@qt.io>