.. | ||
APKBUILD | ||
chromium-revert-drop-of-system-java.patch | ||
compiler.patch | ||
default.conf | ||
disable-dns_config_service.patch | ||
disable-failing-tests.patch | ||
electron-launcher.sh | ||
electron.desktop | ||
electron_icon.patch | ||
electron_python-jinja-3.10.patch | ||
electron_system-zlib-headers.patch | ||
electron_unbundle-node.patch | ||
electron_webpack-hash.patch | ||
fc-cache-version.patch | ||
fix-opus.patch | ||
fstatat-32bit.patch | ||
gdbinit.patch | ||
generic-sensor-include.patch | ||
musl-auxv.patch | ||
musl-sandbox.patch | ||
musl-tid-caching.patch | ||
musl-v8-monotonic-pthread-cont_timedwait.patch | ||
no-execinfo.patch | ||
no-mallinfo.patch | ||
no-res-ninit-nclose.patch | ||
no-sandbox-settls.patch | ||
partalloc-no-tagging-arm64.patch | ||
pvalloc.patch | ||
README.md | ||
temp-failure-retry.patch | ||
yes-musl.patch |
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
pkgver
to up-to-date version -
Optional: fetch source-code using
abuild snapshot
, making suregclient
is in your path -
Update source checksum using
abuild checksum
-
If major update, backport changes from
chromium
aport and bumppkgrel
for 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
.