[Bug 323441] Review Request: trousers - The open-source TCG software stack

bugzilla at redhat.com bugzilla at redhat.com
Thu Nov 29 06:46:59 UTC 2007


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 at 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.


-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




More information about the package-review mailing list