Mimeview is unable to parse mime.types file

"Pierre-Jean" <[email protected]>
Newsgroups gmane.comp.gnu.mailutils.bugs
Message-ID <[email protected]>
Hello alls,

Mimeview is unable to parse my current mime.types file:
  mimeview -t /usr/share/cups/mime/mime.types file
  Invalid character '^', state 1
  Aborted (core dump)

Mimeview seems to be unable to parse the regex rule of the
file mime.types. Apparently, that regex rule was introduced
for the sole pdf detection, and is not documented in man 5
mime.types. I found the commit which adds that rule on the
cups repository:
https://github.com/apple/cups/commit/6ee54c072996fd4cde3d5a53e80918e90f8e29c5

But, even with that rule commented, mimeview is still unable
to parse the file:
  mimeview -t /usr/share/cups/mime/mime.types file
  mimeview: /usr/share/cups/mime/mime.types:86: syntax error
  mimeview: /usr/share/cups/mime/mime.types:94: syntax error
  mimeview: /usr/share/cups/mime/mime.types:125: syntax error
  mimeview: /usr/share/cups/mime/mime.types:148: syntax error
  mimeview: /usr/share/cups/mime/mime.types:156: syntax error
  mimeview: /usr/share/cups/mime/mime.types:177: syntax error


Cups 2.2.3
mailutils (GNU Mailutils) 3.2.91-15 [release-3.2-40-gd2952d1c8-dirty]
my /usr/share/cups/mime/mime.types is joined.

Kind regards,
Pierre-Jean.

#
# Base MIME types file for CUPS.
#
# DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW
# VERSIONS OF CUPS.  Instead, create a "local.types" file that
# reflects your local configuration changes.
#
# Copyright 2007-2016 by Apple Inc.
# Copyright 1997-2007 by Easy Software Products.
#
# These coded instructions, statements, and computer programs are the
# property of Apple Inc. and are protected by Federal copyright
# law.  Distribution and use rights are outlined in the file "LICENSE.txt"
# which should have been included with this file.  If this file is
# file is missing or damaged, see the license at "http://www.cups.org/".
#

########################################################################
#
# Format of Lines:
#
#   super/type rules
#
# "rules" can be any combination of:
#
#   ( expr )				Parenthesis for expression grouping
#   +					Logical AND
#   , or whitespace			Logical OR
#   !					Logical NOT
#   match("pattern")			Pattern match on filename
#   extension				Pattern match on "*.extension"
#   ascii(offset,length)		True if bytes are valid printable ASCII
#					(CR, NL, TAB, BS, 32-126)
#   priority(number)                    Sets priority of type (0=lowest,
#                                       100=default, 200=highest)
#   printable(offset,length)		True if bytes are printable 8-bit chars
#					(CR, NL, TAB, BS, 32-126, 128-254)
#   regex(offset,"regex")		True if bytes match regular expression
#   string(offset,"string")		True if bytes are identical to string
#   istring(offset,"string")		True if bytes are identical to
#                                       case-insensitive string
#   char(offset,value)			True if byte is identical
#   short(offset,value)			True if 16-bit integer is identical
#   int(offset,value)			True if 32-bit integer is identical
#   locale("string")                    True if current locale matches string
#   contains(offset,range,"string")	True if the range contains the string
#
# General Notes:
#
#   MIME type names are case-insensitive.  Internally they are converted
#   to lowercase.  Multiple occurrences of a type will cause the provided
#   rules to be appended to the existing definition.  If two types use the same
#   rules to resolve a type and have the same priority, e.g. "doc" extension for
#   "text/bar" and "text/foo", the returned type will be the first type as
#   sorted in alphanumerically ascending order without regard to case.  Thus,
#   the "text/bar" type will match the "doc" extension first unless the
#   "text/foo" type has specified a higher priority.
#
#   The "printable" rule differs from the "ascii" rule in that it also
#   accepts 8-bit characters in the range 128-255.
#
#   String constants must be surrounded by "" if they contain whitespace.
#   To insert binary data into a string, use the <hex> notation.
#

########################################################################
#
# Application-generated files...
#

#application/msword		doc string(0,<D0CF11E0A1B11AE1>)
application/pdf			pdf regex(0,^[\n\r]*%PDF)
application/postscript		ai eps ps string(0,%!) string(0,<04>%!) \
				contains(0,128,<1B>%-12345X) + \
				(contains(0,4096,"LANGUAGE=POSTSCRIPT") \
				 contains(0,4096,"LANGUAGE = Postscript") \
				 contains(0,4096,"LANGUAGE = PostScript") \
				 contains(0,4096,"LANGUAGE = POSTSCRIPT") \
				 (contains(0,4096,<0a>%!) + \
				  !contains(0,4096,"ENTER LANGUAGE")))

application/g-code		gcode
application/sla			stl string(0,"solid ") + contains(0,4096,"facet") + contains(0,4096,"vertex")
application/vnd.makerbot-s3g	x3g
model/amf			amf
model/vnd.collada+xml		dae


########################################################################
#
# Image files...
#

image/gif			gif string(0,GIF87a) string(0,GIF89a)
image/png			png string(0,<89>PNG)
image/jpeg			jpeg jpg jpe string(0,<FFD8FF>) +\
				(char(3,0xe0) char(3,0xe1) char(3,0xe2) char(3,0xe3)\
				 char(3,0xe4) char(3,0xe5) char(3,0xe6) char(3,0xe7)\
				 char(3,0xe8) char(3,0xe9) char(3,0xea) char(3,0xeb)\
				 char(3,0xec) char(3,0xed) char(3,0xee) char(3,0xef))
image/pwg-raster		string(0,"RaS2") + string(4,PwgRaster<00>) priority(150)
image/tiff			tiff tif string(0,MM<002A>) string(0,II<2A00>)
image/x-photocd			pcd string(2048,PCD_IPI)
image/x-portable-anymap		pnm
image/x-portable-bitmap		pbm string(0,P1) string(0,P4)
image/x-portable-graymap	pgm string(0,P2) string(0,P5)
image/x-portable-pixmap		ppm string(0,P3) string(0,P6)
image/x-sgi-rgb			rgb sgi bw icon short(0,474)
image/x-xbitmap			xbm
image/x-xpixmap			xpm ascii(0,1024) + string(3,"XPM")
#image/x-xwindowdump		xwd string(4,<00000007>)
image/x-sun-raster		ras string(0,<59a66a95>)

#image/fpx			fpx
image/urf			urf string(0,UNIRAST<00>)
image/x-alias			pix short(8,8) short(8,24)
image/x-bitmap			bmp string(0,BM) + !printable(2,14)
image/x-icon			ico

########################################################################
#
# Text files...
#

application/x-cshell		csh printable(0,1024) + string(0,#!) +\
				(contains(2,80,/csh) contains(2,80,/tcsh))
application/x-perl		pl printable(0,1024) + string(0,#!) +\
				contains(2,80,/perl)
application/x-shell		sh printable(0,1024) + string(0,#!) +\
				(contains(2,80,/bash) contains(2,80,/ksh)\
				 contains(2,80,/sh) contains(2,80,/zsh))
application/x-csource		c cxx cpp cc C h hpp \
				printable(0,1024) + ! css + \
				(string(0,/*) string(0,//)
				 string(0,#include) contains(0,1024,<0a>#include) \
				 string(0,#define) contains(0,1024,<0a>#define))
text/html			html htm printable(0,1024) +\
				(istring(0,"<HTML>") istring(0,"<!DOCTYPE"))
text/plain			txt printable(0,1024)
text/css			css


########################################################################
#
# RSS feed type...
#

application/rss+xml		rss


########################################################################
#
# CUPS-specific types...
#

application/vnd.cups-banner	string(0,'#CUPS-BANNER')
application/vnd.cups-command	string(0,'#CUPS-COMMAND')
application/vnd.cups-pdf
application/vnd.cups-postscript
application/vnd.cups-ppd	ppd string(0,"*PPD-Adobe:")
application/vnd.cups-raster	string(0,"RaSt") string(0,"tSaR") \
				(string(0,"RaS2") + !string(4,PwgRaster<00>)) string(0,"2SaR") \
				string(0,"RaS3") string(0,"3SaR")
application/vnd.cups-raw	(string(0,<1B>E) + !string(2,<1B>%0B)) \
				string(0,<1B>@) \
				(contains(0,128,<1B>%-12345X) + \
				 (contains(0,4096,"LANGUAGE=PCL") \
				  contains(0,4096,"LANGUAGE = PCL")))

########################################################################
#
# Raw print file support...
#
# Comment the following type to prevent raw file printing.
#

application/octet-stream

_______________________________________________
Bug-mailutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-mailutils
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.