Level Up With PTF Group Level 4!
The IBM development team recently released a new PTF group level for open source PTFs.
The IBM development team recently released a new PTF group level for open source PTFs, so today I wanted to provide a brief overview of what’s included in this update.
For those unaware of the open-source group, you can find the basics on the 5733-OPS page on developerWorks. This group contains important open-source deliveries shipped in the 5733-OPS offering (and important requisites). The group numbers are SF99123, SF99223, and SF99225 for IBM i 7.1, 7.2, and 7.3, respectively.
Currently, there is not an established delivery cadence with these PTF groups. Rather, we refresh the group when a significant amount of function has been delivered since the last group update. Generally speaking, it’s a simple way to stay current on open source. Often, I recommend that one install all available options of 5733-OPS, and then stay current on the open-source group.
Group level 4 contains a number of important deliveries. You may be familiar with some of the technology that we’ve delivered, but some items have less notoriety. So, let’s take a look at the contents of group level 4!
SQLite
First up is SQLite. SQLite is a self-contained, embedded database that has become popular in the open-source realm. It’s really simple to create a database, define procedures and work with data. It’s not designed to be an enterprise-level database, but a simple, easy-to-use solution that works on multiple platforms. As such, many existing open source applications support it. To learn more, visit the SQLite web page at SQLite.org.
Nginx
In a previous post, I discussed the delivery of the open-source nginx web server. This is an exciting addition to your open-source options on IBM i. We now have two very powerful open source HTTP servers for you to choose from! For more information on nginx, visit nginx.com.
Libutil
PTF SI64156 delivers a shared library called libutil. A shared library is a PASE construct that in ways resembles an IBM i service program, exposing a set of API’s for other programs to use. By convention, the name of a library starts with “lib.” So, what’s libutil? Months back, we received an RFE for openpty and forkpty APIs. That is, we got a request to deliver APIs that are not included in the PASE runtime (though they are present on other platforms). In response to this request, we created libutil, to serve as a library to deliver such “missing” APIs. This is significant as it allows more applications to be ported to PASE on IBM i. We also added the getopt_long() API, and more are likely to come.
Interested in seeing the code for (or contributing to) this library? If so, you’d be glad to know that this is an open-source project. Check out the project on bitbucket.
Libraries
The libutil library is not the only new API library shipped in group level 4. There’s an entire list: libjpeg, libxml2, libxslt, libpng, libfreetype, and libpcre. You may have never heard of any of these, so let me explain why they’re important. These libraries are required dependencies for a number of open-source packages. Having them around, therefore, helps more applications run on i. One such example is the lxml package for Python, which provides a robust yet simple interface for processing XML. The lxml package is built on the libxml2 and libxslt libraries and therefore could not have been installed before group 4. That, of course, held up packages that rely on this XML package, like the ebaysdk package that lets Python programs interact with the popular commerce site.
Node.js and Python Improvements
As one might expect, both Node.js and Python got several enhancements to improve performance, stability and memory usage. On top of that, we’ve made enhancements so that these languages can better leverage the other things we’ve delivered. Expect to see continued updates to the Node.js and Python runtimes in the future!
Eclipse Orion Update
Eclipse Orion is a cloud-based IDE with rich integration with git and IBM Bluemix. In group level 4, we’ve updated the version to version 13, which brings interface and stability improvements. It also adds more supported languages, including:
- bash
- coffeescript
- json
- less
- properties
- scss
- sql
- typescript
- COBOL
- CL
- DDS
- UIM
- fixed-form RPG
In a past update, we added the capability for free-form RPG. Now, as you can see, several other i-centric languages are supported as well!
What Else?
That’s not all. Several other packages have been updated to enhance security or to deliver new features. Cloud-init, curl, bash, OpenSSL, and XMLSERVICE all got refreshed. The option descriptions (for instance, what you see in GO LICPGM option 10) have also been updated.
Again, thanks to the group PTF, it is quite simple to keep “current” with open-source activity on i. As we deliver future PTF group updates, I plan to publish information about what’s included. Want to shape the next wave of deliveries? I encourage you to join the IBM RFE Community and submit RFEs to the “Open Source, PASE” category. In the meantime, I hope you explore some of the great stuff we’ve delivered to date!