| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Task-number: QTIFW-1829
Change-Id: Ibb492ada102dd74f4defde084fca48106837add6
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-1829
Change-Id: I1669e810e4332d899ce21aa6d9ea751514a1f7f1
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-1829
Change-Id: Ice8a649ba21682302246879c788469fac09ba05e
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|\
| |
| |
| | |
Change-Id: Id8121e6b4cdda23c8c44cf779e35dce8d9a28090
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
| |
Change-Id: I413669860334d96de684c1c32962a33166ac6c7c
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|\
| |
| |
| | |
Change-Id: If99e84c5f6e6914f0d90770053ce6850e70ed403
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTIFW-2814
Change-Id: I548346cf3e00f90b8d34be098183a79e8e4f1a47
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The class was reparented from std::exception to QException
some time ago.
Change-Id: I15f319d9b770d9983ec75d683a13d016f4758c5d
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I73e07ac8d4099df0c0a3bade4bc40cb1467fbbe2
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: I5dffd7567451f349a49ccc0695e66c8145d4bb55
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: I8b27055b43e8866bf739907ad3a5b2198cac0117
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: I128910335ca926229389f245265870947c25870f
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: I4a52f8655e363de05a3e04d5b4eda6d05342c290
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: If895876d4b8fbb3793ffe9260954a3c39d9e5a2a
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: I0d20e5ad3dcbc22e18176469250796e3e6137d81
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: I10246ab16a02cb54502b72bd6e240506bf8fd594
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: I6ca680884313c2ea5e835272f9010bcae80c19d3
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: I50e7ce3bae04494c0ff73bc214db2e0d39f0c7c1
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: If4025d249320a8fbf903c04b0f9a6ea88c6b2797
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: I18f535351fbe12c569bb989ba9eac9958671c246
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: If4c576bcd46a529e5a1bbf616483fecda58c5d20
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: I8451b4c7a4b6533efcfef09ec1c44d3aa7183066
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: I780802300c380c3e84af58d3e79ad199f679e74e
Reviewed-by: Krzysztof Guć <krzysiek@gemsnet.pl>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: I3b2e7fa2be859df300917da67392b57a067a284a
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2622
Change-Id: I4862ac23acc4a1e5417a3432902a879b8028d9a3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Task-number: QTIFW-2507
Change-Id: I566dc4984df305fb0b5e7b9a1fe7ea9628ac02d4
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
| |
Change-Id: Id7396eec7cc21e8011c716564adf9c9019eddb84
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2436
Change-Id: I9b89eb86c33fbc39b77b96af963f1aaa02051374
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
|
|
|
|
|
|
| |
Task-number: QTIFW-2436
Change-Id: I9f3d81a5eb7c3ae1c5f596a1ba4a992bb99a1b8f
Reviewed-by: Liang Qi <liang.qi@qt.io>
|