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.