mirror of
https://git.yoctoproject.org/poky
synced 2026-02-26 11:29:40 +01:00
fix error: + /usr/lib/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache /var/tmp/rpm-tmp.mdYxY6: line 12: /usr/lib/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders: No such file or directory %post(adwaita-icon-theme-3.36.1-r0.0.noarch): waitpid(2961) rc 2961 status 7f00 warning: %post(adwaita-icon-theme-3.36.1-r0.0.noarch) scriptlet failed, exit status 127 when install adwaita-icon-theme on target, which inherit gtk-icon-cache above error reported, fix by add runtime dependency to pkgs we don't use explicit RDEPENDS, so fix do_rootfs breaking by adding it into DEPENDS. Error: Problem: conflicting requests - nothing provides gdk-pixbuf needed by adwaita-icon-theme-3.36.1-r0.noarch - nothing provides gtk+3 needed by adwaita-icon-theme-3.36.1-r0.noarch (From OE-Core rev: 31e3d34c8a9c3e8481aa837aa0bf52adf095fe62) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
80 lines
2.4 KiB
Plaintext
80 lines
2.4 KiB
Plaintext
FILES_${PN} += "${datadir}/icons/hicolor"
|
|
|
|
DEPENDS +=" ${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} \
|
|
${@['gdk-pixbuf', '']['${BPN}' == 'gdk-pixbuf']} \
|
|
${@['gtk+3', '']['${BPN}' == 'gtk+3']} \
|
|
gtk+3-native \
|
|
"
|
|
|
|
PACKAGE_WRITE_DEPS += "gtk+3-native gdk-pixbuf-native"
|
|
|
|
gtk_icon_cache_postinst() {
|
|
if [ "x$D" != "x" ]; then
|
|
$INTERCEPT_DIR/postinst_intercept update_gtk_icon_cache ${PKG} \
|
|
mlprefix=${MLPREFIX} \
|
|
libdir_native=${libdir_native}
|
|
else
|
|
|
|
# Update the pixbuf loaders in case they haven't been registered yet
|
|
${libdir}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache
|
|
|
|
for icondir in /usr/share/icons/* ; do
|
|
if [ -d $icondir ] ; then
|
|
gtk-update-icon-cache -fqt $icondir
|
|
fi
|
|
done
|
|
fi
|
|
}
|
|
|
|
gtk_icon_cache_postrm() {
|
|
if [ "x$D" != "x" ]; then
|
|
$INTERCEPT_DIR/postinst_intercept update_gtk_icon_cache ${PKG} \
|
|
mlprefix=${MLPREFIX} \
|
|
libdir=${libdir}
|
|
else
|
|
for icondir in /usr/share/icons/* ; do
|
|
if [ -d $icondir ] ; then
|
|
gtk-update-icon-cache -qt $icondir
|
|
fi
|
|
done
|
|
fi
|
|
}
|
|
|
|
python populate_packages_append () {
|
|
packages = d.getVar('PACKAGES').split()
|
|
pkgdest = d.getVar('PKGDEST')
|
|
|
|
for pkg in packages:
|
|
icon_dir = '%s/%s/%s/icons' % (pkgdest, pkg, d.getVar('datadir'))
|
|
if not os.path.exists(icon_dir):
|
|
continue
|
|
|
|
bb.note("adding hicolor-icon-theme dependency to %s" % pkg)
|
|
rdepends = ' ' + d.getVar('MLPREFIX', False) + "hicolor-icon-theme"
|
|
d.appendVar('RDEPENDS_%s' % pkg, rdepends)
|
|
|
|
#gtk_icon_cache_postinst depend on gdk-pixbuf and gtk+3
|
|
bb.note("adding gdk-pixbuf dependency to %s" % pkg)
|
|
rdepends = ' ' + d.getVar('MLPREFIX', False) + "gdk-pixbuf"
|
|
d.appendVar('RDEPENDS_%s' % pkg, rdepends)
|
|
|
|
bb.note("adding gtk+3 dependency to %s" % pkg)
|
|
rdepends = ' ' + d.getVar('MLPREFIX', False) + "gtk+3"
|
|
d.appendVar('RDEPENDS_%s' % pkg, rdepends)
|
|
|
|
bb.note("adding gtk-icon-cache postinst and postrm scripts to %s" % pkg)
|
|
|
|
postinst = d.getVar('pkg_postinst_%s' % pkg)
|
|
if not postinst:
|
|
postinst = '#!/bin/sh\n'
|
|
postinst += d.getVar('gtk_icon_cache_postinst')
|
|
d.setVar('pkg_postinst_%s' % pkg, postinst)
|
|
|
|
postrm = d.getVar('pkg_postrm_%s' % pkg)
|
|
if not postrm:
|
|
postrm = '#!/bin/sh\n'
|
|
postrm += d.getVar('gtk_icon_cache_postrm')
|
|
d.setVar('pkg_postrm_%s' % pkg, postrm)
|
|
}
|
|
|