Bug 474614 - qpidc : Unowned directories
qpidc : Unowned directories
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: qpidc (Show other bugs)
rawhide
All Linux
low Severity low
: ---
: ---
Assigned To: Nuno Santos
Fedora Extras Quality Assurance
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-12-04 11:58 EST by Michael Schwendt
Modified: 2013-09-12 18:10 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-02-21 09:59:06 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Michael Schwendt 2008-12-04 11:58:59 EST
One or more directories are not included within this
package and/or its sub-packages:

=> qpidc-0.3.705289-1.fc10.i386 (rawhide-development-i386)
/etc/qpid

=> qpidc-devel-0.3.705289-1.fc10.i386 (rawhide-development-i386)
/usr/include/qpid

=> qpidc-rdma-0.3.705289-1.fc10.i386 (rawhide-development-i386)
/usr/lib/qpid
/usr/lib/qpid/client
/etc/qpid

=> qpidc-0.3.705289-1.fc10.src.rpm
/usr/lib/qpid
/usr/lib/qpid/daemon

=> qpidd-cluster-0.3.705289-1.fc10.i386 (rawhide-development-i386)
/usr/lib/qpid
/usr/lib/qpid/daemon

=> qpidd-devel-0.3.705289-1.fc10.i386 (rawhide-development-i386)
/usr/include/qpid

=> qpidd-rdma-0.3.705289-1.fc10.i386 (rawhide-development-i386)
/usr/lib/qpid
/usr/lib/qpid/daemon

[...]

Further information:

https://fedoraproject.org/wiki/Packaging/ReviewGuidelines

MUST: A package must own all directories that it creates. If it does not
create a directory that it uses, then it should require a package which
does create that directory.

https://fedoraproject.org/wiki/Packaging/Guidelines#FileAndDirectoryOwnership
https://fedoraproject.org/wiki/Packaging/UnownedDirectories
Comment 1 Jose Pedro Oliveira 2009-01-08 17:35:17 EST
Related bug: #474613 (with a solution for the qpidd-* and rhm directory ownership)
Comment 2 Jose Pedro Oliveira 2009-01-15 19:26:20 EST
Directory ownership problems:

 * the qpidd package owns the directory  %{_libdir}/qpidd  but this directory
   appears to be unused: the qpidd-{xml,acl,...} and the rhm rpms install their
   libraries in the directory %{_libdir}/qpid/daemon 

 * the qpidc-{ssl,rdma} rpms install libraries in the  %{_libdir}/qpid/client 
   directory which no package owns

A possible solution could be:

 * directory %{_libdir}/qpid/daemon --> should be owned by the qpidd rpm

 * directories %{_libdir}/qpid and %{_libdir}/qpid/client --> should be 
   owned by the qpidc rpm

 * directory %{_sysconfdir}/qpid  -->  should be owned by the qpidc rpm

 * directory %{_includedir}/qpid  -->  should be owned by the qpidc-devel rpm

/jpo
Comment 3 Fedora Update System 2009-01-21 11:54:25 EST
qpidc-0.4.734452-2.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/qpidc-0.4.734452-2.fc10
Comment 4 Fedora Update System 2009-01-21 11:54:33 EST
qpidc-0.4.734452-2.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/qpidc-0.4.734452-2.fc9
Comment 5 Jose Pedro Oliveira 2009-01-21 14:18:48 EST
Nuno,

There is a problem with your solution: the qpidc and qpidd rpms are now shipping with the extensions libraries.

qpidc rpm listing
-----------------
--- qpidc-0.4.734452-1.txt      2009-01-21 19:04:52.000000000 +0000
+++ qpidc-0.4.734452-2.txt      2009-01-21 19:04:48.000000000 +0000
@@ -1,8 +1,12 @@
+/etc/qpid
 /etc/qpid/qpidc.conf
 /usr/lib64/libqpidclient.so.0
 /usr/lib64/libqpidclient.so.0.1.0
 /usr/lib64/libqpidcommon.so.0
 /usr/lib64/libqpidcommon.so.0.1.0
+/usr/lib64/qpid/client
+/usr/lib64/qpid/client/rdmaconnector.so
+/usr/lib64/qpid/client/sslconnector.so
 /usr/share/doc/qpidc-0.4.734452
 /usr/share/doc/qpidc-0.4.734452/DESIGN
 /usr/share/doc/qpidc-0.4.734452/INSTALL


Note: same thing happened with the qpidd rpms.

When you add a line like

  %_libdir/qpid/client

in the specfile, it pulls in everything installed under that location (files and subdirectories). As you only want to include the directory you need to prefix them with "%dir ".
Comment 6 Jose Pedro Oliveira 2009-01-21 14:21:53 EST
Examples:

--- qpidc.spec.2        2009-01-21 15:49:47.000000000 +0000
+++ qpidc.spec  2009-01-21 18:57:04.000000000 +0000
@@ -238,8 +238,8 @@
 %_libdir/libqpidcommon.so.0.1.0
 %_libdir/libqpidclient.so.0
 %_libdir/libqpidclient.so.0.1.0
-%_libdir/qpid/client
-%_sysconfdir/qpid
+%dir %_libdir/qpid/client
+%dir %_sysconfdir/qpid
 %config(noreplace) %_sysconfdir/qpid/qpidc.conf
 
 %files devel
@@ -268,7 +268,7 @@
 %config(noreplace) %_sysconfdir/qpidd.conf
 %config(noreplace) %_sysconfdir/sasl2/qpidd.conf
 %{_initrddir}/qpidd
-%_libdir/qpid/daemon
+%dir %_libdir/qpid/daemon
 %attr(755, qpidd, qpidd) %_localstatedir/lib/qpidd
 %attr(755, qpidd, qpidd) %_libdir/qpidd
 %attr(755, qpidd, qpidd) /var/run/qpidd
Comment 7 Nuno Santos 2009-01-21 21:07:47 EST
Yes, you're absolutely right, it was an oversight from my side. 

The most recent builds (qpidc-0.4.734452-4.fc10/.fc9 and qpidc-0.4.734452-3 on rawhide) fix that issue, they should be in updates soon.

Thanks,
Nuno
Comment 8 Jose Pedro Oliveira 2009-01-22 22:16:51 EST
*** Bug 474613 has been marked as a duplicate of this bug. ***
Comment 9 Jose Pedro Oliveira 2009-01-22 22:46:11 EST
Nuno,

We are still missing one directory ownership in qpidc-0.4.734452-4:

Problem:

  $ rpm -qf /usr/lib/qpid
  file /usr/lib/qpid is not owned by any package

Solution:

  The qpidc rpm should own "%_libdir/qpid".  Missing line in the specfile:

            %dir %_libdir/qpid


Other problems (minor) detected:

 * Ownership of /usr/include/qpid/broker

   # rpm -qf /usr/include/qpid/broker
   qpidc-devel-0.4.734452-4.el5
   qpidd-devel-0.4.734452-4.el5

   It should belong only to qpidd-devel.

 * The qpidd rpm owns the directory /usr/lib/qpidd but it appears to be
   unused.  Specfile line:
     %attr(755, qpidd, qpidd) %_libdir/qpidd


Possible patch (only for the first 2 problems):
----------
$ diff -u qpidc.spec.4 qpidc.spec
--- qpidc.spec.4        2009-01-22 00:58:20.000000000 +0000
+++ qpidc.spec  2009-01-23 03:16:58.000000000 +0000
@@ -238,12 +238,14 @@
 %_libdir/libqpidcommon.so.0.1.0
 %_libdir/libqpidclient.so.0
 %_libdir/libqpidclient.so.0.1.0
+%dir %_libdir/qpid
 %dir %_libdir/qpid/client
 %dir %_sysconfdir/qpid
 %config(noreplace) %_sysconfdir/qpid/qpidc.conf
 
 %files devel
 %defattr(-,root,root,-)
+%dir %_includedir/qpid
 %_includedir/qpid/*.h
 %_includedir/qpid/amqp_0_10
 %_includedir/qpid/client
@@ -253,7 +255,6 @@
 %_includedir/qpid/log
 %_includedir/qpid/management
 %_includedir/qpid/agent
-%_includedir/qpid
 %_includedir/qmf
 %_libdir/libqpidcommon.so
 %_libdir/libqpidclient.so
----------
Comment 10 Fedora Update System 2009-01-23 21:33:31 EST
qpidc-0.4.734452-4.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 11 Fedora Update System 2009-01-23 21:41:52 EST
qpidc-0.4.734452-4.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 12 Jose Pedro Oliveira 2009-01-23 22:45:46 EST
Re-opening...

As explained in the 5th comment the qpidc-0.4.734452-4 update didn't fixed all the problems.
Comment 13 Jose Pedro Oliveira 2009-01-29 16:45:34 EST
(In reply to comment #12)
> Re-opening...
> 
> As explained in the 5th comment the qpidc-0.4.734452-4 update didn't fixed all
> the problems.

Oops! It should have been the 9th comment...

Ticket still requires attention.
Comment 14 Jose Pedro Oliveira 2009-01-29 19:16:25 EST
Source:
https://www.redhat.com/archives/fedora-extras-commits/2009-January/msg09770.html

Note:
The ownership of  %_libdir/qpid  by the qpidc rpm is still missing.
Comment 15 Jose Pedro Oliveira 2009-01-30 15:08:02 EST
Everything appears to be fine now:

  * The %_libdir/qpid is owned by the qpidc rpm
  * No dual packaging of the broker include files

Tests:
  $ rpm -qf /usr/include/qpid/broker/Timer.h
  qpidd-devel-0.4.738618-3

  $ rpm -qf /usr/include/qpid/broker/
  qpidd-devel-0.4.738618-3

  $ rpm -qf /usr/include/qpid/
  qpidc-devel-0.4.738618-3

  $ rpm -qf /usr/lib/qpid/
  qpidc-0.4.738618-3.el5
Comment 16 Jose Pedro Oliveira 2009-01-30 15:14:25 EST
Nuno,

You also need to rebuild rhm against the new qpidc as its requirements are hardcoded to the qpidc svn revision number:

  rhm specfile
  ----------
  #
  # Spec file for Red Hat Messaging package rhm.
  #

  %define svnrev 3045
  # built against qpidc svn rev: 
  %define svnrev_qpid 734452
  ...
  Requires: qpidd = 0.4.%{svnrev_qpid}
  ...
  ----------
Comment 17 Nuno Santos 2009-01-30 18:38:01 EST
Yes, I'm aware of that -- I'm waiting for the rpms to be moved into the buildroots so that I can build rhm. I'll then push the whole set as an update to F10 (and F9 too).

Nuno
Comment 18 Jose Pedro Oliveira 2009-02-21 09:59:06 EST
Closing.

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