From: Changqing Li Date: Fri, 19 Jun 2020 09:11:12 +0000 (+0800) Subject: mime.bbclass: fix post install scriptlet error X-Git-Tag: 2020-04.2-dunfell~77 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=24f4f4551d220030c0f847c648a49a15bf1fe6eb;p=openembedded-core.git mime.bbclass: fix post install scriptlet error fix error during post uninstall: %postun(shared-mime-info-data-2.0-r0.4.corei7_64): execv(/bin/sh) pid 78 + '[' 0 = 0 ']' + set -e + '[' x '!=' x ']' + echo 'Updating MIME database... this may take a while.' Updating MIME database... this may take a while. + update-mime-database /usr/share/mime Directory '/usr/share/mime/packages' does not exist! %postun(shared-mime-info-data-2.0-r0.4.corei7_64): waitpid(78) rc 78 status 100 warning: %postun(shared-mime-info-data-2.0-r0.4.corei7_64) scriptlet failed, exit status 1 when run post uninstall scriptlet, /usr/share/mime/packages has been removed during unintall, while update-mime-database will check xml under /usr/share/mime/packages. workaround by create this dir before update, then remove it Signed-off-by: Changqing Li Signed-off-by: Richard Purdie (cherry picked from commit 6f262a316d6c32ff9ce96ab4bd95726772b5f20f) Signed-off-by: Steve Sakoman --- diff --git a/meta/classes/mime.bbclass b/meta/classes/mime.bbclass index c9072adf3b..bb99bc35cb 100644 --- a/meta/classes/mime.bbclass +++ b/meta/classes/mime.bbclass @@ -24,7 +24,18 @@ if [ "x$D" != "x" ]; then mimedir=${MIMEDIR} else echo "Updating MIME database... this may take a while." - update-mime-database $D${MIMEDIR} + # $D${MIMEDIR}/packages belong to package shared-mime-info-data, + # packages like libfm-mime depend on shared-mime-info-data. + # after shared-mime-info-data uninstalled, $D${MIMEDIR}/packages + # is removed, but update-mime-database need this dir to update + # database, workaround to create one and remove it later + if [ ! -d $D${MIMEDIR}/packages ]; then + mkdir -p $D${MIMEDIR}/packages + update-mime-database $D${MIMEDIR} + rmdir --ignore-fail-on-non-empty $D${MIMEDIR}/packages + else + update-mime-database $D${MIMEDIR} +fi fi }