1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-21 20:38:45 +00:00

* Sync with Freedesktop CVS to add support for a few new MIME types including

D source code, CHM files, Stuffit archives, and Oasis documents
* Add support for aliases and subtypes, new to the MIME spec

Obtained from:	Freedesktop CVS
This commit is contained in:
Joe Marcus Clarke 2005-03-19 20:59:06 +00:00
parent d0a7c9491f
commit f445ade1ad
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=131656
5 changed files with 1059 additions and 27 deletions

View File

@ -6,12 +6,18 @@
PORTNAME= shared-mime-info
PORTVERSION= 0.15
PORTREVISION= 8
PORTREVISION= 9
CATEGORIES= misc gnome
MASTER_SITES= http://www.marcuscom.com/downloads/ \
http://www.freedesktop.org/software/shared-mime-info/
DISTNAME= shared-mime-info-${PORTVERSION}
PATCH_SITES= http://www.marcuscom.com/downloads/ \
http://people.FreeBSD.org/~marcus/ \
${MASTER_SITE_LOCAL}
PATCH_SITE_SUBDIR= marcus
PATCHFILES= patch-0159-freedesktop.org.xml
MAINTAINER= gnome@FreeBSD.org
COMMENT= A MIME type database from the FreeDesktop project

View File

@ -1,2 +1,4 @@
MD5 (shared-mime-info-0.15.tar.gz) = 51793b041edc68717c3f87e26a4bc087
SIZE (shared-mime-info-0.15.tar.gz) = 422311
MD5 (patch-0159-freedesktop.org.xml) = 99d3a5f1ac16042717fe0fbe80abb7cc
SIZE (patch-0159-freedesktop.org.xml) = 722446

View File

@ -0,0 +1,794 @@
===================================================================
RCS file: /cvs/mime/shared-mime-info/freedesktop.org.xml.in,v
retrieving revision 1.21
retrieving revision 1.50
diff -u -r1.21 -r1.50
--- freedesktop.org.xml.in 2004/08/16 10:29:23 1.21
+++ freedesktop.org.xml.in 2005/03/19 12:15:55 1.50
@@ -68,6 +68,10 @@
<match type="string" value="must be converted with BinHex" offset="11"/>
</magic>
</mime-type>
+ <mime-type type="application/mathematica">
+ <comment xml:lang="en">Mathematica Notebook</comment>
+ <glob pattern="*.nb" />
+ </mime-type>
<mime-type type="application/octet-stream">
<_comment>unknown</_comment>
<magic priority="50">
@@ -89,6 +93,7 @@
<match type="string" value="%PDF-" offset="0"/>
</magic>
<glob pattern="*.pdf"/>
+ <alias type="application/x-pdf"/>
</mime-type>
<mime-type type="application/pgp">
<_comment>PGP message</_comment>
@@ -133,6 +138,15 @@
<glob pattern="*.smi"/>
<glob pattern="*.sml"/>
</mime-type>
+ <mime-type type="application/stuffit">
+ <_comment>StuffIt archive</_comment>
+ <magic priority="50">
+ <match type="string" value="StuffIt" offset="0"/>
+ </magic>
+ <glob pattern="*.sit"/>
+ <alias type="application/x-stuffit"/>
+ <alias type="application/x-sit"/>
+ </mime-type>
<mime-type type="application/vnd.corel-draw">
<_comment>Corel Draw drawing</_comment>
<magic priority="50">
@@ -151,7 +165,7 @@
<mime-type type="application/vnd.lotus-1-2-3">
<_comment>Lotus 1-2-3 spreadsheet</_comment>
<magic priority="50">
- <match type="string" value="\x00\x00\x02\x00" offset="0"/>
+ <match type="string" value="\x00\x00\x02\x00\x06\x04\x06\x00\x08\x00\x00\x00\x00\x00" offset="0"/>
</magic>
<glob pattern="*.123"/>
<glob pattern="*.wk1"/>
@@ -159,7 +173,12 @@
<glob pattern="*.wk4"/>
<glob pattern="*.wks"/>
</mime-type>
- <mime-type type="application/vnd.ms-excel">
+ <mime-type type="application/vnd.mozilla.xul+xml">
+ <sub-class-of type="text/xml"/>
+ <_comment>XML User Interface Language document</_comment>
+ <glob pattern="*.xul"/>
+ </mime-type>
+ <mime-type type="application/vnd.ms-excel">
<_comment>Microsoft Excel spreadsheet</_comment>
<magic priority="50">
<match type="string" value="Microsoft Excel 5.0 Worksheet" offset="2080"/>
@@ -184,8 +203,8 @@
<match type="little32" value="0xcfd0e011" offset="0"/>
</magic>
</mime-type>
- <mime-type type="application/vnd.ms-word">
- <_comment>Microsoft Word document</_comment>
+ <mime-type type="application/msword">
+ <_comment>Microsoft Word document</_comment>
<magic priority="50">
<match type="string" value="\x31\xbe\x00\x00" offset="0"/>
<match type="string" value="PO^Q`" offset="0"/>
@@ -195,7 +214,7 @@
<match type="string" value="Microsoft Word document data" offset="2112"/>
</magic>
<glob pattern="*.doc"/>
- <alias type="application/msword"/>
+ <alias type="application/vnd.ms-word"/>
</mime-type>
<mime-type type="application/vnd.palm">
<_comment>Palmpilot database/document</_comment>
@@ -275,6 +294,62 @@
<_comment>OpenOffice.org Writer document template</_comment>
<glob pattern="*.stw"/>
</mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.text">
+ <_comment>OpenDocument Text</_comment>
+ <glob pattern="*.odt"/>
+ </mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.text-template">
+ <_comment>OpenDocument Text Template</_comment>
+ <glob pattern="*.ott"/>
+ </mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.text-web">
+ <_comment>OpenDocument HTML Document Template</_comment>
+ <glob pattern="*.oth"/>
+ </mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.text-master">
+ <_comment>OpenDocument Master Document</_comment>
+ <glob pattern="*.odm"/>
+ </mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.graphics">
+ <_comment>OpenDocument Drawing</_comment>
+ <glob pattern="*.odg"/>
+ </mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.graphics-template">
+ <_comment>OpenDocument Drawing Template</_comment>
+ <glob pattern="*.otg"/>
+ </mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.presentation">
+ <_comment>OpenDocument Presentation</_comment>
+ <glob pattern="*.odp"/>
+ </mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.presentation-template">
+ <_comment>OpenDocument Presentation Template</_comment>
+ <glob pattern="*.otp"/>
+ </mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.spreadsheet">
+ <_comment>OpenDocument Spreadsheet</_comment>
+ <glob pattern="*.ods"/>
+ </mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.spreadsheet-template">
+ <_comment>OpenDocument Spreadsheet Template</_comment>
+ <glob pattern="*.ots"/>
+ </mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.chart">
+ <_comment>OpenDocument Chart</_comment>
+ <glob pattern="*.odc"/>
+ </mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.formula">
+ <_comment>OpenDocument Formula</_comment>
+ <glob pattern="*.odf"/>
+ </mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.database">
+ <_comment>OpenDocument Database</_comment>
+ <glob pattern="*.odb"/>
+ </mime-type>
+ <mime-type type="application/vnd.oasis.opendocument.image">
+ <_comment>OpenDocument Image</_comment>
+ <glob pattern="*.odi"/>
+ </mime-type>
<mime-type type="application/vnd.wordperfect">
<alias type="application/x-wordperfect"/>
<alias type="application/wordperfect"/>
@@ -419,6 +494,10 @@
<_comment>PGN chess game</_comment>
<glob pattern="*.pgn"/>
</mime-type>
+ <mime-type type="application/x-chm">
+ <comment>Compiled HTML Help Format</comment>
+ <glob pattern="*.chm"/>
+ </mime-type>
<mime-type type="application/x-class-file">
<_comment>Java byte code</_comment>
</mime-type>
@@ -468,8 +547,16 @@
<glob pattern="*.cpio.gz"/>
</mime-type>
<mime-type type="application/x-csh">
+ <sub-class-of type="application/x-shellscript"/>
<sub-class-of type="text/plain"/>
<_comment>C shell script</_comment>
+ <magic>
+ <match type="string" value="/bin/tcsh" offset="1:16"/>
+ <match type="string" value="/bin/csh" offset="1:16"/>
+ <match type="string" value="#!/usr/bin/env csh" offset="0"/>
+ <match type="string" value="#!/usr/bin/env tcsh" offset="0"/>
+ </magic>
+ <glob pattern="*.csh"/>
</mime-type>
<mime-type type="application/x-dbase">
<_comment>dBASE document</_comment>
@@ -694,7 +781,7 @@
<glob pattern="*.gmo"/>
</mime-type>
<mime-type type="application/x-glade">
- <sub-class-of type="text/plain"/>
+ <sub-class-of type="text/xml"/>
<_comment>Glade project</_comment>
<glob pattern="*.glade"/>
</mime-type>
@@ -765,6 +852,14 @@
</magic>
<glob pattern="*.class"/>
</mime-type>
+ <mime-type type="application/x-java-jnlp-file">
+ <sub-class-of type="text/xml"/>
+ <_comment>Java Network Launched Application</_comment>
+ <glob pattern="*.jnlp"/>
+ <magic priority="50">
+ <match type="string" value="&lt;jnlp" offset="0:64"/>
+ </magic>
+ </mime-type>
<mime-type type="application/x-javascript">
<sub-class-of type="text/plain"/>
<_comment>Javascript program</_comment>
@@ -1111,6 +1206,14 @@
<mime-type type="application/x-palm-database">
<_comment>Palm OS database</_comment>
</mime-type>
+ <mime-type type="application/x-par2">
+ <comment>PAR2 Parity File</comment>
+ <magic priority="50">
+ <match offset="0" type="string" value="PAR2" />
+ </magic>
+ <glob pattern="*.PAR2" />
+ <glob pattern="*.par2" />
+ </mime-type>
<mime-type type="application/x-pef-executable">
<_comment>PEF executable</_comment>
<magic priority="50">
@@ -1118,6 +1221,7 @@
</magic>
</mime-type>
<mime-type type="application/x-perl">
+ <sub-class-of type='application/x-executable'/>
<sub-class-of type="text/plain"/>
<_comment>Perl script</_comment>
<magic priority="50">
@@ -1154,23 +1258,6 @@
<_comment>Pathetic Writer document</_comment>
<glob pattern="*.pw"/>
</mime-type>
- <mime-type type="application/x-python">
- <sub-class-of type="text/plain"/>
- <_comment>Python script</_comment>
- <magic priority="50">
- <match type="string" value="#!/bin/python" offset="0"/>
- <match type="string" value="#! /bin/python" offset="0"/>
- <match type="string" value='eval \"exec /bin/python' offset="0"/>
- <match type="string" value="#!/usr/bin/python" offset="0"/>
- <match type="string" value="#! /usr/bin/python" offset="0"/>
- <match type="string" value='eval \"exec /usr/bin/python' offset="0"/>
- <match type="string" value="#!/usr/local/bin/python" offset="0"/>
- <match type="string" value="#! /usr/local/bin/python" offset="0"/>
- <match type="string" value='eval \"exec /usr/local/bin/python' offset="0"/>
- <match type="string" value='/bin/env python' offset="1:16"/>
- </magic>
- <glob pattern="*.py"/>
- </mime-type>
<mime-type type="application/x-python-bytecode">
<_comment>Python bytecode</_comment>
<magic priority="50">
@@ -1209,6 +1296,7 @@
<glob pattern="*.rpm"/>
</mime-type>
<mime-type type="application/x-ruby">
+ <sub-class-of type='application/x-executable'/>
<sub-class-of type="text/plain"/>
<_comment>Ruby script</_comment>
<magic>
@@ -1253,25 +1341,18 @@
<sub-class-of type="text/plain"/>
<_comment>shell script</_comment>
<magic priority="50">
- <match type="string" value="#!/bin/ksh" offset="0"/>
- <match type="string" value="#!/usr/local/bin/ash" offset="0"/>
- <match type="string" value="#!/usr/local/tcsh" offset="0"/>
<match type="string" value="# This is a shell archive" offset="10"/>
<match type="string" value="/bin/bash" offset="1:16"/>
<match type="string" value="/bin/nawk" offset="1:16"/>
- <match type="string" value="/bin/tcsh" offset="1:16"/>
- <match type="string" value="/bin/csh" offset="1:16"/>
<match type="string" value="/bin/zsh" offset="1:16"/>
<match type="string" value="/bin/sh" offset="1:16"/>
+ <match type="string" value="/bin/ksh" offset="1:16"/>
<match type="string" value="#!/usr/bin/env sh" offset="0"/>
<match type="string" value="#!/usr/bin/env bash" offset="0"/>
- <match type="string" value="#!/usr/bin/env csh" offset="0"/>
- <match type="string" value="#!/usr/bin/env tcsh" offset="0"/>
<match type="string" value="#!/usr/bin/env zsh" offset="0"/>
-
+ <match type="string" value="#!/usr/bin/env ksh" offset="0"/>
</magic>
<glob pattern="*.sh"/>
- <glob pattern="*.csh"/>
</mime-type>
<mime-type type="application/x-shockwave-flash">
<_comment>Shockwave Flash file</_comment>
@@ -1407,12 +1488,13 @@
<glob pattern="*.zoo"/>
</mime-type>
<mime-type type="application/xhtml+xml">
- <sub-class-of type="text/plain"/>
+ <sub-class-of type="text/xml"/>
<_comment>XHTML page</_comment>
<glob pattern="*.xhtml"/>
<root-XML namespaceURI='http://www.w3.org/1999/xhtml' localName='html'/>
</mime-type>
<mime-type type="application/zip">
+ <alias type="application/x-zip-compressed"/>
<_comment>ZIP archive</_comment>
<magic priority="40">
<match type="string" value="PK\003\004" offset="0"/>
@@ -1497,6 +1579,13 @@
<glob pattern="*.mid"/>
<glob pattern="*.midi"/>
</mime-type>
+ <mime-type type="audio/x-m4a">
+ <_comment>MP4 audio</_comment>
+ <magic priority="50">
+ <match type="string" value="ftypM4A" offset="0"/>
+ </magic>
+ <glob pattern="*.m4a"/>
+ </mime-type>
<mime-type type="audio/x-mod">
<_comment>Amiga SoundTracker audio</_comment>
<glob pattern="*.mod"/>
@@ -1507,12 +1596,12 @@
<glob pattern="*.mtm"/>
<glob pattern="*.669"/>
</mime-type>
- <mime-type type="audio/x-mp3">
+ <mime-type type="audio/mpeg">
+ <alias type="audio/x-mp3" />
<_comment>MP3 audio</_comment>
<magic priority="50">
<match type="big32" value="0xfffb" offset="0"/>
<match type="string" value="ID3" offset="0"/>
- <match type="big16" mask="0xfff0" value="0xfff0" offset="0"/>
</magic>
<glob pattern="*.mp3"/>
</mime-type>
@@ -1525,6 +1614,9 @@
<mime-type type="audio/x-mpegurl">
<_comment>MP3 audio (streamed)</_comment>
<glob pattern="*.m3u"/>
+ <magic priority="50">
+ <match type="string" value="#EXTM3U" offset="0"/>
+ </magic>
</mime-type>
<mime-type type="audio/x-ms-asx">
<_comment>Playlist</_comment>
@@ -1557,6 +1649,11 @@
</mime-type>
<mime-type type="audio/x-scpls">
<_comment>MP3 ShoutCast playlist</_comment>
+ <magic priority="50">
+ <match type="string" value="[playlist]" offset="0"/>
+ <match type="string" value="[Playlist]" offset="0"/>
+ <match type="string" value="[PLAYLIST]" offset="0"/>
+ </magic>
<glob pattern="*.pls"/>
</mime-type>
<mime-type type="audio/x-stm">
@@ -1568,6 +1665,8 @@
<glob pattern="*.voc"/>
</mime-type>
<mime-type type="audio/x-wav">
+ <alias type="audio/wav"/>
+ <alias type="audio/vnd.wave"/>
<_comment>WAV audio</_comment>
<magic priority="50">
<match type="string" value="WAVE" offset="8"/>
@@ -1649,6 +1748,7 @@
<glob pattern="*.rle"/>
</mime-type>
<mime-type type="image/svg+xml">
+ <sub-class-of type="text/xml"/>
<_comment>scalable SVG image</_comment>
<magic priority="80">
<match type="string" value="&lt;!DOCTYPE svg" offset="0:256"/>
@@ -1695,11 +1795,11 @@
<glob pattern="*.xcf.gz"/>
<glob pattern="*.xcf.bz2"/>
</mime-type>
- <mime-type type="image/x-dcm">
+ <mime-type type="application/dicom">
<_comment>Digital Imaging and Communications in Medicine image</_comment>
<glob pattern="*.dcm"/>
<magic priority="50">
- <match type="string" value="DCMw" offset="0"/>
+ <match type="string" value="DICM" offset="128"/>
</magic>
</mime-type>
<mime-type type="image/x-dib">
@@ -1993,10 +2093,13 @@
<_comment>stream of data (server push)</_comment>
</mime-type>
<mime-type type="text/calendar">
- <_comment>iCalendar file</_comment>
+ <alias type="text/x-vcalendar"/>
+ <_comment>vCalendar interchange file</_comment>
<magic priority="50">
<match type="string" value="BEGIN:VCALENDAR" offset="0"/>
+ <match type="string" value="begin:vcalendar" offset="0"/>
</magic>
+ <glob pattern="*.vcs"/>
<glob pattern="*.ics"/>
</mime-type>
<mime-type type="text/css">
@@ -2005,47 +2108,24 @@
<glob pattern="*.CSSL"/>
</mime-type>
<mime-type type="text/directory">
- <_comment>directory information file</_comment>
+ <alias type="text/x-vcard"/>
+ <_comment>Electronic Business Card</_comment>
+ <magic priority="50">
+ <match type="string" value="BEGIN:VCARD" offset="0"/>
+ <match type="string" value="begin:vcard" offset="0"/>
+ </magic>
+ <glob pattern="*.vcf"/>
+ <glob pattern="*.vct"/>
+ <glob pattern="*.gcrd"/>
</mime-type>
<mime-type type="text/enriched">
<_comment>enriched text document</_comment>
</mime-type>
- <mime-type type="text/x-gettext-translation">
- <_comment>translated messages</_comment>
- <glob pattern="*.po"/>
- </mime-type>
- <mime-type type="text/x-gettext-translation-template">
- <_comment>message translation template</_comment>
- <glob pattern="*.pot"/>
- </mime-type>
- <mime-type type="text/html">
- <_comment>HTML page</_comment>
- <magic priority="50">
- <match type="string" value="&lt;!DOCTYPE HTML" offset="0:64"/>
- <match type="string" value="&lt;!doctype html" offset="0:64"/>
- <match type="string" value="&lt;HEAD" offset="0:64"/>
- <match type="string" value="&lt;head" offset="0:64"/>
- <match type="string" value="&lt;TITLE" offset="0:64"/>
- <match type="string" value="&lt;title" offset="0:64"/>
- <match type="string" value="&lt;html" offset="0:64"/>
- <match type="string" value="&lt;HTML" offset="0:64"/>
- <match type="string" value="&lt;BODY" offset="0"/>
- <match type="string" value="&lt;body" offset="0"/>
- <match type="string" value="&lt;TITLE" offset="0"/>
- <match type="string" value="&lt;title" offset="0"/>
- <match type="string" value="&lt;!--" offset="0"/>
- <match type="string" value="&lt;h1" offset="0"/>
- <match type="string" value="&lt;H1" offset="0"/>
- <match type="string" value="&lt;!doctype HTML" offset="0"/>
- <match type="string" value="&lt;!DOCTYPE html" offset="0"/>
- </magic>
- <glob pattern="*.html"/>
- <glob pattern="*.htm"/>
- </mime-type>
<mime-type type="text/htmlh">
<_comment>help page</_comment>
</mime-type>
<mime-type type="text/mathml">
+ <sub-class-of type="text/xml"/>
<_comment>MathML document</_comment>
<glob pattern="*.mml"/>
</mime-type>
@@ -2059,6 +2139,7 @@
<glob pattern="*.asc"/>
</mime-type>
<mime-type type="text/rdf">
+ <sub-class-of type="text/plain"/>
<_comment>Resource Description Framework (RDF) file</_comment>
<glob pattern="*.rdf"/>
</mime-type>
@@ -2066,10 +2147,12 @@
<_comment>email headers</_comment>
</mime-type>
<mime-type type="text/richtext">
+ <sub-class-of type="text/plain"/>
<_comment>rich text document</_comment>
<glob pattern="*.rtx"/>
</mime-type>
<mime-type type="text/rss">
+ <sub-class-of type="text/plain"/>
<_comment>RDF Site Summary</_comment>
<glob pattern="*.rss"/>
</mime-type>
@@ -2087,6 +2170,7 @@
<glob pattern="*.slk"/>
</mime-type>
<mime-type type="text/tab-separated-values">
+ <sub-class-of type="text/plain"/>
<_comment>text document (with tab-separated values)</_comment>
<glob pattern="*.tsv"/>
</mime-type>
@@ -2095,23 +2179,28 @@
<glob pattern="*.wml"/>
</mime-type>
<mime-type type="text/x-adasrc">
+ <sub-class-of type="text/plain"/>
<_comment>Ada source code</_comment>
<glob pattern="*.adb"/>
<glob pattern="*.ads"/>
</mime-type>
<mime-type type="text/x-authors">
+ <sub-class-of type="text/plain"/>
<_comment>author list</_comment>
<glob pattern="AUTHORS"/>
</mime-type>
<mime-type type="text/x-bibtex">
+ <sub-class-of type="text/plain"/>
<_comment>Bibtex bibliographic data</_comment>
<glob pattern="*.bib"/>
</mime-type>
<mime-type type="text/x-c++hdr">
+ <sub-class-of type="text/plain"/>
<_comment>C++ source code header</_comment>
<glob pattern="*.hh"/>
</mime-type>
<mime-type type="text/x-c++src">
+ <sub-class-of type="text/plain"/>
<_comment>C++ source code</_comment>
<glob pattern="*.cpp"/>
<glob pattern="*.cxx"/>
@@ -2120,32 +2209,39 @@
<glob pattern="*.c++"/>
</mime-type>
<mime-type type="text/x-chdr">
+ <sub-class-of type="text/plain"/>
<_comment>C source code header</_comment>
<glob pattern="*.h"/>
<glob pattern="*.h++"/>
<glob pattern="*.hp"/>
</mime-type>
<mime-type type="text/x-comma-separated-values">
+ <sub-class-of type="text/plain"/>
<_comment>text document (with comma-separated values)</_comment>
<glob pattern="*.csv"/>
</mime-type>
<mime-type type="text/x-copying">
+ <sub-class-of type="text/plain"/>
<_comment>software license terms</_comment>
<glob pattern="COPYING"/>
</mime-type>
<mime-type type="text/x-credits">
+ <sub-class-of type="text/plain"/>
<_comment>software author credits</_comment>
<glob pattern="CREDITS"/>
</mime-type>
<mime-type type="text/x-csrc">
+ <sub-class-of type="text/plain"/>
<_comment>C source code</_comment>
<glob pattern="*.c"/>
</mime-type>
<mime-type type="text/x-csharp">
+ <sub-class-of type="text/plain"/>
<_comment>C# source code</_comment>
<glob pattern="*.cs"/>
</mime-type>
<mime-type type="text/x-dcl">
+ <sub-class-of type="text/plain"/>
<_comment>DCL script</_comment>
<glob pattern="*.dcl"/>
</mime-type>
@@ -2153,11 +2249,18 @@
<_comment>DSSSL document</_comment>
<glob pattern="*.dsl"/>
</mime-type>
+ <mime-type type="text/x-dsrc">
+ <sub-class-of type="text/plain"/>
+ <_comment>D source code</_comment>
+ <glob pattern="*.d"/>
+ </mime-type>
<mime-type type="text/x-dtd">
+ <sub-class-of type="text/plain"/>
<_comment>document type definition</_comment>
<glob pattern="*.dtd"/>
</mime-type>
<mime-type type="text/x-emacs-lisp">
+ <sub-class-of type="text/plain"/>
<_comment>Emacs Lisp source code</_comment>
<magic priority="50">
<match type="string" value="\012(" offset="0"/>
@@ -2166,68 +2269,110 @@
<glob pattern="*.el"/>
</mime-type>
<mime-type type="text/x-fortran">
+ <sub-class-of type="text/plain"/>
<_comment>Fortran source code</_comment>
<glob pattern="*.f"/>
</mime-type>
+ <mime-type type="text/x-gettext-translation">
+ <sub-class-of type="text/plain"/>
+ <_comment>translated messages</_comment>
+ <glob pattern="*.po"/>
+ </mime-type>
+ <mime-type type="text/x-gettext-translation-template">
+ <sub-class-of type="text/plain"/>
+ <_comment>message translation template</_comment>
+ <glob pattern="*.pot"/>
+ </mime-type>
+ <mime-type type="text/html">
+ <_comment>HTML page</_comment>
+ <magic priority="50">
+ <match type="string" value="&lt;!DOCTYPE HTML" offset="0:64"/>
+ <match type="string" value="&lt;!doctype html" offset="0:64"/>
+ <match type="string" value="&lt;HEAD" offset="0:64"/>
+ <match type="string" value="&lt;head" offset="0:64"/>
+ <match type="string" value="&lt;TITLE" offset="0:64"/>
+ <match type="string" value="&lt;title" offset="0:64"/>
+ <match type="string" value="&lt;html" offset="0:64"/>
+ <match type="string" value="&lt;HTML" offset="0:64"/>
+ <match type="string" value="&lt;BODY" offset="0"/>
+ <match type="string" value="&lt;body" offset="0"/>
+ <match type="string" value="&lt;TITLE" offset="0"/>
+ <match type="string" value="&lt;title" offset="0"/>
+ <match type="string" value="&lt;!--" offset="0"/>
+ <match type="string" value="&lt;h1" offset="0"/>
+ <match type="string" value="&lt;H1" offset="0"/>
+ <match type="string" value="&lt;!doctype HTML" offset="0"/>
+ <match type="string" value="&lt;!DOCTYPE html" offset="0"/>
+ </magic>
+ <glob pattern="*.html"/>
+ <glob pattern="*.htm"/>
+ </mime-type>
<mime-type type="text/x-gtkrc">
+ <sub-class-of type="text/plain"/>
<_comment>GTK configuration</_comment>
<glob pattern="gtkrc"/>
<glob pattern=".gtkrc"/>
</mime-type>
<mime-type type="text/x-haskell">
+ <sub-class-of type="text/plain"/>
<_comment>Haskell source code</_comment>
<glob pattern="*.hs"/>
</mime-type>
<mime-type type="text/x-idl">
+ <sub-class-of type="text/plain"/>
<_comment>IDL document</_comment>
<glob pattern="*.idl"/>
</mime-type>
<mime-type type="text/x-install">
+ <sub-class-of type="text/plain"/>
<_comment>software installation instructions</_comment>
<glob pattern="INSTALL"/>
</mime-type>
<mime-type type="text/x-java">
+ <sub-class-of type="text/plain"/>
<_comment>Java source code</_comment>
<glob pattern="*.java"/>
</mime-type>
- <mime-type type="text/x-ksh">
- <_comment>Korn shell script</_comment>
- <magic priority="50">
- <match type="string" value="/bin/ksh" offset="1:16"/>
- </magic>
- </mime-type>
<mime-type type="text/x-ksysv-log">
+ <sub-class-of type="text/plain"/>
<magic priority="50">
<match type="string" value="KDE System V Init Editor" offset="0"/>
</magic>
</mime-type>
<mime-type type="text/x-literate-haskell">
+ <sub-class-of type="text/plain"/>
<_comment>Literate haskell source code</_comment>
<glob pattern="*.lhs"/>
</mime-type>
<mime-type type="text/x-log">
+ <sub-class-of type="text/plain"/>
<_comment>application log</_comment>
<glob pattern="*.log"/>
</mime-type>
<mime-type type="text/x-makefile">
+ <sub-class-of type="text/plain"/>
<_comment>Makefile</_comment>
<glob pattern="makefile*"/>
<glob pattern="[Mm]akefile"/>
</mime-type>
<mime-type type="text/x-moc">
+ <sub-class-of type="text/plain"/>
<_comment>Qt Meta Object file</_comment>
<glob pattern="*.moc"/>
</mime-type>
<mime-type type="text/x-objcsrc">
+ <sub-class-of type="text/plain"/>
<_comment>Objective-C source code</_comment>
<glob pattern="*.m"/>
</mime-type>
<mime-type type="text/x-pascal">
+ <sub-class-of type="text/plain"/>
<_comment>Pascal source code</_comment>
<glob pattern="*.p"/>
<glob pattern="*.pas"/>
</mime-type>
<mime-type type="text/x-patch">
+ <sub-class-of type="text/plain"/>
<_comment>differences between files</_comment>
<magic priority="50">
<match type="string" value="diff\t" offset="0"/>
@@ -2242,15 +2387,36 @@
<glob pattern="*.diff"/>
<glob pattern="*.patch"/>
</mime-type>
+ <mime-type type="text/x-python">
+ <sub-class-of type='application/x-executable'/>
+ <sub-class-of type="text/plain"/>
+ <_comment>Python script</_comment>
+ <magic priority="50">
+ <match type="string" value="#!/bin/python" offset="0"/>
+ <match type="string" value="#! /bin/python" offset="0"/>
+ <match type="string" value='eval \"exec /bin/python' offset="0"/>
+ <match type="string" value="#!/usr/bin/python" offset="0"/>
+ <match type="string" value="#! /usr/bin/python" offset="0"/>
+ <match type="string" value='eval \"exec /usr/bin/python' offset="0"/>
+ <match type="string" value="#!/usr/local/bin/python" offset="0"/>
+ <match type="string" value="#! /usr/local/bin/python" offset="0"/>
+ <match type="string" value='eval \"exec /usr/local/bin/python' offset="0"/>
+ <match type="string" value='/bin/env python' offset="1:16"/>
+ </magic>
+ <glob pattern="*.py"/>
+ </mime-type>
<mime-type type="text/x-readme">
+ <sub-class-of type="text/plain"/>
<_comment>README document</_comment>
<glob pattern="README*"/>
</mime-type>
<mime-type type="text/x-scheme">
+ <sub-class-of type="text/plain"/>
<_comment>Scheme source code</_comment>
<glob pattern="*.scm"/>
</mime-type>
<mime-type type="text/x-setext">
+ <sub-class-of type="text/plain"/>
<_comment>Setext document</_comment>
<glob pattern="*.etx"/>
</mime-type>
@@ -2258,15 +2424,18 @@
<_comment>Speech document</_comment>
</mime-type>
<mime-type type="text/x-sql">
+ <sub-class-of type="text/plain"/>
<_comment>SQL code</_comment>
<glob pattern="*.sql"/>
</mime-type>
<mime-type type="text/x-tcl">
+ <sub-class-of type="text/plain"/>
<_comment>Tcl script</_comment>
<glob pattern="*.tcl"/>
<glob pattern="*.tk"/>
</mime-type>
<mime-type type="text/x-tex">
+ <sub-class-of type="text/plain"/>
<_comment>TeX document</_comment>
<glob pattern="*.tex"/>
<glob pattern="*.ltx"/>
@@ -2274,6 +2443,7 @@
<glob pattern="*.cls"/>
</mime-type>
<mime-type type="text/x-texinfo">
+ <sub-class-of type="text/plain"/>
<_comment>TeXInfo document</_comment>
<glob pattern="*.texi"/>
<glob pattern="*.texinfo"/>
@@ -2300,24 +2470,6 @@
<glob pattern="*.uri"/>
<glob pattern="*.url"/>
</mime-type>
- <mime-type type="text/x-vcalendar">
- <_comment>vCalendar interchange file</_comment>
- <magic priority="50">
- <match type="string" value="BEGIN:VCALENDAR" offset="0"/>
- <match type="string" value="begin:vcalendar" offset="0"/>
- </magic>
- <glob pattern="*.vcs"/>
- <glob pattern="*.vcf"/>
- </mime-type>
- <mime-type type="text/x-vcard">
- <_comment>electronic business card</_comment>
- <magic priority="50">
- <match type="string" value="BEGIN:VCARD" offset="0"/>
- <match type="string" value="begin:vcard" offset="0"/>
- </magic>
- <glob pattern="*.vct"/>
- <glob pattern="*.gcrd"/>
- </mime-type>
<mime-type type="text/x-xmi">
<_comment>XML Metadata Interchange file</_comment>
<glob pattern="*.xmi"/>
@@ -2328,7 +2480,9 @@
<glob pattern="*.xslfo"/>
</mime-type>
<mime-type type="text/x-xslt">
+ <sub-class-of type="text/plain"/>
<_comment>XSLT stylesheet</_comment>
+ <sub-class-of type="text/xml"/>
<glob pattern="*.xslt"/>
<glob pattern="*.xsl"/>
</mime-type>
@@ -2338,6 +2492,7 @@
</magic>
</mime-type>
<mime-type type="text/xml">
+ <sub-class-of type="text/plain"/>
<_comment>eXtensible Markup Language document</_comment>
<magic priority="50">
<match type="string" value="&lt;?xml" offset="0"/>

View File

@ -1,6 +1,59 @@
--- update-mime-database.c.orig Mon Oct 13 05:43:38 2003
+++ update-mime-database.c Sat Dec 4 15:52:53 2004
@@ -377,7 +377,8 @@
--- update-mime-database.c.orig Sat Mar 19 15:29:41 2005
+++ update-mime-database.c Sat Mar 19 15:29:45 2005
@@ -94,6 +94,12 @@ static GHashTable *globs_hash = NULL;
/* 'magic' nodes */
static GPtrArray *magic_array = NULL;
+/* Maps MIME type names to superclass names */
+static GHashTable *subclass_hash = NULL;
+
+/* Maps aliases to Types */
+static GHashTable *alias_hash = NULL;
+
/* Static prototypes */
static Magic *magic_new(xmlNode *node, Type *type, GError **error);
@@ -295,12 +301,37 @@ static gboolean process_freedesktop_node
{
char *other_type;
gboolean valid;
+ GSList *list, *nlist;
+
other_type = xmlGetNsProp(field, "type", NULL);
valid = other_type && strchr(other_type, '/');
- xmlFree(other_type);
if (valid)
- return FALSE; /* Copy through */
+ {
+ char *typename;
+ typename = g_strdup_printf("%s/%s",
+ type->media,
+ type->subtype);
+
+ if (strcmp(field->name, "alias") == 0)
+ g_hash_table_insert(alias_hash,
+ g_strdup(other_type), type);
+
+ else
+ {
+ list = g_hash_table_lookup(subclass_hash, typename);
+ nlist = g_slist_append (list, g_strdup(other_type));
+ if (list == NULL)
+ g_hash_table_insert(subclass_hash,
+ g_strdup(typename), nlist);
+ }
+ g_free(typename);
+ xmlFree(other_type);
+
+ return FALSE; /* Copy through */
+ }
+
+ xmlFree(other_type);
g_set_error(error, MIME_ERROR, 0,
_("Incorrect or missing 'type' attribute "
"in <%s>"), field->name);
@@ -377,7 +408,8 @@ static void remove_old(Type *type, xmlNo
}
}
@ -10,7 +63,7 @@
}
/* 'node' is a <mime-type> node from a source file, whose type is 'type'.
@@ -809,7 +810,13 @@
@@ -809,7 +841,14 @@ static void parse_int_value(int bytes, c
unsigned long value;
int b;
@ -22,18 +75,18 @@
+ in, bytes);
+ return;
+ }
+
if (*end != '\0')
{
g_set_error(error, MIME_ERROR, 0, "Value is not a number");
@@ -834,9 +841,16 @@
@@ -834,9 +873,17 @@ static void parse_int_value(int bytes, c
if (in_mask)
{
int b;
- long mask;
-
- mask = strtol(in_mask, &end, 0);
+ unsigned long mask;
+
- mask = strtol(in_mask, &end, 0);
+ mask = strtoul(in_mask, &end, 0);
+ if (errno == ERANGE) {
+ g_set_error(error, MIME_ERROR, 0,
@ -41,11 +94,12 @@
+ in_mask, bytes);
+ return;
+ }
+
+
if (*end != '\0')
{
g_set_error(error, MIME_ERROR, 0,
@@ -847,7 +861,7 @@
@@ -847,7 +894,7 @@ static void parse_int_value(int bytes, c
out_mask = g_new(char, bytes);
for (b = 0; b < bytes; b++)
{
@ -54,7 +108,7 @@
out_mask[b] = (mask >> shift) & 0xff;
}
}
@@ -991,11 +1005,32 @@
@@ -991,11 +1038,33 @@ static void match_offset(Match *match, x
}
match->range_start = strtol(offset, &end, 10);
@ -67,6 +121,7 @@
+ g_free(number);
+ return;
+ }
+
if (*end == ':' && end[1] && match->range_start >= 0)
{
int last;
@ -88,7 +143,74 @@
if (*end == '\0' && last >= match->range_start)
match->range_length = last - match->range_start + 1;
else
@@ -1330,7 +1365,7 @@
@@ -1310,6 +1379,66 @@ static void write_namespaces(FILE *strea
g_ptr_array_free(lines, TRUE);
}
+static void write_subclass(gpointer key, gpointer value, gpointer data)
+{
+ GSList *list = value;
+ FILE *stream = data;
+ GSList *l;
+ char *line;
+
+ for (l = list; l; l = l->next)
+ {
+ line = g_strconcat (key, " ", l->data, "\n", NULL);
+ fwrite(line, 1, strlen(line), stream);
+ g_free (line);
+ }
+}
+
+/* Write all the collected subclass information to 'subclasses' */
+static void write_subclasses(FILE *stream)
+{
+ g_hash_table_foreach(subclass_hash, write_subclass, stream);
+}
+
+/* Extract one entry from alias_hash and put it in the GPtrArray so
+ * we can sort it.
+ */
+static void add_alias(gpointer key, gpointer value, gpointer data)
+{
+ GPtrArray *lines = (GPtrArray *) data;
+ const guchar *alias = (guchar *) key;
+ Type *type = (Type *) value;
+
+ g_ptr_array_add(lines, g_strconcat(alias, " ", type->media,
+ "/", type->subtype, "\n",
+ NULL));
+}
+
+/* Write all the collected aliases */
+static void write_aliases(FILE *stream)
+{
+ GPtrArray *lines;
+ int i;
+
+ lines = g_ptr_array_new();
+
+ g_hash_table_foreach(alias_hash, add_alias, lines);
+
+ g_ptr_array_sort(lines, strcmp2);
+
+ for (i = 0; i < lines->len; i++)
+ {
+ char *line = (char *) lines->pdata[i];
+
+ fwrite(line, 1, strlen(line), stream);
+
+ g_free(line);
+ }
+
+ g_ptr_array_free(lines, TRUE);
+}
+
+
/* Issue a warning if 'path' won't be found by applications */
static void check_in_path_xdg_data(const char *mime_path)
{
@@ -1330,7 +1459,7 @@ static void check_in_path_xdg_data(const
env = getenv("XDG_DATA_DIRS");
if (!env)
@ -97,3 +219,88 @@
dirs = g_strsplit(env, ":", 0);
g_return_if_fail(dirs != NULL);
for (n = 0; dirs[n]; n++)
@@ -1371,6 +1500,14 @@ out:
g_free(path);
}
+static void free_string_list(gpointer data)
+{
+ GSList *list = data;
+
+ g_slist_foreach(list, (GFunc)g_free, NULL);
+ g_slist_free(list);
+}
+
int main(int argc, char **argv)
{
char *mime_dir = NULL;
@@ -1442,7 +1579,11 @@ int main(int argc, char **argv)
namespace_hash = g_hash_table_new_full(g_str_hash, g_str_equal,
g_free, NULL);
magic_array = g_ptr_array_new();
-
+ subclass_hash = g_hash_table_new_full(g_str_hash, g_str_equal,
+ g_free, free_string_list);
+ alias_hash = g_hash_table_new_full(g_str_hash, g_str_equal,
+ g_free, NULL);
+
scan_source_dir(package_dir);
g_free(package_dir);
@@ -1494,7 +1635,7 @@ int main(int argc, char **argv)
atomic_update(magic_path);
g_free(magic_path);
}
-
+
{
FILE *stream;
char *ns_path;
@@ -1510,12 +1651,47 @@ int main(int argc, char **argv)
atomic_update(ns_path);
g_free(ns_path);
}
+
+ {
+ FILE *stream;
+ char *path;
+
+ path = g_strconcat(mime_dir, "/subclasses.new", NULL);
+ stream = fopen(path, "wb");
+ if (!stream)
+ g_error("Failed to open '%s' for writing\n",
+ path);
+
+ write_subclasses(stream);
+
+ atomic_update(path);
+ g_free(path);
+ }
+
+ {
+ FILE *stream;
+ char *path;
+
+ path = g_strconcat(mime_dir, "/aliases.new", NULL);
+ stream = fopen(path, "wb");
+ if (!stream)
+ g_error("Failed to open '%s' for writing\n",
+ path);
+
+ write_aliases(stream);
+
+ atomic_update(path);
+ g_free(path);
+ }
+
g_ptr_array_free(magic_array, TRUE);
g_hash_table_destroy(types);
g_hash_table_destroy(globs_hash);
g_hash_table_destroy(namespace_hash);
+ g_hash_table_destroy(subclass_hash);
+ g_hash_table_destroy(alias_hash);
g_print("***\n");

View File

@ -12,8 +12,11 @@ bin/update-mime-database
libdata/pkgconfig/shared-mime-info.pc
@unexec [ -f %D/share/mime/XMLnamespaces ] && rm -f %D/share/mime/XMLnamespaces || true
share/mime/application/andrew-inset.xml
share/mime/application/dicom.xml
share/mime/application/illustrator.xml
share/mime/application/mac-binhex40.xml
share/mime/application/mathematica.xml
share/mime/application/msword.xml
share/mime/application/octet-stream.xml
share/mime/application/oda.xml
share/mime/application/ogg.xml
@ -27,13 +30,28 @@ share/mime/application/pkcs7-signature.xml
share/mime/application/postscript.xml
share/mime/application/rtf.xml
share/mime/application/smil.xml
share/mime/application/stuffit.xml
share/mime/application/vnd.corel-draw.xml
share/mime/application/vnd.hp-hpgl.xml
share/mime/application/vnd.hp-pcl.xml
share/mime/application/vnd.lotus-1-2-3.xml
share/mime/application/vnd.mozilla.xul+xml.xml
share/mime/application/vnd.ms-excel.xml
share/mime/application/vnd.ms-powerpoint.xml
share/mime/application/vnd.ms-word.xml
share/mime/application/vnd.oasis.opendocument.chart.xml
share/mime/application/vnd.oasis.opendocument.database.xml
share/mime/application/vnd.oasis.opendocument.formula.xml
share/mime/application/vnd.oasis.opendocument.graphics-template.xml
share/mime/application/vnd.oasis.opendocument.graphics.xml
share/mime/application/vnd.oasis.opendocument.image.xml
share/mime/application/vnd.oasis.opendocument.presentation-template.xml
share/mime/application/vnd.oasis.opendocument.presentation.xml
share/mime/application/vnd.oasis.opendocument.spreadsheet-template.xml
share/mime/application/vnd.oasis.opendocument.spreadsheet.xml
share/mime/application/vnd.oasis.opendocument.text-master.xml
share/mime/application/vnd.oasis.opendocument.text-template.xml
share/mime/application/vnd.oasis.opendocument.text-web.xml
share/mime/application/vnd.oasis.opendocument.text.xml
share/mime/application/vnd.palm.xml
share/mime/application/vnd.rn-realmedia.xml
share/mime/application/vnd.stardivision.calc.xml
@ -71,6 +89,7 @@ share/mime/application/x-bzip.xml
share/mime/application/x-cd-image.xml
share/mime/application/x-cgi.xml
share/mime/application/x-chess-pgn.xml
share/mime/application/x-chm.xml
share/mime/application/x-class-file.xml
share/mime/application/x-compress.xml
share/mime/application/x-compressed-tar.xml
@ -121,6 +140,7 @@ share/mime/application/x-gzpostscript.xml
share/mime/application/x-hdf.xml
share/mime/application/x-ipod-firmware.xml
share/mime/application/x-jar.xml
share/mime/application/x-java-jnlp-file.xml
share/mime/application/x-java.xml
share/mime/application/x-javascript.xml
share/mime/application/x-jbuilder-project.xml
@ -162,6 +182,7 @@ share/mime/application/x-object.xml
share/mime/application/x-ole-storage.xml
share/mime/application/x-oleo.xml
share/mime/application/x-palm-database.xml
share/mime/application/x-par2.xml
share/mime/application/x-pef-executable.xml
share/mime/application/x-perl.xml
share/mime/application/x-php.xml
@ -169,7 +190,6 @@ share/mime/application/x-pkcs12.xml
share/mime/application/x-profile.xml
share/mime/application/x-pw.xml
share/mime/application/x-python-bytecode.xml
share/mime/application/x-python.xml
share/mime/application/x-quattropro.xml
share/mime/application/x-qw.xml
share/mime/application/x-rar.xml
@ -212,6 +232,7 @@ share/mime/application/zip.xml
share/mime/audio/ac3.xml
share/mime/audio/basic.xml
share/mime/audio/midi.xml
share/mime/audio/mpeg.xml
share/mime/audio/prs.sid.xml
share/mime/audio/x-adpcm.xml
share/mime/audio/x-aifc.xml
@ -219,9 +240,9 @@ share/mime/audio/x-aiff.xml
share/mime/audio/x-aiffc.xml
share/mime/audio/x-flac.xml
share/mime/audio/x-it.xml
share/mime/audio/x-m4a.xml
share/mime/audio/x-mod.xml
share/mime/audio/x-mp3-playlist.xml
share/mime/audio/x-mp3.xml
share/mime/audio/x-mpeg.xml
share/mime/audio/x-mpegurl.xml
share/mime/audio/x-ms-asx.xml
@ -255,7 +276,6 @@ share/mime/image/x-3ds.xml
share/mime/image/x-applix-graphics.xml
share/mime/image/x-cmu-raster.xml
share/mime/image/x-compressed-xcf.xml
share/mime/image/x-dcm.xml
share/mime/image/x-dib.xml
share/mime/image/x-eps.xml
share/mime/image/x-fits.xml
@ -296,6 +316,8 @@ share/mime/inode/mount-point.xml
share/mime/inode/socket.xml
share/mime/inode/symlink.xml
@unexec [ -f %D/share/mime/magic ] && rm -f %D/share/mime/magic || true
@unexec [ -f %D/share/mime/aliases ] && rm -f %D/share/mime/aliases || true
@unexec [ -f %D/share/mime/subclasses ] && rm -f %D/share/mime/subclasses || true
share/mime/message/delivery-status.xml
share/mime/message/disposition-notification.xml
share/mime/message/external-body.xml
@ -343,6 +365,7 @@ share/mime/text/x-csharp.xml
share/mime/text/x-csrc.xml
share/mime/text/x-dcl.xml
share/mime/text/x-dsl.xml
share/mime/text/x-dsrc.xml
share/mime/text/x-dtd.xml
share/mime/text/x-emacs-lisp.xml
share/mime/text/x-fortran.xml
@ -353,7 +376,6 @@ share/mime/text/x-haskell.xml
share/mime/text/x-idl.xml
share/mime/text/x-install.xml
share/mime/text/x-java.xml
share/mime/text/x-ksh.xml
share/mime/text/x-ksysv-log.xml
share/mime/text/x-literate-haskell.xml
share/mime/text/x-log.xml
@ -363,6 +385,7 @@ share/mime/text/x-moc.xml
share/mime/text/x-objcsrc.xml
share/mime/text/x-pascal.xml
share/mime/text/x-patch.xml
share/mime/text/x-python.xml
share/mime/text/x-readme.xml
share/mime/text/x-scheme.xml
share/mime/text/x-setext.xml
@ -376,8 +399,6 @@ share/mime/text/x-troff-mm.xml
share/mime/text/x-troff-ms.xml
share/mime/text/x-uil.xml
share/mime/text/x-uri.xml
share/mime/text/x-vcalendar.xml
share/mime/text/x-vcard.xml
share/mime/text/x-xslfo.xml
share/mime/text/x-xslt.xml
share/mime/text/xmcd.xml
@ -411,6 +432,8 @@ share/mime/video/x-sgi-movie.xml
@unexec [ -f %%X11BASE%%/share/mime/XMLnamespaces ] && rm -f %%X11BASE%%/share/mime/XMLnamespaces || true
@unexec [ -f %%X11BASE%%/share/mime/globs ] && rm -f %%X11BASE%%/share/mime/globs || true
@unexec [ -f %%X11BASE%%/share/mime/magic ] && rm -f %%X11BASE%%/share/mime/magic || true
@unexec [ -f %%X11BASE%%/share/mime/aliases ] && rm -f %%X11BASE%%/share/mime/aliases || true
@unexec [ -f %%X11BASE%%/share/mime/subclasses ] && rm -f %%X11BASE%%/share/mime/subclasses || true
@unexec rmdir %%X11BASE%%/share/mime/video 2>/dev/null || true
@unexec rmdir %%X11BASE%%/share/mime/text 2>/dev/null || true
@unexec rmdir %%X11BASE%%/share/mime/packages 2>/dev/null || true