Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1122088

Summary: erlang-rebar missing bootstrap for new ppc64le archi
Product: [Fedora] Fedora Reporter: Michel Normand <normand>
Component: erlang-rebarAssignee: Peter Lemenkov <lemenkov>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: erlang, karsten, lemenkov, menantea, s
Target Milestone: ---   
Target Release: ---   
Hardware: ppc64le   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-21 16:07:11 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:
Bug Depends On:    
Bug Blocks: 1051573    

Description Michel Normand 2014-07-22 14:04:39 UTC
Description of problem: erlang-rebar missing bootstrap for new ppc64le archi


Version-Release number of selected component (if applicable):
erlang-rebar-2.1.0-0.8.fc22


Steps to Reproduce:
1. fedpkg clone -a erlang-rebar
2. fedpkg mockbuild

Actual results:
http://ppc.koji.fedoraproject.org/koji/buildinfo?buildID=252445
===
DEBUG util.py:282:   --> erlang-rebar-2.1.0-0.7.fc21.ppc64le                                         
DEBUG util.py:282:  Error: Package: erlang-rebar-2.1.0-0.7.fc21.ppc64le (build)                      
DEBUG util.py:282:             Requires: erlang-erlydtl(ppc-64)
DEBUG util.py:282:  Error: Package: erlang-rebar-2.1.0-0.7.fc21.ppc64le (build)                      
DEBUG util.py:282:             Requires: erlang-neotoma(ppc-64)                                      
DEBUG util.py:282:  Error: Package: erlang-rebar-2.1.0-0.7.fc21.ppc64le (build)                      
DEBUG util.py:282:             Requires: erlang-getopt(ppc-64) 
===

Additional info:
I did a change in spec file in scratch as detailed below that succeeded in
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1959813
I am not authorised to commit temporarily this change in fedora db.

====
$git diff
diff --git a/erlang-rebar.spec b/erlang-rebar.spec
index e8b59f0..ca26a8e 100644
--- a/erlang-rebar.spec
+++ b/erlang-rebar.spec
@@ -7,7 +7,7 @@
 # Set this to true when starting a rebuild of the whole erlang stack. There's
 # a cyclical dependency between erlang-rebar and erlang-getopt so this package
 # (rebar) needs to get built first in bootstrap mode.
-%global need_bootstrap_set 0
+%global need_bootstrap_set 1
 
 %{!?need_bootstrap: %global need_bootstrap  %{need_bootstrap_set}}
===

Comment 1 Michel Normand 2014-07-22 14:53:50 UTC
This is a blocker at least for following packages:

erlang-rebar
erlang-getopt
erlang-erlydtl
erlang-neotoma

Comment 2 Karsten Hopp 2014-07-29 13:03:27 UTC
Dan took care of the bootstrap and I've built erlang-erlydtl and erlang-neotoma. erlang-getopt fails on ppc64le: http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1964305

Comment 3 Menanteau Guy 2014-08-20 11:32:24 UTC
Tests failures of erlang-getopt are still due to bootstrap.

I succeed to build erlang-getopt following this procedure:
  1. build erlang-rebar in bootstrap mode
  
  2. install erlang-rebar (bootstrap)
     note that erlang-rebar have a require on erlang-getopt
     so I modified erlang-rebar.spec has following:

     # eunit_test:function_wrapper/2.  This function was removed in R16, and rebar
     # contains a workaround for that. So no need to worry about that.
     Requires:       erlang-eunit%{?_isa}
   + %if 0%{?need_bootstrap} < 1
     Requires:       erlang-getopt%{?_isa}
   + %endif
     Requires:       erlang-kernel%{?_isa}
     Requires:       erlang-lfe%{?_isa}
     Requires:       erlang-mustache%{?_isa}

  3. build erlang-getopt with tests disbaled (--nocheck on build)
     note if it is not easy to automatically run a build with tests disabled,
     then a bootstrap mechanism needs to be defined in erlang-getopt.spec to
     diasble %check build process section when bootstrap on. 
 
  4. install erlang-getopt

  5. build erlang-rebar in normal mode (no bootstrap)

  6. uninstall erlang-rebar (bootstrap)

  7. install erlang-rebar normal (no bootstrap)

  8. build erlang-getopt with tests enabled