aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jansa <martin.jansa@gmail.com>2023-07-19 01:38:40 +0200
committerKhem Raj <raj.khem@gmail.com>2023-07-20 19:08:57 -0700
commit3a91bdb9cb6e43b337343b40fb36d9ed0c7f288e (patch)
treef1589a1ec119efeb762bbd4acaed764952ef9666
parentd449d72c4bf54f70c1f8253ee47d32441de01b3f (diff)
downloadmeta-openembedded-contrib-3a91bdb9cb6e43b337343b40fb36d9ed0c7f288e.tar.gz
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>
-rw-r--r--meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb22
1 files changed, 20 insertions, 2 deletions
diff --git a/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb b/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb
index 8b73cdda85..5479007d92 100644
--- a/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb
+++ b/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb
@@ -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
}