库中的旧版本在更新bitbake文件后包含在图像中

问题描述 投票:0回答:2

将基于Yocto的Linux发行版中的dotnet-runtime更新为2.1.12版后,我看到生成的映像的大小已显着增加。经过仔细检查,我发现该映像同时包含dotnet-runtime库的新2.1.12版本和旧的2.1.11版本。如何确保旧版本不包含在映像中?除了SRC_URI和校验和之外,我还需要更改更多吗?

这里是dotnet-runtime.bb的内容

DESCRIPTION = ".NET Core Runtime, SDK & CLI tools"
HOMEPAGE = "https://www.microsoft.com/net/core"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=42b611e7375c06a28601953626ab16cb"
COMPATIBLE_HOST ?= "x86_64.*-linux"

RDEPENDS_${PN} = "glibc zlib libunwind icu libcurl openssl krb5 libgssglue"
INSANE_SKIP_${PN} += "already-stripped staticdev file-rdeps libdir"

INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT  = "1"

SRC_URI =  "https://download.visualstudio.microsoft.com/download/pr/c1b620fe-7d8e-4685-b6ae-82b444dbc7a7/3d5610f0607da49ee014c61c6cd4e9af/aspne
tcore-runtime-2.1.12-linux-x64.tar.gz"
SRC_URI[sha256sum] = "cdb8816a437de168b25500b14ea32169abe610675ced08ca31f77f9542c2149a"

S = "${WORKDIR}"

do_install() {
        install -d ${D}${bindir}
        install -d ${D}${datadir}/dotnet
        install -d ${D}${datadir}/dotnet/host/
        install -d ${D}${datadir}/dotnet/shared/

        install -m 0755 ${S}/dotnet ${D}${datadir}/dotnet
        install -m 0644 ${S}/LICENSE.txt ${D}${datadir}/dotnet
        install -m 0644 ${S}/ThirdPartyNotices.txt ${D}${datadir}/dotnet

        cp -r --no-preserve=ownership ${S}/host/ ${D}${datadir}/dotnet/
        cp -r --no-preserve=ownership ${S}/shared/ ${D}${datadir}/dotnet/

        # Symlinks
        cd ${D}${bindir}
        ln -s ../../${datadir}/dotnet/dotnet dotnet || true
    }

FILES_${PN} = "\
        ${bindir}/dotnet \
        ${datadir}/dotnet/ \
"
yocto bitbake
2个回答
0
投票

您可能需要清除配方的缓存。只需运行:

$ bitbake -c clean {食谱名称}] >>

然后再次建立您的图像。

希望有帮助。


0
投票

将版本号添加到位烘烤文件中,用dotnet-runtime_2.1.12.bb代替dotnet-runtime.bb解决了该问题。

© www.soinside.com 2019 - 2024. All rights reserved.