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:
parent
d0a7c9491f
commit
f445ade1ad
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=131656
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
794
misc/shared-mime-info/files/patch-freedesktop.org.xml.in
Normal file
794
misc/shared-mime-info/files/patch-freedesktop.org.xml.in
Normal 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="<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="<!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="<!DOCTYPE HTML" offset="0:64"/>
|
||||
- <match type="string" value="<!doctype html" offset="0:64"/>
|
||||
- <match type="string" value="<HEAD" offset="0:64"/>
|
||||
- <match type="string" value="<head" offset="0:64"/>
|
||||
- <match type="string" value="<TITLE" offset="0:64"/>
|
||||
- <match type="string" value="<title" offset="0:64"/>
|
||||
- <match type="string" value="<html" offset="0:64"/>
|
||||
- <match type="string" value="<HTML" offset="0:64"/>
|
||||
- <match type="string" value="<BODY" offset="0"/>
|
||||
- <match type="string" value="<body" offset="0"/>
|
||||
- <match type="string" value="<TITLE" offset="0"/>
|
||||
- <match type="string" value="<title" offset="0"/>
|
||||
- <match type="string" value="<!--" offset="0"/>
|
||||
- <match type="string" value="<h1" offset="0"/>
|
||||
- <match type="string" value="<H1" offset="0"/>
|
||||
- <match type="string" value="<!doctype HTML" offset="0"/>
|
||||
- <match type="string" value="<!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="<!DOCTYPE HTML" offset="0:64"/>
|
||||
+ <match type="string" value="<!doctype html" offset="0:64"/>
|
||||
+ <match type="string" value="<HEAD" offset="0:64"/>
|
||||
+ <match type="string" value="<head" offset="0:64"/>
|
||||
+ <match type="string" value="<TITLE" offset="0:64"/>
|
||||
+ <match type="string" value="<title" offset="0:64"/>
|
||||
+ <match type="string" value="<html" offset="0:64"/>
|
||||
+ <match type="string" value="<HTML" offset="0:64"/>
|
||||
+ <match type="string" value="<BODY" offset="0"/>
|
||||
+ <match type="string" value="<body" offset="0"/>
|
||||
+ <match type="string" value="<TITLE" offset="0"/>
|
||||
+ <match type="string" value="<title" offset="0"/>
|
||||
+ <match type="string" value="<!--" offset="0"/>
|
||||
+ <match type="string" value="<h1" offset="0"/>
|
||||
+ <match type="string" value="<H1" offset="0"/>
|
||||
+ <match type="string" value="<!doctype HTML" offset="0"/>
|
||||
+ <match type="string" value="<!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="<?xml" offset="0"/>
|
@ -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");
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user