improve node initialisation debugging
[spider.git] / UPGRADE.mojo
index 378b943f51dd75cf3322d6bb2bf98470f85a29e0..053666581dd734b5640bd33094cc03d7ff76b3d1 100644 (file)
@@ -11,7 +11,7 @@ the node. I am also using a modern, event driven, web socket "manager" called Mo
 which is considerably more efficient than what went before (but is not necessary for small
 nodes). There are some 200-400 user nodes out there that will definitely see the difference
 in terms of both CPU usage and general responsiveness. Using Mojolicious also brings the
-tantalising possibility of grafting on a web frontend, as it where, to the "side" of a
+tantalising possibility of grafting on a web frontend, as it were, to the "side" of a
 DXSpider node. But serious work on this won't start until we have a stable base to work
 on. Apart from anything else there will, almost certainly, need to be some internal data
 structure reorganisation before a decent web frontend could be constructed.
@@ -42,16 +42,37 @@ Prerequisites:
 Install cpamminus:
 
        sudo apt-get install cpanminus
+or
+    wget -O - https://cpanmin.us | perl - --sudo App::cpanminus
 or
        sudo apt-get install curl
        curl -L https://cpanmin.us | perl - --sudo App::cpanminus
 
 You will need the following CPAN packages:
 
-       sudo cpanm EV Mojolicious Mojo::IOLoop::ForkCall JSON JSON::XS
+       If you are on a Debian based system (Devuan, Ubuntu, Mint etc) that is reasonably new (I use Ubuntu
+       18.04 and Debian 10) then you can simply do:
+
+       sudo apt-get install libev-perl libmojolicious-perl libjson-perl libjson-xs-perl
+
+    or on Redhat based systems you can install the very similarly (but not the same) named
+       packages. I don't the exact names but using anything less than Centos 7 is likely to cause
+       a world of pain. Also I doubt that EV and Mojolicious are packaged for Centos at all.
+
+       If in doubt or it is taking too long to find the packages you should build from CPAN. Note: you may
+       need to install the essential packages to build some of these. At the very least you will need
+       to install 'make' (sudo apt-get install make) or just get everything you are likely to need with
+       sudo apt-get install build-essential.
+
+       sudo cpanm EV Mojolicious JSON JSON::XS
+       
        # just in case it's missing
        sudo apt-get install top
 
+Please make sure that, if you insist on using operating system packages, that your Mojolicious is
+at least version 7.26. Mojo::IOLoop::ForkCall is NOT LONGER IN USE! The current version at time
+of writing is 8.36.
+
 Login as the sysop user.
 
 Edit your /spider/local/DXVars.pm so that the bottom of the file is changed from something like:
@@ -126,6 +147,8 @@ Now run the console program or telnet localhost and login as the sysop user.
 as the sysop user:
 
    sudo service dxspider stop
+   or
+   sudo systemctl stop dxspider
 
 having stopped the node:
 
@@ -146,9 +169,11 @@ Now in another window run:
 and finally:
 
    sudo service dxspider start
+   or
+   sudo service systemctl start dxspider
 
 You should be aware that this code base is now under active development and, if you do a 'git pull',
-what you get may be broken. But, if this does happen, the likelyhood is that I am actively working
+what you get may be broken. But, if this does happen, the likelihood is that I am actively working
 on the codebase and any brokenness may be fixed (maybe in minutes) with another 'git pull'.
 
 I try very hard not to leave it in a broken state...