-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Distributing packages to linux distros #4952
Comments
@DarkWeird do you have any idea about
@qwc Would that be a topic you'd be interested in and could see yourself find time for? |
Usually every linux package have maintainer field.(archlinux and etc)
It is similar maven 's publish and repos. |
@DarkWeird Thanks for the quick responses 💚
I would even argue, that we only want to do this for pre-releases and (stable) releases, in which case maybe we could leverage github actions (fyi @skaldarnar) instead 🤔 the trigger would be extremely easy and there might even be respective actions available already, so we don't have to put too much effort into maintaining the setup... |
Hi @jdrueckert and @DarkWeird, I had a setup of
Why is it not up to date?
I even talked to the arch linux package maintainer to take it over at one point in time, which never came. Then let's discuss how to continue with it... |
@qwc Sorry to hear your work wasn't appreciated 😞 We do have a lot of construction site throughout the project and I'm hesitant to open yet another one. |
Places with terasology packages I found with a quick Google search:
How can we get especially the out-of-date ones taken down? Find out how to contact the maintainer somehow or are there "central" entities, we could approach using our terasology mail or something to "authenticate"? |
Sadly I suspect trying to clean out old odd packages would be a waste of time - even if we reached out some would certainly be unreachable or a central authority uninterested in the request. We probably would be better off just crowding out the old entries by publishing our own ones regularly. And yep if GitHub actions work for that then excellent 👍 I can recall finding plenty of other spots in the past, package managers or less formal download sites. It'd be like trying to rake the forests :-) Best we just put up signs as-able to point to the right place 😁 The one case where I could see it make sense to reach out is if any of the more notable package managers have a usurper in our namespace and we need to reclaim it somehow. That happens - it took me a year or two ages ago to get a hold of the "terasology" Youtube account, but somehow the user did notice my polite request after a long time :-) |
Not sure, but I just stumbled on https://gemfury.com/ - maybe that would be something for us? For arch it seems to be easier, I found the following github actions for example: |
Just glancing at Gemfury I'm not sure how "official" their hosting would be within the context of a given distro? With our Artifactory updated to Nexus one day we could self-host piles of Linux package management artifacts, but a user would have to first manually add our dist repo (the Nexus instance) to their package manager index. My impression (which may be out of date) is that the major distros (like that Arch one) have their own third party package manager repos that are either included by default or very commonly set up by users of their distro. I think ideally we'd try to get a process set up to automatically publish Terasology (and DestSol maybe eventually?) to just those "easy to reach" places - akin to publishing binaries to Maven Central rather than your own 3rd party artifact repository. Beyond that - there are so many (game) hosting services, but they lose relevance very fast IMHO. We should probably just pick and focus on the most popular 5-10 places (including places like IndieDB maybe?) unless we feel like we have the effort available to reach for more? |
@jdrueckert @skaldarnar Why launcher. Not game? |
Regarding the automation for multiple linux distributions. I had found a tool, back in the day, which could forge from the same source multiple distribution packages (.tar.xz, .deb, .rpm, and even more) (Arch linux, debian based, rpm based, and more). Of course it's hopelessly outdated. If we could model that with modular github actions, it would be great of course. No resource usage on my machine and maybe even more modular, having a github action for one packaging format. Even a chocolatey package would be an option, IMHO. |
Regarding the package repositories or providing the packages, I would suggest to use the most common or advised way by the community. For *buntu and debian, I would go with a launchpad ppa repository. If we ever do a chocolatey package for windows, there we have to research that aswell. Oh and as i was just looking into the old repo again.
My goal back in the day was, to just service all packaging providers existing, with the best minimal effort. More like have a stone in everyone's door and everyone can choose the package format they like the most. If I would be asked to roll this up again. |
Disclaimer: I don't want to sound rude, just trying to get all my thoughts (and opinions) out real quick. First of all, while I like the idea of having officially maintained packages, I don't think this is the right time to talk about it. Here's why:
I'd prefer to have the launcher distributed, and have it as central management tool for downloading and starting the game on all platforms. this gives us control over
Furthermore, it decouples the update process of the game, and easily allows players to have different game versions installed. Related Issues |
For end-users (players) it's good to only have the launcher distributed. It solves us the java dependency problem. But for users who are more experienced and want to run a server, the launcher is not an option. So here it might be a good idea to distribute packages called Anyway, my approach was to package everything, the game and the launcher, stripping it down to the launcher, just makes it one less package for everything, the background work is the same. |
I tried flatpak/flatpak-builder-tools#37 but without much success so far. Not building from source and using the Java runtime from @flathub might fail due to the game requiring a writable destination. https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=terasology#n59 |
I've been wanting to try this game out for a while but lack of packaging on Guix and other things I use has held me back. I don't usually like Flatpaks, but one advantage to having one is that Steam Deck users could easily install the game from KDE Discover in Desktop Mode. |
Reviving the packaging with the fpm tool (https://github.com/jordansissel/fpm) at least for linux doesnt seem to difficult. When we next think (not only dream) about packaging the game again, I would still opt for trying to kill as much flies with one bat as possible and provide as much package variants we can think of. The simple reason is: Availability! On the more packaging types we're available, the more people might simply try it out. |
We don't distribution to any linux packages. But linux packages known about us.
Some person maintains not official packages (thx to them)
E.g. https://aur.archlinux.org/packages/terasology
Then why don't lead distribution packages?
Pros
Cons
Another changes
Work plan
6.1. already contains packages
6.2. easy to integrate (flatpack)
7.1. terasology-bin (releases from github, without natives)
7.2.terasology-static (releases from github with natives)
7.3. terasology-git (building from sources)
The text was updated successfully, but these errors were encountered: