kwindrem / SetupHelper

Helper functions to simplify writing setup scripts that modify VenusOs functionality. The package includes automatic reinstallation of the package after a VenusOs update.
153 stars 18 forks source link

Preserve configuration file in addon directory during updates #87

Open herrfrei opened 2 weeks ago

herrfrei commented 2 weeks ago

Hello Kevin,

I have written the SetupHelper scripts for https://github.com/henne49/dbus-opendtu and now have a problem with the addon's configuration file.

How can we solve this problem?

kwindrem commented 2 weeks ago

Yes, the entire package directory is replaced when downloading a package.

I have provided a place to store config files, etc for each package: /data/setupOptions/ that will survive a firmware update or package download.

Actually any location in /data will survive a firmware update. /data/conf is where Victron stores its configuration information and persistent storage for settings. That might not be a good location as this is the folder that will likely be replaced or heavily modified when doing a configuration backup/restore (planned for the future).

herrfrei commented 1 week ago

The problem is that the mentioned package may be installed multiple times in different directories (without SetupHelper, of course). Then the /data/setupOptions approach does not work. That's why I 'd like to have a call to setup in the old package directory before removing the package (to preserve files, e.g. in /tmp). During installation of the new package I'll add a check if a configuration is already available and move this back to the new package directory.

kwindrem commented 1 week ago

You should be able to call setup from the "old" package from setup in the "new" package. The setup script can make copies of whatever files you need to retain as part of the uninstall portion.