summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/3.0'Katja Marttila2017-03-3014-34/+77
|\ | | | | | | Change-Id: Ic3c8005de03b2cc71436aaa18486085a845dca78
| * 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>
* | | Add shortcut to some widgetsJesus Fernandez2017-02-201-4/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | Adds shortcut to the following widgets: * Add or Remove components * Update components * Remove all components * Quit Change-Id: I828f5efe877b62f4437ddaf89eb690572948bf43 Reviewed-by: Konstantin Podsvirov <konstantin@podsvirov.pro> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Merge remote-tracking branch 'origin/2.0'Katja Marttila2017-01-30229-3860/+2715
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-26235-3954/+2779
| | | | | | | | | | Change-Id: I6426c4e8f932cf26c6c638dec18d0c12e22972d1 Reviewed-by: Janne Anttila <janne.anttila@theqtcompany.com>
* | Rename QtBSP as QBSPKatja Marttila2017-01-242-3/+3
| | | | | | | | | | 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>
* | Avoid warning messages when passing '--platform minimal'Frerich Raabe2017-01-113-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unattended installations typically use no UI, and the documentation recommends passing '-platform minimal' (note: one dash!) to hide the UI. Alas, the command line parsing is not implemented in terms of QCoreApplication::arguments() which means that even the -platform argument which is meant to be processed by QApplication is interpreted by the command line parser -- which then complains about the unknown switch by printing Unknown option: p, l, a, t, f, o, r, m Let's avoid this by just registering a dummy '--platform' switch ourselves. It has no effect, but avoids the warning. This however means that two dashes need to be used, because that's how the command line parser works. For what it's worth, there is also a 'gui.setSilent()' setter, but it's not quite as comprehensive as using the 'minimal' platform plugin: using setSilent() will still create a QApplication and thus create e.g. a task bar entry on OS X (and I suspect it requires an X connection on Linux). The 'minimal' platform plugin apparently avoids this. Change-Id: I8cd4cfd496f8c435f0766e3162672eaefbef94cc Reviewed-by: Katja Marttila <katja.marttila@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>
* | Update Russian translationSergey Belyashov2016-12-301-794/+590
| | | | | | | | | | | | Change-Id: Id342fcfa0c147c3a3e5ddae584e5f1efae944651 Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Katja Marttila <katja.marttila@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-157-79/+115
| | | | | | | | | | | | | | | | | | 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>
* | allow installing compressed packagesKatja Marttila2016-11-0917-65/+438
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change introduces new feature to add 7z packages to be installed. Packages must be installer repositories (created with repogen), compressed to 7z file and named as qtbsp or 7z. Selecting compressed package is done either with button in component selection page or with --installCompressedRepository parameter given to installer or to maintenancetool. Button will not be created by default. If you want to show the button either build IFW with DEFINES+=INSTALLCOMPRESSED or enable the button in control script with allowCompressedRepositoryInstall() in ComponentSelectionPageCallback Task-number: QTIFW-886 Change-Id: Ia060092c348991d5195393b7dc154205f8bf92a5 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Automatically load all fonts in 'fonts/' resourcesFrerich Raabe2016-11-081-0/+11
| | | | | | | | | | | | | | ...such that they can be used in style sheets. Change-Id: I677be428972dbfe9385cf438b0ccf2f0f3fcd822 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* | Merge remote-tracking branch 'origin/2.0'Iikka Eklund2016-10-251-1/+2
|\| | | | | | | Change-Id: Ibd01bc156481df973e3c9371d77af338a5e82607
| * Set also display name for Repository action "remove"Iikka Eklund2016-10-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | We should use the display name parameter if given when using action: <Repository action="remove" url="http://foo.bar" displayname="foobar"/> I.e. when the repository gets removed it should print out the given displayname. Now it always prints the url. Change-Id: I227c02c45c21be3c7c93d57f4242e1fc5c189f3c Reviewed-by: Samuli Piippo <samuli.piippo@qt.io> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Revert "Allow signing maintenancetool in Windows"Katja Marttila2016-09-152-25/+12
| | | | | | | | | | | | | | | | | | | | This reverts commit 76fd6e8f2953347ea0bf7a57b643968784bc9acc. The change caused that two installation files were needed - one executable and one dat file. Many users did not find it acceptable. We need to figure out something else. Change-Id: Ief12cd47f9897cee8a234d8611a5c18296d42b1c Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Make support for modifying installations configurableFrerich Raabe2016-09-144-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces support for a new setting 'SupportsModify' in the config.xml file. This is only relevant for Windows installers. By default (i.e. when omitting) this setting, it defaults to 'true' which means that the product supports modifying (i.e. reconfiguring) an existing installations. As such, the 'Modify' button show in Windows' list of installed programs will be enabled. Setting this to 'false' will cause the button to be disabled. Change-Id: I4105f3f0bce67830aa2ee8ae0e6f6abb25c35b30 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* | Improve German translationRobert Loehning2016-07-271-4/+4
| | | | | | | | | | Change-Id: I1ee2617e2f9d33a2ce9d095ee1472df6dd64de1d Reviewed-by: Niels Weber <niels.weber@qt.io>
* | Resolve relative URLs from Updates.xmlKonstantin Podsvirov2016-07-071-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: I5935355dfeee2236e9752cc2545c2d42da216f9e Reviewed-by: Konstantin Podsvirov <konstantin@podsvirov.pro> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Merge remote-tracking branch 'origin/2.0'Katja Marttila2016-06-219-40/+55
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/7zip/7zip.pro src/libs/7zip/win/CPP/7zip/UI/Common/Update.cpp src/libs/installer/component.cpp src/libs/installer/lib7z_facade.cpp src/libs/installer/packagemanagercore.cpp src/libs/installer/proxycredentialsdialog.h src/sdk/translations/ja.ts tests/auto/installer/messageboxhandler/tst_messageboxhandler.cpp tests/auto/installer/scriptengine/tst_scriptengine.cpp tests/auto/installer/settings/tst_settings.cpp Change-Id: I3bb98b8490b3c3eb7f664c1abb7417155b5430b2
| * Make Execute operation work without arguments in WindowsKatja Marttila2016-06-131-10/+1
| | | | | | | | | | | | | | | | | | | | | | Since Qt5.5, QProcess start() needs a program to start. When using native arguments the program is empty and QProcess will fail to start. Removed the use of native arguments until QProcess supports setting program through native arguments. Task-number: QTIFW-862 Change-Id: Ia56344e1bf82fbd76e4e8f2ae8b6817e4bb2fce1 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
| * add make install functionality with INSTALL_ROOTKatja Marttila2016-05-193-0/+9
| | | | | | | | | | | | Change-Id: I8bad1c9bbe7b705ff0842f15fb0c9bc6c127e9bc Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
| * add missing tr for "AlreadyRunning" messageboxKatja Marttila2016-05-191-2/+2
| | | | | | | | | | | | Change-Id: Icffe886597a1f18d9eaacf1e3a14f31e252919c6 Reviewed-by: Topi Reiniƶ <topi.reinio@theqtcompany.com> Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
| * Doc: Fix PackageManagerCore::ComponentType briefLeena Miettinen2016-05-131-1/+1
| | | | | | | | | | | | | | | | The \enum command \brief commands do not seem to get automatically completed during builds anymore. Change-Id: Id81aa8f3044f6151d6b4d8a441e386deb0ca4844 Reviewed-by: Topi Reiniƶ <topi.reinio@theqtcompany.com>
| * Doc: Describe return values for boolean Component functionsLeena Miettinen2016-05-131-2/+11
| | | | | | | | | | | | | | ...to suppress QDoc warnings. Change-Id: Ib79b0392efaed37b4a52932d4f7d98327a3ad306 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Doc: PackageManagerCore::ComponentType is now an enumLeena Miettinen2016-05-131-27/+21
| | | | | | | | | | | | | | Change the documentation accordingly. Change-Id: I2f15bf724558794b66e99eab1120dc2d224600de Reviewed-by: Katja Marttila <katja.marttila@qt.io>
| * Cleanup Japanese translation (12 obsolete).Takayuki ORITO2016-04-291-71/+0
| | | | | | | | | | | | | | Remove 12 obsolete messages in ja.ts. Change-Id: I2d514b93056f5755760ff4eb1b44e36923b01f1c Reviewed-by: Katja Marttila <katja.marttila@theqtcompany.com>
| * Update Japanese translation (new 2).Takayuki ORITO2016-04-291-0/+8
| | | | | | | | | | | | | | | | Update new 2 messages in ja.ts. Change-Id: Ifde5277b4ec968472831c46a940480471dec33dd Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Niels Weber <niels.weber@qt.io>
| * Fix the exception message because missing a space.Takayuki ORITO2016-04-291-1/+1
| | | | | | | | | | | | | | Added space between 'convert' from 'path'. Change-Id: I25f4eedc7d322d29c8c93dd7dd80fc13232de0b7 Reviewed-by: Niels Weber <niels.weber@qt.io>
| * Make IFW compile with FreeBSDKatja Marttila2016-04-262-1/+14
| | | | | | | | | | | | | | Change-Id: Ibebc25b738c843c0eb4291faa2bba7ac9836b008 Task-number: QTIFW-841 Reviewed-by: Ralf Nolden <nolden@kde.org> Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
| * Fix MSVC2015 build.Rafael Roquetto2016-04-182-2/+2
| | | | | | | | | | Change-Id: I502e48dea6329bd6f05a776a669093f41698a274 Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
| * Revert "Use QQmlV4Function to correctly get empty parameters from script."Katja Marttila2016-02-173-55/+46
| | | | | | | | | | | | | | | | | | | | | | This reverts commit eb574d77b0ab9a92b61e7738d089cd4ea4304e51. The change will not work with Qt5.5 as it is causing constant crashes in Qt installers. Using this change will require a fix for Qt5. As we are about to make Qt installers based on 2.0 we need to revert this change for now. Change-Id: Ia7906d02db645f2407ab07d14f5a037224574b29 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
| * Fix crash when updating admin installation with user/temp repositoryKatja Marttila2016-02-151-1/+10
| | | | | | | | | | | | | | | | Grant permission rights for writing maintenance config file Change-Id: I9364358455b8ad5e98b03c20d949c2562ba2535a Task-number: QTIFW-740 Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
| * Compile with Qt 5.5, 5.6. Minimum version is now 5.5.Karsten Heimrich2016-01-211-2/+2
| | | | | | | | | | Change-Id: I60d248ea38e8176e18a9b2a642e81a0ad5fb21d3 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
| * Fix compile with namespace'ed Qt.Karsten Heimrich2016-01-211-0/+2
| | | | | | | | | | Change-Id: I9c0d399943d2f6eb9a0ab136abf24a5c8b108abb Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
* | Allow signing maintenancetool in WindowsKatja Marttila2016-06-212-12/+25
| | | | | | | | | | | | | | | | | | Signing was not possible for maintenancetool since metadata was added to binary. Separated metadata to installer.dat like in OS X. Task-number: QTIFW-667 Change-Id: I74ef307c51a2f43059475dd943d6f0910925fa86 Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Fix cancel button functionality in Settings->Repositories->TestKatja Marttila2016-06-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | When pressing cancel button when testing repositories, the dialog pops up again and again. Cancel the TestRepository job if cancel button is pressed. Change-Id: I48da41a8b791bf04571acd8af4a421b11e0fccc7 Task-number: QTIFW-832 Reviewed-by: Niels Weber <niels.weber@qt.io> Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
* | Introduced gui.setTextItems() methodFrerich Raabe2016-06-154-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This utility function can be used to populate a Qt control which is backed by some QAbstractItemModel with a list of strings. E.g. this can be used to populate a QComboBox or any QAbstractItemView with some items. This is very useful since in many cases, the methods for adding elements to such controls are neither slots, nor marked with Q_INVOKABLE and such unreachable from the script code. Change-Id: I2195f41e53765ef3a798477ed08d8f09ab5c4379 Reviewed-by: Katja Marttila <katja.marttila@qt.io>
* | Store lock files in temporary directoryFrerich Raabe2016-06-152-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The directory in which the application is stored may not be writable for the current user, e.g. if the installer is stored on a read-only network drive, or (common case on OS X) if the installer bundle is started from a read-only .dmg image. This fixes warnings in the verbose output (especially noticeable during unattended installations) like: [0] Warning: Cannot create lock file "/Volumes/froglogic Squish/Install Squish.app/Contents/MacOS/Squish1234865.lock": Read-only file system The patch is defensive in that it just uses QDir::tempPath() instead of going for QTemporaryFile to avoid having to worry about auto-delete semantics. Change-Id: Iee2409dd6f884c4fe234057b2926eee82127f985 Reviewed-by: Katja Marttila <katja.marttila@qt.io>