blob: 38847a804c108d996de9dad51837e4baf27396a8 [file] [log] [blame]
Brad Bishop19323692019-04-05 15:28:33 -04001SUMMARY = "A PKCS#11 interface for TPM2 hardware"
2DESCRIPTION = "PKCS #11 is a Public-Key Cryptography Standard that defines a standard method to access cryptographic services from tokens/ devices such as hardware security modules (HSM), smart cards, etc. In this project we intend to use a TPM2 device as the cryptographic token."
3SECTION = "security/tpm"
4LICENSE = "BSD-2-Clause"
Andrew Geissler064f75b2020-06-27 00:14:46 -05005LIC_FILES_CHKSUM = "file://LICENSE;md5=0fc19f620a102768d6dbd1e7166e78ab"
Brad Bishop19323692019-04-05 15:28:33 -04006
Armin Kusterca2f10c2022-01-29 15:44:29 -08007DEPENDS = "autoconf-archive pkgconfig sqlite3 openssl libtss2-dev tpm2-tools libyaml p11-kit python3-setuptools-native"
Brad Bishop19323692019-04-05 15:28:33 -04008
Patrick Williams03907ee2022-05-01 06:28:52 -05009SRC_URI = "https://github.com/tpm2-software/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.gz"
Brad Bishop19323692019-04-05 15:28:33 -040010
Patrick Williams03907ee2022-05-01 06:28:52 -050011SRC_URI[sha256sum] = "79f28899047defd6b4b72b7268dd56abf27774954022315f818c239af33e05bd"
Brad Bishop19323692019-04-05 15:28:33 -040012
Patrick Williamsdb4c27e2022-08-05 08:10:29 -050013UPSTREAM_CHECK_URI = "https://github.com/tpm2-software/${BPN}/releases"
14
Andrew Geissler015e6aa2021-01-08 16:10:30 -060015inherit autotools-brokensep pkgconfig python3native
Brad Bishop19323692019-04-05 15:28:33 -040016
Patrick Williams03907ee2022-05-01 06:28:52 -050017EXTRA_OECONF += "--disable-ptool-checks"
18
19do_configure:prepend() {
20 # do not extract the version number from git
21 sed -i -e 's/m4_esyscmd_s(\[git describe --tags --always --dirty\])/${PV}/' ${S}/configure.ac
Brad Bishop19323692019-04-05 15:28:33 -040022}
Andrew Geisslerd1d22e62020-10-16 10:14:32 -050023
Patrick Williams213cb262021-08-07 19:21:33 -050024do_compile:append() {
Andrew Geissler015e6aa2021-01-08 16:10:30 -060025 cd ${S}/tools
26 python3 setup.py build
27}
28
Patrick Williams213cb262021-08-07 19:21:33 -050029do_install:append() {
Andrew Geissler015e6aa2021-01-08 16:10:30 -060030 cd ${S}/tools
31 export PYTHONPATH="${D}${PYTHON_SITEPACKAGES_DIR}"
32 ${PYTHON_PN} setup.py install --root="${D}" --prefix="${prefix}" --install-lib="${PYTHON_SITEPACKAGES_DIR}" --optimize=1 --skip-build
33
34 sed -i -e "s:${PYTHON}:${USRBINPATH}/env ${PYTHON_PN}:g" "${D}${bindir}"/tpm2_ptool
35}
36
Andrew Geissler015e6aa2021-01-08 16:10:30 -060037PACKAGES =+ "${PN}-tools"
Andrew Geissler015e6aa2021-01-08 16:10:30 -060038
Patrick Williams213cb262021-08-07 19:21:33 -050039FILES:${PN}-tools = "\
Andrew Geissler015e6aa2021-01-08 16:10:30 -060040 ${bindir}/tpm2_ptool \
41 ${libdir}/${PYTHON_DIR}/* \
William A. Kennington IIIee32beb2021-06-02 12:48:35 -070042 "
43
Patrick Williams213cb262021-08-07 19:21:33 -050044FILES:${PN} += "\
William A. Kennington IIIee32beb2021-06-02 12:48:35 -070045 ${libdir}/pkcs11/* \
46 ${datadir}/p11-kit/* \
47 "
48
Andrew Geissler78b72792022-06-14 06:47:25 -050049INSANE_SKIP:${PN} += "dev-so"
50
Andrew Geisslerd5838332022-05-27 11:33:10 -050051RDEPENDS:${PN} = "p11-kit tpm2-tools "
52RDEPENDS:${PN}-tools = "${PYTHON_PN}-pyyaml ${PYTHON_PN}-cryptography ${PYTHON_PN}-pyasn1-modules"