Merge branch 'main' of feistymeow.org:feisty_meow
[feisty_meow.git] / readme.txt
1
2 ==============
3
4 Quick Start Guide for the Feisty Meow Codebase
5
6 Commands that can be typed in a console or terminal are prefixed with "$".
7 (Do not include the dollar sign when copying and pasting commands.)
8 Information that varies by platform is prefixed with a '|' character.
9
10 This documentation assumes that the code is stored in the default location:
11   /opt/feistymeow.org/feistymeow
12 If you have stored it elsewhere, then please adapt the commands accordingly.
13
14 ==============
15
16 How to get the feisty meow codebase
17
18 These steps assume that you have the "git" tool available.
19
20 | On Microsoft Windows, install the Cygwin tools as documented here:
21 | /opt/feistymeow.org/feisty_meow/documentation/cygwin_install_list.txt (local file) or
22 | https://feistymeow.org/feisty_meow/documentation/cygwin_install_list.txt (web)
23
24 Retrieve a clone of the feisty meow codebase:
25 $ git clone git://feistymeow.org/feisty_meow
26
27 ==============
28
29 How to load the feisty meow script environment
30
31 Prepare your host by installing the packages needed to bootstrap feisty meow.
32 If this fails, then you may need the manual installation steps at the end of
33 this file.
34 $ bash /opt/feistymeow.org/feisty_meow/scripts/core/prep_feisty_host.sh
35
36 Set up the feisty_meow scripts; this is only needed once, when you first get
37 the codebase.
38 $ bash /opt/feistymeow.org/feisty_meow/scripts/core/reconfigure_feisty_meow.sh
39
40 Connect the feisty meow scripts to your login script (in ~/.bashrc).
41 Note that this actually modifies ~/.bashrc.  This step is only needed once.
42 $ bash /opt/feistymeow.org/feisty_meow/scripts/core/connect_feisty_meow.sh
43
44 | For the root user, you can pass a flag '--root' to the connect_feisty_meow
45 | script.  This will add an alias for 'feistyme' which loads the feisty meow
46 | scripts on demand (instead of automatically upon login).
47
48 Load the script environment into the current shell.  This can be done for
49 any new shell.  This is idempotent, so it does no harm to run it again.
50 Note that you should not need this step if you connected feisty meow to
51 ~/.bashrc above.
52 $ source /opt/feistymeow.org/feisty_meow/scripts/core/launch_feisty_meow.sh
53
54 When the feisty meow script environment loaded, many new aliases and
55 functions are available for use.  These come from the $FEISTY_MEOW_SCRIPTS
56 folder.
57 There is a list of feisty meow script commands available at:
58 https://feistymeow.org/feisty_meow/documentation/feisty_meow_command_reference.txt
59
60 ==============
61
62 How to update the feisty meow codebase to the latest online version
63
64 This assumes that a somewhat current version of feisty meow is already
65 installed and the scripts are loaded (see above section for how to load).
66
67 The command below retrieves the latest version of feisty meow codebase
68 from the online repository and regenerates the scripts.
69
70 $ rpuffer $FEISTY_MEOW_APEX ; regenerate
71
72 ==============
73
74 How to build the feisty meow codebase
75
76 Run the following command to build the feisty meow libraries and applications.
77 $ produce_feisty_meow
78
79 After the build is complete, the feisty meow applications can be found in
80 the folder pointed at by the $FEISTY_MEOW_BINARIES environment variable.
81
82 ==============
83
84 How to clean up the files generated by the build
85
86 This command cleans out all the generated files:
87 $ whack_build clean
88
89 ==============
90
91 What are the feisty meow dependencies?
92
93 The feisty meow scripts depend on these scripting languages and tools:
94   bash
95   perl (including Text::Diff and File::Which)
96   python
97   gnumake
98
99 The feisty meow libraries and applications depend on these tools:
100   Gnu C++
101   RTMP streams (?still?  not sure.)
102   Curl
103   Open SSL
104
105 The feisty meow "kona" library depends on these languages:
106   Java
107
108 ==============
109
110 Bug reporting
111
112 Report bugs at the feisty meow trac site:
113 https://trac.feistymeow.org/projects/feistymeow/report
114 Email fred@gruntose.com for authorization to write up new bug reports.
115
116 There is also a github mirror of feisty meow at:
117 https://github.com/fredhamster/feisty_meow
118 The github repository will accept bug reports without an authorization process.
119
120 ==============
121
122 More information is available at the official site: https://feistymeow.org
123
124 ==============
125
126 Manual Installation Steps:
127
128 How to install the feisty meow script dependencies...
129
130 A couple of perl modules are required by some of the scripts (including the
131 differ utility and the feisty meow customization system).  They can be
132 installed with either apt or CPAN.
133
134 Install using apt (on Ubuntu or Debian-based OS):
135 $ sudo apt install libfile-which-perl libtext-diff-perl
136
137 Install using yum (on Centos or similar distros):
138 $ sudo yum install perl-File-Which perl-Text-Diff
139
140 or Install using perl's CPAN:
141 $ sudo cpan install Text::Diff File::Which
142
143 or on Cygwin (MS-Windows), install with apt-cyg:
144 $ apt-cyg install perl-File-Which perl-Text-Diff
145
146 How to install the build dependencies for feisty meow...
147
148 These dependencies are used for building the applications, tools and tests
149 in the "nucleus", "octopi", "graphiq" and other C++ collections.
150
151 | Ubuntu / Debian:
152 | $ sudo apt install build-essential librtmp-dev libcurl4-gnutls-dev libssl-dev
153
154 | Centos / Redhat / Fedora:
155 | $ sudo yum install gcc gcc-c++ openssl-devel.x86_64 curl-devel
156
157 The "kona" collection depends on Java version 8 or better.
158
159 | Ubuntu:
160 | Set up the java PPA archive as described here:
161 | https://launchpad.net/~webupd8team/+archive/ubuntu/java
162
163 ==============
164
165