Bug 744907

Summary: Unowned directories
Product: [Fedora] Fedora Reporter: Christoph Wickert <cwickert>
Component: systemtapAssignee: Frank Ch. Eigler <fche>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 15CC: dsmith, fche, jistone, mjw, pmuller, scox, wcohen
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-11-21 15:33:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Christoph Wickert 2011-10-10 19:48:56 UTC
Description of problem:
systemtap and it's subpackages have several unowned directories:
%{_libdir}/systemtap
%{_libexecdir}/systemtap
%{_datadirdir}/systemtap
%{_datadirdir}/systemtap/tapset
%{_datadirdir}/systemtap/tapsets
(possibly more if you have all packages installed)

Version-Release number of selected component (if applicable):
systemtap-1.6-1.fc15

Additional info:
https://fedoraproject.org/wiki/Packaging:Guidelines#File_and_Directory_Ownership

Comment 1 Josh Stone 2011-10-10 21:16:54 UTC
(In reply to comment #0)
> Description of problem:
> systemtap and it's subpackages have several unowned directories:
> %{_libdir}/systemtap
> %{_libexecdir}/systemtap

These two we should fix.

> %{_datadir}/systemtap
> %{_datadir}/systemtap/tapset

(fixed, assuming you meant %{_datadir})

These two are owned by the base systemtap package on my machine, so I'm not sure why your search would flag it.

> %{_datadir}/systemtap/tapsets

This one is due to bug #712726.

Comment 2 Christoph Wickert 2011-10-10 21:34:15 UTC
I don(In reply to comment #1)
> These two are owned by the base systemtap package on my machine, so I'm not
> sure why your search would flag it.

Indeed, according to the spec they are owned. I no longer have systemtap installed on my machine and rpm reported the dirs unowned, so there are two options:
- they were unowned in a previous version of the package
- it's possible to install something that puts files there without installing systemtap.

Comment 3 Josh Stone 2011-10-10 21:51:15 UTC
(In reply to comment #2)
> - it's possible to install something that puts files there without installing
> systemtap.

Indeed, repoquery -f '/usr/share/systemtap/tapset/*' shows several other packages that install .stp files for systemtap use.  These are generally thought of as soft dependencies, where they don't want to force a systemtap requirement, but they want that available if you do have systemtap installed.

I suppose these other packages should either split those into subpackages that depend on systemtap, or just share that directory ownership with us.

Comment 4 Josh Stone 2011-10-10 21:53:57 UTC
(In reply to comment #3)
> I suppose these other packages should either split those into subpackages that
> depend on systemtap, or just share that directory ownership with us.

And FWIW, openjdk already demonstrates the latter option:

$ repoquery -f '/usr/share/systemtap' | sort -u
java-1.7.0-openjdk-devel-1:1.7.0.0-0.1.20110803.1.fc16.i686
java-1.7.0-openjdk-devel-1:1.7.0.0-0.1.20110803.1.fc16.x86_64
systemtap-0:1.6-1.fc16.x86_64

$ repoquery -f '/usr/share/systemtap/tapset' | sort -u
java-1.7.0-openjdk-devel-1:1.7.0.0-0.1.20110803.1.fc16.i686
java-1.7.0-openjdk-devel-1:1.7.0.0-0.1.20110803.1.fc16.x86_64
systemtap-0:1.6-1.fc16.x86_64

Comment 5 Christoph Wickert 2011-10-10 22:24:48 UTC
(In reply to comment #3)
> I suppose these other packages should either split those into subpackages that
> depend on systemtap, or just share that directory ownership with us.

I think sharing is fine.

Comment 6 Josh Stone 2011-10-18 22:23:31 UTC
(In reply to comment #1)
> > %{_libdir}/systemtap
> > %{_libexecdir}/systemtap
> 
> These two we should fix.

These are fixed in upstream commit 75ab1a70, and I also pushed them to Fedora's systemtap dist-git.  I don't feel this is worth pushing out a build now, but they'll get fixed next time we do.

(In reply to comment #5)
> (In reply to comment #3)
> > I suppose these other packages should either split those into subpackages that
> > depend on systemtap, or just share that directory ownership with us.
> 
> I think sharing is fine.

So should we dupe this bug for each offender?  For F16, that list is:

$ diff -u <(repoquery -sf '/usr/share/systemtap/tapset' | sort -u) \
          <(repoquery -sf '/usr/share/systemtap/tapset/*' | sort -u)
--- /dev/fd/63	2011-10-18 15:19:03.945306530 -0700
+++ /dev/fd/62	2011-10-18 15:19:03.946306521 -0700
@@ -1,2 +1,9 @@
+glib2-2.30.0-2.fc16.src.rpm
 java-1.7.0-openjdk-1.7.0.0-0.1.20110803.1.fc16.src.rpm
+libvirt-0.9.6-2.fc16.src.rpm
+perl-5.14.1-187.fc16.src.rpm
+perl-5.14.1-188.fc16.src.rpm
+python-2.7.2-4.fc16.src.rpm
+python3-3.2.1-1.fc16.src.rpm
+qemu-0.15.0-5.fc16.src.rpm
 systemtap-1.6-1.fc16.src.rpm

Comment 7 Frank Ch. Eigler 2011-11-21 15:33:58 UTC
upstream commit 75ab1a70 for the systemtap.spec changes from above.