Michael Schwendt wrote:
The scenario:
- tarball "make install" installs lots of documentation files in
%_defaultdocdir/%name-%version/
- package %files list uses %doc attributes to place its own
selection of files in our default docdir
=> all doc files from "make install" are lost, because
%doc fills %_defaultdocdir/%name-%version/ from scratch
In all earlier cases where applicable, I could convince the packager
to not use %doc and instead create proper %files entries to include
the files found in %_defaultdocdir/%name-%version/ -- as a bonus,
rpmbuild would fail for any file not included in %files.
For the first time, a packager insists on overwriting/killing the
installed files with his own conflicting %doc attributes.
Conclusion: It works but bears risks. It would silently kill any
additional documentation files built and installed by an upgrade, but not
added by the packager manually via %doc.
This has risk but isn't dangerous to the program's operation. It
increases the complexity inside of the spec file but may help when
additional documentation is added. It changes how the packager controls
what's included in the documentation. It has documentation from one
subpackage being added to the doc directory of the main package... I
think your method has merit but I don't think I want to mandate that it
must be used instead of the other way.
It could also be that the %doc
statements create different subdirs (e.g. ./html/ versus placing the
html files directory in the pkg's docdir root) which might conflict
with paths compiled into an application.
We already say that things can't be marked %doc if the program relies on
them since --nodoc can exclude those files. Maybe we need to clarify
that to mention that things in the docdir are automatically marked %doc?
-Toshio