Skip to content

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

Open
throwaway96 wants to merge 6 commits intoopenlgtv:masterfrom
throwaway96:compat-gmp-gnutls-20240204
Open

Compatibility with old libraries used on webOS: GMP, GnuTLS, Nettle#47
throwaway96 wants to merge 6 commits intoopenlgtv:masterfrom
throwaway96:compat-gmp-gnutls-20240204

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
@throwaway96 throwaway96 force-pushed the compat-gmp-gnutls-20240204 branch from e46e5a5 to ffd1d8d Compare May 4, 2024 18:49
@throwaway96 throwaway96 force-pushed the compat-gmp-gnutls-20240204 branch from ffd1d8d to fa91965 Compare August 21, 2025 23:50
cscd98 and others added 6 commits September 1, 2025 14:54
Preparing to switch to older versions of gmp and gnutls.
Enabling BR2_PACKAGE_WEBOS_GMP will cause only GMP 4.2.1 to be built for
target. A newer version will still be used for host.
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 87990f2 to 6b53128 Compare September 1, 2025 19:33
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.

3 participants