X-Git-Url: https://feistymeow.org/gitweb/?p=feisty_meow.git;a=blobdiff_plain;f=readme.txt;h=6ea6c7b2613f6be767ce363ffd2c2f61a5551c50;hp=840cb801e1fec2d0c3c5539f8028b52cbc63cf0b;hb=refs%2Fheads%2Fmain;hpb=7b499c3676de8069f7cfa13bca61837e9ee1f970 diff --git a/readme.txt b/readme.txt index 840cb801..6ea6c7b2 100644 --- a/readme.txt +++ b/readme.txt @@ -1,120 +1,165 @@ -This is the "feisty meow® concerns" codebase top folder. +============== -#### +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, python, C++, and Java). Here are some -highlights of our main products: +Commands that can be typed in a console or terminal are prefixed with "$". +(Do not include the dollar sign when copying and pasting commands.) +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. +These steps assume that you have the "git" tool available. - 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. +| 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) -#### +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 -Directories and files of interest here... +Prepare your host by installing the packages needed to bootstrap feisty meow. +If this fails, then you may need the manual installation steps at the end of +this file. +$ bash /opt/feistymeow.org/feisty_meow/scripts/core/prep_feisty_host.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. +Set up the feisty_meow scripts; this is only needed once, when you first get +the codebase. +$ bash /opt/feistymeow.org/feisty_meow/scripts/core/reconfigure_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. +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 -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. +| For the root user, you can pass a flag '--root' to the connect_feisty_meow +| script. This will add an alias for 'feistyme' which loads the feisty meow +| scripts on demand (instead of automatically upon login). -octopi/ - Octopus design pattern and CROMP protocol reference implementations. Assorted applications - based on these. +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 -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. +When the feisty meow script environment loaded, many new aliases and +functions are available for use. These come from the $FEISTY_MEOW_SCRIPTS +folder. +There is a list of feisty meow script commands available at: +https://feistymeow.org/feisty_meow/documentation/feisty_meow_command_reference.txt -doc/ - Assorted documentation files for Feisty Meow and a code-scanning documentation generator - based on doxygen. +============== -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. +How to update the feisty meow codebase to the latest online version -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. +This assumes that a somewhat current version of feisty meow is already +installed and the scripts are loaded (see above section for how to load). -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. +The command below retrieves the latest version of feisty meow codebase +from the online repository and regenerates the scripts. -production/ - Machinery for getting releases out the door, including the generated files such as binaries - and build system tools. +$ rpuffer $FEISTY_MEOW_APEX ; regenerate -graphiq/ - GUI tools and components, somewhat busted or just absent right now. +============== -webby/ - Source code specifically for web programming and building sites. Mainly a few javascript - files we keep around. +How to build the feisty meow codebase -#### +Run the following command to build the feisty meow libraries and applications. +$ produce_feisty_meow -Notable Prerequisites for Using the Feisty Meow® codebase: +After the build is complete, the feisty meow applications can be found in +the folder pointed at by the $FEISTY_MEOW_BINARIES environment variable. - 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 clean up the files generated by the build -#### +This command cleans out all the generated files: +$ whack_build clean -More information is available at the official site http://feistymeow.org +============== + +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 + +============== + +Manual Installation Steps: + +How to install the feisty meow script dependencies... + +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 or CPAN. + +Install using apt (on Ubuntu or Debian-based OS): +$ sudo apt install libfile-which-perl libtext-diff-perl + +Install using yum (on Centos or similar distros): +$ sudo yum install perl-File-Which perl-Text-Diff + +or Install using perl's CPAN: +$ sudo cpan install Text::Diff File::Which + +or on Cygwin (MS-Windows), install with apt-cyg: +$ apt-cyg install perl-File-Which perl-Text-Diff + +How to install the build dependencies for feisty meow... + +These dependencies are used for building the applications, tools and tests +in the "nucleus", "octopi", "graphiq" and other C++ collections. + +| Ubuntu / Debian: +| $ sudo apt install build-essential librtmp-dev libcurl4-gnutls-dev libssl-dev + +| 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. + +| Ubuntu: +| Set up the java PPA archive as described here: +| https://launchpad.net/~webupd8team/+archive/ubuntu/java + +============== -####