AIX Open Source

 View Only
Expand all | Collapse all

Packaging and dependencies, recent changes?

  • 1.  Packaging and dependencies, recent changes?

    Posted Wed April 28, 2021 02:53 PM
    Most of my customers are not in a position to use YUM and download packages. Today I worked with a customer to install rsync, and we downloaded rsync and popt which should be all that's required to install to a 7.2 system. Instead we got a huge list of dependencies missing, including full internationalization with gettext and new compression algorithms with lz4. Unbelievable.

    Is IBM now going to package RPMs with maximum dependencies and expect everyone to run YUM and blindly download software?

    Can future packaging please focus on minimizing dependencies where possible, and releasing additional packages if major features are added which pull deps (ie: sudo vs sudo_ldap).

    ------------------------------
    Russell Adams
    ------------------------------


  • 2.  RE: Packaging and dependencies, recent changes?

    Posted Thu April 29, 2021 01:52 AM
    Hi Russell,

    In past we were providing packages with lesser dependencies but there were requests from different users to provide newer functionalities.
    The whole purpose of AIX toolbox is to provide an open source ecosystem similar to other platforms.
    I don't think having YUM in local environment should be a problem because that is how any RPM based Linux distro works and people set yum repo locally.
    Same can be done for AIX the yum repo for AIX can be setup on the RPM based Linux distro as well. 
    If we provide with minimal dependencies then we will have to reduce functionalities and then some other users will get affected.

    So the best way to use AIX toolbox is through YUM (similar to Linux distros)

    ------------------------------
    SANKET RATHI
    ------------------------------



  • 3.  RE: Packaging and dependencies, recent changes?

    Posted Thu April 29, 2021 07:02 AM
    I have to disagree with you strongly. Setting up a local YUM repository and a parallel package manager infrastructure requiring Internet access to blindly download tons of packages is not ok, especially when you are trying to get one package.

    AIX systems are the backbone of many companies, and on those major business systems unsupported and open source software is already strongly discouraged, if not banned. Internet access is also typically blocked entirely for security reasons. It was OK sometimes to agree to allow a sysadm to download a single RPM or two manually to upload internally and install. Introducing a full YUM installation as a dependency for trivial packages kills this entirely.

    My updated recommendation for customers must be don't install any RPMs at all.

    Please consider packaging bash and rsync on the AIX Expansion pack in a native BFF like lsof.

    ------------------------------
    Russell Adams
    ------------------------------



  • 4.  RE: Packaging and dependencies, recent changes?

    IBM Champion
    Posted Thu April 29, 2021 09:16 AM
    Please see my other thread about including repodata in the AIX Toolbox distribution media.

    While I would generally prefer fewer dependencies, I'd also rather not reduce the utility for others. We should be able to download the Toolbox ISO and have everything we need to install from that. While it won't reduce the number of installed RPMs, it will remove the need for Internet access on the target and manual dependency calculation.

    Once we have this, setting up a quickie repo is a loopmount, a python -m http.server, and a trivial sed - or just a local loop mount and the sed.[1]

    So my "vote" would be to at least make the media usable in more situations. This would not make everyone happy, but is the lowest entry cost to addressing these problems at all.

    Also, we both know if they included rsync as a bff on the OS install media we'd get an ancient version that mangled extended attributes. :/ (If anything, rsync and maybe zsh would be good fits for that, though.[4])

    [1] They should also put the dang repo definitions in a file in repos.d, not in yum.conf[2]
    [2] Then give me two files with -online and -local repos already defined, with the pointing at /toolbox or something.[3]
    [3] Then everything could be done on the YUM command-line.
    [4] I prefer bash, but Apple moved to zsh as the default shell in macOS for some patent-related reason (maybe GPLv3 for newer bash?). I can't see IBM's lawyers allowing "including" that.

    -- 
    Stephen L. Ulmer
    Enterprise Architect
    Mainline Information Systems
    (m) 352-870-8649










  • 5.  RE: Packaging and dependencies, recent changes?

    Posted Thu April 29, 2021 07:30 AM
    I like the idea of minimizing dependencies even on Linux systems.  I also tend to build a lot of things from source especially if what I need isn't available or has too many unneeded dependencies.  It's easier to build from source with minimal dependencies too.  I rebuilt nano from source on AIX because the one I had downloaded from the toolbox a while back was having scrolling issues. 

    I can see why most packages use gettext to provide internationalization for users who need it.  However, there are lighter alternatives to gettext available out there including stub libraries and a BSD version.  I typically avoid the bloated GNU version of gettext when I can.  Linux distributions often pull in more dependencies than are really needed to run.  Some of the musl based distributions and the distributions/software mentioned at the suckless.org web site do a good job of sticking to minimal dependencies.

    ------------------------------
    Laura Michaels
    ------------------------------



  • 6.  RE: Packaging and dependencies, recent changes?

    Posted Thu April 29, 2021 07:54 AM
    I strongly concur. I had to give up installing a recent rsync package and after days installed a 12 year old binary version we had lying around instead. It is just not acceptable.

    ------------------------------
    Henrik Morsing
    ------------------------------



  • 7.  RE: Packaging and dependencies, recent changes?

    Posted Thu April 29, 2021 09:00 AM
    I have to come to IBM's defense, at least partially.  Most of the dependency problems are not IBM's fault.  It is open source software developer's fault.  I've worked on Linux servers and desktops that when one package is installed, it has up to several dozen dependencies.  My impression is that the developers use some obscure library or software instead of writing 20 lines of code for a function.  It has been and always will be a problem.  Porting a lot of these packages can't be easy, even though IBM used to have a program to help customers do that.

    There are several things I dislike about IBM's handling of "freeware" is that I have programs and scripts that I have to always manipulate my LIBPATH variable to run.  One has to have freeware first, another, last.​  Another is the amount of packages that are severely down-level from current.  It seems that they are only updated when an IBM developer needs it, or a customer finally figures out that they can request it and maybe get it updated.

    In regards to YUM, I concur with all that has been said.  Our servers can't reach the outside and I'm not downloading the world.  At least it keeps us busy and employed.

    ------------------------------
    Bruce
    ------------------------------



  • 8.  RE: Packaging and dependencies, recent changes?

    Posted Thu April 29, 2021 09:28 AM
    > Most of the dependency problems are not IBM's fault. It is open source software developer's fault. I've worked on Linux servers and desktops that when one package is installed, it has up to several dozen dependencies.

    That's not entirely correct. Typically these packages have configuration options for compilation regarding what features to include and exclude. If you've ever done './configure --disable-featureX --enable-featureY' before compiling you'll know what I mean.

    That means IBM is making the choice about what optional dependencies to include at compilation time when they package the software into an RPM. I raised the issue because they used to minimize the dependencies, and now it looks like they throw in everything and the kitchen sink.

    Even in the OSS world, there are common criticisms regarding packaging dependencies.

    ------------------------------
    Russell Adams
    ------------------------------



  • 9.  RE: Packaging and dependencies, recent changes?

    Posted Thu April 29, 2021 09:37 AM
    Over the years we are getting requests to provide different functionality in packages that we provide from toolbox.
    You can search into this discussion forum and you will find  many such request. 
    As the newer functionality is added newer dependencies are getting added. 
    I have worked with many customers who were not sure about YUM implementation in their environment but  once they installed it worked very well for them.
    After that they can install any software at will. Also all these software go into /opt/freeware path and hence do not interfere with base AIX.

    Our recommendation is always use YUM but if someone want really can not do that and want very specific package then they can build by themself.
    That is the reason we also provide srpm on AIX toolbox with all the patches needed to build the package.


    ------------------------------
    SANKET RATHI
    ------------------------------



  • 10.  RE: Packaging and dependencies, recent changes?

    Posted Thu April 29, 2021 10:26 AM
    So if you were compiling for the masses, what features would you include and which would you exclude?  Or would you:

    rsync-3.2.3-1.aix6.1.ppc.rpm
    rsync-feature1-3.2.3-1.aix6.1.ppc.rpm
    rsync-feature2-3.2.3-1.aix6.1.ppc.rpm
    rsync-feature1_2-3.2.3-1.aix6.1.ppc.rpm
    rsync-feature1_2_3-3.2.3-1.aix6.1.ppc.rpm

    ------------------------------
    Bruce
    ------------------------------



  • 11.  RE: Packaging and dependencies, recent changes?

    Posted Thu April 29, 2021 10:34 AM
    I gave an example where they used to ship a sudo_noldap and sudo_ldap RPMs. It's more work on the package maintainer, but it may make sense to make RPMs to minimal dependencies vs maximum ones.

    ------------------------------
    Russell Adams
    ------------------------------



  • 12.  RE: Packaging and dependencies, recent changes?

    Posted Fri April 30, 2021 01:53 PM
    I have to stick up for IBM in this case also. I'm not a fan of the crazy dependency chains of OSS packages either, and I totally understand anyone not wanting to install 20 additional packages to get the one they want. But that's the model the OSS community has developed, and IBM is trying to follow it vs. doing their own customization.

    The Toolbox is offered free and as-is, so for compatibility as well as cost it only makes sense for them to do as little modifications to upstream packages as possible. And while the Toolbox was neglected for a long time, in the past few years Sanket, Sangamesh and team have been very diligent about updating packages and responding to requests for new ones. And they've been trying clean up the long-standing conflicts/issues with rpm.rte and LIBPATH, so I think they deserve a lot of credit.

    If you don't like the OSS model and/or your environment has strict controls about what is installed, that's completely understandable. But in that case the OSS/yum model probably isn't appropriate anyway.

    ------------------------------
    Dwight Jacobi
    ------------------------------



  • 13.  RE: Packaging and dependencies, recent changes?

    Posted Thu April 29, 2021 09:41 AM
    Hi Bruce, 
    We have worked over the years to remove the LIBPATH issue and now I think rarely we have to set LIBPATH for any AIX toolbox package to work.
    If you still have those issues then it could be because something is installed from other source or there is some conflict. 
    Regarding packages update we monitor all important packages regularly and try to update them at least once a year (based on community release).
    We welcome any suggestion to improve AIX toolbox and for better user experience and if there are any specific issues please report on this forum.

    ------------------------------
    SANKET RATHI
    ------------------------------



  • 14.  RE: Packaging and dependencies, recent changes?

    Posted Thu April 29, 2021 10:32 AM
    We​​ only have one server that has more than a few toolbox RPMS installed.  We don't update those (or any) RPMs very often unless there is a severe security issue because of the hassle of getting those RPMs to it, and if it ain't broke...

    ------------------------------
    Bruce
    ------------------------------