Skip to content

Commit 0415319

Browse files
committed
meta-qcom: security: Add minkipc library for security feature support
Add minkipc library for security feature support. Signed-off-by: Jiaxing Li <[email protected]>
1 parent 253b1c1 commit 0415319

File tree

5 files changed

+126
-0
lines changed

5 files changed

+126
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
SUMMARY = "Mink IDL compiler (prebuilt binary)"
2+
DESCRIPTION = " \
3+
Mink IDL is used to describe programming interfaces that can be used to communicate across security domain boundaries. \
4+
Once an interface is described in an IDL source file, the Mink IDL compiler can generate target language header files. \
5+
"
6+
HOMEPAGE = "https://github.com/quic/mink-idl-compiler"
7+
SECTION = "devel"
8+
9+
LICENSE = "CLOSED"
10+
LIC_FILES_CHKSUM = ""
11+
12+
SRC_URI = "https://github.com/quic/mink-idl-compiler/releases/download/v0.2.0/idlc;downloadfilename=minkidlc;unpack=0"
13+
SRC_URI[sha256sum] = "2a6dd5b2fdad5e307489849b3a4ce56daf241ff517e89e1eb207813008e558d7"
14+
15+
inherit native
16+
17+
COMPATIBLE_HOST = "x86_64.*-linux"
18+
19+
do_install() {
20+
install -d ${D}${bindir}
21+
install -m 0755 ${UNPACKDIR}/minkidlc ${D}${bindir}/minkidlc
22+
}
23+
24+
FILES:${PN} += "${bindir}/minkidlc"
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
From 8d0b8e73b005ef05a092f4fb1c51fee98baa5ac1 Mon Sep 17 00:00:00 2001
2+
From: Jiaxing Li <[email protected]>
3+
Date: Thu, 18 Sep 2025 11:39:53 +0800
4+
Subject: [PATCH] minkipc:compilation: Fix compilation issue
5+
6+
- To fix compilation error: #warning "<cstdbool> is deprecated in C++17, remove the #include" [-Werror=cpp].
7+
- Disable downloading minkidlc in CMakeLists.txt.
8+
9+
Signed-off-by: Jiaxing Li <[email protected]>
10+
Upstream-Status: Inappropriate [meta-qcom specific]
11+
---
12+
CMakeLists.txt | 11 ++++++-----
13+
1 file changed, 6 insertions(+), 5 deletions(-)
14+
15+
diff --git a/CMakeLists.txt b/CMakeLists.txt
16+
index 346e1bc..5e8f6c9 100644
17+
--- a/CMakeLists.txt
18+
+++ b/CMakeLists.txt
19+
@@ -17,12 +17,12 @@ option(BUILD_GPFS_LISTENER "Build GP File system Listener" TRUE)
20+
21+
include(GNUInstallDirs)
22+
23+
-set(MINKIDLC_BIN_DIR ${CMAKE_CURRENT_SOURCE_DIR}/minkidlc)
24+
+#set(MINKIDLC_BIN_DIR ${CMAKE_CURRENT_SOURCE_DIR}/minkidlc)
25+
26+
-file(DOWNLOAD
27+
- https://github.com/quic/mink-idl-compiler/releases/download/v0.2.0/idlc
28+
- ${MINKIDLC_BIN_DIR}/minkidlc
29+
-)
30+
+#file(DOWNLOAD
31+
+# https://github.com/quic/mink-idl-compiler/releases/download/v0.2.0/idlc
32+
+# ${MINKIDLC_BIN_DIR}/minkidlc
33+
+#)
34+
35+
file(CHMOD ${MINKIDLC_BIN_DIR}/minkidlc PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ)
36+
37+
@@ -30,6 +30,7 @@ add_compile_options(
38+
-Wall -Wextra -Werror -Wshadow -Wcast-align
39+
-Wmissing-declarations -Wformat-security -Wmissing-noreturn
40+
-Wdeprecated -fPIC
41+
+ -Wno-error=cpp
42+
)
43+
44+
add_subdirectory(libminkadaptor)
45+
--
46+
2.34.1
47+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
[Unit]
3+
Description=QTEE Supplicant Service
4+
5+
[Service]
6+
Type=exec
7+
ExecStart=/usr/bin/qtee_supplicant
8+
9+
[Install]
10+
WantedBy=multi-user.target
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
SUMMARY = "Qualcomm MinkIPC applications and library"
2+
DESCRIPTION = " \
3+
MINK ('Mink is Not a Kernel') is a capability-based security framework, \
4+
which is a synchronous message passing facility based on the Object-Capability model, \
5+
designed to facilitate secure communication between different domains. \
6+
"
7+
HOMEPAGE = "https://github.com/qualcomm/minkipc.git"
8+
SECTION = "libs"
9+
10+
LICENSE = "BSD-3-Clause"
11+
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2b1366ebba1ebd9ae25ad19626bbca93"
12+
13+
inherit cmake pkgconfig update-rc.d systemd
14+
15+
SRC_URI += "\
16+
git://github.com/qualcomm/minkipc.git;branch=main;protocol=https \
17+
file://0001-minkipc-compilation-Fix-compilation-issue.patch \
18+
file://qteesupplicant.service \
19+
"
20+
SRCREV = "cd0355987595a0619e7689aec50dc4c91153b169"
21+
PV = "1.0+git"
22+
DEPENDS = " qcbor qcomtee minkidlc-native"
23+
24+
EXTRA_OECMAKE = " -DBUILD_UNITTEST=ON -DMINKIDLC_BIN_DIR=${STAGING_BINDIR_NATIVE}"
25+
INITSCRIPT_NAME = "qteesupplicant"
26+
SYSTEMD_SERVICE:${PN} = "qteesupplicant.service"
27+
28+
do_install:append() {
29+
install -d ${D}${bindir}
30+
install -m 0755 ${WORKDIR}/build/qtee_supplicant/qtee_supplicant ${D}${bindir}/
31+
install -m 0755 ${WORKDIR}/build/libminkteec/tests/gp_test_client/gp_test_client ${D}${bindir}/
32+
install -m 0755 ${WORKDIR}/build/libminkadaptor/tests/smcinvoke_client/smcinvoke_client ${D}${bindir}/
33+
34+
install -m 0644 ${UNPACKDIR}/qteesupplicant.service -D ${D}${systemd_unitdir}/system/qteesupplicant.service
35+
}
36+
37+
FILES:${PN} += " \
38+
${bindir} \
39+
${libdir} \
40+
${systemd_unitdir}/system/qteesupplicant.service \
41+
"
42+
43+
# Fix QA Issue: -dev package contains non-symlink *.so
44+
INSANE_SKIP:${PN}-dev = "dev-elf"

recipes-security/packagegroups/packagegroup-qcom-secure.bb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ inherit packagegroup
55
PACKAGES = "${PN}"
66

77
RDEPENDS:${PN} += " \
8+
minkipc \
89
qcomtee \
910
qcbor \
1011
"

0 commit comments

Comments
 (0)