Skip to content
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

Eternity - Linux Devbuilds? #578

Open
madame-rachelle opened this issue Dec 11, 2022 · 10 comments
Open

Eternity - Linux Devbuilds? #578

madame-rachelle opened this issue Dec 11, 2022 · 10 comments

Comments

@madame-rachelle
Copy link
Contributor

This is just a simple quick question for the team.

Are you interested in us adding a Linux category for EE on devbuilds.drdteam.org? - I have a friend who got a VPS mostly for the purpose of compiling GZDoom and Raze for Linux and uploading them - do you want Eternity to have that also? - Right now they compile every day at approximately 8 am UTC (which is about 3am EST) but I think the build system makes that so it can be changed, if needed.

@ioan-chera
Copy link
Member

Yeah, that would be nice to have as well, thanks! As long as the builds can access the full base/ content, populate a user/ folder with user data, are capable of running a given IWAD, and don't have any accidental local dependencies from the development computer, then yes, that would work. Are those builds going to work with multiple Linux distros, or are they going to require from a selection of them? How do you plan to package them?

@madame-rachelle
Copy link
Contributor Author

The plan was to be as portable as possible - but it would use standard folders for looking up data like game IWADs. It would likely at least work in Ubuntu, but hopefully would work in a lot more distros (but compatibility would not be guaranteed with every one). The plan was to build it in Ubuntu 18.04 (at least, for now) - for what it's worth, building GZDoom this way has worked in Ubuntu, some later versions of Debian, and also Arch (and SteamOS).

@madame-rachelle
Copy link
Contributor Author

Oh - it also would use standard folders for configs, as well - so if it stores the config in $HOME it would continue doing so. Ideally - we won't modify the source at all, except maybe the RPATH of the output binary so that it can load in .so libraries if they are necessary.

@CandiceJoy
Copy link

I use Docker and Jenkins to do the builds, so it's quite portable. It should be able to handle pretty much any build spec as long as the OS container can run on Ubuntu 22 (I forget if it's .04 or .10, but it's fairly irrelevant here).

@madame-rachelle
Copy link
Contributor Author

https://devbuilds.drdteam.org/eternity-linux/

They should be building automatically, now.

@CandiceJoy
Copy link

Yep, included is a dependency install script for apt distros; see https://github.com/CandiceJoy/Eternity-Dev-Deps (hi, I'm the linux dev builds catter x3)

@ioan-chera
Copy link
Member

I've tested this in Ubuntu 22.04 and it works, thanks a lot! One little issue though, the install-deps.sh script from the archive doesn't come with the executable permission enabled (unlike eternity), is that intended?

@Altazimuth
Copy link
Member

Altazimuth commented Jan 1, 2023

Just dropping in to say thanks to all parties for this. Sorry for not weighing in (I've been busy prepping for a move in Feb) but I fully approve of this and appreciate you setting it up. I'm not going to close this issue given the above comment.
It's worth noting that a Flatpak was helpfully set up by jwoodie, so you might want to try building and distributing those at some point in the future if you desrire.

@CandiceJoy
Copy link

I've tested this in Ubuntu 22.04 and it works, thanks a lot! One little issue though, the install-deps.sh script from the archive doesn't come with the executable permission enabled (unlike eternity), is that intended?

Fix pushed, and Jenkins is setup to grab the live deps repo every night, so it should be fixed in the next nightly :)

@madame-rachelle
Copy link
Contributor Author

madame-rachelle commented Jan 1, 2023

Just a little side info - The idea behind the script was to serve 2 purposes:

  1. It is documentation, itself. If you aren't running Ubuntu you can cat the script to see exactly what packages you need in order to execute the package.

  2. Eventually, I was hoping that it could be expanded to read /etc/issue internally, in order to figure out what distro you are using, and use the correct apt/yum/dnf/whatever command to get the packages installed onto your system. This may require external contributors since I don't really run a whole lot of different flavors of Linux, myself, I'm mostly in Ubuntu when I am.

That being said, though, obviously shipping it without +x wasn't intentional, Candice already fixed that prior to my comment though, thanks for the catch. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants