Adopt yum/rpm, remove perzl

Issue #46 resolved
Aaron Bartell created an issue

This issue is to discuss the forthcoming yum/rpm approach to installing packages on IBM i.

For those unaware, IBM is changing how they're delivering open source to IBM i. Today the 5733OPS licensed program is used. In the future it will be done via the yum command. This is a huge and positive change for IBM i.

Proposal

  • Remove the /pkg directory and contents as they are no longer needed. Files rpm.rte and wget* will no longer be needed because of yum.

  • Remove /chroot/chroot_gen* files. These should no longer be needed.

  • Rename /chroot/chroot_OPS* files to not have OPS in the name because 5733OPS will no longer be used. (i.e. mv chroot_OPS_NODE.lst chroot_NODE.lst). In theory we could completely remove files like chroot_NODE.lst, but I think it would be good to keep them so we can have a fleshed out yum install that facilitates everything a Node.js install will most likely need (i.e. yum install nodejs python2)

  • Make all changes with the knowledge that ibmichroot will become an rpm that will be installable by yum.

Thoughts?

Comments (5)

  1. Kevin Adler

    I'm not sure I see much point in these scripts with rpm/yum anyway. Possibly the only useful ones would be those that copy files from PASE, but all that can be found with something like:

    rpm -qpl --provides pase-foo.rpm | grep -E '^/'
    

    The rest can just be installed via yum/rpm.

  2. Aaron Bartell reporter

    I more see this repo becoming a way to simplify implementation of chroot. For example, the following needs to be encapsulated in a higher level .lst (or .sh) for a Node.js chroot:

    • chroot_minimal.lst
    • chroot_nls.lst
    • yum install nodejs python2 bash wget ...
    • yum install gcc...
    • obtain sql includes and place in chroot
    • create user dir complete with ~/.ssh setup
    • configuring ssl certs (your git_ssl_setup.sh)
    • chown the newly created chroot

    rpm -qpl --provides pase-foo.rpm | grep -E '^/'

    I like it! Guessing the composition of pase-foo.rpm can replace chroot_minimal.lst? What will be in pase-foo.rpm, just a script that copies from the base of PASE?

  3. Kevin Adler

    Guessing the composition of pase-foo.rpm can replace chroot_minimal.lst? What will be in pase-foo.rpm, just a script that copies from the base of PASE?

    No, the pase-foo.rpm would just contain a list of files that are provided by PASE. The rpm command above merely gets that list of files which you can then feed to some other script which copies them in to the chroot. Then the rpm is installed in to the chroot. The rpm is merely a dummy or placeholder rpm to satisfy dependencies.

  4. Kevin Adler

    As a very simple example:

    rpm -qpl --provides pase-foo.rpm | grep -E '^/' | xargs -I{} cp {} /chroot{}
    

    Definitely more to it than that (at a minimum you'd need to make the parent directories of the files you're copying).

  5. Log in to comment