Closed theofficialgman closed 1 year ago
This is just a thought, but I'm also concerned about the amount of steps needed to install the extra dependencies for linux arm/arm64.
keep in mind that these are the same as the amd64 dependencies that just happen to be pre-installed on the github runner. Obviously the non arm64/armhf dependencies are just there to be explicit. I left them in since it made testing easier when running on my local minimal ubuntu chroot. tar jq p7zip-full p7zip-rar pkg-config wget curl xz-utils unzip zip bzip2 zsync automake autoconf
are all installed by default and can be removed
see:
autoconf is already the newest version (2.69-11).
automake is already the newest version (1:1.15.1-3ubuntu2).
build-essential is already the newest version (12.4ubuntu1).
pkg-config is already the newest version (0.29.1-0ubuntu2).
zip is already the newest version (3.0-11build1).
jq is already the newest version (1.5+dfsg-2).
p7zip-full is already the newest version (16.02+dfsg-6).
zsync is already the newest version (0.6.2-3ubuntu1).
p7zip-rar is already the newest version (16.02-2).
bzip2 is already the newest version (1.0.6-8.1ubuntu0.2).
curl is already the newest version (7.58.0-2ubuntu3.22).
libexpat1-dev is already the newest version (2.2.5-3ubuntu0.9).
libexpat1-dev set to manually installed.
tar is already the newest version (1.29b-2ubuntu0.3).
unzip is already the newest version (6.0-21ubuntu1.2).
wget is already the newest version (1.19.4-1ubuntu2.2).
xz-utils is already the newest version (5.2.2-1.3ubuntu0.1).
so it is just simply two steps. add the corresponding apt repo (ports) that contains armhf/arm64
echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ bionic main universe multiverse restricted" | sudo tee /etc/apt/sources.list
echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu/ bionic-updates main universe multiverse restricted" | sudo tee -a /etc/apt/sources.list
echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports/ bionic main universe multiverse restricted" | sudo tee -a /etc/apt/sources.list
echo "deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main universe multiverse restricted" | sudo tee -a /etc/apt/sources.list
and then install the armhf/arm64 dependencies (the headers that are specific to this architecture that are currently only installed for amd64)
gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu libcurl4-openssl-dev:arm64 libssl-dev:arm64 zlib1g-dev:arm64 gettext
I will remove the unnecessary dependencies since it makes you worried 😄
This is just a thought, but I'm also concerned about the amount of steps needed to install the extra dependencies for linux arm/arm64.
I'm thinking about being in a rush to release a new git version (e.g. security fix), being forced to upgrade the Ubuntu runner, need to update these deb sources, something has changed in them and it becomes a not-so-easy fix sweat_smile
redundant dependencies removed and ubuntu version now determined at runtime: https://github.com/theofficialgman/dugite-native/actions/runs/4405797627
should make changing between github runners a non-issue
cleaned up commits
@sergiou87 added x86 cross compile, LGTM! https://github.com/theofficialgman/dugite-native/actions/runs/4410198384
Uses cross compilation to build and publish ARM32 and ARM64 linux builds. Successful action run here: https://github.com/theofficialgman/dugite-native/actions/runs/4213237492
The builds are very fast 🔥, equal to the speed of x64 linux or faster sometimes.
Spiritual successor to https://github.com/desktop/dugite-native/pull/330 Fixes https://github.com/desktop/dugite-native/pull/315 Replacement for https://github.com/desktop/dugite-native/pull/368 Closes https://github.com/desktop/dugite-native/issues/158 Closes https://github.com/desktop/dugite/issues/521 progress for https://github.com/shiftkey/desktop/issues/251
in tandum with https://github.com/desktop/dugite/pull/522
Necessary for @shiftkey linux github desktop ARM and ARM64 builds in CI
LGTM!