summaryrefslogtreecommitdiffstats
path: root/src/libs
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary warningKatja Marttila2018-02-261-10/+0
| | | | | | | | | | | | Removed unnecessary warning about component specifying both autodependency and dependency to same component. Both of them might be necessary if we need to ensure the install order. Adding the same component as dependency will ensure that the dependency component will be installed first and its scripts run first. Task-number: QTIFW-1022 Change-Id: Id400f1ecf00a4b863ee473218d61a549c6ceb9ca Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* Fix Mkdir operation in uninstallKatja Marttila2018-02-211-0/+7
| | | | | | | | | | | If Mkdir generates directories to target dir, then uninstall will fail to remove those as targetDir is replaced with @RELOCATABLE_PATH@ when the operations are written to dat file. Fixed so that @RELOCATABLE_PATH@ is replaced with targetDir. Task-number: QTIFW-1099 Change-Id: I52a0330a2645e2d4a5371ce0d6f1fb296878752f Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Remove http_proxy environment usageKatja Marttila2018-01-251-7/+0
| | | | | | | | From Qt 4.8 onwards Qt automatically uses http_proxy environment variable. Change-Id: Ib7b3df96beeed14da86c1b17aa2402a9809f3983 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Add line number information when throwing an Error regarding the scriptAndy Shaw2018-01-241-2/+3
| | | | | Change-Id: I5bc3ca4779ed12d927c3a6a041a81d8e39d5bd1f Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix maintenance tool file name parsing in macJani Heikkinen2017-12-191-2/+2
| | | | | | | | | Earlier we used QFileInfo::baseName but that doesn't work properly if '.' are used in file names. So start using fileName instead. Task-number: QTBUG-61262 Change-Id: I474b9656ef6d83dfbcdbc6ba6e40f95e75853c80 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Provide special handling of REG_EXPAND_SZ when setting environment variablesAndy Shaw2017-12-121-0/+51
| | | | | | | | | | | Since some registry settings with regard to the environment variables can have the type set to REG_EXPAND_SZ then we need to ensure that this is respected. Otherwise it will be changed to REG_SZ due to a limitation with QSettings. Task-number: QTIFW-794 Change-Id: Icaede82b151496367e531050082d416e19e15b56 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Avoid another null pointer dereferenceVille Voutilainen2017-12-121-1/+1
| | | | | | Task-number: QTIFW-1064 Change-Id: I053071292ef8786f6d829b57e45091e881ce3d4d Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Do not retry a download immediately after an errorVille Voutilainen2017-12-121-2/+1
| | | | | Change-Id: I1751b5274b3f2f6c69482d98c8beb2c1ef77ae70 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Fix crash when httpReadyRead is signaled after shutdownVille Voutilainen2017-12-111-0/+2
| | | | | | Task-number: QTIFW-1064 Change-Id: Id300f5838fb5f7e72a5e77415ac1832faa2d7c84 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add documentation for the setValidatorForCustomPage() functionAndy Shaw2017-11-301-0/+6
| | | | | | Change-Id: Id2c52f8a7fa2abbd1ac9de49d597269cb9bed220 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Add possibility to reopen admin queryKatja Marttila2017-11-141-25/+31
| | | | | | | | | | | | | | In windows if admin rights are asked, you have two minutes to answer to the query. After that installing is not possible as there is no way to go back to admin query. Adding a possibility to restart the admin right query when 'No' pressed or two minutes timeframe has passed in Windows. Requires DisableAuthorizationFallback set to true, otherwize user is asked to use fallback '--startserver'. Task-number: QTIFW-988 Change-Id: Ide33b588299c981cfe653e7f53e7316a768d87bb Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* Implement package download resumeVille Voutilainen2017-11-033-23/+225
| | | | | | | | | This doesn't implement a resume for checksum files and resource files; there's no pressing need for those. Task-number: QTIFW-5 Change-Id: Id14a3d9b46f2e16a15f52ae536d060d505b2f4f0 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Use QDir::rmdir and not rmpath as that will remove more than it shouldAndy Shaw2017-10-271-1/+1
| | | | | Change-Id: Ie38cc0f19817025c31124256ba968ecded61aef3 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Output correct invalid directory if it does not exist or is not a directoryAndy Shaw2017-10-021-1/+1
| | | | | Change-Id: I166f485b97403f5bdf1c37d4aa36da780b339b43 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Always build libinstaller as a static libraryJake Petroules2017-09-131-0/+2
| | | | | | | | | This fixes the build if IFW is built with a dynamically linked Qt, and does not otherwise affect use of static builds of Qt. Task-number: QTIFW-993 Change-Id: I1e6807e522adde339263c697fa4a1353250a2e3f Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* Merge remote-tracking branch 'origin/2.0' into 3.0Katja Marttila2017-08-2113-1/+19
|\ | | | | | | | | | | | | | | Conflicts: src/libs/installer/downloadfiletask.cpp src/sdk/translations/ru.ts Change-Id: Ibce8b9592c98cec5af3521f4ae6f850c2b8f45ac
| * Fix translation contexts in classes not derived from qobject2.0Sergey Belyashov2017-08-2112-0/+18
| | | | | | | | | | | | Change-Id: I0afbc19a27179b0646564cbb195683279175e98c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Move comment to correct locationKatja Marttila2017-04-121-2/+1
| | | | | | | | | | Change-Id: Iaa3e4814b3f028552df90fa2ac004a645578a659 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Fix install fail if there are missing repositoriesKatja Marttila2017-06-201-4/+6
| | | | | | | | | | | | | | | | | | | | If any of the repositories was not found or had unparsable Updates.xml, install failed although there was other valid repositories. Fixed so that warning is printed when such repositories found but continue install if there are other valid repositories. Change-Id: I04fe8d91382a3ea97ce22cd64159a6a7d825128d Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Fix Component Name visibility in maintenancetoolKatja Marttila2017-06-201-0/+2
| | | | | | | | | | | | | | | | | | | | Most likely the first QTreeView field which contains the Component Name is the most valuable. Make sure that the name has enough space in QTreeView to show the whole component name. This change prevents user to resize the Component Name field Change-Id: I5f7dc7158d2d6f9f6ed1b900eb8d312cd88c03ec Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Fix 'Failure to fetch repositories' if repo missing in Qt5.9Katja Marttila2017-06-131-0/+4
| | | | | | | | | | Change-Id: I0bb66c412bd60a6ec1a9a3dd30059928b43f3c0a Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* | Fix maintenance tool update with silentUpdateKatja Marttila2017-06-012-7/+33
| | | | | | | | | | | | | | | | | | | | | | | | Maintenance tool is an essential update. Essential updates should be installed before non-essential updates. This change forces essential updates to be installed first. The behavior is same as when updating with visible UI. Task-number: QTIFW-976 Change-Id: I360145821c4e2d1f3384efca641208acb9338d5e Reviewed-by: Antti Kokko <antti.kokko@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Change 'Checkable' element behaviorKatja Marttila2017-05-221-1/+7
| | | | | | | | | | | | | | | | Althogh 'Checkable' value is set to package, that can contain packages to install. Enabling the install of components using 'Checkable' value. Change-Id: I05d65fe2da65644872d46bdef3accd5e3f16ad31 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Ignore used separators when comparing file namesKatja Marttila2017-05-151-1/+3
| | | | | | | | | | | | | | | | The separations might differ in QDirIterator and excludeFiles. Make sure that same separators are used when comparing the values. Change-Id: Ib1c810150e600cd647f5b3a24565268b79f4b09f Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Check license when doing silentUpdateKatja Marttila2017-05-152-0/+6
| | | | | | | | | | | | Task-number: QTAUTO-428 Change-Id: Ib3d56b59a12d4c7091a6abdbc5231ed5dbe2c3b1 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Add progressbar to indicate unzip job is proceedingKatja Marttila2017-05-109-7/+32
| | | | | | | | | | | | | | | | | | | | | | When a big compressed package is unzipped, it seemed that the installer hanged as there was no indication that the job is still ongoing. Added undetermined state to progress bar as unzip job does not inform the progress state. Task-number: QTIFW-967 Change-Id: I21ca394e1856038c51413f9e5011307ae7a9850a Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Fix install corrupt with silentInstallKatja Marttila2017-05-103-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | If there are updates available for a component that is executable and the executable is running, installer is unable to update the component and results to a corrupted install. Check that there are no processes running from the install tree and cancel update if there are any. The update is canceled if there are processes running even if the process does not get update. Task-number: QTIFW-969 Change-Id: I5614cdd21d8538ccf8b0d114d3616804fe367667 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Clarify the add/remove components string to make it clearerAndy Shaw2017-05-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | Since there is generally confusion as to what will be installed, removed or updated the string is clarified further to hopefully make it much more clearer what will happen depending on whether it is checked or not. Change-Id: I1077b3dd3e4511e01ca64d0598942d5254e33a54 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Fix unnecessary component calculate in silentUpdateKatja Marttila2017-05-021-11/+15
| | | | | | | | | | | | | | | | If there are no updates available, no need to calculate components to install Change-Id: I95068ef0e062f1745cbe10138407e658befb2c5b Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* | Fix metadata resetKatja Marttila2017-04-251-1/+2
| | | | | | | | | | | | | | | | MetadataJob items should be reseted each time metadatajob starts only when it is not concerning compressed repositories. Change-Id: Ifa7e9d39bb9644ec36e057929f6874821c119ce3 Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* | Fix invalid QBSP installer breakKatja Marttila2017-04-245-47/+98
| | | | | | | | | | | | Change-Id: I7e0bfc2fb0dc4c5438ec2c5ce59b49eb0f0348ee Task-number: QTIFW-954 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Change QBSP button nameKatja Marttila2017-04-071-1/+1
| | | | | | | | | | | | | | | | In macOS, QBSP button was taking too much space making component tree quite narrow. Shorten the button name to make more space to tree Change-Id: I92355c2a7ebe2442bdb6779454f2e6b2c01bb6e7 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Merge remote-tracking branch 'origin/2.0' into 3.0Katja Marttila2017-03-3010-5/+23
|\| | | | | | | | | | | | | Conflicts: src/libs/installer/downloadfiletask.cpp Change-Id: Ie4b07c402a63c7a12ecf24e52e197507bbb2c5df
| * Fix installer crash when it contains replaced and replacement componentKarsten Heimrich2017-03-241-11/+12
| | | | | | | | | | | | | | | | | | | | | | Do not execute the component script of a to be replaced component. This make no sense at all, cause in case of installer it is hidden and we can't install it anyway. Task-number: QTIFW-915 Change-Id: Ia0378047b162dafb854dff24e77a113b27885f9d (cherry picked from commit b1ed687f91d9b75e290ebabcb624684f7d177cb1) Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
| * QRegExp include cleanupSamuel Gaist2017-03-139-2/+13
| | | | | | | | | | | | | | This patch adds the missing include statements for QRegExp. Change-Id: I05fed3e83514af895b95a3df746b0ae1e6b31828 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Do not fail to install or update if repository is missing2.0.5Katja Marttila2017-02-211-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If repository address becomes invalid or is deleted from the server, update or install fails if installer points to a removed repository. However, Updates.xml might have RepositoryUpdate with action 'remove'. If we prevent updating when one of the repositories is not found we never get to perform the 'remove' action to repository which makes the whole 'remove' action unusable. This commit changes the behavior so that warning is printed when repository is not found but it does not prevent the install or update if there are other valid repositories. Change-Id: Ic75b2e09542e304e09af87c7039798120f58d844 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Fix crash at the very end of install if admin rights needed in WindowsKatja Marttila2017-03-301-1/+2
| | | | | | | | | | | | | | | | | | Removed the destroy call to RemoteClientPrivate object as that has been destroyed at that point already in packagemanagercore destructor Task-number: QTIFW-943 Change-Id: Ibb7b4f00842d780b32055dbdc3673d031c52a89a Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Make installer to check the dependency versionKatja Marttila2017-03-234-28/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Installer was able to install dependency correctly. However, it ignored the version dependency might have. Dependencies>componentA->=4.0</Dependencies> If there was already a dependency installed with lower version number, the newer version, which was required by the selected component, was not installed. Fixed so that maintenancetool will not only check if the dependency is installed but also the installed version. Change-Id: Ia26b5233cf8847bce73095d19a13c481318d27f2 Task-number: QTIFW-914 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Merge remote-tracking branch 'origin/2.0'Katja Marttila2017-01-30212-3571/+2511
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Changelog dist/config/config.xml dist/packages/org.qtproject.ifw.binaries/meta/package.xml dist/packages/org.qtproject.ifw/meta/package.xml installerfw.pri src/libs/installer/lib7z_create.h src/libs/kdtools/kdgenericfactory.cpp src/libs/kdtools/kdgenericfactory.h src/libs/kdtools/kdupdaterapplication.cpp src/libs/kdtools/kdupdaterapplication.h src/libs/kdtools/kdupdaterupdatesourcesinfo.cpp src/libs/kdtools/kdupdaterupdatesourcesinfo.h src/libs/kdtools/localpackagehub.cpp src/libs/kdtools/localpackagehub.h src/libs/kdtools/updatefinder.cpp src/libs/kdtools/updatefinder.h tools/binarycreator/resources/mkdmg.sh Change-Id: Iab2513f549832d2e750e77131c673457ab265af4
| * License header update to GPL-EXCEPTKatja Marttila2017-01-26218-3665/+2575
| | | | | | | | | | Change-Id: I6426c4e8f932cf26c6c638dec18d0c12e22972d1 Reviewed-by: Janne Anttila <janne.anttila@theqtcompany.com>
* | Rename QtBSP as QBSPKatja Marttila2017-01-241-2/+2
| | | | | | | | | | Change-Id: I2537aec5d3065da78bf9b0c6970ff3b38c7d4946 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
* | Fix uninstallation on Windows when target path contains non-ascii charactersSlobodan Vrkacevic2017-01-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Windows when a target path contains non-ascii characters and MaintenanceTool has a custom name like Uninstaller it was not possible to start uninstallation after otherwise successful installation. That was because the renaming of Uninstaller.exe.new and Uninstaller.dat.new was silently failing somewhere at the end of installation and there were actaully no files Uninstaller.exe and Uninstaller.dat. To fix this encode the vbs file which is passed to cscript as UTF-16 so that it can handle non-ascii file paths correctly. Change-Id: Id0feb8f8503594f2a9eedddcaa35ae103ccf2938 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Fix installer crash when it contains replaced and replacement componentKarsten Heimrich2017-01-201-11/+12
| | | | | | | | | | | | | | | | | | | | Do not execute the component script of a to be replaced component. This make no sense at all, cause in case of installer it is hidden and we can't install it anyway. Task-number: QTIFW-915 Change-Id: Ia0378047b162dafb854dff24e77a113b27885f9d Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Fix warning that should not appear on stdoutKarsten Heimrich2017-01-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If the warning is written to stdout, parsing the output of --checkupdates might fail with invalid XML output. The change log shows that the warning was introduced in 70cc8ce0e1bd2beb15007045b99b26f6c6956206 and shown only in verbose mode, while change 70cc8ce0e1bd2beb15007045b99b26f6c6956206 made it always 'visible'. The later change went in probably without testing the check updates case... Change-Id: I9183089be89e823b4b082a7343885e360d9ad7f4 Reviewed-by: Riho Pihlak <rpihlak@gmail.com> Reviewed-by: Katja Marttila <katja.marttila@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* | Merge remote-tracking branch 'origin/2.0'Katja Marttila2017-01-033-3/+13
|\| | | | | | | | | | | | | Conflicts: doc/installerfw.qdoc Change-Id: I3d991775eae96c7de689e4b92393065564940a5f
| * Fix hang in Windows when admin rights neededKatja Marttila2016-12-221-0/+2
| | | | | | | | | | | | | | Change-Id: I07f22c9452deae7a044ac186c8d1953df00df43c Task-number: QTIFW-902 Reviewed-by: SIGMA Surface Science Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Use deterministic sorting order for componentsJake Petroules2016-11-281-2/+10
| | | | | | | | | | | | | | | | | | Some components have an equal sorting priority. Therefore, we use the display name to disambiguate to avoid a "random" sorting order. Task-number: QTIFW-833 Change-Id: Ie0fea8cf6f251a1a712aca5ed53ed3c6f7cd9877 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * Resolve relative URLs from Updates.xmlKonstantin Podsvirov2016-11-081-4/+12
| | | | | | | | | | | | | | | | | | | | This change allows you to use relative URLs to update repositories. Absolute addresses are resolved relative to the current Updates.xml file is parsed. Documentation added to ifw-updates.html page. Change-Id: I025bdc3044d1ca9d6abcce3ccdc043d5f03667fc Reviewed-by: Konstantin Podsvirov <konstantin@podsvirov.pro> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Fix crash at end of installer on Linux 64bitFrerich Raabe2016-11-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The installer occasionally crashed at the very end of the installation, apparently this is often triggered on Linux 64bit. It appears that this is caused by two or more threads using qDebug() concurrently: some operation still uses OperationTrace::trace() to print status output and at the same time we try to call showFinishedPage(), which uses qDebug() to print a not-so-useful message. Getting qDebug() out of the operations seems to be tough, and defining QT_NO_DEBUG_OUTPUT at build time to disable *all* qDebug() output feels like overkill, so let's fix this crash by just not printing a message in showFinishedPage(). Task-number: QTIFW-905 Change-Id: I4702eb511577148ae6cc0d32f1580d842e58e0b2 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Introduces new --silentUpdate command line optionKatja Marttila2016-11-154-48/+71
| | | | | | | | | | | | | | | | | | With this feature one can update all installed components silently with maintenancetool by passing --silentUpdate parameter Change-Id: If31d37ce24e794775c2fe47b603259da133c9ee7 Task-number: QTIFW-906 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>