Botspot / pi-apps

Raspberry Pi App Store for Open Source Projects
GNU General Public License v3.0
1.93k stars 207 forks source link

Better update system #482

Closed torralbaa closed 3 years ago

torralbaa commented 3 years ago

Hello!

At @MCPI-Revival, we (@mobilegmYT I summon you) want an easier and more effective way of managing MCPIL/MCPI-Reborn releases here in Pi-Apps. So I was thinking, what if each pi-app had an URL that would return the hash of the updated main file, and the updater would work based on that? Pi-apps like MCPIL, which are maintained by its developers, could point to an external URL (like https://mcpi.tk/mcpil-hash), and pi-apps like the Arduino IDE, that are maintained by Pi-Apps' team and contributors, could have an "internal" URL in the repo (like https://raw.githubusercontent.com/Botspot/pi-apps/hashes/$APPNAME-hash).

I would be happy to implement this, but I just wanted to know if this would be useful and to ask for feedback and possible modifications to the idea.

NoozAbooz commented 3 years ago

Hello!

At @MCPI-Revival, we (@mobilegmYT I summon you) want an easier and more effective way of managing MCPIL/MCPI-Reborn releases here in Pi-Apps. So I was thinking, what if each pi-app had an URL that would return the hash of the updated main file, and the updater would work based on that? Pi-apps like MCPIL, which are maintained by its developers, could point to an external URL (like https://mcpi.tk/mcpil-hash), and pi-apps like the Arduino IDE, that are maintained by Pi-Apps' team and contributors, could have an "internal" URL in the repo (like https://raw.githubusercontent.com/Botspot/pi-apps/hashes/$APPNAME-hash).

I would be happy to implement this, but I just wanted to know if this would be useful and to ask for feedback and possible modifications to the idea.

I regret my decisions. I still think an apt repo would be more straightforward for hosting downloads and also allows for expansion and easy downloading of future projects, but you do you.

Botspot commented 3 years ago

So I was thinking, what if each pi-app had an URL that would return the hash of the updated main file, and the updater would work based on that? Pi-apps like MCPIL, which are maintained by its developers, could point to an external URL (like https://mcpi.tk/mcpil-hash), and pi-apps like the Arduino IDE, that are maintained by Pi-Apps' team and contributors, could have an "internal" URL in the repo (like https://raw.githubusercontent.com/Botspot/pi-apps/hashes/$APPNAME-hash).

During Pi-Apps's initial development, I considered adding a similar feature - a bash script per app that would determine if an update was available. It would exit 0 if the app was up-to-date, but would exit 1 if an app was updatable.
I decided against such an idea for multiple reasons, but the main reason was that most apps wouldn't make use of the feature.

For MCPi, I'd suggest either using a proper apt repo for standalone updating, or by including a standalone updater with MCPi. See the TwisterOS patcher for inspiration.

torralbaa commented 3 years ago

Oh ok, thanks for the info! Closing this...

NoozAbooz commented 3 years ago

Oh ok, thanks for the info! Closing this...

Told ya 😉