x11-libs/gdk-pixbuf: loaders.cache update fixes (thumbnailing, etc)

Fix regressions from meson port for gdk-pixbuf loaders.cache updating.

* Add missing gnome2_gdk_pixbuf_savelist call to pkg_preinst for stable
  version, revbumped straight to stable to fix any outdated caches
  for stable users, as it could be causing lack of thumbnailing
  functionality and other issues.
* Add it to ~arch version too, but also downgrade it back to EAPI-7,
  as gnome2-utils.eclass is broken for EAPI-7 still for gdk-pixbuf
  cache updating (missing eutils inherit from emktemp usage and
  broken $ED and $EROOT lack of ending slash handling. Though instead
  of full revert of the changes, convert the ebuilds own $ED and
  $EROOT handling to be EAPI agnostic for now.
* Drop ancient migration log in the ~arch revbump that seems to have
  been for a time when gdk-pixbuf was newly introduced over a decade
  or more ago (when split out of gtk2 in its early days).

Closes: https://bugs.gentoo.org/697602
Package-Manager: Portage-2.3.69, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
This commit is contained in:
Mart Raudsepp
2019-10-13 14:23:17 +03:00
parent 1be385ae2b
commit 7f7fc258f5
2 changed files with 9 additions and 12 deletions

View File

@@ -116,6 +116,7 @@ pkg_preinst() {
}
multilib_foreach_abi multilib_pkg_preinst
gnome2_gdk_pixbuf_savelist
}
pkg_postinst() {

View File

@@ -1,7 +1,9 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=6
# TODO: EAPI-7 needs gnome2-utils fixes - ${EROOT%/} and co usage for EAPI-7 in gdk_pixbuf_*
# TODO: functions and eutils inherit for emktemp or some other solution
inherit gnome.org gnome2-utils meson multilib multilib-minimal xdg
@@ -109,14 +111,15 @@ pkg_preinst() {
# Make sure loaders.cache belongs to gdk-pixbuf alone
local cache="usr/$(get_libdir)/${PN}-2.0/2.10.0/loaders.cache"
if [[ -e ${EROOT}/${cache} ]]; then
cp "${EROOT}"/${cache} "${ED}"/${cache} || die
if [[ -e ${EROOT%/}/${cache} ]]; then
cp "${EROOT%/}"/${cache} "${ED}"/${cache} || die
else
touch "${ED}"/${cache} || die
touch "${ED%/}"/${cache} || die
fi
}
multilib_foreach_abi multilib_pkg_preinst
gnome2_gdk_pixbuf_savelist
}
pkg_postinst() {
@@ -125,19 +128,12 @@ pkg_postinst() {
xdg_pkg_postinst
multilib_foreach_abi gnome2_gdk_pixbuf_update
# Migration snippet for when this was handled by gtk+
if [ -e "${EROOT}"/usr/lib/gtk-2.0/2.*/loaders ]; then
elog "You need to rebuild ebuilds that installed into" "${EROOT}"/usr/lib/gtk-2.0/2.*/loaders
elog "to do that you can use qfile from portage-utils:"
elog "emerge -va1 \$(qfile -qC ${EPREFIX}/usr/lib/gtk-2.0/2.*/loaders)"
fi
}
pkg_postrm() {
xdg_pkg_postrm
if [[ -z ${REPLACED_BY_VERSION} ]]; then
rm -f "${EROOT}"/usr/lib*/${PN}-2.0/2.10.0/loaders.cache
rm -f "${EROOT%/}"/usr/lib*/${PN}-2.0/2.10.0/loaders.cache
fi
}