ho, ho, howdy, --
Sir Santa hasn't been very vocal here for a year or three. But I had
some time this season to throw a few things into the bag. I'm usually
LATE with Christmas gifts, but happy to see that there are still a
couple weeks before the Day of Nativity. So here goes!
There's an appeal for help and some questions at the end of this note.
A few months ago, I posted about some updates to the Chicory collection.
A friend sent a note thanking me. But for what? Chicory itself, as a
GitHub project, is just the build logic. The actual *building* is left
up to the reader. I feel like a college professor writing a textbook:
"Proof of the theory is left to the reader." Never the less, it was nice
to know that someone noticed. It seemed only right that I should make
mention of a few pre-compiled programs available via Chicory.
Now for Chicory itself ... there's a difficult story: it's easy to
understand (or at least easy to *do*) but hard to explain. It's all
about judicious sym-linkery. The *build* then is another thing. The
*delivery* is yet a third thing. In several of Sir Santa's workshops, we
had NFS and one could run the//some///place///some///package//setup
script and all was just rosey red-nosey. But everything is about
diversification these days and cloud. Sir Santa's home workshop is
itself scattered and multi-site. Besides, NFS is terribly chatty.
Copying the pre-compiled Chicory programs to local disk was always a
performance win. But more on this later.
Here are the packages in Sir Santa's bag for 2022:
* python-2.7.18
* rsync-3.2.3
* gnupg-1.4.23
* regina-3.9.5
* the-3.3
* oorexx-4.2.0
* gnucobol-3.1.2
* musl-1.2.3
* openssh-9.1p1
Some of these are old. That's intentional. Python 2 was recently
relegated to history (for various values of "recently"). But what if you
have a body of Python code that can't run on Python 3? GPG 1.x is old
too, but I use it for reference: do I really trust GPG 2 for this
featrue or that function? (Call me paranoid. Yes, I'm paranoid. But am I
paranoid *enough*?) They're all explained in this GitHub markdown blog
post ...
https://github.com/trothr/blog/blob/master/sir.santa/2022/20221122.md
The master list-o-packages for the Chicory project is here ...
https://github.com/trothr/chicory/blob/master/doc/packages.md
The public facing RSYNC repository for most of the above is here ...
rsync://chic.casita.net/opt/
Each of them has been configured and compiled for a half dozen platforms
...
* Linux-i386
* Linux-x86_64
* Linux-s390
* Linux-s390x
* Linux-arm
* FreeBSD-amd64
(with exceptions, like that Musl Libc doesn't run on FreeBSD)
And I have a predisposition to favor static linkage, so don't be
surprised if you don't find certain shared objects. This should *help*
for packages where the main feature is a *program* so that you'll need
less shared libs at runtime.
I hope the bag is relevant to mainframe shops. COBOL in particular might
come in handy. (You can, of course, alternatively get an excellent COBOL
compiler from my former employer, but it ain't free.) The latest OpenSSH
has a nifty new trick whereby it can explicitly transfer files as either
textual or binary. Before that, I struggled to copy binaries to/from
USS, but now, oh joy! (Hex encoding works but is a pain.) Of course, two
flavors of Rexx ought to be interesting in any mainframe shop.
So now I appeal to you, dear members of the list.
If you use any of these, great! If you try and use one or more, and
anything fails, there's no warranty. But I DO want to hear back from
you. Please _let me know_ if something is broken. (Some things were
compiled on newer systems and might choke looking for specific
libraries, etc. Or maybe you wanted a particular behavior that I
switched off during the build.)
Some of these, particularly OpenSSH and GnuPG, were once considered
contraband, not exportable. Those are not available from the RSYNC server.
Am I behind the times? Do we now simply let the stuff fly? Someone give
me a clue. Thanks.
There are a few scripts around Chicory which I use for simplifying "pull
from a repository" installations. I'll say more about those in a
following note.
But Chicory itself is just a package manglement scheme. Using Python as
an example, create the prefix directory /usr/opt. Then install the
Python hierarchy someplace, and simply point to it. The links might look
like ...
*/usr/opt/python -> python-2.7.18
/usr/opt/python-2.7.18 -> /local/opt/python-2.7.18/Linux-s390x
/usr/local/bin/python2 -> /usr/opt/python/bin/python2.7*
You can fetch Python 2.7.18 for Linux-s390x with this command ...
rsync -a -u -x -H -O -S
rsync://chic.casita.net/opt/python-2.7.18/Linux-s390x/.
/local/opt/python-2.7.18/Linux-s390x/.
Works!
Since we're talking about Python as the example, I didn't set-up PIP.
The bootstrap is included if you're interested and need that. My
experience with PIP is limited, butget-pip.py did seem to Chicorify
itself last time I tried it.
You can build any of these for yourself using the included "wrapper"
makefile for the package.
Merry Christmas, y'all!
-- R; <><
----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390