2015-02-08 4 views
0

Я пишу пользовательский рецепт для Bitbake для проекта на основе Makefile. Мы можем создавать RPM со всеми файлами, размещенными в пакете, но мы не можем найти способ для действий до и после установки. Поскольку приложение запускается как служба, мы хотим остановить его на этапе предварительной установки, а затем запустить его на этапе после установки. Но я не могу найти то же самое, что и любые мысли для его достижения. Ниже приведен образец рецепта, который мы написали для него.Рецепт Bitbake для установки до и после установки

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) для этой цели.

ответ

0

Я столкнулся с тем же вопросом. См. this post, как я сделал сценарий установки после установки. Надеюсь, вы сможете получить от этого ответа достаточно, чтобы изменить его для своего скрипта.

+0

Да, позже я нахожу те же функции. – Abhinav

1

Вы можете добавить запись установки сценариев в .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.

+0

Нет, pkg_postinst будет запускаться во время создания изображения при первой загрузке (если он вышел с кодом ошибки при создании образа) и когда/если пакет установлен в живой системе. – Anders