4
0
mirror of https://github.com/QuasarApp/installer-framework.git synced 2025-05-12 21:09:35 +00:00

3145 Commits

Author SHA1 Message Date
Oswald Buddenhagen
a6abb9fe5a auto-generate english "translation"
this file is merely a placeholder. there is no point in it being in the
repository.

Change-Id: Id07be46a9fa0c2eb14cbc567cb95e67c00f18b02
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2017-05-15 11:06:17 +00:00
Oswald Buddenhagen
149b580743 revamp build of translations
instead of using a hand-crafted qrc file, auto-generate one. this allows
us to collect available translations dynamically, which means that we
don't need to limit ourselves to the state of qt 5.5.

as a side effect, this removes the possibility to compile the qt
translations ourselves. i'm not sure what the point of that was, as
every qt installation would have pre-compiled qm files.

Change-Id: Ie88327e848c2498eb2a63a895a80e1cd603619b8
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2017-05-15 10:52:06 +00:00
Oswald Buddenhagen
0093009f03 fix commit-ts target
the pattern *_?? (meant to exclude *_untranslated) doesn't match
ifw's translations without a country code, because they have only a
language code. use two patterns instead.

Change-Id: I5c0f67c339053281dfbee1bcd16b03ac6ca1b6e2
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2017-05-15 10:50:58 +00:00
Oswald Buddenhagen
202958fed3 fix capitalization of zh_CN.ts file name
Change-Id: I466ad08c4ebc1b086cd5b6d6d061ffef9fa3eced
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2017-05-15 10:00:23 +00:00
Katja Marttila
08be880705 Prepare 3.0.0 release
Change-Id: I6e7c58bd9ad958a65729b6b8cd55f2958fe92aed
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2017-05-15 09:19:40 +00:00
Katja Marttila
0db7af6298 Update Changelog
Change-Id: I5bd246a68e107d7ad29009bdc95f3f43139d355e
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2017-05-15 09:05:32 +00:00
Katja Marttila
22f1cdee07 Ignore used separators when comparing file names
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>
2017-05-15 06:02:49 +00:00
Katja Marttila
22d340e39e Check license when doing silentUpdate
Task-number: QTAUTO-428
Change-Id: Ib3d56b59a12d4c7091a6abdbc5231ed5dbe2c3b1
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2017-05-15 05:44:33 +00:00
Katja Marttila
41b18d6aa0 Add progressbar to indicate unzip job is proceeding
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>
2017-05-10 07:09:28 +00:00
Katja Marttila
3fdc5bd4b1 Give warning and exit install if invalid URL given for 7z repository
Task-number: QTIFW-966
Change-Id: I13cf001771d30e0737348d33183e329e4c1d2070
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2017-05-10 06:02:27 +00:00
Katja Marttila
bb671cba0a Fix install corrupt with silentInstall
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>
2017-05-10 06:00:10 +00:00
Andy Shaw
a1694a8ea3 Clarify the add/remove components string to make it clearer
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>
2017-05-08 04:04:21 +00:00
Katja Marttila
535a54337e Fix unnecessary component calculate in silentUpdate
If there are no updates available, no need to calculate components to
install

Change-Id: I95068ef0e062f1745cbe10138407e658befb2c5b
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
2017-05-02 11:14:00 +00:00
Katja Marttila
4ea0d10d72 Fix metadata reset
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>
2017-04-25 11:46:22 +00:00
Katja Marttila
3925556481 Fix invalid QBSP installer break
Change-Id: I7e0bfc2fb0dc4c5438ec2c5ce59b49eb0f0348ee
Task-number: QTIFW-954
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2017-04-24 11:44:38 +00:00
Frederik Schwarzer
d0bca58271 Proofread German translation
Change-Id: I9bda8b78137f9793a4c38b1a8b3b96653fa86c7e
Reviewed-by: Niels Weber <niels.weber@qt.io>
2017-04-24 06:24:54 +00:00
Katja Marttila
cbee1bef19 Move comment to correct location
Change-Id: Iaa3e4814b3f028552df90fa2ac004a645578a659
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
2017-04-12 07:16:07 +00:00
Konstantin Podsvirov
97498e486a Begin 3.1 version development
Change-Id: Idd6e89a09a539eb9d6d6b1271738bd8ba774cce6
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2017-04-11 10:49:43 +00:00
Katja Marttila
ae362c1e89 Change QBSP button name
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>
2017-04-07 11:56:16 +00:00
Katja Marttila
a42a15779a Merge remote-tracking branch 'origin/3.0'
Change-Id: Ic3c8005de03b2cc71436aaa18486085a845dca78
2017-03-30 10:34:22 +03:00
Katja Marttila
7e91db5b1e Merge remote-tracking branch 'origin/2.0' into 3.0
Conflicts:
	src/libs/installer/downloadfiletask.cpp

Change-Id: Ie4b07c402a63c7a12ecf24e52e197507bbb2c5df
2017-03-30 09:02:33 +03:00
Katja Marttila
cd063bc1bd Fix crash at the very end of install if admin rights needed in Windows
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>
2017-03-30 04:35:45 +00:00
Konstantin Podsvirov
a474d0ba7c Bump major version number to 3
Change-Id: If4cf94a34fd6ac22bed94fe8bb508c429ef82fe3
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2017-03-30 04:35:00 +00:00
Karsten Heimrich
bc84731cd4 Fix installer crash when it contains replaced and replacement component
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>
2017-03-24 13:21:09 +00:00
Katja Marttila
7ee08852f3 Make installer to check the dependency version
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>
2017-03-23 08:04:42 +00:00
Samuel Gaist
aca7f1fb7e QRegExp include cleanup
This patch adds the missing include statements for QRegExp.

Change-Id: I05fed3e83514af895b95a3df746b0ae1e6b31828
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-03-13 20:56:02 +00:00
Konstantin Podsvirov
2385184b8b Teach 'binarycreator' and 'repogen' to repack packages from repository
To both tools added options:
--repository                  The directory containing the available repository.
--ignore-invalid-repositories Ignore all invalid repositories instead of aborting.

Documentation added to ifw-tools.html page.

Task-number: QTIFW-925
Change-Id: I36519385df6166d0e450c0ef9d7df44c8611d6a6
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2017-03-13 05:11:47 +00:00
Katja Marttila
9735faf767 Do not fail to install or update if repository is missing
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>
2.0.5
2017-02-21 09:46:28 +00:00
Jesus Fernandez
6f6a632b2d Add shortcut to some widgets
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>
2017-02-20 05:11:07 +00:00
Katja Marttila
9772474dd9 Merge remote-tracking branch 'origin/2.0'
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
2017-01-30 14:40:26 +02:00
Katja Marttila
c9d11cc991 License header update to GPL-EXCEPT
Change-Id: I6426c4e8f932cf26c6c638dec18d0c12e22972d1
Reviewed-by: Janne Anttila <janne.anttila@theqtcompany.com>
2017-01-26 10:02:56 +00:00
Katja Marttila
7121482f04 Rename QtBSP as QBSP
Change-Id: I2537aec5d3065da78bf9b0c6970ff3b38c7d4946
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2017-01-24 08:32:12 +00:00
Slobodan Vrkacevic
bb8cb00212 Fix uninstallation on Windows when target path contains non-ascii characters
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>
2017-01-20 06:03:07 +00:00
Karsten Heimrich
b1ed687f91 Fix installer crash when it contains replaced and replacement component
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>
2017-01-20 05:36:54 +00:00
Karsten Heimrich
2ac28386a6 Fix warning that should not appear on stdout
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>
2017-01-20 05:22:16 +00:00
Iikka Eklund
6189be519b Prepare 2.0.5 release
Changelog update.

Change-Id: I3afdc34ea66926827656a4eac8f7582fbd562056
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2017-01-17 08:33:08 +00:00
Frerich Raabe
fc09159454 Avoid warning messages when passing '--platform minimal'
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>
2017-01-11 10:05:58 +00:00
Katja Marttila
b4144d8097 Merge remote-tracking branch 'origin/2.0'
Conflicts:
	doc/installerfw.qdoc

Change-Id: I3d991775eae96c7de689e4b92393065564940a5f
2017-01-03 12:36:27 +02:00
Sergey Belyashov
6543837af1 Update Russian translation
Change-Id: Id342fcfa0c147c3a3e5ddae584e5f1efae944651
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2016-12-30 11:55:02 +00:00
Katja Marttila
52a1a20ccd Fix hang in Windows when admin rights needed
Change-Id: I07f22c9452deae7a044ac186c8d1953df00df43c
Task-number: QTIFW-902
Reviewed-by: SIGMA Surface Science
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-12-22 04:30:24 +00:00
Jake Petroules
0cc9ab358e Use deterministic sorting order for components
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>
2016-11-28 06:35:11 +00:00
Frerich Raabe
9bd807684e Fix crash at end of installer on Linux 64bit
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>
2016-11-28 05:01:07 +00:00
Katja Marttila
b5b0a8d265 Introduces new --silentUpdate command line option
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>
2016-11-15 06:43:54 +00:00
Konstantin Podsvirov
6bb6771ce5 Documentation fixes
Corrects inaccuracies on the ifw-updates.html page.

Change-Id: I874edf6b23b68b6db5eb6581340e814e3d878d42
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Konstantin Podsvirov <konstantin@podsvirov.pro>
2016-11-09 18:37:43 +00:00
Katja Marttila
e7f9321718 allow installing compressed packages
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>
2016-11-09 07:08:48 +00:00
Konstantin Podsvirov
82dfa6992e Resolve relative URLs from Updates.xml
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>
2016-11-08 10:23:16 +00:00
Frerich Raabe
6e5ef08718 Automatically load all fonts in 'fonts/' resources
...such that they can be used in style sheets.

Change-Id: I677be428972dbfe9385cf438b0ccf2f0f3fcd822
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
2016-11-08 10:22:11 +00:00
Iikka Eklund
9269a8262f Merge remote-tracking branch 'origin/2.0'
Change-Id: Ibd01bc156481df973e3c9371d77af338a5e82607
2016-10-25 10:00:34 +03:00
Iikka Eklund
c1b54a0a7b Prepare 2.0.4 release
Update version number and ChangeLog.

Change-Id: I9b6e8f9576d74002577c8c913ae61c2b577ab0ff
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
2016-10-13 11:02:04 +00:00
Iikka Eklund
70d33027ad Set also display name for Repository action "remove"
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>
2016-10-13 09:12:48 +00:00