Bug 1326350

Summary: pacemaker srpm rebuild fails if publican is installed
Product: Red Hat Enterprise Linux 6 Reporter: Jaroslav Kortus <jkortus>
Component: pacemakerAssignee: Jan Pokorný [poki] <jpokorny>
Status: CLOSED ERRATA QA Contact: cluster-qe <cluster-qe>
Severity: low Docs Contact:
Priority: low    
Version: 6.8CC: abeekhof, cluster-maint, jpokorny, kgaillot, mnovacek
Target Milestone: rc   
Target Release: 6.9   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: pacemaker-1.1.15-1.el6 Doc Type: No Doc Update
Doc Text:
undefined
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-21 09:52:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jaroslav Kortus 2016-04-12 13:41:20 UTC
Description of problem:
pacemaker fails to rebuild from srpm on rhel 6.8 if publican is also installed.



Version-Release number of selected component (if applicable):
publican-redhat-2.0-1.el6.x86_64
publican-2.1-0.el6.x86_64
publican-doc-2.1-0.el6.x86_64
pacemaker-1.1.14-8.el6.x86_64

How reproducible:
always

Steps to Reproduce:
1. make sure publican is installed (what I did was yum install --skip-broken '*')
2. rpmbuild --rebuild pacemaker-1.1.14-8.el6.src.rpm
3.

Actual results:
rebuild failure

Expected results:
successful rebuild of SRPM

Additional info:
# rpmbuild --rebuild pacemaker-1.1.14-8.el6.src.rpm
[...]

grep -qis "<appendix" Clusters_from_Scratch/en-US/Ch-Verification.xml && sed -i 's/.*book>//' Clusters_from_Scratch/en-US/Ch-Verification.xml         # We just want the appendix tag
gmake[1]: [Clusters_from_Scratch/en-US/Ch-Verification.xml] Error 1 (ignored)
grep -vqis "<appendix" Clusters_from_Scratch/en-US/Ch-Verification.xml && sed -i 's/book>/chapter>/g' Clusters_from_Scratch/en-US/Ch-Verification.xml # Rename to chapter
Unknown option: brand_dir
 
 
Usage:
    publican <command options>
 
    publican <action> <action options>
 
    Command Options
 
        --help              Display help message
        --man               Display the man page
        --help_actions      Display a list of valid actions
        -v                  Display the version of Publican
 
    Run: 'publican <action> --help' for details on action usage
 
    Valid actions are:
 
        build         Transform XML to other formats (pdf, html, html-single, etc)
        clean         Remove all temporary files and directories
        clean_ids     Run clean ids for source XML
        clean_set      Remove local copies of remote set books
        create        Create a new book, set, or article
        create_brand  Create a new brand
        create_site   Create a new WebSite in the supplied location.
        help_config   Display help text for the configuration file
        install_book  Install a book in to a WebSite.
        install_brand  Install a brand to the supplied location
        lang_stats    report PO statistics
        old2new       Create a publican.cfg file from the Makefile of an old book, set, or article
        package       Package a language for shipping
        print_banned  Print a list of banned DocBook tags
        print_known   Print a list of QA'd DocBook tags
        print_unused  Print a list of unused XML files
        print_tree     Print a tree of the xi:includes
        remove_book   Remove a book from a WebSite.
        site_stats    Report on the contents of a WebSite
        update_po     Update the PO files
        update_pot    Update the POT files
        update_site   Update an existing sites templates.
 
gmake[1]: *** [Pacemaker_Remote.build] Error 1
gmake[1]: *** Waiting for unfinished jobs....
[... more output possible here ...]

Comment 1 Jan Pokorný [poki] 2016-04-12 13:49:05 UTC
Possible fix:
- https://github.com/ClusterLabs/pacemaker/pull/967
- in the spec: instructing configure using --with-brand=

Comment 3 Jan Pokorný [poki] 2016-04-12 13:53:50 UTC
The failing command is:
> cd Pacemaker_Explained \
> && RPM_BUILD_DIR="" /usr/bin/publican build --publish
> --langs=en-US --formats=html-desktop --brand_dir=../publican-clusterlabs

Apparently, publican-2.1-2.el6 doesn't know about "--brand_dir", yet.
Normally, pacemaker is being built without Publican presence so it just
works.

Comment 4 Ken Gaillot 2016-04-12 15:43:38 UTC
This is a regression introduced by upstream commit 37524ee0, which added the --brand_dir usage.

Comment 5 Jan Pokorný [poki] 2016-04-15 15:15:25 UTC
This should be fixed with the upstream PR:
https://github.com/ClusterLabs/pacemaker/pull/967

> Beside EL6 successful building with Publican docs prerequisites
> installed (rhbz#1326350), one can now (thanks to the last commit):
> 
>   rpmbuild --without-doc --rebuild pacemaker.src.rpm \
>   || rpmbuild --define "_without_doc 1" --rebuild pacemaker.src.rpm
> 
> so as to avoid Publican generated docs in any case.

Comment 9 michal novacek 2017-01-13 11:34:41 UTC
I have verified that pacemaker can be build from source with publican installed
with pacemaker-1.1.15-4

---

common setup:

# rpm -qa | grep publican
publican-2.1-0.el6.x86_64

# yum-builddep pacemaker-1.1.14-8.el6.src.rpm

before the fix pacemaker-1.1.14-8
=================================
# rpmbuild --rebuild /tmp/pacemaker-1.1.14-8.el6.src.rpm 
...
gmake[1]: *** [Pacemaker_Explained.build] Error 1
gmake[1]: Leaving directory `/root/rpmbuild/BUILD/pacemaker-f0b585a6ad5ad0db5f6a0faabcf2872fff152d55/doc'
make: *** [all-recursive] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.noE00r (%build)
...
# echo $?
1


after the fix pacemaker-1.1.15-4
================================
# rpmbuild --rebuild /tmp/pacemaker-1.1.15-4.el6.src.rpm
...
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/pacemaker-1.1.15-4.el6.x86_64
Wrote: /root/rpmbuild/RPMS/x86_64/pacemaker-1.1.15-4.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/pacemaker-cli-1.1.15-4.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/pacemaker-libs-1.1.15-4.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/pacemaker-cluster-libs-1.1.15-4.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/pacemaker-remote-1.1.15-4.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/pacemaker-libs-devel-1.1.15-4.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/pacemaker-cts-1.1.15-4.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/pacemaker-doc-1.1.15-4.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/pacemaker-debuginfo-1.1.15-4.el6.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.TpLBuk
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd pacemaker-e174ec84857e087210b9dacee3318f8203176129
+ rm -rf /root/rpmbuild/BUILDROOT/pacemaker-1.1.15-4.el6.x86_64
+ exit 0
Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.YANzZv
+ umask 022
+ cd /root/rpmbuild/BUILD
+ rm -rf pacemaker-e174ec84857e087210b9dacee3318f8203176129
+ exit 0

# echo $?
0

Comment 11 errata-xmlrpc 2017-03-21 09:52:00 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2017-0629.html