IBM i Open Source Updates January 2022
Happy new year! I know it's late February now, but it's still the first post of 2022 here, so let's see what January had to offer. 😁
New Packages
GNU binutils
GNU binutils is a collection of
binary tools, mainly the GNU linker (ld
) and the GNU assembler (as
). Many
changes have gone in to the 2.37 release to improve AIX compatibility in the
linker, however it is not yet recommended for production usage. The assembler
seems to be in much better shape, however, and supports up to Power 10
instructions even back to IBM i 7.3 while the PASE assembler only supports
up to POWER8 on 7.3 and POWER9 on 7.4.
Additional utilities that may be of interest are c++filt
and objdump
.
NOTE: This package is only available for IBM i 7.3 and newer.
Package Updates
service-commander
service-commander went through a few updates this month to 1.0.1, 1.0.2, and finally 1.1.0.
Major improvements include:
- Common IBM i services such as HTTP Admin servers, IBM i Host Servers, etc are now pre-configured out of the box
- Services now support multiple ports and/or multiple jobs
- Python 3.9 is now used instead of 3.6
For more information, refer to the 1.1.0, 1.0.2, and 1.0.1 release notes.
GCC 10
GCC 10 has now been updated to 10.3.0. In addition, numerous improvements have been made:
- Fixed Power 10 support
- Add alias for
-m64
->-maix64
- Fortran support added
- Add comptibility for libgfortran3 from GCC 6
- Use Red Hat-style compiler identification in
gcc --version
- Remove unsupported
-mpe
option - Disable building GCC with
-G
linker flag, which should improve performance - Simplified rpm build spec file
NOTE: This package is only available for IBM i 7.3 and newer.
sbin Changes
On Unix platforms, there's a distinction between bin/ and sbin/ directories,
where bin/ contains programs usable by all users while sbin/ contains programs
that are meant for admins and usually require "root" authority and are usually
only added to the $PATH
if the user is root.
On IBM i, users may have multiple different special authorities such as
*ALLOBJ
, *SECADM
, etc instead of having a special "root" user (though
QSECOFR does exist) so this distinction doesn't make as much sense. In
addition, sbin/ directories are not added to the $PATH
, which can lead to
confusion for users unaware of this split, especially since most packages we
ship do not contain any sbin/ programs.
Because this split behavior is rather foreign and doesn't make as much sense on
a platform with special authorities, we have decided to move away from
packaging anything in /QOpenSys/pkgs/sbin
. All existing packages that have
sbin/ files have moved those files to bin/, with compatibility symlinks in
sbin/ left for now.
The following packages (programs) were affected:
- yum-utils (yum-complete-transaction, yumdb)
- gnupg2 (addgnupghome, applygnupgdefaults)
- logrotate (logrotate)
- man-db (accessdb)
- openssh (sshd)
In addition, we plan to make a change to rpm to change the %{_sbindir}
macro to
be the same as %{_bindir}
. This should ensure the majority of packages going
forward require no special changes.
tn5250
Encrypted 5250 is now supported using TLS/SSL, eg tn5250 ssl:ibmi.example.com
.
Other Updates
- python39-paramiko was updated to 2.7.2
- python39-psycopg2 was updated to 2.9.1
- mariadb was updated to 10.3.32
- nodejs12 was updated to 12.22.9
- nodejs14 was updated to 14.18.1
- nodejs16 was updated to 16.13.2
Closing
Quite a few big changes, especially on 7.3 and up packages Hmm. 🤔