Compatibility with old libraries used on webOS: GMP, GnuTLS, Nettle#47
Open
throwaway96 wants to merge 6 commits intoopenlgtv:masterfrom
Open
Compatibility with old libraries used on webOS: GMP, GnuTLS, Nettle#47throwaway96 wants to merge 6 commits intoopenlgtv:masterfrom
throwaway96 wants to merge 6 commits intoopenlgtv:masterfrom
Conversation
smx-smx
reviewed
Feb 6, 2024
d661e06 to
e46e5a5
Compare
e46e5a5 to
ffd1d8d
Compare
ffd1d8d to
fa91965
Compare
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
Requires auto(re)conf.
87990f2 to
6b53128
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.3present 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.28have been used since then. GnuTLS 2.12.23 (with the sonamelibgnutls.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 whenBR2_WEBOS_COMPATis enabled. I'm sure there is a better way to do this.