В чем разница между образом и каталогом пакетов в Yocto - PullRequest
0 голосов
/ 11 апреля 2020

Я написал базовый c рецепт hello world

DESCRIPTION = "Simple helloworld C application"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "file://userprog.c file://ReadMe.txt"

S = "${WORKDIR}"

do_compile() {
    ${CC} -DUSE_SYSCALL userprog.c ${LDFLAGS} -o userprog
}

do_install() {
    install -d ${D}${bindir}
    install -m 0755 userprog ${D}${bindir}
    install -d ${D}${docdir}
    install -m 0644 ReadMe.txt ${D}${docdir}
}

После того, как, посмотрев на WORKDIR, содержимое папок 'package' и 'image' совпадает.

$ дерево-изображение /

image/
└── usr
    ├── bin
    │   └── userprog
    └── share
        └── doc
            └── ReadMe.txt

$ дерево-пакет

package
└── usr
    ├── bin
    │   └── userprog
    └── share
        └── doc
            └── ReadMe.txt

В чем разница между обеими папками, я знаю, что папка с изображениями управляется в задаче do_install, а как насчет папки папки?

1 Ответ

1 голос
/ 11 апреля 2020

images/ для установки dir, что-то вроде make install DESTDIR=<..>

package для задачи do_package, которая затем разбивается на отдельные выходные пакеты в packages-split,

даже если содержимое выглядит аналогично, контекст отличается от другого, поскольку он работает с переменными PACKAGES и FILES, и если файлы не упомянуты в этих переменных, он не скопирует их из image/ в package/ it подробно описан в Руководство по проекту Yocto

...