-
-
Notifications
You must be signed in to change notification settings - Fork 394
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create update.sh #426
Create update.sh #426
Conversation
This is my first take for a update solution for manual installations. Hopefully this is the correct path. If not, please point me to the right direction.
Signed-off-by: Andre Becker <andre1becker@gmx.de> (github: github_handle)
Related to #299 |
Hey, let's discuss extensions. Out of my head:
@kaikreuzer I do not know of any wide-spread format nor did I find one on the internet. I can't think of any higher complexity (delete file x only if file y diesn't exist and z was created on christmas eve) demanding a more sophisticated format. Here are all examples I can think of:
General remarks:
One additional idea: A second parameter could contain either of What do you think? |
Sounds fine to me. Maybe we could also introduce an APPEND besides DELETE/MOVE/TOUCH. Do we also support wildcards in filenames? |
batch and sh should be able to support * and ? wildcards in filenames. |
APPEND content to file, e.g. add new option to a config file without changing existing settings? Sounds handy but might be too much for the csv file. There are too many edge cases... Maybe we should look into diff / a diff variant is the better approach then!? Wildcards are okay with me. (adding above) |
I like the idea of diff very much. I'll guess this cloud be easily implemented using rsync... |
That's what I wanted to avoid.
On Windows??? With APPEND I thought that a new version could simply add a new setting to the end of an existing file by just delivering the diff. But you might be right that that as well can become complex easily, especially as soon as people skip some release inbetween. Btw, do we have any good strategy to handle that case? |
Okay, let's not get ahead of ourselves and try to get a first version ready. My understanding of this PR is an upgrade script. Should this be its only purpose or do we want to break it down to four parts: backup, restore, migrate, upgrade? Upgrade executes 1-3 (plus the actual upgrade) and Migrate would be what we discussed above. Would you agree it would be better to first get Backup, Restore and Upgrade finished and merged before we look into migration? |
Just to be clear: this script is at first, anyways, for upgrade a manual installation only. So there is anything in there (backup, upgrade, restore). We just need to define which files are need to be copied back to the upgraded installation so that we got as little manual reconfiguring as possible (at least this was my intention:-)) On the other hand, a upgrade procedure for all possible scenarios (like different Linux distros, Windows and so on) would be nice, but I guess not possible at all. So we should think about that we might have seperated routines per Linux/Windows. |
Why? This is exactly what we wanted to achieve with the csv - to have a platform independent file, which the platform dependent scripts will use (the scripts only have to be created once, while the csv will be modified over time). |
Ah ok, i've misunderstood that part with the platform dependent scripts. |
So lets recap: Some Examples: What we try to accomplish is the following:
I'll say that the whole process should generate a logfile where everything is logged to. |
0290a12
to
16d4b07
Compare
This is now superseded by #471, but we should soon continue on the discussion of the CSV processing and additional backup/restore scripts as well. Shall we do this on this PR or open dedicated issues instead for the discussions? |
This is my first take for a update solution for manual installations. Hopefully this is the correct path. If not, please point me to the right direction.