nice new tool to show version of feisty meow
[feisty_meow.git] / readme.txt
index f6e49188f2760252e5178bdd294df55d173db3c2..0fda046ea9e12470e4bf01335b68dc7ea8888cd7 100644 (file)
 
-This is the "feisty meow® concerns" codebase top folder.
-
-This software is licensed *per* *file* using either the GNU General Public
-License (GNU GPL) version 3 *or* the Apache Software License version 2.0.
-If a file does not have a license statement attached and it is part of the
-feisty meow® codebase (rather than attributed to some other author), then the
-default license is the GNU GPL.
-
-For information on building the source code, see the file "building.txt".
+==============
 
-####
+Quick Start Guide for the Feisty Meow Codebase
 
-Feisty Meow Concerns Ltd. is a small software shop that concentrates on
-building high quality, portable, open source projects in a variety of
-languages (primarily bash, perl, C++, Java, and python).  Here are some
-highlights of our main products:
+Commands that can be typed in a console or terminal are are prefixed with "#".
+Information that varies by platform is prefixed with a '|' character.
 
-  Bookmark Processing Tools - can take a mozilla bookmark file or arbitrary
-     web page and extract all the links out of it, building a csv database of
-     web links.  Using that database, a variety of output formats are
-     provided, including one that outputs a mozilla bookmark file again.
-     The most useful feature is probably the marks checker that operates on
-     our csv format and that locates all unreachable links in the file and
-     separates them out.
+This documentation assumes that the code is stored in the default location:
+  /opt/feistymeow.org/feistymeow
+If you have stored it elsewhere, then please adapt the commands accordingly.
 
-  CROMP protocol - supports transmission of objects across the network and
-     provides a platform independent method for RPC and other types of
-     communication.
+==============
 
-  Octopus design pattern - the underpinning of the CROMP protocol.  An octopus
-     has an arbitrary number of tentacles (no, not just eight) which are each
-     responsible for consuming a different type of object (or datum).
+How to get the feisty meow codebase
 
-  Fast Templates and Portable Abstractions - the class libraries of Feisty Meow
-     provide numerous different data structures and programming language
-     abstractions (like threads and state machines).  There are also some
-     fairly ancient templates (in use since late 80s) which in many cases
-     perform faster than their STL analogues.
+| On Microsoft Windows, install the Cygwin tools as documented here:
+| /opt/feistymeow.org/feisty_meow/documentation/cygwin_install_list.txt (local file) or
+| https://feistymeow.org/feisty_meow/documentation/cygwin_install_list.txt (web)
 
-  CLAM System - Feisty Meow is the home site of the CLAM makefile system.  The
-     CLAM system is a flexible and extensible method for building C++ and
-     C# files using makefiles.
+Retrieve a clone of the feisty meow codebase:
+# git clone git://feistymeow.org/feisty_meow
 
-####
+==============
 
-Historical note:
-Feisty Meow® Concerns codebase comprises some but probably not all of several projects that
-have come before.  These include the Twain.COM library scripts, the Yeti / YetiCode library
-scripts, the HOOPLE 1 and HOOPLE 2 C++ Codebases, the Fred Huffhines open source LSL scripts,
-the CLAM build system, and a variety of other efforts.
+How to load the feisty meow script environment
 
-####
+Set up the feisty_meow scripts; this is only needed once, when you first get
+the codebase.  It will also regenerate the scripts using the latest installed
+version.
+# bash /opt/feistymeow.org/feisty_meow/scripts/core/reconfigure_feisty_meow.sh
 
-Directories and files of interest here...
+Connect the feisty meow scripts to your login script (in ~/.bashrc).
+Note that this actually modifies ~/.bashrc.  This step is only needed once.
+# bash /opt/feistymeow.org/feisty_meow/scripts/core/connect_feisty_meow.sh
 
-scripts/
-    Stores the script files that we use a lot.  These are usually written in interpreted
-    languages, such as bash and perl.  These were the core of the YetiCode scripts library.
+Load the script environment into the current shell.  This can be done for
+any new shell.  This is idempotent, so it does no harm to run it again.
+Note that you should not need this step if you connected feisty meow to
+~/.bashrc above.
+# source /opt/feistymeow.org/feisty_meow/scripts/core/launch_feisty_meow.sh
 
-nucleus/
-    Source for the basic modules of the Feisty Meow® codebase.  This includes generic
-    data structures, useful utilities, and the like.  This hierarchy, plus octopi and graphiq,
-    formed the major parts of hoople1 and hoople2.
+When the feisty meow script environment loaded, many new aliases and
+functions are available for use.  These come from the $FEISTY_MEOW_SCRIPTS
+folder.
+See the full list of commands at:
+(hmmm: To be completed in 2018)
 
-huffware/
-    The library of LSL scripts for osgrid and Second Life written by the avatar named Fred
-    Huffhines.  Fred Huffhines is a regular contributor and a well-loved member of our
-    development team.  He also happens to be a fictional sock-puppet for adventuring around
-    the grids, but a lot of code has been written in his name.  We are going to release the
-    full corpus of the Huffhines work over time.
+==============
 
-octopi/
-    Octopus design pattern and CROMP protocol reference implementations.  Assorted applications
-    based on these.
+How to install the feisty meow script dependencies
 
-database/
-    Some files considered critical to the operations of Feisty Meow Concerns Ltd.  This includes
-    the database of fortunes used by the Nechung Oracle Program.
+A couple of perl modules are required by some of the scripts (including the
+differ utility and the feisty meow customization system).  They can be
+installed with either apt-get or CPAN.
 
-doc/
-    Assorted documentation files for Feisty Meow and a code-scanning documentation generator
-    based on doxygen.
+Install using apt-get:
+# sudo apt-get install libfile-which-perl libtext-diff-perl
 
-examples/
-    Some files that show how to get work done with Feisty Meow or that show how to do certain
-    tasks in different scripting / programming languages.
+or Install using perl's CPAN:
+# sudo cpan install Text::Diff File::Which
 
-kona/
-    Our burgeoning Java libraries.  Not much to see here yet, but there is some code piling
-    up for these that we will try to release soon.
+==============
 
-osgi/
-    Some example bundles for Java OSGi.  These may eventually fill out with real material,
-    but currently they are just tracking the investigation we did into creating bundles and
-    running using them.
+How to install the build dependencies for feisty meow
 
-production/
-    Machinery for getting releases out the door, including the generated files such as binaries
-    and build system tools.
+These dependencies are used for building the applications, tools and tests
+in the "nucleus", "octopi", "graphiq" and other C++ collections.
 
-graphiq/
-    GUI tools and components, somewhat busted or just absent right now.
+| Ubuntu / Debian:
+| # sudo apt-get install build-essential librtmp-dev libcurl4-gnutls-dev libssl-dev
 
-webby/
-    Source code specifically for web programming and building sites.  Mainly a few javascript
-    files we keep around.
+| Centos / Redhat / Fedora:
+| # sudo yum install gcc gcc-c++ openssl-devel.x86_64 curl-devel
 
-####
+The "kona" collection depends on Java version 8 or better.
 
-Notable Prerequisites for Using the Feisty Meow® codebase:
+| Ubuntu:
+| Set up the java PPA archive as described here:
+| https://launchpad.net/~webupd8team/+archive/ubuntu/java
 
-  Software required to compile under Linux:
-    Gnu C++
-    A few free source libraries (see "building.txt" for more information).
+==============
 
-  Software required to compiler under MS-windows:
-    The free Microsoft compiler should build the codebase but it is untested.
-    The full version of MS Visual Studio 2010 (version 10) is supported.
-      --but this has fallen into disrepair.
-    Gnu C++ should compile the codebase but it is also untested recently.
+How to build the feisty meow codebase
 
-####
+Run the following command to build the feisty meow libraries and applications.
+# produce_feisty_meow
 
-More information is available at the official site http://feistymeow.org
+After the build is complete, the feisty meow applications can be found in
+the folder pointed at by the $FEISTY_MEOW_BINARIES environment variable.
 
-####
+==============
+
+How to clean up the files generated by the build
+
+This command cleans out all the generated files:
+# whack_build clean
+
+==============
+
+What are the feisty meow dependencies?
+
+The feisty meow scripts depend on these scripting languages and tools:
+  bash
+  perl (including Text::Diff and File::Which)
+  python
+  gnumake
+
+The feisty meow libraries and applications depend on these tools:
+  Gnu C++
+  RTMP streams (?still?  not sure.)
+  Curl
+  Open SSL
+
+The feisty meow "kona" library depends on these languages:
+  Java
+
+==============
+
+Bug reporting
+
+Report bugs at the feisty meow trac site:
+https://trac.feistymeow.org/projects/feistymeow/report
+Email fred@gruntose.com for authorization to write up new bug reports.
+
+There is also a github mirror of feisty meow at:
+https://github.com/fredhamster/feisty_meow
+The github repository will accept bug reports without an authorization process.
+
+==============
+
+More information is available at the official site: https://feistymeow.org
+
+==============