X-Git-Url: https://feistymeow.org/gitweb/?p=feisty_meow.git;a=blobdiff_plain;f=readme.txt;h=0fda046ea9e12470e4bf01335b68dc7ea8888cd7;hp=f6e49188f2760252e5178bdd294df55d173db3c2;hb=refs%2Fheads%2Frelease-2.140.93;hpb=105868b7877a77190dae1ef5ed17d3353b216377 diff --git a/readme.txt b/readme.txt index f6e49188..0fda046e 100644 --- a/readme.txt +++ b/readme.txt @@ -1,128 +1,135 @@ -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 + +==============