diff options
| author | Changqing Li <changqing.li@windriver.com> | 2020-06-19 17:11:12 +0800 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-06-23 12:31:03 +0100 |
| commit | b58192aba2d8f6b388a073629f8d3e765a074643 (patch) | |
| tree | b5bfc825f36a922a2ccd394ffc50df741c907ff9 /meta/classes/mime.bbclass | |
| parent | adc496081689e1d8b8bf3bbf21efec675450edb2 (diff) | |
| download | poky-b58192aba2d8f6b388a073629f8d3e765a074643.tar.gz | |
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
(From OE-Core rev: 6f262a316d6c32ff9ce96ab4bd95726772b5f20f)
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/mime.bbclass')
| -rw-r--r-- | meta/classes/mime.bbclass | 13 |
1 files changed, 12 insertions, 1 deletions
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 | |||
| 24 | mimedir=${MIMEDIR} | 24 | mimedir=${MIMEDIR} |
| 25 | else | 25 | else |
| 26 | echo "Updating MIME database... this may take a while." | 26 | echo "Updating MIME database... this may take a while." |
| 27 | update-mime-database $D${MIMEDIR} | 27 | # $D${MIMEDIR}/packages belong to package shared-mime-info-data, |
| 28 | # packages like libfm-mime depend on shared-mime-info-data. | ||
| 29 | # after shared-mime-info-data uninstalled, $D${MIMEDIR}/packages | ||
| 30 | # is removed, but update-mime-database need this dir to update | ||
| 31 | # database, workaround to create one and remove it later | ||
| 32 | if [ ! -d $D${MIMEDIR}/packages ]; then | ||
| 33 | mkdir -p $D${MIMEDIR}/packages | ||
| 34 | update-mime-database $D${MIMEDIR} | ||
| 35 | rmdir --ignore-fail-on-non-empty $D${MIMEDIR}/packages | ||
| 36 | else | ||
| 37 | update-mime-database $D${MIMEDIR} | ||
| 38 | fi | ||
| 28 | fi | 39 | fi |
| 29 | } | 40 | } |
| 30 | 41 | ||
