Difference between revisions of "Working with the Dev Branch"
(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...") |
|||
(2 intermediate revisions by the same user not shown) | |||
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 | + | 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. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
[qm] | [qm] | ||
Line 79: | Line 45: | ||
</pre> | </pre> | ||
− | + | Once you've got everything installed, you can start ScarletDME with: | |
− | |||
− | |||
− | |||
− | |||
− | |||
<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. | ||
− | + | 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 the gplsrc directory under ScarletDME. | |
<pre> | <pre> | ||
:ED VOC CSRC | :ED VOC CSRC | ||
Line 102: | Line 64: | ||
----: I | ----: I | ||
0001= F | 0001= F | ||
− | 0002= gplsrc | + | 0002= /your/path/to/ScarletDME/gplsrc |
0003= | 0003= | ||
Bottom at line 2 | Bottom at line 2 | ||
Line 110: | Line 72: | ||
</pre> | </pre> | ||
+ | If you need to edit the CSRC VOC entry, you can do so like this: | ||
+ | <pre> | ||
+ | :ED VOC CSRC | ||
+ | VOC CSRC | ||
+ | 2 lines | ||
+ | |||
+ | ----: P | ||
+ | 0001= F | ||
+ | 0002= /your/path/to/ScarletDME/gplsrc | ||
+ | Bottom at line 2 | ||
+ | |||
+ | ----: R <path to your gplsrc directory> | ||
+ | 0002: <path to your gplsrc directory> | ||
+ | Bottom at line 2 | ||
+ | |||
+ | ----: FI | ||
+ | |||
+ | 'CSRC' filed in VOC | ||
+ | : | ||
+ | </pre> | ||
1) BASIC GPL.BP CPROC LOGIN BASIC BCOMP PTERM CATALOG | 1) BASIC GPL.BP CPROC LOGIN BASIC BCOMP PTERM CATALOG | ||
− | 2) Exit out of | + | 2) Exit out of ScarletDME (type 'QUIT' at the : prompt) |
− | 3) Log back into | + | 3) Log back into ScarletDME again using "qm -internal" (make sure you're in the /usr/qmsys directory!) |
4) BASIC GPL.BP * | 4) BASIC GPL.BP * | ||
Line 122: | Line 104: | ||
6) * * * Much Rejoicing * * * | 6) * * * Much Rejoicing * * * | ||
− | ==How to upgrade an existing | + | ==How to upgrade an existing ScarletDME install from a current dev build== |
− | First, stop any instances of | + | First, stop any instances of ScarletDME 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.''' | '''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 | + | After cloning into the dev branch, simply build the distribution like you would the stable release. |
You will need a C compiler and the 'make' system in order to build. | You will need a C compiler and the 'make' system in order to build. | ||
Line 134: | Line 116: | ||
Run 'make' from the snapshot root to build the binaries. They will be located under ./bin/ after linking. | Run 'make' from the snapshot root to build the binaries. They will be located under ./bin/ after linking. | ||
− | Once the binaries are built, copy | + | Once the binaries are built, make a backup copy of your existing /etc/scarlet.conf file and then run "make install". |
− | + | '''DO NOT RUN 'MAKE DATAFILES'! THIS CAN DO DAMAGE TO YOUR EXISTING SYSTEM!''' | |
− | |||
− | Run 'qm -start' to start | + | Run 'sudo qm -start' to start ScarletDME. |
− | Change to the /usr/qmsys/ directory and run 'qm -internal'. You will need to rebuild the GPL.BP sources, including the | + | 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: | ||
Line 146: | Line 127: | ||
1) BASIC GPL.BP CPROC LOGIN BASIC BCOMP PTERM CATALOG | 1) BASIC GPL.BP CPROC LOGIN BASIC BCOMP PTERM CATALOG | ||
− | 2) Exit out of | + | 2) Exit out of ScarletDME. |
− | 3) Log back into | + | 3) Log back into ScarletDME again using "qm -internal" |
4) BASIC GPL.BP * | 4) BASIC GPL.BP * |
Latest revision as of 20:42, 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 the gplsrc directory under ScarletDME.
:ED VOC CSRC New record ----: I 0001= F 0002= /your/path/to/ScarletDME/gplsrc 0003= Bottom at line 2 ----: FI 'CSRC' filed in VOC :
If you need to edit the CSRC VOC entry, you can do so like this:
:ED VOC CSRC VOC CSRC 2 lines ----: P 0001= F 0002= /your/path/to/ScarletDME/gplsrc Bottom at line 2 ----: R <path to your gplsrc directory> 0002: <path to your gplsrc directory> Bottom at line 2 ----: FI 'CSRC' filed in VOC :
1) BASIC GPL.BP CPROC LOGIN BASIC BCOMP PTERM CATALOG
2) Exit out of ScarletDME (type 'QUIT' at the : prompt)
3) Log back into ScarletDME again using "qm -internal" (make sure you're in the /usr/qmsys directory!)
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 ScarletDME install from a current dev build
First, stop any instances of ScarletDME 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 cloning into the dev branch, 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, make a backup copy of your existing /etc/scarlet.conf file and then run "make install". DO NOT RUN 'MAKE DATAFILES'! THIS CAN DO DAMAGE TO YOUR EXISTING SYSTEM!
Run 'sudo qm -start' to start ScarletDME.
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 ScarletDME.
3) Log back into ScarletDME 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 * * *