Bug 661775 - can't be rebuild in mock
Summary: can't be rebuild in mock
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: linuxdoc-tools
Version: 6.0
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Martin Milata
QA Contact: BaseOS QE - Apps
Depends On:
TreeView+ depends on / blocked
Reported: 2010-12-09 16:10 UTC by Levente Farkas
Modified: 2015-10-05 14:31 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2015-10-05 14:31:47 UTC
Target Upstream Version:

Attachments (Terms of Use)
Install Perl-related files in the Perl vendor directory. (2.28 KB, patch)
2011-03-24 07:58 UTC, Mathieu Bridon
no flags Details | Diff

Description Levente Farkas 2010-12-09 16:10:44 UTC
can't be rebuild in mock because of this error:

+ /usr/lib/rpm/find-debuginfo.sh --strict-build-id /builddir/build/BUILD/linuxdoc-tools-0.9.65
extracting debug info from /builddir/build/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.i386/usr/bin/rtf2rtf
extracting debug info from /builddir/build/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.i386/usr/bin/sgmlpre
extracting debug info from /builddir/build/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.i386/usr/bin/sgmlsasp
cpio: linuxdoc-tools-0.9.65/rtf-fix/<stdout>: Cannot stat: No such file or directory
198 blocks
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-python-bytecompile
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Processing files: linuxdoc-tools-0.9.65-3.el6.i686
error: File not found: /builddir/build/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.i386/usr/share/perl5/Text
error: File not found: /builddir/build/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.i386/usr/share/perl5/Text/EntityMap.pm
error: File not found: /builddir/build/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.i386/usr/share/perl5/LinuxDocTools
error: File not found: /builddir/build/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.i386/usr/share/perl5/LinuxDocTools.pm
error: File not found by glob: /builddir/build/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.i386/usr/share/perl5/LinuxDocTools/*.pm
RPM build errors:
    Macro % has illegal name (%define)
    Macro % has illegal name (%define)
    File not found: /builddir/build/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.i386/usr/share/perl5/Text
    File not found: /builddir/build/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.i386/usr/share/perl5/Text/EntityMap.pm
    File not found: /builddir/build/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.i386/usr/share/perl5/LinuxDocTools
    File not found: /builddir/build/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.i386/usr/share/perl5/LinuxDocTools.pm
    File not found by glob: /builddir/build/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.i386/usr/share/perl5/LinuxDocTools/*.pm
error: Macro % has illegal name (%define)

Comment 2 Ondrej Vasik 2010-12-10 09:35:58 UTC
Thanks for report. This "Macro % has illegal name (%define)" comes from rpm, which is probably newer than the one from RHEL-6 - of course, %global macro should be used there, but the real problem is in perl change - see https://bugzilla.redhat.com/show_bug.cgi?id=661697 for details. As linuxdoc-tools uses "eval `perl '-V:installvendorlib'`" to find out perl vendor lib - which was /usr/share/perl5 in the time of last linuxdoc-tools build for RHEL-6 - this is a bit fragile to perl changes. Now the installvendorlib was changed to /usr/share/perl5/vendor_lib/ - and as the filelists contain the old perl vendorlib path, mock rebuild just fails. Fix is easy ... to use the same directory in build and in the filelists. Probably by some global macro.

Comment 3 Levente Farkas 2010-12-23 13:27:14 UTC
solution is the same as in #661770

Comment 4 Suzanne Yeghiayan 2011-02-15 21:46:16 UTC
This issue was proposed for RHEL 6.1 FasTrack but did not get resolved in time.
It has been moved to RHEL 6.2 FasTrack.

Comment 5 Zenon Panoussis 2011-03-15 15:26:26 UTC
(In reply to comment #3)

I'm not sure, but I think this one goes a bit deeper. doc/Makedoc.sh creates $TMPDIR/linuxdoc with incorrect paths and that breaks the build with 

-------- Building linuxdoc-tools docs ---------
Installed tree: /root/rpmbuild/BUILDROOT/linuxdoc-tools-0.9.65-3.el6.x86_64/usr
Using temporary directory: /tmp/ldt.6MQ2rXGlNo
- Building txt docs
Processing file ./guide
<standard input>:2242: warning [p 21, 7.2i]: can't break line
- Building latex docs
Processing file ./guide
fmt_latex2e::postASP: LaTeX first run problem. Aborting ...
make: *** [install] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.VSHtDz (%install)

Comment 6 Mathieu Bridon 2011-03-24 07:58:18 UTC
Created attachment 487243 [details]
Install Perl-related files in the Perl vendor directory.

Patch to fix the issue, based on the two commits that fixed it in Fedora:
- http://pkgs.fedoraproject.org/gitweb/?p=linuxdoc-tools.git;h=e1b3b255bd85ab4ca190ae5581b560212f5597ed
- http://pkgs.fedoraproject.org/gitweb/?p=linuxdoc-tools.git;h=cf768c499eff73855468ed5ee44feae5b42f4205

Comment 17 Steve Almy 2015-10-05 14:31:47 UTC
Thank you for submitting this request for inclusion in Red Hat Enterprise Linux. We've carefully evaluated the request, but are unable to include it in a future release. To request that Red Hat re-consider this request, please re-open the bugzilla via your designated support representative and provide additional business and/or technical details.

Note You need to log in before you can comment on or make changes to this bug.