Bug 705202 - [RFE] install only minimum set of deps needed for pengine by creating a pacemaker-pengine package
Summary: [RFE] install only minimum set of deps needed for pengine by creating a pacem...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: pacemaker
Version: 14
Hardware: All
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Andrew Beekhof
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 705203
TreeView+ depends on / blocked
 
Reported: 2011-05-16 23:48 UTC by Steven Dake
Modified: 2016-04-26 15:06 UTC (History)
6 users (show)

Fixed In Version: pacemaker-1.1.6-2.fc17
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-09-26 04:48:37 UTC
Type: ---


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.