By default, all default repositories defined in <RemoteRepositories> are
saved to maintenancetool.ini -file. When you start maintenancetool, the
repositories are read from maintenancetool.ini and those are used. There
are cases when we don't want to use the default repositories when
running maintenancetol.
Change-Id: I4507e16636f2d709aa099eaa865264800591ce0d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Due to a bug reported at QTBUG-70425, it is necessary to ensure that
QJSEngine will see the filename passed in as a valid URL. So we
prepend file:// for those cases to ensure qsTr() will find the
right context when looking for translations.
Change-Id: Ib38b1f8467de78ec82c2c6c6909487f3a06c09bb
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Installer was never able to continue from metadata download phase in
case there was no metadata in any of the packages. If metadata not
found, emit finished signal to continue installation.
Task-number: QTIFW-1150
Change-Id: I0d3f8fb147899fff4b1a1cc0c6de7a587aae9053
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
As metadata can be downloaded in chunks, there are extra step counter in
UI in case there are more than 1 chunk to be fetched. Reset the counter
and result in case e.g. repositories are changed from settings and meta
information is retrieved again.
Task-number: QTIFW-1137
Change-Id: I1bfe06dc0ba375508efb0b6ebe5edce884310ea8
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
Expanding commit "Add attribute to mark parts of install tree unstable."
This change will allow installing other components if some component
has sha mismatch.
Change-Id: I61202da95dc07ca3f1fe931cfe1fbbb053596f42
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
In updater mode, unstable components needs to be unselected so that
those won't be updated. In packagemanager mode, installed unstable
components needs to be in checked state so that those won't be
uninstalled.
Change-Id: Ib3d16ae8c0eec4e07731a0082c02fd710ffdb9d6
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
If there are no Script, Translations, Licenses nor UserInterfaces
-tags in Updates.xml, there is no metadata. In such case, do not download
the empty metadata to decrease the time used in downloading metadata.
Task-number: QTIFW-975
Change-Id: I1b81a07b5ad43677e190fb058ece8b06382d215b
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
If there are lot of components, it takes a lot of time to check every
component for their errors. Print those only when --verbose given in
command line.
Task-number: QTIFW-975
Change-Id: If9467416d5d8f3417cd30262f95e91308a79e7a6
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
We don't need to check the installed() state here as we do it already
when preselecting components in the tree
Task-number: QTIFW-1142
Change-Id: I3540a02f39ea7b379db6597c75d7fee76cc4caab
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Previous commit worked only when --show-virtual-components was uses.
Task-number: QTIFW-1114 QTBUG-67106
Change-Id: I6d0649a37095b10ec9fd3a079e020f6a70345c94
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
Added missing content for example --> making it possible to test it.
Changes to be committed:
new file: examples/dependencies/packages/componentA/data/installcontentA.txt
new file: examples/dependencies/packages/componentB/data/installcontentB.txt
new file: examples/dependencies/packages/componentC/data/installcontentC.txt
new file: examples/dependencies/packages/componentD/data/installcontentD.txt
new file: examples/dependencies/packages/componentE/data/installcontentE.txt
new file: examples/dependencies/packages/componentF.subcomponent1.subsubcomponent1/data/installcontentF_1_1.txt
new file: examples/dependencies/packages/componentF.subcomponent1.subsubcomponent2/data/installcontentF_1_2.txt
new file: examples/dependencies/packages/componentF.subcomponent1/data/installcontentF_1.txt
new file: examples/dependencies/packages/componentF.subcomponent2.subsubcomponent1/data/installcontentF_2_1.txt
new file: examples/dependencies/packages/componentF.subcomponent2.subsubcomponent2/data/installcontentF_2_2.txt
new file: examples/dependencies/packages/componentF.subcomponent2/data/installcontentF_2.txt
new file: examples/dependencies/packages/componentF/data/installcontentF.txt
new file: examples/dependencies/packages/componentG/data/installcontentG.txt
Change-Id: I40fde219a5ab866f611e596dd5991b9b93c8856f
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
This commit adds new AllowUnstableComponents configuration. Setting
AllowUnstablecomponents to true in config.xml will
* allow installing other components when there are errors in scripts
* allow installing other components when there are missing dependencies
* will mark the 'broken' components uninstallable in treeview
Task-number: QTIFW-930
Change-Id: I8d28cf9c4b0401e0bb76795e87d581f39b64f128
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
In some machines, installer does not manage to download meta files if
there are huge amount of downloadable packages. It seems that
QtConcurrent is not always able to handle so many download tasks.
Divided the downloadable tasks into size of 1000 to keep the
QtConcurrent running.
Change-Id: I3ba110e2cc565251e540349a6b073245280a6fbe
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Instead of waiting for a package that is missing, show error message and
abort installation
Task-number: QTIFW-1064
Change-Id: I021e7ece9e4020a85380318185cdb6a424dc26fa
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
It fails to output logs in ~PackageManagerCore() when using '--checkupdates'.
It is installed in 'C:\Program Files (x86)'(needs admin rights).
Disable the admin query.
Because it does not need the query for checking the updates.
Change-Id: I8cbd5823287a23d52c2f1a7f1fae95979314e441
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
change the name of the variable to parse the arguments of operation command.
Change-Id: I251b17e6e48b0a5c12636199de57bbb761b3ac23
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
From Qt 5.11 onwards, macro.qdocconf requires QT_VERSION environment
variable to be defined. Just copy the two custom commands we use
in IFW.
Task-number: QTIFW-1103
Change-Id: Ib2d81e0f9e7b5518206efaf2a219ceb8109f6490
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
The macros.qdocconf from Qt's global documentation config includes a
macro that uses the value of QT_VERSION, which is not defined for
IFW.
The documentation build therefore fails with
'error: Environment variable 'QT_VERSION' undefined'.
To work around this, load the macros we use from a local qdocconf
file.
Change-Id: I1dc02dffc758af8e855e42a0fceabb84434876d2
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
that makes it possible to update the templates even if the ifw itself
cannot be built (e.g., due to using a -no-widgets qt build).
Change-Id: Ie170e6524dbed40f6c8b837e35af6b45a1c2d2dd
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
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>
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>
Change enables building IFW with Squish support by passing SQUISH_PATH
to qmake when building IFW. Also enables runtime change of Squish port
with command line option --squish-port <port number>. If no port is set,
default port 11233 is used to attach to Squish.
Change-Id: I4821b360031df66968d3592886c2e45598e1b097
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
As usesSystemConfiguration() is introduced in Qt 5.8, use it only when
compiling with Qt 5.8 or higher. IFW still supports version 5.6.2.
Change-Id: Ib39f38a452624a84627ad53c9941154bc0fd7929
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
From Qt 5.8 onwards system proxy might be used by default. Checked if that
is the case and updated settings accordingly.
Task-number: QTBUG-65143
Change-Id: Ibe8f3173636c57f73addcc576afdd37a68ec1d03
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
From Qt 5.8 onwards system proxy is used by default. Add option --no-proxy
to enable installer usage with no proxy.
Task-number: QTIFW-1085
Change-Id: If5247969aa9577cb746468c59802104d19826596
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
this makes it easier to integrate ifw into the surrounding
infrastructure.
Change-Id: I7918830b7a6c29d8556911eec83a3b6530478d84
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
An item can be expanded by default in component tree by setting
ExpandedByDefault to true in package.xml file.
Change-Id: Ib324327cf6ef6e2dda3271e704f3ced523c6579c
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>