Difference between revisions of "Working with the Dev Branch"

From ScarletDME
Jump to navigation Jump to search
(Created page with "==How to obtain a copy of the current development revision== There are two source code "branches" in the git repository for ScarletDME. The first is called "master" and that...")
 
Line 15: Line 15:
 
The ScarletDME/info directory contains the change_log.txt file which outlines what has been worked on recently in the dev branch.
 
The ScarletDME/info directory contains the change_log.txt file which outlines what has been worked on recently in the dev branch.
  
The change log current with the latest snapshot is available here:
+
The notes.txt file in ScarletDME/info contains an ongoing list of things that are being examined, recent discoveries about the code, or general rambling.
http://www.scarletdme.org/downloads/snapshots/change_log.txt
 
  
==How to unpack a snapshot==
 
  
The snapshot is a gzipped tar file. The simplest way to extract the files is to use the following command:
+
==How to build a new copy of ScarletDME from a fresh clone or pull==
  
tar -zxf current-dev-snapshot.tar.gz
+
First, stop any instances of ScarletDME using "qm -stop". Please verify that qm is not running before you attempt to do any of this!
  
 +
Build instructions can be found in ScarletDME/info/setup.txt - please make sure you've got gcc and make installed!
  
You can also decompress the file first and then extract the files:
+
'''Note that if you run "make datafiles" that it could over-write any changes you've made to items in the QMSYS account!'''
  
gunzip current-dev-snapshot.tar.gz
+
You can edit the installed scarlet.conf file to include the parameters shown below.  The primary thing is the ERRLOG directive, which sets the error log size to 100K.
  
tar -xf current-dev-snapshot.tar
 
 
 
The tar will extract the entire OpenQM bundle and gplsrc root into the current working directory.
 
 
'''Example process:'''
 
 
cd /tmp/
 
 
mkdir /tmp/openqm-snapshot/
 
 
cd /tmp/openqm-snapshot/
 
 
wget http://www.scarletdme.org/downloads/snapshots/current-dev-snapshot.tar.gz
 
 
tar -zxf current-dev-snapshot.tar.gz
 
 
==How to build a new copy of OpenQM GPL from a snapshot==
 
 
First, stop any instances of OpenQM using "qm -stop". Please verify that qm is not running before you attempt to do any of this!
 
 
After extracting the snapshot, simply build the distribution like you would the stable release.
 
 
You will need a C compiler and the 'make' system in order to build.
 
 
Run 'make' from the snapshot root to build the binaries. They will be located under ./bin/ after linking.
 
 
Copy everything except the ./gplsrc/ directory to /usr/qmsys/.
 
 
Create a symlink for the qm command
 
<pre>ln -s /usr/qmsys/bin/qm /usr/bin/qm  </pre>
 
 
Create the qmconfig file at /etc/qmconfig.  It should look like this:-
 
 
<pre>
 
<pre>
 
[qm]
 
[qm]
Line 79: Line 45:
 
</pre>
 
</pre>
  
Create an output file for GPL.BP and BP
+
Once you've got everything installed, you can start ScarletDME with:
<pre>
 
mkdir /usr/qmsys/GPL.BP.OUT
 
mkdir /usr/qmsys/BP.OUT
 
</pre>
 
  
Start QM
 
 
<pre>
 
<pre>
qm -start
+
sudo qm -start
 
</pre>
 
</pre>
  
  
 +
Change to the /usr/qmsys/ directory and run 'qm -internal'. You will need to rebuild the GPL.BP sources, including the QMBasic compiler. The steps in this process should be strictly followed to avoid the possibility of breaking your QMBasic compiler and install. This is normally required only when SYSCOM.H is changed, but it is a good general habit to gain if you plan on building snapshots often.
  
Change to the /usr/qmsys/ directory and run 'qm -internal'. You will need to rebuild the GPL.BP sources, including the QMBASIC compiler. The steps in this process should be strictly followed to avoid the possibility of breaking your QMBASIC compiler and install. This is normally required only when SYSCOM.H is changed, but it is a good general habit to gain if you plan on building snapshots often.
+
After logging in using 'qm -internal', under /usr/qmsys/, rebuild the files in the following manner:
  
After logging in using 'qm -internal', under /usr/qmsys/, rebuild the files in the following manner:
+
'''The CSRC VOC entry may already exist, so you may just need to change it.'''
  
create a VOC entry for CSRC, pointing to ./gplsrc
+
Create a VOC entry for CSRC, pointing to ./gplsrc
 
<pre>
 
<pre>
 
:ED VOC CSRC
 
:ED VOC CSRC

Revision as of 20:27, 27 January 2022

How to obtain a copy of the current development revision

There are two source code "branches" in the git repository for ScarletDME. The first is called "master" and that's where the stable version of ScarletDME currently resides. Currently, (as of 01/27/22) the master branch will only build as a 32 bit target. The other branch is called "dev" and is where all the current development work is occurring.

The dev branch may contain untested features and code changes, so please be aware of potential breakage. The developers try their best to submit fairly stable code, but bugs will happen. If you are daring enough to try the latest code, please continue reading.

You can obtain the latest copy of the dev branch by using the below git command:

git clone --branch dev https://github.com/geneb/ScarletDME.git

I would recommend that you create a "scarlet-dev" directory and execute the git above git command from there.

If you find a bug, please check the current list of open issues and open a new issue if what you've found isn't already known. Feel free to add additional information to existing issues if you feel it would help.

The ScarletDME/info directory contains the change_log.txt file which outlines what has been worked on recently in the dev branch.

The notes.txt file in ScarletDME/info contains an ongoing list of things that are being examined, recent discoveries about the code, or general rambling.


How to build a new copy of ScarletDME from a fresh clone or pull

First, stop any instances of ScarletDME using "qm -stop". Please verify that qm is not running before you attempt to do any of this!

Build instructions can be found in ScarletDME/info/setup.txt - please make sure you've got gcc and make installed!

Note that if you run "make datafiles" that it could over-write any changes you've made to items in the QMSYS account!

You can edit the installed scarlet.conf file to include the parameters shown below. The primary thing is the ERRLOG directive, which sets the error log size to 100K.

[qm]
ERRLOG=100
QMSYS=/usr/qmsys
MUSTLOCK=0
NETFILES=0
NUMFILES=80
NUMLOCKS=100
NUMUSERS=40
OBJECTS=0
OBJMEM=0
SORTMEM=1024
SORTWORK=
TERMINFO=
DEBUG=4

Once you've got everything installed, you can start ScarletDME with:

sudo qm -start


Change to the /usr/qmsys/ directory and run 'qm -internal'. You will need to rebuild the GPL.BP sources, including the QMBasic compiler. The steps in this process should be strictly followed to avoid the possibility of breaking your QMBasic compiler and install. This is normally required only when SYSCOM.H is changed, but it is a good general habit to gain if you plan on building snapshots often.

After logging in using 'qm -internal', under /usr/qmsys/, rebuild the files in the following manner:

The CSRC VOC entry may already exist, so you may just need to change it.

Create a VOC entry for CSRC, pointing to ./gplsrc

:ED VOC CSRC
New record
----: I
0001= F
0002= gplsrc
0003=
Bottom at line 2
----: FI
'CSRC' filed in VOC
:

1) BASIC GPL.BP CPROC LOGIN BASIC BCOMP PTERM CATALOG

2) Exit out of QM

3) Log back into OpenQM again using "qm -internal"

4) BASIC GPL.BP *

5) Recompile any applications that need new features or changes provided by the new snapshot. It is best to recompile ALL of your application code if possible.

6) * * * Much Rejoicing * * *

How to upgrade an existing OpenQM GPL install from a snapshot

First, stop any instances of OpenQM using "qm -stop". Please verify that qm is not running before you attempt to do any of this!

If you do not want to include the distributed ACCOUNTS file, then delete the ./ACCOUNTS/ and ./ACCOUNTS.DICT/ directories from the unpacked tar files. If you do not remove these directories and copy everything to /usr/qmsys/ then you will overwrite your existing account configs.

After extracing the snapshot, simply build the distribution like you would the stable release.

You will need a C compiler and the 'make' system in order to build.

Run 'make' from the snapshot root to build the binaries. They will be located under ./bin/ after linking.

Once the binaries are built, copy ./bin/qm to either /usr/bin/ or another user binary directory listed in your environment path.

Copy everything except the ./gplsrc/ directory to /usr/qmsys/.

Run 'qm -start' to start OpenQM.

Change to the /usr/qmsys/ directory and run 'qm -internal'. You will need to rebuild the GPL.BP sources, including the QMBASIC compiler. The steps in this process should be strictly followed to avoid the possibility of breaking your QMBASIC compiler and install. This is normally required only when SYSCOM.H is changed, but it is a good general habit to gain if you plan on building snapshots often.

After logging in using 'qm -internal', under /usr/qmsys/, rebuild the files in the following manner:

1) BASIC GPL.BP CPROC LOGIN BASIC BCOMP PTERM CATALOG

2) Exit out of QM

3) Log back into OpenQM again using "qm -internal"

4) BASIC GPL.BP *

5) Recompile any applications that need new features or changes provided by the new snapshot. It is best to recompile ALL of your application code if possible.

6) If a system VOC upgrade has been included, then you should login to each account and allow it to upgrade the VOCs.

7) * * * Much Rejoicing * * *