README for hbb


Copyright 1999 Robert Ransbottom


What and Why is hbb.

   Hbb is an extension to the common unix facility to 
   feed scripts to the apropriate interpreter when the 
   script starts with the magic number #!

   The problem with #! is that scripts that are 
   distributed may expect the interpreter to be 
   where it isn't.

   By using the the magic number #!! it is possible to
   create a new method of running scripts.  The system
   looks to a configuration file, /etc/hbb.conf by 
   default, and uses the paths specified there to 
   locate the interpreter.  Here is a sample hbb.conf:

      # hbb.conf -- configure shebangbang program invocation

      root  /local/sbin:/sbin:/usr/sbin:/usr/local/bin:/bin:/usr/bin

      user  /usr/local/bin:/bin:/usr/bin
   
      #end hbb.conf

   Yes, symlinks or links can obviate the need for 
   hbb, but hbb is a generalized solution.  With hbb 
   scripts calling for interpreters that don't exist 
   yet will work, someday when the interpreters are 
   written.



How of hbb.

   For this first implementation have a linux system 
   with CONFIG_BINFMT_MISC built into the kernel.

   Edit the Makefile.  You should know where ``service''
   startup scripts are placed for your system's boot.
   As distributed hbb is setup for System V style init
   as on Debian.  

   As root run make and make install.   The boot 
   script should be symlinked to the appropriate 
   run-level script.  Edit the file /etc/hbb.conf.

   Then you might be the first to distribute a 
   shebangbang script.



License of hbb.

   hbb is released under the "Philanthropic License", for
   details see the file License.  If you find the
   "Philanthropic License" too restrictive, special
   licensing may be arranged.


Warrantee of hbb.

   Hbb is art, as such it is not meant to
   function.

   Hbb is offered without guarantee of fitness
   for any purpose, any use is entirely at the
   user's risk.


When of Hbb.

   Hbb was conceived and created April 1999.


Where of Hbb.

   Hbb is currently homeless.  Mail rir@mediaone.net
   for a copy, info, etc.

   I hope to place hbb on sunsite.unc.edu.


Future of hbb.

   The configuration file might accept $PATH as
   a part of a path.

   Length of some character strings could grow.
   I seem to recall reading that a least one 
   implementation of #! is limited to 128 characters.


Who of hbb.

   Written by:  Rob Ransbottom rir@mediaone.net

   Thanks to:

   	Chip Rosenthal - only publicly placed description 
	of #! semantics.



