5 Replies Latest reply on Dec 3, 2009 2:32 PM by Vinnie Lima

    Deploying RPMs and resolving dependencies

      IHAC that is in a secure offline environment. Currently 7.6, going to 8.0 soon. They want to use BL to install new RPMS and have BL resolve dependencies automatically. I know I could setup their RH repo to be hosted via NFS or Apache and mod the yum conf files to point to that for repo location. But this causes huge security hurdles for my customer.


      So what I would like to know, has anyone wrote a script, or re-wrote the patch analysis script, to resolve dependencies and install a new package (ie sendmail)? If so, would you be willing to share that. If not, I am endeavoring to do so myself.


      Thanks in advance.

        • 1. Re: Deploying RPMs and resolving dependencies

          The current VPC already does that. If you use the "list or RPM" type in the script parameters it will actually install a new RPM and pull the deps with it.

          1 of 1 people found this helpful
          • 2. Re: Deploying RPMs and resolving dependencies

            Interesting. I will look into that. Thanks Frank.

            • 3. Re: Deploying RPMs and resolving dependencies
              Vinnie Lima

              Yes but be aware of the small print.


              VPC for Linux will only perform a YUM "install" option for any rpms that need to be updated or installed.  This will cause the job to fail a large percentage of the time.  This is because you can't (for most of the time)  use YUM "install" option to update a package that has dependencies/conflicts. It is meant for new RPM installs.


              The right YUM option to use is "update" or "upgrade" so that conflicts are resolved.  Currently VPC (for 7.6) or BL 8.0 do NOT support this option (hard coded or passed as a parameter).  This makes the Linux patching pretty worthless for our use and most Red Hat Linux users.


              We have a ticket and RFE opened with engineering as a high priority. Also as a history-background info, see this post:  http://communities.bmc.com/communities/message/131609#131609

              • 4. Re: Deploying RPMs and resolving dependencies
                Bill Robinson

                A 'yum install' command should get all dependencies for the package:


                function(){return A.apply(null,[this].concat($A(arguments)))}

                              Is used to install the latest version of a package or  group  of
                              packages while ensuring that all dependencies are satisfied.  If
                              no package matches the given package name(s), they  are  assumed
                              to  be  a  shell glob and any matches are then installed. If the
                              name starts with an @ character the rest of the name is used  as
                              though  passed  to  the  groupinstall  command. If the name is a
                              file, then install works like localinstall. If the name  doesn’t
                              match  a  package,  then  package  "provides"  are searched (Eg.
                              "_sqlitecache.so()(64bit)")    as     are     filelists     (Eg.
                              "/usr/bin/yum").  Also  note  that for filelists, wildcards will
                              match multiple packages.


                but it has to be able to get to a real yum repo and be able to download rpms if it needs to get dependencies.


                The depot objects should be using a rpm -Uiv by default, which seems redundant (upgrade and install), to perform the install.

                1 of 1 people found this helpful
                • 5. Re: Deploying RPMs and resolving dependencies
                  Vinnie Lima

                  YUM install option:  resolve dependencies/fetch rpms/etc  - you are correct.


                  YUM install option: successfully resolve conflicts - that is not true.  It will fail.  You have to use the update option instead if you are trying to install a newer version of a RPM which is already installed and causes the yum analysis to detect it as a conflict. VPC today does not use update/upgrade options.