Рецепт 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
}