SAM Kernel and Application


README
Copyright (C) 2010, 2011, 2012, 2015 Joseph Rosevear


What is "SAM Kernel and Application"?

   SAM is a command-line tool that has two parts, a core (or kernel)
   and an application.  The kernel is C-code and Bash scripts and
   functions.  It can be used together with a SAM application to manage
   your own command-line executables.  It does this by controlling the
   shell environment.  I have created both the SAM kernel and a handy,
   example SAM application.  SAM runs on Slackware Linux.

   Both the SAM Kernel and the Application are distributed under the GNU
   General Public License--see the accompanying "COPYING" file for more
   details.

   The Application is also known as SAM-GLS or "An Application of SAM
   for GNU/Linux Slackware.  The Kernel and Application together are
   called "SAM".

What does the name "SAM" mean?

   SAM stands for for "simple ASCII menus."  It has a history, however. 
   It was inspired by a system I worked with as an engineer for General
   Dynamics, Space Systems Division.  That system was called the
   "Structural Analysis Menu" or something like that.  It was a
   menu-based collection of programs used for analysis of aerospace
   structures.  Although none of the code in this distribution is from
   the General Dynamics' SAM, they do both display text (or ASCII)
   menus as a way of managing Code and so share the same spirit.

On what hardware does SAM run?

   The SAM Kernel in this distribution contains a few small C
   executables that have been compiled to run on a PC.  If you would
   like to compile these again, then I expect you could run SAM on any
   hardware.  (See software requirements, below.)

   I don't think there is any other code in this distribution that
   needs compiling or would, for any reason, affect what hardware could
   be used.

What are the software requirements?

   SAM actually works in Ubuntu if you change /bin/sh to point to
   /bin/bash and provide a real root account.  I need to document this
   more throughly, so for now let's just say that Slackware is
   required.  I have used SAM in Slackware 7.1, 10.0, 10.2, 12.0, 13.0,
   13.1 and 13.37.  It is quite likely that it will work OK in other
   versions.

Documentation

   There are several sources of documentation provided.  Besides this
   file (that you are reading) files CONTENTS and GUIDE in the main
   package (sam-main-[date string]) of this release will get you
   started. File GUIDE will refer you to other sources.

Compiling SAM

   As I mentioned above, The SAM Kernel uses a few small C executables
   that have already been compiled for you (for use on a PC).  If you
   would like to compile them again, for any reason, please do so.  The
   source code has been provided.

Installing SAM

   First you need to download the iso file, then burn it to a CD-ROM. On
   the CD-ROM you will find five Slackware packages one of which is called
   sam-main-[date string].tgz. Use the Slackware installpkg tool to
   install it. It should make dir /opt/SAM_pkgs/main and link
   /opt/SAM->/opt/SAM_pkgs/main.

   After installing the package see /opt/SAM/GUIDE and /opt/SAM/tips/README
   for additional documentation.

   You will need to install at least one more package (sam-kernel-[date
   string].tgz) before you can use SAM.  You will also need to set and
   export at least these two variables: sam_set_version and
   sam_temp_base.  A quick start is this:

      export sam_set_version=2
      export sam_temp_base=/tmp

   The first of these assumes Slackware 13.37, although other versions
   10.0 or after may work.  The second will cause SAM to make dirs
   temp[n] in /tmp.

   Now you can run SAM.  See "Running SAM" below.

   A better setup involves using these files and directories from
   /opt/SAM/tips

      profile            (file)
      bashrc             (file)
      begin              (file)
      breekit            (file)
      sam_env            (file)
      config             (directory)
      sam-start          (directory)
      rc.SAM             (file)

   and files bree and bstart from /opt/SAM.  Please see
   /opt/SAM/tips/README for the details.

Running SAM

   /opt/SAM/bstart will run SAM, but normally you should use ~/bstart. 
   There are also other ways to run SAM.  See /opt/SAM/GUIDE and
   /opt/SAM/GUIDE-K for how to run SAM.

Maintainers

   I (Joseph Rosevear) maintain the software in this release.  Find my
   contact information in file "/opt/SAM/data/author.dat".

   Or you can read my contact information by running SAM and entering

      about; author; bye
