Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/electron/debian-sysroot-image-creator
Scripts to create debian sysroot image for building electron
https://github.com/electron/debian-sysroot-image-creator
Last synced: about 1 month ago
JSON representation
Scripts to create debian sysroot image for building electron
- Host: GitHub
- URL: https://github.com/electron/debian-sysroot-image-creator
- Owner: electron
- License: bsd-3-clause
- Created: 2015-07-01T13:51:34.000Z (over 9 years ago)
- Default Branch: bullseye
- Last Pushed: 2023-12-22T13:01:29.000Z (11 months ago)
- Last Synced: 2024-04-14T03:56:18.490Z (7 months ago)
- Language: Shell
- Size: 434 KB
- Stars: 18
- Watchers: 53
- Forks: 44
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
This repository contains a set of scripts for creating linux sysroot images, copied from Chromium.
It adds some necessary dependencies for Electron and uploads the images to Electron's Azure storage container.
[Upstream Sysroots Logic](https://chromium.googlesource.com/chromium/src/+/master/build/linux/sysroot_scripts/)
## Updating Sysroots in Electron
`debian-sysroot-image-creator` automatically builds and uploads sysroot images.
Sysroots are generated when new pull requests are merged to `bullseye`.
To initiate a sysroot update, make changes locally and open a new pull request containing the desired changes. Once you open the PR, sysroots will be built. They will be uploaded as artifacts in CI so that you can verify the changes you've made.
Once you've received review and the PR is merged, a new build and upload job will be initiated. When it is complete, there will be a newly generated `sysroots.json` artifact in the [GitHub Actions](https://github.com/electron/debian-sysroot-image-creator/actions/workflows/build.yml) run for the commit merged to `bullseye`.
Take the artifact and copy its contents to the [associated sysroots file](https://github.com/electron/electron/blob/main/script/sysroots.json) in `electron/electron`.
Finally, open a new PR to [`electron/electron](https://github.com/electron/electron/). When that PR passes CI and is merged, the process completes.
## How It Works
At the moment, we build the following sysroots:
* `amd64`
* `i386`
* `armhf`
* `arm64`
* `mipsel`
* `mips64el`## Building A Single Sysroot
To build a single sysroot, run:
```console
./build/linux/sysroot_scripts/sysroot_creator.py build
```This will build the desire sysroot in `` at `out/sysroot-build/bullseye/debian_bullseye__sysroot.tar.xz`, e.g. `out/sysroot-build/bullseye/debian_bullseye_amd64_sysroot.tar.xz`.
## Building All Sysroots
To build all sysroots at once, run:
```console
./build/linux/sysroot_scripts/build_and_upload.py --build
```This will generate all sysroots at `out/sysroot-build/bullseye`.
## Uploading Sysroots
To upload sysroots to the Azure storage container after they've been generated, run:
```console
./build/linux/sysroot_scripts/build_and_upload.py --build
```Ensure you have a valid `AZURE_STORAGE_SAS_TOKEN` as well as `AZURE_STORAGE_ACCOUNT` in your environment, or upload will fail.