IBM Rejiggers RPM Repos for Open Source Software
September 12, 2022 Alex Woodie
IBM has made a change to how it distributes open source software for the IBM i platform. Instead of using a single RPM repository to distribute the software for all release of the IBM i operating system, as has been the case for the past five years, IBM is now delivering software through operating system-specific releases. The change was made to address difficulties that have arisen in the use of a single repo for all releases of IBM i, the company says.
IBM rolled out its new RPM (which stands for Red Hat Package Manager) back in 2018 as a way to simplify delivery of open source software, and bring IBM i open source software delivery in line with industry standards. The RPM packages contain all the software needed to install a particular piece of software on IBM i, and these packages are hosted on repositories hosted on the Internet.
IBM didn’t officially announce the change with its IBM i software distribution mechanism. But it did have open source czar Jesse Gorzinski write a column about the change – which actually occurred way back at the beginning of 2022 – in TechChannel.
According to Gorzinski’s August column, which you can read here, the biggest problem with the single-repo approach was that it could lead to builds of open source software breaking when changes are made to support specific releases of the IBM i OS.
“. . . [A] single repository is an insufficient approach when supporting multiple releases of the OS,” Gorzinski writes. “RPMs are often built with the earliest OS release that is supported. As releases fall out of support, RPMs are rebuilt on a newer version of the OS. For example, the singular repository initially hosted packages built for IBM i 7.2. These packages would run on IBM i 7.2 or newer. If that repository contained IBM i 7.3 builds, it would actively break current 7.2 users.”
IBM no longer offers mainstream support for IBM i 7.1 and IBM i 7.2, although customers can pay for extended support for these operating systems through April 2024 (extended support for 7.1 is only available for certain hardware; see the IBM i release lifecycle document for more info).
However, there are still many companies running these older operating systems, and they may want to download and run some free open source software on their server. Under IBM’s old RPM approach, which updates the repo when older releases of the OS go out of support, users on older OSes could get broken versions of the open source software.
Another problem has to do with the need of some IBM i customers to tweak their configurations in order to get around network and connectivity issues. “. . . IBM i clients have diverse constraints in terms of network topology, DNS setup or internet access,” Gorzinski writes. “As a results [sic], customers have needed to manually modify configuration files to switch protocols, use hardcoded IP addresses or circumvent other connectivity problems.”
Under the new RPM approach, called “ibmi-repos,” IBM i repos will be organized by operating system release level. There will be an IBM i Base repo (“ibmi-base”) that contains RPMs of open source software for the oldest release of the operating system under support. That is currently IBM i 7.3.
There will also be an IBM i Release repo (“ibmi-release”), which will contain the RPMs built specifically for certain IBM i releases. There will be a repo specifically for IBM i 7.2, which will enable those 7.2 users to get RPM packages that work with their operating system. (There won’t be a 7.1 repo, since 7.1 was already out of mainstream support when IBM shifted away from the 5733-OPS licensed product to the RPM and Yum method back in 2018.)
Additionally, the ibmi-repos package will also include “unsecure” versions of the builds. These unsecure versions are sometimes necessary for “circumventing some common connectivity/configuration issues,” Gorzinski says.
According to the IBM i OSS Docs website, the ibm-release repo will automatically point users to the right directory based on the version of the operating system they’re running. The ibmi-base repo “will contain packages which are applicable to all releases supported by that repo (i.e., there’s a minimum release),” the website says. “Over time, this repo will change as older IBM i releases go out of support and a new minimum release base repo is created.”
The new repos are now being pointed to with both RPM control points supported by IBM, including via Yum running on IBM i and through the Access Client Solutions user interface. Starting on August 18, users on IBM i 7.3 and above will see an ibmi-repos update in the ibmi-release repo, IBM says on the IBM i OSS Docs site. “This update changes the ibmi-base repo URL from the old 7.2+ repo to the new 7.3+ repo,” the company says.
Gorzinski, whose official title is business architect of open source technologies, advises IBM i customers to install the ibmi-repos package, which will automatically configure the new repositories. If users don’t install the new ibmi-repos package, they can continue to use the original repository, which will continue to be available and functional.
However, Gorzinski warns that, if users ignore the new ibmi-repos and run old one that’s been sent out to pasture, they run the risk of being “stuck in September 2022.”