Digging in the code a bit, I've noticed that the upgrade goes well if I force the startup mode to update.
The sling/conf/launchpad_timestamp.txt exists and is valid. It seems that the StartupManager.getSelfTimeStamp() method does not get the correct timestamp: - looks for the last-modified date of the jar loading StartupManager.class - org.apache.sling.launchpad.base.jar - looks for the last-modified date of the jar loading LaunchpadContentProvider.class - still org.apache.sling.launchpad.base.jar - looks for the last-modified date of all the bundles from sling/startup folder The problem is that at this point, the new/modified bundles are not present in the sling/startup folder, so they are not taken into account. Does this look like a bug or like something that I'm doing wrong? ( So that I know whether to file a bug or keep digging ) Thanks, Robert On Mon, Dec 16, 2013 at 12:56 PM, Robert Munteanu <[email protected]> wrote: > On Mon, Dec 16, 2013 at 1:26 AM, Robert Munteanu <[email protected]> wrote: > > (snip) > >> I'll try and get a sample launchpad online >> tomorrow, perhaps that would make what I'm trying to achieve clearer. >> I do have some pecularities in it, since I've tried to trim it down as >> much as possible. > > I've uploaded a Maven project with a trimmed-down launchpad at > https://github.com/rombert/launchpad-update-test , together with the > steps I took to test the in-place update. > > Thanks, > > Robert > >> >> Thanks, >> >> Robert >> >> $ diff -r sling{~,} >> diff -r sling~/conf/launchpad-timestamp.txt >> sling/conf/launchpad-timestamp.txt >> 1c1 >> < 1387149743159 >> \ No newline at end of file >> --- >>> 1387149767577 >> \ No newline at end of file >> Binary files sling~/installer/RegisteredResourceList.ser and >> sling/installer/RegisteredResourceList.ser differ >> Only in sling: org.apache.sling.launchpad.base.jar >> Only in sling~: org.apache.sling.launchpad.base.jar.1387149742283 >> diff -r sling~/sling.properties sling/sling.properties >> 2c2 >> < #Mon Dec 16 01:22:22 EET 2013 >> --- >>> #Mon Dec 16 01:22:47 EET 2013 >> >> >> >>> >>> Carsten >>> >>> >>>> Thanks, >>>> >>>> Robert >>>> >>>> > >>>> > Carsten >>>> > >>>> > >>>> > 2013/12/16 Robert Munteanu <[email protected]> >>>> > >>>> >> Hi, >>>> >> >>>> >> I'm trying to find out what is the proper way of delivering an updated >>>> >> bundle list to a launchpad-based application. >>>> >> >>>> >> I took the following steps: >>>> >> >>>> >> 1. Built a launchpad using a basic bundle list and executed the jar >>>> >> with java -jar >>>> >> 2a. Added a new bundle to list.xml and rebuilt the jar . Executed the >>>> >> jar with the same sling directory >>>> >> 2b. Increased a bundle's version in list.xml and rebuilt the jar . >>>> >> Executed the jar with the same sling directory >>>> >> >>>> >> Both 1+2a and 1+2b left me with the same bundle list from 1. Just to >>>> >> be on the safe side, I additionally updated the launchpad's version, >>>> >> but that still did not work. >>>> >> >>>> >> I know about using the Felix console and the maven-sling-plugin, but >>>> >> sometimes it's easier to deliver one updated launchpad jar. This leads >>>> >> me to wonder, how can I update the bundles which are delivered with a >>>> >> launchpad? >>>> >> >>>> >> Thanks, >>>> >> >>>> >> Robert >>>> >> >>>> > >>>> > >>>> > >>>> > -- >>>> > Carsten Ziegeler >>>> > [email protected] >>>> >>>> >>>> >>>> -- >>>> Sent from my (old) computer >>>> >>> >>> >>> >>> -- >>> Carsten Ziegeler >>> [email protected] >> >> >> >> -- >> Sent from my (old) computer
