Yocto не устанавливает файлы в / usr / share - PullRequest
1 голос
/ 25 марта 2020

Рецепт yocto hplip_3.18.6.bb не распаковывает и не устанавливает файлы ppd в /usr/share/ppd/HP. Поэтому я добавил свой рецепт hplip_%.bbappend.

Я выполнил bitbake base-image -c rootfs и вижу распакованные файлы ppd в `/yocto/build/tmp/work/armv7ahf-neon-poky-linux-gnueabi/hplip/3.18.6-r1/ hplip-3.18.6 / ppd / hpcups "

Я вижу установленные файлы в /yocto/build/tmp/work/armv7ahf-neon-poky-linux-gnueabi/hplip/3.18.6-r1/image.

Но файлы не в /yocto/build/tmp/work/poky-linux-gnueabi/base-image/1.0-r0/rootfs

Я пытался с другие файлы (. sh), но результат тот же: установка не работает для /usr/share, но работает, например, для /etc/udev/scripts Я могу установить свои собственные сценарии или файлы ppd в ${sysconfdir}, но не в ${datadir}

Я просмотрел PACKAGES += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter ${PN}-hal" и вроде нормально.

Мой hplip_%.bbappend:

DESCRIPTION = "Install additional files for hplip"

RDEPENDS_${PN} += "bash"

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

# The udev rules and script to install a hp printer connected over Usb
SRC_URI += " \
    file://etc/udev/rules.d/60-install-hp-usb.rules \
    file://etc/udev/scripts/install-hp-usb.sh \
"

FILESEXTRAPATHS_append := "${WORKDIR}/${BP}/ppd/hpcups/:"
FILESEXTRAPATHS_append := "${D}/${datadir}/:"

do_install_append() {
    # Install of udev rules and script
    install -d ${D}${sysconfdir}/udev/rules.d
    install -m 0755 ${WORKDIR}/etc/udev/rules.d/60-install-hp-usb.rules ${D}${sysconfdir}/udev/rules.d/60-install-hp-usb.rules
    install -d ${D}${sysconfdir}/udev/scripts
    install -m 0755 ${WORKDIR}/etc/udev/scripts/install-hp-usb.sh ${D}${sysconfdir}/udev/scripts/install-hp-usb.sh

    bbwarn datadir=${D}/${datadir}
    bbwarn sysconfdir=${D}/${sysconfdir}

    # Extract and install the ppds
    install -d ${D}/${datadir}/ppd/HP
    for file in $(ls -1 ${WORKDIR}/${BP}/ppd/hpcups/*.gz); do
        archive=`basename $file`
        ppdFile=${archive%.gz}
        gunzip -c ${WORKDIR}/${BP}/ppd/hpcups/${archive} > ${WORKDIR}/${BP}/ppd/hpcups/${ppdFile}
        install -m 0755 ${WORKDIR}/${BP}/ppd/hpcups/${ppdFile} ${D}/${datadir}/ppd/HP/${ppdFile}
    done
}
...