-
Notifications
You must be signed in to change notification settings - Fork 854
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
Add build script for easier building/debugging. #1693
base: master
Are you sure you want to change the base?
Conversation
LGTM 👍 I was a bit concerned about possible duplication with This might actually be a perfect opportunity to integrate https://github.com/ungoogled-software/contrib, not only for additional patches but also as a place to store custom domain substitution lists and so on. Moving the repo to |
I have thought about this and one of the problem of various platform repos is that it is very fragmented: |
Dropping my 2ct, since I've been using the |
I mentioned
|
@wchen342 You did a tremendous work! Why did you do it as a submodule? Your script is a rather independent entity. It deserves its own repository under Your script might serve as a common ground for debugging issues, when hunting ungoogled-chromium bugs! Or otherwise proving them unrelated to ungoogled-chromium patches! Cannot agree more that having such script for Windows could improve situation there immensely. |
@wchen342 Sure, I'll see what I can do. |
I just went over the code, and it seems there is not much code I can reuse. I would have to create big |
@Nifury Is it the |
Dropping a note here that I will get back to this with more comments. I'd like to have a discussion so I can better understand the use-case and design, since I've also wanted to rework the entire build system to be closer to vanilla Chromium's. I'm also eager to hear what the other devs here have to say about this. |
Adding a note here too that I am also preparing an experimental daily docker build by Github Actions to pull chromium source of the corresponding stable version from Omaha, do the sync in the docker image, and then push the image to Docker Hub. So later if someone can skip the
It will solve three problems at least:
|
Why wouldn't you use source tarball, provided by google? |
@PF4Public Android needs different files so that doesn't work. Windows probably needs different files too. |
This is a good idea. It's just not clear to me if the objective of this build script is to negate the need to clone repos for specific systems (e.g. |
The main goal is to simplify the building process so that we don't need to manually do all the
Do you mean like merging all the platform repositories back into this main repo? I think that is a different problem. There has always been a trade-off between large mono repos and smaller, separate repos. This was discussed before my time here and I think the conclusion was to separate them so it became what we see today. |
Because of how hard it is to fetch and build chromium and there seems to be a lot of people who want to build
ungoogled-chromium
themselves but weren't able to, I strongly feel it is necessary to write a script that runs high-level commands and strips away all the complicated details in building chromium so that new users can start building chromium without getting lost in complicated chromium-specific building systems and terms.Since the goal is as easy to use as possible, I limit the amount of configurable options on purpose and make things as standard as possible. The script is currently only tested for
Linux
builds but I will addAndroid
andWindows
soon. For Linux, it buildsportable
with thesysroot
coming with source. The choice is made so that the differences between different distributions are minimized, as well as based on the fact that the benefits ofungoogled-chromium
mainly comes from its flags, patches and domain substitutions, so usingsysroot
is an acceptable compromise IMO.There are some extra functionalities underway, like a filter for patches and pruning lists, as well as downloading source tarball directly instead of checking out chromium source which is incredibly slow on a not very fast internet connections.
If you have any suggestions on how it can be improved or what additional functionality it should have, please let me know. If you think this is a good idea to have this script, I can ask @Eloston to move it under
ungoogled-software
so it is easier to edit for the rest.