IRIXCE - Patchset 1 RFC
#1
IRIXCE - Patchset 1 RFC
So while everything is going on with Nekoware II, I'm beginning to draft the first patchsets for IRIXCE, and am starting an RFC so we can discuss further on how the RFC affects you, and what will be changed, as well as options and changes that will help a user running IRIX. 

Here's the current patchset information for IRIXCE (Keep in mind, these upgrades are optional, will work with Nekoware and other projects, and while care will be taken to prevent issues with historical programs, there is no guarantee) as I've drafted it:

Shells
TCSH > Can be directly upgraded to latest tcsh with no issues, and no additional dependencies
KSH88 > Was originally considering mksh, but there's a few issues: Framemaker can break, some scripts do not have compatible syntax and would need to be patched; ksh93 is a possible option. 

Lang
Perl > Upgrade to latest Perl without issues
TCL > Upgrade to latest without issues
Python? (Should we consider including python 2.7?)

Libraries
zlib > 2002 version can be upgraded to latest without issues
openssl > Latest can be installed, but it breaks sgi_apache/webforce (I don't think that anyone uses those anyways?)
X extensions? (Should we compile and add X extensions)

Archiving
tar > Add jpstewart's script/C lang to autoexec various utils
gzip > Can be replaced with pigz easily and symlinked. Same flags, and has parallel capabilities
xz? Both regular xz and pixz (parallel xz) can be installed easily
bzip2? pbzip2 can be installed

Headers
asprintf/vasprintf? (There exists solaris headers that work on IRIX to add these) 
mmap MAP_ANON definition? (Should we add this to ease porting?)
setenv, unsetenv? (BSD-licensed versions I've found should work) 

Desktop Apps
Nedit > Can be upgraded to latest

Some other stuff to note:

I am opposed, in base, to including GPLv2/v3 code if we don't need it. That's why pigz, which has better performance on multi-threaded CPUs like IRIX runs on anyways, was selected. It uses the zlib license. 

Everything else is not bound under that, Nedit is GPLv1.

Purpose: Patch security holes in IRIX, and make it easier to ship some upgraded stuff that keeps close compatibility with the base. 

Thoughts? Comments?

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
03-30-2020, 08:26 PM
#2
RE: IRIXCE - Patchset 1 RFC
By TCL you mean also the Tk? It would be nice (but there can be compatibility issues, the latest TCL changed some parts of language so scripts for Tcl 8.4 may not work - for example this does not work with latest Tcl: https://www.csm.ornl.gov/~kohl/MatView/)

Python 2.7 might be very useful as lot of things require it (I have no idea it the Python 3.x can be ported and it it will not be too slow)

pigz seems to be a good idea (but I have no idea if it will not be slower on an uniprocessor machine like the O2)

openssl update is obviously very good idea (I'm curious who use sgi_apache tehse days)

asprintf/vasprintf and setenv, unsetenv would be nice
(This post was last modified: 03-31-2020, 08:38 AM by jirka.)
jirka
Octane

Trade Count: (0)
Posts: 121
Threads: 4
Joined: May 2018
Location: Ostrava, Czech Republic
Find Reply
03-31-2020, 08:37 AM
#3
RE: IRIXCE - Patchset 1 RFC
(03-31-2020, 08:37 AM)jirka Wrote:  By TCL you mean also the Tk? It would be nice (but there can be compatibility issues, the latest TCL changed some parts of language so scripts for Tcl 8.4 may not work - for example this does not work with latest Tcl: https://www.csm.ornl.gov/~kohl/MatView/)

"sgitcl" eoe preinstalled in IRIX isn't used for anything core AFAIK.

(03-31-2020, 08:37 AM)jirka Wrote:  Python 2.7 might be very useful as lot of things require it (I have no idea it the Python 3.x can be ported and it it will not be too slow)

Python in general is a poor performer on IRIX, but 2.7 is vastly more capable than later versions

(03-31-2020, 08:37 AM)jirka Wrote:  pigz seems to be a good idea (but I have no idea if it will not be slower on an uniprocessor machine like the O2)

openssl update is obviously very good idea (I'm curious who use sgi_apache tehse days)

asprintf/vasprintf and setenv, unsetenv would be nice

I mean, I can make pigz optional, but the overall benefits are still good on uniprocessor machines, AFAIK there's no serious degradation in performance for pigz on a single CPU system.

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
03-31-2020, 07:01 PM
#4
RE: IRIXCE - Patchset 1 RFC
So a little update:

After some research, feedback and testing, I've determined to be relatively conservative for this particular patchset, to gauge further community interest.

Here's what the final patchset includes:

tcsh 6.22
Perl 5.30.2
TCL/tk 8.6.10 (does NOT include sqlite support)
zlib
XZ
openssl 1.1.1g
Bzip2 1.0.8
pigz (replaces gzip)
jpstewart's tar
asprintf/vasprintf
setenv/unsetenv
getopt_long as a compat library
Nedit 5.9a

Python, X extensions, ksh93 etc. I'm not including in this round of patches.

For reference, neither Nekoware II nor any of my personal projects are going to mandate these patchsets. But I think it's important to offer some base upgrades, and I hope to hear back from the community about the project direction. I want this to be useful, and to eventually incorporate security and config fixes to IRIX.

The point of the project, moreorless, is to offer an easy upgrade path to a more advanced, easily worked with, and more secure version of IRIX. But in the process, some things will probably need to be sacrificed, such as the old sgi webservers, some daemons will need to be removed or replaced, and some commercial software probably won't like all of the changes. But compatibility is a stated goal. However, an eventual goal is to start removing and replacing vulnerable subsystems, and one in particular I want to eradicate is the ESP (Embedded Support Partner) which has become useless for us, a security hole, and more. 

Compatibility issues:

You will need to uninstall some subsystems:

openssl, sgitcl_eoe, outbox, sgi_apache

Anything depending on these, including commercial software, freeware etc. will probably not work. This is unavoidable, as OpenSSL has changed a lot, and while I could try to workaround the old sgitcl_eoe, it would be a pain. 

zlib seems to be drop-in fine.

Ideally, you do this to an install you don't care about (such as a fresh one) as I need people to test it and let me know since I can't test for all specific environments. 
Still working on getting this all finalized. Eventually, the goal is to replace several IRIX subsystems entirely instead of just patching over. 

You can check out the specification, including spec/idb files, here: http://gitea.irixce.org/Raion/irixce-patchsets

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
(This post was last modified: 05-31-2020, 07:31 AM by Raion.)
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
05-31-2020, 07:29 AM
#5
RE: IRIXCE - Patchset 1 RFC
(03-30-2020, 08:26 PM)Raion Wrote:  Shells
KSH88 > Was originally considering mksh, but there's a few issues: Framemaker can break, some scripts do not have compatible syntax and would need to be patched; ksh93 is a possible option. 

Have you looked at "pdksh"?

This has often been my solution of choice when I wanted to install ksh on an old machine.
lunatic
insane in the mainframe

Trade Count: (0)
Posts: 150
Threads: 1
Joined: Apr 2019
Find Reply
05-31-2020, 08:41 AM
#6
RE: IRIXCE - Patchset 1 RFC
pdksh does not appear to have compatibility with ksh88's flags. It has the other issue mksh has.

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
05-31-2020, 02:24 PM
#7
RE: IRIXCE - Patchset 1 RFC
FWIW, there's a couple of things still missing from the most recent tar wrapper. It's on my agenda to fix those at the end of this week or early in the next one. I'll post it in the tar thread when it's done.

SGI:  Indigo, Indigo2, Octane, Origin 300
Sun:  SPARCstation 20 (x4), Ultra 2, Blade 2500, T5240
HP:  9000/380, 425e, C8000
Digital: DECstation 5000/125, PWS 600au
jpstewart
Developer

Trade Count: (1)
Posts: 444
Threads: 6
Joined: May 2018
Location: SW Ontario, CA
Find Reply
05-31-2020, 08:28 PM
#8
RE: IRIXCE - Patchset 1 RFC
No worries, this is far from **final** and I've not compiled anything yet. Just really working on getting the manpages run through mandoc, and trying to work, right now, on getting mandoc compiling under MIPSPro. Thankfully, it's not pkgconf (which seems to have C-scope issues)

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
05-31-2020, 08:45 PM
#9
RE: IRIXCE - Patchset 1 RFC
So I've removed libxg in the include folder for now. I've gotten some rather obvious feedback that it is a sloppy port of functions that are onerously declared in header files. I didn't want to do it the "proper" way because it's less drop-in, but since that all got pointed out, I'm just gonna roll with it and have to draw up some documentation on this.

So for now, I've taken it out. I'll refactor it and redeploy.

Edit: That didn't take me but about 4 hours. So It's back!

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
(This post was last modified: 06-05-2020, 07:09 AM by Raion.)
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
06-05-2020, 04:05 AM
#10
RE: IRIXCE - Patchset 1 RFC
Update:

This is held up by breaks in the OpenSSL MIPSPro build. I may have to revert to an older version, but I've considered just leaving it out and adding mbedtls instead.

Patch for Nekoware II was contributed by drmadison: http://gitea.irixce.org/Raion/Xenopatche...nch/master

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,240
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
07-30-2020, 03:31 AM


Forum Jump:


Users browsing this thread: 1 Guest(s)