Hello. I was recently reviewing the instructions for the s6-rc dabatase upgrade procedure, and they made me wonder what would happen if:
* s6-rc-format-upgrade was called with a compiled database that is not the exact 0.4.0.x equivalent of the one currently associated with the live state directory (i.e. other that a database created with s6-rc-compile from version 0.4.0.x and the exact same service definitions). * s6-rc-update from version 0.4.0.x was called with a live state directory currently associated with a <=0.3.0.0 database. Is any of these things capable of trashing s6-rc's live state? I think that the documentation is clear about the upgrade procedure, but that these could be likely ways of accidentally screwing it up. Something like the latter was actually the database upgrade procedure for previous backwards-incompatible s6-rc upgrades, right? Although I don't know if any of them involved a database format change. Also, I'm lost about the role of version 0.3.0.1: * https://firstname.lastname@example.org/msg01096.html * https://git.skarnet.org/cgi-bin/cgit.cgi/s6-rc/tree/doc/upgrade.html?h=real_0.3.0.1 Development of 0.3.0.1 was done in the skarnet.org Git repository in a 'real_0.3.0.1' branch. Development of 0.4.0.0 was done in the master branch, and the current upgrade notes don't even mention 0.3.0.1: * http://www.skarnet.org/software/s6-rc/upgrade.html So, in the end, does upgrading from 0.3.0.0 to 0.4.0.x require an intermediate 0.3.0.1 s6-rc-compile + s6-rc-update step, and then 0.4.0.x s6-rc-compile + s6-rc-format-upgrade, or not? (I didn't have running services that I had to preserve, so personally I didn't need any special care and just upgraded from whatever I had at the time to s6-rc-0.4.0.0, but s6-rc-format-upgrade is now there and one might need to explain or remind correct usage :) ) Thanks, G.