-
-
Notifications
You must be signed in to change notification settings - Fork 22
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
Overhaul Accelerator repository #13
base: master
Are you sure you want to change the base?
Conversation
1216092
to
afba416
Compare
I've tried to use the Linux artifacts on L4D2 under Debian bookworm (same base as Ubuntu 22.04). I managed to make it work, but I have some comments:
Since the libraries in the server |
ZLib will allow breakpad greater symbol coverage, which in turn should benefit the generated minidumps. Extensions dependencies are usually not documented (wrongly so). I will let @asherkin decide whether or not it should be listed somewhere, or if we should swap to static linkage or take it out entirely.
Thank you valve. I will address this at the same time as the zlib issue in order to avoid two more commits. As the excessive amount was the reason this branch was asked to be rebased and squashed by Asherkin. |
On TF2 x64 the SourcePawn JIT binary is unavailable (there is no x64 JIT):
It seems that the VM binary however exposes the same interface, and |
This is for compressed DWARF symbols, right? Statically linking all 3 feels correct. |
@Kenzzer lmk when i should review this 👀 |
add protobuf change repo url try to restore github python syntax highlighter move breakpad into third_party, update packagescript
remove unnecessary files Move the git patching into ambuild move lss to a patch Add windows compilation support remove breakpad.bat move postlink libs
* make cwd_cmd spew stdout and stderr * add proper docker build support * Overhaul ci (#6) * Setup CI * fix checkout * fix yaml syntax * no fail fast * setup CI cache * Fix pip install * remove pip git * update actions, ditch node 16 * small syntax cleanups * more CI changes * github doc lied --------- Co-authored-by: Kenzzer <[email protected]> * final push for perfect dockerbuilds in every scenario that i have been able to find * rename cicd->dockerbuild --------- Co-authored-by: Kenzzer <[email protected]>
update names of dockerbuild folder in sh files
Sorry for the long delay @adriansmares other x64 fixes took priority (namely sourcehook & dhooks). This should be enough for accelerator to work again on l4d2. @asherkin Zlib had to be added as a submodule because statically linking against the one provided by linux apt packages will result in compilation error. As such we have to recompile zlib ourselves with |
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.
Really nice work on this - left a smattering of comments.
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.
This docker stuff isn't used by the CI from what I can see, right? It's just a helper for manual builds?
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.
Made by sappho, and she really wanted me to keep this in since this could help people building the extension manually. Though I'll leave further comments to her.
# we do this so that we can be agnostic about where we're invoked from | ||
# meaning you can exec this script anywhere and it should work the same | ||
thisiswhereiam=${BASH_SOURCE[0]} | ||
# this should be /whatever/directory/structure/Open-Fortress-Source |
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.
It should be?
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.
Ditto. @sapphonie
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.
Sorry, copied this build script from myself somewhere else 👀 , the directory structure shouldn't matter
You can yeet the entire dockerbuild/
folder if you want, it's not really needed with proper GH actions
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.
Noted! I'll rebase this one last time.
patches/0002-Write-FUNC-records-instead-of-PUBLIC-for-ELF-symbols.patch
Outdated
Show resolved
Hide resolved
Unknown if this fixes #20 because actions aren't set up, can those be enabled on PR please 👍 |
Added
protobuf andbreakpad as submoduleIt's no secret that google's tools to fetch their repositories are absolutely horrendous to use, not counting that they're also outdated in regard to python's version. Fortunately for us, google had the decency to make public mirrors of their repository over to github, let's take advantage of that and link to these repositories.
Edit : It seems cloning protobuf is completly unnecessary to compile breakpad
Updated breakpad.sh to compile breakpad for both 32bits and 64bitsJust like the title implies, I've updated the script to compile breakpad for each architecture. I've also revised some of the patches, so they work with the breakpad submodule I decided to set the hash to. One of these patches also became unnecessary, as its change became official.Edit : This is now part of the ambuild scripts
Overhauled AMBuild scripts
Those were some very old, and confusing to look at build scripts. I brought them up to modern ambuild syntax.
Updated the extension code
I modified a few lines of the extension, so that it may compile with the newest breakpad code. As well as the definition of
GetSpew
function, which was invalid for 64 bits.Update Gamedata
TF2 x64 bits is out, gamedata needs a little update
Added a CI
CI(s) are cool ! It compiles the extension for latest ubuntu and windows, and also on an older version of both OSes.