Bug 705202

Summary: [RFE] install only minimum set of deps needed for pengine by creating a pacemaker-pengine package
Product: [Fedora] Fedora Reporter: Steven Dake <sdake>
Component: pacemakerAssignee: Andrew Beekhof <andrew>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 14CC: andrew, asalkeld, fdinitto, lhh, p, sdake
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: pacemaker-1.1.6-2.fc17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-09-26 04:48:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 705203    

Description Steven Dake 2011-05-16 23:48:05 UTC
Description of problem:
dependencies are incorrect for pulling in pacemaker-libs-devel.

Version-Release number of selected component (if applicable):


How reproducible:
[root@rpmtest cloud-policy-engine]# yum install pacemaker-libs-devel^M
Loaded plugins: langpacks, presto, refresh-packagekit^M
Adding en_US to language list^M
Setting up Install Process^M
Resolving Dependencies^M
--> Running transaction check^M
---> Package pacemaker-libs-devel.x86_64 0:1.1.5-1.fc14 set to be installed^M
--> Processing Dependency: pacemaker-libs = 1.1.5-1.fc14 for package: pacemaker-libs-devel-1.1.5-1.fc14.x86_64^M
--> Processing Dependency: cluster-glue-libs-devel for package: pacemaker-libs-devel-1.1.5-1.fc14.x86_64^M
--> Processing Dependency: corosynclib-devel for package: pacemaker-libs-devel-1.1.5-1.fc14.x86_64^M
--> Processing Dependency: heartbeat-devel for package: pacemaker-libs-devel-1.1.5-1.fc14.x86_64^M
--> Processing Dependency: libtransitioner.so.1()(64bit) for package: pacemaker-libs-devel-1.1.5-1.fc14.x86_64^M
--> Processing Dependency: libcrmcluster.so.1()(64bit) for package: pacemaker-libs-devel-1.1.5-1.fc14.x86_64^M
--> Processing Dependency: libstonithd.so.1()(64bit) for package: pacemaker-libs-devel-1.1.5-1.fc14.x86_64^M
--> Processing Dependency: libpe_status.so.3()(64bit) for package: pacemaker-libs-devel-1.1.5-1.fc14.x86_64^M
--> Processing Dependency: libpe_rules.so.2()(64bit) for package: pacemaker-libs-devel-1.1.5-1.fc14.x86_64^M
--> Processing Dependency: libcib.so.1()(64bit) for package: pacemaker-libs-devel-1.1.5-1.fc14.x86_64^M
--> Processing Dependency: libcrmcommon.so.2()(64bit) for package: pacemaker-libs-devel-1.1.5-1.fc14.x86_64^M
--> Processing Dependency: libpengine.so.3()(64bit) for package: pacemaker-libs-devel-1.1.5-1.fc14.x86_64^M
--> Running transaction check^M
---> Package cluster-glue-libs-devel.x86_64 0:1.0.6-1.fc14 set to be installed^M
--> Processing Dependency: cluster-glue-libs = 1.0.6-1.fc14 for package: cluster-glue-libs-devel-1.0.6-1.fc14.x86_64^M
--> Processing Dependency: libstonith.so.1()(64bit) for package: cluster-glue-libs-devel-1.0.6-1.fc14.x86_64^M
--> Processing Dependency: liblrm.so.2()(64bit) for package: cluster-glue-libs-devel-1.0.6-1.fc14.x86_64^M
--> Processing Dependency: libplumb.so.2()(64bit) for package: cluster-glue-libs-devel-1.0.6-1.fc14.x86_64^M
--> Processing Dependency: libpils.so.2()(64bit) for package: cluster-glue-libs-devel-1.0.6-1.fc14.x86_64^M
--> Processing Dependency: libplumbgpl.so.2()(64bit) for package: cluster-glue-libs-devel-1.0.6-1.fc14.x86_64^M
---> Package corosynclib-devel.x86_64 0:1.3.0-1.fc14 set to be installed^M
--> Processing Dependency: corosynclib = 1.3.0-1.fc14 for package: corosynclib-devel-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libcoroipcs.so.4()(64bit) for package: corosynclib-devel-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libvotequorum.so.4()(64bit) for package: corosynclib-devel-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: liblogsys.so.4()(64bit) for package: corosynclib-devel-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libevs.so.4()(64bit) for package: corosynclib-devel-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libcoroipcc.so.4()(64bit) for package: corosynclib-devel-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libconfdb.so.4()(64bit) for package: corosynclib-devel-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libpload.so.4()(64bit) for package: corosynclib-devel-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libsam.so.4()(64bit) for package: corosynclib-devel-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libcfg.so.4()(64bit) for package: corosynclib-devel-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libcpg.so.4()(64bit) for package: corosynclib-devel-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libtotem_pg.so.4()(64bit) for package: corosynclib-devel-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libquorum.so.4()(64bit) for package: corosynclib-devel-1.3.0-1.fc14.x86_64^M
---> Package heartbeat-devel.x86_64 0:3.0.0-0.7.0daab7da36a8.hg.fc14 set to be installed^M
--> Processing Dependency: heartbeat = 3.0.0-0.7.0daab7da36a8.hg.fc14 for package: heartbeat-devel-3.0.0-0.7.0daab7da36a8.hg.fc14.x86_64^M
--> Processing Dependency: libhbclient.so.1()(64bit) for package: heartbeat-devel-3.0.0-0.7.0daab7da36a8.hg.fc14.x86_64^M
--> Processing Dependency: libccmclient.so.1()(64bit) for package: heartbeat-devel-3.0.0-0.7.0daab7da36a8.hg.fc14.x86_64^M
--> Processing Dependency: libapphb.so.2()(64bit) for package: heartbeat-devel-3.0.0-0.7.0daab7da36a8.hg.fc14.x86_64^M
--> Processing Dependency: libclm.so.1()(64bit) for package: heartbeat-devel-3.0.0-0.7.0daab7da36a8.hg.fc14.x86_64^M
---> Package pacemaker-libs.x86_64 0:1.1.5-1.fc14 set to be installed^M
--> Processing Dependency: pacemaker = 1.1.5-1.fc14 for package: pacemaker-libs-1.1.5-1.fc14.x86_64^M
--> Processing Dependency: libcman.so.3()(64bit) for package: pacemaker-libs-1.1.5-1.fc14.x86_64^M
--> Processing Dependency: libfenced.so.3()(64bit) for package: pacemaker-libs-1.1.5-1.fc14.x86_64^M
--> Running transaction check^M
---> Package cluster-glue-libs.x86_64 0:1.0.6-1.fc14 set to be installed^M
--> Processing Dependency: cluster-glue = 1.0.6-1.fc14 for package: cluster-glue-libs-1.0.6-1.fc14.x86_64^M
---> Package clusterlib.x86_64 0:3.1.1-1.fc14 set to be installed^M
---> Package corosynclib.x86_64 0:1.3.0-1.fc14 set to be installed^M
--> Processing Dependency: corosync = 1.3.0-1.fc14 for package: corosynclib-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: librdmacm.so.1(RDMACM_1.0)(64bit) for package: corosynclib-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libibverbs.so.1(IBVERBS_1.0)(64bit) for package: corosynclib-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libibverbs.so.1(IBVERBS_1.1)(64bit) for package: corosynclib-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: libibverbs.so.1()(64bit) for package: corosynclib-1.3.0-1.fc14.x86_64^M
--> Processing Dependency: librdmacm.so.1()(64bit) for package: corosynclib-1.3.0-1.fc14.x86_64^M
---> Package heartbeat.x86_64 0:3.0.0-0.7.0daab7da36a8.hg.fc14 set to be installed^M
--> Processing Dependency: resource-agents for package: heartbeat-3.0.0-0.7.0daab7da36a8.hg.fc14.x86_64^M
--> Processing Dependency: PyXML for package: heartbeat-3.0.0-0.7.0daab7da36a8.hg.fc14.x86_64^M
---> Package heartbeat-libs.x86_64 0:3.0.0-0.7.0daab7da36a8.hg.fc14 set to be installed^M
---> Package pacemaker.x86_64 0:1.1.5-1.fc14 set to be installed^M
--> Processing Dependency: libesmtp.so.5()(64bit) for package: pacemaker-1.1.5-1.fc14.x86_64^M
--> Running transaction check^M
---> Package PyXML.x86_64 0:0.8.4-25.fc14 set to be installed^M
---> Package cluster-glue.x86_64 0:1.0.6-1.fc14 set to be installed^M
--> Processing Dependency: perl-TimeDate for package: cluster-glue-1.0.6-1.fc14.x86_64^M
--> Processing Dependency: libOpenIPMIutils.so.0()(64bit) for package: cluster-glue-1.0.6-1.fc14.x86_64^M
--> Processing Dependency: libOpenIPMI.so.0()(64bit) for package: cluster-glue-1.0.6-1.fc14.x86_64^M
--> Processing Dependency: libopenhpi.so.2()(64bit) for package: cluster-glue-1.0.6-1.fc14.x86_64^M
--> Processing Dependency: libOpenIPMIposix.so.0()(64bit) for package: cluster-glue-1.0.6-1.fc14.x86_64^M
---> Package corosync.x86_64 0:1.3.0-1.fc14 set to be installed^M
---> Package libesmtp.x86_64 0:1.0.4-14.fc14 set to be installed^M
---> Package libibverbs.x86_64 0:1.1.3-4.fc13 set to be installed^M
--> Processing Dependency: libibverbs-driver for package: libibverbs-1.1.3-4.fc13.x86_64^M
---> Package librdmacm.x86_64 0:1.0.10-3.fc14 set to be installed^M
---> Package resource-agents.x86_64 0:3.1.1-1.fc14 set to be installed^M
--> Processing Dependency: /usr/sbin/ethtool for package: resource-agents-3.1.1-1.fc14.x86_64^M
--> Processing Dependency: libnet.so.1()(64bit) for package: resource-agents-3.1.1-1.fc14.x86_64^M
--> Running transaction check^M
---> Package OpenIPMI-libs.x86_64 0:2.0.18-4.fc14 set to be installed^M
---> Package ethtool.x86_64 2:2.6.38-1.fc14 set to be installed^M
---> Package libmlx4.x86_64 0:1.0.1-6.fc14 set to be installed^M
---> Package libnet.x86_64 0:1.1.5-1.fc14 set to be installed^M
---> Package openhpi-libs.x86_64 0:2.14.1-3.fc14 set to be installed^M
---> Package perl-TimeDate.noarch 1:1.20-2.fc14 set to be installed^M
--> Finished Dependency Resolution^M
Dependencies Resolved^M
^M
================================================================================^M
 Package                 Arch   Version                           Repository^M
                                                                           Size^M
================================================================================^M
Installing:^M
 pacemaker-libs-devel    x86_64 1.1.5-1.fc14                      updates 727 k^M
Installing for dependencies:^M
 OpenIPMI-libs           x86_64 2.0.18-4.fc14                     fedora  477 k^M
 PyXML                   x86_64 0.8.4-25.fc14                     fedora  894 k^M
 cluster-glue            x86_64 1.0.6-1.fc14                      fedora  238 k^M
 cluster-glue-libs       x86_64 1.0.6-1.fc14                      fedora  117 k^M
 cluster-glue-libs-devel x86_64 1.0.6-1.fc14                      fedora  109 k^M
 clusterlib              x86_64 3.1.1-1.fc14                      updates  72 k^M
 corosync                x86_64 1.3.0-1.fc14                      updates 155 k^M
 corosynclib             x86_64 1.3.0-1.fc14                      updates 154 k^M
 corosynclib-devel       x86_64 1.3.0-1.fc14                      updates 175 k^M
 ethtool                 x86_64 2:2.6.38-1.fc14                   updates  84 k^M
 heartbeat               x86_64 3.0.0-0.7.0daab7da36a8.hg.fc14    fedora  172 k^M
 heartbeat-devel         x86_64 3.0.0-0.7.0daab7da36a8.hg.fc14    fedora  151 k^M
 heartbeat-libs          x86_64 3.0.0-0.7.0daab7da36a8.hg.fc14    fedora  265 k^M
 libesmtp                x86_64 1.0.4-14.fc14                     fedora   57 k^M
 libibverbs              x86_64 1.1.3-4.fc13                      fedora   42 k^M
 libmlx4                 x86_64 1.0.1-6.fc14                      fedora   27 k^M
 libnet                  x86_64 1.1.5-1.fc14                      updates  54 k^M
 librdmacm               x86_64 1.0.10-3.fc14                     fedora   23 k^M
 openhpi-libs            x86_64 2.14.1-3.fc14                     fedora  135 k^M
 pacemaker               x86_64 1.1.5-1.fc14                      updates 628 k^M
 pacemaker-libs          x86_64 1.1.5-1.fc14                      updates 284 k^M
 perl-TimeDate           noarch 1:1.20-2.fc14                     fedora   42 k^M
 resource-agents         x86_64 3.1.1-1.fc14                      updates 421 k^M
^M
Transaction Summary^M
================================================================================^M
Install      24 Package(s)^M
^M
Total download size: 5.4 M^M
Installed size: 26 M^M
Is this ok [y/N]: y^M
  
Actual results:
installs 24 dependency packages

Expected results:
Only install minimum dependency packages

Additional info:

Comment 2 Andrew Beekhof 2011-05-17 07:28:23 UTC
This is the minimal list as generated by rpm from the libraries we link against.

Comment 3 Angus Salkeld 2011-05-17 09:03:39 UTC
At the package level this is probably correct I suppose but as we only
use pengine we only link against:

 -lcrmcommon -lpe_status -lpengine -lcib -ltransitioner -lplumb
 glib + libxml2

O well, we have to live with that dep list.

Comment 4 Steven Dake 2011-05-17 14:18:04 UTC
Perhaps we could have a separate package such as pacemaker-pengine, and pacemaker-pengine-devel that doesn't have these other deps?

Ideally we want finer grained deps for devel packages so that we don't end up installing the entire cluster stack (resource-agents to link against pengine for example).

Which part of pengine uses -lplumb angus?  Would be nice to tune this dep out of the system.

Comment 5 Steven Dake 2011-05-17 16:00:16 UTC
changed to rfe per discussion with andrew - reopened to keep track of the bugzilla.

Comment 6 Angus Salkeld 2011-05-17 23:40:32 UTC
(In reply to comment #4)
> Perhaps we could have a separate package such as pacemaker-pengine, and
> pacemaker-pengine-devel that doesn't have these other deps?
> 
> Ideally we want finer grained deps for devel packages so that we don't end up
> installing the entire cluster stack (resource-agents to link against pengine
> for example).
> 
> Which part of pengine uses -lplumb angus?  Would be nice to tune this dep out
> of the system.

This used by the pacemaker libs. When I get to porting pacemaker to libqb this
dep will fall away. - well maybe I think there is a bunch of other utility
code in there (xml helpers etc...)

Comment 7 Fedora Update System 2011-09-26 02:54:08 UTC
cluster-glue-1.0.6-8.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/cluster-glue-1.0.6-8.fc16

Comment 8 Fedora Update System 2011-10-04 21:12:42 UTC
cluster-glue-1.0.6-8.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.