> -----Original Message----- > From: Rainer Meier [mailto:r.meier at wpkg.org] > Sent: 07 July 2009 13:18 > > Hi Mark, > > Mark Cooke wrote: > > I have just provoked a slightly unexpected behaviour with > v1.1.0 of wpkg.js > > > > Conditions: > > > > 1. Package requires a reboot after it is installed or > upgraded (removed & > > re-installed). I have the reboot condition set in the > install/upgrade > > section for specific exit conditions. > > > > 2. WPKG Check conditions between the existing version and > updated version > > are the same. > > > > 3. To do the upgrade, I just increased the revision from 1 to 2. > > > > > > WPKG logs indicate a successful upgrade, with an immediate > reboot. However, > > on the next reboot, the revision check fails. The > implication is that > > requesting an immediate reboot during an upgrade causes a > reboot before > > wpkg.xml has been rewritten with the successful revision data. > > > > Is this a bug, or am I misunderstanding ? > > It seems you're hitting a very special situation. Commands > which require an > immediate reboot are usually commands which cannot finish > without rebooting and > therefore it makes no sense for WPKG to verify if a package is > installed/upgraded correctly before this reboot was done. > I think in your case you should schedule a postponed or > delayed reboot for your > command instead of an immediate one (reboot="delayedReboot"). > This makes sure > all upgrade commands are run before the reboot takes place. Dear Rainer, I've switched the package to use reboot="delayed" (having ploughed through the source when reboot="delayedReboot" didn't cause a reboot), and this does exactly what I needed - a reboot at the end of the specific package installation, but after having updated the wpkg.xml file. > The immediate reboot should be used only if a command requies > a one-time reboot > and it will exit with a different code on next execution. Thanks for this clarification. I didn't understand the use of this immediate reboot was for this situation, and I believed that 'reboot=true' was esentially what 'reboot="delayed"' does. It is time for me to search and replace reboot=true with reboot=delayed. By the way, did reboot=true always restart immediately in earlier versions of WPKG ? I'm a bit surprised I didn't see this situation with 0.9, but it is possible it didn't arise with how I was packaging programs then. <snip example of workaround> Thanks for the rapid feedback. Cheers, Mark PS. Thanks to everyone contributing to WPKG - it is a very useful tool. |