gpt4 book ai didi

linux - 具有安装前和安装后操作的 Bitbake 配方

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:17:11 27 4
gpt4 key购买 nike

我正在为基于 Makefile 的项目的 Bitbake 编写自定义配方。我们能够使用包中的所有文件创建 RPM,但我们无法找到安装前和安装后操作的方法。由于应用程序作为服务运行,我们希望在预安装步骤中停止它,然后在安装后步骤中启动它。但是我找不到相同的东西,所以没有任何想法可以实现它。下面是我们为它编写的示例配方。

DESCRIPTION = "Simple helloworld application"
SECTION = "examples"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r0"
SRC_URI = "file://helloworld.c"
DEPENDS = "boost"
S = "${WORKDIR}"
do_compile() {
${CC} helloworld.c -o helloworld
}

PACKAGES = "helloworld"
do_install() {
install -d ${D}${bindir}
install -m 0755 helloworld ${D}${bindir}
install -d ${D}${sysconfig}/init.d
install -m 0755 ${S}/service ${D}${sysconfig}/init.d
}

我确实看到了 INITSCRIPT_PACKAGES 和 INITSCRIPT_PARAMS,但它们的描述并没有谈论前后操作。因此,有没有为此目的放置 %pre 和 %post(就 RPM 规范而言)的想法。

最佳答案

您可以在 .bb 中添加安装后脚本:

 pkg_postinst_PACKAGENAME() {
#!/bin/sh -e
# Commands to carry out
}

引用:第 5.3.16 节 http://www.yoctoproject.org/docs/1.7.1/mega-manual/mega-manual.html

根据文档,示例仅在镜像创建期间运行。还有另一个功能只会在第一次启动时运行(并且永远不会在它之后)。它使用 meta/recipes-devtools/run-postinsts 配方来完成此任务。

关于linux - 具有安装前和安装后操作的 Bitbake 配方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28397650/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com