Files
testing/electron/README.md
electron
This is the electron package for Alpine Linux.
Please report any issues using Gitlab and tag @ayakael
Building electron
Electron is an application framework based on chromium. Just like chromium, and any Google application, the build process is a form of [hostile architecture] (https://en.wikipedia.org/wiki/Hostile_architecture) It’s quite literally chromium with patches applied on top for the most part. The build process applies a series of git patches against chromium from directories with a script.
Its source code isn’t available as a downloadable tarball. It is only fetchable using Google’s gclient available in depot_tools with a reimplemented version in the teapot package. By executing, abuild snapshot, the tarball can be fetched and packaged, as long as gclient is in your path. For ease of maintenance, a workflow on Ayakael’s Forge automatically fetches and packages the source code on new releases and makes it available in a generic Forgejo repository.
Electron maintenance cycle
Security / bug fixes land from upstream land randomly, but chromium security fixes land basically weekly around Tuesday in America/Los_Angeles. Minor relases only require an upgrade to the electron packages. It is advisable to follow chromium weekly security fixes, although following electron minor releases is fine.
Major version upgrades require a more thorough approach. For one, most changes can be backported from chromium APKBUILD by diffing the previous version packaged with electron with the current (set with _chromium var). You also need to rebuild all electron apps, with patches sometimes necessary when upstream bumps to a new nodejs major verion. Major electron releases are every two chromium major releases, with [dates known well ahead] (https://chromiumdash.appspot.com/schedule) with a few major releases of electron officially supported at a time.
Steps, in a nutshell:
-
Set
pkgverto up-to-date version -
Optional: fetch source-code using
abuild snapshot, making suregclientis in your path -
Update source checksum using
abuild checksum -
If major update, backport changes from
chromiumaport and bumppkgrelfor all electron-based applications.
Why is this package still in testing
Work is under way to make this aport ready for community
Until that happens, this package is also kept-to-date against the latest release of Alpine Linux in Ayakael’s Forge This is true of all Ayakael’s packages still in testing.