Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility with old libraries used on webOS: GMP, GnuTLS, Nettle #47

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

throwaway96
Copy link
Member

The primary goal of this PR is to stop programs built with br-nc4 from requiring a separate copy of GMP. The other changes were consequences of the GMP version change.

It appears that LG is unwilling to update several packages because they're afraid of GPLv3-licensed software (see meta-gplv2).

GMP 4.2.1 has been used on every version of webOS so far (and probably NetCast, since it was released in 2006). Rolling back to this version allows us to use the libgmp.so.3 present on webOS.

GnuTLS 3.3.30 should work for webOS 8 back through 3.0, as 3.3.x versions with a soname of libgnutls.so.28 have been used since then. GnuTLS 2.12.23 (with the soname libgnutls.so.26) was used on webOS 1 and 2. If GnuTLS is present on NetCast, it's probably also a 2.x version.

Nettle is rather closely coupled with both GMP and GnuTLS. It was reverted to 2.7.1, which is the version on webOS 3.0+. It's not present on webOS 1 or 2 (which probably use the libgcrypt backend for GnuTLS 2.x).

Buildroot also builds these packages for the host. I made separate webos- packages for GnuTLS and GMP. It still seems to work without a separate package for Nettle, though. These packages are intended to replace the libraries built for the target without affecting the host build.

Currently, these webos- packages are automatically selected when BR2_WEBOS_COMPAT is enabled. I'm sure there is a better way to do this.

@throwaway96 throwaway96 force-pushed the compat-gmp-gnutls-20240204 branch from d661e06 to e46e5a5 Compare February 6, 2024 21:27
This reverts commit 8eaafb7.

Preparing to switch to older versions of gmp and gnutls.
Should be compatible back to webOS 3.0. LG is unwilling to use later
versions of gnutls because some parts were relicensed under the GPLv3.
(However, only the tools and OpenSSL compatibility layer are GPLv3, and
LG does not ship those. The issue may be dependencies such as nettle and
gmp.)

gnutls 2.x (libgnutls.so.26):
- webOS 1, 2: 2.12.23

gnutls 3.x (libgnutls.so.28):
- webOS 3.x: 3.3.5
- webOS 4.x: 3.3.27
- webOS 5-8: 3.3.30
@throwaway96 throwaway96 force-pushed the compat-gmp-gnutls-20240204 branch from e46e5a5 to ffd1d8d Compare May 4, 2024 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants