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
[WIP] Add support for FreeBSD #2378
Conversation
v19.7.0🎉 New Features
🐛 Bug Fixes
|
Tested this and installation does not work currently. Work needs to be completed on the installer and the dependencies check. This PR needs some more development. As I don't use FreeBSD I am limited on the amount I can help. needed to install this to get started
had to change the bash location to this
Got this error
|
well in order to run steamcmd under freebsd you need to install linux compatibility layer, even though both linux and freebsd superficially looks similar their kernel and ABI are completely different |
There's no ideal solution for the shebang, unfortunately. Changing it to FWIW, FreeBSD users usually work around issues like this by just making a symlink: |
As far as the package installation... personally, I've never liked packages that automatically connect to my system's package manager without asking me. I would be OK with adding support for FreeBSD's |
Also, FreeBSD has two different ways of installing software packages from their repository: Ports and |
As @Frisasky correctly pointed out, FreeBSD doesn't support some of the socket options that To that end, I think we should either:
|
@dgibbs64 What sort of workflow do you prefer? Do you want me to rebase and squash, or add commits on top of the merge commits you've already made? |
Add commits on top I squash on merge. |
On closer inspection, it looks like one of the merges completely botched my code. I think I would rather rebase the commits onto the latest |
I have never used rebase before. But I normally just squash a merge to allow one since commit once completed. What has gone wrong? |
I agree with whitelisting only tested games. My other concern is I have no knowledge of freebsd so I am unable to properly support it. There is a risk of my development breaking a FreeBSD installation so FreeBSD would have to have a caveat of very limited support. There was a suggestion of using It will be great to support a new distro but we will have to tread carefully and I will need extra support to make it work. Good documentation for both user and developer will be a must for this. |
#2389 had a lot of merge conflicts with my code. Unfortunately, they didn't get resolved properly, which resulted in a lot of my code getting erased. In the end, I decided it was easier to rebase my commits on top of the latest
Alternatively, if
I absolutely agree, and I completely understand that I have an extremely niche use case. Honestly, I would have been fine with just keeping my patches local, but I wanted to be a good open source citizen so that other potential FreeBSD users don't have to duplicate my work. In short, I am totally fine with saying "we've made some meager attempts to support FreeBSD, but in the end, mainstream Linux is our priority, and you're on your own if something goes wrong." |
@@ -261,6 +264,9 @@ fn_found_missing_deps(){ | |||
elif [ -n "$(command -v yum 2>/dev/null)" ]; then | |||
cmd="sudo yum -y install ${array_deps_missing[@]}" | |||
eval "${cmd}" | |||
elif [ -n "$(command -v pkg 2>/dev/null)" ]; then | |||
cmd="sudo pkg -y install ${array_deps_missing[@]}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm very confused as to why Codacy doesn't like this line... it is exactly the same as 3 lines above. Should I change this along with the existing lines to Codacy's suggestion?
On FreeBSD, wc -l emits a tab before the result. Account for this when checking its output.
This makes the scripts more portable by using whichever bash is in the path, rather than looking for it in a hard-coded location. This is to support FreeBSD, which installs bash into /usr/local/bin by default, rather than /bin.
I have confirmed via Docker that |
There has been no update on this for around 9 months. I am unable to support FreeBSD myself. I will be closing this as I do not think it is feasible to add support at this time. |
Best reviewed: commit by commit
Optimal code review plan
|
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Description
Add support for FreeBSD
Fixes #2377
Type of change
Checklist
develop
branch as its base.Distro Tests Required
Provide Github Email
Fill out below info or tick box below:
All pull requests will now be squashed to create a tidy commit history and simplify changelog creation. You can provide either your own email or a GitHub-provided no-reply email.
When a PR is squashed the author becomes the person who squashed the PR. This removes you as the author of your own PR.
The only workaround for this is to add your details as a co-author. More info about co-authors can be found here.