Bug 233893

Summary: openvrml-devel: unowned directories
Product: [Fedora] Fedora Reporter: Michael Schwendt <bugs.michael>
Component: openvrmlAssignee: Braden McDaniel <braden>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideKeywords: EasyFix
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 0.16.3-4.fc6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-03-27 16:13:21 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:

Description Michael Schwendt 2007-03-25 17:03:46 UTC
--- openvrml.spec.orig  2007-03-25 18:10:07.000000000 +0200
+++ openvrml.spec       2007-03-25 19:03:35.000000000 +0200
@@ -106,8 +106,10 @@
 %files devel
 %doc AUTHORS COPYING.LESSER ChangeLog NEWS README THANKS
 %doc doc/manual
+%dir %{_includedir}/%{name}
 %{_includedir}/%{name}/openvrml-common.h
 %{_includedir}/%{name}/openvrml-config.h
+%dir %{_includedir}/%{name}/openvrml
 %{_includedir}/%{name}/openvrml/*.h
 %{_libdir}/libopenvrml.so
 %{_libdir}/pkgconfig/openvrml.pc

Comment 1 Braden McDaniel 2007-03-25 19:18:51 UTC
Okay; I didn't even know about %dir. I was under the impression that rpm would
clean up a directory automatically once it didn't have any more files in it.

Additionally, I suppose the gl-devel subpackage needs

%dir %{_includedir}/%{name}/openvrml/gl


Comment 2 Michael Schwendt 2007-03-25 20:26:50 UTC
RPM does that only if the directory is included in a package.

Query your package in verbose list-mode to display all the files
that are included. For example: rpm -qplv somepackage.i386.rpm
Watch out for the lines in the list that start with 'd'. Just like
with "ls", those are the directories. Every directory that belongs
to your package's files should be included (under consideration of
sub-package dependencies).

[...]

> Additionally, I suppose the gl-devel subpackage needs
> 
> %dir %{_includedir}/%{name}/openvrml/gl

No. The package includes

  %{_includedir}/%{name}/openvrml/gl

already, which means to include the directory "gl" and the entire tree
below it.

[...]

There are alternative ways on how to include directories.

Method one:

  %files
  ...
  /usr/lib/foo/

This includes the specified directory "foo" and everything in it
recursively, provided that "foo" is a directory. /usr and /usr/lib,
however, don't belong into the package. The '/' at the end is a
convenient way to make it clear that "foo/" is supposed to be a
directory and not a single file.

Method two:

  %files
  ...
  %dir /usr/lib/foo
  /usr/lib/foo/*

This includes the same files than method one, except it is more explicit.
If "foo" contains sub-directories, these are included recursively due
to the wildcard '*' and just as with method one.

HTH.


Comment 3 Braden McDaniel 2007-03-27 16:13:21 UTC
Thanks for the explanation.