blob: 644f3ac136fe57ebf90bf577b69ac2d0996bae9c [file] [log] [blame]
Richard Marian Thomaiyar14fddef2018-07-13 23:55:56 +05301SUMMARY = "SWTPM - OpenEmbedded wrapper scripts for native swtpm tools"
2LICENSE = "MIT"
3DEPENDS = "swtpm-native tpm-tools-native net-tools-native"
4
5inherit native
6
7# The whole point of the recipe is to make files available
8# for use after the build is done, so don't clean up...
9RM_WORK_EXCLUDE += "${PN}"
10
11do_create_wrapper () {
12 # Wrap (almost) all swtpm binaries. Some get special wrappers and some
13 # are not needed.
14 for i in `find ${bindir} ${base_bindir} ${sbindir} ${base_sbindir} -name 'swtpm*' -perm /+x -type f`; do
15 exe=`basename $i`
16 case $exe in
17 swtpm_setup.sh)
18 cat >${WORKDIR}/swtpm_setup_oe.sh <<EOF
19#! /bin/sh
20#
21# Wrapper around swtpm_setup.sh which adds parameters required to
22# run the setup as non-root directly from the native sysroot.
23
24PATH="${bindir}:${base_bindir}:${sbindir}:${base_sbindir}:\$PATH"
25export PATH
26
27# tcsd only allows to be run as root or tss. Pretend to be root...
28exec env ${FAKEROOTENV} ${FAKEROOTCMD} swtpm_setup.sh --config ${STAGING_DIR_NATIVE}/etc/swtpm_setup.conf "\$@"
29EOF
30 ;;
31 swtpm_setup)
32 true
33 ;;
34 *)
35 cat >${WORKDIR}/${exe}_oe.sh <<EOF
36#! /bin/sh
37#
38# Wrapper around $exe which makes it easier to invoke
39# the right binary.
40
41PATH="${bindir}:${base_bindir}:${sbindir}:${base_sbindir}:\$PATH"
42export PATH
43
44exec ${exe} "\$@"
45EOF
46 ;;
47 esac
48 done
49
50 chmod a+rx ${WORKDIR}/*.sh
51}
52
53addtask do_create_wrapper before do_build after do_prepare_recipe_sysroot