libtomcrypt: add PACKAGECONFIG for ltm enabled by default

* enabled by default, because that's what dropbear expects and fails
  without as shown in:
  http://errors.yoctoproject.org/Errors/Details/720460/
  dropbear/2022.83-r0/crypto_desc.c:72: undefined reference to `ltm_desc'

* add comment about the LICENSE
* use EXTRA_OEMAKE

* FYI: if you need to use this in dunfell (for whatever reason e.g. to
  avoid CVE-2019-17362 in dropbear which contains bundled libtomcrypt),
  then you need to add:

  # Only needed for dunfell, fixed in kirkstone with:
  # https://git.openembedded.org/openembedded-core/commit/?h=kirkstone&id=4b308773eca7570ce5007e8f953b56252c17fdb1
  DEPENDS += "libtool-cross"
  EXTRA_OEMAKE += "'LIBTOOL=${HOST_SYS}-libtool'"

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Martin Jansa 2023-07-19 01:38:40 +02:00 committed by Khem Raj
parent d449d72c4b
commit 3a91bdb9cb

View File

@ -1,10 +1,19 @@
SUMMARY = "LibTomCrypt is a public domain open source cryptographic toolkit"
HOMEPAGE = "https://www.libtom.net/LibTomCrypt"
SECTION = "libs"
# Unlicense isn't very accurate for this revision, it was WTFPL in 0.18.0-rc1:
# https://github.com/libtom/libtomcrypt/commit/77e31fb6a980212e90b9a50f116dc5a7bd91e527
# then updated to dual license PD and WTFPL also in 0.18.0-rc1:
# https://github.com/libtom/libtomcrypt/commit/412b2ee1fccc3a0df58f93f372c90d6d0f93bfc9
# and then updated again to Unlicense after the 0.18.2 tag (it's only in develop branch):
# https://github.com/libtom/libtomcrypt/commit/3630bee6fc0f73dd9c7923fd43f8ae15a2c0fb70
# but keep using Unlicense to avoid triggering people with WTFPL license:
# https://groups.google.com/g/libtom/c/17Z7xkECULM
# and this comment can be removed next time libtomcrypt is updated
LICENSE = "Unlicense"
LIC_FILES_CHKSUM = "file://LICENSE;md5=71baacc459522324ef3e2b9e052e8180"
DEPENDS += "libtool-cross"
DEPENDS = "libtool-cross"
SRC_URI = "git://github.com/libtom/libtomcrypt.git;protocol=https;branch=master \
file://CVE-2019-17362.patch \
@ -14,10 +23,19 @@ SRCREV = "7e7eb695d581782f04b24dc444cbfde86af59853"
S = "${WORKDIR}/git"
inherit pkgconfig
PACKAGECONFIG ??= "ltm"
PACKAGECONFIG[ltm] = ",,libtommath"
CFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'ltm', '-DUSE_LTM -DLTM_DESC', '', d)}"
EXTRA_OEMAKE = "'PREFIX=${prefix}' 'DESTDIR=${D}' 'LIBPATH=${libdir}' 'CFLAGS=${CFLAGS}'"
do_compile() {
oe_runmake -f makefile.shared
}
do_install() {
oe_runmake -f makefile.shared 'PREFIX=${prefix}' 'DESTDIR=${D}' 'LIBPATH=${libdir}' install
oe_runmake -f makefile.shared install
}