diff options
author | Michael Johnson <ahze@FreeBSD.org> | 2005-04-02 16:50:27 +0000 |
---|---|---|
committer | Michael Johnson <ahze@FreeBSD.org> | 2005-04-02 16:50:27 +0000 |
commit | 249f17b40818dbd035b3ef3bbfdc98f3234f4e7c (patch) | |
tree | 5406647adf44bf58804de69df470199cee07ed70 /misc/shared-mime-info | |
parent | 853f2387628223b9e006dd2135a6d5cfb24d001d (diff) | |
download | ports-249f17b40818dbd035b3ef3bbfdc98f3234f4e7c.tar.gz ports-249f17b40818dbd035b3ef3bbfdc98f3234f4e7c.zip |
Notes
Diffstat (limited to 'misc/shared-mime-info')
-rw-r--r-- | misc/shared-mime-info/Makefile | 12 | ||||
-rw-r--r-- | misc/shared-mime-info/distinfo | 6 | ||||
-rw-r--r-- | misc/shared-mime-info/files/patch-freedesktop.org.xml.in | 794 | ||||
-rw-r--r-- | misc/shared-mime-info/files/patch-update-mime-database.c | 295 |
4 files changed, 10 insertions, 1097 deletions
diff --git a/misc/shared-mime-info/Makefile b/misc/shared-mime-info/Makefile index d1ca89c345fc..1684d76cc4fa 100644 --- a/misc/shared-mime-info/Makefile +++ b/misc/shared-mime-info/Makefile @@ -5,19 +5,13 @@ # $FreeBSD$ PORTNAME= shared-mime-info -PORTVERSION= 0.15 -PORTREVISION= 9 +PORTVERSION= 0.16 +PORTREVISION= 1 CATEGORIES= misc gnome MASTER_SITES= http://www.marcuscom.com/downloads/ \ - http://www.freedesktop.org/software/shared-mime-info/ + http://freedesktop.org/~jrb/ 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 diff --git a/misc/shared-mime-info/distinfo b/misc/shared-mime-info/distinfo index 692d77c5dd43..bd2a9c80db61 100644 --- a/misc/shared-mime-info/distinfo +++ b/misc/shared-mime-info/distinfo @@ -1,4 +1,2 @@ -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 +MD5 (shared-mime-info-0.16.tar.gz) = 255a20bae753ebd41e2286b01e7b86d0 +SIZE (shared-mime-info-0.16.tar.gz) = 753513 diff --git a/misc/shared-mime-info/files/patch-freedesktop.org.xml.in b/misc/shared-mime-info/files/patch-freedesktop.org.xml.in deleted file mode 100644 index a59b4dbf7334..000000000000 --- a/misc/shared-mime-info/files/patch-freedesktop.org.xml.in +++ /dev/null @@ -1,794 +0,0 @@ -=================================================================== -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"/> diff --git a/misc/shared-mime-info/files/patch-update-mime-database.c b/misc/shared-mime-info/files/patch-update-mime-database.c index bbddab3d2097..a9837e64314c 100644 --- a/misc/shared-mime-info/files/patch-update-mime-database.c +++ b/misc/shared-mime-info/files/patch-update-mime-database.c @@ -1,216 +1,16 @@ ---- 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 +--- update-mime-database.c.orig Fri Dec 3 15:46:28 2004 ++++ update-mime-database.c Fri Mar 25 14:51:30 2005 +@@ -408,7 +408,8 @@ } } - xmlFree(lang); + if (lang) -+ xmlFree(lang); ++ xmlFree(lang); } /* 'node' is a <mime-type> node from a source file, whose type is 'type'. -@@ -809,7 +841,14 @@ static void parse_int_value(int bytes, c - unsigned long value; - int b; - -- value = strtol(in, &end, 0); -+ value = strtoul(in, &end, 0); -+ if (errno == ERANGE) { -+ g_set_error(error, MIME_ERROR, 0, -+ "Number out-of-range (%s should fit in %d bytes)", -+ in, bytes); -+ return; -+ } -+ - if (*end != '\0') - { - g_set_error(error, MIME_ERROR, 0, "Value is not a number"); -@@ -834,9 +873,17 @@ static void parse_int_value(int bytes, c - if (in_mask) - { - int b; -- long mask; -+ 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, -+ "Mask out-of-range (%s should fit in %d bytes)", -+ in_mask, bytes); -+ return; -+ } -+ -+ - if (*end != '\0') - { - g_set_error(error, MIME_ERROR, 0, -@@ -847,7 +894,7 @@ static void parse_int_value(int bytes, c - out_mask = g_new(char, bytes); - for (b = 0; b < bytes; b++) - { -- int shift = (bytes - b - 1) * 8; -+ int shift = (big_endian ? (bytes - b - 1) : b) * 8; - out_mask[b] = (mask >> shift) & 0xff; - } - } -@@ -991,11 +1038,33 @@ static void match_offset(Match *match, x - } - - match->range_start = strtol(offset, &end, 10); -+ if (errno == ERANGE) { -+ char *number; -+ number = g_strndup(offset, end-offset); -+ g_set_error(error, MIME_ERROR, 0, -+ "Number out-of-range (%s should fit in 4 bytes)", -+ number); -+ g_free(number); -+ return; -+ } -+ - if (*end == ':' && end[1] && match->range_start >= 0) - { - int last; -+ char *begin; -+ -+ begin = end + 1; -+ last = strtol(begin, &end, 10); -+ if (errno == ERANGE) { -+ char *number; -+ number = g_strndup(begin, end-begin); -+ g_set_error(error, MIME_ERROR, 0, -+ "Number out-of-range (%s should fit in 8 bytes)", -+ number); -+ g_free(number); -+ return; -+ } - -- last = strtol(end + 1, &end, 10); - if (*end == '\0' && last >= match->range_start) - match->range_length = last - match->range_start + 1; - else -@@ -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 +@@ -1458,7 +1459,7 @@ env = getenv("XDG_DATA_DIRS"); if (!env) @@ -219,88 +19,3 @@ 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"); - |