Documenting custom file roles
   Standard file roles provided by default with PEAR are:
  
   
      php
     
      data
     
      doc
     
      test
     
      script
     
      src
     
      ext
     
  
   If your package chooses to use a role provided by a third party that implements some
   more advanced file installation handling, all you need to do is specify the role in
   the xml for the <file> tag that contains it like so:
  
   
  
   However, if a user does not have the package installed that provides the custom role
   "foo", then the error message on installation will simply say "unknown
   role 'foo'", which is not very helpful.
  
   The <usesrole> tag instead prompts the installer to tell the user "this package
   uses the custom role 'foo', install package pear.example.com/Foo to use"
  
   
<usesrole>
 <role>foo</role>
 <package>Foo</package>
 <channel>pear.example.com</channel>
</usesrole>  | 
  
   Note that static URI packages (channel-less packages) are also supported:
  
   
<usesrole>
 <role>foo</role>
 <uri>http://pear.example.com/Foo-1.2.0</uri>
</usesrole>  |