我正在为基于 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 规范)的任何想法。