summaryrefslogtreecommitdiff
path: root/packaging/macros.shared-mime-info
blob: 56ef610519698ec7d2606e84d010333f37c20f3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# RPM macros for packages installing a MIME type according to the XDG specification
#
###
#
# When a package installs a MIME type as per the XDG specification, it should
# use both macros:
#
#  - %mime_database_post in %post
#  - %mime_database_postun in %postun
#
# Note that these macros can optionally take as argument the directory
# where the MIME type is installed. If no argument is passed, then
# %{_datadir}/mime will be used (which is where applications usually install
# the MIME type information).
#
###

# On install, update the mime database
%mime_database_post()                                          \
if test -x %{_bindir}/update-mime-database; then               \
%if "x%1" != "x%%1"                                            \
  %{_bindir}/update-mime-database "%1" || true                 \
%else                                                          \
  %{_bindir}/update-mime-database "%{_datadir}/mime" || true   \
%endif                                                         \
fi 

# On uninstall, update the mime database. Note: we ignore upgrades (already
# handled in %post of the new package).
%mime_database_postun()                                        \
if [ $1 -eq 0 ]; then                                          \
  if test -x %{_bindir}/update-mime-database; then             \
%if "x%1" != "x%%1"                                            \
    %{_bindir}/update-mime-database "%1" || true               \
%else                                                          \
    %{_bindir}/update-mime-database "%{_datadir}/mime" || true \
%endif                                                         \
  fi                                                           \
fi