Commit Graph

12 Commits

Author SHA1 Message Date
ryneeverett
3999fe1e1f Container: Scripted builds
I had a hard time following the [Build
Guide](https://divestos.org/pages/build) and IMO a script does a much
better job of removing the ambiguity and is more likely to be updated
if it fails. Per
https://github.com/Divested-Mobile/DivestOS-Website/issues/40 I think
this script, as documentation, makes it much more clear what it means to
"color in the lines" and suggests an efficient way of doing so. I'd like
to update the Build Guide too, but I wanted to get your feedback on some
of this first.

The main thing I'm not thrilled with is that the workspace needs to be
patched and reset twice (if I understand correctly). I got this notion
from your guidance on a Reddit post a couple months back which I can't
find now that Reddit seems to have taken down your content.
Unfortunately I don't recall the details but the basic issue is that
generating the signing keys was giving an error and the solution was to
patch the workspace. But one of the workspace patching "phases" is to
copy the keys to the kernel and this fails if the keys don't exist yet.
So it's not clear how to get around doing this step twice.

A couple notes on future work:
- How to do incremental updates? There's no story on this yet and I
  haven't looked into it.
- I found a wealth of information on building android in docker in this
  repository: https://github.com/lineageos4microg/docker-lineage-cicd.
  It might be worth considering trying to integrate DivestOS into that
  project or building on top of their image.
2024-07-26 22:02:12 +00:00
ryneeverett
8216403729 Container: Store DivestOS directory in a volume
This essentially serves as a cache of sources because otherwise all the
downloaded source disappears when the container exits.
2024-07-26 22:02:12 +00:00
ryneeverett
0408730f50 Container: Correct build path 2024-07-26 22:02:12 +00:00
ryneeverett
7f13b9d6a8 Container: Use named volume for ccache.
I don't think there's any reason to want a named path here.
2024-07-26 22:02:12 +00:00
ryneeverett
3827a096da Container: Find git config at XDG_CONFIG_HOME 2024-07-26 22:02:12 +00:00
ryneeverett
41bc2deded Container: Portable scripts
This allows bash to be found if not located in /bin.
2024-07-26 22:02:12 +00:00
ryneeverett
4d22f558ba Container: Allow duplicate group id.
The image build would otherwise fail if the user's group id already
exists in the base image.
2024-07-26 22:02:12 +00:00
ryneeverett
4c0e3c835c Container: Set up ccache (per Build Guide) 2024-07-26 22:02:12 +00:00
ryneeverett
7d9e3d30cd Container: Add gocryptfs (per Build Guide) 2024-07-26 22:02:12 +00:00
ryneeverett
ca83cc1dc8 Container: Update dependencies
See https://github.com/Divested-Mobile/DivestOS-Website/issues/39.
2024-07-26 22:02:12 +00:00
Tad
8e1c05d920
Sync deps
Signed-off-by: Tad <tad@spotco.us>
2023-08-26 12:49:10 -04:00
ElCorzo
34f89596f9 Docker and Podman images to compile DivestOS easily 2023-07-14 18:45:49 +00:00