Comment 0 for bug 1008102

Revision history for this message
Jeroen DR (voetsjoeba+launchpad) wrote :

This is on a (relatively) vanilla installation of Ubuntu Server 12.04 LTS 32-bit, with no modifications having been made to /etc/mime.types other than any changes that might have been performed by packages installed through synaptic.

$ uname -a
Linux naisu 3.2.0-23-generic-pae #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS"

Observe the following behaviour:

$ cat > mime.pl
#!/usr/bin/perl
use strict;
print "mime";
$ file -b mime.pl
a /usr/bin/perl script, ASCII text executable
$ file -b -i mime.pl

Expected output:
text/x-perl; charset=us-ascii

Actual output:
text/plain; charset=us-ascii

Oddly, when the -i flag is omitted, the 'file' utility correctly identifies the file as a Perl script, but as soon as it's added it seems to revert back to text/plain. I've checked /etc/mime.types (even though it hasn't been modified by me directly), and the perl line is present:

$ cat /etc/mime.types | grep x-perl
text/x-perl pl pm

The same commands on a Debian Lenny 5.0.9 system yield the expected output:
$ file -b mime.pl
a /usr/bin/perl script text executable
$ file -b -i mime.pl
text/x-perl