¿ªÔÆÌåÓý

BREXX installation instructions


 

In order to facilitate more testing and experimentation, I would like to run the test versions of BREXX on my own Sixpack?system. Could we please put together a set of appropriately detailed instructions on how to install BREXX from your working copies. I do not want to wipe out the existing GCCCMS or BREXX Ids or disks on?my system, so I can help with the documentation pieces on how to?set up some new testing IDs to receive downloads from the development directories. My preferences would be that the download be a VMARC image as was discussed previously. Also, I would prefer to have some kind of level set idea, so that the entire code set does not have to be recompiled every time a line of code changes. Maybe a base release of committed stuff, and then a set of testing code (installed on other minidisks), that have code in process. When appropriate, a new base 'release' could be issued. Let's open this topic for discussion, and get a consensus on requirements and design together.?

Bob Bolch?


Martin Taylor
 

Hello Bob,
If you down load my BRXECOMM files the PDF documents a build process which creates the currently shipped version of BREXX as BREXXD if I remember correctly. To load issue a RESLIB DELETE DMSREX and then the RESLIB LOAD BREXXD ( NAME DMSREX. Now I should say the amended version of CMSENTRY called BRXENTRY is using the DOSTRANS GCC version. I will create a NON DOSTRANS version shortly.

Regards,
Martin.


 

For sure.?

As a STARTING place (while we think requirements / and what would work for folks) would you consider trying

1/ The docker image - that obviosley needs Docker Desktop - but it does gives a throwaway way of seeing things running.

2/ Please have a look at?BREXX.zip is a binary distribution. On the tape there is a BREXX MODULE which I believe (never tested it) is completely standalone - linked statically to (i.e. includes) the relevant version GCCLIB. You can just run it. There is also a BREXX TEXT with is the RESLIB version but this will probable be much happier with a later version of GCCLIB than you will have (although again you can just download the latest binary of it).

I would be interested if it works - and also that route will get you a HI enabled version this weekend. In principle I can cut a release anytime - but as I am the only user (and Rene) I don't bother press the release button every weekend - case of CBA!

Appreciate this does not answer the source question, or VMARC. As you know I generate the release artifacts automatically in GITHUB (i use a VM/370 in a docker container as part of the automatic build pipeline) so it is just a question of scripting to meet requirements.

Adrian







 

On Thu, Apr 30, 2020 at 12:49 PM, Martin Taylor wrote:
I will create a NON DOSTRANS version shortly
Hi Martin - are you planning to use the GCCLIB I am maintaining - or have we already forked?

Adrian


 

My test requirements don't match what you have.
I have dozens of personal debugging and analysis tools on my system.
I want buildable?source that is in synch?with the executables, so I can test changes I write,
or add debugging code in temporarily. I don't see how your development environment
supports my requirement.

Also, I require the 'production' version of code:
1. BREXX Synchronized with the appropriate GCC pieces
2. Resident in RESLIB

Thoughts?



On Thu, Apr 30, 2020 at 8:52 AM adriansutherland67 <adrian@...> wrote:
For sure.?

As a STARTING place (while we think requirements / and what would work for folks) would you consider trying

1/ The docker image - that obviosley needs Docker Desktop - but it does gives a throwaway way of seeing things running.

2/ Please have a look at?BREXX.zip is a binary distribution. On the tape there is a BREXX MODULE which I believe (never tested it) is completely standalone - linked statically to (i.e. includes) the relevant version GCCLIB. You can just run it. There is also a BREXX TEXT with is the RESLIB version but this will probable be much happier with a later version of GCCLIB than you will have (although again you can just download the latest binary of it).

I would be interested if it works - and also that route will get you a HI enabled version this weekend. In principle I can cut a release anytime - but as I am the only user (and Rene) I don't bother press the release button every weekend - case of CBA!

Appreciate this does not answer the source question, or VMARC. As you know I generate the release artifacts automatically in GITHUB (i use a VM/370 in a docker container as part of the automatic build pipeline) so it is just a question of scripting to meet requirements.

Adrian







 

Thank you Martin. I do have your BRXCOMM stuff loaded here already for study.
Adrian's version has diverged so far from what is distibuted, that I think it has to
be the version I test with.
Bob


On Thu, Apr 30, 2020 at 8:49 AM Martin Taylor via <mtayloribm360=[email protected]> wrote:
Hello Bob,
If you down load my BRXECOMM files the PDF documents a build process which creates the currently shipped version of BREXX as BREXXD if I remember correctly. To load issue a RESLIB DELETE DMSREX and then the RESLIB LOAD BREXXD ( NAME DMSREX. Now I should say the amended version of CMSENTRY called BRXENTRY is using the DOSTRANS GCC version. I will create a NON DOSTRANS version shortly.

Regards,
Martin.




Martin Taylor
 

Hello Adrian,
I¡¯m was using the base GCCLIB as supplied with sixpack 1.2. I¡¯m going to switch to the NON DOSTRANS variant as supplied in this zip?GCCLIB-without-DOSTRANS-for-VM370-SixPack-1.2.zip held in the FILES Section.

Regards,
Martin.


 

On Thu, Apr 30, 2020 at 01:15 PM, Bob Bolch wrote:
Also, I require the 'production' version of code:
1. BREXX Synchronized with the appropriate GCC pieces
2. Resident in RESLIB
I don't think it is a problem - I already have a task to create a source tape (and/or VMARC - which I didn't feel seemed totally confirmed as needed but I am assuming it is).

Both GCCLIB and BREXX have build scripts - any improvements welcome. I personally hate that the ASSEMBLER stubs to access the RESLIB library are not auto generated as part of the build process. So in theory it is a question of you downloading the source archives - uploading to the host extract extract build build test.?

Contributions would have to use GITHUB or be via me.

A


 

¿ªÔÆÌåÓý

I don¡¯t test on ¡®precious¡¯ environments. So the problem is either to get the new components to your system or your environment to the test system.

What do you think about just mounting some extra dasd to your system and switching the components out in your profile exec, or just define a new user that has everything in place for the components under test?

Alternatively, you could vmarc your toolset and import that onto Adrian¡¯s test system. In both setups, automation is key.

The possibilities that Docker offers are what makes most companies use that approach for test and development. (But they also use git, so I have an inkling about where that discussion would go). We - from the old mainframe days - are used to have environments (test, acceptance, prod) that are longstanding and expensive to build up. The trend is going in the other direction, to test and acceptance environments (even production) that have quick build-up and teardown. This is more flexible, and better for resource usage - you will only have an acceptance environment, for example, if you need to accept something.?

For the moment I would suggest to just grab the DASD from Adrian¡¯s builds.


best regards,

¸é±ð²Ô¨¦.
?

On 30 Apr 2020, at 15:15, Bob Bolch <Bob@...> wrote:

My test requirements don't match what you have.
I have dozens of personal debugging and analysis tools on my system.
I want buildable?source that is in synch?with the executables, so I can test changes I write,
or add debugging code in temporarily. I don't see how your development environment
supports my requirement.

Also, I require the 'production' version of code:
1. BREXX Synchronized with the appropriate GCC pieces
2. Resident in RESLIB

Thoughts?



On Thu, Apr 30, 2020 at 8:52 AM adriansutherland67 <adrian@...> wrote:
For sure.?

As a?STARTING?place (while we think requirements / and what would work for folks) would you consider trying

1/ The docker image - that obviosley needs Docker Desktop - but it does gives a throwaway way of seeing things running.

2/ Please have a look at?BREXX.zip is a binary distribution. On the tape there is a BREXX MODULE which I believe (never tested it) is completely standalone - linked statically to (i.e. includes) the relevant version GCCLIB. You can just run it. There is also a BREXX TEXT with is the RESLIB version but this will probable be much happier with a later version of GCCLIB than you will have (although again you can just download the latest binary of it).

I would be interested if it works - and also that route will get you a HI enabled version this weekend. In principle I can cut a release anytime - but as I am the only user (and Rene) I don't bother press the release button every weekend - case of CBA!

Appreciate this does not answer the source question, or VMARC. As you know I generate the release artifacts automatically in GITHUB (i use a VM/370 in a docker container as part of the automatic build pipeline) so it is just a question of scripting to meet requirements.

Adrian










 

OK. As a next step, could you put together a document with step by step instructions,
on whatever steps I need to follow, to set up?a test environment here? It should be?
at a level similar to the document I provided for you to install and test
the immediate command modifications. We can start with a complete install of
whatever code you consider production quality, and then enhance the procedure
if needed by other requirements.

Bob Bolch

On Thu, Apr 30, 2020 at 9:27 AM adriansutherland67 <adrian@...> wrote:
On Thu, Apr 30, 2020 at 01:15 PM, Bob Bolch wrote:
Also, I require the 'production' version of code:
1. BREXX Synchronized with the appropriate GCC pieces
2. Resident in RESLIB
I don't think it is a problem - I already have a task to create a source tape (and/or VMARC - which I didn't feel seemed totally confirmed as needed but I am assuming it is).

Both GCCLIB and BREXX have build scripts - any improvements welcome. I personally hate that the ASSEMBLER stubs to access the RESLIB library are not auto generated as part of the build process. So in theory it is a question of you downloading the source archives - uploading to the host extract extract build build test.?

Contributions would have to use GITHUB or be via me.

A


 

On Thu, Apr 30, 2020 at 01:18 PM, Martin Taylor wrote:
I¡¯m was using the base GCCLIB as supplied with sixpack 1.2. I¡¯m going to switch to the NON DOSTRANS variant as supplied in this zip?GCCLIB-without-DOSTRANS-for-VM370-SixPack-1.2.zip held in the FILES Section.
My advice is that both these versions are not stable.

Would you consider using this -??which I am proactively maintaining (see develop branch). One issue is that the CMSENTRY is being hollowed out and changed as logic moved to C and actually becomes more sophisticated; also changes to it seem to break separation of concerns principles and all that. I would much rather provide you with the facilities you need that motivated you to change it, if that makes sense. So do feel free to provide requirements for an additional generic GCCLIB capability that you can use. If you do change it be aware that I have a pending change concerning the way GCCLIB finds its resident counterpart and potentially loading it automatically.

For me an even better outcome would be to merge your changes into?as you can see this is also being actively maintained. Otherwise please feel free to port any of our fixes and the tests into your code.

I do apologise for not having time to review what you have already done - I am very excited and I know a lot of people here would love to have EXECIO working! :-)

Adrian


 

On Thu, Apr 30, 2020 at 01:38 PM, Bob Bolch wrote:
OK. As a next step, could you put together a document with step by step instructions,
on whatever steps I need to follow, to set up?a test environment here? It should be?
at a level similar to the document I provided for you to install and test
the immediate command modifications. We can start with a complete install of
whatever code you consider production quality, and then enhance the procedure
if needed by other requirements.
Happy to - yes

?... err we are a long way from production quality however! :-)


 

¿ªÔÆÌåÓý

Adrian,

would it be possible to also load the test suite on the Brexx dasd, so we already have things to test and put stops in and trace etc - and can speak about the same execs while we go about that. What is there now is mostly tests of BIFs but I found a big stash of other standards tests which will shortly be added.

¸é±ð²Ô¨¦.

On 30 Apr 2020, at 15:47, adriansutherland67 <adrian@...> wrote:

On Thu, Apr 30, 2020 at 01:38 PM, Bob Bolch wrote:
OK. As a next step, could you put together a document with step by step instructions,
on whatever steps I need to follow, to set up?a test environment here? It should be?
at a level similar to the document I provided for you to install and test
the immediate command modifications. We can start with a complete install of
whatever code you consider production quality, and then enhance the procedure
if needed by other requirements.
Happy to - yes

?... err we are a long way from production quality however! :-)


 

On Thu, Apr 30, 2020 at 01:53 PM, rvjansen@... wrote:
would it be possible to also load the test suite on the Brexx dasd,
Yes of course - I will sync your branch with develop and stage them through this weekend.

I am looking forward to seeing how many we pass!?

Adrian


Martin Taylor
 

Hello Adrian,
I have had a look at the way GCC has been amended in the CMS-370-GCC especially the CMSENTRY code as this is where part of my hooks have been installed, the rest are within the BREXX source code. I don¡¯t have any plans to move to the GCC being developed but will make the appropriate alteration to move it towards it by switching the NON DOSTRANS GCC code base. As to what would be required this is all set out in the ?BRXECOMM PDF as stored in the files section.

One point of interest is how will the new GCC be handling GLOBAL storage in order to make reentrant code ?
In more modern versions of C this is handled by having WRITABLE STATIC which is static to a thread, for want of a ?better word. Looking at my work with BREXX the major global structures are all addressed within the generated assembler code as VCONS which ties them to all threads ( this does not imply multitasking in VM/370 just that I can¡¯t find a better word to describe this situation). This area is impacted in the consideration of REXX>usercode>REXX.

Regards,
Martin.


 

On Thu, Apr 30, 2020 at 04:40 PM, Martin Taylor wrote:
One point of interest is how will the new GCC be handling GLOBAL storage in order to make reentrant code ?
In more modern versions of C this is handled by having WRITABLE STATIC which is static to a thread, for want of a ?better word.
Yep ... I have started calling this "process global" but maybe this is better called "process static". I avoid "thread" as I fear that I would confuse and freak people out!

The GCCCRAB structure contains the standard library process static variables (ERRNO, stdout, etc.) and some tricks make them look like normal globals for client applications. Bob had the idea of extending this so that I can provide a malloced process static block that clients can store a struct in for private purposes. This might be relevant for you.

Note that I changes brexx to move all its globals in a structure for reentrancy purposes.

Adrian


 

Adrian,

Let me simplify my request, so I can do some testing. How about sending me en email?with
steps like this:

1. Download the source archive for the latest stable version by going to this link:
2. Clink on blah to download file blah
3. The download is in blah format. Upload it to these VM disks:
? ? GCCCMS 19x
? ? GCCCMS? 19y
? ? BREXX 19z
4. Build GCCLIB?by running blah
5. Build BREXX texts by running blah

Do you have to make some software before a procedure like this can be written?
I thought at least the source archive(s) were something you already?had.

Bob



On Thu, Apr 30, 2020 at 9:38 AM Bob Bolch via <Bob=[email protected]> wrote:
OK. As a next step, could you put together a document with step by step instructions,
on whatever steps I need to follow, to set up?a test environment here? It should be?
at a level similar to the document I provided for you to install and test
the immediate command modifications. We can start with a complete install of
whatever code you consider production quality, and then enhance the procedure
if needed by other requirements.

Bob Bolch

On Thu, Apr 30, 2020 at 9:27 AM adriansutherland67 <adrian@...> wrote:
On Thu, Apr 30, 2020 at 01:15 PM, Bob Bolch wrote:
Also, I require the 'production' version of code:
1. BREXX Synchronized with the appropriate GCC pieces
2. Resident in RESLIB
I don't think it is a problem - I already have a task to create a source tape (and/or VMARC - which I didn't feel seemed totally confirmed as needed but I am assuming it is).

Both GCCLIB and BREXX have build scripts - any improvements welcome. I personally hate that the ASSEMBLER stubs to access the RESLIB library are not auto generated as part of the build process. So in theory it is a question of you downloading the source archives - uploading to the host extract extract build build test.?

Contributions would have to use GITHUB or be via me.

A


 

On Fri, May 1, 2020 at 01:01 PM, Bob Bolch wrote:
Let me simplify my request, so I can do some testing.
Yep - the source files are in a zip file - so if you vmarc them up you are in business. If that is good enough I will ping you something today or first thing in the morning.

Adrian


 

Obviosley it won't have the HI stuff yet - I will work on that this weekend and you can have the updates end of the weekend (subject to illnesses / events / etc!)

A


 

Thank you. No hurry on the HI at all.

?

On Fri, May 1, 2020 at 9:13 AM adriansutherland67 <adrian@...> wrote:
Obviosley it won't have the HI stuff yet - I will work on that this weekend and you can have the updates end of the weekend (subject to illnesses / events / etc!)

A