We need more flexible way to patch needed files during installation. Also the current way to defining files-to-patch-* resource and triggering the IFW operation via installscript.qs is sub-optimal.
Also packaging needs to get rid of pre-patching artifacts meaning these patching steps should be executed during installation where we already patch files too.
It should be possible to define patching rules e.g. in .json/.yaml format which are then interpreted by the patcher.
- write to files
- replace strings from files (include filters apply), regex support needed
- installation paths of the artifacts should be possible to be defined
- possibility to strip out directory levels from artifacts
The patcher should be a generic component which can be built as part of the installer or built as a stand alone command line application. To have it as stand alone application helps greatly to track down possible patching related issues and enables testing the logic better as well.
As a separate component the patcher can also be used in upcoming Qt6 installers.
- To reduce the use of script engine, installer should support defining most common cases in package.xml. For example: