--- 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
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
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.
Thanks for the explanation.