# SPDX-FileCopyrightText: 2024 Unisoc (Shanghai) Technologies Co., Ltd. # # SPDX-License-Identifier: LicenseRef-Unisoc-General-1.0 DESCRIPTION = "Unisoc anti-rollback for rootfs" HOMEPAGE = "http://www.unisoc.com/" LICENSE = "Unisoc-General-1.0" DEPENDS = "libtrusty veritybuild-native" RDEPENDS:${PN} = "libtrusty " SECTION = "base" PROVIDES = "anti-rollback" #ROOTFS_ANTI_ROLLBACK_VERSION="1" EXTERNALSRC_BUILD = "${EXTERNALSRC}" do_sign() { ROOTFS_ANTI_ROLLBACK_VERSION=`grep "rootfs_version" ${STAGING_BINDIR_NATIVE}/keydir_config/version.cfg | cut -d'=' -f2` echo "version:" echo $ROOTFS_ANTI_ROLLBACK_VERSION echo ${ROOTFS_ANTI_ROLLBACK_VERSION} >.version cat .version echo ${BSP_SPRD_SECUREBOOT_ALGORITHM} >.algorithm hash=`echo -n "${ROOTFS_ANTI_ROLLBACK_VERSION}" | sha256sum | cut -d' ' -f1` echo "$hash" echo $hash >.hash cat .hash ${STAGING_BINDIR_NATIVE}/verity_sign sign_table $hash ${STAGING_BINDIR_NATIVE}/keydir_config/ ${BSP_SPRD_SECUREBOOT_ALGORITHM} .sig cat .sig cat .version .algorithm .hash > version cat .sig > signature cat version cat signature } do_compile () { make clean make do_sign } do_install () { install -d ${D}${libdir}/ install -m 0755 ${S}/libanti-rollback.so ${D}${libdir}/ if [ "${SEC_DMVERITY_TYPE_INITRAMFS}" = "false" ]; then install -d ${D}${bindir}/ install -m 0755 ${S}/anti-rollback ${D}${bindir}/ fi install -d ${D}${sysconfdir}/anti-rollback install -m 0644 ${S}/version ${D}/${sysconfdir}/anti-rollback/ install -m 0644 ${S}/signature ${D}/${sysconfdir}/anti-rollback/ install -d ${D}${includedir}/ install -m 0755 ${S}/anti-rollback.h ${D}${includedir}/ } FILES:${PN} = "${bindir}/anti-rollback ${libdir}/libanti-rollback.so ${sysconfdir}/anti-rollback/*" INSANE_SKIP:${PN} += "installed-vs-shipped" FILES_SOLIBSDEV = "" INSANE_SKIP:${PN} += "dev-so" TARGET_CC_ARCH += "${LDFLAGS}"