Proposed New Update Tool and Update Method #282
Replies: 5 comments 9 replies
-
It doesn't even make sense to me why the current update code doesn't work for some people. I just tested it a bunch and it worked :( |
Beta Was this translation helpful? Give feedback.
-
My 2cents 🪙 Git method (current)In order to continue the Some problems I've noticed are that things are configurable, but only directly in the git-tracked scripts - Like mentioned in this comment #268 (comment) Everything configurable needs to be pulled into their own ENV vars, and sourced properly - Once that is done, then you can remove the This should remove a lot of the merge-conflicts encountered in this method. Any merge-conflicts that do arise, can be chalked up to "You shouldn't modify those files locally. please use birdnet.conf variables" Packaged + Versioned releasesWe'll need to figure out a way to package the application up in a way that is repeatable and install'able on desired OS's. This will also require a lot of the "configuration refactor" from the Git Method above... With this you can add automations around the package building and versioned releasing. With versioned releases you'll also gain a sort of "contract" with users where small changes can be updated easily and not require any major changes to their systems, but larger/Major changes are your way of saying "This is a major overhaul of the application or its dependencies and these steps are needed to be taken prior/after upgrading" |
Beta Was this translation helpful? Give feedback.
-
Being a new "BirdNET'er" - first of all: thank you for what seems to be an enormous effort! Secondly, i surely can be of assistance in reporting and debugging any kind of issues when updating - should any arise... Is there already any kind of documentation re: updating an installation? IMHO - no offense meant - standard procedures like installing / updating / backups should be documented (if even roughly, someone else can fill in prose as seen fit) but also all configuration options should be there. I'd gladly help filling the docs - as i said, even if it's just a few rough skeletons / "red links" in the Wiki... |
Beta Was this translation helpful? Give feedback.
-
I've thought a bit about this, and had this idea (could be half-baked, could be usable, hard to say at this point): If there were two Update options, the user could decide whether they want to keep local changes ( The options could be along the lines of "Update (Keep local changes)" "Upgrade (discard local changes and get up to date with Ok, half-baked is my verdict after reading it over, but worth posting since it could spark another idea elsewhere. |
Beta Was this translation helpful? Give feedback.
-
Another cause of local changes is BirdNET itself:
In case of the shebangs, I believe changing just the first line of a python file in this repo, will cause a conflict when users update their BirdNET installation via the GUI. In general, it would be a good if a vanilla BirdNET could run from unmodified code. |
Beta Was this translation helpful? Give feedback.
-
Updating sucks! :)
I really want to make it better, but have found that figuring out what will work and always work has been a bit of a moving target. As soon as I think I have a method figured out, I learn that it does not work for everyone.
I wanted to ask this community from those of you with professional application development and other collaboration/version-control type stuff how I might be able to implement better, more reliable updates.
My best regards as always,
Patrick
Beta Was this translation helpful? Give feedback.
All reactions