新的 Yocto 配方构建但编译后工作目录被删除 [英] New Yocto Recipe Builds but Work Directory is Deleted after Compilation

查看:27
本文介绍了新的 Yocto 配方构建但编译后工作目录被删除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将 zbar 的配方从 0.10.0 更新到 0.20.1.这是原始配方:

I am trying to update the recipe for zbar from 0.10.0 to 0.20.1. Here is the original recipe:

https://github.com/openembedded/meta-openembedded/blob/master/meta-oe/recipes-support/zbar/zbar_0.10.bb

我修改过的食谱在这个问题的底部.包确实可以编译,但问题是在打包"步骤期间发生了一些事情,并且除了work"目录中的temp"目录外,work"目录被清除.在编译过程中,如果我列出工作目录中的文件,我所期望的一切都存在,但是在编译成功后,有些东西会清理文件.我究竟做错了什么?

My modified recipe is at the bottom of this question. The package does compile, but the problem is that something happens during the "packaging" step and the "work" directory is wiped out except for the "temp" directory inside the "work" directory. During compilation, if I list the files in the work directory, everything I expect is present, but after compilation succeeds, something cleans the files up. What am I doing wrong?

编译期间:

user@ubuntu:~/rpi/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/zbar/0.20.1-r0$ cd ../0.20.1-r0/ ; ls
build              image            pkgdata                sysroot-destdir
configure.sstate   license-destdir  pseudo                 temp
debugsources.list  package          recipe-sysroot
git                packages-split   recipe-sysroot-native

编译后:

user@ubuntu:~/rpi/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/zbar/0.20.1-r0$ cd ../0.20.1-r0/ ; ls
temp

Yocto 食谱:

DESRIPTION = "2D barcode scanner toolkit."
SECTION = "graphics"
LICENSE = "LGPL-2.1"

DEPENDS = "pkgconfig intltool-native libpng jpeg"

LIC_FILES_CHKSUM = "file://LICENSE;md5=243b725d71bb5df4a1e5920b344b86ad"

S = "${WORKDIR}/git"

SRCREV = "edcf08b49e0a5fe71c18fa9d4b8ed83ed8fc9082"
SRC_URI = "git://github.com/mchehab/zbar.git"

inherit autotools pkgconfig

EXTRA_OECONF = " --without-x --without-imagemagick --without-qt --without-python2 --disable-video --without-gtk"

FILES_${PN} += "${bindir}"
FILES_${PN} += "${libdir}"

do_install_append() {
    echo "done..."
}

推荐答案

这是因为 rm_work 类.您可以删除,

This is because of the rm_work class. You can remove,

INHERIT += "rm_work"

这来自 local.conf 或在相应的图像配方文件中.或者您可以仅针对您的配方禁用 rm_work,

this from local.conf or in according image recipe file. Or you can disable the rm_work only for your recipe using,

RM_WORK_EXCLUDE += "zbar"

conf/local.conf中.

这篇关于新的 Yocto 配方构建但编译后工作目录被删除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆