Stefan Seifert created JCRVLT-699:
-------------------------------------
Summary: Installation of Sub Packages fails if Maven Reproducible
Builds are enabled
Key: JCRVLT-699
URL: https://issues.apache.org/jira/browse/JCRVLT-699
Project: Jackrabbit FileVault
Issue Type: Improvement
Components: vlt
Affects Versions: 3.6.6
Reporter: Stefan Seifert
if a container package containing one or multiple sub packages is installed,
the sub packages automatically get installed as well. if this container package
is updated with new content but same (snapshot) versions of the sub packages,
the sub packages reinstalled as well, reflecting the updated content of the sub
packages
however, with version 3.6.6 and up, this update of already installed sub
packages fails, if the sub packages are created with "reproducible builds"
enabled, which has the effect that the "created" date in the package properties
remains unchanged
i've created a small test project to reproduce the problem on
[https://github.com/stefanseifert/filevault-subpackage-install-issues] - steps
to reproduce the problem:
# build project and upload and install the package "app1-all"
# open {{/content/app1.html}} - it shows "Title 1"
# change this title in
{{app1-content/src/main/content/jcr_root/content/app1/.content.xml}} to "Title
2"
# rebuild project and upload and install the package "app1-all"
# open {{/content/app1.html}} - it still shows "Title 1"
expected: it should show "Title 2"
# workaround: re-install the contained sub-package "app1-content" manually,
then the title is updated
the problem does not occur if:
* the property {{project.build.outputTimestamp}} is removed from the project
* or filevault 3.4.0 is used
so there was a change between 3.4.0 and 3.6.6 that introduced a problem with
installing sub packages with reproducible builds enabled. i've debugged a bit
but was not able to look deeper - but if i put a breakpoint in the
"PackageTransformer" where it checks whether the package was already installed
"externally" via {{pkg.isInstalled()}} on the sub packages this returns false
with 3.4.0 and true with 3.6.6. the vlt:definition node of the package shows a
mixture of updated content, and properties reflecting the previous install,
whereas with 3.4.0 only the updated properties are displayed.
i tested the issue with AEMaaCS 2022.11.9850 (using filevault 3.4.0), AEMaaCS
2022.12.10488 (using 3.6.6) and 2023.2.11289 (using
3.6.9.T20230216120000-0a9b076a) - but i assume it can be reproduced with sling
only as well.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)