desktop / dugite-native

A toolchain for building a portable, cross-platform Git for applications
GNU General Public License v2.0
193 stars 108 forks source link

Ubuntu switch to 20.04 and add patches to minimize GLIBC requirements #446

Closed theofficialgman closed 1 year ago

theofficialgman commented 1 year ago

this PR also relands my previous x86, arm, and arm64 PR with no necessary changes to build other than bumping the version

theofficialgman commented 1 year ago

this needs more time to cook to drop the glibc version on all architectures from the mimimum of 2.28 when building on focal back to 2.17 for better compatibility with older linux distros. will look into this later

theofficialgman commented 1 year ago

also @tidy-dev fyi, you just broke support for ubuntu bionic and focal as well as debian buster and bullseye by building on jammy minimum glibc requirements are now 2.34 in your latest release

tidy-dev commented 1 year ago

@theofficialgman We can ship another version when the Linux fix gets merged. For now, the priority on the current release is bumping Git for consumption by GitHub Desktop that does not support Linux.

theofficialgman commented 1 year ago

@tidy-dev this PR updates git as you did in the separate branch, updates to 20.04 from 18.04, and adds patches (inspired by what is done in chromium) to prevent linking to GLIBC 2.28 symbols on 64bit systems when not necessary. This restores support for GLIBC as old as 2.17 on 64bit systems and GLIBC as old as 2.28 on 32bit systems.

it is done and ready for merge. I would like a release to be made as currently these are still blocking issues for arm support in the linux fork of GitHub Desktop until a release is made and becomes available on npm

tidy-dev commented 1 year ago

This is great! Thank you for working on this so promptly. We have some other priorities in line at the moment. But, I will try to circle back to this within the next few days.

sergiou87 commented 1 year ago

This is exactly the kind of thing I mentioned in https://github.com/desktop/dugite-native/pull/414#pullrequestreview-1336783615 😅

Thanks for taking care of the fix so quickly @theofficialgman !!

theofficialgman commented 1 year ago

This is exactly the kind of thing I mentioned in #414 (review) 😅

Thanks for taking care of the fix so quickly @theofficialgman !!

I don't really understand what @tidy-dev ran into when testing. Bumping to 20.04 worked with no changes. Bumping to 22.04 is missing one dependency by default for curl (https://github.com/theofficialgman/dugite-native/actions/runs/4803799489/jobs/8548662518#step:12:1417) but disabling --without-brotli fixes that.

The only changes in the PR have to do with attempting to lower the minimum required GLIBC back to levels near or below bionic. Bumping to 20.04 rather than 22.04 was chosen because keeping the GLIBC version low is much harder when building on 22.04.

theofficialgman commented 1 year ago

I will rebase this PR on master shortly.

theofficialgman commented 1 year ago

Rebased and ready for merge

theofficialgman commented 1 year ago

For now, the priority on the current release is bumping Git for consumption by GitHub Desktop that does not support Linux.

also regarding this. I know you probably can't answer but is there a specific reason why you developers are not allowed to support Linux officially at GitHub Desktop? Some microsoft policy about not supporting linux in general? I am sure you are aware that Linux is a significantly larger platform for developers than MacOS which you do support.

theofficialgman commented 1 year ago

@tidy-dev are you able to circle back around to this to merge? the changes are really non-existant to build as mentioned here https://github.com/desktop/dugite-native/pull/446#issuecomment-1523286728