[EDIT] Please use github issues to report problems and propose improvements. I’m very happy to work together with anyone finding it useful to perfect it for their use case. Thank you!
Obtainium is such a handy tool for app distribution on Android so I though we ought to have one here as well: Harpoon.
TL;DR: Harpoon manages app installations and updates for users directly from gihub/codefloe/codeberg repo release tags. No app stores or central repositories needed.
As a user, you need to type in the repository URL and that’s it.
As an app dev, just do what you alrady do. But if you want to make it very easy for users to add your repo, add a QR code to your repo that users can scan so they don’t have to type the URL.
Based on my reasearch, this didn’t exist yet. If, however, one already did. Sorry!
That’s probably true… but also, what apps would this be better for?
CHUM seems to be a better option in general.
It is also quite unclear what you mean by repo - sometimes it sounds like source code repo, and sometimes it sounds like package repo. Surely this doesn’t build apps from source?
Obtainium, and therefore Harpoon directly operates with the developer’s sourcecode repo (github, codefloe etc). That means that the developer doesn’t need to submit or upload their builds naywhere. As long as they publish builds with release tags Harpoon can pick them up directly from there.
It definitely doesn’t replace chum, just servers a bit different usecase. Testing early stage apps and keeping them updated is pretty much the usecase.
this contradicts that (well, is inconsistent anyway)
Unless you specifically made it care about source code, that’s not inherently needed for grabbing rpms off of wherever.
How many apps are there that are in this limbo state?
If you’re going to build and manually upload, you might as well do it to OpenRepos - or if you are going to automate you might as well use CHUM.
How would it work though? You say, i don’t need to change anything? But i normally don’t have my rpm’s in my repo. They are published to github/openrepos or perhaps chum soon.
Does it depend on gihub or other provider structures? Or could I use it with my self hosted, for example gitea repo?
PS: I’m sorry.. you wrote it. Github, Codeberg, Codefloe. It would be really nice if it worked with self hosted solutions like Gitlab or less complex ones.
Not in my experience - especially not here anyway.
I publish rpms on GitHub for only one of my apps unless something extraordinary happens.
That’s not a place i expect people to go fishing for releases - it is mostly for having old versions available if i break something.
No they don’t - not here anyway. (Not counting CHUM).
By not changing anything, I mean if you’re already publishing builds on your repo. The structure is standard. All the Forges already support it Let’s take a project that exist and I have nothing to do with, for example here:
Tags == releases.
So if you type in “github.com/HtheB/futo-keyboard-sailfish” to the Harpoon add-app box, it will just start following release tags on the repo and installs updates when available.
On Android, this release approach is very common. I’m not sure how common it is on Sailfish. So I might be a bit off with my “no need to change anything”
And, yes, it’s standard but it differs a bit between servers. Github does it a bit differently from Forgejo servers but the Harpoon code is trying to detect what type server it is reading and adapt. So it should work on your own hosted instance as well. Especially if you’re running a Forgejo one.
Seems like a nice addition!
Obtainium is a very popular solution for certain android users. I think the idea is that you trust the developer and not the builder/packages like f-droid or chum. I always prefered f-droid but here you can trust what sources were used to build.
Awesome, great work. I was wondering if something like this exists for SailfishOS. I used it quite a bit on android. It’s true however that so far i didn’t install anything directly from a repo on my Jolla Phone. Except for the RawFish app that i am curious about. And yeah exactly when i was looking up RawFish i thought that it would be cool to have obtanium for it lol