Please do not reply directly to this email. All additional comments should be made in the comments box of this bug report.
Summary: Review Request: trousers - The open-source TCG software stack
https://bugzilla.redhat.com/show_bug.cgi?id=323441
------- Additional Comments From mtasaka@ioa.s.u-tokyo.ac.jp 2007-11-29 01:46 EST ------- Well, while I have not checked your newest srpm:
- From next time please increase the release number of spec file (if version is not changed) every time you modify your spec file. http://fedoraproject.org/wiki/Packaging/FrequentlyMadeMistakes
For directory ownership issue: (In reply to comment #16)
- Check what package owns %{_includedir}/tss/ and %_includedir/trousers directories.
I'm not sure I understand here, can you explain?
Okay, now I explain.
(In reply to comment #18)
I was confused by directory ownership in the past, basically what you need to do is adjust the %files section to include the paths as well as the globbed files. That way the directory is considered owned by the rpm, in addition to the files under it.
I think all you need is something like:
# The files to be used by developers, 'trousers-devel' %files devel %defattr(-, root, root, -) %attr(755, root, root) %{_libdir}/libtspi.so %{_includedir}/tss/ %{_includedir}/tss/*.h %{_includedir}/trousers/ %{_includedir}/trousers/*.h %{_mandir}/man3/Tspi_*
Umm.. this is not correct.
When you write (as currently) ---------------------------------------------------- %files devel %{_includedir}/tss/*.h ---------------------------------------------------- This contains all files named /usr/include/tss/*.h, but does not contain the directory /usr/include/tss itself, which leaves this directory unowned by any package. ---------------------------------------------------- # LANG=C rpm -qf /usr/include/tss file /usr/include/tss is not owned by any package ----------------------------------------------------
For several (non-trivial) reasons a directory created by rpm install must be owned by one package.
A. One of the ways to make /usr/include/tss owned by -devel subpackage is to write ---------------------------------------------------- %files devel %dir %{_includedir}/tss/ %{_includedir}/tss/*.h ---------------------------------------------------- Here "%dir %{_includedir}/tss/" contains the directory /usr/include/tss only.
B. But I usually write as below: ---------------------------------------------------- %files devel %{_includedir}/tss/ ---------------------------------------------------- Note that compared to A, the macro "%dir" is missing. When written as B, this contains the directory %_includedir/tss *and* all files/directories/etc under %_includedir/tss.