具有预安装和 post 安装操作的 Bitbake 配方
Bitbake recipe to have pre and post install action
我正在为基于 Makefile 的项目编写 Bitbake 的自定义配方。我们能够创建包中所有文件的 RPM,但我们无法找到预安装和 post 安装操作的方法。
由于应用程序作为服务运行,我们希望在预安装步骤中停止它,然后在 post-安装步骤中启动它。
但是我找不到相同的东西,所以没有任何想法可以实现它。
下面是我们为它编写的示例食谱。
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,但他们的描述并没有谈论预先和 post 行动。
因此,为此目的放置 %pre 和 %post(就 RPM 规范而言)的任何想法。
我运行遇到了同样的问题。有关我如何执行 post 安装脚本的信息,请参阅 。希望您可以从该答案中收集到足够的信息来为您的脚本修改它。
您可以在您的 .bb 中添加 post 安装脚本:
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
根据文档,示例在图像创建期间仅 运行s。还有另一个函数只会在第一次启动时 运行 (以后再也不会)。它使用 meta/recipes-devtools/run-postinsts
配方来完成此操作。
我正在为基于 Makefile 的项目编写 Bitbake 的自定义配方。我们能够创建包中所有文件的 RPM,但我们无法找到预安装和 post 安装操作的方法。 由于应用程序作为服务运行,我们希望在预安装步骤中停止它,然后在 post-安装步骤中启动它。 但是我找不到相同的东西,所以没有任何想法可以实现它。 下面是我们为它编写的示例食谱。
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,但他们的描述并没有谈论预先和 post 行动。 因此,为此目的放置 %pre 和 %post(就 RPM 规范而言)的任何想法。
我运行遇到了同样的问题。有关我如何执行 post 安装脚本的信息,请参阅
您可以在您的 .bb 中添加 post 安装脚本:
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
根据文档,示例在图像创建期间仅 运行s。还有另一个函数只会在第一次启动时 运行 (以后再也不会)。它使用 meta/recipes-devtools/run-postinsts
配方来完成此操作。