Public bug reported:

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. Setting the +x flag on the file makes no
difference. 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 yields the expected output:
$ file -b mime.pl
a /usr/bin/perl script text executable
$ file -b -i mime.pl
text/x-perl

** Affects: ubuntu
     Importance: Undecided
         Status: New


** Tags: file mime perl

** Description changed:

  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:
+ The same commands on a Debian Lenny 5.0.9 system yields the expected output:
  $ file -b mime.pl
  a /usr/bin/perl script text executable
  $ file -b -i mime.pl
  text/x-perl

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1008102

Title:
  'file -i' reports wrong MIME type for perl scripts

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+bug/1008102/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to