
On Wed, 13 Nov 2013, Daniel P. Berrange wrote:
On Wed, Nov 13, 2013 at 12:02:08PM +1100, Michael Chapman wrote:
RHEL's rpmbuild wipes the docdir for a (sub-)package if any %doc directives are present, prior to copying in the marked documentation. This means we can't prepopulate this directory with the HTML documentation during the %install phase.
Instead, move the HTML documentation to a temporary directory during %install and mark the contents of this temporary directory with %doc.
Huh, AFAICT, this has worked fine for years. What actual problem are you seeing without this patch ? Do you have the 'redhat-rpm-config' package installed ?
Yes, I do. Here's the relevant bits from my Mock log: Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.ZgFSCX + umask 022 + cd /builddir/build/BUILD + cd libvirt-1.1.4 + DOCDIR=/builddir/build/BUILDROOT/libvirt-1.1.4-1.el6.x86_64/usr/share/doc/libvirt-docs-1.1.4 + export DOCDIR + rm -rf /builddir/build/BUILDROOT/libvirt-1.1.4-1.el6.x86_64/usr/share/doc/libvirt-docs-1.1.4 + /bin/mkdir -p /builddir/build/BUILDROOT/libvirt-1.1.4-1.el6.x86_64/usr/share/doc/libvirt-docs-1.1.4 + cp -pr AUTHORS ChangeLog.gz NEWS README TODO /builddir/build/BUILDROOT/libvirt-1.1.4-1.el6.x86_64/usr/share/doc/libvirt-docs-1.1.4 + exit 0 warning: File listed twice: /usr/share/doc/libvirt-docs-1.1.4 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 ... error: create archive failed on file /builddir/build/BUILDROOT/libvirt-1.1.4-1.el6.x86_64/usr/share/doc/libvirt-docs-1.1.4/html/32favicon.png: cpio: Bad magic RPM build errors: File listed twice: /usr/share/doc/libvirt-docs-1.1.4 create archive failed on file /builddir/build/BUILDROOT/libvirt-1.1.4-1.el6.x86_64/usr/share/doc/libvirt-docs-1.1.4/html/32favicon.png: cpio: Bad magic I think the problem was introduced with commit e23216da, and that it's only because the %doc directive now contains relative paths. Before then the only %doc directives in that subpackage were absolute paths. RHEL 6's rpmbuild at least seems to handle those differently, and it doesn't generate an "rm -rf" line if only absolute paths are present. - Michael